nira-falcon 1.0.4 → 1.0.5
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":"nira-falcon.mjs","sources":["../../../projects/falcon-lib/src/lib/core-card/core-card.component.ts","../../../projects/falcon-lib/src/lib/core-card/core-card.component.html","../../../projects/falcon-lib/src/svg-icon/close-icon/close-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/close-icon/close-icon.component.html","../../../projects/falcon-lib/src/lib/core-confirm-dialog/core-confirm-dialog.component.ts","../../../projects/falcon-lib/src/lib/core-confirm-dialog/core-confirm-dialog.component.html","../../../projects/falcon-lib/src/environments/environment.ts","../../../projects/falcon-lib/src/lib/core-spinner/core-spinner.component.ts","../../../projects/falcon-lib/src/lib/core-spinner/core-spinner.component.html","../../../projects/falcon-lib/src/lib/core-btn/core-btn.component.ts","../../../projects/falcon-lib/src/lib/core-btn/core-btn-falcon.component.html","../../../projects/falcon-lib/src/lib/core-auto-complete/core-auto-complete.component.ts","../../../projects/falcon-lib/src/lib/core-auto-complete/core-auto-complete.component.html","../../../projects/falcon-lib/src/lib/core-checkbox/core-checkbox.component.ts","../../../projects/falcon-lib/src/lib/core-checkbox/core-checkbox.component.html","../../../projects/falcon-lib/src/lib/wordify.ts","../../../projects/falcon-lib/src/lib/pipes/persian-digits.pipe.ts","../../../projects/falcon-lib/src/lib/core-number/core-number.component.ts","../../../projects/falcon-lib/src/lib/core-number/core-number.component.html","../../../projects/falcon-lib/src/lib/core-input/core-input.component.ts","../../../projects/falcon-lib/src/lib/core-input/core-input-falcon.component.html","../../../projects/falcon-lib/src/lib/core-date-picker/core-date-picker.component.ts","../../../projects/falcon-lib/src/lib/core-date-picker/core-date-picker-falcon.component.html","../../../projects/falcon-lib/src/lib/core-page-title/core-page-title.component.ts","../../../projects/falcon-lib/src/lib/core-page-title/core-page-title.component.html","../../../projects/falcon-lib/src/lib/core-radio-buttons/core-radio-buttons.component.ts","../../../projects/falcon-lib/src/lib/core-radio-buttons/core-radio-buttons.component.html","../../../projects/falcon-lib/src/svg-icon/search-icon/search-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/search-icon/search-icon.component.html","../../../projects/falcon-lib/src/lib/core-search-box/core-search-box.component.ts","../../../projects/falcon-lib/src/lib/core-search-box/core-search-box.component.html","../../../projects/falcon-lib/src/svg-icon/warning-icon/warning-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/warning-icon/warning-icon.component.html","../../../projects/falcon-lib/src/svg-icon/arrow-down-icon/arrow-down-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/arrow-down-icon/arrow-down-icon.component.html","../../../projects/falcon-lib/src/lib/core-select/core-select.component.ts","../../../projects/falcon-lib/src/lib/core-select/core-select-falcon.component.html","../../../projects/falcon-lib/src/lib/core-switch/core-switch.component.ts","../../../projects/falcon-lib/src/lib/core-switch/core-switch.component.html","../../../projects/falcon-lib/src/utils/constants.ts","../../../projects/falcon-lib/src/utils/util.ts","../../../projects/falcon-lib/src/lib/falconTypes.ts","../../../projects/falcon-lib/src/svg-icon/calendar-icon/calendar-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/calendar-icon/calendar-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-column-input/core-column-input.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-column-input/core-column-input.component.html","../../../projects/falcon-lib/src/lib/core-table/core-column-date-picker/core-column-date-picker.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-column-date-picker/core-column-date-picker.component.html","../../../projects/falcon-lib/src/lib/core-table/core-column-selector/core-column-selector.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-column-selector/core-column-selector.component.html","../../../projects/falcon-lib/src/svg-icon/check-icon/check-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/check-icon/check-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-color-column/core-table-color-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-color-column/core-table-color-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.html","../../../projects/falcon-lib/src/svg-icon/edit-square-icon/edit-square-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/edit-square-icon/edit-square-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-action-column/core-table-action-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-action-column/core-table-action-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.html","../../../projects/falcon-lib/src/lib/pipes/shamsi-date.pipe.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-date/core-table-date.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-date/core-table-date.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-status-column/core-table-status-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-status-column/core-table-status-column.component.html","../../../projects/falcon-lib/src/svg-icon/caret-up-icon/caret-up-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/caret-up-icon/caret-up-icon.component.html","../../../projects/falcon-lib/src/utils/directives/table-detail-viewer-manager.directive.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.html","../../../projects/falcon-lib/src/svg-icon/pelak-icon/pelak-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/pelak-icon/pelak-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-row-pelak/core-row-pelak.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-row-pelak/core-row-pelak.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-card-manager/core-table-card-manager.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-card-manager/core-table-card-manager.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-text-column/core-table-text-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-text-column/core-table-text-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-number-column/core-table-number-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-number-column/core-table-number-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-selector-column/core-table-selector-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-selector-column/core-table-selector-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-column-manager/core-table-column-manager.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-column-manager/core-table-column-manager.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-no-content/core-table-no-content.label.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-no-content/core-table-no-content.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-no-content/core-table-no-content.component.html","../../../projects/falcon-lib/src/svg-icon/sort-down-icon/sort-down-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/sort-down-icon/sort-down-icon.component.html","../../../projects/falcon-lib/src/svg-icon/sort-solid-icon/sort-solid-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/sort-solid-icon/sort-solid-icon.component.html","../../../projects/falcon-lib/src/svg-icon/sort-up-icon/sort-up-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/sort-up-icon/sort-up-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table/core-table.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table/core-table.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.html","../../../projects/falcon-lib/src/lib/core-textarea/core-textarea.component.ts","../../../projects/falcon-lib/src/lib/core-textarea/core-textarea.component.html","../../../projects/falcon-lib/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.ts","../../../projects/falcon-lib/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.html","../../../projects/falcon-lib/src/svg-icon/time-icon/time-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/time-icon/time-icon.component.html","../../../projects/falcon-lib/src/lib/core-time-picker/core-time-picker.component.ts","../../../projects/falcon-lib/src/lib/core-time-picker/core-time-picker.component.html","../../../projects/falcon-lib/src/utils/directives/detail-viewer-manager.directive.ts","../../../projects/falcon-lib/src/lib/pipes/form-control.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/digit-group.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/price-format.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/time-format.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/weight.pipe.ts","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select-row/core-multi-select-row.component.ts","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select-row/core-multi-select-row.component.html","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select.component.ts","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select.component.html","../../../projects/falcon-lib/src/lib/core-select-search/core-select-search.component.ts","../../../projects/falcon-lib/src/lib/core-select-search/core-select-search.component.html","../../../projects/falcon-lib/src/lib/falcon-lib.module.ts","../../../projects/falcon-lib/src/public-api.ts","../../../projects/falcon-lib/src/nira-falcon.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'core-card',\r\n templateUrl: './core-card.component.html',\r\n styleUrls: ['./core-card.component.scss'],\r\n})\r\nexport class CoreCardComponent {\r\n @Input() cardClass = 'bg-white';\r\n}\r\n","<div class=\"h-min rounded-lg shadow-md\" [class]=\"cardClass\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'close-icon',\r\n templateUrl: './close-icon.component.html',\r\n styleUrls: ['./close-icon.component.scss'],\r\n})\r\nexport class CloseIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"100%\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\"\r\n />\r\n</svg>\r\n","import { Component, Input } from '@angular/core';\r\nimport { IModal, NiraModalConfig } from 'nira-modal';\r\nimport { Subject } from 'rxjs';\r\nimport { ConfirmDialog } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-confirm-dialog',\r\n templateUrl: './core-confirm-dialog.component.html',\r\n styleUrls: ['./core-confirm-dialog.component.scss'],\r\n})\r\nexport class CoreConfirmDialogComponent implements IModal {\r\n @Input() closeSubject!: Subject<any>;\r\n @Input() config!: NiraModalConfig;\r\n confirmDialog!: ConfirmDialog;\r\n async ngOnInit() {\r\n this.confirmDialog = {\r\n cancelBtn: this.config.data.cancelBtn,\r\n confirmBtn: this.config.data.confirmBtn,\r\n text: this.config.data.text,\r\n title: this.config.data.title,\r\n };\r\n }\r\n close() {\r\n this.closeSubject.next('false');\r\n }\r\n confirm() {\r\n this.closeSubject.next('true');\r\n }\r\n}\r\n","<core-card class=\"block min-w-96 m-5\">\r\n <div class=\"header flex mb-6 justify-between\">\r\n <b class=\"m-3 self-center\">{{ confirmDialog.title }}</b>\r\n <close-icon\r\n (click)=\"close()\"\r\n class=\"header-icon h-10 m-3 rounded-full cursor-pointer p-2 hover:shadow-md\"\r\n ></close-icon>\r\n </div>\r\n\r\n <p class=\"max-w-lg px-6 text-right\">{{ confirmDialog.text }}</p>\r\n <div class=\"container-buttons\" dir=\"ltr\">\r\n <button\r\n class=\"w-auto min-w-24 button square default small\"\r\n (click)=\"close()\"\r\n type=\"button\"\r\n >\r\n {{ confirmDialog.cancelBtn }}\r\n </button>\r\n\r\n <button\r\n class=\"w-auto min-w-24 mx-3 button square danger small\"\r\n (click)=\"confirm()\"\r\n type=\"button\"\r\n >\r\n {{ confirmDialog.confirmBtn }}\r\n </button>\r\n </div>\r\n</core-card>\r\n","export const environment = {\r\n // tempName: '-bluebird.component.html',\r\n // styleName: '-bluebird.component.scss',\r\n\r\n tempName: '-falcon.component.html',\r\n styleName: '-falcon.component.scss',\r\n};\r\n","import { Component, Input } from '@angular/core';\r\nimport { ColorState } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-spinner',\r\n templateUrl: './core-spinner.component.html',\r\n styleUrls: ['./core-spinner.component.scss'],\r\n})\r\nexport class CoreSpinnerComponent {\r\n @Input() size: number = 24;\r\n @Input() colorState: ColorState = 'default';\r\n @Input() type: 'circle' | 'line' = 'circle';\r\n}\r\n","<div *ngIf=\"type === 'circle'\" class=\"spinner\" [ngClass]=\"[colorState]\">\r\n <svg\r\n viewBox=\"25 25 50 50\"\r\n [ngStyle]=\"{ width: size + 'px', height: size + 'px' }\"\r\n >\r\n <circle cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" class=\"path\"></circle>\r\n </svg>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"type === 'line'\"\r\n class=\"line-progress-bar\"\r\n [ngClass]=\"[colorState]\"\r\n></div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NiraModalService } from 'nira-modal';\r\nimport {\r\n ButtonSize,\r\n ButtonType,\r\n Color,\r\n ColorState,\r\n ConfirmDialog,\r\n ThemePalette,\r\n} from '../falconTypes';\r\nimport { CoreConfirmDialogComponent } from '../core-confirm-dialog/core-confirm-dialog.component';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'core-btn',\r\n templateUrl: './core-btn' + environment.tempName,\r\n styleUrls: ['./core-btn' + environment.styleName],\r\n})\r\nexport class CoreBtnComponent {\r\n disable = false;\r\n @Input() formGroup: FormGroup | undefined = undefined;\r\n @Input() loading: boolean = false;\r\n @Input() theme: ThemePalette = 'square';\r\n @Input() buttonType: ButtonType = 'button';\r\n @Input() size: ButtonSize = 'small';\r\n @Input() color: Color = 'White';\r\n @Input() set isDisabled(value: boolean) {\r\n this.disable = value;\r\n }\r\n @Input() colorState: ColorState = 'default';\r\n @Output() btnClicked: EventEmitter<any> = new EventEmitter();\r\n @Output() btnClickedOnDisableMode: EventEmitter<any> = new EventEmitter();\r\n @Input() confirmDialog: ConfirmDialog | undefined;\r\n constructor(private niraModalService: NiraModalService) {}\r\n clicked() {\r\n if (!this.disable) {\r\n if (this.confirmDialog != undefined) {\r\n const modal = this.niraModalService.open(CoreConfirmDialogComponent, {\r\n data: this.confirmDialog,\r\n });\r\n modal.afterClosed.subscribe((result) => {\r\n if (result === 'true') {\r\n this.btnClicked.emit();\r\n }\r\n });\r\n } else {\r\n this.btnClicked.emit();\r\n }\r\n } else {\r\n this.btnClickedOnDisableMode.emit();\r\n }\r\n if (this.formGroup) {\r\n this.formGroup.markAllAsTouched();\r\n }\r\n }\r\n}\r\n","<button\r\n (click)=\"clicked()\"\r\n [ngClass]=\"[\r\n 'button',\r\n disable ? 'disabled' : '',\r\n theme,\r\n colorState,\r\n size,\r\n loading ? 'cursorLoading' : ''\r\n ]\"\r\n [type]=\"buttonType\"\r\n>\r\n <ng-content *ngIf=\"!loading\"></ng-content>\r\n <core-spinner\r\n *ngIf=\"loading\"\r\n class=\"loading\"\r\n [colorState]=\"colorState\"\r\n [size]=\"20\"\r\n ></core-spinner>\r\n</button>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { MenuItem } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-auto-complete',\r\n templateUrl: './core-auto-complete.component.html',\r\n styleUrls: ['./core-auto-complete.component.scss'],\r\n})\r\nexport class CoreAutoCompleteComponent<T> implements OnInit {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n filterItems: MenuItem<T>[] = [];\r\n newItems: MenuItem<T>[] = [];\r\n value!: T;\r\n isOpenMenu = false;\r\n\r\n get _items() {\r\n return this.filterItems;\r\n }\r\n\r\n @Input() label = 'ddd';\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() items: any[] = [];\r\n @Input() set defaultValue(value: T) {\r\n this.value = value;\r\n }\r\n @Output() onChange = new EventEmitter<string>();\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n type ObjectKey = (typeof this.items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this.items);\r\n\r\n this.filterItems = this.newItems.filter(\r\n (item: any) => !item.title.indexOf(this.value)\r\n );\r\n }\r\n ngAfterViewInit(): void {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n });\r\n }\r\n\r\n openMenuClick() {\r\n this.isOpenMenu = !this.isOpenMenu;\r\n this.filterItems = this.newItems.filter(\r\n (item: any) => !item.title.indexOf(this.value)\r\n );\r\n }\r\n\r\n onItemSelect(item: MenuItem<T> | undefined): void {\r\n this.isOpenMenu = false;\r\n if (!item) return;\r\n this.selectedItem = item;\r\n this.value = item.title;\r\n }\r\n\r\n focusOut() {\r\n if (!this.items || this.items.length == 0 || !this.selectedItem) return;\r\n setTimeout(() => {\r\n this.isOpenMenu = false;\r\n if (!this.newItems.some((item: any) => item.title == this.value)) {\r\n this.value = this.selectedItem.title;\r\n }\r\n }, 100);\r\n }\r\n\r\n onChanged(value: any) {\r\n this.filterItems = this.items.filter(\r\n (item: any) => !item.title.indexOf(value)\r\n );\r\n }\r\n}\r\n","<div class=\"dropdown\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{ 'select-clicked': isOpenMenu }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <input\r\n class=\"selected\"\r\n [placeholder]=\"label\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChanged($event)\"\r\n (focusout)=\"focusOut()\"\r\n />\r\n <span\r\n class=\"material-symbols-outlined caret\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n >\r\n expand_more\r\n </span>\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of _items\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'core-checkbox',\r\n templateUrl: './core-checkbox.component.html',\r\n styleUrls: ['./core-checkbox.component.scss'],\r\n})\r\nexport class CoreCheckboxComponent {\r\n @Input() label = '';\r\n @Input() name = '1';\r\n @Input() checked = false;\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n\r\n change(event: any) {\r\n this.onChange.emit(event);\r\n }\r\n}\r\n","<div class=\"flex gap-3\">\r\n <input\r\n type=\"checkbox\"\r\n [name]=\"name\"\r\n [(ngModel)]=\"checked\"\r\n (change)=\"change($event)\"\r\n />\r\n <span class=\"checkmark\">{{ label }}</span>\r\n</div>\r\n","type DateFormat = 'HH:mm' | 'YYYY-MM-DD' | 'YYYY-MM-DD HH:mm';\r\ntype ShamsiDateFormat = 'HH:mm' | 'jYYYY-jMM-jDD' | 'jYYYY-jMM-jDD HH:mm';\r\n\r\nexport function toEnglishDigits(num: string | number): string {\r\n if (num === null || num === undefined) {\r\n return '';\r\n }\r\n\r\n if (typeof num !== 'string' || num.length === 0) return num.toString();\r\n\r\n const faDigits = '۰۱۲۳۴۵۶۷۸۹';\r\n const arDigits = '٠١٢٣٤٥٦٧٨٩';\r\n let output = '';\r\n for (let ipos = 0; ipos < num.length; ipos++) {\r\n let faIndex = faDigits.indexOf(num[ipos]);\r\n if (faIndex >= 0) {\r\n output += faIndex.toString();\r\n continue;\r\n }\r\n let arIndex = arDigits.indexOf(num[ipos]);\r\n if (arIndex >= 0) {\r\n output += arIndex.toString();\r\n continue;\r\n }\r\n output += num[ipos];\r\n }\r\n return output.replace(/,/g, '');\r\n}\r\n\r\nexport function WordifyFa(\r\n input: string | number | undefined,\r\n level: number = 0\r\n): string {\r\n if (input === null || input === undefined) {\r\n return '';\r\n }\r\n\r\n let num: number = parseInt(toEnglishDigits(input));\r\n\r\n // convert negative number to positive and get wordify value\r\n if (num < 0) {\r\n num = num * -1;\r\n return 'منفی ' + WordifyFa(num, level);\r\n }\r\n if (num === 0) {\r\n if (level === 0) {\r\n return 'صفر';\r\n } else {\r\n return '';\r\n }\r\n }\r\n let result = '';\r\n const yekan = ['یک', 'دو', 'سه', 'چهار', 'پنج', 'شش', 'هفت', 'هشت', 'نه'],\r\n dahgan = ['بیست', 'سی', 'چهل', 'پنجاه', 'شصت', 'هفتاد', 'هشتاد', 'نود'],\r\n sadgan = [\r\n 'یکصد',\r\n 'دویست',\r\n 'سیصد',\r\n 'چهارصد',\r\n 'پانصد',\r\n 'ششصد',\r\n 'هفتصد',\r\n 'هشتصد',\r\n 'نهصد',\r\n ],\r\n dah = [\r\n 'ده',\r\n 'یازده',\r\n 'دوازده',\r\n 'سیزده',\r\n 'چهارده',\r\n 'پانزده',\r\n 'شانزده',\r\n 'هفده',\r\n 'هیجده',\r\n 'نوزده',\r\n ];\r\n\r\n if (level > 0) {\r\n result += ' و ';\r\n level -= 1;\r\n }\r\n\r\n if (num < 10) {\r\n result += yekan[num - 1];\r\n } else if (num < 20) {\r\n result += dah[num - 10];\r\n } else if (num < 100) {\r\n result += dahgan[Math.floor(num / 10) - 2] + WordifyFa(num % 10, level + 1);\r\n } else if (num < 1000) {\r\n result +=\r\n sadgan[Math.floor(num / 100) - 1] + WordifyFa(num % 100, level + 1);\r\n } else if (num < 1000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000), level) +\r\n ' هزار' +\r\n WordifyFa(num % 1000, level + 1);\r\n } else if (num < 1000000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000000), level) +\r\n ' میلیون' +\r\n WordifyFa(num % 1000000, level + 1);\r\n } else if (num < 1000000000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000000000), level) +\r\n ' میلیارد' +\r\n WordifyFa(num % 1000000000, level + 1);\r\n } else if (num < 1000000000000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000000000000), level) +\r\n ' تریلیارد' +\r\n WordifyFa(num % 1000000000000, level + 1);\r\n }\r\n\r\n return result;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'persianDigits',\r\n})\r\nexport class PersianDigitsPipe implements PipeTransform {\r\n transform(value: number | string): string {\r\n if (value === null || value === undefined) return '';\r\n let str = String(value);\r\n const enToFaMap: { [key: string]: string } = {\r\n '0': '۰',\r\n '1': '۱',\r\n '2': '۲',\r\n '3': '۳',\r\n '4': '۴',\r\n '5': '۵',\r\n '6': '۶',\r\n '7': '۷',\r\n '8': '۸',\r\n '9': '۹',\r\n };\r\n return str.replace(/[0-9]/g, (digit) => enToFaMap[digit]);\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { WordifyFa } from '../wordify';\r\n\r\n@Component({\r\n selector: 'app-core-number',\r\n templateUrl: './core-number.component.html',\r\n styleUrls: ['./core-number.component.scss'],\r\n})\r\nexport class CoreNumberComponent {\r\n @Input() number: number | string | undefined = '';\r\n @Input() type: 'number' | 'word' = 'number';\r\n @Input() canSplitNumbers = false;\r\n @Input() canShowWordInToolTip = false;\r\n @Input() canShowTomanInToolTip = true;\r\n @Input() enDigitsToFa = true;\r\n @Input() canShowIRR = false;\r\n\r\n wordifyFa(number: string | number | undefined) {\r\n if (number === undefined) {\r\n return '';\r\n }\r\n if (this.type === 'number') {\r\n if (this.canSplitNumbers) {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n } else {\r\n return number;\r\n }\r\n } else {\r\n const newNumber = Number(number.toString().replaceAll(',', ''));\r\n if (newNumber > 10) {\r\n return WordifyFa(newNumber / 10) + ' تومان ';\r\n } else {\r\n return WordifyFa(number);\r\n }\r\n }\r\n }\r\n\r\n toolTipText(number: string | number | undefined) {\r\n if (this.number === undefined) return '';\r\n if (!this.canShowWordInToolTip) return '';\r\n if (number && +number > 10 && this.canShowTomanInToolTip) {\r\n return WordifyFa(+number / 10) + ' تومان ';\r\n } else {\r\n return WordifyFa(number);\r\n }\r\n }\r\n}\r\n","<span [title]=\"toolTipText(number)\"\r\n >{{\r\n !enDigitsToFa ? wordifyFa(number) : (wordifyFa(number) | persianDigits)\r\n }}\r\n {{ canShowIRR ? \"ریال\" : \"\" }}\r\n</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\ntype InputType = 'number' | 'password' | 'text' | 'color';\r\ninterface ErrorMassage {\r\n type: string;\r\n message: string;\r\n pattern?: string;\r\n}\r\n@Component({\r\n selector: 'core-input',\r\n templateUrl: './core-input' + environment.tempName,\r\n styleUrls: ['./core-input' + environment.styleName],\r\n})\r\nexport class CoreInputComponent {\r\n inputType!: InputType;\r\n isDisable = false;\r\n lastValue = '';\r\n @Input() set type(value: InputType) {\r\n this.inputType = value;\r\n }\r\n @Input() canShowWordifyFa = false;\r\n @Input() canSplitNumber = false;\r\n @Input() canHighlightBackground = false;\r\n @Input() maxLength = 2000;\r\n @Input() size = '';\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n @Input() set disable(value: boolean) {\r\n this.isDisable = value;\r\n if (value) {\r\n this.inputFormControl.disable();\r\n } else {\r\n this.inputFormControl.enable();\r\n }\r\n }\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n @Output() onBlurEmit: EventEmitter<string> = new EventEmitter();\r\n @Input() set errorMessages(value: ErrorMassage[]) {\r\n this._errorMessages = this._errorMessages.concat(value);\r\n }\r\n _errorMessages: ErrorMassage[] = [\r\n { type: 'required', message: 'این فیلد خالی است' },\r\n { type: 'prePayment', message: 'مبلغ صحیح نیست' },\r\n {\r\n type: 'minlength',\r\n message: '',\r\n },\r\n {\r\n type: 'maxlength',\r\n message: '',\r\n },\r\n {\r\n type: 'email',\r\n message: 'ایمیل را به درست وارد نمایید',\r\n },\r\n {\r\n type: 'mobilePhone',\r\n message: 'شماره همراه اشتباه هست',\r\n },\r\n ];\r\n ngOnInit() {\r\n this.inputFormControl.valueChanges.subscribe((change) => {\r\n if (this.lastValue !== change) {\r\n this.formatPrice(change.toString());\r\n }\r\n });\r\n }\r\n change(event: any) {\r\n this.formatPrice(event.srcElement.value);\r\n }\r\n\r\n onPaste(event: any) {\r\n setTimeout(() => {\r\n const value = event.srcElement.value;\r\n this.inputFormControl.markAsTouched();\r\n this.inputFormControl.setValue(value);\r\n this.lastValue = value;\r\n if (this.inputType === 'number' && this.canSplitNumber) {\r\n this.onChange.emit(value.replaceAll(',', ''));\r\n } else {\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(value);\r\n }\r\n }\r\n }, 10);\r\n }\r\n\r\n onBlur() {\r\n if (this.inputType === 'number' && this.canSplitNumber) {\r\n this.onChange.emit(this.inputFormControl.value.replaceAll(',', ''));\r\n } else {\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(this.inputFormControl.value);\r\n }\r\n }\r\n this.onBlurEmit.emit(this.inputFormControl.value);\r\n }\r\n\r\n onKeyPress() {\r\n if (this.inputFormControl.value.toString().length == this.maxLength) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n formatPrice(event: any) {\r\n if (this.inputType === 'number' && this.canSplitNumber) {\r\n setTimeout(() => {\r\n let value = event;\r\n value = Number(value.replaceAll(',', ''));\r\n if (isNaN(value)) {\r\n this.inputFormControl.setValue('');\r\n this.lastValue = value;\r\n } else {\r\n const formatValue = value\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n this.inputFormControl.setValue(formatValue);\r\n this.lastValue = formatValue;\r\n }\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(this.inputFormControl.value.replaceAll(',', ''));\r\n }\r\n }, 10);\r\n } else {\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(this.inputFormControl.value);\r\n }\r\n }\r\n }\r\n\r\n get errorMassage(): ErrorMassage | undefined {\r\n if (this.inputFormControl.errors) {\r\n if (Object.keys(this.inputFormControl.errors).length != 0) {\r\n let errorMessage;\r\n Object.keys(this.inputFormControl.errors).filter((key) => {\r\n errorMessage = this._errorMessages.find(\r\n (error) => error.type === key\r\n );\r\n\r\n if (errorMessage && key === 'minlength') {\r\n errorMessage.message =\r\n ' حداقل کارکتر مجاز ' +\r\n this.inputFormControl?.errors?.['minlength'].requiredLength +\r\n ' می باشد ';\r\n } else if (errorMessage && key === 'maxlength') {\r\n errorMessage.message =\r\n ' حداکثر کارکتر مجاز ' +\r\n this.inputFormControl?.errors?.['maxlength'].requiredLength +\r\n ' می باشد ';\r\n } else if (key === 'pattern') {\r\n errorMessage = this._errorMessages.find(\r\n (error) =>\r\n error.type === key &&\r\n error.pattern ===\r\n this.inputFormControl?.errors?.['pattern']?.requiredPattern\r\n );\r\n }\r\n });\r\n return errorMessage;\r\n } else {\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n}\r\n","<div>\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n }\"\r\n >\r\n <input\r\n [type]=\"inputType\"\r\n class=\"a-input-style\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"change($event)\"\r\n (paste)=\"onPaste($event)\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n 'disable-input': isDisable\r\n }\"\r\n (keypress)=\"onKeyPress()\"\r\n />\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n class=\"label-number\"\r\n *ngIf=\"\r\n canShowWordifyFa &&\r\n inputFormControl.value.toString().length > 0 &&\r\n inputType === 'number'\r\n \"\r\n ><app-core-number\r\n [canShowWordInToolTip]=\"false\"\r\n [type]=\"'word'\"\r\n [number]=\"inputFormControl.value\"\r\n ></app-core-number\r\n ></span>\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n \"\r\n >\r\n {{ errorMassage?.message }}\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'core-date-picker',\r\n templateUrl: './core-date-picker' + environment.tempName,\r\n styleUrls: ['./core-date-picker' + environment.styleName],\r\n})\r\nexport class CoreDatePickerComponent implements OnInit {\r\n _inputFormControl = new FormControl('', []);\r\n\r\n @Input() canSelectToday: boolean = false;\r\n @Input() defaultDate: string = '';\r\n @Input() label: string = '';\r\n @Input() set inputFormControl(value: FormControl) {\r\n this._inputFormControl = value;\r\n }\r\n @Input() size = '';\r\n isOpenCalendar: boolean = false;\r\n date: string = '';\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onDatePickerResult(result: string) {\r\n this._inputFormControl.setValue(result);\r\n this.date = result;\r\n }\r\n onTodayDate(todayDate: string) {\r\n this.date = todayDate;\r\n this._inputFormControl.setValue(todayDate);\r\n }\r\n}\r\n","<core-input\r\n [placeholder]=\"label\"\r\n [inputFormControl]=\"_inputFormControl\"\r\n (click)=\"isOpenCalendar = true\"\r\n>\r\n</core-input>\r\n<lib-nira-date-picker\r\n [(isOpenCalendar)]=\"isOpenCalendar\"\r\n [defaultDate]=\"date ? date : defaultDate\"\r\n (datePickerResult)=\"onDatePickerResult($event)\"\r\n [selectToday]=\"canSelectToday\"\r\n (todayDate)=\"onTodayDate($event)\"\r\n>\r\n</lib-nira-date-picker>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'core-page-title',\r\n templateUrl: './core-page-title.component.html',\r\n styleUrls: ['./core-page-title.component.scss'],\r\n})\r\nexport class CorePageTitleComponent {\r\n @Input() title = '';\r\n @Input() description = '';\r\n}\r\n","<div\r\n class=\"container-page core-page-title flex flex-col text-right justify-center rounded-lg pt-2 pb-7 px-10 h-40 shadow-md\"\r\n>\r\n <div class=\"title my-5 w-5/6\">\r\n <span class=\"title-text text-2xl font-bold\">\r\n {{ title }}\r\n </span>\r\n </div>\r\n <div class=\"description w-5/6\">\r\n <p class=\"description-text text-base\">\r\n {{ description }}\r\n </p>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\ntype MenuItem<T> = {\r\n title: T;\r\n value: T;\r\n};\r\ntype LayoutRadioButtons = 'row' | 'column';\r\n@Component({\r\n selector: 'core-radio-buttons',\r\n templateUrl: './core-radio-buttons.component.html',\r\n styleUrls: ['./core-radio-buttons.component.scss'],\r\n})\r\nexport class CoreRadioButtonsComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n _defaultValue = undefined;\r\n newItems: MenuItem<T>[] = [];\r\n _items: any = [];\r\n initCounter = 0;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.initCounter++;\r\n this.init();\r\n }\r\n @Input({ required: true }) set defaultValue(data: any) {\r\n this._defaultValue = data;\r\n this.initCounter++;\r\n this.init();\r\n }\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() layout: LayoutRadioButtons = 'column';\r\n @Input() name: string = 'radio';\r\n @Output() onChange = new EventEmitter<string>();\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n });\r\n }\r\n init() {\r\n if (this.initCounter !== 2) {\r\n return;\r\n }\r\n type ObjectKey = (typeof this._items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this._items);\r\n if (this._defaultValue === undefined) {\r\n this.onItemClick(this.newItems[0]);\r\n } else {\r\n this.onItemClick(\r\n this.newItems.find((item) => item.value == this._defaultValue)\r\n );\r\n }\r\n }\r\n onItemClick(item: MenuItem<T> | undefined): void {\r\n if (!item) return;\r\n this.selectedItem = item;\r\n this.onChange.emit(String(item.value));\r\n }\r\n}\r\n","<div class=\"root\" [ngClass]=\"{ 'container-row': layout == 'row' }\">\r\n <div\r\n class=\"radio-bottom\"\r\n [ngClass]=\"{ 'item-row-reverse': layout == 'row' }\"\r\n *ngFor=\"let item of newItems\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"item.value == selectedItem.value\"\r\n [checked]=\"item.value == selectedItem.value\"\r\n (click)=\"onItemClick(item)\"\r\n />\r\n <span class=\"label\">{{ item.title }}</span>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'search-icon',\r\n templateUrl: './search-icon.component.html',\r\n styleUrls: ['./search-icon.component.scss'],\r\n})\r\nexport class SearchIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\"\r\n />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'core-search-box',\r\n templateUrl: './core-search-box.component.html',\r\n styleUrls: ['./core-search-box.component.scss'],\r\n})\r\nexport class CoreSearchBoxComponent {\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n value: string = '';\r\n change(event: any) {\r\n this.onChange.emit(event);\r\n }\r\n}\r\n","<div class=\"search-box flex\">\r\n <input\r\n type=\"search\"\r\n placeholder=\"{{ placeholder }}\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n class=\"box-border border rounded-r marker:focus:outline-0\"\r\n />\r\n <div\r\n class=\"search-button bg-white border border-r-0 border-gray-400 rounded fill-secondary-text-color cursor-pointer rounded-l\"\r\n >\r\n <search-icon></search-icon>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'warning-icon',\r\n templateUrl: './warning-icon.component.html',\r\n styleUrls: ['./warning-icon.component.scss']\r\n})\r\nexport class WarningIconComponent {\r\n\r\n}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z\"\r\n />\r\n</svg>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'arrow-down-icon',\r\n templateUrl: './arrow-down-icon.component.html',\r\n styleUrls: ['./arrow-down-icon.component.scss'],\r\n})\r\nexport class ArrowDownIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"24\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"24\"\r\n>\r\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\" />\r\n</svg>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\ntype MenuItem<T> = {\r\n title: T;\r\n value: T;\r\n};\r\n@Component({\r\n selector: 'core-select',\r\n templateUrl: './core-select' + environment.tempName,\r\n styleUrls: ['./core-select' + environment.styleName],\r\n})\r\nexport class CoreSelectComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n newItems: MenuItem<T>[] = [];\r\n isOpenMenu = false;\r\n _items: any = [];\r\n _defaultValue!: T;\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() size: string = 'small';\r\n @Input() canHighlightBackground = false;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.init();\r\n }\r\n @Input() set defaultValue(data: T) {\r\n this._defaultValue = data;\r\n this.init();\r\n }\r\n @Input() label: string = '';\r\n @Input() disabled: boolean = false;\r\n @Output() onItemSelected = new EventEmitter<any>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n @ViewChildren('focusable') focusableElements!: QueryList<ElementRef>;\r\n currentIndex = 0;\r\n\r\n constructor(private cdr: ChangeDetectorRef, private elRef: ElementRef) {}\r\n init() {\r\n type ObjectKey = (typeof this._items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this._items);\r\n this.inputFormControl.setValue(this._defaultValue);\r\n this.onItemSelect(\r\n this.newItems.find((item) => item.value == this._defaultValue),\r\n false\r\n );\r\n }\r\n ngOnInit(): void {\r\n this.init();\r\n }\r\n\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n });\r\n }\r\n\r\n openMenuClick(canFocus: boolean) {\r\n if (this.disabled) return;\r\n this.isOpenMenu = !this.isOpenMenu;\r\n if (this.isOpenMenu && canFocus) {\r\n setTimeout(() => {\r\n const element = this.focusableElements.toArray();\r\n element[0].nativeElement.focus();\r\n }, 50);\r\n }\r\n }\r\n handleKey(event: KeyboardEvent) {\r\n const elements = this.focusableElements.toArray();\r\n\r\n if (event.key === 'ArrowDown') {\r\n this.currentIndex = (this.currentIndex + 1) % elements.length;\r\n elements[this.currentIndex].nativeElement.focus();\r\n }\r\n\r\n if (event.key === 'ArrowUp') {\r\n this.currentIndex =\r\n (this.currentIndex - 1 + elements.length) % elements.length;\r\n elements[this.currentIndex].nativeElement.focus();\r\n }\r\n }\r\n\r\n dropdownItemKeypress(event: any, item: any) {\r\n if (event.key === 'Enter') {\r\n this.onItemSelect(item, true);\r\n } else if (event.key === 'Escape') {\r\n this.isOpenMenu = false;\r\n }\r\n }\r\n\r\n onItemSelect(selectedItem: MenuItem<T> | undefined, isFromUi: boolean): void {\r\n if (isFromUi) this.inputFormControl.markAsTouched();\r\n this.isOpenMenu = false;\r\n if (!selectedItem) {\r\n this.selectedItem = {} as MenuItem<T>;\r\n this.inputFormControl.reset();\r\n return;\r\n }\r\n this.selectedItem = selectedItem;\r\n const mainItem = this._items.find(\r\n (item: any) => item[this.valueKeyObject] === selectedItem.value\r\n );\r\n this.inputFormControl.setValue(selectedItem.value);\r\n this.onItemSelected.emit(mainItem);\r\n }\r\n onEnterPress(e: any) {\r\n if (e.key === 'Enter') {\r\n this.openMenuClick(true);\r\n }\r\n }\r\n focusOut(event: FocusEvent) {\r\n const nextFocusedElement = event.relatedTarget as HTMLElement;\r\n\r\n if (\r\n !nextFocusedElement ||\r\n !this.elRef.nativeElement.contains(nextFocusedElement)\r\n ) {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n }\r\n }\r\n}\r\n","<div class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick(false)\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">موردی یافت نشد</b>\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\ninterface ISwitch {\r\n iconActive: string;\r\n iconInactive: string;\r\n}\r\n@Component({\r\n selector: 'core-switch',\r\n templateUrl: './core-switch.component.html',\r\n styleUrls: ['./core-switch.component.scss'],\r\n})\r\nexport class CoreSwitchComponent {\r\n toggle!: string;\r\n\r\n @Output() value = new EventEmitter<string>();\r\n @Input() icon!: ISwitch;\r\n @Input() label = '';\r\n @Input() set defaultValue(value: string) {\r\n this.toggle = value;\r\n }\r\n\r\n change() {\r\n if (this.toggle === this.icon.iconActive)\r\n this.toggle = this.icon.iconInactive;\r\n else this.toggle = this.icon.iconActive;\r\n\r\n this.value.emit(this.toggle);\r\n }\r\n}\r\n","<div class=\"switch-container\" (click)=\"change()\">\r\n <input\r\n type=\"checkbox\"\r\n class=\"switch\"\r\n [checked]=\"toggle === icon.iconActive\"\r\n />\r\n <div class=\"switch-color\">\r\n <span>{{ label }} </span>\r\n </div>\r\n <label for=\"switch\" class=\"label\"\r\n ><span class=\"material-symbols-outlined\">{{ toggle }} </span>\r\n </label>\r\n</div>\r\n","export enum IconInput {\r\n Password = 'Password',\r\n Text = 'Text',\r\n EmailPhone = 'EmailPhone',\r\n Phone = 'Phone',\r\n Editable = 'Editable',\r\n Verified = 'Verified',\r\n NotVerified = 'NotVerified',\r\n OwnerName = 'OwnerName',\r\n totalAmount = 'totalAmount',\r\n totalRows = 'totalRows',\r\n Date = 'Date',\r\n}\r\nexport enum UserLanguage {\r\n EN = 'en',\r\n FA = 'fa',\r\n}\r\n\r\nexport enum TOAST_MESSAGES {\r\n SUCCESSFUL_CREATE = 'با موفقیت ثبت شد',\r\n SUCCESSFUL_ADDED = 'با موفقیت اضافه شد',\r\n SUCCESSFUL_EDIT = 'با موفقیت ویرایش شد',\r\n SUCCESSFUL_DELETED = 'با موفقیت حذف شد ',\r\n}\r\n\r\nexport const travelTypes = [\r\n {\r\n title: 'داخلی',\r\n value: 'Domestic',\r\n },\r\n {\r\n title: 'بین المللی',\r\n value: 'International',\r\n },\r\n];\r\nexport enum DetailViewers {\r\n BILL = 'bill',\r\n DRIVER = 'driver',\r\n MANIFEST = 'manifest',\r\n SERVICE = 'service',\r\n VEHICLE = 'vehicle',\r\n}\r\nexport const countryCodes = [\r\n {\r\n countryId: 'IR',\r\n countryNameFa: 'ايران',\r\n countryNameEn: 'Iran',\r\n },\r\n];\r\nexport const priceTypes = [\r\n {\r\n currencyId: 'IRR',\r\n currencyNameEn: 'Iranian Rial',\r\n currencyNameFa: 'ریال ایران',\r\n },\r\n];\r\n\r\nexport const Letters = [\r\n {\r\n key: 2,\r\n value: 'ب',\r\n },\r\n {\r\n key: 3,\r\n value: 'پ',\r\n },\r\n {\r\n key: 4,\r\n value: 'ت',\r\n },\r\n {\r\n key: 5,\r\n value: 'ث',\r\n },\r\n {\r\n key: 6,\r\n value: 'ج',\r\n },\r\n {\r\n key: 7,\r\n value: 'د',\r\n },\r\n {\r\n key: 8,\r\n value: 'ز',\r\n },\r\n {\r\n key: 9,\r\n value: 'س',\r\n },\r\n {\r\n key: 10,\r\n value: 'ش',\r\n },\r\n {\r\n key: 11,\r\n value: 'ص',\r\n },\r\n {\r\n key: 12,\r\n value: 'ط',\r\n },\r\n {\r\n key: 13,\r\n value: 'ع',\r\n },\r\n {\r\n key: 14,\r\n value: 'ف',\r\n },\r\n {\r\n key: 15,\r\n value: 'ق',\r\n },\r\n {\r\n key: 16,\r\n value: 'ک',\r\n },\r\n {\r\n key: 17,\r\n value: 'گ',\r\n },\r\n {\r\n key: 18,\r\n value: 'ل',\r\n },\r\n {\r\n key: 19,\r\n value: 'م',\r\n },\r\n {\r\n key: 20,\r\n value: 'ن',\r\n },\r\n {\r\n key: 21,\r\n value: 'و',\r\n },\r\n {\r\n key: 22,\r\n value: 'ه',\r\n },\r\n {\r\n key: 23,\r\n value: 'ی',\r\n },\r\n];\r\n\r\nexport const YES_NO_OPTIONS = [\r\n {\r\n title: 'بله',\r\n value: true,\r\n },\r\n {\r\n title: 'خیر',\r\n value: false,\r\n },\r\n];\r\nexport const ACTIVE_OPTIONS = [\r\n {\r\n title: 'فعال',\r\n value: true,\r\n },\r\n {\r\n title: 'غیر فعال',\r\n value: false,\r\n },\r\n];\r\n","import * as moment from 'jalali-moment';\r\n\r\ntype DateFormat = 'HH:mm' | 'YYYY-MM-DD' | 'YYYY-MM-DD HH:mm';\r\nexport class Util {\r\n public static getMoneyFormat(data: string) {\r\n return ('' + data).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n }\r\n\r\n public static isRunningOnSmallScreen(): boolean {\r\n return window.innerWidth < 772;\r\n }\r\n\r\n public static isRunningOnMobile(): boolean {\r\n return !this.isRunningOnWindows;\r\n }\r\n\r\n public static isRunningOnWindows(): boolean {\r\n return navigator.platform.startsWith('Win');\r\n }\r\n\r\n public static getRunningPlatform(): string {\r\n return navigator.platform;\r\n }\r\n\r\n public static getTotalFromArray(array: [], name: string): number {\r\n return array.map((item) => +item[name]).reduce((prev, next) => prev + next);\r\n }\r\n public static shamsiToMiladi(value: string, format: DateFormat) {\r\n const m = moment(value, 'jYYYY-jMM-jDD HH:mm');\r\n return m.format(format);\r\n }\r\n}\r\n","export type ThemePalette = 'square' | 'round';\r\nexport type ColorState =\r\n | 'default'\r\n | 'primary'\r\n | 'success'\r\n | 'warning'\r\n | 'danger';\r\n\r\nexport type ButtonType = 'button';\r\n\r\nexport type LayoutRadioButtons = 'row' | 'column';\r\n\r\nexport type InputType = 'number' | 'password' | 'text';\r\n\r\nexport type MenuItem<T> = {\r\n title: T;\r\n value: T;\r\n};\r\n\r\nexport type ButtonSize = 'xsmall' | 'small' | 'medium';\r\nexport type Color = 'White' | 'Orange' | 'Purple';\r\nexport type ConfirmDialog = {\r\n title: string;\r\n text: string;\r\n confirmBtn: string;\r\n cancelBtn: string;\r\n};\r\n\r\nexport enum DetailViewers {\r\n BILL = 'bill',\r\n DRIVER = 'driver',\r\n MANIFEST = 'manifest',\r\n SERVICE = 'service',\r\n VEHICLE = 'vehicle',\r\n}\r\n\r\nexport enum COLUMNS_TYPES {\r\n TEXT = 'text',\r\n COLOR = 'color',\r\n NUMBER = 'number',\r\n SELECTOR = 'selector',\r\n ROW_SELECTOR = 'row-selector',\r\n STATUS = 'status',\r\n STATUS_ACTIVE = 'status-active',\r\n ACTION = 'action',\r\n ACTION_BUTTONS = 'action-buttons',\r\n /** @deprecated do not use SHAMSI_DATE please use DATE */\r\n SHAMSI_DATE = 'shamsi-date',\r\n DATE = 'date',\r\n MULTI_COLUMN = 'multiColumn',\r\n PELAK = 'pelak',\r\n DETAIL_VIEWER_FOR_REPORT = 'detail-viewer-for-report',\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'calendar-icon',\r\n templateUrl: './calendar-icon.component.html',\r\n styleUrls: ['./calendar-icon.component.scss'],\r\n})\r\nexport class CalendarIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-160 0q-17 0-28.5-11.5T280-440q0-17 11.5-28.5T320-480q17 0 28.5 11.5T360-440q0 17-11.5 28.5T320-400Zm320 0q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-160 0q-17 0-28.5-11.5T280-280q0-17 11.5-28.5T320-320q17 0 28.5 11.5T360-280q0 17-11.5 28.5T320-240Zm320 0q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z\"\r\n />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { InputType } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-column-input',\r\n templateUrl: './core-column-input.component.html',\r\n styleUrls: ['./core-column-input.component.scss'],\r\n})\r\nexport class CoreColumnInputComponent {\r\n inputType!: InputType;\r\n @Input() showRemoveIcon: boolean = true;\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n @Input() value: string = '';\r\n @Input() set type(value: InputType) {\r\n this.inputType = value;\r\n }\r\n @Input() isDatePicker: boolean = false;\r\n @Input() maxLength = 2000;\r\n change(event: any) {\r\n this.onChange.emit(event);\r\n }\r\n}\r\n","<div class=\"search-box flex focus:bg-slate-600\">\r\n <input\r\n [type]=\"showRemoveIcon ? 'search' : 'text'\"\r\n placeholder=\"{{ placeholder }}\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n class=\"box-border\"\r\n />\r\n <search-icon\r\n *ngIf=\"!isDatePicker\"\r\n class=\"absolute top-1 w-5 right-1 fill-gray-500\"\r\n ></search-icon>\r\n <calendar-icon\r\n *ngIf=\"isDatePicker\"\r\n class=\"absolute top-1 w-5 right-1 fill-gray-500\"\r\n ></calendar-icon>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'core-column-date-picker',\r\n templateUrl: './core-column-date-picker.component.html',\r\n styleUrls: ['./core-column-date-picker.component.scss'],\r\n})\r\nexport class CoreColumnDatePickerComponent {\r\n @Input() canSelectToday: boolean = false;\r\n @Input() defaultDate: string = '';\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n niraDatePickerForm: FormGroup = {} as FormGroup;\r\n isOpenCalendar: boolean = false;\r\n date: string = '';\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n ngOnInit(): void {\r\n this.niraDatePickerForm = new FormGroup({\r\n niraDatePickerFormCtrl: this.inputFormControl,\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n clearedText() {\r\n this.niraDatePickerForm.setValue({\r\n niraDatePickerFormCtrl: '',\r\n });\r\n this.date = '';\r\n this.onChange.emit(undefined);\r\n }\r\n onDatePickerResult(result: string) {\r\n this.niraDatePickerForm.setValue({\r\n niraDatePickerFormCtrl: result,\r\n });\r\n this.date = result;\r\n this.onChange.emit(result);\r\n }\r\n onTodayDate(todayDate: string) {\r\n this.date = todayDate;\r\n this.niraDatePickerForm.setValue({\r\n niraDatePickerFormCtrl: todayDate,\r\n });\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <core-column-input\r\n (click)=\"isOpenCalendar = true\"\r\n [value]=\"date\"\r\n [isDatePicker]=\"true\"\r\n [showRemoveIcon]=\"false\"\r\n >\r\n </core-column-input>\r\n <close-icon\r\n *ngIf=\"date\"\r\n (click)=\"clearedText()\"\r\n class=\"absolute w-4 top-2 left-11 close-icon\"\r\n ></close-icon>\r\n</div>\r\n<lib-nira-date-picker\r\n [(isOpenCalendar)]=\"isOpenCalendar\"\r\n [defaultDate]=\"date ? date : defaultDate\"\r\n (datePickerResult)=\"onDatePickerResult($event)\"\r\n [selectToday]=\"canSelectToday\"\r\n>\r\n</lib-nira-date-picker>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MenuItem } from '../../falconTypes';\r\nimport { ACTIVE_OPTIONS } from '../../../utils/constants';\r\n\r\n@Component({\r\n selector: 'core-column-selector',\r\n templateUrl: './core-column-selector.component.html',\r\n styleUrls: ['./core-column-selector.component.scss'],\r\n})\r\nexport class CoreColumnSelectorComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n newItems: MenuItem<T>[] = [];\r\n isOpenMenu = false;\r\n _items: any[] = [];\r\n // _items: any[] = ACTIVE_OPTIONS;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.hasItems = true;\r\n this.init();\r\n }\r\n _defaultValue = undefined;\r\n _titleKey!: T;\r\n _valueKey!: T;\r\n initCounter = 0;\r\n hasTitleKey = false;\r\n hasValueKey = false;\r\n hasItems = false;\r\n hasDefaultValue = false;\r\n @Input() set titleKey(data: T) {\r\n this._titleKey = data;\r\n this.hasTitleKey = true;\r\n this.init();\r\n }\r\n @Input() set valueKey(data: T) {\r\n this._valueKey = data;\r\n this.hasValueKey = true;\r\n this.init();\r\n }\r\n @Input() label: string = '';\r\n @Output() onItemSelected = new EventEmitter<any>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n init() {\r\n if (this.hasTitleKey && this.hasValueKey && this.hasItems) {\r\n this.newItems = this.changeItemsType(this._items);\r\n const item = this.newItems.find(\r\n (item) => item.value == this._defaultValue\r\n );\r\n if (!this._defaultValue || this._defaultValue === null) return;\r\n this.inputFormControl.setValue(this._defaultValue);\r\n this.onItemSelect(\r\n this.newItems.find((item) => item.value == this._defaultValue)!,\r\n false\r\n );\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n this.cdr.detectChanges();\r\n }\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this._titleKey],\r\n value: item[this._valueKey],\r\n };\r\n });\r\n }\r\n openMenuClick() {\r\n this.isOpenMenu = !this.isOpenMenu;\r\n }\r\n onItemSelect(selectedItem: MenuItem<T>, isFromUi: boolean): void {\r\n if (isFromUi) this.inputFormControl.markAsTouched();\r\n this.isOpenMenu = false;\r\n this.selectedItem = selectedItem;\r\n this.inputFormControl.setValue(selectedItem.value);\r\n this.onItemSelected.emit(selectedItem.value);\r\n }\r\n focusOut() {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n }\r\n removedText() {\r\n this.selectedItem = {} as MenuItem<T>;\r\n this.inputFormControl.setValue('');\r\n this.onItemSelected.emit('');\r\n }\r\n}\r\n","<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <close-icon\r\n *ngIf=\"selectedItem.title\"\r\n (click)=\"removedText()\"\r\n class=\"absolute w-4 top-2 right-2 fill-gray-600\"\r\n ></close-icon>\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n selectError: inputFormControl.touched && inputFormControl.errors\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'check-icon',\r\n templateUrl: './check-icon.component.html',\r\n styleUrls: ['./check-icon.component.css'],\r\n})\r\nexport class CheckIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"100%\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"100%\"\r\n>\r\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-color-column',\r\n templateUrl: './core-table-color-column.component.html',\r\n styleUrls: ['./core-table-color-column.component.css'],\r\n})\r\nexport class CoreTableColorColumnComponent {\r\n @Input({ required: true }) data: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n canEdit = false;\r\n value = '';\r\n get color() {\r\n return this.data[this.column.key].startsWith('#')\r\n ? this.data[this.column.key]\r\n : '#' + this.data[this.column.key];\r\n }\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit\"\r\n class=\"shadow-md inline-block rounded-full\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n style=\"width: 25px; height: 25px\"\r\n [style]=\"{ background: color }\"\r\n></span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"color\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-core-table-action-buttons-column',\r\n templateUrl: './core-table-action-buttons-column.component.html',\r\n styleUrls: ['./core-table-action-buttons-column.component.scss'],\r\n})\r\nexport class CoreTableActionButtonsColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n clicked(key: string) {\r\n this.onClick.emit({ data: this.data, key: key });\r\n }\r\n\r\n checkFilter(column: any) {\r\n if (column.filter) {\r\n return column.filter(this.data);\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","<span *ngFor=\"let data of column.data\">\r\n <span\r\n *ngIf=\"checkFilter(data)\"\r\n [title]=\"data.title\"\r\n class=\"icon-color cursor-pointer h-5 inline-block icon-color m-1\"\r\n (click)=\"clicked(data.key)\"\r\n >\r\n <ng-container *ngComponentOutlet=\"data.component\" />\r\n </span>\r\n</span>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'edit-square-icon',\r\n templateUrl: './edit-square-icon.component.html',\r\n styleUrls: ['./edit-square-icon.component.scss'],\r\n})\r\nexport class EditSquareIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h357l-80 80H200v560h560v-278l80-80v358q0 33-23.5 56.5T760-120H200Zm280-360ZM360-360v-170l367-367q12-12 27-18t30-6q16 0 30.5 6t26.5 18l56 57q11 12 17 26.5t6 29.5q0 15-5.5 29.5T897-728L530-360H360Zm481-424-56-56 56 56ZM440-440h56l232-232-28-28-29-28-231 231v57Zm260-260-29-28 29 28 28 28-28-28Z\"\r\n />\r\n</svg>\r\n","import { Component, Input } from '@angular/core';\nimport { NiraModalService } from 'nira-modal';\n\n@Component({\n selector: 'app-core-table-action-column',\n templateUrl: './core-table-action-column.component.html',\n styleUrls: ['./core-table-action-column.component.scss'],\n})\nexport class CoreTableActionColumnComponent {\n @Input({ required: true }) data!: any;\n @Input({ required: true }) column!: any;\n constructor(private niraModalService: NiraModalService) {}\n\n openDialog() {\n this.niraModalService.open(this.column.data.component, {\n data: this.data[this.column.data.key],\n });\n }\n}\n","<span class=\"icon-color h-5 inline-block\">\r\n <edit-square-icon\r\n [title]=\"column.title\"\r\n class=\"cursor-pointer\"\r\n (click)=\"openDialog()\"\r\n ></edit-square-icon>\r\n</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-core-table-row-selector-column',\r\n templateUrl: './core-table-row-selector-column.component.html',\r\n styleUrls: ['./core-table-row-selector-column.component.scss'],\r\n})\r\nexport class CoreTableRowSelectorColumnComponent {\r\n checked = false;\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Input({ required: true }) allTableData!: any;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n\r\n ngOnInit() {\r\n this.rowSelector?.subscribe((data: any[]) => {\r\n const index = data.findIndex((item) => item.id === this.data.id);\r\n this.checked = index >= 0;\r\n });\r\n }\r\n\r\n change(event: any) {\r\n let rowSelector: any[] = this.rowSelector?.getValue();\r\n if (event.srcElement.checked) {\r\n rowSelector = [...rowSelector, this.data];\r\n } else {\r\n const index = rowSelector.findIndex((item) => this.data.id === item.id);\r\n rowSelector.splice(index, 1);\r\n }\r\n this.rowSelector?.next(rowSelector);\r\n }\r\n async oncontextmenu(event: any) {\r\n if (!this.column.data.key) return;\r\n event.preventDefault();\r\n let rowSelector: any[] = this.rowSelector?.getValue();\r\n if (!event.srcElement.checked) {\r\n const others = this.allTableData.filter(\r\n (data: any) =>\r\n data[this.column.data.key] === this.data[this.column.data.key]\r\n );\r\n for await (const row of others) {\r\n const index = rowSelector.findIndex((item) => row.id === item.id);\r\n if (!(index >= 0)) {\r\n rowSelector = [...rowSelector, row];\r\n }\r\n }\r\n } else {\r\n const others = rowSelector.filter(\r\n (item) => this.data[this.column.data.key] === item[this.column.data.key]\r\n );\r\n for await (const row of others) {\r\n const index = rowSelector.findIndex((item) => row.id === item.id);\r\n rowSelector.splice(index, 1);\r\n }\r\n }\r\n this.rowSelector?.next(rowSelector);\r\n }\r\n}\r\n","<core-checkbox\r\n (contextmenu)=\"oncontextmenu($event)\"\r\n [checked]=\"checked\"\r\n (onChange)=\"change($event)\"\r\n></core-checkbox>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport moment from 'jalali-moment';\r\ntype Format = 'HH:mm' | 'jYYYY/jMM/jDD' | 'jYYYY/jMM/jDD HH:mm';\r\n@Pipe({\r\n name: 'shamsiDate',\r\n})\r\nexport class ShamsiDatePipe implements PipeTransform {\r\n transform(\r\n value: string | undefined,\r\n format: Format | string,\r\n ...args: unknown[]\r\n ): string {\r\n if (!value) return '';\r\n const m = moment(\r\n value,\r\n value.length === 10\r\n ? 'YYYY-MM-DD'\r\n : value.length === 16\r\n ? 'YYYY-MM-DD HH:mm'\r\n : 'YYYY-MM-DD HH:mm:ss'\r\n );\r\n return m.format(format);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-shamsi-date',\r\n templateUrl: './core-table-shamsi-date.component.html',\r\n styleUrls: ['./core-table-shamsi-date.component.scss'],\r\n})\r\nexport class CoreTableShamsiDateComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n dateFormat = 'jYYYY/jMM/jDD HH:mm';\r\n\r\n ngOnInit() {\r\n if (this.column?.data?.dateFormat) {\r\n this.dateFormat = this.column.data.dateFormat;\r\n }\r\n }\r\n\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n}\r\n","<span dir=\"ltr\">{{\r\n data[column.key] | shamsiDate : dateFormat | persianDigits\r\n}}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-date',\r\n templateUrl: './core-table-date.component.html',\r\n styleUrls: ['./core-table-date.component.scss'],\r\n})\r\nexport class CoreTableDateComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n dateFormat = 'jYYYY/jMM/jDD HH:mm';\r\n\r\n ngOnInit() {\r\n if (this.column?.data?.dateFormat) {\r\n this.dateFormat = this.column.data.dateFormat;\r\n }\r\n }\r\n\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n}\r\n","<span dir=\"ltr\">{{\r\n data[column.key] | shamsiDate : dateFormat | persianDigits\r\n}}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-core-table-status-column',\r\n templateUrl: './core-table-status-column.component.html',\r\n styleUrls: ['./core-table-status-column.component.scss'],\r\n})\r\nexport class CoreTableStatusColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value: boolean = false;\r\n radioButtonData = [\r\n { value: true, title: 'فعال' },\r\n { value: false, title: 'غیر فعال' },\r\n ];\r\n\r\n onChange(event: string) {\r\n this.value = event === 'true' ? true : false;\r\n }\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onColumnClicked(column: any, data: boolean, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n }\r\n }\r\n}\r\n","<b\r\n [ngClass]=\"{\r\n active: data[column.key],\r\n deActive: !data[column.key],\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n>\r\n {{ data[column.key] ? \"فعال\" : \"غیر فعال\" }}\r\n</b>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-radio-buttons\r\n class=\"flex-1 min-width-radio\"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [layout]=\"'row'\"\r\n [name]=\"'r1'\"\r\n [defaultValue]=\"data[column.key]\"\r\n [items]=\"radioButtonData\"\r\n (onChange)=\"onChange($event)\"\r\n >\r\n </core-radio-buttons>\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-caret-up-icon',\r\n templateUrl: './caret-up-icon.component.html',\r\n styleUrls: ['./caret-up-icon.component.scss']\r\n})\r\nexport class CaretUpIconComponent {\r\n\r\n}\r\n","<svg\r\n class=\"svg-inline--fa fa-caret-up fa-w-10 me-1\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n data-prefix=\"fas\"\r\n data-icon=\"caret-up\"\r\n role=\"img\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 320 512\"\r\n data-fa-i2svg=\"\"\r\n>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"\r\n ></path>\r\n</svg>\r\n","import {\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NiraModalService } from 'nira-modal';\r\n\r\nimport { CaretUpIconComponent } from '../../svg-icon/caret-up-icon/caret-up-icon.component';\r\n@Directive({\r\n selector: '[tableDetailViewerManager]',\r\n})\r\nexport class TableDetailViewerManagerDirective {\r\n @Input() detailViewerData: any;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private niraModalService: NiraModalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private componentFactoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.detailViewerData?.detailViewer?.key) {\r\n this.changeStyle();\r\n }\r\n }\r\n\r\n changeStyle() {\r\n this.el.nativeElement.style.backgroundColor = '#b4dcff';\r\n this.el.nativeElement.style.cursor = 'pointer';\r\n this.el.nativeElement.style.borderRadius = '18px';\r\n this.el.nativeElement.style.padding = '2px 8px ';\r\n this.el.nativeElement.classList.add('detailViewer');\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n CaretUpIconComponent\r\n );\r\n const componentRef =\r\n this.viewContainerRef.createComponent(componentFactory);\r\n const host = this.el.nativeElement;\r\n host.insertBefore(componentRef.location.nativeElement, host.firstChild);\r\n }\r\n\r\n @HostListener('click') onMouseUp() {\r\n if (this.detailViewerData?.detailViewer?.key) {\r\n this.niraModalService.open(\r\n this.detailViewerData?.detailViewer?.detailViewerComponent,\r\n {\r\n data: this.detailViewerData.data,\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-core-table-status-active-column',\r\n templateUrl: './core-table-status-active-column.component.html',\r\n styleUrls: ['./core-table-status-active-column.component.scss'],\r\n})\r\nexport class CoreTableStatusActiveColumnComponent {\r\n @Input({ required: true }) data: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value: boolean = false;\r\n radioButtonData = [\r\n { value: true, title: 'بلی' },\r\n { value: false, title: 'خیر' },\r\n ];\r\n\r\n onChange(event: string) {\r\n this.value = event === 'true' ? true : false;\r\n }\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onColumnClicked(column: any, data: boolean, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n }\r\n }\r\n}\r\n","<b\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n [ngClass]=\"{\r\n active: data[column.key],\r\n deActive: !data[column.key],\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n>\r\n {{ data[column.key] ? \"بلی\" : \"خیر\" }}\r\n</b>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-radio-buttons\r\n class=\"flex-1\"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [layout]=\"'row'\"\r\n [name]=\"'r1'\"\r\n [defaultValue]=\"data[column.key]\"\r\n [items]=\"radioButtonData\"\r\n (onChange)=\"onChange($event)\"\r\n >\r\n </core-radio-buttons>\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'pelak-icon',\r\n templateUrl: './pelak-icon.component.html',\r\n styleUrls: ['./pelak-icon.component.scss'],\r\n})\r\nexport class PelakIconComponent {}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" fill=\"none\">\r\n <path\r\n fill=\"#004A96\"\r\n d=\"M0 12C0 5.37258 5.37258 0 12 0h17v48H12C5.37258 48 0 42.6274 0 36V12Z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M6.69405 28.0899h-.53303V24h.53303v4.0899Zm1.10627-.1011c-.06848-.0712-.10272-.1564-.10272-.2557 0-.1011.03424-.1863.10272-.2556.07033-.0693.15546-.1048.25541-.1067.09994.0019.18415.0374.25263.1067.07033.0693.1055.1545.1055.2556 0 .0993-.03517.1845-.1055.2557-.06848.0693-.15176.1039-.24986.1039-.10179 0-.18785-.0346-.25818-.1039Zm3.05518-1.5534h-.94948v1.6545h-.53581V24h1.33809c.4553 0 .8051.1049 1.0494.3146.2462.2097.3693.515.3693.9157 0 .2547-.0685.4766-.2055.6658-.1351.1891-.3238.3305-.5663.4241l.9495 1.736v.0337h-.5719l-.8773-1.6545Zm-.94948-.441h.81898c.1444 0 .2702-.0197.3776-.059.1092-.0412.1999-.0955.272-.1629.0722-.0693.1259-.1498.1611-.2416.037-.0936.0555-.1938.0555-.3006 0-.1179-.0176-.2247-.0528-.3202-.0333-.0974-.086-.1807-.1582-.25-.0722-.0693-.1638-.1226-.2749-.1601-.111-.0375-.2433-.0562-.397-.0562h-.80228v1.5506Zm3.09958 1.9944c-.0685-.0712-.1027-.1564-.1027-.2557 0-.1011.0342-.1863.1027-.2556.0703-.0693.1555-.1048.2554-.1067.1.0019.1842.0374.2526.1067.0704.0693.1055.1545.1055.2556 0 .0993-.0351.1845-.1055.2557-.0684.0693-.1517.1039-.2498.1039-.1018 0-.1879-.0346-.2582-.1039ZM6.53303 36H6v-4.0899h.53303V36Zm2.51658-1.6545h-.94946V36h-.53581v-4.0899h1.33813c.4553 0 .8051.1049 1.04941.3146.24612.2098.36922.515.36922.9157 0 .2547-.0685.4766-.2054.6658-.13513.1891-.32392.3305-.56637.4241l.94947 1.736V36h-.57191l-.87728-1.6545Zm-.94946-.441h.81898c.14436 0 .27022-.0197.37756-.059.1092-.0412.19989-.0955.27207-.1629.07218-.0693.12586-.1498.16102-.2416.03702-.0936.05553-.1938.05553-.3006 0-.1179-.01759-.2247-.05275-.3202-.03332-.0974-.08606-.1807-.15824-.25-.07219-.0693-.1638-.1226-.27485-.1601-.11105-.0374-.24338-.0562-.397-.0562h-.80232v1.5506Zm5.25945 1.0281h-1.6935L11.2858 36h-.5497l1.5436-4.0899h.4664L14.2924 36h-.5469l-.3859-1.0674Zm-1.5324-.4438h1.3742l-.6885-1.913-.6857 1.913ZM18 36h-.5358l-2.035-3.1517V36h-.5358v-4.0899h.5358l2.0405 3.1657v-3.1657H18V36Z\"\r\n ></path>\r\n <path\r\n fill=\"#00A03C\"\r\n d=\"M6 11.334c0-.8284.67157-1.50002 1.5-1.50002H21V12.334H6v-1Z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M6 12.334h15v4.16667H6z\"></path>\r\n <path\r\n fill=\"#FC000B\"\r\n d=\"M6 16.501h15v2.5H7.5c-.82843 0-1.5-.6716-1.5-1.5v-1Z\"\r\n ></path>\r\n <g clip-path=\"url(#a)\">\r\n <path\r\n fill=\"#FC000B\"\r\n fill-rule=\"evenodd\"\r\n d=\"M12.9795 13.539c-.2964.2013-.4926.5118-.5073.8656-.0192.4651.2808.8754.7279 1.0692-.1751.0475-.3606.0605-.5424.038-.0102-.0012-.0203-.0026-.0303-.0041.1708.061.3551.0896.5402.0837.0478-.0015.0955-.0053.1428-.0113l.1398.1875.1398-.1875c.0474.006.095.0098.1428.0113.1852.0059.3697-.0226.5405-.0837-.01.0015-.0201.0029-.0303.0041-.1818.0225-.3673.0095-.5424-.038.4472-.1938.7471-.6039.7279-1.0692-.0149-.3538-.2111-.6644-.5075-.8656.2098.2509.3094.5814.2477.9263-.0616.3449-.2726.6368-.5609.8259l.0373-1.6937c-.0831-.0194-.1462-.0686-.1949-.1205-.0484.0519-.1117.1011-.1948.1205l.0373 1.6938c-.2885-.1892-.4993-.4811-.561-.826-.0617-.345.0381-.6754.2478-.9263Zm.836-.3212c.0045.018.0067.0364.0067.0549 0 .1217-.0964.2204-.2154.2204-.0621 0-.1183-.027-.1574-.0701-.0393.0431-.0953.0701-.1574.0701-.1189 0-.2151-.0987-.2151-.2204-.0001-.0185.0022-.0369.0067-.0549.0111.089.0939.1581.1944.1581.074 0 .1384-.0374.1717-.0928.0331.0554.0976.0928.1714.0928.1004 0 .1832-.0691.1944-.1581Zm-1.2709 2.1219c-.1776-.0872-.3252-.2127-.4276-.3639-.1025-.1512-.1563-.3226-.1561-.4971 0-.4695.3819-.8629.8939-.9657-.3687.1685-.6276.5634-.6276 1.0237 0 .3156.1219.6007.3173.803h.0001Zm1.8113 0c.1777-.0872.3252-.2127.4276-.3639.1025-.1512.1563-.3226.1561-.4971 0-.4695-.3816-.8629-.8938-.9657.3686.1685.6275.5634.6275 1.0237 0 .3156-.1219.6007-.3173.803h-.0001Z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </g>\r\n <defs>\r\n <clipPath id=\"a\">\r\n <path fill=\"#fff\" d=\"M11.834 13.167h3.33333v2.5H11.834z\"></path>\r\n </clipPath>\r\n </defs>\r\n</svg>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-core-row-pelak',\r\n templateUrl: './core-row-pelak.component.html',\r\n styleUrls: ['./core-row-pelak.component.scss'],\r\n})\r\nexport class CoreRowPelakComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"flex gap-1\" *ngIf=\"data.register\">\r\n <div class=\"row w-12\">\r\n <img class=\"img-iran p-1\" src=\"../../../assets/images/iran.png\" />\r\n <span class=\"row1\">{{ data[column.key].columnFour | persianDigits }}</span>\r\n </div>\r\n <span class=\"row w-9\">{{\r\n data[column.key].columnThree | persianDigits\r\n }}</span>\r\n <span class=\"row w-5\">{{ data[column.key].columnTwo | persianDigits }}</span>\r\n <span class=\"row w-6\">{{ data[column.key].columnOne | persianDigits }}</span>\r\n <pelak-icon class=\"h-8 w-6\"></pelak-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-card-manager',\r\n templateUrl: './core-table-card-manager.component.html',\r\n styleUrls: ['./core-table-card-manager.component.scss'],\r\n})\r\nexport class CoreTableCardManagerComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Input({ required: true }) allTableData!: any;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n @Output() onColumnClicked: EventEmitter<any> = new EventEmitter();\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n getSelectorData(data: any, key: string) {\r\n if (key) {\r\n const split = key.split('.');\r\n if (split.length === 1) {\r\n return data[key];\r\n } else {\r\n let newData = data;\r\n split.forEach((newKay) => {\r\n newData = newData[newKay];\r\n });\r\n\r\n return newData;\r\n }\r\n }\r\n }\r\n onTextColumnClicked(column: any, data: string) {\r\n if (!column.copyToClipboard) return;\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n clicked(val: any) {\r\n this.onColumnClicked.emit(val);\r\n }\r\n combinedData(detailViewer: any, data: any) {\r\n return {\r\n detailViewer: detailViewer,\r\n data: data,\r\n };\r\n }\r\n}\r\n","<container-element [ngSwitch]=\"column.type\">\r\n <ng-content></ng-content>\r\n\r\n <app-core-table-row-selector-column\r\n *ngSwitchCase=\"columnsTypes.ROW_SELECTOR\"\r\n [rowSelector]=\"rowSelector\"\r\n [data]=\"data\"\r\n [allTableData]=\"allTableData\"\r\n [column]=\"column\"\r\n ></app-core-table-row-selector-column>\r\n <app-core-table-status-active-column\r\n *ngSwitchCase=\"columnsTypes.STATUS_ACTIVE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-active-column>\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-table-status-column\r\n *ngSwitchCase=\"columnsTypes.STATUS\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-column>\r\n <app-core-table-action-column\r\n *ngSwitchCase=\"columnsTypes.ACTION\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-column>\r\n <app-core-table-action-buttons-column\r\n *ngSwitchCase=\"columnsTypes.ACTION_BUTTONS\"\r\n (onClick)=\"clicked($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-buttons-column>\r\n <app-core-table-shamsi-date\r\n *ngSwitchCase=\"columnsTypes.SHAMSI_DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-shamsi-date>\r\n <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n <app-core-row-pelak\r\n class=\"inline-block\"\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.copyToClipboard }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key])\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >{{\r\n column?.data?.persianDigits === false\r\n ? data[column.key]\r\n : (data[column.key] | persianDigits)\r\n }}</span\r\n >\r\n <span\r\n *ngSwitchCase=\"columnsTypes.NUMBER\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n green: data[column.key] > 0 && column.canColorfulNumber,\r\n red: data[column.key] < 0 && column.canColorfulNumber\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key])\"\r\n tableDetailViewerManager\r\n dir=\"ltr\"\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n ><app-core-number\r\n [number]=\"data[column.key]\"\r\n [type]=\"'number'\"\r\n [canSplitNumbers]=\"true\"\r\n [canShowWordInToolTip]=\"true\"\r\n >\r\n </app-core-number>\r\n </span>\r\n <span *ngSwitchCase=\"columnsTypes.SELECTOR\">\r\n <span\r\n *ngIf=\"data[column.key.split('.')[0]]\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(\r\n column.detailViewer,\r\n getSelectorData(\r\n data[column.key.split('.')[0]],\r\n column.detailViewer?.key\r\n )\r\n )\r\n \"\r\n >{{\r\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\r\n | persianDigits\r\n }}</span\r\n >\r\n </span>\r\n</container-element>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-text-column',\r\n templateUrl: './core-table-text-column.component.html',\r\n styleUrls: ['./core-table-text-column.component.css'],\r\n})\r\nexport class CoreTableTextColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value = '';\r\n\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onTextColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n } else if (column.copyToClipboard) {\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n column?.data?.enDigitsToFa === false\r\n ? data[column.key]\r\n : (data[column.key] | persianDigits)\r\n }}</span\r\n>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-number-column',\r\n templateUrl: './core-table-number-column.component.html',\r\n styleUrls: ['./core-table-number-column.component.css'],\r\n})\r\nexport class CoreTableNumberColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value = '';\r\n\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onTextColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n } else if (column.copyToClipboard) {\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n green: data[column.key] > 0 && column.canColorfulNumber,\r\n red: data[column.key] < 0 && column.canColorfulNumber,\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n>\r\n <app-core-number\r\n [number]=\"data[column.key]\"\r\n [type]=\"'number'\"\r\n [canShowTomanInToolTip]=\"\r\n column?.data && column?.data?.canShowTomanInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n [enDigitsToFa]=\"\r\n column?.data && column?.data?.enDigitsToFa === false ? false : true\r\n \"\r\n [canShowIRR]=\"\r\n column?.data && column?.data?.canShowIRR === true ? true : false\r\n \"\r\n [canSplitNumbers]=\"\r\n column?.data && column?.data?.canSplitNumbers === false ? false : true\r\n \"\r\n [canShowWordInToolTip]=\"\r\n column?.data && column?.data?.canShowWordInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n >\r\n </app-core-number>\r\n</span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-selector-column',\r\n templateUrl: './core-table-selector-column.component.html',\r\n styleUrls: ['./core-table-selector-column.component.css'],\r\n})\r\nexport class CoreTableSelectorColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value: any;\r\n\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n onChange(event: any) {\r\n this.value = event;\r\n }\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onTextColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n } else if (column.copyToClipboard) {\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n }\r\n\r\n getSelectorData(data: any, key: string) {\r\n if (!key) {\r\n return '';\r\n }\r\n const split = key.split('.');\r\n if (split.length === 1) {\r\n return data[key];\r\n } else {\r\n let newData = data;\r\n split.forEach((newKey) => {\r\n newData = newData[newKey];\r\n });\r\n\r\n return newData;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\r\n | persianDigits\r\n }}</span\r\n>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-select\r\n class=\"block mx-4 w-80\"\r\n [titleKey]=\"column.data.key\"\r\n [valueKey]=\"column.data.value\"\r\n [items]=\"column.data.editableData | async\"\r\n (onItemSelected)=\"onChange($event)\"\r\n ></core-select>\r\n\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { DetailViewers } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-table-detail-viewer-for-report',\r\n templateUrl: './core-table-detail-viewer-for-report.component.html',\r\n styleUrls: ['./core-table-detail-viewer-for-report.component.scss'],\r\n})\r\nexport class CoreTableDetailViewerForReportComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n\r\n get detailViewers() {\r\n return this.column.data.detailViewers;\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n hasDetailViewers() {\r\n return this.detailViewers.some(\r\n (item: any) => item === this.data[this.column.data.keyType]\r\n );\r\n }\r\n\r\n onClick() {\r\n this.column.data.onClick(this.data);\r\n }\r\n}\r\n","<span class=\"text\" *ngIf=\"hasDetailViewers()\" (click)=\"onClick()\"\r\n ><app-caret-up-icon class=\"inline-block w-3 h-3\"></app-caret-up-icon\r\n >{{ data[column.key] }}</span\r\n>\r\n<span *ngIf=\"!hasDetailViewers()\">{{ data[column.key] }}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-column-manager',\r\n templateUrl: './core-table-column-manager.component.html',\r\n styleUrls: ['./core-table-column-manager.component.scss'],\r\n})\r\nexport class CoreTableColumnManagerComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Input({ required: true }) allTableData!: any;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n @Output() onColumnClicked: EventEmitter<any> = new EventEmitter();\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n getSelectorData(data: any, key: string) {\r\n if (!key) {\r\n return '';\r\n }\r\n const split = key.split('.');\r\n if (split.length === 1) {\r\n return data[key];\r\n } else {\r\n let newData = data;\r\n split.forEach((newKey) => {\r\n newData = newData[newKey];\r\n });\r\n\r\n return newData;\r\n }\r\n }\r\n onTextColumnClicked(column: any, data: string) {\r\n if (!column.copyToClipboard) return;\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n clicked(val: any) {\r\n this.onColumnClicked.emit(val);\r\n }\r\n columnValueChanged(val: any) {\r\n this.onColumnValueChanged.emit(val);\r\n }\r\n combinedData(detailViewer: any, data: any) {\r\n return {\r\n detailViewer: detailViewer,\r\n data: data,\r\n };\r\n }\r\n}\r\n","<container-element [ngSwitch]=\"column.type\">\r\n <ng-content></ng-content>\r\n\r\n <app-core-table-row-selector-column\r\n *ngSwitchCase=\"columnsTypes.ROW_SELECTOR\"\r\n [rowSelector]=\"rowSelector\"\r\n [data]=\"data\"\r\n [allTableData]=\"allTableData\"\r\n [column]=\"column\"\r\n ></app-core-table-row-selector-column>\r\n <app-core-table-status-active-column\r\n *ngSwitchCase=\"columnsTypes.STATUS_ACTIVE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n ></app-core-table-status-active-column>\r\n\r\n <app-core-table-status-column\r\n *ngSwitchCase=\"columnsTypes.STATUS\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-column>\r\n <app-core-table-action-column\r\n *ngSwitchCase=\"columnsTypes.ACTION\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-column>\r\n <app-core-table-action-buttons-column\r\n *ngSwitchCase=\"columnsTypes.ACTION_BUTTONS\"\r\n (onClick)=\"clicked($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-buttons-column>\r\n <app-core-table-shamsi-date\r\n *ngSwitchCase=\"columnsTypes.SHAMSI_DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-shamsi-date>\r\n <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-row-pelak\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <core-table-detail-viewer-for-report\r\n *ngSwitchCase=\"columnsTypes.DETAIL_VIEWER_FOR_REPORT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-detail-viewer-for-report>\r\n\r\n <core-table-text-column\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-text-column>\r\n\r\n <core-table-number-column\r\n *ngSwitchCase=\"columnsTypes.NUMBER\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-number-column>\r\n\r\n <core-table-selector-column\r\n *ngSwitchCase=\"columnsTypes.SELECTOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(\r\n column.detailViewer,\r\n getSelectorData(\r\n data[column.key.split('.')[0]],\r\n column.detailViewer?.key\r\n )\r\n )\r\n \"\r\n >\r\n </core-table-selector-column>\r\n</container-element>\r\n","import { UserLanguage } from '../../../utils/constants';\r\n\r\nexport interface ITabelNoContent {\r\n noResult: string;\r\n}\r\n\r\nexport const Label: Record<UserLanguage, ITabelNoContent> = {\r\n fa: {\r\n noResult: 'موردی یافت نشد',\r\n },\r\n en: {\r\n noResult: 'No Result',\r\n },\r\n};\r\n","import { Component, Input } from '@angular/core';\r\nimport { Label } from './core-table-no-content.label';\r\n\r\n@Component({\r\n selector: 'core-table-no-content',\r\n templateUrl: './core-table-no-content.component.html',\r\n styleUrls: ['./core-table-no-content.component.scss'],\r\n})\r\nexport class CoreTableNoContentComponent {\r\n labels = Label['fa'];\r\n @Input({ required: true }) tableData: any;\r\n @Input({ required: false }) loading: any;\r\n constructor() {}\r\n}\r\n","<div *ngIf=\"tableData; let data\" class=\"text-center mt-10 mb-10\">\r\n <ng-container *ngIf=\"$any(data).length == 0 && !loading\">\r\n <warning-icon class=\"icon-color inline-block w-24\"></warning-icon>\r\n <b class=\"content block\">{{ labels.noResult }}</b></ng-container\r\n >\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sort-down-icon',\r\n templateUrl: './sort-down-icon.component.html',\r\n styleUrls: ['./sort-down-icon.component.scss']\r\n})\r\nexport class SortDownIconComponent {\r\n\r\n}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"\r\n />\r\n</svg>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sort-solid-icon',\r\n templateUrl: './sort-solid-icon.component.html',\r\n styleUrls: ['./sort-solid-icon.component.scss'],\r\n})\r\nexport class SortSolidIconComponent {}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zm0 429.3l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0z\"\r\n />\r\n</svg>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sort-up-icon',\r\n templateUrl: './sort-up-icon.component.html',\r\n styleUrls: ['./sort-up-icon.component.scss'],\r\n})\r\nexport class SortUpIconComponent {}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"\r\n />\r\n</svg>\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { find, orderBy } from 'lodash';\r\nimport { ACTIVE_OPTIONS, YES_NO_OPTIONS } from '../../../utils/constants';\r\nimport { Util } from '../../../utils/util';\r\nimport { ColumnsSchema } from './core-table.type';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-table',\r\n templateUrl: './core-table.component.html',\r\n styleUrls: ['./core-table.component.scss'],\r\n})\r\nexport class CoreTableComponent {\r\n @Input({ required: false }) key: string | undefined;\r\n @Input({ required: true }) columnsSchema: ColumnsSchema[] = [];\r\n @Input({ required: true }) tableData: BehaviorSubject<any[]> =\r\n new BehaviorSubject<any[]>([]);\r\n @Input({ required: false }) responsive: boolean = true;\r\n @Input({ required: false }) canSelectFirstItem: boolean = false;\r\n @Input({ required: true }) loading: any;\r\n @Input() canFilter: boolean = false;\r\n @Input({ required: false }) styleFilter: ((data: any) => string) | undefined;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n @Output() onColumnClicked: EventEmitter<any> = new EventEmitter();\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n @Output() onItemSelected: EventEmitter<any> = new EventEmitter();\r\n @ViewChild('table') table!: ElementRef<HTMLTableElement>;\r\n ACTIVE_OPTIONS = ACTIVE_OPTIONS;\r\n YES_NO_OPTIONS = YES_NO_OPTIONS;\r\n sortDetail: { key: string; sort: 'asc' | 'desc' } | undefined;\r\n selectedItem: any = undefined;\r\n sortedTableData: any[] = [];\r\n dbTableFilter: any;\r\n index = 0;\r\n salt = this.randomString(5);\r\n selectedItemIndex = 0;\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n get isRunningOnSmallScreen() {\r\n return Util.isRunningOnSmallScreen();\r\n }\r\n constructor(private dbService: NgxIndexedDBService) {}\r\n\r\n ngOnInit(): void {\r\n this.tableData.subscribe((val: any) => {\r\n this.sortedTableData = val;\r\n if (\r\n this.canSelectFirstItem &&\r\n this.sortedTableData.length > 0 &&\r\n this.selectedItem === undefined\r\n ) {\r\n this.selectedItem = this.sortedTableData[0];\r\n this.selectedItemIndex = 0;\r\n if (this.table?.nativeElement) {\r\n this.table.nativeElement.focus();\r\n }\r\n }\r\n });\r\n if (this.key) {\r\n this.dbService\r\n .getByIndex('tableFilter', 'key', this.key)\r\n .subscribe((data: any) => {\r\n this.dbTableFilter = data;\r\n if (this.dbTableFilter) {\r\n this.setTableFilter();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.canSelectFirstItem && this.sortedTableData.length > 0) {\r\n this.selectedItem = this.sortedTableData[0];\r\n }\r\n }\r\n\r\n setTableFilter() {\r\n this.columnsSchema.map((column: any) => {\r\n JSON.parse(this.dbTableFilter.columnsSchema).forEach(\r\n (dbColumnsSchema: any) => {\r\n if (dbColumnsSchema.key === column.key) {\r\n column.active = dbColumnsSchema.active;\r\n }\r\n }\r\n );\r\n return column;\r\n });\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n handleEnter(event: Event) {\r\n const key = event as KeyboardEvent;\r\n if (document.activeElement === this.table.nativeElement) {\r\n if (key.key === 'ArrowDown') {\r\n if (this.selectedItemIndex === this.sortedTableData.length - 1) return;\r\n if (this.selectedItemIndex < this.sortedTableData.length - 1) {\r\n this.selectedItemIndex++;\r\n this.selectedItem = this.sortedTableData[this.selectedItemIndex];\r\n document\r\n .getElementById(\r\n 'tableRow_' + this.salt + '_' + this.selectedItemIndex\r\n )\r\n ?.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n event.preventDefault();\r\n return;\r\n } else if (key.key === 'ArrowUp') {\r\n if (this.selectedItemIndex === 0) return;\r\n if (this.selectedItemIndex > 0) {\r\n this.selectedItemIndex--;\r\n this.selectedItem = this.sortedTableData[this.selectedItemIndex];\r\n document\r\n .getElementById(\r\n 'tableRow_' + this.salt + '_' + this.selectedItemIndex\r\n )\r\n ?.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n event.preventDefault();\r\n return;\r\n } else if (key.key === 'Enter') {\r\n this.onItemSelected.emit(this.selectedItem);\r\n event.preventDefault();\r\n return;\r\n } else if (key.altKey) {\r\n const actionButtons: any = this.columnsSchema.find(\r\n (schema: any) => schema.type === COLUMNS_TYPES.ACTION_BUTTONS\r\n );\r\n\r\n actionButtons.data.forEach((actionButton: any) => {\r\n if (actionButton.keyboardShortcut) {\r\n const regex = new RegExp(\r\n '^(' + actionButton.keyboardShortcut + ')$',\r\n 'i'\r\n );\r\n if (regex.test(key.key)) {\r\n this.columnClicked({\r\n data: this.selectedItem,\r\n key: actionButton.key,\r\n });\r\n }\r\n }\r\n });\r\n this.onItemSelected.emit(this.selectedItem);\r\n event.preventDefault();\r\n return;\r\n }\r\n }\r\n }\r\n onItemSelect(data: any, index: number, event: Event) {\r\n event.preventDefault();\r\n this.selectedItemIndex = index;\r\n this.selectedItem = data;\r\n this.onItemSelected.emit(this.selectedItem);\r\n }\r\n\r\n columnClicked(val: any) {\r\n this.onColumnClicked.emit(val);\r\n }\r\n columnValueChanged(val: any) {\r\n this.onColumnValueChanged.emit(val);\r\n }\r\n sortByHeader(column: any) {\r\n if (this.sortDetail && this.sortDetail.key == column.key) {\r\n if (this.sortDetail.sort == 'desc') {\r\n this.sortDetail = { key: column.key, sort: 'asc' };\r\n } else {\r\n this.sortDetail = { key: column.key, sort: 'desc' };\r\n }\r\n } else {\r\n this.sortDetail = { key: column.key, sort: 'asc' };\r\n }\r\n if (\r\n column.type == COLUMNS_TYPES.TEXT ||\r\n column.type == COLUMNS_TYPES.NUMBER\r\n ) {\r\n this.sortedTableData = orderBy(\r\n this.sortedTableData,\r\n [column.key],\r\n [this.sortDetail.sort]\r\n );\r\n } else if (column.type == COLUMNS_TYPES.SELECTOR) {\r\n this.sortedTableData = orderBy(\r\n this.sortedTableData,\r\n [(c) => c[column.key][column.data.key]],\r\n [this.sortDetail.sort]\r\n );\r\n } else if (column.type == COLUMNS_TYPES.SHAMSI_DATE) {\r\n this.sortedTableData = orderBy(\r\n this.sortedTableData,\r\n [(c) => new Date(c[column.key]).getTime()],\r\n [this.sortDetail.sort]\r\n );\r\n }\r\n }\r\n\r\n activeColumnsSchema(): any[] {\r\n return this.columnsSchema.filter(\r\n (column: any) => column.active === undefined || column.active\r\n );\r\n }\r\n\r\n tableDataFiltered(text: String | boolean, column: any) {\r\n this.columnsSchema.map((columnSchema: any) => {\r\n if (columnSchema.key === column.key) {\r\n columnSchema.columnFilter = text;\r\n }\r\n return columnSchema;\r\n });\r\n this.tableData.subscribe((tableData) => {\r\n this.sortedTableData = tableData.filter((data: any) => {\r\n let result = true;\r\n this.columnsSchema.forEach((columnSchema: any) => {\r\n if (\r\n columnSchema.type === this.columnsTypes.ROW_SELECTOR ||\r\n columnSchema.type === this.columnsTypes.ACTION ||\r\n columnSchema.type === this.columnsTypes.ACTION_BUTTONS ||\r\n columnSchema.columnFilter === undefined ||\r\n !result\r\n ) {\r\n return;\r\n }\r\n if (columnSchema.type === this.columnsTypes.SELECTOR) {\r\n result = data[columnSchema.key][columnSchema.data.key]\r\n .toLowerCase()\r\n .includes(columnSchema.columnFilter.toString().toLowerCase());\r\n } else if (columnSchema.type === this.columnsTypes.SHAMSI_DATE) {\r\n if (columnSchema.columnFilter === '') {\r\n result = true;\r\n } else {\r\n result = data[columnSchema.key]\r\n .toLowerCase()\r\n .includes(\r\n Util.shamsiToMiladi(\r\n columnSchema.columnFilter.toString(),\r\n 'YYYY-MM-DD'\r\n )\r\n );\r\n }\r\n } else if (columnSchema.type === this.columnsTypes.MULTI_COLUMN) {\r\n result = columnSchema.columns.some((item: any) => {\r\n return data[item.key][item.data.key]\r\n .toLowerCase()\r\n .includes(columnSchema.columnFilter?.toString()?.toLowerCase());\r\n });\r\n } else if (columnSchema.type === this.columnsTypes.STATUS) {\r\n if (columnSchema.columnFilter === '') {\r\n result = true;\r\n } else {\r\n result = data[columnSchema.key] === columnSchema.columnFilter;\r\n }\r\n } else {\r\n result = data[columnSchema.key]\r\n .toString()\r\n .toLowerCase()\r\n .includes(columnSchema.columnFilter?.toString()?.toLowerCase());\r\n }\r\n });\r\n return result;\r\n });\r\n });\r\n }\r\n\r\n randomString(length: number): string {\r\n return Math.random()\r\n .toString(36)\r\n .substring(2, 2 + length);\r\n }\r\n}\r\n","<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { IModal, NiraModalConfig } from 'nira-modal';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-core-table-filter-dialog',\r\n templateUrl: './core-table-filter-dialog.component.html',\r\n styleUrls: ['./core-table-filter-dialog.component.scss'],\r\n})\r\nexport class CoreTableFilterDialogComponent implements IModal {\r\n @Input() closeSubject!: Subject<any>;\r\n @Input() config!: NiraModalConfig;\r\n key!: string;\r\n columnsSchema: any[] = [];\r\n dbTableFilter: any;\r\n constructor(private dbService: NgxIndexedDBService) {}\r\n ngOnInit() {\r\n this.columnsSchema = this.config.data.columnsSchema;\r\n this.key = this.config.data.key;\r\n this.getDbTableFilter();\r\n }\r\n onCheckboxClicked(selectedColumn: any, event: any) {\r\n this.columnsSchema.map((column) => {\r\n if (selectedColumn.key === column.key) {\r\n column.active = event.srcElement.checked;\r\n }\r\n return column;\r\n });\r\n setTimeout(() => {\r\n this.saveTableFilter();\r\n }, 50);\r\n }\r\n getDbTableFilter() {\r\n this.dbService\r\n .getByIndex('tableFilter', 'key', this.key)\r\n .subscribe((data) => {\r\n this.dbTableFilter = data;\r\n if (this.dbTableFilter) {\r\n this.setTableFilter();\r\n }\r\n });\r\n }\r\n saveTableFilter() {\r\n const data: any = {\r\n key: this.key,\r\n columnsSchema: JSON.stringify(this.columnsSchema),\r\n };\r\n if (this.dbTableFilter) {\r\n data.id = this.dbTableFilter.id;\r\n this.dbService.update('tableFilter', data).subscribe(() => {});\r\n } else {\r\n this.dbService.add('tableFilter', data).subscribe(() => {\r\n this.getDbTableFilter();\r\n });\r\n }\r\n }\r\n setTableFilter() {\r\n this.columnsSchema.map((column: any) => {\r\n JSON.parse(this.dbTableFilter.columnsSchema).forEach(\r\n (dbColumnsSchema: any) => {\r\n if (dbColumnsSchema.key === column.key) {\r\n column.active = dbColumnsSchema.active;\r\n }\r\n }\r\n );\r\n return column;\r\n });\r\n }\r\n submitBtn() {\r\n this.closeSubject.next('');\r\n }\r\n close() {\r\n this.closeSubject.next('');\r\n }\r\n}\r\n","<core-card class=\"block min-w-64 max-h-[80vh] overflow-auto\">\r\n <div class=\"root flex mb-6 justify-between\">\r\n <b class=\"m-3 self-center\">فیلتر جدول</b>\r\n <close-icon\r\n (click)=\"close()\"\r\n class=\"close-icon h-10 m-3 rounded-full cursor-pointer p-2 hover:shadow-md\"\r\n ></close-icon>\r\n </div>\r\n\r\n <div *ngFor=\"let column of columnsSchema\">\r\n <div>\r\n <core-checkbox\r\n class=\"inline-block w-4 ms-4\"\r\n [checked]=\"column.active === undefined ? true : column.active\"\r\n (onChange)=\"onCheckboxClicked(column, $event)\"\r\n ></core-checkbox>\r\n {{ column.label }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-3 gap-x-2 p-3\" dir=\"ltr\">\r\n <core-btn (btnClicked)=\"submitBtn()\" class=\"col-span-1\"> بستن </core-btn>\r\n </div>\r\n</core-card>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'core-textarea',\r\n templateUrl: './core-textarea.component.html',\r\n styleUrls: ['./core-textarea.component.scss'],\r\n})\r\nexport class CoreTextareaComponent {\r\n @Input() textareaFormControl: FormControl = new FormControl('', []);\r\n @Input() set model(value: string | null) {\r\n if (value) {\r\n this.textareaFormControl.setValue(value);\r\n }\r\n }\r\n @Input() set disable(value: boolean) {\r\n if (value) {\r\n this.textareaFormControl.disable();\r\n } else {\r\n this.textareaFormControl.enable();\r\n }\r\n }\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n\r\n change() {\r\n if (!this.textareaFormControl.errors) {\r\n this.onChange.emit(this.textareaFormControl.value);\r\n }\r\n }\r\n}\r\n","<div class=\"text-area-sec\">\r\n <textarea\r\n rows=\"4\"\r\n (change)=\"change()\"\r\n [formControl]=\"textareaFormControl\"\r\n [ngClass]=\"{ 'have-value': textareaFormControl.value }\"\r\n ></textarea>\r\n <label>{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n (textareaFormControl.touched || textareaFormControl.dirty) &&\r\n textareaFormControl.errors?.['required']\r\n \"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\r\nimport { IModal, NiraModalConfig } from 'nira-modal';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\ntype Location = {\r\n left: string;\r\n top: string;\r\n text: string;\r\n value: string;\r\n};\r\n@Component({\r\n selector: 'lib-time-picker-modal',\r\n templateUrl: './time-picker-modal.component.html',\r\n styleUrls: ['./time-picker-modal.component.scss'],\r\n})\r\nexport class TimePickerModalComponent implements IModal {\r\n @Input() config!: NiraModalConfig;\r\n @Input() closeSubject!: Subject<any>;\r\n hoursSubject: BehaviorSubject<Location[]> = new BehaviorSubject<Location[]>(\r\n []\r\n );\r\n hours2Subject: BehaviorSubject<Location[]> = new BehaviorSubject<Location[]>(\r\n []\r\n );\r\n minutesSubject: BehaviorSubject<Location[]> = new BehaviorSubject<Location[]>(\r\n []\r\n );\r\n showHour: boolean = true;\r\n showMin: boolean = false;\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n const defaultTime = this.config.data;\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n if (defaultTime) {\r\n const items = defaultTime.split(':');\r\n topElement.getElementsByClassName('h')[0].innerHTML = items[0];\r\n topElement.getElementsByClassName('m')[0].innerHTML = items[1];\r\n } else {\r\n var currentTime = new Date();\r\n\r\n if (topElement.getElementsByClassName('h').length > 0)\r\n document.getElementsByClassName('h')[0].innerHTML = String(\r\n currentTime.getHours().toString().length > 1\r\n ? currentTime.getHours().toString()\r\n : '0' + currentTime.getHours().toString()\r\n );\r\n if (topElement.getElementsByClassName('m').length > 0)\r\n document.getElementsByClassName('m')[0].innerHTML = String(\r\n currentTime.getMinutes().toString().length > 1\r\n ? currentTime.getMinutes().toString()\r\n : '0' + currentTime.getMinutes().toString()\r\n );\r\n }\r\n\r\n this.selectHours();\r\n }\r\n close() {\r\n this.closeSubject.next('');\r\n }\r\n submit() {\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n const h = topElement.getElementsByClassName('h');\r\n const m = topElement.getElementsByClassName('m');\r\n let selectedTime;\r\n if (h.length > 0 && m.length > 0) {\r\n selectedTime = h[0].textContent + ':' + m[0].textContent;\r\n }\r\n this.closeSubject.next(selectedTime);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onHourClick() {\r\n this.selectHours();\r\n }\r\n\r\n onMinutesClick() {\r\n this.selectMinutes();\r\n }\r\n\r\n createCircleOfDivs(\r\n num: any,\r\n radius: number,\r\n offsetX: number,\r\n offsetY: number,\r\n add: number,\r\n teilbar: number\r\n ) {\r\n let x, y;\r\n let items: Location[] = [];\r\n for (let n = 0; n < num; n++) {\r\n let item: Location = {} as Location;\r\n x = radius * Math.cos((n / num) * 2 * Math.PI);\r\n y = radius * Math.sin((n / num) * 2 * Math.PI);\r\n if (teilbar == 1) {\r\n if (n + 3 > 12) {\r\n item.text = String(n + 3 - 12 + add);\r\n } else {\r\n if (n + 3 + add == 24) {\r\n item.text = '0';\r\n } else {\r\n item.text = String(n + 3 + add);\r\n }\r\n }\r\n } else {\r\n if (n % teilbar == 0) {\r\n if (n + 15 >= 60) {\r\n item.value = String(n + 15 - 60);\r\n item.text = String(n + 15 - 60 + add);\r\n } else {\r\n item.value = String(n + 15);\r\n item.text = String(n + 15 + add);\r\n }\r\n } else {\r\n if (n + 15 >= 60) {\r\n item.value = String(n + 15 - 60);\r\n item.text = '⋅';\r\n } else {\r\n item.value = String(n + 15);\r\n item.text = '\\u00B7';\r\n }\r\n }\r\n }\r\n\r\n item.left = x + offsetX + 'px';\r\n item.top = y + offsetY + 'px';\r\n\r\n items.push(item);\r\n }\r\n return items;\r\n }\r\n\r\n onHourSelect(item: Location) {\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n if (topElement.getElementsByClassName('h').length > 0)\r\n document.getElementsByClassName('h')[0].innerHTML = String(\r\n item.text.length > 1 ? item.text : '0' + item.text\r\n );\r\n this.selectMinutes();\r\n }\r\n\r\n onMinutesSelect(item: Location) {\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n if (topElement.getElementsByClassName('m').length > 0)\r\n document.getElementsByClassName('m')[0].innerHTML = String(\r\n item.value.length > 1 ? item.value : '0' + item.value\r\n );\r\n }\r\n\r\n selectHours() {\r\n this.showHour = true;\r\n this.showMin = false;\r\n this.hoursSubject.next(this.createCircleOfDivs(12, 101, 105, 105, 0, 1));\r\n this.hours2Subject.next(this.createCircleOfDivs(12, 64, 110, 110, 12, 1));\r\n }\r\n\r\n selectMinutes() {\r\n this.showHour = false;\r\n this.showMin = true;\r\n this.minutesSubject.next(this.createCircleOfDivs(60, 101, 115, 115, 0, 5));\r\n }\r\n}\r\n","<div class=\"timepicker\">\r\n <div class=\"top\">\r\n <span class=\"h\" (click)=\"onHourClick()\" [class.active]=\"showHour\">10</span\r\n >:<span class=\"m\" (click)=\"onMinutesClick()\" [class.active]=\"showMin\"\r\n >15</span\r\n >\r\n </div>\r\n <div class=\"circle\">\r\n <div *ngIf=\"showHour\">\r\n <div\r\n class=\"hour\"\r\n *ngFor=\"let hour of hoursSubject | async\"\r\n [style]=\"{ left: hour.left, top: hour.top }\"\r\n (click)=\"onHourSelect(hour)\"\r\n >\r\n {{ hour.text }}\r\n </div>\r\n <div\r\n class=\"hour2\"\r\n *ngFor=\"let hour of hours2Subject | async\"\r\n [style]=\"{ left: hour.left, top: hour.top }\"\r\n (click)=\"onHourSelect(hour)\"\r\n >\r\n {{ hour.text }}\r\n </div>\r\n <div class=\"mid\"></div>\r\n </div>\r\n <div *ngIf=\"showMin\">\r\n <div\r\n class=\"min\"\r\n *ngFor=\"let hour of minutesSubject | async\"\r\n [style]=\"{ left: hour.left, top: hour.top }\"\r\n (click)=\"onMinutesSelect(hour)\"\r\n >\r\n {{ hour.text }}\r\n </div>\r\n <div class=\"mid\"></div>\r\n </div>\r\n </div>\r\n <div class=\"actions\">\r\n <core-btn\r\n class=\"action ok\"\r\n (btnClicked)=\"submit()\"\r\n [colorState]=\"'success'\"\r\n >\r\n انتخاب\r\n </core-btn>\r\n <core-btn class=\"action close\" (btnClicked)=\"close()\"> بستن </core-btn>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'time-icon',\r\n templateUrl: './time-icon.component.html',\r\n styleUrls: ['./time-icon.component.scss'],\r\n})\r\nexport class TimeIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"100%\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z\"\r\n />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { NiraModalService } from 'nira-modal';\r\nimport { TimePickerModalComponent } from './time-picker-modal/time-picker-modal.component';\r\n\r\n@Component({\r\n selector: 'core-time-picker',\r\n templateUrl: './core-time-picker.component.html',\r\n styleUrls: ['./core-time-picker.component.scss'],\r\n})\r\nexport class CoreTimePickerComponent {\r\n @Output() onSelect: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() onBlurEmit: EventEmitter<string> = new EventEmitter();\r\n @Input() placeholder: string = '';\r\n @Input() canHighlightBackground = false;\r\n @Input() setCurrentTime = false;\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n selectedTime: string = '';\r\n @Input() set defaultValue(data: string) {\r\n this.selectedTime = data;\r\n }\r\n @Input() maxLength = 2000;\r\n constructor(private niraModalService: NiraModalService) {}\r\n\r\n ngOnInit(): void {\r\n this.inputFormControl.addValidators(Validators.minLength(5));\r\n if (this.setCurrentTime) {\r\n var currentTime = new Date();\r\n this.selectedTime =\r\n String(\r\n currentTime.getHours().toString().length > 1\r\n ? currentTime.getHours().toString()\r\n : '0' + currentTime.getHours().toString()\r\n ) +\r\n ':' +\r\n String(\r\n currentTime.getMinutes().toString().length > 1\r\n ? currentTime.getMinutes().toString()\r\n : '0' + currentTime.getMinutes().toString()\r\n );\r\n\r\n this.inputFormControl.setValue(this.selectedTime);\r\n this.onSelect.emit(this.selectedTime);\r\n }\r\n }\r\n\r\n showSelectTimeModal() {\r\n const modal = this.niraModalService.open(TimePickerModalComponent, {\r\n outsideClose: true,\r\n data: this.selectedTime,\r\n });\r\n modal.afterClosed.subscribe((time: any) => {\r\n if (time) {\r\n this.selectedTime = time;\r\n this.inputFormControl.setValue(this.selectedTime);\r\n this.onSelect.emit(time);\r\n }\r\n });\r\n }\r\n\r\n focusOut() {\r\n setTimeout(() => {\r\n this.inputFormControl.markAsTouched();\r\n }, 100);\r\n }\r\n\r\n change(event: any) {\r\n setTimeout(() => {\r\n let value = event.srcElement.value;\r\n value = value.replaceAll(':', '');\r\n if (isNaN(value)) {\r\n this.inputFormControl.setValue('');\r\n } else {\r\n const formatValue = value\r\n .toString()\r\n .replace(/\\B(?=(\\d{2})+(?!\\d))/g, ':');\r\n this.inputFormControl.setValue(formatValue);\r\n }\r\n if (!this.inputFormControl.errors) {\r\n this.onSelect.emit(this.inputFormControl.value);\r\n }\r\n }, 10);\r\n }\r\n onPaste(event: any) {\r\n setTimeout(() => {\r\n const value = event.srcElement.value;\r\n this.inputFormControl.markAsTouched();\r\n this.inputFormControl.setValue(value);\r\n this.onSelect.emit(value);\r\n }, 10);\r\n }\r\n onBlur() {\r\n this.onBlurEmit.emit(this.inputFormControl.value);\r\n }\r\n onKeyPress() {\r\n if (this.inputFormControl.value.toString().length > 4) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","<div>\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n }\"\r\n >\r\n <time-icon\r\n (click)=\"showSelectTimeModal()\"\r\n class=\"absolute left-3 top-3 fill-secondary-text-color h-5 cursor-pointer\"\r\n ></time-icon>\r\n <input\r\n [type]=\"'text'\"\r\n class=\"a-input-style have-value\"\r\n (keyup)=\"change($event)\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (paste)=\"onPaste($event)\"\r\n (keypress)=\"onKeyPress()\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n }\"\r\n />\r\n\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors?.['required']\r\n \"\r\n >این فیلد خالی است</span\r\n ><span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors?.['minlength']\r\n \"\r\n >فرمت ساعت نامعتبر است</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NiraModalService } from 'nira-modal';\r\n\r\nimport { CaretUpIconComponent } from '../../svg-icon/caret-up-icon/caret-up-icon.component';\r\nimport { DetailViewers } from '../../lib/falconTypes';\r\n\r\n@Directive({\r\n selector: '[detailViewerManager]',\r\n})\r\nexport class DetailViewerManagerDirective {\r\n @Input() detailViewerData: any;\r\n @Input() detailViewerName: DetailViewers | undefined;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private niraModalService: NiraModalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private componentFactoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n ngAfterViewInit() {\r\n this.changeStyle();\r\n }\r\n\r\n changeStyle() {\r\n this.el.nativeElement.style.backgroundColor = '#b4dcff';\r\n this.el.nativeElement.style.cursor = 'pointer';\r\n this.el.nativeElement.style.borderRadius = '18px';\r\n this.el.nativeElement.style.padding = '2px 8px ';\r\n this.el.nativeElement.classList.add('detailViewer');\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n CaretUpIconComponent\r\n );\r\n const componentRef =\r\n this.viewContainerRef.createComponent(componentFactory);\r\n const host = this.el.nativeElement;\r\n host.insertBefore(componentRef.location.nativeElement, host.firstChild);\r\n }\r\n\r\n @HostListener('click') onMouseUp() {\r\n let component = undefined;\r\n switch (\r\n this.detailViewerName\r\n // case DetailViewers.BILL: {\r\n // component = BillDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.DRIVER: {\r\n // component = DriverDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.MANIFEST: {\r\n // component = ManifestDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.SERVICE: {\r\n // component = ServiceDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.VEHICLE: {\r\n // component = VehicleDetailViewerComponent;\r\n // break;\r\n // }\r\n ) {\r\n }\r\n this.niraModalService.open(component, {\r\n data: this.detailViewerData,\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\n\r\n@Pipe({\r\n name: 'formControl',\r\n})\r\nexport class FormControlPipe implements PipeTransform {\r\n transform(value: AbstractControl): FormControl<(typeof value)['value']> {\r\n return value as FormControl<(typeof value)['value']>;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'digitGroup',\r\n})\r\nexport class DigitGroupPipe implements PipeTransform {\r\n transform(el: string | number): string {\r\n return el.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n// type Currency = 'RII' | 'T';\r\n@Pipe({\r\n name: 'priceFormat',\r\n})\r\nexport class PriceFormatPipe implements PipeTransform {\r\n transform(\r\n value: string | number | undefined,\r\n currency: string,\r\n ...args: unknown[]\r\n ): string {\r\n if (currency == 'IRR') {\r\n value = value + ' ریال ';\r\n } else {\r\n value = value + ' تومان ';\r\n }\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'timeFormat',\r\n})\r\nexport class TimeFormatPipe implements PipeTransform {\r\n transform(value: number, ...args: unknown[]): string {\r\n let hour = value / 60;\r\n let result = '';\r\n hour = value % 60 > 0 ? hour + 1 : hour;\r\n if (hour >= 24) {\r\n result = Number.parseInt(String(hour / 24)) + ' روز ';\r\n if (Number.parseInt(String(hour % 24)) != 0) {\r\n result = result + ', ' + Number.parseInt(String(hour % 24)) + ' ساعت ';\r\n }\r\n } else {\r\n result = hour + ' ساعت ';\r\n }\r\n return result;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'weight',\r\n})\r\nexport class WeightPipe implements PipeTransform {\r\n transform(value: number, ...args: unknown[]): string {\r\n return value + ' کیلوگرم ';\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-core-multi-select-row',\r\n templateUrl: './core-multi-select-row.component.html',\r\n styleUrls: ['./core-multi-select-row.component.scss'],\r\n})\r\nexport class CoreMultiSelectRowComponent {\r\n @Input() set isSelected(value: boolean) {\r\n this._isSelected = value;\r\n }\r\n @Input() item!: any;\r\n @Output() onSelect: EventEmitter<boolean> = new EventEmitter();\r\n _isSelected = false;\r\n\r\n onItemSelect() {\r\n this.onSelect.emit(true);\r\n }\r\n}\r\n","<li [ngClass]=\"{ active: _isSelected }\" (click)=\"onItemSelect()\">\r\n {{ item.title }}\r\n</li>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\ninterface ISelectedItemsDictionary {\r\n [index: string]: any;\r\n}\r\n@Component({\r\n selector: 'core-multi-select',\r\n templateUrl: './core-multi-select.component.html',\r\n styleUrls: ['./core-multi-select.component.scss'],\r\n})\r\nexport class CoreMultiSelectComponent {\r\n selectedItems: ISelectedItemsDictionary[] = [];\r\n newItems: any[] = [];\r\n isOpenMenu = false;\r\n _items: any = [];\r\n _defaultValue = [];\r\n _titleKey!: any;\r\n _valueKey!: any;\r\n initCounter = 0;\r\n hasTitleKey = false;\r\n hasValueKey = false;\r\n hasItems = false;\r\n hasDefaultValue = false;\r\n text = '';\r\n @Input() set titleKey(data: any) {\r\n this._titleKey = data;\r\n this.hasTitleKey = true;\r\n this.init();\r\n }\r\n @Input() set valueKey(data: any) {\r\n this._valueKey = data;\r\n this.hasValueKey = true;\r\n this.init();\r\n }\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.hasItems = true;\r\n this.init();\r\n }\r\n @Input({ required: true }) set defaultValue(data: any) {\r\n this._defaultValue = data;\r\n this.hasDefaultValue = true;\r\n this.init();\r\n this.initializeDefaultValue();\r\n this.showText();\r\n }\r\n @Input() label: string = '';\r\n @Input() singleSelectItems: string[] = [];\r\n @Output() onItemSelected = new EventEmitter<any[]>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n\r\n get isSelectedItems() {\r\n return Object.keys(this.selectedItems).length > 0 ? true : false;\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n init() {\r\n if (\r\n this.hasTitleKey &&\r\n this.hasValueKey &&\r\n this.hasItems &&\r\n this.hasDefaultValue\r\n ) {\r\n this.newItems = this.changeItemsType(this._items);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeDefaultValue();\r\n }\r\n\r\n initializeDefaultValue() {\r\n if (this._defaultValue.length == 0) return;\r\n this._defaultValue.forEach((item1: any, index: number) => {\r\n const value = this.newItems.find((item: any) => item.value === item1);\r\n if (value) {\r\n this.selectedItems[value.value] = value;\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.showText();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onItemSelect(selectedItem: any, isFromUi: boolean): void {\r\n if (this.selectedItems[selectedItem.value]) {\r\n delete this.selectedItems[selectedItem.value];\r\n } else {\r\n let flag = false;\r\n Object.keys(this.selectedItems).forEach((item) => {\r\n if (this.singleSelectItems.find((data) => data == item)) {\r\n flag = true;\r\n return;\r\n }\r\n });\r\n if (\r\n Object.keys(this.selectedItems).length > 0 &&\r\n this.singleSelectItems.find((data) => data == selectedItem.value)\r\n ) {\r\n } else if (!flag) this.selectedItems[selectedItem.value] = selectedItem;\r\n }\r\n this.showText();\r\n this.onItemSelected.emit(this.selectedItems);\r\n }\r\n\r\n showText() {\r\n let text = '';\r\n const items = Object.values(this.selectedItems);\r\n items.forEach((item1: any, index: number) => {\r\n if (index < items.length - 1) {\r\n text = item1.title + ' , ' + text;\r\n } else {\r\n text = text + item1.title;\r\n }\r\n });\r\n this.text = text;\r\n this.inputFormControl.setValue(this.text);\r\n }\r\n\r\n changeItemsType(items: any[]): any[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this._titleKey],\r\n value: item[this._valueKey],\r\n };\r\n });\r\n }\r\n\r\n openMenuClick() {\r\n this.isOpenMenu = !this.isOpenMenu;\r\n }\r\n\r\n focusOut() {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n }\r\n}\r\n","<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n selectError: inputFormControl.touched && inputFormControl.errors\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span class=\"placeholder-top\" *ngIf=\"isSelectedItems\">{{ label }}</span>\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n class=\"text-content text-right\"\r\n [ngClass]=\"[\r\n label.length > 0 && !isSelectedItems ? 'placeholder' : 'selected'\r\n ]\"\r\n >{{ label.length > 0 && !isSelectedItems ? label : text }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <app-core-multi-select-row\r\n *ngFor=\"let item of newItems\"\r\n [item]=\"item\"\r\n [isSelected]=\"selectedItems[item.value] ? true : false\"\r\n (onSelect)=\"onItemSelect(item, true)\"\r\n >\r\n </app-core-multi-select-row>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { MenuItem } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-select-search',\r\n templateUrl: './core-select-search.component.html',\r\n styleUrls: ['./core-select-search.component.scss'],\r\n})\r\nexport class CoreSelectSearchComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n newItems: MenuItem<T>[] = [];\r\n isOpenMenu = false;\r\n _items: any = [];\r\n keys: string[] = [];\r\n searchText = '';\r\n _defaultValue!: T;\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() size: string = 'small';\r\n @Input() searchKeys: string = '';\r\n @Input() canAddValueKeyAndTitleKeyInSearchKeys: boolean = true;\r\n @Input() canHighlightBackground = false;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.init();\r\n }\r\n @Input() set defaultValue(data: T) {\r\n this._defaultValue = data;\r\n this.init();\r\n }\r\n @Input() label: string = '';\r\n @Input() disabled: boolean = false;\r\n @Output() onItemSelected = new EventEmitter<any>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n filteredItems: BehaviorSubject<any[]> = new BehaviorSubject<any[]>([]);\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n init() {\r\n type ObjectKey = (typeof this._items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this._items);\r\n this.inputFormControl.setValue(this._defaultValue);\r\n this.onItemSelect(\r\n this.newItems.find((item) => item.value == this._defaultValue),\r\n false\r\n );\r\n this.changeSearchText();\r\n }\r\n ngOnInit(): void {\r\n this.keys = this.searchKeys.length > 0 ? this.searchKeys.split(',') : [];\r\n this.init();\r\n this.changeSearchText();\r\n }\r\n\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n let result: any = {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n this.keys.forEach((key) => {\r\n result[key] = item[key];\r\n });\r\n return result;\r\n });\r\n }\r\n async changeSearchText() {\r\n if (this.searchText.length > 0) {\r\n this.filteredItems.next(\r\n this.newItems.filter((item: any) => {\r\n let isMach = false;\r\n if (\r\n this.canAddValueKeyAndTitleKeyInSearchKeys ||\r\n (this.keys.length == 0 &&\r\n (item.title.includes(this.searchText) ||\r\n item.value\r\n .toLowerCase()\r\n .includes(this.searchText.toLowerCase())))\r\n ) {\r\n isMach = true;\r\n }\r\n if (this.keys.length > 0) {\r\n this.keys.forEach((key) => {\r\n if (\r\n item[key]\r\n .toString()\r\n .toLowerCase()\r\n .includes(this.searchText.toLowerCase())\r\n ) {\r\n isMach = true;\r\n }\r\n });\r\n }\r\n\r\n return isMach;\r\n })\r\n );\r\n } else {\r\n this.filteredItems.next(this.newItems);\r\n }\r\n }\r\n openMenuClick() {\r\n if (this.disabled) return;\r\n this.isOpenMenu = !this.isOpenMenu;\r\n }\r\n\r\n onItemSelect(selectedItem: MenuItem<T> | undefined, isFromUi: boolean): void {\r\n if (isFromUi) this.inputFormControl.markAsTouched();\r\n this.isOpenMenu = false;\r\n if (!selectedItem) {\r\n this.selectedItem = {} as MenuItem<T>;\r\n return;\r\n }\r\n this.selectedItem = selectedItem;\r\n const mainItem = this._items.find(\r\n (item: any) => item[this.valueKeyObject] === selectedItem.value\r\n );\r\n this.inputFormControl.setValue(selectedItem.value);\r\n this.clearText();\r\n this.onItemSelected.emit(mainItem);\r\n }\r\n focusOut(event: FocusEvent) {\r\n const target = event.relatedTarget as HTMLElement;\r\n if (!this.elementRef.nativeElement.contains(target)) {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n this.clearText();\r\n }\r\n }\r\n clearText() {\r\n this.searchText = '';\r\n this.changeSearchText();\r\n }\r\n}\r\n","<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">موردی یافت نشد</b>\r\n </div>\r\n <ul\r\n class=\"menu\"\r\n *ngIf=\"newItems.length > 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <div\r\n *ngIf=\"newItems.length > 4\"\r\n class=\"grid grid-cols-12 h-11 items-center pe-5 ps-5 bg-white shadow-md\"\r\n >\r\n <input\r\n placeholder=\"جستجو \"\r\n class=\"col-span-11 bg-transparent focus:outline-none min-h-9\"\r\n [(ngModel)]=\"searchText\"\r\n (keyup)=\"changeSearchText()\"\r\n />\r\n <span class=\"md:h-7 flex justify-center\">\r\n <search-icon\r\n class=\"transform scale-x-[-1] fill-icon-color hover:fill-primary-color hover:cursor-pointer\"\r\n >\r\n </search-icon\r\n ></span>\r\n </div>\r\n <li\r\n *ngFor=\"let item of filteredItems | async\"\r\n [ngClass]=\"{ active: item.value === selectedItem.value }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CoreBtnComponent } from './core-btn/core-btn.component';\r\nimport { CoreSpinnerComponent } from './core-spinner/core-spinner.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreAutoCompleteComponent } from './core-auto-complete/core-auto-complete.component';\r\nimport { CoreCardComponent } from './core-card/core-card.component';\r\nimport { CoreCheckboxComponent } from './core-checkbox/core-checkbox.component';\r\nimport { CoreConfirmDialogComponent } from './core-confirm-dialog/core-confirm-dialog.component';\r\nimport { CoreDatePickerComponent } from './core-date-picker/core-date-picker.component';\r\nimport { CoreInputComponent } from './core-input/core-input.component';\r\nimport { CorePageTitleComponent } from './core-page-title/core-page-title.component';\r\nimport { CoreRadioButtonsComponent } from './core-radio-buttons/core-radio-buttons.component';\r\nimport { CoreSearchBoxComponent } from './core-search-box/core-search-box.component';\r\nimport { CoreSelectComponent } from './core-select/core-select.component';\r\nimport { CoreSwitchComponent } from './core-switch/core-switch.component';\r\nimport { CoreTableComponent } from './core-table/core-table/core-table.component';\r\nimport { CoreColumnDatePickerComponent } from './core-table/core-column-date-picker/core-column-date-picker.component';\r\nimport { CoreColumnInputComponent } from './core-table/core-column-input/core-column-input.component';\r\nimport { CoreColumnSelectorComponent } from './core-table/core-column-selector/core-column-selector.component';\r\nimport { CoreTableActionButtonsColumnComponent } from './core-table/core-table-action-buttons-column/core-table-action-buttons-column.component';\r\nimport { CoreTableActionColumnComponent } from './core-table/core-table-action-column/core-table-action-column.component';\r\nimport { CoreTableCardManagerComponent } from './core-table/core-table-card-manager/core-table-card-manager.component';\r\nimport { CoreTableColumnManagerComponent } from './core-table/core-table-column-manager/core-table-column-manager.component';\r\nimport { CoreTableFilterDialogComponent } from './core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component';\r\nimport { CoreTableNoContentComponent } from './core-table/core-table-no-content/core-table-no-content.component';\r\nimport { CoreTableRowSelectorColumnComponent } from './core-table/core-table-row-selector-column/core-table-row-selector-column.component';\r\nimport { CoreTableShamsiDateComponent } from './core-table/core-table-shamsi-date/core-table-shamsi-date.component';\r\nimport { CoreTableStatusColumnComponent } from './core-table/core-table-status-column/core-table-status-column.component';\r\nimport { CoreTextareaComponent } from './core-textarea/core-textarea.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SearchIconComponent } from '../svg-icon/search-icon/search-icon.component';\r\nimport { CloseIconComponent } from '../svg-icon/close-icon/close-icon.component';\r\nimport { NiraSnackBarModule } from 'nira-snack-bar';\r\nimport { NiraDatePickerModule } from 'nira-date-picker';\r\nimport { CoreTimePickerComponent } from './core-time-picker/core-time-picker.component';\r\nimport { TimePickerModalComponent } from './core-time-picker/time-picker-modal/time-picker-modal.component';\r\nimport { WarningIconComponent } from '../svg-icon/warning-icon/warning-icon.component';\r\nimport { EditSquareIconComponent } from '../svg-icon/edit-square-icon/edit-square-icon.component';\r\nimport { SortDownIconComponent } from '../svg-icon/sort-down-icon/sort-down-icon.component';\r\nimport { SortSolidIconComponent } from '../svg-icon/sort-solid-icon/sort-solid-icon.component';\r\nimport { SortUpIconComponent } from '../svg-icon/sort-up-icon/sort-up-icon.component';\r\nimport { TimeIconComponent } from '../svg-icon/time-icon/time-icon.component';\r\nimport { CoreNumberComponent } from './core-number/core-number.component';\r\nimport { CaretUpIconComponent } from '../svg-icon/caret-up-icon/caret-up-icon.component';\r\nimport { TableDetailViewerManagerDirective } from '../utils/directives/table-detail-viewer-manager.directive';\r\nimport { CoreTableStatusActiveColumnComponent } from './core-table/core-table-status-active-column/core-table-status-active-column.component';\r\nimport { CoreRowPelakComponent } from './core-table/core-row-pelak/core-row-pelak.component';\r\nimport { CoreTableDetailViewerForReportComponent } from './core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component';\r\nimport { DetailViewerManagerDirective } from '../utils/directives/detail-viewer-manager.directive';\r\nimport { PelakIconComponent } from '../svg-icon/pelak-icon/pelak-icon.component';\r\nimport { PersianDigitsPipe } from './pipes/persian-digits.pipe';\r\nimport { FormControlPipe } from './pipes/form-control.pipe';\r\nimport { DigitGroupPipe } from './pipes/digit-group.pipe';\r\nimport { PriceFormatPipe } from './pipes/price-format.pipe';\r\nimport { TimeFormatPipe } from './pipes/time-format.pipe';\r\nimport { WeightPipe } from './pipes/weight.pipe';\r\nimport { ShamsiDatePipe } from './pipes/shamsi-date.pipe';\r\nimport { CalendarIconComponent } from '../svg-icon/calendar-icon/calendar-icon.component';\r\nimport { ArrowDownIconComponent } from '../svg-icon/arrow-down-icon/arrow-down-icon.component';\r\nimport { CoreMultiSelectComponent } from './core-multi-select/core-multi-select.component';\r\nimport { CoreMultiSelectRowComponent } from './core-multi-select/core-multi-select-row/core-multi-select-row.component';\r\nimport { CoreTableColorColumnComponent } from './core-table/core-table-color-column/core-table-color-column.component';\r\nimport { CoreTableTextColumnComponent } from './core-table/core-table-text-column/core-table-text-column.component';\r\nimport { CoreTableNumberColumnComponent } from './core-table/core-table-number-column/core-table-number-column.component';\r\nimport { CheckIconComponent } from '../svg-icon/check-icon/check-icon.component';\r\nimport { CoreTableSelectorColumnComponent } from './core-table/core-table-selector-column/core-table-selector-column.component';\r\nimport { CoreSelectSearchComponent } from './core-select-search/core-select-search.component';\r\nimport { CoreTableDateComponent } from './core-table/core-table-date/core-table-date.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CoreAutoCompleteComponent,\r\n CoreBtnComponent,\r\n CoreSearchBoxComponent,\r\n CoreTableColorColumnComponent,\r\n CoreCheckboxComponent,\r\n CoreDatePickerComponent,\r\n CoreConfirmDialogComponent,\r\n CoreInputComponent,\r\n CorePageTitleComponent,\r\n CoreRadioButtonsComponent,\r\n CoreSearchBoxComponent,\r\n CoreCardComponent,\r\n CoreSelectSearchComponent,\r\n CoreSelectComponent,\r\n CoreSpinnerComponent,\r\n CoreSwitchComponent,\r\n CoreColumnDatePickerComponent,\r\n CoreColumnInputComponent,\r\n CoreColumnSelectorComponent,\r\n CoreTableComponent,\r\n CoreTableActionButtonsColumnComponent,\r\n CoreTableActionColumnComponent,\r\n CoreTableCardManagerComponent,\r\n CoreTableColumnManagerComponent,\r\n CoreTableFilterDialogComponent,\r\n CoreTableTextColumnComponent,\r\n CoreTableNumberColumnComponent,\r\n CoreTableSelectorColumnComponent,\r\n CoreTableNoContentComponent,\r\n CoreTableRowSelectorColumnComponent,\r\n CoreTableShamsiDateComponent,\r\n CoreTableDateComponent,\r\n CoreTableStatusColumnComponent,\r\n TimePickerModalComponent,\r\n CoreTextareaComponent,\r\n CoreTimePickerComponent,\r\n CoreNumberComponent,\r\n PersianDigitsPipe,\r\n FormControlPipe,\r\n DigitGroupPipe,\r\n PriceFormatPipe,\r\n TimeFormatPipe,\r\n ShamsiDatePipe,\r\n WeightPipe,\r\n SearchIconComponent,\r\n CheckIconComponent,\r\n CloseIconComponent,\r\n WarningIconComponent,\r\n EditSquareIconComponent,\r\n SortDownIconComponent,\r\n CaretUpIconComponent,\r\n TimeIconComponent,\r\n SortSolidIconComponent,\r\n SortUpIconComponent,\r\n PelakIconComponent,\r\n CoreMultiSelectComponent,\r\n CoreMultiSelectRowComponent,\r\n TableDetailViewerManagerDirective,\r\n DetailViewerManagerDirective,\r\n CoreTableStatusActiveColumnComponent,\r\n CoreRowPelakComponent,\r\n CoreTableDetailViewerForReportComponent,\r\n CalendarIconComponent,\r\n ArrowDownIconComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n NiraSnackBarModule,\r\n NiraDatePickerModule,\r\n ],\r\n exports: [\r\n CoreAutoCompleteComponent,\r\n CoreCardComponent,\r\n CoreCheckboxComponent,\r\n CoreDatePickerComponent,\r\n CorePageTitleComponent,\r\n CoreSelectSearchComponent,\r\n CoreSelectComponent,\r\n CoreRadioButtonsComponent,\r\n CoreInputComponent,\r\n CoreSpinnerComponent,\r\n CoreSwitchComponent,\r\n CoreMultiSelectComponent,\r\n CoreTableComponent,\r\n CoreBtnComponent,\r\n CoreTimePickerComponent,\r\n CoreNumberComponent,\r\n CoreConfirmDialogComponent,\r\n PersianDigitsPipe,\r\n CoreSearchBoxComponent,\r\n FormControlPipe,\r\n DigitGroupPipe,\r\n PriceFormatPipe,\r\n ShamsiDatePipe,\r\n TimeFormatPipe,\r\n WeightPipe,\r\n ],\r\n})\r\nexport class FalconLibModule {}\r\n","/*\r\n * Public API Surface of falcon-lib\r\n */\r\n\r\nexport * from './lib/falcon-lib.module';\r\nexport * from './lib/falconTypes';\r\nexport * from './lib/core-btn/core-btn.component';\r\nexport * from './lib/core-spinner/core-spinner.component';\r\nexport * from './lib/core-btn/core-btn.component';\r\nexport * from './lib/core-input/core-input.component';\r\nexport * from './lib/core-select/core-select.component';\r\nexport * from './lib/core-select-search/core-select-search.component';\r\nexport * from './lib/core-checkbox/core-checkbox.component';\r\nexport * from './lib/core-radio-buttons/core-radio-buttons.component';\r\nexport * from './lib/core-confirm-dialog/core-confirm-dialog.component';\r\nexport * from './lib/core-date-picker/core-date-picker.component';\r\nexport * from './lib/core-time-picker/core-time-picker.component';\r\nexport * from './lib/core-switch/core-switch.component';\r\nexport * from './lib/core-page-title/core-page-title.component';\r\nexport * from './lib/core-card/core-card.component';\r\nexport * from './lib/core-table/core-table/core-table.component';\r\nexport * from './lib/core-auto-complete/core-auto-complete.component';\r\nexport * from './lib/core-multi-select/core-multi-select.component';\r\nexport * from './lib/core-search-box/core-search-box.component';\r\nexport * from './lib/core-number/core-number.component';\r\nexport * from './lib/pipes/digit-group.pipe';\r\nexport * from './lib/pipes/form-control.pipe';\r\nexport * from './lib/pipes/persian-digits.pipe';\r\nexport * from './lib/pipes/price-format.pipe';\r\nexport * from './lib/pipes/shamsi-date.pipe';\r\nexport * from './lib/pipes/time-format.pipe';\r\nexport * from './lib/pipes/weight.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CoreCardComponent","i2.CloseIconComponent","i1","i2","i3.CoreSpinnerComponent","i1.PersianDigitsPipe","i3.CoreNumberComponent","i2.CoreInputComponent","i2.SearchIconComponent","i2.WarningIconComponent","i3.ArrowDownIconComponent","DetailViewers","i3.SearchIconComponent","i4.CalendarIconComponent","i3.CoreColumnInputComponent","i4.CloseIconComponent","i3","i4.CheckIconComponent","i5.CloseIconComponent","i2.EditSquareIconComponent","i1.CoreCheckboxComponent","moment","i2.ShamsiDatePipe","i2.CoreRadioButtonsComponent","i3.CheckIconComponent","i2.PelakIconComponent","i3.PersianDigitsPipe","i3.CoreTableColorColumnComponent","i4.CoreTableActionButtonsColumnComponent","i5.CoreTableActionColumnComponent","i6.CoreTableRowSelectorColumnComponent","i7.CoreTableShamsiDateComponent","i8.CoreTableDateComponent","i9.CoreTableStatusColumnComponent","i10.CoreNumberComponent","i11.TableDetailViewerManagerDirective","i12.CoreTableStatusActiveColumnComponent","i13.CoreRowPelakComponent","i14.PersianDigitsPipe","i6.PersianDigitsPipe","i4.CoreNumberComponent","i5.CheckIconComponent","i6.CloseIconComponent","i3.CoreSelectComponent","i2.CaretUpIconComponent","i6.CoreTableTextColumnComponent","i7.CoreTableNumberColumnComponent","i8.CoreTableSelectorColumnComponent","i9.CoreTableRowSelectorColumnComponent","i10.CoreTableShamsiDateComponent","i11.CoreTableDateComponent","i12.CoreTableStatusColumnComponent","i13.TableDetailViewerManagerDirective","i14.CoreTableStatusActiveColumnComponent","i15.CoreRowPelakComponent","i16.CoreTableDetailViewerForReportComponent","i3.CoreCardComponent","i4.CoreColumnDatePickerComponent","i5.CoreColumnInputComponent","i6.CoreColumnSelectorComponent","i7.CoreTableCardManagerComponent","i8.CoreTableColumnManagerComponent","i9.CoreTableNoContentComponent","i10.SortDownIconComponent","i11.SortSolidIconComponent","i12.SortUpIconComponent","i3.CoreBtnComponent","i4.CoreCheckboxComponent","i5.CoreCardComponent","i2.CoreBtnComponent","i4.TimeIconComponent","i2.CoreMultiSelectRowComponent","i4.WarningIconComponent","i5.ArrowDownIconComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nira-falcon.mjs","sources":["../../../projects/falcon-lib/src/lib/core-card/core-card.component.ts","../../../projects/falcon-lib/src/lib/core-card/core-card.component.html","../../../projects/falcon-lib/src/svg-icon/close-icon/close-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/close-icon/close-icon.component.html","../../../projects/falcon-lib/src/lib/core-confirm-dialog/core-confirm-dialog.component.ts","../../../projects/falcon-lib/src/lib/core-confirm-dialog/core-confirm-dialog.component.html","../../../projects/falcon-lib/src/environments/environment.ts","../../../projects/falcon-lib/src/lib/core-spinner/core-spinner.component.ts","../../../projects/falcon-lib/src/lib/core-spinner/core-spinner.component.html","../../../projects/falcon-lib/src/lib/core-btn/core-btn.component.ts","../../../projects/falcon-lib/src/lib/core-btn/core-btn-falcon.component.html","../../../projects/falcon-lib/src/lib/core-auto-complete/core-auto-complete.component.ts","../../../projects/falcon-lib/src/lib/core-auto-complete/core-auto-complete.component.html","../../../projects/falcon-lib/src/lib/core-checkbox/core-checkbox.component.ts","../../../projects/falcon-lib/src/lib/core-checkbox/core-checkbox.component.html","../../../projects/falcon-lib/src/lib/wordify.ts","../../../projects/falcon-lib/src/lib/pipes/persian-digits.pipe.ts","../../../projects/falcon-lib/src/lib/core-number/core-number.component.ts","../../../projects/falcon-lib/src/lib/core-number/core-number.component.html","../../../projects/falcon-lib/src/lib/core-input/core-input.component.ts","../../../projects/falcon-lib/src/lib/core-input/core-input-falcon.component.html","../../../projects/falcon-lib/src/lib/core-date-picker/core-date-picker.component.ts","../../../projects/falcon-lib/src/lib/core-date-picker/core-date-picker-falcon.component.html","../../../projects/falcon-lib/src/lib/core-page-title/core-page-title.component.ts","../../../projects/falcon-lib/src/lib/core-page-title/core-page-title.component.html","../../../projects/falcon-lib/src/lib/core-radio-buttons/core-radio-buttons.component.ts","../../../projects/falcon-lib/src/lib/core-radio-buttons/core-radio-buttons.component.html","../../../projects/falcon-lib/src/svg-icon/search-icon/search-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/search-icon/search-icon.component.html","../../../projects/falcon-lib/src/lib/core-search-box/core-search-box.component.ts","../../../projects/falcon-lib/src/lib/core-search-box/core-search-box.component.html","../../../projects/falcon-lib/src/svg-icon/warning-icon/warning-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/warning-icon/warning-icon.component.html","../../../projects/falcon-lib/src/svg-icon/arrow-down-icon/arrow-down-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/arrow-down-icon/arrow-down-icon.component.html","../../../projects/falcon-lib/src/lib/core-select/core-select.component.ts","../../../projects/falcon-lib/src/lib/core-select/core-select-falcon.component.html","../../../projects/falcon-lib/src/lib/core-switch/core-switch.component.ts","../../../projects/falcon-lib/src/lib/core-switch/core-switch.component.html","../../../projects/falcon-lib/src/utils/constants.ts","../../../projects/falcon-lib/src/utils/util.ts","../../../projects/falcon-lib/src/lib/falconTypes.ts","../../../projects/falcon-lib/src/svg-icon/calendar-icon/calendar-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/calendar-icon/calendar-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-column-input/core-column-input.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-column-input/core-column-input.component.html","../../../projects/falcon-lib/src/lib/core-table/core-column-date-picker/core-column-date-picker.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-column-date-picker/core-column-date-picker.component.html","../../../projects/falcon-lib/src/lib/core-table/core-column-selector/core-column-selector.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-column-selector/core-column-selector.component.html","../../../projects/falcon-lib/src/svg-icon/check-icon/check-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/check-icon/check-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-color-column/core-table-color-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-color-column/core-table-color-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.html","../../../projects/falcon-lib/src/svg-icon/edit-square-icon/edit-square-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/edit-square-icon/edit-square-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-action-column/core-table-action-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-action-column/core-table-action-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.html","../../../projects/falcon-lib/src/lib/pipes/shamsi-date.pipe.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-date/core-table-date.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-date/core-table-date.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-status-column/core-table-status-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-status-column/core-table-status-column.component.html","../../../projects/falcon-lib/src/svg-icon/caret-up-icon/caret-up-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/caret-up-icon/caret-up-icon.component.html","../../../projects/falcon-lib/src/utils/directives/table-detail-viewer-manager.directive.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.html","../../../projects/falcon-lib/src/svg-icon/pelak-icon/pelak-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/pelak-icon/pelak-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-row-pelak/core-row-pelak.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-row-pelak/core-row-pelak.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-card-manager/core-table-card-manager.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-card-manager/core-table-card-manager.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-text-column/core-table-text-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-text-column/core-table-text-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-number-column/core-table-number-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-number-column/core-table-number-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-selector-column/core-table-selector-column.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-selector-column/core-table-selector-column.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-column-manager/core-table-column-manager.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-column-manager/core-table-column-manager.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-no-content/core-table-no-content.label.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-no-content/core-table-no-content.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-no-content/core-table-no-content.component.html","../../../projects/falcon-lib/src/svg-icon/sort-down-icon/sort-down-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/sort-down-icon/sort-down-icon.component.html","../../../projects/falcon-lib/src/svg-icon/sort-solid-icon/sort-solid-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/sort-solid-icon/sort-solid-icon.component.html","../../../projects/falcon-lib/src/svg-icon/sort-up-icon/sort-up-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/sort-up-icon/sort-up-icon.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table/core-table.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table/core-table.component.html","../../../projects/falcon-lib/src/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.ts","../../../projects/falcon-lib/src/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.html","../../../projects/falcon-lib/src/lib/core-textarea/core-textarea.component.ts","../../../projects/falcon-lib/src/lib/core-textarea/core-textarea.component.html","../../../projects/falcon-lib/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.ts","../../../projects/falcon-lib/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.html","../../../projects/falcon-lib/src/svg-icon/time-icon/time-icon.component.ts","../../../projects/falcon-lib/src/svg-icon/time-icon/time-icon.component.html","../../../projects/falcon-lib/src/lib/core-time-picker/core-time-picker.component.ts","../../../projects/falcon-lib/src/lib/core-time-picker/core-time-picker.component.html","../../../projects/falcon-lib/src/utils/directives/detail-viewer-manager.directive.ts","../../../projects/falcon-lib/src/lib/pipes/form-control.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/digit-group.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/price-format.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/time-format.pipe.ts","../../../projects/falcon-lib/src/lib/pipes/weight.pipe.ts","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select-row/core-multi-select-row.component.ts","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select-row/core-multi-select-row.component.html","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select.component.ts","../../../projects/falcon-lib/src/lib/core-multi-select/core-multi-select.component.html","../../../projects/falcon-lib/src/lib/core-select-search/core-select-search.component.ts","../../../projects/falcon-lib/src/lib/core-select-search/core-select-search.component.html","../../../projects/falcon-lib/src/lib/falcon-lib.module.ts","../../../projects/falcon-lib/src/public-api.ts","../../../projects/falcon-lib/src/nira-falcon.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'core-card',\r\n templateUrl: './core-card.component.html',\r\n styleUrls: ['./core-card.component.scss'],\r\n})\r\nexport class CoreCardComponent {\r\n @Input() cardClass = 'bg-white';\r\n}\r\n","<div class=\"h-min rounded-lg shadow-md\" [class]=\"cardClass\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'close-icon',\r\n templateUrl: './close-icon.component.html',\r\n styleUrls: ['./close-icon.component.scss'],\r\n})\r\nexport class CloseIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"100%\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\"\r\n />\r\n</svg>\r\n","import { Component, Input } from '@angular/core';\r\nimport { IModal, NiraModalConfig } from 'nira-modal';\r\nimport { Subject } from 'rxjs';\r\nimport { ConfirmDialog } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-confirm-dialog',\r\n templateUrl: './core-confirm-dialog.component.html',\r\n styleUrls: ['./core-confirm-dialog.component.scss'],\r\n})\r\nexport class CoreConfirmDialogComponent implements IModal {\r\n @Input() closeSubject!: Subject<any>;\r\n @Input() config!: NiraModalConfig;\r\n confirmDialog!: ConfirmDialog;\r\n async ngOnInit() {\r\n this.confirmDialog = {\r\n cancelBtn: this.config.data.cancelBtn,\r\n confirmBtn: this.config.data.confirmBtn,\r\n text: this.config.data.text,\r\n title: this.config.data.title,\r\n };\r\n }\r\n close() {\r\n this.closeSubject.next('false');\r\n }\r\n confirm() {\r\n this.closeSubject.next('true');\r\n }\r\n}\r\n","<core-card class=\"block min-w-96 m-5\">\r\n <div class=\"header flex mb-6 justify-between\">\r\n <b class=\"m-3 self-center\">{{ confirmDialog.title }}</b>\r\n <close-icon\r\n (click)=\"close()\"\r\n class=\"header-icon h-10 m-3 rounded-full cursor-pointer p-2 hover:shadow-md\"\r\n ></close-icon>\r\n </div>\r\n\r\n <p class=\"max-w-lg px-6 text-right\">{{ confirmDialog.text }}</p>\r\n <div class=\"container-buttons\" dir=\"ltr\">\r\n <button\r\n class=\"w-auto min-w-24 button square default small\"\r\n (click)=\"close()\"\r\n type=\"button\"\r\n >\r\n {{ confirmDialog.cancelBtn }}\r\n </button>\r\n\r\n <button\r\n class=\"w-auto min-w-24 mx-3 button square danger small\"\r\n (click)=\"confirm()\"\r\n type=\"button\"\r\n >\r\n {{ confirmDialog.confirmBtn }}\r\n </button>\r\n </div>\r\n</core-card>\r\n","export const environment = {\r\n // tempName: '-bluebird.component.html',\r\n // styleName: '-bluebird.component.scss',\r\n\r\n tempName: '-falcon.component.html',\r\n styleName: '-falcon.component.scss',\r\n};\r\n","import { Component, Input } from '@angular/core';\r\nimport { ColorState } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-spinner',\r\n templateUrl: './core-spinner.component.html',\r\n styleUrls: ['./core-spinner.component.scss'],\r\n})\r\nexport class CoreSpinnerComponent {\r\n @Input() size: number = 24;\r\n @Input() colorState: ColorState = 'default';\r\n @Input() type: 'circle' | 'line' = 'circle';\r\n}\r\n","<div *ngIf=\"type === 'circle'\" class=\"spinner\" [ngClass]=\"[colorState]\">\r\n <svg\r\n viewBox=\"25 25 50 50\"\r\n [ngStyle]=\"{ width: size + 'px', height: size + 'px' }\"\r\n >\r\n <circle cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" class=\"path\"></circle>\r\n </svg>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"type === 'line'\"\r\n class=\"line-progress-bar\"\r\n [ngClass]=\"[colorState]\"\r\n></div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NiraModalService } from 'nira-modal';\r\nimport {\r\n ButtonSize,\r\n ButtonType,\r\n Color,\r\n ColorState,\r\n ConfirmDialog,\r\n ThemePalette,\r\n} from '../falconTypes';\r\nimport { CoreConfirmDialogComponent } from '../core-confirm-dialog/core-confirm-dialog.component';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'core-btn',\r\n templateUrl: './core-btn' + environment.tempName,\r\n styleUrls: ['./core-btn' + environment.styleName],\r\n})\r\nexport class CoreBtnComponent {\r\n disable = false;\r\n @Input() formGroup: FormGroup | undefined = undefined;\r\n @Input() loading: boolean = false;\r\n @Input() theme: ThemePalette = 'square';\r\n @Input() buttonType: ButtonType = 'button';\r\n @Input() size: ButtonSize = 'small';\r\n @Input() color: Color = 'White';\r\n @Input() set isDisabled(value: boolean) {\r\n this.disable = value;\r\n }\r\n @Input() colorState: ColorState = 'default';\r\n @Output() btnClicked: EventEmitter<any> = new EventEmitter();\r\n @Output() btnClickedOnDisableMode: EventEmitter<any> = new EventEmitter();\r\n @Input() confirmDialog: ConfirmDialog | undefined;\r\n constructor(private niraModalService: NiraModalService) {}\r\n clicked() {\r\n if (!this.disable) {\r\n if (this.confirmDialog != undefined) {\r\n const modal = this.niraModalService.open(CoreConfirmDialogComponent, {\r\n data: this.confirmDialog,\r\n });\r\n modal.afterClosed.subscribe((result) => {\r\n if (result === 'true') {\r\n this.btnClicked.emit();\r\n }\r\n });\r\n } else {\r\n this.btnClicked.emit();\r\n }\r\n } else {\r\n this.btnClickedOnDisableMode.emit();\r\n }\r\n if (this.formGroup) {\r\n this.formGroup.markAllAsTouched();\r\n }\r\n }\r\n}\r\n","<button\r\n (click)=\"clicked()\"\r\n [ngClass]=\"[\r\n 'button',\r\n disable ? 'disabled' : '',\r\n theme,\r\n colorState,\r\n size,\r\n loading ? 'cursorLoading' : ''\r\n ]\"\r\n [type]=\"buttonType\"\r\n>\r\n <ng-content *ngIf=\"!loading\"></ng-content>\r\n <core-spinner\r\n *ngIf=\"loading\"\r\n class=\"loading\"\r\n [colorState]=\"colorState\"\r\n [size]=\"20\"\r\n ></core-spinner>\r\n</button>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { MenuItem } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-auto-complete',\r\n templateUrl: './core-auto-complete.component.html',\r\n styleUrls: ['./core-auto-complete.component.scss'],\r\n})\r\nexport class CoreAutoCompleteComponent<T> implements OnInit {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n filterItems: MenuItem<T>[] = [];\r\n newItems: MenuItem<T>[] = [];\r\n value!: T;\r\n isOpenMenu = false;\r\n\r\n get _items() {\r\n return this.filterItems;\r\n }\r\n\r\n @Input() label = 'ddd';\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() items: any[] = [];\r\n @Input() set defaultValue(value: T) {\r\n this.value = value;\r\n }\r\n @Output() onChange = new EventEmitter<string>();\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n type ObjectKey = (typeof this.items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this.items);\r\n\r\n this.filterItems = this.newItems.filter(\r\n (item: any) => !item.title.indexOf(this.value)\r\n );\r\n }\r\n ngAfterViewInit(): void {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n });\r\n }\r\n\r\n openMenuClick() {\r\n this.isOpenMenu = !this.isOpenMenu;\r\n this.filterItems = this.newItems.filter(\r\n (item: any) => !item.title.indexOf(this.value)\r\n );\r\n }\r\n\r\n onItemSelect(item: MenuItem<T> | undefined): void {\r\n this.isOpenMenu = false;\r\n if (!item) return;\r\n this.selectedItem = item;\r\n this.value = item.title;\r\n }\r\n\r\n focusOut() {\r\n if (!this.items || this.items.length == 0 || !this.selectedItem) return;\r\n setTimeout(() => {\r\n this.isOpenMenu = false;\r\n if (!this.newItems.some((item: any) => item.title == this.value)) {\r\n this.value = this.selectedItem.title;\r\n }\r\n }, 100);\r\n }\r\n\r\n onChanged(value: any) {\r\n this.filterItems = this.items.filter(\r\n (item: any) => !item.title.indexOf(value)\r\n );\r\n }\r\n}\r\n","<div class=\"dropdown\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{ 'select-clicked': isOpenMenu }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <input\r\n class=\"selected\"\r\n [placeholder]=\"label\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChanged($event)\"\r\n (focusout)=\"focusOut()\"\r\n />\r\n <span\r\n class=\"material-symbols-outlined caret\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n >\r\n expand_more\r\n </span>\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of _items\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'core-checkbox',\r\n templateUrl: './core-checkbox.component.html',\r\n styleUrls: ['./core-checkbox.component.scss'],\r\n})\r\nexport class CoreCheckboxComponent {\r\n @Input() label = '';\r\n @Input() name = '1';\r\n @Input() checked = false;\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n\r\n change(event: any) {\r\n this.onChange.emit(event);\r\n }\r\n}\r\n","<div class=\"flex gap-3\">\r\n <input\r\n type=\"checkbox\"\r\n [name]=\"name\"\r\n [(ngModel)]=\"checked\"\r\n (change)=\"change($event)\"\r\n />\r\n <span class=\"checkmark\">{{ label }}</span>\r\n</div>\r\n","type DateFormat = 'HH:mm' | 'YYYY-MM-DD' | 'YYYY-MM-DD HH:mm';\r\ntype ShamsiDateFormat = 'HH:mm' | 'jYYYY-jMM-jDD' | 'jYYYY-jMM-jDD HH:mm';\r\n\r\nexport function toEnglishDigits(num: string | number): string {\r\n if (num === null || num === undefined) {\r\n return '';\r\n }\r\n\r\n if (typeof num !== 'string' || num.length === 0) return num.toString();\r\n\r\n const faDigits = '۰۱۲۳۴۵۶۷۸۹';\r\n const arDigits = '٠١٢٣٤٥٦٧٨٩';\r\n let output = '';\r\n for (let ipos = 0; ipos < num.length; ipos++) {\r\n let faIndex = faDigits.indexOf(num[ipos]);\r\n if (faIndex >= 0) {\r\n output += faIndex.toString();\r\n continue;\r\n }\r\n let arIndex = arDigits.indexOf(num[ipos]);\r\n if (arIndex >= 0) {\r\n output += arIndex.toString();\r\n continue;\r\n }\r\n output += num[ipos];\r\n }\r\n return output.replace(/,/g, '');\r\n}\r\n\r\nexport function WordifyFa(\r\n input: string | number | undefined,\r\n level: number = 0\r\n): string {\r\n if (input === null || input === undefined) {\r\n return '';\r\n }\r\n\r\n let num: number = parseInt(toEnglishDigits(input));\r\n\r\n // convert negative number to positive and get wordify value\r\n if (num < 0) {\r\n num = num * -1;\r\n return 'منفی ' + WordifyFa(num, level);\r\n }\r\n if (num === 0) {\r\n if (level === 0) {\r\n return 'صفر';\r\n } else {\r\n return '';\r\n }\r\n }\r\n let result = '';\r\n const yekan = ['یک', 'دو', 'سه', 'چهار', 'پنج', 'شش', 'هفت', 'هشت', 'نه'],\r\n dahgan = ['بیست', 'سی', 'چهل', 'پنجاه', 'شصت', 'هفتاد', 'هشتاد', 'نود'],\r\n sadgan = [\r\n 'یکصد',\r\n 'دویست',\r\n 'سیصد',\r\n 'چهارصد',\r\n 'پانصد',\r\n 'ششصد',\r\n 'هفتصد',\r\n 'هشتصد',\r\n 'نهصد',\r\n ],\r\n dah = [\r\n 'ده',\r\n 'یازده',\r\n 'دوازده',\r\n 'سیزده',\r\n 'چهارده',\r\n 'پانزده',\r\n 'شانزده',\r\n 'هفده',\r\n 'هیجده',\r\n 'نوزده',\r\n ];\r\n\r\n if (level > 0) {\r\n result += ' و ';\r\n level -= 1;\r\n }\r\n\r\n if (num < 10) {\r\n result += yekan[num - 1];\r\n } else if (num < 20) {\r\n result += dah[num - 10];\r\n } else if (num < 100) {\r\n result += dahgan[Math.floor(num / 10) - 2] + WordifyFa(num % 10, level + 1);\r\n } else if (num < 1000) {\r\n result +=\r\n sadgan[Math.floor(num / 100) - 1] + WordifyFa(num % 100, level + 1);\r\n } else if (num < 1000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000), level) +\r\n ' هزار' +\r\n WordifyFa(num % 1000, level + 1);\r\n } else if (num < 1000000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000000), level) +\r\n ' میلیون' +\r\n WordifyFa(num % 1000000, level + 1);\r\n } else if (num < 1000000000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000000000), level) +\r\n ' میلیارد' +\r\n WordifyFa(num % 1000000000, level + 1);\r\n } else if (num < 1000000000000000) {\r\n result +=\r\n WordifyFa(Math.floor(num / 1000000000000), level) +\r\n ' تریلیارد' +\r\n WordifyFa(num % 1000000000000, level + 1);\r\n }\r\n\r\n return result;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'persianDigits',\r\n})\r\nexport class PersianDigitsPipe implements PipeTransform {\r\n transform(value: number | string): string {\r\n if (value === null || value === undefined) return '';\r\n let str = String(value);\r\n const enToFaMap: { [key: string]: string } = {\r\n '0': '۰',\r\n '1': '۱',\r\n '2': '۲',\r\n '3': '۳',\r\n '4': '۴',\r\n '5': '۵',\r\n '6': '۶',\r\n '7': '۷',\r\n '8': '۸',\r\n '9': '۹',\r\n };\r\n return str.replace(/[0-9]/g, (digit) => enToFaMap[digit]);\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { WordifyFa } from '../wordify';\r\n\r\n@Component({\r\n selector: 'app-core-number',\r\n templateUrl: './core-number.component.html',\r\n styleUrls: ['./core-number.component.scss'],\r\n})\r\nexport class CoreNumberComponent {\r\n @Input() number: number | string | undefined = '';\r\n @Input() type: 'number' | 'word' = 'number';\r\n @Input() canSplitNumbers = false;\r\n @Input() canShowWordInToolTip = false;\r\n @Input() canShowTomanInToolTip = true;\r\n @Input() enDigitsToFa = true;\r\n @Input() canShowIRR = false;\r\n\r\n wordifyFa(number: string | number | undefined) {\r\n if (number === undefined) {\r\n return '';\r\n }\r\n if (this.type === 'number') {\r\n if (this.canSplitNumbers) {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n } else {\r\n return number;\r\n }\r\n } else {\r\n const newNumber = Number(number.toString().replaceAll(',', ''));\r\n if (newNumber > 10) {\r\n return WordifyFa(newNumber / 10) + ' تومان ';\r\n } else {\r\n return WordifyFa(number);\r\n }\r\n }\r\n }\r\n\r\n toolTipText(number: string | number | undefined) {\r\n if (this.number === undefined) return '';\r\n if (!this.canShowWordInToolTip) return '';\r\n if (number && +number > 10 && this.canShowTomanInToolTip) {\r\n return WordifyFa(+number / 10) + ' تومان ';\r\n } else {\r\n return WordifyFa(number);\r\n }\r\n }\r\n}\r\n","<span [title]=\"toolTipText(number)\"\r\n >{{\r\n !enDigitsToFa ? wordifyFa(number) : (wordifyFa(number) | persianDigits)\r\n }}\r\n {{ canShowIRR ? \"ریال\" : \"\" }}\r\n</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\ntype InputType = 'number' | 'password' | 'text' | 'color';\r\ninterface ErrorMassage {\r\n type: string;\r\n message: string;\r\n pattern?: string;\r\n}\r\n@Component({\r\n selector: 'core-input',\r\n templateUrl: './core-input' + environment.tempName,\r\n styleUrls: ['./core-input' + environment.styleName],\r\n})\r\nexport class CoreInputComponent {\r\n inputType!: InputType;\r\n isDisable = false;\r\n lastValue = '';\r\n @Input() set type(value: InputType) {\r\n this.inputType = value;\r\n }\r\n @Input() canShowWordifyFa = false;\r\n @Input() canSplitNumber = false;\r\n @Input() canHighlightBackground = false;\r\n @Input() maxLength = 2000;\r\n @Input() size = '';\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n @Input() set disable(value: boolean) {\r\n this.isDisable = value;\r\n if (value) {\r\n this.inputFormControl.disable();\r\n } else {\r\n this.inputFormControl.enable();\r\n }\r\n }\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n @Output() onBlurEmit: EventEmitter<string> = new EventEmitter();\r\n @Input() set errorMessages(value: ErrorMassage[]) {\r\n this._errorMessages = this._errorMessages.concat(value);\r\n }\r\n _errorMessages: ErrorMassage[] = [\r\n { type: 'required', message: 'این فیلد خالی است' },\r\n { type: 'prePayment', message: 'مبلغ صحیح نیست' },\r\n {\r\n type: 'minlength',\r\n message: '',\r\n },\r\n {\r\n type: 'maxlength',\r\n message: '',\r\n },\r\n {\r\n type: 'email',\r\n message: 'ایمیل را به درست وارد نمایید',\r\n },\r\n {\r\n type: 'mobilePhone',\r\n message: 'شماره همراه اشتباه هست',\r\n },\r\n ];\r\n ngOnInit() {\r\n this.inputFormControl.valueChanges.subscribe((change) => {\r\n if (this.lastValue !== change) {\r\n this.formatPrice(change.toString());\r\n }\r\n });\r\n }\r\n change(event: any) {\r\n this.formatPrice(event.srcElement.value);\r\n }\r\n\r\n onPaste(event: any) {\r\n setTimeout(() => {\r\n const value = event.srcElement.value;\r\n this.inputFormControl.markAsTouched();\r\n this.inputFormControl.setValue(value);\r\n this.lastValue = value;\r\n if (this.inputType === 'number' && this.canSplitNumber) {\r\n this.onChange.emit(value.replaceAll(',', ''));\r\n } else {\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(value);\r\n }\r\n }\r\n }, 10);\r\n }\r\n\r\n onBlur() {\r\n if (this.inputType === 'number' && this.canSplitNumber) {\r\n this.onChange.emit(this.inputFormControl.value.replaceAll(',', ''));\r\n } else {\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(this.inputFormControl.value);\r\n }\r\n }\r\n this.onBlurEmit.emit(this.inputFormControl.value);\r\n }\r\n\r\n onKeyPress() {\r\n if (this.inputFormControl.value.toString().length == this.maxLength) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n formatPrice(event: any) {\r\n if (this.inputType === 'number' && this.canSplitNumber) {\r\n setTimeout(() => {\r\n let value = event;\r\n value = Number(value.replaceAll(',', ''));\r\n if (isNaN(value)) {\r\n this.inputFormControl.setValue('');\r\n this.lastValue = value;\r\n } else {\r\n const formatValue = value\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n this.inputFormControl.setValue(formatValue);\r\n this.lastValue = formatValue;\r\n }\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(this.inputFormControl.value.replaceAll(',', ''));\r\n }\r\n }, 10);\r\n } else {\r\n if (!this.inputFormControl.errors) {\r\n this.onChange.emit(this.inputFormControl.value);\r\n }\r\n }\r\n }\r\n\r\n get errorMassage(): ErrorMassage | undefined {\r\n if (this.inputFormControl.errors) {\r\n if (Object.keys(this.inputFormControl.errors).length != 0) {\r\n let errorMessage;\r\n Object.keys(this.inputFormControl.errors).filter((key) => {\r\n errorMessage = this._errorMessages.find(\r\n (error) => error.type === key\r\n );\r\n\r\n if (errorMessage && key === 'minlength') {\r\n errorMessage.message =\r\n ' حداقل کارکتر مجاز ' +\r\n this.inputFormControl?.errors?.['minlength'].requiredLength +\r\n ' می باشد ';\r\n } else if (errorMessage && key === 'maxlength') {\r\n errorMessage.message =\r\n ' حداکثر کارکتر مجاز ' +\r\n this.inputFormControl?.errors?.['maxlength'].requiredLength +\r\n ' می باشد ';\r\n } else if (key === 'pattern') {\r\n errorMessage = this._errorMessages.find(\r\n (error) =>\r\n error.type === key &&\r\n error.pattern ===\r\n this.inputFormControl?.errors?.['pattern']?.requiredPattern\r\n );\r\n }\r\n });\r\n return errorMessage;\r\n } else {\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n}\r\n","<div>\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n }\"\r\n >\r\n <input\r\n [type]=\"inputType\"\r\n class=\"a-input-style\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"change($event)\"\r\n (paste)=\"onPaste($event)\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n 'disable-input': isDisable\r\n }\"\r\n (keypress)=\"onKeyPress()\"\r\n />\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n class=\"label-number\"\r\n *ngIf=\"\r\n canShowWordifyFa &&\r\n inputFormControl.value.toString().length > 0 &&\r\n inputType === 'number'\r\n \"\r\n ><app-core-number\r\n [canShowWordInToolTip]=\"false\"\r\n [type]=\"'word'\"\r\n [number]=\"inputFormControl.value\"\r\n ></app-core-number\r\n ></span>\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n \"\r\n >\r\n {{ errorMassage?.message }}\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'core-date-picker',\r\n templateUrl: './core-date-picker' + environment.tempName,\r\n styleUrls: ['./core-date-picker' + environment.styleName],\r\n})\r\nexport class CoreDatePickerComponent implements OnInit {\r\n _inputFormControl = new FormControl('', []);\r\n\r\n @Input() canSelectToday: boolean = false;\r\n @Input() defaultDate: string = '';\r\n @Input() label: string = '';\r\n @Input() set inputFormControl(value: FormControl) {\r\n this._inputFormControl = value;\r\n }\r\n @Input() size = '';\r\n isOpenCalendar: boolean = false;\r\n date: string = '';\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n onDatePickerResult(result: string) {\r\n this._inputFormControl.setValue(result);\r\n this.date = result;\r\n }\r\n onTodayDate(todayDate: string) {\r\n this.date = todayDate;\r\n this._inputFormControl.setValue(todayDate);\r\n }\r\n}\r\n","<core-input\r\n [placeholder]=\"label\"\r\n [inputFormControl]=\"_inputFormControl\"\r\n (click)=\"isOpenCalendar = true\"\r\n>\r\n</core-input>\r\n<lib-nira-date-picker\r\n [(isOpenCalendar)]=\"isOpenCalendar\"\r\n [defaultDate]=\"date ? date : defaultDate\"\r\n (datePickerResult)=\"onDatePickerResult($event)\"\r\n [selectToday]=\"canSelectToday\"\r\n (todayDate)=\"onTodayDate($event)\"\r\n>\r\n</lib-nira-date-picker>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'core-page-title',\r\n templateUrl: './core-page-title.component.html',\r\n styleUrls: ['./core-page-title.component.scss'],\r\n})\r\nexport class CorePageTitleComponent {\r\n @Input() title = '';\r\n @Input() description = '';\r\n}\r\n","<div\r\n class=\"container-page core-page-title flex flex-col text-right justify-center rounded-lg pt-2 pb-7 px-10 h-40 shadow-md\"\r\n>\r\n <div class=\"title my-5 w-5/6\">\r\n <span class=\"title-text text-2xl font-bold\">\r\n {{ title }}\r\n </span>\r\n </div>\r\n <div class=\"description w-5/6\">\r\n <p class=\"description-text text-base\">\r\n {{ description }}\r\n </p>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\ntype MenuItem<T> = {\r\n title: T;\r\n value: T;\r\n};\r\ntype LayoutRadioButtons = 'row' | 'column';\r\n@Component({\r\n selector: 'core-radio-buttons',\r\n templateUrl: './core-radio-buttons.component.html',\r\n styleUrls: ['./core-radio-buttons.component.scss'],\r\n})\r\nexport class CoreRadioButtonsComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n _defaultValue = undefined;\r\n newItems: MenuItem<T>[] = [];\r\n _items: any = [];\r\n initCounter = 0;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.initCounter++;\r\n this.init();\r\n }\r\n @Input({ required: true }) set defaultValue(data: any) {\r\n this._defaultValue = data;\r\n this.initCounter++;\r\n this.init();\r\n }\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() layout: LayoutRadioButtons = 'column';\r\n @Input() name: string = 'radio';\r\n @Output() onChange = new EventEmitter<string>();\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n });\r\n }\r\n init() {\r\n if (this.initCounter !== 2) {\r\n return;\r\n }\r\n type ObjectKey = (typeof this._items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this._items);\r\n if (this._defaultValue === undefined) {\r\n this.onItemClick(this.newItems[0]);\r\n } else {\r\n this.onItemClick(\r\n this.newItems.find((item) => item.value == this._defaultValue)\r\n );\r\n }\r\n }\r\n onItemClick(item: MenuItem<T> | undefined): void {\r\n if (!item) return;\r\n this.selectedItem = item;\r\n this.onChange.emit(String(item.value));\r\n }\r\n}\r\n","<div class=\"root\" [ngClass]=\"{ 'container-row': layout == 'row' }\">\r\n <div\r\n class=\"radio-bottom\"\r\n [ngClass]=\"{ 'item-row-reverse': layout == 'row' }\"\r\n *ngFor=\"let item of newItems\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"item.value == selectedItem.value\"\r\n [checked]=\"item.value == selectedItem.value\"\r\n (click)=\"onItemClick(item)\"\r\n />\r\n <span class=\"label\">{{ item.title }}</span>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'search-icon',\r\n templateUrl: './search-icon.component.html',\r\n styleUrls: ['./search-icon.component.scss'],\r\n})\r\nexport class SearchIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\"\r\n />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'core-search-box',\r\n templateUrl: './core-search-box.component.html',\r\n styleUrls: ['./core-search-box.component.scss'],\r\n})\r\nexport class CoreSearchBoxComponent {\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n value: string = '';\r\n change(event: any) {\r\n this.onChange.emit(event);\r\n }\r\n}\r\n","<div class=\"search-box flex\">\r\n <input\r\n type=\"search\"\r\n placeholder=\"{{ placeholder }}\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n class=\"box-border border rounded-r marker:focus:outline-0\"\r\n />\r\n <div\r\n class=\"search-button bg-white border border-r-0 border-gray-400 rounded fill-secondary-text-color cursor-pointer rounded-l\"\r\n >\r\n <search-icon></search-icon>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'warning-icon',\r\n templateUrl: './warning-icon.component.html',\r\n styleUrls: ['./warning-icon.component.scss']\r\n})\r\nexport class WarningIconComponent {\r\n\r\n}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z\"\r\n />\r\n</svg>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'arrow-down-icon',\r\n templateUrl: './arrow-down-icon.component.html',\r\n styleUrls: ['./arrow-down-icon.component.scss'],\r\n})\r\nexport class ArrowDownIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"24\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"24\"\r\n>\r\n <path d=\"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\" />\r\n</svg>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n ViewChildren,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { environment } from '../../environments/environment';\r\ntype MenuItem<T> = {\r\n title: T;\r\n value: T;\r\n};\r\n@Component({\r\n selector: 'core-select',\r\n templateUrl: './core-select' + environment.tempName,\r\n styleUrls: ['./core-select' + environment.styleName],\r\n})\r\nexport class CoreSelectComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n newItems: MenuItem<T>[] = [];\r\n isOpenMenu = false;\r\n _items: any = [];\r\n _defaultValue!: T;\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() size: string = 'small';\r\n @Input() canHighlightBackground = false;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.init();\r\n }\r\n @Input() set defaultValue(data: T) {\r\n this._defaultValue = data;\r\n this.init();\r\n }\r\n @Input() label: string = '';\r\n @Input() disabled: boolean = false;\r\n @Output() onItemSelected = new EventEmitter<any>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n @ViewChildren('focusable') focusableElements!: QueryList<ElementRef>;\r\n currentIndex = 0;\r\n\r\n constructor(private cdr: ChangeDetectorRef, private elRef: ElementRef) {}\r\n init() {\r\n type ObjectKey = (typeof this._items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this._items);\r\n this.inputFormControl.setValue(this._defaultValue);\r\n this.onItemSelect(\r\n this.newItems.find((item) => item.value == this._defaultValue),\r\n false\r\n );\r\n }\r\n ngOnInit(): void {\r\n this.init();\r\n }\r\n\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n });\r\n }\r\n\r\n openMenuClick(canFocus: boolean) {\r\n if (this.disabled) return;\r\n this.isOpenMenu = !this.isOpenMenu;\r\n if (this.isOpenMenu && canFocus) {\r\n setTimeout(() => {\r\n const element = this.focusableElements.toArray();\r\n element[0].nativeElement.focus();\r\n }, 50);\r\n }\r\n }\r\n handleKey(event: KeyboardEvent) {\r\n const elements = this.focusableElements.toArray();\r\n\r\n if (event.key === 'ArrowDown') {\r\n this.currentIndex = (this.currentIndex + 1) % elements.length;\r\n elements[this.currentIndex].nativeElement.focus();\r\n }\r\n\r\n if (event.key === 'ArrowUp') {\r\n this.currentIndex =\r\n (this.currentIndex - 1 + elements.length) % elements.length;\r\n elements[this.currentIndex].nativeElement.focus();\r\n }\r\n }\r\n\r\n dropdownItemKeypress(event: any, item: any) {\r\n if (event.key === 'Enter') {\r\n this.onItemSelect(item, true);\r\n } else if (event.key === 'Escape') {\r\n this.isOpenMenu = false;\r\n }\r\n }\r\n\r\n onItemSelect(selectedItem: MenuItem<T> | undefined, isFromUi: boolean): void {\r\n if (isFromUi) this.inputFormControl.markAsTouched();\r\n this.isOpenMenu = false;\r\n if (!selectedItem) {\r\n this.selectedItem = {} as MenuItem<T>;\r\n this.inputFormControl.reset();\r\n return;\r\n }\r\n this.selectedItem = selectedItem;\r\n const mainItem = this._items.find(\r\n (item: any) => item[this.valueKeyObject] === selectedItem.value\r\n );\r\n this.inputFormControl.setValue(selectedItem.value);\r\n this.onItemSelected.emit(mainItem);\r\n }\r\n onEnterPress(e: any) {\r\n if (e.key === 'Enter') {\r\n this.openMenuClick(true);\r\n }\r\n }\r\n focusOut(event: FocusEvent) {\r\n const nextFocusedElement = event.relatedTarget as HTMLElement;\r\n\r\n if (\r\n !nextFocusedElement ||\r\n !this.elRef.nativeElement.contains(nextFocusedElement)\r\n ) {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n }\r\n }\r\n}\r\n","<div class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick(false)\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">موردی یافت نشد</b>\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\ninterface ISwitch {\r\n iconActive: string;\r\n iconInactive: string;\r\n}\r\n@Component({\r\n selector: 'core-switch',\r\n templateUrl: './core-switch.component.html',\r\n styleUrls: ['./core-switch.component.scss'],\r\n})\r\nexport class CoreSwitchComponent {\r\n toggle!: string;\r\n\r\n @Output() value = new EventEmitter<string>();\r\n @Input() icon!: ISwitch;\r\n @Input() label = '';\r\n @Input() set defaultValue(value: string) {\r\n this.toggle = value;\r\n }\r\n\r\n change() {\r\n if (this.toggle === this.icon.iconActive)\r\n this.toggle = this.icon.iconInactive;\r\n else this.toggle = this.icon.iconActive;\r\n\r\n this.value.emit(this.toggle);\r\n }\r\n}\r\n","<div class=\"switch-container\" (click)=\"change()\">\r\n <input\r\n type=\"checkbox\"\r\n class=\"switch\"\r\n [checked]=\"toggle === icon.iconActive\"\r\n />\r\n <div class=\"switch-color\">\r\n <span>{{ label }} </span>\r\n </div>\r\n <label for=\"switch\" class=\"label\"\r\n ><span class=\"material-symbols-outlined\">{{ toggle }} </span>\r\n </label>\r\n</div>\r\n","export enum IconInput {\r\n Password = 'Password',\r\n Text = 'Text',\r\n EmailPhone = 'EmailPhone',\r\n Phone = 'Phone',\r\n Editable = 'Editable',\r\n Verified = 'Verified',\r\n NotVerified = 'NotVerified',\r\n OwnerName = 'OwnerName',\r\n totalAmount = 'totalAmount',\r\n totalRows = 'totalRows',\r\n Date = 'Date',\r\n}\r\nexport enum UserLanguage {\r\n EN = 'en',\r\n FA = 'fa',\r\n}\r\n\r\nexport enum TOAST_MESSAGES {\r\n SUCCESSFUL_CREATE = 'با موفقیت ثبت شد',\r\n SUCCESSFUL_ADDED = 'با موفقیت اضافه شد',\r\n SUCCESSFUL_EDIT = 'با موفقیت ویرایش شد',\r\n SUCCESSFUL_DELETED = 'با موفقیت حذف شد ',\r\n}\r\n\r\nexport const travelTypes = [\r\n {\r\n title: 'داخلی',\r\n value: 'Domestic',\r\n },\r\n {\r\n title: 'بین المللی',\r\n value: 'International',\r\n },\r\n];\r\nexport enum DetailViewers {\r\n BILL = 'bill',\r\n DRIVER = 'driver',\r\n MANIFEST = 'manifest',\r\n SERVICE = 'service',\r\n VEHICLE = 'vehicle',\r\n}\r\nexport const countryCodes = [\r\n {\r\n countryId: 'IR',\r\n countryNameFa: 'ايران',\r\n countryNameEn: 'Iran',\r\n },\r\n];\r\nexport const priceTypes = [\r\n {\r\n currencyId: 'IRR',\r\n currencyNameEn: 'Iranian Rial',\r\n currencyNameFa: 'ریال ایران',\r\n },\r\n];\r\n\r\nexport const Letters = [\r\n {\r\n key: 2,\r\n value: 'ب',\r\n },\r\n {\r\n key: 3,\r\n value: 'پ',\r\n },\r\n {\r\n key: 4,\r\n value: 'ت',\r\n },\r\n {\r\n key: 5,\r\n value: 'ث',\r\n },\r\n {\r\n key: 6,\r\n value: 'ج',\r\n },\r\n {\r\n key: 7,\r\n value: 'د',\r\n },\r\n {\r\n key: 8,\r\n value: 'ز',\r\n },\r\n {\r\n key: 9,\r\n value: 'س',\r\n },\r\n {\r\n key: 10,\r\n value: 'ش',\r\n },\r\n {\r\n key: 11,\r\n value: 'ص',\r\n },\r\n {\r\n key: 12,\r\n value: 'ط',\r\n },\r\n {\r\n key: 13,\r\n value: 'ع',\r\n },\r\n {\r\n key: 14,\r\n value: 'ف',\r\n },\r\n {\r\n key: 15,\r\n value: 'ق',\r\n },\r\n {\r\n key: 16,\r\n value: 'ک',\r\n },\r\n {\r\n key: 17,\r\n value: 'گ',\r\n },\r\n {\r\n key: 18,\r\n value: 'ل',\r\n },\r\n {\r\n key: 19,\r\n value: 'م',\r\n },\r\n {\r\n key: 20,\r\n value: 'ن',\r\n },\r\n {\r\n key: 21,\r\n value: 'و',\r\n },\r\n {\r\n key: 22,\r\n value: 'ه',\r\n },\r\n {\r\n key: 23,\r\n value: 'ی',\r\n },\r\n];\r\n\r\nexport const YES_NO_OPTIONS = [\r\n {\r\n title: 'بله',\r\n value: true,\r\n },\r\n {\r\n title: 'خیر',\r\n value: false,\r\n },\r\n];\r\nexport const ACTIVE_OPTIONS = [\r\n {\r\n title: 'فعال',\r\n value: true,\r\n },\r\n {\r\n title: 'غیر فعال',\r\n value: false,\r\n },\r\n];\r\n","import * as moment from 'jalali-moment';\r\n\r\ntype DateFormat = 'HH:mm' | 'YYYY-MM-DD' | 'YYYY-MM-DD HH:mm';\r\nexport class Util {\r\n public static getMoneyFormat(data: string) {\r\n return ('' + data).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n }\r\n\r\n public static isRunningOnSmallScreen(): boolean {\r\n return window.innerWidth < 772;\r\n }\r\n\r\n public static isRunningOnMobile(): boolean {\r\n return !this.isRunningOnWindows;\r\n }\r\n\r\n public static isRunningOnWindows(): boolean {\r\n return navigator.platform.startsWith('Win');\r\n }\r\n\r\n public static getRunningPlatform(): string {\r\n return navigator.platform;\r\n }\r\n\r\n public static getTotalFromArray(array: [], name: string): number {\r\n return array.map((item) => +item[name]).reduce((prev, next) => prev + next);\r\n }\r\n public static shamsiToMiladi(value: string, format: DateFormat) {\r\n const m = moment(value, 'jYYYY-jMM-jDD HH:mm');\r\n return m.format(format);\r\n }\r\n}\r\n","export type ThemePalette = 'square' | 'round';\r\nexport type ColorState =\r\n | 'default'\r\n | 'primary'\r\n | 'success'\r\n | 'warning'\r\n | 'danger';\r\n\r\nexport type ButtonType = 'button';\r\n\r\nexport type LayoutRadioButtons = 'row' | 'column';\r\n\r\nexport type InputType = 'number' | 'password' | 'text';\r\n\r\nexport type MenuItem<T> = {\r\n title: T;\r\n value: T;\r\n};\r\n\r\nexport type ButtonSize = 'xsmall' | 'small' | 'medium';\r\nexport type Color = 'White' | 'Orange' | 'Purple';\r\nexport type ConfirmDialog = {\r\n title: string;\r\n text: string;\r\n confirmBtn: string;\r\n cancelBtn: string;\r\n};\r\n\r\nexport enum DetailViewers {\r\n BILL = 'bill',\r\n DRIVER = 'driver',\r\n MANIFEST = 'manifest',\r\n SERVICE = 'service',\r\n VEHICLE = 'vehicle',\r\n}\r\n\r\nexport enum COLUMNS_TYPES {\r\n TEXT = 'text',\r\n COLOR = 'color',\r\n NUMBER = 'number',\r\n SELECTOR = 'selector',\r\n ROW_SELECTOR = 'row-selector',\r\n STATUS = 'status',\r\n STATUS_ACTIVE = 'status-active',\r\n ACTION = 'action',\r\n ACTION_BUTTONS = 'action-buttons',\r\n /** @deprecated do not use SHAMSI_DATE please use DATE */\r\n SHAMSI_DATE = 'shamsi-date',\r\n DATE = 'date',\r\n MULTI_COLUMN = 'multiColumn',\r\n PELAK = 'pelak',\r\n DETAIL_VIEWER_FOR_REPORT = 'detail-viewer-for-report',\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'calendar-icon',\r\n templateUrl: './calendar-icon.component.html',\r\n styleUrls: ['./calendar-icon.component.scss'],\r\n})\r\nexport class CalendarIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-160 0q-17 0-28.5-11.5T280-440q0-17 11.5-28.5T320-480q17 0 28.5 11.5T360-440q0 17-11.5 28.5T320-400Zm320 0q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-160 0q-17 0-28.5-11.5T280-280q0-17 11.5-28.5T320-320q17 0 28.5 11.5T360-280q0 17-11.5 28.5T320-240Zm320 0q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z\"\r\n />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { InputType } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-column-input',\r\n templateUrl: './core-column-input.component.html',\r\n styleUrls: ['./core-column-input.component.scss'],\r\n})\r\nexport class CoreColumnInputComponent {\r\n inputType!: InputType;\r\n @Input() showRemoveIcon: boolean = true;\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n @Input() value: string = '';\r\n @Input() set type(value: InputType) {\r\n this.inputType = value;\r\n }\r\n @Input() isDatePicker: boolean = false;\r\n @Input() maxLength = 2000;\r\n change(event: any) {\r\n this.onChange.emit(event);\r\n }\r\n}\r\n","<div class=\"search-box flex focus:bg-slate-600\">\r\n <input\r\n [type]=\"showRemoveIcon ? 'search' : 'text'\"\r\n placeholder=\"{{ placeholder }}\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n class=\"box-border\"\r\n />\r\n <search-icon\r\n *ngIf=\"!isDatePicker\"\r\n class=\"absolute top-1 w-5 right-1 fill-gray-500\"\r\n ></search-icon>\r\n <calendar-icon\r\n *ngIf=\"isDatePicker\"\r\n class=\"absolute top-1 w-5 right-1 fill-gray-500\"\r\n ></calendar-icon>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'core-column-date-picker',\r\n templateUrl: './core-column-date-picker.component.html',\r\n styleUrls: ['./core-column-date-picker.component.scss'],\r\n})\r\nexport class CoreColumnDatePickerComponent {\r\n @Input() canSelectToday: boolean = false;\r\n @Input() defaultDate: string = '';\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n\r\n @Output() onChange: EventEmitter<any> = new EventEmitter();\r\n niraDatePickerForm: FormGroup = {} as FormGroup;\r\n isOpenCalendar: boolean = false;\r\n date: string = '';\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n ngOnInit(): void {\r\n this.niraDatePickerForm = new FormGroup({\r\n niraDatePickerFormCtrl: this.inputFormControl,\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n clearedText() {\r\n this.niraDatePickerForm.setValue({\r\n niraDatePickerFormCtrl: '',\r\n });\r\n this.date = '';\r\n this.onChange.emit(undefined);\r\n }\r\n onDatePickerResult(result: string) {\r\n this.niraDatePickerForm.setValue({\r\n niraDatePickerFormCtrl: result,\r\n });\r\n this.date = result;\r\n this.onChange.emit(result);\r\n }\r\n onTodayDate(todayDate: string) {\r\n this.date = todayDate;\r\n this.niraDatePickerForm.setValue({\r\n niraDatePickerFormCtrl: todayDate,\r\n });\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <core-column-input\r\n (click)=\"isOpenCalendar = true\"\r\n [value]=\"date\"\r\n [isDatePicker]=\"true\"\r\n [showRemoveIcon]=\"false\"\r\n >\r\n </core-column-input>\r\n <close-icon\r\n *ngIf=\"date\"\r\n (click)=\"clearedText()\"\r\n class=\"absolute w-4 top-2 left-11 close-icon\"\r\n ></close-icon>\r\n</div>\r\n<lib-nira-date-picker\r\n [(isOpenCalendar)]=\"isOpenCalendar\"\r\n [defaultDate]=\"date ? date : defaultDate\"\r\n (datePickerResult)=\"onDatePickerResult($event)\"\r\n [selectToday]=\"canSelectToday\"\r\n>\r\n</lib-nira-date-picker>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MenuItem } from '../../falconTypes';\r\nimport { ACTIVE_OPTIONS } from '../../../utils/constants';\r\n\r\n@Component({\r\n selector: 'core-column-selector',\r\n templateUrl: './core-column-selector.component.html',\r\n styleUrls: ['./core-column-selector.component.scss'],\r\n})\r\nexport class CoreColumnSelectorComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n newItems: MenuItem<T>[] = [];\r\n isOpenMenu = false;\r\n _items: any[] = [];\r\n // _items: any[] = ACTIVE_OPTIONS;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.hasItems = true;\r\n this.init();\r\n }\r\n _defaultValue = undefined;\r\n _titleKey!: T;\r\n _valueKey!: T;\r\n initCounter = 0;\r\n hasTitleKey = false;\r\n hasValueKey = false;\r\n hasItems = false;\r\n hasDefaultValue = false;\r\n @Input() set titleKey(data: T) {\r\n this._titleKey = data;\r\n this.hasTitleKey = true;\r\n this.init();\r\n }\r\n @Input() set valueKey(data: T) {\r\n this._valueKey = data;\r\n this.hasValueKey = true;\r\n this.init();\r\n }\r\n @Input() label: string = '';\r\n @Output() onItemSelected = new EventEmitter<any>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n init() {\r\n if (this.hasTitleKey && this.hasValueKey && this.hasItems) {\r\n this.newItems = this.changeItemsType(this._items);\r\n const item = this.newItems.find(\r\n (item) => item.value == this._defaultValue\r\n );\r\n if (!this._defaultValue || this._defaultValue === null) return;\r\n this.inputFormControl.setValue(this._defaultValue);\r\n this.onItemSelect(\r\n this.newItems.find((item) => item.value == this._defaultValue)!,\r\n false\r\n );\r\n }\r\n }\r\n ngAfterViewInit(): void {\r\n this.cdr.detectChanges();\r\n }\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this._titleKey],\r\n value: item[this._valueKey],\r\n };\r\n });\r\n }\r\n openMenuClick() {\r\n this.isOpenMenu = !this.isOpenMenu;\r\n }\r\n onItemSelect(selectedItem: MenuItem<T>, isFromUi: boolean): void {\r\n if (isFromUi) this.inputFormControl.markAsTouched();\r\n this.isOpenMenu = false;\r\n this.selectedItem = selectedItem;\r\n this.inputFormControl.setValue(selectedItem.value);\r\n this.onItemSelected.emit(selectedItem.value);\r\n }\r\n focusOut() {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n }\r\n removedText() {\r\n this.selectedItem = {} as MenuItem<T>;\r\n this.inputFormControl.setValue('');\r\n this.onItemSelected.emit('');\r\n }\r\n}\r\n","<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <close-icon\r\n *ngIf=\"selectedItem.title\"\r\n (click)=\"removedText()\"\r\n class=\"absolute w-4 top-2 right-2 fill-gray-600\"\r\n ></close-icon>\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n selectError: inputFormControl.touched && inputFormControl.errors\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'check-icon',\r\n templateUrl: './check-icon.component.html',\r\n styleUrls: ['./check-icon.component.css'],\r\n})\r\nexport class CheckIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"100%\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"100%\"\r\n>\r\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-color-column',\r\n templateUrl: './core-table-color-column.component.html',\r\n styleUrls: ['./core-table-color-column.component.css'],\r\n})\r\nexport class CoreTableColorColumnComponent {\r\n @Input({ required: true }) data: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n canEdit = false;\r\n value = '';\r\n get color() {\r\n return this.data[this.column.key].startsWith('#')\r\n ? this.data[this.column.key]\r\n : '#' + this.data[this.column.key];\r\n }\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit\"\r\n class=\"shadow-md inline-block rounded-full\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n style=\"width: 25px; height: 25px\"\r\n [style]=\"{ background: color }\"\r\n></span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"color\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-core-table-action-buttons-column',\r\n templateUrl: './core-table-action-buttons-column.component.html',\r\n styleUrls: ['./core-table-action-buttons-column.component.scss'],\r\n})\r\nexport class CoreTableActionButtonsColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n\r\n clicked(key: string) {\r\n this.onClick.emit({ data: this.data, key: key });\r\n }\r\n\r\n checkFilter(column: any) {\r\n if (column.filter) {\r\n return column.filter(this.data);\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","<span *ngFor=\"let data of column.data\">\r\n <span\r\n *ngIf=\"checkFilter(data)\"\r\n [title]=\"data.title\"\r\n class=\"icon-color cursor-pointer h-5 inline-block icon-color m-1\"\r\n (click)=\"clicked(data.key)\"\r\n >\r\n <ng-container *ngComponentOutlet=\"data.component\" />\r\n </span>\r\n</span>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'edit-square-icon',\r\n templateUrl: './edit-square-icon.component.html',\r\n styleUrls: ['./edit-square-icon.component.scss'],\r\n})\r\nexport class EditSquareIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 -960 960 960\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h357l-80 80H200v560h560v-278l80-80v358q0 33-23.5 56.5T760-120H200Zm280-360ZM360-360v-170l367-367q12-12 27-18t30-6q16 0 30.5 6t26.5 18l56 57q11 12 17 26.5t6 29.5q0 15-5.5 29.5T897-728L530-360H360Zm481-424-56-56 56 56ZM440-440h56l232-232-28-28-29-28-231 231v57Zm260-260-29-28 29 28 28 28-28-28Z\"\r\n />\r\n</svg>\r\n","import { Component, Input } from '@angular/core';\nimport { NiraModalService } from 'nira-modal';\n\n@Component({\n selector: 'app-core-table-action-column',\n templateUrl: './core-table-action-column.component.html',\n styleUrls: ['./core-table-action-column.component.scss'],\n})\nexport class CoreTableActionColumnComponent {\n @Input({ required: true }) data!: any;\n @Input({ required: true }) column!: any;\n constructor(private niraModalService: NiraModalService) {}\n\n openDialog() {\n this.niraModalService.open(this.column.data.component, {\n data: this.data[this.column.data.key],\n });\n }\n}\n","<span class=\"icon-color h-5 inline-block\">\r\n <edit-square-icon\r\n [title]=\"column.title\"\r\n class=\"cursor-pointer\"\r\n (click)=\"openDialog()\"\r\n ></edit-square-icon>\r\n</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-core-table-row-selector-column',\r\n templateUrl: './core-table-row-selector-column.component.html',\r\n styleUrls: ['./core-table-row-selector-column.component.scss'],\r\n})\r\nexport class CoreTableRowSelectorColumnComponent {\r\n checked = false;\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Input({ required: true }) allTableData!: any;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n\r\n ngOnInit() {\r\n this.rowSelector?.subscribe((data: any[]) => {\r\n const index = data.findIndex((item) => item.id === this.data.id);\r\n this.checked = index >= 0;\r\n });\r\n }\r\n\r\n change(event: any) {\r\n let rowSelector: any[] = this.rowSelector?.getValue();\r\n if (event.srcElement.checked) {\r\n rowSelector = [...rowSelector, this.data];\r\n } else {\r\n const index = rowSelector.findIndex((item) => this.data.id === item.id);\r\n rowSelector.splice(index, 1);\r\n }\r\n this.rowSelector?.next(rowSelector);\r\n }\r\n async oncontextmenu(event: any) {\r\n if (!this.column.data.key) return;\r\n event.preventDefault();\r\n let rowSelector: any[] = this.rowSelector?.getValue();\r\n if (!event.srcElement.checked) {\r\n const others = this.allTableData.filter(\r\n (data: any) =>\r\n data[this.column.data.key] === this.data[this.column.data.key]\r\n );\r\n for await (const row of others) {\r\n const index = rowSelector.findIndex((item) => row.id === item.id);\r\n if (!(index >= 0)) {\r\n rowSelector = [...rowSelector, row];\r\n }\r\n }\r\n } else {\r\n const others = rowSelector.filter(\r\n (item) => this.data[this.column.data.key] === item[this.column.data.key]\r\n );\r\n for await (const row of others) {\r\n const index = rowSelector.findIndex((item) => row.id === item.id);\r\n rowSelector.splice(index, 1);\r\n }\r\n }\r\n this.rowSelector?.next(rowSelector);\r\n }\r\n}\r\n","<core-checkbox\r\n (contextmenu)=\"oncontextmenu($event)\"\r\n [checked]=\"checked\"\r\n (onChange)=\"change($event)\"\r\n></core-checkbox>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport moment from 'jalali-moment';\r\ntype Format = 'HH:mm' | 'jYYYY/jMM/jDD' | 'jYYYY/jMM/jDD HH:mm';\r\n@Pipe({\r\n name: 'shamsiDate',\r\n})\r\nexport class ShamsiDatePipe implements PipeTransform {\r\n transform(\r\n value: string | undefined,\r\n format: Format | string,\r\n ...args: unknown[]\r\n ): string {\r\n if (!value) return '';\r\n const m = moment(\r\n value,\r\n value.length === 10\r\n ? 'YYYY-MM-DD'\r\n : value.length === 16\r\n ? 'YYYY-MM-DD HH:mm'\r\n : 'YYYY-MM-DD HH:mm:ss'\r\n );\r\n return m.format(format);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-shamsi-date',\r\n templateUrl: './core-table-shamsi-date.component.html',\r\n styleUrls: ['./core-table-shamsi-date.component.scss'],\r\n})\r\nexport class CoreTableShamsiDateComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n dateFormat = 'jYYYY/jMM/jDD HH:mm';\r\n\r\n ngOnInit() {\r\n if (this.column?.data?.dateFormat) {\r\n this.dateFormat = this.column.data.dateFormat;\r\n }\r\n }\r\n\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n}\r\n","<span dir=\"ltr\">{{\r\n data[column.key] | shamsiDate : dateFormat | persianDigits\r\n}}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-date',\r\n templateUrl: './core-table-date.component.html',\r\n styleUrls: ['./core-table-date.component.scss'],\r\n})\r\nexport class CoreTableDateComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onClick: EventEmitter<any> = new EventEmitter();\r\n dateFormat = 'jYYYY/jMM/jDD HH:mm';\r\n\r\n ngOnInit() {\r\n if (this.column?.data?.dateFormat) {\r\n this.dateFormat = this.column.data.dateFormat;\r\n }\r\n }\r\n\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n}\r\n","<span dir=\"ltr\">{{\r\n data[column.key] | shamsiDate : dateFormat | persianDigits\r\n}}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-core-table-status-column',\r\n templateUrl: './core-table-status-column.component.html',\r\n styleUrls: ['./core-table-status-column.component.scss'],\r\n})\r\nexport class CoreTableStatusColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value: boolean = false;\r\n radioButtonData = [\r\n { value: true, title: 'فعال' },\r\n { value: false, title: 'غیر فعال' },\r\n ];\r\n\r\n onChange(event: string) {\r\n this.value = event === 'true' ? true : false;\r\n }\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onColumnClicked(column: any, data: boolean, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n }\r\n }\r\n}\r\n","<b\r\n [ngClass]=\"{\r\n active: data[column.key],\r\n deActive: !data[column.key],\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n>\r\n {{ data[column.key] ? \"فعال\" : \"غیر فعال\" }}\r\n</b>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-radio-buttons\r\n class=\"flex-1 min-width-radio\"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [layout]=\"'row'\"\r\n [name]=\"'r1'\"\r\n [defaultValue]=\"data[column.key]\"\r\n [items]=\"radioButtonData\"\r\n (onChange)=\"onChange($event)\"\r\n >\r\n </core-radio-buttons>\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-caret-up-icon',\r\n templateUrl: './caret-up-icon.component.html',\r\n styleUrls: ['./caret-up-icon.component.scss']\r\n})\r\nexport class CaretUpIconComponent {\r\n\r\n}\r\n","<svg\r\n class=\"svg-inline--fa fa-caret-up fa-w-10 me-1\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n data-prefix=\"fas\"\r\n data-icon=\"caret-up\"\r\n role=\"img\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 320 512\"\r\n data-fa-i2svg=\"\"\r\n>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"\r\n ></path>\r\n</svg>\r\n","import {\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NiraModalService } from 'nira-modal';\r\n\r\nimport { CaretUpIconComponent } from '../../svg-icon/caret-up-icon/caret-up-icon.component';\r\n@Directive({\r\n selector: '[tableDetailViewerManager]',\r\n})\r\nexport class TableDetailViewerManagerDirective {\r\n @Input() detailViewerData: any;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private niraModalService: NiraModalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private componentFactoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.detailViewerData?.detailViewer?.key) {\r\n this.changeStyle();\r\n }\r\n }\r\n\r\n changeStyle() {\r\n this.el.nativeElement.style.backgroundColor = '#b4dcff';\r\n this.el.nativeElement.style.cursor = 'pointer';\r\n this.el.nativeElement.style.borderRadius = '18px';\r\n this.el.nativeElement.style.padding = '2px 8px ';\r\n this.el.nativeElement.classList.add('detailViewer');\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n CaretUpIconComponent\r\n );\r\n const componentRef =\r\n this.viewContainerRef.createComponent(componentFactory);\r\n const host = this.el.nativeElement;\r\n host.insertBefore(componentRef.location.nativeElement, host.firstChild);\r\n }\r\n\r\n @HostListener('click') onMouseUp() {\r\n if (this.detailViewerData?.detailViewer?.key) {\r\n this.niraModalService.open(\r\n this.detailViewerData?.detailViewer?.detailViewerComponent,\r\n {\r\n data: this.detailViewerData.data,\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-core-table-status-active-column',\r\n templateUrl: './core-table-status-active-column.component.html',\r\n styleUrls: ['./core-table-status-active-column.component.scss'],\r\n})\r\nexport class CoreTableStatusActiveColumnComponent {\r\n @Input({ required: true }) data: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value: boolean = false;\r\n radioButtonData = [\r\n { value: true, title: 'بلی' },\r\n { value: false, title: 'خیر' },\r\n ];\r\n\r\n onChange(event: string) {\r\n this.value = event === 'true' ? true : false;\r\n }\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onColumnClicked(column: any, data: boolean, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n }\r\n }\r\n}\r\n","<b\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n [ngClass]=\"{\r\n active: data[column.key],\r\n deActive: !data[column.key],\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n>\r\n {{ data[column.key] ? \"بلی\" : \"خیر\" }}\r\n</b>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-radio-buttons\r\n class=\"flex-1\"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [layout]=\"'row'\"\r\n [name]=\"'r1'\"\r\n [defaultValue]=\"data[column.key]\"\r\n [items]=\"radioButtonData\"\r\n (onChange)=\"onChange($event)\"\r\n >\r\n </core-radio-buttons>\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'pelak-icon',\r\n templateUrl: './pelak-icon.component.html',\r\n styleUrls: ['./pelak-icon.component.scss'],\r\n})\r\nexport class PelakIconComponent {}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" fill=\"none\">\r\n <path\r\n fill=\"#004A96\"\r\n d=\"M0 12C0 5.37258 5.37258 0 12 0h17v48H12C5.37258 48 0 42.6274 0 36V12Z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M6.69405 28.0899h-.53303V24h.53303v4.0899Zm1.10627-.1011c-.06848-.0712-.10272-.1564-.10272-.2557 0-.1011.03424-.1863.10272-.2556.07033-.0693.15546-.1048.25541-.1067.09994.0019.18415.0374.25263.1067.07033.0693.1055.1545.1055.2556 0 .0993-.03517.1845-.1055.2557-.06848.0693-.15176.1039-.24986.1039-.10179 0-.18785-.0346-.25818-.1039Zm3.05518-1.5534h-.94948v1.6545h-.53581V24h1.33809c.4553 0 .8051.1049 1.0494.3146.2462.2097.3693.515.3693.9157 0 .2547-.0685.4766-.2055.6658-.1351.1891-.3238.3305-.5663.4241l.9495 1.736v.0337h-.5719l-.8773-1.6545Zm-.94948-.441h.81898c.1444 0 .2702-.0197.3776-.059.1092-.0412.1999-.0955.272-.1629.0722-.0693.1259-.1498.1611-.2416.037-.0936.0555-.1938.0555-.3006 0-.1179-.0176-.2247-.0528-.3202-.0333-.0974-.086-.1807-.1582-.25-.0722-.0693-.1638-.1226-.2749-.1601-.111-.0375-.2433-.0562-.397-.0562h-.80228v1.5506Zm3.09958 1.9944c-.0685-.0712-.1027-.1564-.1027-.2557 0-.1011.0342-.1863.1027-.2556.0703-.0693.1555-.1048.2554-.1067.1.0019.1842.0374.2526.1067.0704.0693.1055.1545.1055.2556 0 .0993-.0351.1845-.1055.2557-.0684.0693-.1517.1039-.2498.1039-.1018 0-.1879-.0346-.2582-.1039ZM6.53303 36H6v-4.0899h.53303V36Zm2.51658-1.6545h-.94946V36h-.53581v-4.0899h1.33813c.4553 0 .8051.1049 1.04941.3146.24612.2098.36922.515.36922.9157 0 .2547-.0685.4766-.2054.6658-.13513.1891-.32392.3305-.56637.4241l.94947 1.736V36h-.57191l-.87728-1.6545Zm-.94946-.441h.81898c.14436 0 .27022-.0197.37756-.059.1092-.0412.19989-.0955.27207-.1629.07218-.0693.12586-.1498.16102-.2416.03702-.0936.05553-.1938.05553-.3006 0-.1179-.01759-.2247-.05275-.3202-.03332-.0974-.08606-.1807-.15824-.25-.07219-.0693-.1638-.1226-.27485-.1601-.11105-.0374-.24338-.0562-.397-.0562h-.80232v1.5506Zm5.25945 1.0281h-1.6935L11.2858 36h-.5497l1.5436-4.0899h.4664L14.2924 36h-.5469l-.3859-1.0674Zm-1.5324-.4438h1.3742l-.6885-1.913-.6857 1.913ZM18 36h-.5358l-2.035-3.1517V36h-.5358v-4.0899h.5358l2.0405 3.1657v-3.1657H18V36Z\"\r\n ></path>\r\n <path\r\n fill=\"#00A03C\"\r\n d=\"M6 11.334c0-.8284.67157-1.50002 1.5-1.50002H21V12.334H6v-1Z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M6 12.334h15v4.16667H6z\"></path>\r\n <path\r\n fill=\"#FC000B\"\r\n d=\"M6 16.501h15v2.5H7.5c-.82843 0-1.5-.6716-1.5-1.5v-1Z\"\r\n ></path>\r\n <g clip-path=\"url(#a)\">\r\n <path\r\n fill=\"#FC000B\"\r\n fill-rule=\"evenodd\"\r\n d=\"M12.9795 13.539c-.2964.2013-.4926.5118-.5073.8656-.0192.4651.2808.8754.7279 1.0692-.1751.0475-.3606.0605-.5424.038-.0102-.0012-.0203-.0026-.0303-.0041.1708.061.3551.0896.5402.0837.0478-.0015.0955-.0053.1428-.0113l.1398.1875.1398-.1875c.0474.006.095.0098.1428.0113.1852.0059.3697-.0226.5405-.0837-.01.0015-.0201.0029-.0303.0041-.1818.0225-.3673.0095-.5424-.038.4472-.1938.7471-.6039.7279-1.0692-.0149-.3538-.2111-.6644-.5075-.8656.2098.2509.3094.5814.2477.9263-.0616.3449-.2726.6368-.5609.8259l.0373-1.6937c-.0831-.0194-.1462-.0686-.1949-.1205-.0484.0519-.1117.1011-.1948.1205l.0373 1.6938c-.2885-.1892-.4993-.4811-.561-.826-.0617-.345.0381-.6754.2478-.9263Zm.836-.3212c.0045.018.0067.0364.0067.0549 0 .1217-.0964.2204-.2154.2204-.0621 0-.1183-.027-.1574-.0701-.0393.0431-.0953.0701-.1574.0701-.1189 0-.2151-.0987-.2151-.2204-.0001-.0185.0022-.0369.0067-.0549.0111.089.0939.1581.1944.1581.074 0 .1384-.0374.1717-.0928.0331.0554.0976.0928.1714.0928.1004 0 .1832-.0691.1944-.1581Zm-1.2709 2.1219c-.1776-.0872-.3252-.2127-.4276-.3639-.1025-.1512-.1563-.3226-.1561-.4971 0-.4695.3819-.8629.8939-.9657-.3687.1685-.6276.5634-.6276 1.0237 0 .3156.1219.6007.3173.803h.0001Zm1.8113 0c.1777-.0872.3252-.2127.4276-.3639.1025-.1512.1563-.3226.1561-.4971 0-.4695-.3816-.8629-.8938-.9657.3686.1685.6275.5634.6275 1.0237 0 .3156-.1219.6007-.3173.803h-.0001Z\"\r\n clip-rule=\"evenodd\"\r\n ></path>\r\n </g>\r\n <defs>\r\n <clipPath id=\"a\">\r\n <path fill=\"#fff\" d=\"M11.834 13.167h3.33333v2.5H11.834z\"></path>\r\n </clipPath>\r\n </defs>\r\n</svg>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-core-row-pelak',\r\n templateUrl: './core-row-pelak.component.html',\r\n styleUrls: ['./core-row-pelak.component.scss'],\r\n})\r\nexport class CoreRowPelakComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"flex gap-1\" *ngIf=\"data.register\">\r\n <div class=\"row w-12\">\r\n <img class=\"img-iran p-1\" src=\"../../../assets/images/iran.png\" />\r\n <span class=\"row1\">{{ data[column.key].columnFour | persianDigits }}</span>\r\n </div>\r\n <span class=\"row w-9\">{{\r\n data[column.key].columnThree | persianDigits\r\n }}</span>\r\n <span class=\"row w-5\">{{ data[column.key].columnTwo | persianDigits }}</span>\r\n <span class=\"row w-6\">{{ data[column.key].columnOne | persianDigits }}</span>\r\n <pelak-icon class=\"h-8 w-6\"></pelak-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-card-manager',\r\n templateUrl: './core-table-card-manager.component.html',\r\n styleUrls: ['./core-table-card-manager.component.scss'],\r\n})\r\nexport class CoreTableCardManagerComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Input({ required: true }) allTableData!: any;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n @Output() onColumnClicked: EventEmitter<any> = new EventEmitter();\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n getSelectorData(data: any, key: string) {\r\n if (key) {\r\n const split = key.split('.');\r\n if (split.length === 1) {\r\n return data[key];\r\n } else {\r\n let newData = data;\r\n split.forEach((newKay) => {\r\n newData = newData[newKay];\r\n });\r\n\r\n return newData;\r\n }\r\n }\r\n }\r\n onTextColumnClicked(column: any, data: string) {\r\n if (!column.copyToClipboard) return;\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n clicked(val: any) {\r\n this.onColumnClicked.emit(val);\r\n }\r\n combinedData(detailViewer: any, data: any) {\r\n return {\r\n detailViewer: detailViewer,\r\n data: data,\r\n };\r\n }\r\n}\r\n","<container-element [ngSwitch]=\"column.type\">\r\n <ng-content></ng-content>\r\n\r\n <app-core-table-row-selector-column\r\n *ngSwitchCase=\"columnsTypes.ROW_SELECTOR\"\r\n [rowSelector]=\"rowSelector\"\r\n [data]=\"data\"\r\n [allTableData]=\"allTableData\"\r\n [column]=\"column\"\r\n ></app-core-table-row-selector-column>\r\n <app-core-table-status-active-column\r\n *ngSwitchCase=\"columnsTypes.STATUS_ACTIVE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-active-column>\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-table-status-column\r\n *ngSwitchCase=\"columnsTypes.STATUS\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-column>\r\n <app-core-table-action-column\r\n *ngSwitchCase=\"columnsTypes.ACTION\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-column>\r\n <app-core-table-action-buttons-column\r\n *ngSwitchCase=\"columnsTypes.ACTION_BUTTONS\"\r\n (onClick)=\"clicked($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-buttons-column>\r\n <app-core-table-shamsi-date\r\n *ngSwitchCase=\"columnsTypes.SHAMSI_DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-shamsi-date>\r\n <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n <app-core-row-pelak\r\n class=\"inline-block\"\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.copyToClipboard }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key])\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >{{\r\n column?.data?.persianDigits === false\r\n ? data[column.key]\r\n : (data[column.key] | persianDigits)\r\n }}</span\r\n >\r\n <span\r\n *ngSwitchCase=\"columnsTypes.NUMBER\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n green: data[column.key] > 0 && column.canColorfulNumber,\r\n red: data[column.key] < 0 && column.canColorfulNumber\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key])\"\r\n tableDetailViewerManager\r\n dir=\"ltr\"\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n ><app-core-number\r\n [number]=\"data[column.key]\"\r\n [type]=\"'number'\"\r\n [canSplitNumbers]=\"true\"\r\n [canShowWordInToolTip]=\"true\"\r\n >\r\n </app-core-number>\r\n </span>\r\n <span *ngSwitchCase=\"columnsTypes.SELECTOR\">\r\n <span\r\n *ngIf=\"data[column.key.split('.')[0]]\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(\r\n column.detailViewer,\r\n getSelectorData(\r\n data[column.key.split('.')[0]],\r\n column.detailViewer?.key\r\n )\r\n )\r\n \"\r\n >{{\r\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\r\n | persianDigits\r\n }}</span\r\n >\r\n </span>\r\n</container-element>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-text-column',\r\n templateUrl: './core-table-text-column.component.html',\r\n styleUrls: ['./core-table-text-column.component.css'],\r\n})\r\nexport class CoreTableTextColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value = '';\r\n\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onTextColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n } else if (column.copyToClipboard) {\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n column?.data?.enDigitsToFa === false\r\n ? data[column.key]\r\n : (data[column.key] | persianDigits)\r\n }}</span\r\n>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-number-column',\r\n templateUrl: './core-table-number-column.component.html',\r\n styleUrls: ['./core-table-number-column.component.css'],\r\n})\r\nexport class CoreTableNumberColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value = '';\r\n\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onTextColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n } else if (column.copyToClipboard) {\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n green: data[column.key] > 0 && column.canColorfulNumber,\r\n red: data[column.key] < 0 && column.canColorfulNumber,\r\n 'mouse-edit-cursor': column.editable\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n>\r\n <app-core-number\r\n [number]=\"data[column.key]\"\r\n [type]=\"'number'\"\r\n [canShowTomanInToolTip]=\"\r\n column?.data && column?.data?.canShowTomanInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n [enDigitsToFa]=\"\r\n column?.data && column?.data?.enDigitsToFa === false ? false : true\r\n \"\r\n [canShowIRR]=\"\r\n column?.data && column?.data?.canShowIRR === true ? true : false\r\n \"\r\n [canSplitNumbers]=\"\r\n column?.data && column?.data?.canSplitNumbers === false ? false : true\r\n \"\r\n [canShowWordInToolTip]=\"\r\n column?.data && column?.data?.canShowWordInToolTip === false\r\n ? false\r\n : true\r\n \"\r\n >\r\n </app-core-number>\r\n</span>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { cloneDeep } from 'lodash';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\n\r\n@Component({\r\n selector: 'core-table-selector-column',\r\n templateUrl: './core-table-selector-column.component.html',\r\n styleUrls: ['./core-table-selector-column.component.css'],\r\n})\r\nexport class CoreTableSelectorColumnComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n canEdit = false;\r\n value: any;\r\n\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n\r\n onChange(event: any) {\r\n this.value = event;\r\n }\r\n\r\n setValue() {\r\n const newData = cloneDeep(this.data);\r\n newData[this.column.key] = this.value;\r\n this.onColumnValueChanged.emit(newData);\r\n this.canEdit = false;\r\n }\r\n\r\n onTextColumnClicked(column: any, data: string, event: MouseEvent) {\r\n if (event.ctrlKey && column.editable) {\r\n this.value = data;\r\n this.canEdit = true;\r\n } else if (column.copyToClipboard) {\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n }\r\n\r\n getSelectorData(data: any, key: string) {\r\n if (!key) {\r\n return '';\r\n }\r\n const split = key.split('.');\r\n if (split.length === 1) {\r\n return data[key];\r\n } else {\r\n let newData = data;\r\n split.forEach((newKey) => {\r\n newData = newData[newKey];\r\n });\r\n\r\n return newData;\r\n }\r\n }\r\n}\r\n","<span\r\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\r\n [ngClass]=\"{ 'mouse-edit-cursor': column.editable }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\r\n | persianDigits\r\n }}</span\r\n>\r\n\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <core-select\r\n class=\"block mx-4 w-80\"\r\n [titleKey]=\"column.data.key\"\r\n [valueKey]=\"column.data.value\"\r\n [items]=\"column.data.editableData | async\"\r\n (onItemSelected)=\"onChange($event)\"\r\n ></core-select>\r\n\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { DetailViewers } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-table-detail-viewer-for-report',\r\n templateUrl: './core-table-detail-viewer-for-report.component.html',\r\n styleUrls: ['./core-table-detail-viewer-for-report.component.scss'],\r\n})\r\nexport class CoreTableDetailViewerForReportComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n\r\n get detailViewers() {\r\n return this.column.data.detailViewers;\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n hasDetailViewers() {\r\n return this.detailViewers.some(\r\n (item: any) => item === this.data[this.column.data.keyType]\r\n );\r\n }\r\n\r\n onClick() {\r\n this.column.data.onClick(this.data);\r\n }\r\n}\r\n","<span class=\"text\" *ngIf=\"hasDetailViewers()\" (click)=\"onClick()\"\r\n ><app-caret-up-icon class=\"inline-block w-3 h-3\"></app-caret-up-icon\r\n >{{ data[column.key] }}</span\r\n>\r\n<span *ngIf=\"!hasDetailViewers()\">{{ data[column.key] }}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { NiraSnackBarService } from 'nira-snack-bar';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'app-core-table-column-manager',\r\n templateUrl: './core-table-column-manager.component.html',\r\n styleUrls: ['./core-table-column-manager.component.scss'],\r\n})\r\nexport class CoreTableColumnManagerComponent {\r\n @Input({ required: true }) data!: any;\r\n @Input({ required: true }) column!: any;\r\n @Input({ required: true }) allTableData!: any;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n @Output() onColumnClicked: EventEmitter<any> = new EventEmitter();\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n constructor(private niraSnackBar: NiraSnackBarService) {}\r\n getSelectorData(data: any, key: string) {\r\n if (!key) {\r\n return '';\r\n }\r\n const split = key.split('.');\r\n if (split.length === 1) {\r\n return data[key];\r\n } else {\r\n let newData = data;\r\n split.forEach((newKey) => {\r\n newData = newData[newKey];\r\n });\r\n\r\n return newData;\r\n }\r\n }\r\n onTextColumnClicked(column: any, data: string) {\r\n if (!column.copyToClipboard) return;\r\n navigator.clipboard\r\n .writeText(data)\r\n .then((e) => {\r\n this.niraSnackBar.show('با موفقیت کپی شد', {\r\n statusClass: 'success',\r\n duration: 3000,\r\n });\r\n })\r\n .catch((e) => console.error(e));\r\n }\r\n clicked(val: any) {\r\n this.onColumnClicked.emit(val);\r\n }\r\n columnValueChanged(val: any) {\r\n this.onColumnValueChanged.emit(val);\r\n }\r\n combinedData(detailViewer: any, data: any) {\r\n return {\r\n detailViewer: detailViewer,\r\n data: data,\r\n };\r\n }\r\n}\r\n","<container-element [ngSwitch]=\"column.type\">\r\n <ng-content></ng-content>\r\n\r\n <app-core-table-row-selector-column\r\n *ngSwitchCase=\"columnsTypes.ROW_SELECTOR\"\r\n [rowSelector]=\"rowSelector\"\r\n [data]=\"data\"\r\n [allTableData]=\"allTableData\"\r\n [column]=\"column\"\r\n ></app-core-table-row-selector-column>\r\n <app-core-table-status-active-column\r\n *ngSwitchCase=\"columnsTypes.STATUS_ACTIVE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n ></app-core-table-status-active-column>\r\n\r\n <app-core-table-status-column\r\n *ngSwitchCase=\"columnsTypes.STATUS\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-column>\r\n <app-core-table-action-column\r\n *ngSwitchCase=\"columnsTypes.ACTION\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-column>\r\n <app-core-table-action-buttons-column\r\n *ngSwitchCase=\"columnsTypes.ACTION_BUTTONS\"\r\n (onClick)=\"clicked($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-buttons-column>\r\n <app-core-table-shamsi-date\r\n *ngSwitchCase=\"columnsTypes.SHAMSI_DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-shamsi-date>\r\n <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-row-pelak\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <core-table-detail-viewer-for-report\r\n *ngSwitchCase=\"columnsTypes.DETAIL_VIEWER_FOR_REPORT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-detail-viewer-for-report>\r\n\r\n <core-table-text-column\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-text-column>\r\n\r\n <core-table-number-column\r\n *ngSwitchCase=\"columnsTypes.NUMBER\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-number-column>\r\n\r\n <core-table-selector-column\r\n *ngSwitchCase=\"columnsTypes.SELECTOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(\r\n column.detailViewer,\r\n getSelectorData(\r\n data[column.key.split('.')[0]],\r\n column.detailViewer?.key\r\n )\r\n )\r\n \"\r\n >\r\n </core-table-selector-column>\r\n</container-element>\r\n","import { UserLanguage } from '../../../utils/constants';\r\n\r\nexport interface ITabelNoContent {\r\n noResult: string;\r\n}\r\n\r\nexport const Label: Record<UserLanguage, ITabelNoContent> = {\r\n fa: {\r\n noResult: 'موردی یافت نشد',\r\n },\r\n en: {\r\n noResult: 'No Result',\r\n },\r\n};\r\n","import { Component, Input } from '@angular/core';\r\nimport { Label } from './core-table-no-content.label';\r\n\r\n@Component({\r\n selector: 'core-table-no-content',\r\n templateUrl: './core-table-no-content.component.html',\r\n styleUrls: ['./core-table-no-content.component.scss'],\r\n})\r\nexport class CoreTableNoContentComponent {\r\n labels = Label['fa'];\r\n @Input({ required: true }) tableData: any;\r\n @Input({ required: false }) loading: any;\r\n constructor() {}\r\n}\r\n","<div *ngIf=\"tableData; let data\" class=\"text-center mt-10 mb-10\">\r\n <ng-container *ngIf=\"$any(data).length == 0 && !loading\">\r\n <warning-icon class=\"icon-color inline-block w-24\"></warning-icon>\r\n <b class=\"content block\">{{ labels.noResult }}</b></ng-container\r\n >\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sort-down-icon',\r\n templateUrl: './sort-down-icon.component.html',\r\n styleUrls: ['./sort-down-icon.component.scss']\r\n})\r\nexport class SortDownIconComponent {\r\n\r\n}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"\r\n />\r\n</svg>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sort-solid-icon',\r\n templateUrl: './sort-solid-icon.component.html',\r\n styleUrls: ['./sort-solid-icon.component.scss'],\r\n})\r\nexport class SortSolidIconComponent {}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zm0 429.3l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0z\"\r\n />\r\n</svg>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sort-up-icon',\r\n templateUrl: './sort-up-icon.component.html',\r\n styleUrls: ['./sort-up-icon.component.scss'],\r\n})\r\nexport class SortUpIconComponent {}\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"\r\n />\r\n</svg>\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nimport { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { find, orderBy } from 'lodash';\r\nimport { ACTIVE_OPTIONS, YES_NO_OPTIONS } from '../../../utils/constants';\r\nimport { Util } from '../../../utils/util';\r\nimport { ColumnsSchema } from './core-table.type';\r\nimport { COLUMNS_TYPES } from '../../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-table',\r\n templateUrl: './core-table.component.html',\r\n styleUrls: ['./core-table.component.scss'],\r\n})\r\nexport class CoreTableComponent {\r\n @Input({ required: false }) key: string | undefined;\r\n @Input({ required: true }) columnsSchema: ColumnsSchema[] = [];\r\n @Input({ required: true }) tableData: BehaviorSubject<any[]> =\r\n new BehaviorSubject<any[]>([]);\r\n @Input({ required: false }) responsive: boolean = true;\r\n @Input({ required: false }) canSelectFirstItem: boolean = false;\r\n @Input({ required: true }) loading: any;\r\n @Input() canFilter: boolean = false;\r\n @Input({ required: false }) styleFilter: ((data: any) => string) | undefined;\r\n @Input({ required: false }) rowSelector: BehaviorSubject<any> | undefined =\r\n undefined;\r\n @Output() onColumnClicked: EventEmitter<any> = new EventEmitter();\r\n @Output() onColumnValueChanged: EventEmitter<any> = new EventEmitter();\r\n @Output() onItemSelected: EventEmitter<any> = new EventEmitter();\r\n @ViewChild('table') table!: ElementRef<HTMLTableElement>;\r\n ACTIVE_OPTIONS = ACTIVE_OPTIONS;\r\n YES_NO_OPTIONS = YES_NO_OPTIONS;\r\n sortDetail: { key: string; sort: 'asc' | 'desc' } | undefined;\r\n selectedItem: any = undefined;\r\n sortedTableData: any[] = [];\r\n dbTableFilter: any;\r\n index = 0;\r\n salt = this.randomString(5);\r\n selectedItemIndex = 0;\r\n get columnsTypes() {\r\n return COLUMNS_TYPES;\r\n }\r\n get isRunningOnSmallScreen() {\r\n return Util.isRunningOnSmallScreen();\r\n }\r\n constructor(private dbService: NgxIndexedDBService) {}\r\n\r\n ngOnInit(): void {\r\n this.tableData.subscribe((val: any) => {\r\n this.sortedTableData = val;\r\n if (\r\n this.canSelectFirstItem &&\r\n this.sortedTableData.length > 0 &&\r\n this.selectedItem === undefined\r\n ) {\r\n this.selectedItem = this.sortedTableData[0];\r\n this.selectedItemIndex = 0;\r\n if (this.table?.nativeElement) {\r\n this.table.nativeElement.focus();\r\n }\r\n }\r\n });\r\n if (this.key) {\r\n this.dbService\r\n .getByIndex('tableFilter', 'key', this.key)\r\n .subscribe((data: any) => {\r\n this.dbTableFilter = data;\r\n if (this.dbTableFilter) {\r\n this.setTableFilter();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.canSelectFirstItem && this.sortedTableData.length > 0) {\r\n this.selectedItem = this.sortedTableData[0];\r\n }\r\n }\r\n\r\n setTableFilter() {\r\n this.columnsSchema.map((column: any) => {\r\n JSON.parse(this.dbTableFilter.columnsSchema).forEach(\r\n (dbColumnsSchema: any) => {\r\n if (dbColumnsSchema.key === column.key) {\r\n column.active = dbColumnsSchema.active;\r\n }\r\n }\r\n );\r\n return column;\r\n });\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n handleEnter(event: Event) {\r\n const key = event as KeyboardEvent;\r\n if (document.activeElement === this.table.nativeElement) {\r\n if (key.key === 'ArrowDown') {\r\n if (this.selectedItemIndex === this.sortedTableData.length - 1) return;\r\n if (this.selectedItemIndex < this.sortedTableData.length - 1) {\r\n this.selectedItemIndex++;\r\n this.selectedItem = this.sortedTableData[this.selectedItemIndex];\r\n document\r\n .getElementById(\r\n 'tableRow_' + this.salt + '_' + this.selectedItemIndex\r\n )\r\n ?.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n event.preventDefault();\r\n return;\r\n } else if (key.key === 'ArrowUp') {\r\n if (this.selectedItemIndex === 0) return;\r\n if (this.selectedItemIndex > 0) {\r\n this.selectedItemIndex--;\r\n this.selectedItem = this.sortedTableData[this.selectedItemIndex];\r\n document\r\n .getElementById(\r\n 'tableRow_' + this.salt + '_' + this.selectedItemIndex\r\n )\r\n ?.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n event.preventDefault();\r\n return;\r\n } else if (key.key === 'Enter') {\r\n this.onItemSelected.emit(this.selectedItem);\r\n event.preventDefault();\r\n return;\r\n } else if (key.altKey) {\r\n const actionButtons: any = this.columnsSchema.find(\r\n (schema: any) => schema.type === COLUMNS_TYPES.ACTION_BUTTONS\r\n );\r\n\r\n actionButtons.data.forEach((actionButton: any) => {\r\n if (actionButton.keyboardShortcut) {\r\n const regex = new RegExp(\r\n '^(' + actionButton.keyboardShortcut + ')$',\r\n 'i'\r\n );\r\n if (regex.test(key.key)) {\r\n this.columnClicked({\r\n data: this.selectedItem,\r\n key: actionButton.key,\r\n });\r\n }\r\n }\r\n });\r\n this.onItemSelected.emit(this.selectedItem);\r\n event.preventDefault();\r\n return;\r\n }\r\n }\r\n }\r\n onItemSelect(data: any, index: number, event: Event) {\r\n event.preventDefault();\r\n this.selectedItemIndex = index;\r\n this.selectedItem = data;\r\n this.onItemSelected.emit(this.selectedItem);\r\n }\r\n\r\n columnClicked(val: any) {\r\n this.onColumnClicked.emit(val);\r\n }\r\n columnValueChanged(val: any) {\r\n this.onColumnValueChanged.emit(val);\r\n }\r\n sortByHeader(column: any) {\r\n if (this.sortDetail && this.sortDetail.key == column.key) {\r\n if (this.sortDetail.sort == 'desc') {\r\n this.sortDetail = { key: column.key, sort: 'asc' };\r\n } else {\r\n this.sortDetail = { key: column.key, sort: 'desc' };\r\n }\r\n } else {\r\n this.sortDetail = { key: column.key, sort: 'asc' };\r\n }\r\n if (\r\n column.type == COLUMNS_TYPES.TEXT ||\r\n column.type == COLUMNS_TYPES.NUMBER\r\n ) {\r\n this.sortedTableData = orderBy(\r\n this.sortedTableData,\r\n [column.key],\r\n [this.sortDetail.sort]\r\n );\r\n } else if (column.type == COLUMNS_TYPES.SELECTOR) {\r\n this.sortedTableData = orderBy(\r\n this.sortedTableData,\r\n [(c) => c[column.key][column.data.key]],\r\n [this.sortDetail.sort]\r\n );\r\n } else if (column.type == COLUMNS_TYPES.SHAMSI_DATE) {\r\n this.sortedTableData = orderBy(\r\n this.sortedTableData,\r\n [(c) => new Date(c[column.key]).getTime()],\r\n [this.sortDetail.sort]\r\n );\r\n }\r\n }\r\n\r\n activeColumnsSchema(): any[] {\r\n return this.columnsSchema.filter(\r\n (column: any) => column.active === undefined || column.active\r\n );\r\n }\r\n\r\n tableDataFiltered(text: String | boolean, column: any) {\r\n this.columnsSchema.map((columnSchema: any) => {\r\n if (columnSchema.key === column.key) {\r\n columnSchema.columnFilter = text;\r\n }\r\n return columnSchema;\r\n });\r\n this.tableData.subscribe((tableData) => {\r\n this.sortedTableData = tableData.filter((data: any) => {\r\n let result = true;\r\n this.columnsSchema.forEach((columnSchema: any) => {\r\n if (\r\n columnSchema.type === this.columnsTypes.ROW_SELECTOR ||\r\n columnSchema.type === this.columnsTypes.ACTION ||\r\n columnSchema.type === this.columnsTypes.ACTION_BUTTONS ||\r\n columnSchema.columnFilter === undefined ||\r\n !result\r\n ) {\r\n return;\r\n }\r\n if (columnSchema.type === this.columnsTypes.SELECTOR) {\r\n result = data[columnSchema.key][columnSchema.data.key]\r\n .toLowerCase()\r\n .includes(columnSchema.columnFilter.toString().toLowerCase());\r\n } else if (columnSchema.type === this.columnsTypes.SHAMSI_DATE) {\r\n if (columnSchema.columnFilter === '') {\r\n result = true;\r\n } else {\r\n result = data[columnSchema.key]\r\n .toLowerCase()\r\n .includes(\r\n Util.shamsiToMiladi(\r\n columnSchema.columnFilter.toString(),\r\n 'YYYY-MM-DD'\r\n )\r\n );\r\n }\r\n } else if (columnSchema.type === this.columnsTypes.MULTI_COLUMN) {\r\n result = columnSchema.columns.some((item: any) => {\r\n return data[item.key][item.data.key]\r\n .toLowerCase()\r\n .includes(columnSchema.columnFilter?.toString()?.toLowerCase());\r\n });\r\n } else if (columnSchema.type === this.columnsTypes.STATUS) {\r\n if (columnSchema.columnFilter === '') {\r\n result = true;\r\n } else {\r\n result = data[columnSchema.key] === columnSchema.columnFilter;\r\n }\r\n } else {\r\n result = data[columnSchema.key]\r\n .toString()\r\n .toLowerCase()\r\n .includes(columnSchema.columnFilter?.toString()?.toLowerCase());\r\n }\r\n });\r\n return result;\r\n });\r\n });\r\n }\r\n\r\n randomString(length: number): string {\r\n return Math.random()\r\n .toString(36)\r\n .substring(2, 2 + length);\r\n }\r\n}\r\n","<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { IModal, NiraModalConfig } from 'nira-modal';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-core-table-filter-dialog',\r\n templateUrl: './core-table-filter-dialog.component.html',\r\n styleUrls: ['./core-table-filter-dialog.component.scss'],\r\n})\r\nexport class CoreTableFilterDialogComponent implements IModal {\r\n @Input() closeSubject!: Subject<any>;\r\n @Input() config!: NiraModalConfig;\r\n key!: string;\r\n columnsSchema: any[] = [];\r\n dbTableFilter: any;\r\n constructor(private dbService: NgxIndexedDBService) {}\r\n ngOnInit() {\r\n this.columnsSchema = this.config.data.columnsSchema;\r\n this.key = this.config.data.key;\r\n this.getDbTableFilter();\r\n }\r\n onCheckboxClicked(selectedColumn: any, event: any) {\r\n this.columnsSchema.map((column) => {\r\n if (selectedColumn.key === column.key) {\r\n column.active = event.srcElement.checked;\r\n }\r\n return column;\r\n });\r\n setTimeout(() => {\r\n this.saveTableFilter();\r\n }, 50);\r\n }\r\n getDbTableFilter() {\r\n this.dbService\r\n .getByIndex('tableFilter', 'key', this.key)\r\n .subscribe((data) => {\r\n this.dbTableFilter = data;\r\n if (this.dbTableFilter) {\r\n this.setTableFilter();\r\n }\r\n });\r\n }\r\n saveTableFilter() {\r\n const data: any = {\r\n key: this.key,\r\n columnsSchema: JSON.stringify(this.columnsSchema),\r\n };\r\n if (this.dbTableFilter) {\r\n data.id = this.dbTableFilter.id;\r\n this.dbService.update('tableFilter', data).subscribe(() => {});\r\n } else {\r\n this.dbService.add('tableFilter', data).subscribe(() => {\r\n this.getDbTableFilter();\r\n });\r\n }\r\n }\r\n setTableFilter() {\r\n this.columnsSchema.map((column: any) => {\r\n JSON.parse(this.dbTableFilter.columnsSchema).forEach(\r\n (dbColumnsSchema: any) => {\r\n if (dbColumnsSchema.key === column.key) {\r\n column.active = dbColumnsSchema.active;\r\n }\r\n }\r\n );\r\n return column;\r\n });\r\n }\r\n submitBtn() {\r\n this.closeSubject.next('');\r\n }\r\n close() {\r\n this.closeSubject.next('');\r\n }\r\n}\r\n","<core-card class=\"block min-w-64 max-h-[80vh] overflow-auto\">\r\n <div class=\"root flex mb-6 justify-between\">\r\n <b class=\"m-3 self-center\">فیلتر جدول</b>\r\n <close-icon\r\n (click)=\"close()\"\r\n class=\"close-icon h-10 m-3 rounded-full cursor-pointer p-2 hover:shadow-md\"\r\n ></close-icon>\r\n </div>\r\n\r\n <div *ngFor=\"let column of columnsSchema\">\r\n <div>\r\n <core-checkbox\r\n class=\"inline-block w-4 ms-4\"\r\n [checked]=\"column.active === undefined ? true : column.active\"\r\n (onChange)=\"onCheckboxClicked(column, $event)\"\r\n ></core-checkbox>\r\n {{ column.label }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-3 gap-x-2 p-3\" dir=\"ltr\">\r\n <core-btn (btnClicked)=\"submitBtn()\" class=\"col-span-1\"> بستن </core-btn>\r\n </div>\r\n</core-card>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'core-textarea',\r\n templateUrl: './core-textarea.component.html',\r\n styleUrls: ['./core-textarea.component.scss'],\r\n})\r\nexport class CoreTextareaComponent {\r\n @Input() textareaFormControl: FormControl = new FormControl('', []);\r\n @Input() set model(value: string | null) {\r\n if (value) {\r\n this.textareaFormControl.setValue(value);\r\n }\r\n }\r\n @Input() set disable(value: boolean) {\r\n if (value) {\r\n this.textareaFormControl.disable();\r\n } else {\r\n this.textareaFormControl.enable();\r\n }\r\n }\r\n @Input() placeholder = '';\r\n @Output() onChange: EventEmitter<string> = new EventEmitter();\r\n\r\n change() {\r\n if (!this.textareaFormControl.errors) {\r\n this.onChange.emit(this.textareaFormControl.value);\r\n }\r\n }\r\n}\r\n","<div class=\"text-area-sec\">\r\n <textarea\r\n rows=\"4\"\r\n (change)=\"change()\"\r\n [formControl]=\"textareaFormControl\"\r\n [ngClass]=\"{ 'have-value': textareaFormControl.value }\"\r\n ></textarea>\r\n <label>{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n (textareaFormControl.touched || textareaFormControl.dirty) &&\r\n textareaFormControl.errors?.['required']\r\n \"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\r\nimport { IModal, NiraModalConfig } from 'nira-modal';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\ntype Location = {\r\n left: string;\r\n top: string;\r\n text: string;\r\n value: string;\r\n};\r\n@Component({\r\n selector: 'lib-time-picker-modal',\r\n templateUrl: './time-picker-modal.component.html',\r\n styleUrls: ['./time-picker-modal.component.scss'],\r\n})\r\nexport class TimePickerModalComponent implements IModal {\r\n @Input() config!: NiraModalConfig;\r\n @Input() closeSubject!: Subject<any>;\r\n hoursSubject: BehaviorSubject<Location[]> = new BehaviorSubject<Location[]>(\r\n []\r\n );\r\n hours2Subject: BehaviorSubject<Location[]> = new BehaviorSubject<Location[]>(\r\n []\r\n );\r\n minutesSubject: BehaviorSubject<Location[]> = new BehaviorSubject<Location[]>(\r\n []\r\n );\r\n showHour: boolean = true;\r\n showMin: boolean = false;\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n const defaultTime = this.config.data;\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n if (defaultTime) {\r\n const items = defaultTime.split(':');\r\n topElement.getElementsByClassName('h')[0].innerHTML = items[0];\r\n topElement.getElementsByClassName('m')[0].innerHTML = items[1];\r\n } else {\r\n var currentTime = new Date();\r\n\r\n if (topElement.getElementsByClassName('h').length > 0)\r\n document.getElementsByClassName('h')[0].innerHTML = String(\r\n currentTime.getHours().toString().length > 1\r\n ? currentTime.getHours().toString()\r\n : '0' + currentTime.getHours().toString()\r\n );\r\n if (topElement.getElementsByClassName('m').length > 0)\r\n document.getElementsByClassName('m')[0].innerHTML = String(\r\n currentTime.getMinutes().toString().length > 1\r\n ? currentTime.getMinutes().toString()\r\n : '0' + currentTime.getMinutes().toString()\r\n );\r\n }\r\n\r\n this.selectHours();\r\n }\r\n close() {\r\n this.closeSubject.next('');\r\n }\r\n submit() {\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n const h = topElement.getElementsByClassName('h');\r\n const m = topElement.getElementsByClassName('m');\r\n let selectedTime;\r\n if (h.length > 0 && m.length > 0) {\r\n selectedTime = h[0].textContent + ':' + m[0].textContent;\r\n }\r\n this.closeSubject.next(selectedTime);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onHourClick() {\r\n this.selectHours();\r\n }\r\n\r\n onMinutesClick() {\r\n this.selectMinutes();\r\n }\r\n\r\n createCircleOfDivs(\r\n num: any,\r\n radius: number,\r\n offsetX: number,\r\n offsetY: number,\r\n add: number,\r\n teilbar: number\r\n ) {\r\n let x, y;\r\n let items: Location[] = [];\r\n for (let n = 0; n < num; n++) {\r\n let item: Location = {} as Location;\r\n x = radius * Math.cos((n / num) * 2 * Math.PI);\r\n y = radius * Math.sin((n / num) * 2 * Math.PI);\r\n if (teilbar == 1) {\r\n if (n + 3 > 12) {\r\n item.text = String(n + 3 - 12 + add);\r\n } else {\r\n if (n + 3 + add == 24) {\r\n item.text = '0';\r\n } else {\r\n item.text = String(n + 3 + add);\r\n }\r\n }\r\n } else {\r\n if (n % teilbar == 0) {\r\n if (n + 15 >= 60) {\r\n item.value = String(n + 15 - 60);\r\n item.text = String(n + 15 - 60 + add);\r\n } else {\r\n item.value = String(n + 15);\r\n item.text = String(n + 15 + add);\r\n }\r\n } else {\r\n if (n + 15 >= 60) {\r\n item.value = String(n + 15 - 60);\r\n item.text = '⋅';\r\n } else {\r\n item.value = String(n + 15);\r\n item.text = '\\u00B7';\r\n }\r\n }\r\n }\r\n\r\n item.left = x + offsetX + 'px';\r\n item.top = y + offsetY + 'px';\r\n\r\n items.push(item);\r\n }\r\n return items;\r\n }\r\n\r\n onHourSelect(item: Location) {\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n if (topElement.getElementsByClassName('h').length > 0)\r\n document.getElementsByClassName('h')[0].innerHTML = String(\r\n item.text.length > 1 ? item.text : '0' + item.text\r\n );\r\n this.selectMinutes();\r\n }\r\n\r\n onMinutesSelect(item: Location) {\r\n let topElement = document\r\n .getElementsByClassName('timepicker')[0]\r\n .getElementsByClassName('top')[0];\r\n if (topElement.getElementsByClassName('m').length > 0)\r\n document.getElementsByClassName('m')[0].innerHTML = String(\r\n item.value.length > 1 ? item.value : '0' + item.value\r\n );\r\n }\r\n\r\n selectHours() {\r\n this.showHour = true;\r\n this.showMin = false;\r\n this.hoursSubject.next(this.createCircleOfDivs(12, 101, 105, 105, 0, 1));\r\n this.hours2Subject.next(this.createCircleOfDivs(12, 64, 110, 110, 12, 1));\r\n }\r\n\r\n selectMinutes() {\r\n this.showHour = false;\r\n this.showMin = true;\r\n this.minutesSubject.next(this.createCircleOfDivs(60, 101, 115, 115, 0, 5));\r\n }\r\n}\r\n","<div class=\"timepicker\">\r\n <div class=\"top\">\r\n <span class=\"h\" (click)=\"onHourClick()\" [class.active]=\"showHour\">10</span\r\n >:<span class=\"m\" (click)=\"onMinutesClick()\" [class.active]=\"showMin\"\r\n >15</span\r\n >\r\n </div>\r\n <div class=\"circle\">\r\n <div *ngIf=\"showHour\">\r\n <div\r\n class=\"hour\"\r\n *ngFor=\"let hour of hoursSubject | async\"\r\n [style]=\"{ left: hour.left, top: hour.top }\"\r\n (click)=\"onHourSelect(hour)\"\r\n >\r\n {{ hour.text }}\r\n </div>\r\n <div\r\n class=\"hour2\"\r\n *ngFor=\"let hour of hours2Subject | async\"\r\n [style]=\"{ left: hour.left, top: hour.top }\"\r\n (click)=\"onHourSelect(hour)\"\r\n >\r\n {{ hour.text }}\r\n </div>\r\n <div class=\"mid\"></div>\r\n </div>\r\n <div *ngIf=\"showMin\">\r\n <div\r\n class=\"min\"\r\n *ngFor=\"let hour of minutesSubject | async\"\r\n [style]=\"{ left: hour.left, top: hour.top }\"\r\n (click)=\"onMinutesSelect(hour)\"\r\n >\r\n {{ hour.text }}\r\n </div>\r\n <div class=\"mid\"></div>\r\n </div>\r\n </div>\r\n <div class=\"actions\">\r\n <core-btn\r\n class=\"action ok\"\r\n (btnClicked)=\"submit()\"\r\n [colorState]=\"'success'\"\r\n >\r\n انتخاب\r\n </core-btn>\r\n <core-btn class=\"action close\" (btnClicked)=\"close()\"> بستن </core-btn>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'time-icon',\r\n templateUrl: './time-icon.component.html',\r\n styleUrls: ['./time-icon.component.scss'],\r\n})\r\nexport class TimeIconComponent {}\r\n","<svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"100%\"\r\n viewBox=\"0 -960 960 960\"\r\n width=\"100%\"\r\n>\r\n <path\r\n d=\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z\"\r\n />\r\n</svg>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { NiraModalService } from 'nira-modal';\r\nimport { TimePickerModalComponent } from './time-picker-modal/time-picker-modal.component';\r\n\r\n@Component({\r\n selector: 'core-time-picker',\r\n templateUrl: './core-time-picker.component.html',\r\n styleUrls: ['./core-time-picker.component.scss'],\r\n})\r\nexport class CoreTimePickerComponent {\r\n @Output() onSelect: EventEmitter<string> = new EventEmitter<string>();\r\n @Output() onBlurEmit: EventEmitter<string> = new EventEmitter();\r\n @Input() placeholder: string = '';\r\n @Input() canHighlightBackground = false;\r\n @Input() setCurrentTime = false;\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n selectedTime: string = '';\r\n @Input() set defaultValue(data: string) {\r\n this.selectedTime = data;\r\n }\r\n @Input() maxLength = 2000;\r\n constructor(private niraModalService: NiraModalService) {}\r\n\r\n ngOnInit(): void {\r\n this.inputFormControl.addValidators(Validators.minLength(5));\r\n if (this.setCurrentTime) {\r\n var currentTime = new Date();\r\n this.selectedTime =\r\n String(\r\n currentTime.getHours().toString().length > 1\r\n ? currentTime.getHours().toString()\r\n : '0' + currentTime.getHours().toString()\r\n ) +\r\n ':' +\r\n String(\r\n currentTime.getMinutes().toString().length > 1\r\n ? currentTime.getMinutes().toString()\r\n : '0' + currentTime.getMinutes().toString()\r\n );\r\n\r\n this.inputFormControl.setValue(this.selectedTime);\r\n this.onSelect.emit(this.selectedTime);\r\n }\r\n }\r\n\r\n showSelectTimeModal() {\r\n const modal = this.niraModalService.open(TimePickerModalComponent, {\r\n outsideClose: true,\r\n data: this.selectedTime,\r\n });\r\n modal.afterClosed.subscribe((time: any) => {\r\n if (time) {\r\n this.selectedTime = time;\r\n this.inputFormControl.setValue(this.selectedTime);\r\n this.onSelect.emit(time);\r\n }\r\n });\r\n }\r\n\r\n focusOut() {\r\n setTimeout(() => {\r\n this.inputFormControl.markAsTouched();\r\n }, 100);\r\n }\r\n\r\n change(event: any) {\r\n setTimeout(() => {\r\n let value = event.srcElement.value;\r\n value = value.replaceAll(':', '');\r\n if (isNaN(value)) {\r\n this.inputFormControl.setValue('');\r\n } else {\r\n const formatValue = value\r\n .toString()\r\n .replace(/\\B(?=(\\d{2})+(?!\\d))/g, ':');\r\n this.inputFormControl.setValue(formatValue);\r\n }\r\n if (!this.inputFormControl.errors) {\r\n this.onSelect.emit(this.inputFormControl.value);\r\n }\r\n }, 10);\r\n }\r\n onPaste(event: any) {\r\n setTimeout(() => {\r\n const value = event.srcElement.value;\r\n this.inputFormControl.markAsTouched();\r\n this.inputFormControl.setValue(value);\r\n this.onSelect.emit(value);\r\n }, 10);\r\n }\r\n onBlur() {\r\n this.onBlurEmit.emit(this.inputFormControl.value);\r\n }\r\n onKeyPress() {\r\n if (this.inputFormControl.value.toString().length > 4) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","<div>\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n }\"\r\n >\r\n <time-icon\r\n (click)=\"showSelectTimeModal()\"\r\n class=\"absolute left-3 top-3 fill-secondary-text-color h-5 cursor-pointer\"\r\n ></time-icon>\r\n <input\r\n [type]=\"'text'\"\r\n class=\"a-input-style have-value\"\r\n (keyup)=\"change($event)\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (paste)=\"onPaste($event)\"\r\n (keypress)=\"onKeyPress()\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n }\"\r\n />\r\n\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors?.['required']\r\n \"\r\n >این فیلد خالی است</span\r\n ><span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors?.['minlength']\r\n \"\r\n >فرمت ساعت نامعتبر است</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NiraModalService } from 'nira-modal';\r\n\r\nimport { CaretUpIconComponent } from '../../svg-icon/caret-up-icon/caret-up-icon.component';\r\nimport { DetailViewers } from '../../lib/falconTypes';\r\n\r\n@Directive({\r\n selector: '[detailViewerManager]',\r\n})\r\nexport class DetailViewerManagerDirective {\r\n @Input() detailViewerData: any;\r\n @Input() detailViewerName: DetailViewers | undefined;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private niraModalService: NiraModalService,\r\n private viewContainerRef: ViewContainerRef,\r\n private componentFactoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n ngAfterViewInit() {\r\n this.changeStyle();\r\n }\r\n\r\n changeStyle() {\r\n this.el.nativeElement.style.backgroundColor = '#b4dcff';\r\n this.el.nativeElement.style.cursor = 'pointer';\r\n this.el.nativeElement.style.borderRadius = '18px';\r\n this.el.nativeElement.style.padding = '2px 8px ';\r\n this.el.nativeElement.classList.add('detailViewer');\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n CaretUpIconComponent\r\n );\r\n const componentRef =\r\n this.viewContainerRef.createComponent(componentFactory);\r\n const host = this.el.nativeElement;\r\n host.insertBefore(componentRef.location.nativeElement, host.firstChild);\r\n }\r\n\r\n @HostListener('click') onMouseUp() {\r\n let component = undefined;\r\n switch (\r\n this.detailViewerName\r\n // case DetailViewers.BILL: {\r\n // component = BillDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.DRIVER: {\r\n // component = DriverDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.MANIFEST: {\r\n // component = ManifestDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.SERVICE: {\r\n // component = ServiceDetailViewerComponent;\r\n // break;\r\n // }\r\n // case DetailViewers.VEHICLE: {\r\n // component = VehicleDetailViewerComponent;\r\n // break;\r\n // }\r\n ) {\r\n }\r\n this.niraModalService.open(component, {\r\n data: this.detailViewerData,\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\n\r\n@Pipe({\r\n name: 'formControl',\r\n})\r\nexport class FormControlPipe implements PipeTransform {\r\n transform(value: AbstractControl): FormControl<(typeof value)['value']> {\r\n return value as FormControl<(typeof value)['value']>;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'digitGroup',\r\n})\r\nexport class DigitGroupPipe implements PipeTransform {\r\n transform(el: string | number): string {\r\n return el.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n// type Currency = 'RII' | 'T';\r\n@Pipe({\r\n name: 'priceFormat',\r\n})\r\nexport class PriceFormatPipe implements PipeTransform {\r\n transform(\r\n value: string | number | undefined,\r\n currency: string,\r\n ...args: unknown[]\r\n ): string {\r\n if (currency == 'IRR') {\r\n value = value + ' ریال ';\r\n } else {\r\n value = value + ' تومان ';\r\n }\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'timeFormat',\r\n})\r\nexport class TimeFormatPipe implements PipeTransform {\r\n transform(value: number, ...args: unknown[]): string {\r\n let hour = value / 60;\r\n let result = '';\r\n hour = value % 60 > 0 ? hour + 1 : hour;\r\n if (hour >= 24) {\r\n result = Number.parseInt(String(hour / 24)) + ' روز ';\r\n if (Number.parseInt(String(hour % 24)) != 0) {\r\n result = result + ', ' + Number.parseInt(String(hour % 24)) + ' ساعت ';\r\n }\r\n } else {\r\n result = hour + ' ساعت ';\r\n }\r\n return result;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'weight',\r\n})\r\nexport class WeightPipe implements PipeTransform {\r\n transform(value: number, ...args: unknown[]): string {\r\n return value + ' کیلوگرم ';\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-core-multi-select-row',\r\n templateUrl: './core-multi-select-row.component.html',\r\n styleUrls: ['./core-multi-select-row.component.scss'],\r\n})\r\nexport class CoreMultiSelectRowComponent {\r\n @Input() set isSelected(value: boolean) {\r\n this._isSelected = value;\r\n }\r\n @Input() item!: any;\r\n @Output() onSelect: EventEmitter<boolean> = new EventEmitter();\r\n _isSelected = false;\r\n\r\n onItemSelect() {\r\n this.onSelect.emit(true);\r\n }\r\n}\r\n","<li [ngClass]=\"{ active: _isSelected }\" (click)=\"onItemSelect()\">\r\n {{ item.title }}\r\n</li>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\ninterface ISelectedItemsDictionary {\r\n [index: string]: any;\r\n}\r\n@Component({\r\n selector: 'core-multi-select',\r\n templateUrl: './core-multi-select.component.html',\r\n styleUrls: ['./core-multi-select.component.scss'],\r\n})\r\nexport class CoreMultiSelectComponent {\r\n selectedItems: ISelectedItemsDictionary[] = [];\r\n newItems: any[] = [];\r\n isOpenMenu = false;\r\n _items: any = [];\r\n _defaultValue = [];\r\n _titleKey!: any;\r\n _valueKey!: any;\r\n initCounter = 0;\r\n hasTitleKey = false;\r\n hasValueKey = false;\r\n hasItems = false;\r\n hasDefaultValue = false;\r\n text = '';\r\n @Input() set titleKey(data: any) {\r\n this._titleKey = data;\r\n this.hasTitleKey = true;\r\n this.init();\r\n }\r\n @Input() set valueKey(data: any) {\r\n this._valueKey = data;\r\n this.hasValueKey = true;\r\n this.init();\r\n }\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.hasItems = true;\r\n this.init();\r\n }\r\n @Input({ required: true }) set defaultValue(data: any) {\r\n this._defaultValue = data;\r\n this.hasDefaultValue = true;\r\n this.init();\r\n this.initializeDefaultValue();\r\n this.showText();\r\n }\r\n @Input() label: string = '';\r\n @Input() singleSelectItems: string[] = [];\r\n @Output() onItemSelected = new EventEmitter<any[]>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n\r\n get isSelectedItems() {\r\n return Object.keys(this.selectedItems).length > 0 ? true : false;\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n init() {\r\n if (\r\n this.hasTitleKey &&\r\n this.hasValueKey &&\r\n this.hasItems &&\r\n this.hasDefaultValue\r\n ) {\r\n this.newItems = this.changeItemsType(this._items);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeDefaultValue();\r\n }\r\n\r\n initializeDefaultValue() {\r\n if (this._defaultValue.length == 0) return;\r\n this._defaultValue.forEach((item1: any, index: number) => {\r\n const value = this.newItems.find((item: any) => item.value === item1);\r\n if (value) {\r\n this.selectedItems[value.value] = value;\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.showText();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onItemSelect(selectedItem: any, isFromUi: boolean): void {\r\n if (this.selectedItems[selectedItem.value]) {\r\n delete this.selectedItems[selectedItem.value];\r\n } else {\r\n let flag = false;\r\n Object.keys(this.selectedItems).forEach((item) => {\r\n if (this.singleSelectItems.find((data) => data == item)) {\r\n flag = true;\r\n return;\r\n }\r\n });\r\n if (\r\n Object.keys(this.selectedItems).length > 0 &&\r\n this.singleSelectItems.find((data) => data == selectedItem.value)\r\n ) {\r\n } else if (!flag) this.selectedItems[selectedItem.value] = selectedItem;\r\n }\r\n this.showText();\r\n this.onItemSelected.emit(this.selectedItems);\r\n }\r\n\r\n showText() {\r\n let text = '';\r\n const items = Object.values(this.selectedItems);\r\n items.forEach((item1: any, index: number) => {\r\n if (index < items.length - 1) {\r\n text = item1.title + ' , ' + text;\r\n } else {\r\n text = text + item1.title;\r\n }\r\n });\r\n this.text = text;\r\n this.inputFormControl.setValue(this.text);\r\n }\r\n\r\n changeItemsType(items: any[]): any[] {\r\n return items.map((item) => {\r\n return {\r\n title: item[this._titleKey],\r\n value: item[this._valueKey],\r\n };\r\n });\r\n }\r\n\r\n openMenuClick() {\r\n this.isOpenMenu = !this.isOpenMenu;\r\n }\r\n\r\n focusOut() {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n }\r\n}\r\n","<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut()\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n selectError: inputFormControl.touched && inputFormControl.errors\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span class=\"placeholder-top\" *ngIf=\"isSelectedItems\">{{ label }}</span>\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n class=\"text-content text-right\"\r\n [ngClass]=\"[\r\n label.length > 0 && !isSelectedItems ? 'placeholder' : 'selected'\r\n ]\"\r\n >{{ label.length > 0 && !isSelectedItems ? label : text }}</span\r\n >\r\n </div>\r\n <ul class=\"menu\" [ngClass]=\"{ 'menu-open': isOpenMenu }\">\r\n <app-core-multi-select-row\r\n *ngFor=\"let item of newItems\"\r\n [item]=\"item\"\r\n [isSelected]=\"selectedItems[item.value] ? true : false\"\r\n (onSelect)=\"onItemSelect(item, true)\"\r\n >\r\n </app-core-multi-select-row>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { MenuItem } from '../falconTypes';\r\n\r\n@Component({\r\n selector: 'core-select-search',\r\n templateUrl: './core-select-search.component.html',\r\n styleUrls: ['./core-select-search.component.scss'],\r\n})\r\nexport class CoreSelectSearchComponent<T> {\r\n selectedItem: MenuItem<T> = {} as MenuItem<T>;\r\n titleKeyObject!: keyof string | number;\r\n valueKeyObject!: keyof string | number;\r\n newItems: MenuItem<T>[] = [];\r\n isOpenMenu = false;\r\n _items: any = [];\r\n keys: string[] = [];\r\n searchText = '';\r\n _defaultValue!: T;\r\n @Input() titleKey!: string;\r\n @Input() valueKey!: string;\r\n @Input() size: string = 'small';\r\n @Input() searchKeys: string = '';\r\n @Input() canAddValueKeyAndTitleKeyInSearchKeys: boolean = true;\r\n @Input() canHighlightBackground = false;\r\n @Input() set items(data: any) {\r\n this._items = data;\r\n this.init();\r\n }\r\n @Input() set defaultValue(data: T) {\r\n this._defaultValue = data;\r\n this.init();\r\n }\r\n @Input() label: string = '';\r\n @Input() disabled: boolean = false;\r\n @Output() onItemSelected = new EventEmitter<any>();\r\n @Input() inputFormControl: FormControl = new FormControl('', []);\r\n filteredItems: BehaviorSubject<any[]> = new BehaviorSubject<any[]>([]);\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n init() {\r\n type ObjectKey = (typeof this._items)[0];\r\n this.titleKeyObject = this.titleKey as ObjectKey;\r\n this.valueKeyObject = this.valueKey as ObjectKey;\r\n this.newItems = this.changeItemsType(this._items);\r\n this.inputFormControl.setValue(this._defaultValue);\r\n this.onItemSelect(\r\n this.newItems.find((item) => item.value == this._defaultValue),\r\n false\r\n );\r\n this.changeSearchText();\r\n }\r\n ngOnInit(): void {\r\n this.keys = this.searchKeys.length > 0 ? this.searchKeys.split(',') : [];\r\n this.init();\r\n this.changeSearchText();\r\n }\r\n\r\n changeItemsType(items: any[]): MenuItem<T>[] {\r\n return items.map((item) => {\r\n let result: any = {\r\n title: item[this.titleKeyObject],\r\n value: item[this.valueKeyObject],\r\n };\r\n this.keys.forEach((key) => {\r\n result[key] = item[key];\r\n });\r\n return result;\r\n });\r\n }\r\n async changeSearchText() {\r\n if (this.searchText.length > 0) {\r\n this.filteredItems.next(\r\n this.newItems.filter((item: any) => {\r\n let isMach = false;\r\n if (\r\n (this.canAddValueKeyAndTitleKeyInSearchKeys ||\r\n this.keys.length == 0) &&\r\n (item.title.includes(this.searchText) ||\r\n item.value.toLowerCase().includes(this.searchText.toLowerCase()))\r\n ) {\r\n isMach = true;\r\n }\r\n if (this.keys.length > 0) {\r\n this.keys.forEach((key) => {\r\n if (\r\n item[key]\r\n .toString()\r\n .toLowerCase()\r\n .includes(this.searchText.toLowerCase())\r\n ) {\r\n isMach = true;\r\n }\r\n });\r\n }\r\n\r\n return isMach;\r\n })\r\n );\r\n } else {\r\n this.filteredItems.next(this.newItems);\r\n }\r\n }\r\n openMenuClick() {\r\n if (this.disabled) return;\r\n this.isOpenMenu = !this.isOpenMenu;\r\n }\r\n\r\n onItemSelect(selectedItem: MenuItem<T> | undefined, isFromUi: boolean): void {\r\n if (isFromUi) this.inputFormControl.markAsTouched();\r\n this.isOpenMenu = false;\r\n if (!selectedItem) {\r\n this.selectedItem = {} as MenuItem<T>;\r\n return;\r\n }\r\n this.selectedItem = selectedItem;\r\n const mainItem = this._items.find(\r\n (item: any) => item[this.valueKeyObject] === selectedItem.value\r\n );\r\n this.inputFormControl.setValue(selectedItem.value);\r\n this.clearText();\r\n this.onItemSelected.emit(mainItem);\r\n }\r\n focusOut(event: FocusEvent) {\r\n const target = event.relatedTarget as HTMLElement;\r\n if (!this.elementRef.nativeElement.contains(target)) {\r\n this.isOpenMenu = false;\r\n this.inputFormControl.markAsTouched();\r\n this.clearText();\r\n }\r\n }\r\n clearText() {\r\n this.searchText = '';\r\n this.changeSearchText();\r\n }\r\n}\r\n","<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">موردی یافت نشد</b>\r\n </div>\r\n <ul\r\n class=\"menu\"\r\n *ngIf=\"newItems.length > 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <div\r\n *ngIf=\"newItems.length > 4\"\r\n class=\"grid grid-cols-12 h-11 items-center pe-5 ps-5 bg-white shadow-md\"\r\n >\r\n <input\r\n placeholder=\"جستجو \"\r\n class=\"col-span-11 bg-transparent focus:outline-none min-h-9\"\r\n [(ngModel)]=\"searchText\"\r\n (keyup)=\"changeSearchText()\"\r\n />\r\n <span class=\"md:h-7 flex justify-center\">\r\n <search-icon\r\n class=\"transform scale-x-[-1] fill-icon-color hover:fill-primary-color hover:cursor-pointer\"\r\n >\r\n </search-icon\r\n ></span>\r\n </div>\r\n <li\r\n *ngFor=\"let item of filteredItems | async\"\r\n [ngClass]=\"{ active: item.value === selectedItem.value }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >این فیلد خالی است</span\r\n >\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CoreBtnComponent } from './core-btn/core-btn.component';\r\nimport { CoreSpinnerComponent } from './core-spinner/core-spinner.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreAutoCompleteComponent } from './core-auto-complete/core-auto-complete.component';\r\nimport { CoreCardComponent } from './core-card/core-card.component';\r\nimport { CoreCheckboxComponent } from './core-checkbox/core-checkbox.component';\r\nimport { CoreConfirmDialogComponent } from './core-confirm-dialog/core-confirm-dialog.component';\r\nimport { CoreDatePickerComponent } from './core-date-picker/core-date-picker.component';\r\nimport { CoreInputComponent } from './core-input/core-input.component';\r\nimport { CorePageTitleComponent } from './core-page-title/core-page-title.component';\r\nimport { CoreRadioButtonsComponent } from './core-radio-buttons/core-radio-buttons.component';\r\nimport { CoreSearchBoxComponent } from './core-search-box/core-search-box.component';\r\nimport { CoreSelectComponent } from './core-select/core-select.component';\r\nimport { CoreSwitchComponent } from './core-switch/core-switch.component';\r\nimport { CoreTableComponent } from './core-table/core-table/core-table.component';\r\nimport { CoreColumnDatePickerComponent } from './core-table/core-column-date-picker/core-column-date-picker.component';\r\nimport { CoreColumnInputComponent } from './core-table/core-column-input/core-column-input.component';\r\nimport { CoreColumnSelectorComponent } from './core-table/core-column-selector/core-column-selector.component';\r\nimport { CoreTableActionButtonsColumnComponent } from './core-table/core-table-action-buttons-column/core-table-action-buttons-column.component';\r\nimport { CoreTableActionColumnComponent } from './core-table/core-table-action-column/core-table-action-column.component';\r\nimport { CoreTableCardManagerComponent } from './core-table/core-table-card-manager/core-table-card-manager.component';\r\nimport { CoreTableColumnManagerComponent } from './core-table/core-table-column-manager/core-table-column-manager.component';\r\nimport { CoreTableFilterDialogComponent } from './core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component';\r\nimport { CoreTableNoContentComponent } from './core-table/core-table-no-content/core-table-no-content.component';\r\nimport { CoreTableRowSelectorColumnComponent } from './core-table/core-table-row-selector-column/core-table-row-selector-column.component';\r\nimport { CoreTableShamsiDateComponent } from './core-table/core-table-shamsi-date/core-table-shamsi-date.component';\r\nimport { CoreTableStatusColumnComponent } from './core-table/core-table-status-column/core-table-status-column.component';\r\nimport { CoreTextareaComponent } from './core-textarea/core-textarea.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SearchIconComponent } from '../svg-icon/search-icon/search-icon.component';\r\nimport { CloseIconComponent } from '../svg-icon/close-icon/close-icon.component';\r\nimport { NiraSnackBarModule } from 'nira-snack-bar';\r\nimport { NiraDatePickerModule } from 'nira-date-picker';\r\nimport { CoreTimePickerComponent } from './core-time-picker/core-time-picker.component';\r\nimport { TimePickerModalComponent } from './core-time-picker/time-picker-modal/time-picker-modal.component';\r\nimport { WarningIconComponent } from '../svg-icon/warning-icon/warning-icon.component';\r\nimport { EditSquareIconComponent } from '../svg-icon/edit-square-icon/edit-square-icon.component';\r\nimport { SortDownIconComponent } from '../svg-icon/sort-down-icon/sort-down-icon.component';\r\nimport { SortSolidIconComponent } from '../svg-icon/sort-solid-icon/sort-solid-icon.component';\r\nimport { SortUpIconComponent } from '../svg-icon/sort-up-icon/sort-up-icon.component';\r\nimport { TimeIconComponent } from '../svg-icon/time-icon/time-icon.component';\r\nimport { CoreNumberComponent } from './core-number/core-number.component';\r\nimport { CaretUpIconComponent } from '../svg-icon/caret-up-icon/caret-up-icon.component';\r\nimport { TableDetailViewerManagerDirective } from '../utils/directives/table-detail-viewer-manager.directive';\r\nimport { CoreTableStatusActiveColumnComponent } from './core-table/core-table-status-active-column/core-table-status-active-column.component';\r\nimport { CoreRowPelakComponent } from './core-table/core-row-pelak/core-row-pelak.component';\r\nimport { CoreTableDetailViewerForReportComponent } from './core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component';\r\nimport { DetailViewerManagerDirective } from '../utils/directives/detail-viewer-manager.directive';\r\nimport { PelakIconComponent } from '../svg-icon/pelak-icon/pelak-icon.component';\r\nimport { PersianDigitsPipe } from './pipes/persian-digits.pipe';\r\nimport { FormControlPipe } from './pipes/form-control.pipe';\r\nimport { DigitGroupPipe } from './pipes/digit-group.pipe';\r\nimport { PriceFormatPipe } from './pipes/price-format.pipe';\r\nimport { TimeFormatPipe } from './pipes/time-format.pipe';\r\nimport { WeightPipe } from './pipes/weight.pipe';\r\nimport { ShamsiDatePipe } from './pipes/shamsi-date.pipe';\r\nimport { CalendarIconComponent } from '../svg-icon/calendar-icon/calendar-icon.component';\r\nimport { ArrowDownIconComponent } from '../svg-icon/arrow-down-icon/arrow-down-icon.component';\r\nimport { CoreMultiSelectComponent } from './core-multi-select/core-multi-select.component';\r\nimport { CoreMultiSelectRowComponent } from './core-multi-select/core-multi-select-row/core-multi-select-row.component';\r\nimport { CoreTableColorColumnComponent } from './core-table/core-table-color-column/core-table-color-column.component';\r\nimport { CoreTableTextColumnComponent } from './core-table/core-table-text-column/core-table-text-column.component';\r\nimport { CoreTableNumberColumnComponent } from './core-table/core-table-number-column/core-table-number-column.component';\r\nimport { CheckIconComponent } from '../svg-icon/check-icon/check-icon.component';\r\nimport { CoreTableSelectorColumnComponent } from './core-table/core-table-selector-column/core-table-selector-column.component';\r\nimport { CoreSelectSearchComponent } from './core-select-search/core-select-search.component';\r\nimport { CoreTableDateComponent } from './core-table/core-table-date/core-table-date.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CoreAutoCompleteComponent,\r\n CoreBtnComponent,\r\n CoreSearchBoxComponent,\r\n CoreTableColorColumnComponent,\r\n CoreCheckboxComponent,\r\n CoreDatePickerComponent,\r\n CoreConfirmDialogComponent,\r\n CoreInputComponent,\r\n CorePageTitleComponent,\r\n CoreRadioButtonsComponent,\r\n CoreSearchBoxComponent,\r\n CoreCardComponent,\r\n CoreSelectSearchComponent,\r\n CoreSelectComponent,\r\n CoreSpinnerComponent,\r\n CoreSwitchComponent,\r\n CoreColumnDatePickerComponent,\r\n CoreColumnInputComponent,\r\n CoreColumnSelectorComponent,\r\n CoreTableComponent,\r\n CoreTableActionButtonsColumnComponent,\r\n CoreTableActionColumnComponent,\r\n CoreTableCardManagerComponent,\r\n CoreTableColumnManagerComponent,\r\n CoreTableFilterDialogComponent,\r\n CoreTableTextColumnComponent,\r\n CoreTableNumberColumnComponent,\r\n CoreTableSelectorColumnComponent,\r\n CoreTableNoContentComponent,\r\n CoreTableRowSelectorColumnComponent,\r\n CoreTableShamsiDateComponent,\r\n CoreTableDateComponent,\r\n CoreTableStatusColumnComponent,\r\n TimePickerModalComponent,\r\n CoreTextareaComponent,\r\n CoreTimePickerComponent,\r\n CoreNumberComponent,\r\n PersianDigitsPipe,\r\n FormControlPipe,\r\n DigitGroupPipe,\r\n PriceFormatPipe,\r\n TimeFormatPipe,\r\n ShamsiDatePipe,\r\n WeightPipe,\r\n SearchIconComponent,\r\n CheckIconComponent,\r\n CloseIconComponent,\r\n WarningIconComponent,\r\n EditSquareIconComponent,\r\n SortDownIconComponent,\r\n CaretUpIconComponent,\r\n TimeIconComponent,\r\n SortSolidIconComponent,\r\n SortUpIconComponent,\r\n PelakIconComponent,\r\n CoreMultiSelectComponent,\r\n CoreMultiSelectRowComponent,\r\n TableDetailViewerManagerDirective,\r\n DetailViewerManagerDirective,\r\n CoreTableStatusActiveColumnComponent,\r\n CoreRowPelakComponent,\r\n CoreTableDetailViewerForReportComponent,\r\n CalendarIconComponent,\r\n ArrowDownIconComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n NiraSnackBarModule,\r\n NiraDatePickerModule,\r\n ],\r\n exports: [\r\n CoreAutoCompleteComponent,\r\n CoreCardComponent,\r\n CoreCheckboxComponent,\r\n CoreDatePickerComponent,\r\n CorePageTitleComponent,\r\n CoreSelectSearchComponent,\r\n CoreSelectComponent,\r\n CoreRadioButtonsComponent,\r\n CoreInputComponent,\r\n CoreSpinnerComponent,\r\n CoreSwitchComponent,\r\n CoreMultiSelectComponent,\r\n CoreTableComponent,\r\n CoreBtnComponent,\r\n CoreTimePickerComponent,\r\n CoreNumberComponent,\r\n CoreConfirmDialogComponent,\r\n PersianDigitsPipe,\r\n CoreSearchBoxComponent,\r\n FormControlPipe,\r\n DigitGroupPipe,\r\n PriceFormatPipe,\r\n ShamsiDatePipe,\r\n TimeFormatPipe,\r\n WeightPipe,\r\n ],\r\n})\r\nexport class FalconLibModule {}\r\n","/*\r\n * Public API Surface of falcon-lib\r\n */\r\n\r\nexport * from './lib/falcon-lib.module';\r\nexport * from './lib/falconTypes';\r\nexport * from './lib/core-btn/core-btn.component';\r\nexport * from './lib/core-spinner/core-spinner.component';\r\nexport * from './lib/core-btn/core-btn.component';\r\nexport * from './lib/core-input/core-input.component';\r\nexport * from './lib/core-select/core-select.component';\r\nexport * from './lib/core-select-search/core-select-search.component';\r\nexport * from './lib/core-checkbox/core-checkbox.component';\r\nexport * from './lib/core-radio-buttons/core-radio-buttons.component';\r\nexport * from './lib/core-confirm-dialog/core-confirm-dialog.component';\r\nexport * from './lib/core-date-picker/core-date-picker.component';\r\nexport * from './lib/core-time-picker/core-time-picker.component';\r\nexport * from './lib/core-switch/core-switch.component';\r\nexport * from './lib/core-page-title/core-page-title.component';\r\nexport * from './lib/core-card/core-card.component';\r\nexport * from './lib/core-table/core-table/core-table.component';\r\nexport * from './lib/core-auto-complete/core-auto-complete.component';\r\nexport * from './lib/core-multi-select/core-multi-select.component';\r\nexport * from './lib/core-search-box/core-search-box.component';\r\nexport * from './lib/core-number/core-number.component';\r\nexport * from './lib/pipes/digit-group.pipe';\r\nexport * from './lib/pipes/form-control.pipe';\r\nexport * from './lib/pipes/persian-digits.pipe';\r\nexport * from './lib/pipes/price-format.pipe';\r\nexport * from './lib/pipes/shamsi-date.pipe';\r\nexport * from './lib/pipes/time-format.pipe';\r\nexport * from './lib/pipes/weight.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CoreCardComponent","i2.CloseIconComponent","i1","i2","i3.CoreSpinnerComponent","i1.PersianDigitsPipe","i3.CoreNumberComponent","i2.CoreInputComponent","i2.SearchIconComponent","i2.WarningIconComponent","i3.ArrowDownIconComponent","DetailViewers","i3.SearchIconComponent","i4.CalendarIconComponent","i3.CoreColumnInputComponent","i4.CloseIconComponent","i3","i4.CheckIconComponent","i5.CloseIconComponent","i2.EditSquareIconComponent","i1.CoreCheckboxComponent","moment","i2.ShamsiDatePipe","i2.CoreRadioButtonsComponent","i3.CheckIconComponent","i2.PelakIconComponent","i3.PersianDigitsPipe","i3.CoreTableColorColumnComponent","i4.CoreTableActionButtonsColumnComponent","i5.CoreTableActionColumnComponent","i6.CoreTableRowSelectorColumnComponent","i7.CoreTableShamsiDateComponent","i8.CoreTableDateComponent","i9.CoreTableStatusColumnComponent","i10.CoreNumberComponent","i11.TableDetailViewerManagerDirective","i12.CoreTableStatusActiveColumnComponent","i13.CoreRowPelakComponent","i14.PersianDigitsPipe","i6.PersianDigitsPipe","i4.CoreNumberComponent","i5.CheckIconComponent","i6.CloseIconComponent","i3.CoreSelectComponent","i2.CaretUpIconComponent","i6.CoreTableTextColumnComponent","i7.CoreTableNumberColumnComponent","i8.CoreTableSelectorColumnComponent","i9.CoreTableRowSelectorColumnComponent","i10.CoreTableShamsiDateComponent","i11.CoreTableDateComponent","i12.CoreTableStatusColumnComponent","i13.TableDetailViewerManagerDirective","i14.CoreTableStatusActiveColumnComponent","i15.CoreRowPelakComponent","i16.CoreTableDetailViewerForReportComponent","i3.CoreCardComponent","i4.CoreColumnDatePickerComponent","i5.CoreColumnInputComponent","i6.CoreColumnSelectorComponent","i7.CoreTableCardManagerComponent","i8.CoreTableColumnManagerComponent","i9.CoreTableNoContentComponent","i10.SortDownIconComponent","i11.SortSolidIconComponent","i12.SortUpIconComponent","i3.CoreBtnComponent","i4.CoreCheckboxComponent","i5.CoreCardComponent","i2.CoreBtnComponent","i4.TimeIconComponent","i2.CoreMultiSelectRowComponent","i4.WarningIconComponent","i5.ArrowDownIconComponent"],"mappings":"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"}
|