nira-falcon 0.1.26 → 0.1.28

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.
Files changed (27) hide show
  1. package/esm2022/lib/core-table/core-table/core-table.component.mjs +9 -3
  2. package/esm2022/lib/core-table/core-table-card-manager/core-table-card-manager.component.mjs +15 -14
  3. package/esm2022/lib/core-table/core-table-color-column/core-table-color-column.component.mjs +48 -0
  4. package/esm2022/lib/core-table/core-table-column-manager/core-table-column-manager.component.mjs +23 -15
  5. package/esm2022/lib/core-table/core-table-number-column/core-table-number-column.component.mjs +55 -0
  6. package/esm2022/lib/core-table/core-table-selector-column/core-table-selector-column.component.mjs +73 -0
  7. package/esm2022/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.mjs +33 -5
  8. package/esm2022/lib/core-table/core-table-status-column/core-table-status-column.component.mjs +34 -4
  9. package/esm2022/lib/core-table/core-table-text-column/core-table-text-column.component.mjs +55 -0
  10. package/esm2022/lib/falcon-lib.module.mjs +16 -1
  11. package/esm2022/svg-icon/check-icon/check-icon.component.mjs +11 -0
  12. package/esm2022/utils/constants.mjs +2 -1
  13. package/fesm2022/nira-falcon.mjs +292 -14
  14. package/fesm2022/nira-falcon.mjs.map +1 -1
  15. package/lib/core-table/core-table/core-table.component.d.ts +3 -1
  16. package/lib/core-table/core-table-color-column/core-table-color-column.component.d.ts +17 -0
  17. package/lib/core-table/core-table-column-manager/core-table-column-manager.component.d.ts +3 -1
  18. package/lib/core-table/core-table-number-column/core-table-number-column.component.d.ts +16 -0
  19. package/lib/core-table/core-table-selector-column/core-table-selector-column.component.d.ts +18 -0
  20. package/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.d.ts +12 -2
  21. package/lib/core-table/core-table-status-column/core-table-status-column.component.d.ts +12 -1
  22. package/lib/core-table/core-table-text-column/core-table-text-column.component.d.ts +16 -0
  23. package/lib/falcon-lib.module.d.ts +63 -58
  24. package/package.json +1 -1
  25. package/svg-icon/check-icon/check-icon.component.d.ts +5 -0
  26. package/utils/constants.d.ts +1 -0
  27. package/styles.css +0 -1
@@ -3,17 +3,19 @@ import { COLUMNS_TYPES } from '../../../utils/constants';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "nira-snack-bar";
5
5
  import * as i2 from "@angular/common";
6
- import * as i3 from "../core-table-action-buttons-column/core-table-action-buttons-column.component";
7
- import * as i4 from "../core-table-action-column/core-table-action-column.component";
8
- import * as i5 from "../core-table-row-selector-column/core-table-row-selector-column.component";
9
- import * as i6 from "../core-table-shamsi-date/core-table-shamsi-date.component";
10
- import * as i7 from "../core-table-status-column/core-table-status-column.component";
11
- import * as i8 from "../../core-number/core-number.component";
12
- import * as i9 from "../../../utils/directives/table-detail-viewer-manager.directive";
13
- import * as i10 from "../core-table-status-active-column/core-table-status-active-column.component";
14
- import * as i11 from "../core-row-pelak/core-row-pelak.component";
15
- import * as i12 from "../core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component";
16
- import * as i13 from "../../pipes/persian-digits.pipe";
6
+ import * as i3 from "../core-table-color-column/core-table-color-column.component";
7
+ import * as i4 from "../core-table-action-buttons-column/core-table-action-buttons-column.component";
8
+ import * as i5 from "../core-table-action-column/core-table-action-column.component";
9
+ import * as i6 from "../core-table-text-column/core-table-text-column.component";
10
+ import * as i7 from "../core-table-number-column/core-table-number-column.component";
11
+ import * as i8 from "../core-table-selector-column/core-table-selector-column.component";
12
+ import * as i9 from "../core-table-row-selector-column/core-table-row-selector-column.component";
13
+ import * as i10 from "../core-table-shamsi-date/core-table-shamsi-date.component";
14
+ import * as i11 from "../core-table-status-column/core-table-status-column.component";
15
+ import * as i12 from "../../../utils/directives/table-detail-viewer-manager.directive";
16
+ import * as i13 from "../core-table-status-active-column/core-table-status-active-column.component";
17
+ import * as i14 from "../core-row-pelak/core-row-pelak.component";
18
+ import * as i15 from "../core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component";
17
19
  export class CoreTableColumnManagerComponent {
18
20
  get columnsTypes() {
19
21
  return COLUMNS_TYPES;
@@ -22,6 +24,7 @@ export class CoreTableColumnManagerComponent {
22
24
  this.niraSnackBar = niraSnackBar;
23
25
  this.rowSelector = undefined;
24
26
  this.onColumnClicked = new EventEmitter();
27
+ this.onColumnValueChanged = new EventEmitter();
25
28
  }
26
29
  getSelectorData(data, key) {
27
30
  if (!key) {
@@ -40,7 +43,7 @@ export class CoreTableColumnManagerComponent {
40
43
  }
41
44
  }
42
45
  onTextColumnClicked(column, data) {
43
- if (!column.coptToClipboard)
46
+ if (!column.copyToClipboard)
44
47
  return;
45
48
  navigator.clipboard
46
49
  .writeText(data)
@@ -55,6 +58,9 @@ export class CoreTableColumnManagerComponent {
55
58
  clicked(val) {
56
59
  this.onColumnClicked.emit(val);
57
60
  }
61
+ columnValueChanged(val) {
62
+ this.onColumnValueChanged.emit(val);
63
+ }
58
64
  combinedData(detailViewer, data) {
59
65
  return {
60
66
  detailViewer: detailViewer,
@@ -62,11 +68,11 @@ export class CoreTableColumnManagerComponent {
62
68
  };
63
69
  }
64
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColumnManagerComponent, deps: [{ token: i1.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: { data: "data", column: "column", allTableData: "allTableData", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked" }, ngImport: i0, template: "<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 <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-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 <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.coptToClipboard }\"\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 >{{ data[column.key] | persianDigits }}</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\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", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.CoreTableActionButtonsColumnComponent, selector: "app-core-table-action-buttons-column", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: i4.CoreTableActionColumnComponent, selector: "app-core-table-action-column", inputs: ["data", "column"] }, { kind: "component", type: i5.CoreTableRowSelectorColumnComponent, selector: "app-core-table-row-selector-column", inputs: ["data", "column", "allTableData", "rowSelector"] }, { kind: "component", type: i6.CoreTableShamsiDateComponent, selector: "app-core-table-shamsi-date", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: i7.CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: ["data", "column"] }, { kind: "component", type: i8.CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowIRR"] }, { kind: "directive", type: i9.TableDetailViewerManagerDirective, selector: "[tableDetailViewerManager]", inputs: ["detailViewerData"] }, { kind: "component", type: i10.CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: ["data", "column"] }, { kind: "component", type: i11.CoreRowPelakComponent, selector: "app-core-row-pelak", inputs: ["data", "column"] }, { kind: "component", type: i12.CoreTableDetailViewerForReportComponent, selector: "core-table-detail-viewer-for-report", inputs: ["data", "column"] }, { kind: "pipe", type: i13.PersianDigitsPipe, name: "persianDigits" }] }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: { data: "data", column: "column", allTableData: "allTableData", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<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\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", styles: [""], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.CoreTableColorColumnComponent, selector: "core-table-color-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: i4.CoreTableActionButtonsColumnComponent, selector: "app-core-table-action-buttons-column", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: i5.CoreTableActionColumnComponent, selector: "app-core-table-action-column", inputs: ["data", "column"] }, { kind: "component", type: i6.CoreTableTextColumnComponent, selector: "core-table-text-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: i7.CoreTableNumberColumnComponent, selector: "core-table-number-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: i8.CoreTableSelectorColumnComponent, selector: "core-table-selector-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: i9.CoreTableRowSelectorColumnComponent, selector: "app-core-table-row-selector-column", inputs: ["data", "column", "allTableData", "rowSelector"] }, { kind: "component", type: i10.CoreTableShamsiDateComponent, selector: "app-core-table-shamsi-date", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: i11.CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "directive", type: i12.TableDetailViewerManagerDirective, selector: "[tableDetailViewerManager]", inputs: ["detailViewerData"] }, { kind: "component", type: i13.CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: i14.CoreRowPelakComponent, selector: "app-core-row-pelak", inputs: ["data", "column"] }, { kind: "component", type: i15.CoreTableDetailViewerForReportComponent, selector: "core-table-detail-viewer-for-report", inputs: ["data", "column"] }] }); }
66
72
  }
67
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColumnManagerComponent, decorators: [{
68
74
  type: Component,
69
- args: [{ selector: 'app-core-table-column-manager', template: "<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 <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-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 <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.coptToClipboard }\"\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 >{{ data[column.key] | persianDigits }}</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\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" }]
75
+ args: [{ selector: 'app-core-table-column-manager', template: "<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\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" }]
70
76
  }], ctorParameters: function () { return [{ type: i1.NiraSnackBarService }]; }, propDecorators: { data: [{
71
77
  type: Input,
72
78
  args: [{ required: true }]
@@ -81,5 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
81
87
  args: [{ required: false }]
82
88
  }], onColumnClicked: [{
83
89
  type: Output
90
+ }], onColumnValueChanged: [{
91
+ type: Output
84
92
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyL2NvcmUtdGFibGUtY29sdW1uLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlci9jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRekQsTUFBTSxPQUFPLCtCQUErQjtJQU8xQyxJQUFJLFlBQVk7UUFDZCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBTnpCLGdCQUFXLEdBQ3JDLFNBQVMsQ0FBQztRQUNGLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFJVixDQUFDO0lBQ3pELGVBQWUsQ0FBQyxJQUFTLEVBQUUsR0FBVztRQUNwQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQjthQUFNO1lBQ0wsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDdkIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sT0FBTyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUNELG1CQUFtQixDQUFDLE1BQVcsRUFBRSxJQUFZO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZTtZQUFFLE9BQU87UUFDcEMsU0FBUyxDQUFDLFNBQVM7YUFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQzthQUNmLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3pDLFdBQVcsRUFBRSxTQUFTO2dCQUN0QixRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLENBQUMsR0FBUTtRQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxZQUFZLENBQUMsWUFBaUIsRUFBRSxJQUFTO1FBQ3ZDLE9BQU87WUFDTCxZQUFZLEVBQUUsWUFBWTtZQUMxQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7SUFDSixDQUFDOytHQS9DVSwrQkFBK0I7bUdBQS9CLCtCQUErQiw0TkNWNUMsb3ZHQW1HQTs7NEZEekZhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSwrQkFBK0I7MEdBS2QsSUFBSTtzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsWUFBWTtzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0csV0FBVztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBRWhCLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOaXJhU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnbmlyYS1zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBDT0xVTU5TX1RZUEVTIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVRhYmxlQ29sdW1uTWFuYWdlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZGF0YSE6IGFueTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW4hOiBhbnk7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgYWxsVGFibGVEYXRhITogYW55O1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSByb3dTZWxlY3RvcjogQmVoYXZpb3JTdWJqZWN0PGFueT4gfCB1bmRlZmluZWQgPVxyXG4gICAgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBvbkNvbHVtbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGdldCBjb2x1bW5zVHlwZXMoKSB7XHJcbiAgICByZXR1cm4gQ09MVU1OU19UWVBFUztcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuaXJhU25hY2tCYXI6IE5pcmFTbmFja0JhclNlcnZpY2UpIHt9XHJcbiAgZ2V0U2VsZWN0b3JEYXRhKGRhdGE6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIGlmICgha2V5KSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IHNwbGl0ID0ga2V5LnNwbGl0KCcuJyk7XHJcbiAgICBpZiAoc3BsaXQubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHJldHVybiBkYXRhW2tleV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgbmV3RGF0YSA9IGRhdGE7XHJcbiAgICAgIHNwbGl0LmZvckVhY2goKG5ld0tleSkgPT4ge1xyXG4gICAgICAgIG5ld0RhdGEgPSBuZXdEYXRhW25ld0tleV07XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uOiBhbnksIGRhdGE6IHN0cmluZykge1xyXG4gICAgaWYgKCFjb2x1bW4uY29wdFRvQ2xpcGJvYXJkKSByZXR1cm47XHJcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXHJcbiAgICAgIC53cml0ZVRleHQoZGF0YSlcclxuICAgICAgLnRoZW4oKGUpID0+IHtcclxuICAgICAgICB0aGlzLm5pcmFTbmFja0Jhci5zaG93KCfYqNinINmF2YjZgdmC24zYqiDaqdm+24wg2LTYrycsIHtcclxuICAgICAgICAgIHN0YXR1c0NsYXNzOiAnc3VjY2VzcycsXHJcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlKSA9PiBjb25zb2xlLmVycm9yKGUpKTtcclxuICB9XHJcbiAgY2xpY2tlZCh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5vbkNvbHVtbkNsaWNrZWQuZW1pdCh2YWwpO1xyXG4gIH1cclxuICBjb21iaW5lZERhdGEoZGV0YWlsVmlld2VyOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGV0YWlsVmlld2VyOiBkZXRhaWxWaWV3ZXIsXHJcbiAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8Y29udGFpbmVyLWVsZW1lbnQgW25nU3dpdGNoXT1cImNvbHVtbi50eXBlXCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICA8YXBwLWNvcmUtdGFibGUtcm93LXNlbGVjdG9yLWNvbHVtblxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1JcIlxyXG4gICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW2FsbFRhYmxlRGF0YV09XCJhbGxUYWJsZURhdGFcIlxyXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gID48L2FwcC1jb3JlLXRhYmxlLXJvdy1zZWxlY3Rvci1jb2x1bW4+XHJcbiAgPGFwcC1jb3JlLXRhYmxlLXN0YXR1cy1hY3RpdmUtY29sdW1uXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlNUQVRVU19BQ1RJVkVcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgPjwvYXBwLWNvcmUtdGFibGUtc3RhdHVzLWFjdGl2ZS1jb2x1bW4+XHJcbiAgPGFwcC1jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW5cclxuICAgICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5zVHlwZXMuU1RBVFVTXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gID48L2FwcC1jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4+XHJcbiAgPGFwcC1jb3JlLXRhYmxlLWFjdGlvbi1jb2x1bW5cclxuICAgICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5zVHlwZXMuQUNUSU9OXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gID48L2FwcC1jb3JlLXRhYmxlLWFjdGlvbi1jb2x1bW4+XHJcbiAgPGFwcC1jb3JlLXRhYmxlLWFjdGlvbi1idXR0b25zLWNvbHVtblxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1wiXHJcbiAgICAob25DbGljayk9XCJjbGlja2VkKCRldmVudClcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgPjwvYXBwLWNvcmUtdGFibGUtYWN0aW9uLWJ1dHRvbnMtY29sdW1uPlxyXG4gIDxhcHAtY29yZS10YWJsZS1zaGFtc2ktZGF0ZVxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbnNUeXBlcy5TSEFNU0lfREFURVwiXHJcbiAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICA+XHJcbiAgPC9hcHAtY29yZS10YWJsZS1zaGFtc2ktZGF0ZT5cclxuICA8YXBwLWNvcmUtcm93LXBlbGFrXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlBFTEFLXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gID48L2FwcC1jb3JlLXJvdy1wZWxhaz5cclxuICA8Y29yZS10YWJsZS1kZXRhaWwtdmlld2VyLWZvci1yZXBvcnRcclxuICAgICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5zVHlwZXMuREVUQUlMX1ZJRVdFUl9GT1JfUkVQT1JUXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gID48L2NvcmUtdGFibGUtZGV0YWlsLXZpZXdlci1mb3ItcmVwb3J0PlxyXG4gIDxzcGFuXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlRFWFRcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnY3Vyc29yLXBvaW50ZXInOiBjb2x1bW4uY29wdFRvQ2xpcGJvYXJkIH1cIlxyXG4gICAgKGNsaWNrKT1cIm9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uLCBkYXRhW2NvbHVtbi5rZXldKVwiXHJcbiAgICB0YWJsZURldGFpbFZpZXdlck1hbmFnZXJcclxuICAgIFtkZXRhaWxWaWV3ZXJEYXRhXT1cIlxyXG4gICAgICBjb21iaW5lZERhdGEoY29sdW1uLmRldGFpbFZpZXdlciwgZGF0YVtjb2x1bW4uZGV0YWlsVmlld2VyPy5rZXldKVxyXG4gICAgXCJcclxuICAgID57eyBkYXRhW2NvbHVtbi5rZXldIHwgcGVyc2lhbkRpZ2l0cyB9fTwvc3BhblxyXG4gID5cclxuICA8c3BhblxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbnNUeXBlcy5OVU1CRVJcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnY3Vyc29yLXBvaW50ZXInOiBjb2x1bW4uY29weVRvQ2xpcGJvYXJkLFxyXG4gICAgICBncmVlbjogZGF0YVtjb2x1bW4ua2V5XSA+IDAgJiYgY29sdW1uLmNhbkNvbG9yZnVsTnVtYmVyLFxyXG4gICAgICByZWQ6IGRhdGFbY29sdW1uLmtleV0gPCAwICYmIGNvbHVtbi5jYW5Db2xvcmZ1bE51bWJlclxyXG4gICAgfVwiXHJcbiAgICAoY2xpY2spPVwib25UZXh0Q29sdW1uQ2xpY2tlZChjb2x1bW4sIGRhdGFbY29sdW1uLmtleV0pXCJcclxuICAgIHRhYmxlRGV0YWlsVmlld2VyTWFuYWdlclxyXG4gICAgZGlyPVwibHRyXCJcclxuICAgIFtkZXRhaWxWaWV3ZXJEYXRhXT1cIlxyXG4gICAgICBjb21iaW5lZERhdGEoY29sdW1uLmRldGFpbFZpZXdlciwgZGF0YVtjb2x1bW4uZGV0YWlsVmlld2VyPy5rZXldKVxyXG4gICAgXCJcclxuICAgID48YXBwLWNvcmUtbnVtYmVyXHJcbiAgICAgIFtudW1iZXJdPVwiZGF0YVtjb2x1bW4ua2V5XVwiXHJcbiAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgW2NhblNwbGl0TnVtYmVyc109XCJ0cnVlXCJcclxuICAgICAgW2NhblNob3dXb3JkSW5Ub29sVGlwXT1cInRydWVcIlxyXG4gICAgPlxyXG4gICAgPC9hcHAtY29yZS1udW1iZXI+XHJcbiAgPC9zcGFuPlxyXG5cclxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlNFTEVDVE9SXCI+XHJcbiAgICA8c3BhblxyXG4gICAgICAqbmdJZj1cImRhdGFbY29sdW1uLmtleS5zcGxpdCgnLicpWzBdXVwiXHJcbiAgICAgIHRhYmxlRGV0YWlsVmlld2VyTWFuYWdlclxyXG4gICAgICBbZGV0YWlsVmlld2VyRGF0YV09XCJcclxuICAgICAgICBjb21iaW5lZERhdGEoXHJcbiAgICAgICAgICBjb2x1bW4uZGV0YWlsVmlld2VyLFxyXG4gICAgICAgICAgZ2V0U2VsZWN0b3JEYXRhKFxyXG4gICAgICAgICAgICBkYXRhW2NvbHVtbi5rZXkuc3BsaXQoJy4nKVswXV0sXHJcbiAgICAgICAgICAgIGNvbHVtbi5kZXRhaWxWaWV3ZXI/LmtleVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgXCJcclxuICAgICAgPnt7XHJcbiAgICAgICAgZ2V0U2VsZWN0b3JEYXRhKGRhdGFbY29sdW1uLmtleS5zcGxpdChcIi5cIilbMF1dLCBjb2x1bW4uZGF0YS5rZXkpXHJcbiAgICAgICAgICB8IHBlcnNpYW5EaWdpdHNcclxuICAgICAgfX08L3NwYW5cclxuICAgID5cclxuICA8L3NwYW4+XHJcbjwvY29udGFpbmVyLWVsZW1lbnQ+XHJcbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyL2NvcmUtdGFibGUtY29sdW1uLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlci9jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVF6RCxNQUFNLE9BQU8sK0JBQStCO0lBUzFDLElBQUksWUFBWTtRQUNkLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFSekIsZ0JBQVcsR0FDckMsU0FBUyxDQUFDO1FBQ0Ysb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUtmLENBQUM7SUFDekQsZUFBZSxDQUFDLElBQVMsRUFBRSxHQUFXO1FBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xCO2FBQU07WUFDTCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDbkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUN2QixPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxPQUFPLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsTUFBVyxFQUFFLElBQVk7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUNwQyxTQUFTLENBQUMsU0FBUzthQUNoQixTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ2YsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtnQkFDekMsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFRO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELGtCQUFrQixDQUFDLEdBQVE7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsWUFBWSxDQUFDLFlBQWlCLEVBQUUsSUFBUztRQUN2QyxPQUFPO1lBQ0wsWUFBWSxFQUFFLFlBQVk7WUFDMUIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO0lBQ0osQ0FBQzsrR0FwRFUsK0JBQStCO21HQUEvQiwrQkFBK0IsMFFDVjVDLDJxR0FvR0E7OzRGRDFGYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsK0JBQStCOzBHQUtkLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFlBQVk7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNHLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUVoQixlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5pcmFTbmFja0JhclNlcnZpY2UgfSBmcm9tICduaXJhLXNuYWNrLWJhcic7XHJcbmltcG9ydCB7IENPTFVNTlNfVFlQRVMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVDb2x1bW5NYW5hZ2VyQ29tcG9uZW50IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkYXRhITogYW55O1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbiE6IGFueTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhbGxUYWJsZURhdGEhOiBhbnk7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHJvd1NlbGVjdG9yOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCA9XHJcbiAgICB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgZ2V0IGNvbHVtbnNUeXBlcygpIHtcclxuICAgIHJldHVybiBDT0xVTU5TX1RZUEVTO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5pcmFTbmFja0JhcjogTmlyYVNuYWNrQmFyU2VydmljZSkge31cclxuICBnZXRTZWxlY3RvckRhdGEoZGF0YTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3BsaXQgPSBrZXkuc3BsaXQoJy4nKTtcclxuICAgIGlmIChzcGxpdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgcmV0dXJuIGRhdGFba2V5XTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBuZXdEYXRhID0gZGF0YTtcclxuICAgICAgc3BsaXQuZm9yRWFjaCgobmV3S2V5KSA9PiB7XHJcbiAgICAgICAgbmV3RGF0YSA9IG5ld0RhdGFbbmV3S2V5XTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgIH1cclxuICB9XHJcbiAgb25UZXh0Q29sdW1uQ2xpY2tlZChjb2x1bW46IGFueSwgZGF0YTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWNvbHVtbi5jb3B5VG9DbGlwYm9hcmQpIHJldHVybjtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcclxuICAgICAgLndyaXRlVGV4dChkYXRhKVxyXG4gICAgICAudGhlbigoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMubmlyYVNuYWNrQmFyLnNob3coJ9io2Kcg2YXZiNmB2YLbjNiqINqp2b7bjCDYtNivJywge1xyXG4gICAgICAgICAgc3RhdHVzQ2xhc3M6ICdzdWNjZXNzJyxcclxuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xyXG4gIH1cclxuICBjbGlja2VkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29sdW1uQ2xpY2tlZC5lbWl0KHZhbCk7XHJcbiAgfVxyXG4gIGNvbHVtblZhbHVlQ2hhbmdlZCh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5vbkNvbHVtblZhbHVlQ2hhbmdlZC5lbWl0KHZhbCk7XHJcbiAgfVxyXG4gIGNvbWJpbmVkRGF0YShkZXRhaWxWaWV3ZXI6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkZXRhaWxWaWV3ZXI6IGRldGFpbFZpZXdlcixcclxuICAgICAgZGF0YTogZGF0YSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxjb250YWluZXItZWxlbWVudCBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblxyXG4gIDxhcHAtY29yZS10YWJsZS1yb3ctc2VsZWN0b3ItY29sdW1uXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlJPV19TRUxFQ1RPUlwiXHJcbiAgICBbcm93U2VsZWN0b3JdPVwicm93U2VsZWN0b3JcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbYWxsVGFibGVEYXRhXT1cImFsbFRhYmxlRGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgPjwvYXBwLWNvcmUtdGFibGUtcm93LXNlbGVjdG9yLWNvbHVtbj5cclxuICA8YXBwLWNvcmUtdGFibGUtc3RhdHVzLWFjdGl2ZS1jb2x1bW5cclxuICAgICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5zVHlwZXMuU1RBVFVTX0FDVElWRVwiXHJcbiAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgIChvbkNvbHVtblZhbHVlQ2hhbmdlZCk9XCJjb2x1bW5WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgPjwvYXBwLWNvcmUtdGFibGUtc3RhdHVzLWFjdGl2ZS1jb2x1bW4+XHJcblxyXG4gIDxhcHAtY29yZS10YWJsZS1zdGF0dXMtY29sdW1uXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlNUQVRVU1wiXHJcbiAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgPjwvYXBwLWNvcmUtdGFibGUtc3RhdHVzLWNvbHVtbj5cclxuICA8YXBwLWNvcmUtdGFibGUtYWN0aW9uLWNvbHVtblxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbnNUeXBlcy5BQ1RJT05cIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgPjwvYXBwLWNvcmUtdGFibGUtYWN0aW9uLWNvbHVtbj5cclxuICA8YXBwLWNvcmUtdGFibGUtYWN0aW9uLWJ1dHRvbnMtY29sdW1uXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXCJcclxuICAgIChvbkNsaWNrKT1cImNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICA+PC9hcHAtY29yZS10YWJsZS1hY3Rpb24tYnV0dG9ucy1jb2x1bW4+XHJcbiAgPGFwcC1jb3JlLXRhYmxlLXNoYW1zaS1kYXRlXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlNIQU1TSV9EQVRFXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gID5cclxuICA8L2FwcC1jb3JlLXRhYmxlLXNoYW1zaS1kYXRlPlxyXG5cclxuICA8Y29yZS10YWJsZS1jb2xvci1jb2x1bW5cclxuICAgICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5zVHlwZXMuQ09MT1JcIlxyXG4gICAgKG9uQ29sdW1uVmFsdWVDaGFuZ2VkKT1cImNvbHVtblZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxyXG4gID48L2NvcmUtdGFibGUtY29sb3ItY29sdW1uPlxyXG4gIDxhcHAtY29yZS1yb3ctcGVsYWtcclxuICAgICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5zVHlwZXMuUEVMQUtcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgPjwvYXBwLWNvcmUtcm93LXBlbGFrPlxyXG4gIDxjb3JlLXRhYmxlLWRldGFpbC12aWV3ZXItZm9yLXJlcG9ydFxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbnNUeXBlcy5ERVRBSUxfVklFV0VSX0ZPUl9SRVBPUlRcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgPjwvY29yZS10YWJsZS1kZXRhaWwtdmlld2VyLWZvci1yZXBvcnQ+XHJcblxyXG4gIDxjb3JlLXRhYmxlLXRleHQtY29sdW1uXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiY29sdW1uc1R5cGVzLlRFWFRcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgdGFibGVEZXRhaWxWaWV3ZXJNYW5hZ2VyXHJcbiAgICBbZGV0YWlsVmlld2VyRGF0YV09XCJcclxuICAgICAgY29tYmluZWREYXRhKGNvbHVtbi5kZXRhaWxWaWV3ZXIsIGRhdGFbY29sdW1uLmRldGFpbFZpZXdlcj8ua2V5XSlcclxuICAgIFwiXHJcbiAgPlxyXG4gIDwvY29yZS10YWJsZS10ZXh0LWNvbHVtbj5cclxuXHJcbiAgPGNvcmUtdGFibGUtbnVtYmVyLWNvbHVtblxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cImNvbHVtbnNUeXBlcy5OVU1CRVJcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgdGFibGVEZXRhaWxWaWV3ZXJNYW5hZ2VyXHJcbiAgICBbZGV0YWlsVmlld2VyRGF0YV09XCJcclxuICAgICAgY29tYmluZWREYXRhKGNvbHVtbi5kZXRhaWxWaWV3ZXIsIGRhdGFbY29sdW1uLmRldGFpbFZpZXdlcj8ua2V5XSlcclxuICAgIFwiXHJcbiAgPlxyXG4gIDwvY29yZS10YWJsZS1udW1iZXItY29sdW1uPlxyXG5cclxuICA8Y29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW5cclxuICAgICpuZ1N3aXRjaENhc2U9XCJjb2x1bW5zVHlwZXMuU0VMRUNUT1JcIlxyXG4gICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgdGFibGVEZXRhaWxWaWV3ZXJNYW5hZ2VyXHJcbiAgICBbZGV0YWlsVmlld2VyRGF0YV09XCJcclxuICAgICAgY29tYmluZWREYXRhKFxyXG4gICAgICAgIGNvbHVtbi5kZXRhaWxWaWV3ZXIsXHJcbiAgICAgICAgZ2V0U2VsZWN0b3JEYXRhKFxyXG4gICAgICAgICAgZGF0YVtjb2x1bW4ua2V5LnNwbGl0KCcuJylbMF1dLFxyXG4gICAgICAgICAgY29sdW1uLmRldGFpbFZpZXdlcj8ua2V5XHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICBcIlxyXG4gID5cclxuICA8L2NvcmUtdGFibGUtc2VsZWN0b3ItY29sdW1uPlxyXG48L2NvbnRhaW5lci1lbGVtZW50PlxyXG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { cloneDeep } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "nira-snack-bar";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "../../core-number/core-number.component";
8
+ import * as i5 from "../../../svg-icon/check-icon/check-icon.component";
9
+ import * as i6 from "../../../svg-icon/close-icon/close-icon.component";
10
+ export class CoreTableNumberColumnComponent {
11
+ constructor(niraSnackBar) {
12
+ this.niraSnackBar = niraSnackBar;
13
+ this.onColumnValueChanged = new EventEmitter();
14
+ this.canEdit = false;
15
+ this.value = '';
16
+ }
17
+ setValue() {
18
+ const newData = cloneDeep(this.data);
19
+ newData[this.column.key] = this.value;
20
+ this.onColumnValueChanged.emit(newData);
21
+ this.canEdit = false;
22
+ }
23
+ onTextColumnClicked(column, data, event) {
24
+ if (event.ctrlKey && column.editable) {
25
+ this.value = data;
26
+ this.canEdit = true;
27
+ }
28
+ else if (column.copyToClipboard) {
29
+ navigator.clipboard
30
+ .writeText(data)
31
+ .then((e) => {
32
+ this.niraSnackBar.show('با موفقیت کپی شد', {
33
+ statusClass: 'success',
34
+ duration: 3000,
35
+ });
36
+ })
37
+ .catch((e) => console.error(e));
38
+ }
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableNumberColumnComponent, deps: [{ token: i1.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableNumberColumnComponent, selector: "core-table-number-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\n *ngIf=\"!canEdit\"\n [ngClass]=\"{\n 'cursor-pointer': column.copyToClipboard,\n green: data[column.key] > 0 && column.canColorfulNumber,\n red: data[column.key] < 0 && column.canColorfulNumber\n }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n>\n <app-core-number\n [number]=\"data[column.key]\"\n [type]=\"'number'\"\n [canSplitNumbers]=\"true\"\n [canShowWordInToolTip]=\"true\"\n >\n </app-core-number>\n</span>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"text\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowIRR"] }, { kind: "component", type: i5.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i6.CloseIconComponent, selector: "close-icon" }] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableNumberColumnComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'core-table-number-column', template: "<span\n *ngIf=\"!canEdit\"\n [ngClass]=\"{\n 'cursor-pointer': column.copyToClipboard,\n green: data[column.key] > 0 && column.canColorfulNumber,\n red: data[column.key] < 0 && column.canColorfulNumber\n }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n>\n <app-core-number\n [number]=\"data[column.key]\"\n [type]=\"'number'\"\n [canSplitNumbers]=\"true\"\n [canShowWordInToolTip]=\"true\"\n >\n </app-core-number>\n</span>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"text\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n" }]
46
+ }], ctorParameters: function () { return [{ type: i1.NiraSnackBarService }]; }, propDecorators: { data: [{
47
+ type: Input,
48
+ args: [{ required: true }]
49
+ }], column: [{
50
+ type: Input,
51
+ args: [{ required: true }]
52
+ }], onColumnValueChanged: [{
53
+ type: Output
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1udW1iZXItY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXRhYmxlL2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1udW1iZXItY29sdW1uL2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0FBUW5DLE1BQU0sT0FBTyw4QkFBOEI7SUFRekMsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBTDNDLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUU2QyxDQUFDO0lBRXpELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBVyxFQUFFLElBQVksRUFBRSxLQUFpQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjthQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNqQyxTQUFTLENBQUMsU0FBUztpQkFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDekMsV0FBVyxFQUFFLFNBQVM7b0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7K0dBaENVLDhCQUE4QjttR0FBOUIsOEJBQThCLHVLQ1QzQywrMkJBZ0NBOzs0RkR2QmEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDBCQUEwQjswR0FLVCxJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE5pcmFTbmFja0JhclNlcnZpY2UgfSBmcm9tICduaXJhLXNuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvcmUtdGFibGUtbnVtYmVyLWNvbHVtbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLW51bWJlci1jb2x1bW4uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVOdW1iZXJDb2x1bW5Db21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkYXRhITogYW55O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW4hOiBhbnk7XG4gIEBPdXRwdXQoKSBvbkNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY2FuRWRpdCA9IGZhbHNlO1xuICB2YWx1ZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmlyYVNuYWNrQmFyOiBOaXJhU25hY2tCYXJTZXJ2aWNlKSB7fVxuXG4gIHNldFZhbHVlKCkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdChuZXdEYXRhKTtcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uOiBhbnksIGRhdGE6IHN0cmluZywgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBjb2x1bW4uZWRpdGFibGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi5jb3B5VG9DbGlwYm9hcmQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChkYXRhKVxuICAgICAgICAudGhlbigoZSkgPT4ge1xuICAgICAgICAgIHRoaXMubmlyYVNuYWNrQmFyLnNob3coJ9io2Kcg2YXZiNmB2YLbjNiqINqp2b7bjCDYtNivJywge1xuICAgICAgICAgICAgc3RhdHVzQ2xhc3M6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgKm5nSWY9XCIhY2FuRWRpdFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnY3Vyc29yLXBvaW50ZXInOiBjb2x1bW4uY29weVRvQ2xpcGJvYXJkLFxuICAgIGdyZWVuOiBkYXRhW2NvbHVtbi5rZXldID4gMCAmJiBjb2x1bW4uY2FuQ29sb3JmdWxOdW1iZXIsXG4gICAgcmVkOiBkYXRhW2NvbHVtbi5rZXldIDwgMCAmJiBjb2x1bW4uY2FuQ29sb3JmdWxOdW1iZXJcbiAgfVwiXG4gIChjbGljayk9XCJvblRleHRDb2x1bW5DbGlja2VkKGNvbHVtbiwgZGF0YVtjb2x1bW4ua2V5XSwgJGV2ZW50KVwiXG4+XG4gIDxhcHAtY29yZS1udW1iZXJcbiAgICBbbnVtYmVyXT1cImRhdGFbY29sdW1uLmtleV1cIlxuICAgIFt0eXBlXT1cIidudW1iZXInXCJcbiAgICBbY2FuU3BsaXROdW1iZXJzXT1cInRydWVcIlxuICAgIFtjYW5TaG93V29yZEluVG9vbFRpcF09XCJ0cnVlXCJcbiAgPlxuICA8L2FwcC1jb3JlLW51bWJlcj5cbjwvc3Bhbj5cbjxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nSWY9XCJjYW5FZGl0XCI+XG4gIDxpbnB1dFxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIGNsYXNzPVwicm91bmRlZC1zbSBoLTcgcHgtMiBib3JkZXItc2xhdGUtNzAwXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gIC8+XG4gIDxjaGVjay1pY29uXG4gICAgKGNsaWNrKT1cInNldFZhbHVlKClcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcbiAgPjwvY2hlY2staWNvbj5cbiAgPGNsb3NlLWljb25cbiAgICAoY2xpY2spPVwiY2FuRWRpdCA9IGZhbHNlXCJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXG4gID48L2Nsb3NlLWljb24+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,73 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { cloneDeep } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "nira-snack-bar";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../core-select/core-select.component";
7
+ import * as i4 from "../../../svg-icon/check-icon/check-icon.component";
8
+ import * as i5 from "../../../svg-icon/close-icon/close-icon.component";
9
+ import * as i6 from "../../pipes/persian-digits.pipe";
10
+ export class CoreTableSelectorColumnComponent {
11
+ constructor(niraSnackBar) {
12
+ this.niraSnackBar = niraSnackBar;
13
+ this.onColumnValueChanged = new EventEmitter();
14
+ this.canEdit = false;
15
+ }
16
+ onChange(event) {
17
+ this.value = event;
18
+ }
19
+ setValue() {
20
+ const newData = cloneDeep(this.data);
21
+ newData[this.column.key] = this.value;
22
+ this.onColumnValueChanged.emit(newData);
23
+ this.canEdit = false;
24
+ }
25
+ onTextColumnClicked(column, data, event) {
26
+ if (event.ctrlKey && column.editable) {
27
+ this.value = data;
28
+ this.canEdit = true;
29
+ }
30
+ else if (column.copyToClipboard) {
31
+ navigator.clipboard
32
+ .writeText(data)
33
+ .then((e) => {
34
+ this.niraSnackBar.show('با موفقیت کپی شد', {
35
+ statusClass: 'success',
36
+ duration: 3000,
37
+ });
38
+ })
39
+ .catch((e) => console.error(e));
40
+ }
41
+ }
42
+ getSelectorData(data, key) {
43
+ if (!key) {
44
+ return '';
45
+ }
46
+ const split = key.split('.');
47
+ if (split.length === 1) {
48
+ return data[key];
49
+ }
50
+ else {
51
+ let newData = data;
52
+ split.forEach((newKey) => {
53
+ newData = newData[newKey];
54
+ });
55
+ return newData;
56
+ }
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableSelectorColumnComponent, deps: [{ token: i1.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableSelectorColumnComponent, selector: "core-table-selector-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n >{{\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\n | persianDigits\n }}</span\n>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-select\n class=\"block mx-4 w-80\"\n [titleKey]=\"column.data.key\"\n [valueKey]=\"column.data.value\"\n [items]=\"column.data.editableData | async\"\n (onItemSelected)=\"onChange($event)\"\n ></core-select>\n\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CoreSelectComponent, selector: "core-select", inputs: ["titleKey", "valueKey", "size", "canHighlightBackground", "items", "defaultValue", "label", "disabled", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: i4.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i5.CloseIconComponent, selector: "close-icon" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PersianDigitsPipe, name: "persianDigits" }] }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableSelectorColumnComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'core-table-selector-column', template: "<span\n *ngIf=\"!canEdit && data[column.key.split('.')[0]]\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n >{{\n getSelectorData(data[column.key.split(\".\")[0]], column.data.key)\n | persianDigits\n }}</span\n>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-select\n class=\"block mx-4 w-80\"\n [titleKey]=\"column.data.key\"\n [valueKey]=\"column.data.value\"\n [items]=\"column.data.editableData | async\"\n (onItemSelected)=\"onChange($event)\"\n ></core-select>\n\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n" }]
64
+ }], ctorParameters: function () { return [{ type: i1.NiraSnackBarService }]; }, propDecorators: { data: [{
65
+ type: Input,
66
+ args: [{ required: true }]
67
+ }], column: [{
68
+ type: Input,
69
+ args: [{ required: true }]
70
+ }], onColumnValueChanged: [{
71
+ type: Output
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7OztBQVFuQyxNQUFNLE9BQU8sZ0NBQWdDO0lBUTNDLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUwzQyx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBR3dDLENBQUM7SUFFekQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBVyxFQUFFLElBQVksRUFBRSxLQUFpQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjthQUFNLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNqQyxTQUFTLENBQUMsU0FBUztpQkFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDZixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDekMsV0FBVyxFQUFFLFNBQVM7b0JBQ3RCLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNMLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztZQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZCLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLE9BQU8sQ0FBQztTQUNoQjtJQUNILENBQUM7K0dBckRVLGdDQUFnQzttR0FBaEMsZ0NBQWdDLHlLQ1Q3Qyxxd0JBMkJBOzs0RkRsQmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLDRCQUE0QjswR0FLWCxJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDZixvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE5pcmFTbmFja0JhclNlcnZpY2UgfSBmcm9tICduaXJhLXNuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvcmUtdGFibGUtc2VsZWN0b3ItY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtc2VsZWN0b3ItY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS10YWJsZS1zZWxlY3Rvci1jb2x1bW4uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVTZWxlY3RvckNvbHVtbkNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGRhdGEhOiBhbnk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbiE6IGFueTtcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjYW5FZGl0ID0gZmFsc2U7XG4gIHZhbHVlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuaXJhU25hY2tCYXI6IE5pcmFTbmFja0JhclNlcnZpY2UpIHt9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSBldmVudDtcbiAgfVxuXG4gIHNldFZhbHVlKCkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdChuZXdEYXRhKTtcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uOiBhbnksIGRhdGE6IHN0cmluZywgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBjb2x1bW4uZWRpdGFibGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi5jb3B5VG9DbGlwYm9hcmQpIHtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcbiAgICAgICAgLndyaXRlVGV4dChkYXRhKVxuICAgICAgICAudGhlbigoZSkgPT4ge1xuICAgICAgICAgIHRoaXMubmlyYVNuYWNrQmFyLnNob3coJ9io2Kcg2YXZiNmB2YLbjNiqINqp2b7bjCDYtNivJywge1xuICAgICAgICAgICAgc3RhdHVzQ2xhc3M6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IGNvbnNvbGUuZXJyb3IoZSkpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdG9yRGF0YShkYXRhOiBhbnksIGtleTogc3RyaW5nKSB7XG4gICAgaWYgKCFrZXkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgc3BsaXQgPSBrZXkuc3BsaXQoJy4nKTtcbiAgICBpZiAoc3BsaXQubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gZGF0YVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbmV3RGF0YSA9IGRhdGE7XG4gICAgICBzcGxpdC5mb3JFYWNoKChuZXdLZXkpID0+IHtcbiAgICAgICAgbmV3RGF0YSA9IG5ld0RhdGFbbmV3S2V5XTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3RGF0YTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzcGFuXG4gICpuZ0lmPVwiIWNhbkVkaXQgJiYgZGF0YVtjb2x1bW4ua2V5LnNwbGl0KCcuJylbMF1dXCJcbiAgKGNsaWNrKT1cIm9uVGV4dENvbHVtbkNsaWNrZWQoY29sdW1uLCBkYXRhW2NvbHVtbi5rZXldLCAkZXZlbnQpXCJcbiAgPnt7XG4gICAgZ2V0U2VsZWN0b3JEYXRhKGRhdGFbY29sdW1uLmtleS5zcGxpdChcIi5cIilbMF1dLCBjb2x1bW4uZGF0YS5rZXkpXG4gICAgICB8IHBlcnNpYW5EaWdpdHNcbiAgfX08L3NwYW5cbj5cblxuPGRpdiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cImNhbkVkaXRcIj5cbiAgPGNvcmUtc2VsZWN0XG4gICAgY2xhc3M9XCJibG9jayBteC00IHctODBcIlxuICAgIFt0aXRsZUtleV09XCJjb2x1bW4uZGF0YS5rZXlcIlxuICAgIFt2YWx1ZUtleV09XCJjb2x1bW4uZGF0YS52YWx1ZVwiXG4gICAgW2l0ZW1zXT1cImNvbHVtbi5kYXRhLmVkaXRhYmxlRGF0YSB8IGFzeW5jXCJcbiAgICAob25JdGVtU2VsZWN0ZWQpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gID48L2NvcmUtc2VsZWN0PlxuXG4gIDxjaGVjay1pY29uXG4gICAgKGNsaWNrKT1cInNldFZhbHVlKClcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcbiAgPjwvY2hlY2staWNvbj5cbiAgPGNsb3NlLWljb25cbiAgICAoY2xpY2spPVwiY2FuRWRpdCA9IGZhbHNlXCJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXG4gID48L2Nsb3NlLWljb24+XG48L2Rpdj5cbiJdfQ==
@@ -1,20 +1,48 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { cloneDeep } from 'lodash';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
5
+ import * as i2 from "../../core-radio-buttons/core-radio-buttons.component";
6
+ import * as i3 from "../../../svg-icon/check-icon/check-icon.component";
7
+ import * as i4 from "../../../svg-icon/close-icon/close-icon.component";
4
8
  export class CoreTableStatusActiveColumnComponent {
5
- ngOnInit() {
9
+ constructor() {
10
+ this.onColumnValueChanged = new EventEmitter();
11
+ this.canEdit = false;
12
+ this.value = false;
13
+ this.radioButtonData = [
14
+ { value: true, title: 'بلی' },
15
+ { value: false, title: 'خیر' },
16
+ ];
17
+ }
18
+ onChange(event) {
19
+ this.value = event === 'true' ? true : false;
20
+ }
21
+ setValue() {
22
+ const newData = cloneDeep(this.data);
23
+ newData[this.column.key] = this.value;
24
+ this.onColumnValueChanged.emit(newData);
25
+ this.canEdit = false;
26
+ }
27
+ onColumnClicked(column, data, event) {
28
+ if (event.ctrlKey && column.editable) {
29
+ this.value = data;
30
+ this.canEdit = true;
31
+ }
6
32
  }
7
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusActiveColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: { data: "data", column: "column" }, ngImport: i0, template: "<b [ngClass]=\"data[column.key] ? 'active' : 'deActive'\">\r\n {{ data[column.key] ? \"\u0628\u0644\u06CC\" : \"\u062E\u06CC\u0631\" }}\r\n</b>\r\n", styles: [".active{background:#d9f8eb;color:#00894f;border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:#ac5a2b;background:#fde6d8;border-radius:16px;padding:2px 12px;font-size:smaller}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<b\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n [ngClass]=\"data[column.key] ? 'active' : 'deActive'\"\r\n>\r\n {{ data[column.key] ? \"\u0628\u0644\u06CC\" : \"\u062E\u06CC\u0631\" }}\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", styles: [".active{background:#d9f8eb;color:#00894f;border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:#ac5a2b;background:#fde6d8;border-radius:16px;padding:2px 12px;font-size:smaller}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CoreRadioButtonsComponent, selector: "core-radio-buttons", inputs: ["items", "defaultValue", "titleKey", "valueKey", "layout", "name"], outputs: ["onChange"] }, { kind: "component", type: i3.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i4.CloseIconComponent, selector: "close-icon" }] }); }
9
35
  }
10
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusActiveColumnComponent, decorators: [{
11
37
  type: Component,
12
- args: [{ selector: 'app-core-table-status-active-column', template: "<b [ngClass]=\"data[column.key] ? 'active' : 'deActive'\">\r\n {{ data[column.key] ? \"\u0628\u0644\u06CC\" : \"\u062E\u06CC\u0631\" }}\r\n</b>\r\n", styles: [".active{background:#d9f8eb;color:#00894f;border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:#ac5a2b;background:#fde6d8;border-radius:16px;padding:2px 12px;font-size:smaller}\n"] }]
38
+ args: [{ selector: 'app-core-table-status-active-column', template: "<b\r\n *ngIf=\"!canEdit\"\r\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\r\n [ngClass]=\"data[column.key] ? 'active' : 'deActive'\"\r\n>\r\n {{ data[column.key] ? \"\u0628\u0644\u06CC\" : \"\u062E\u06CC\u0631\" }}\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", styles: [".active{background:#d9f8eb;color:#00894f;border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:#ac5a2b;background:#fde6d8;border-radius:16px;padding:2px 12px;font-size:smaller}\n"] }]
13
39
  }], propDecorators: { data: [{
14
40
  type: Input,
15
41
  args: [{ required: true }]
16
42
  }], column: [{
17
43
  type: Input,
18
44
  args: [{ required: true }]
45
+ }], onColumnValueChanged: [{
46
+ type: Output
19
47
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zdGF0dXMtYWN0aXZlLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlLXN0YXR1cy1hY3RpdmUtY29sdW1uL2NvcmUtdGFibGUtc3RhdHVzLWFjdGl2ZS1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zdGF0dXMtYWN0aXZlLWNvbHVtbi9jb3JlLXRhYmxlLXN0YXR1cy1hY3RpdmUtY29sdW1uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLG9DQUFvQztJQUcvQyxRQUFRO0lBRVIsQ0FBQzsrR0FMVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQyx1SENQakQsc0pBR0E7OzRGRElhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxxQ0FBcUM7OEJBS3BCLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29yZS10YWJsZS1zdGF0dXMtYWN0aXZlLWNvbHVtbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtc3RhdHVzLWFjdGl2ZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtdGFibGUtc3RhdHVzLWFjdGl2ZS1jb2x1bW4uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVUYWJsZVN0YXR1c0FjdGl2ZUNvbHVtbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZGF0YTogYW55O1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbiE6IGFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIFxyXG4gIH1cclxufVxyXG4iLCI8YiBbbmdDbGFzc109XCJkYXRhW2NvbHVtbi5rZXldID8gJ2FjdGl2ZScgOiAnZGVBY3RpdmUnXCI+XHJcbiAge3sgZGF0YVtjb2x1bW4ua2V5XSA/IFwi2KjZhNuMXCIgOiBcItiu24zYsVwiIH19XHJcbjwvYj5cclxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zdGF0dXMtYWN0aXZlLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlLXN0YXR1cy1hY3RpdmUtY29sdW1uL2NvcmUtdGFibGUtc3RhdHVzLWFjdGl2ZS1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zdGF0dXMtYWN0aXZlLWNvbHVtbi9jb3JlLXRhYmxlLXN0YXR1cy1hY3RpdmUtY29sdW1uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7O0FBT25DLE1BQU0sT0FBTyxvQ0FBb0M7SUFMakQ7UUFRWSx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsb0JBQWUsR0FBRztZQUNoQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtTQUMvQixDQUFDO0tBa0JIO0lBaEJDLFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUNELFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVcsRUFBRSxJQUFhLEVBQUUsS0FBaUI7UUFDM0QsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDSCxDQUFDOytHQTNCVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQyxrTENSakQsZzJCQTRCQTs7NEZEcEJhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxxQ0FBcUM7OEJBS3BCLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNmLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb3JlLXRhYmxlLXN0YXR1cy1hY3RpdmUtY29sdW1uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS10YWJsZS1zdGF0dXMtYWN0aXZlLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS10YWJsZS1zdGF0dXMtYWN0aXZlLWNvbHVtbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVRhYmxlU3RhdHVzQWN0aXZlQ29sdW1uQ29tcG9uZW50IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkYXRhOiBhbnk7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sdW1uITogYW55O1xyXG4gIEBPdXRwdXQoKSBvbkNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNhbkVkaXQgPSBmYWxzZTtcclxuICB2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJhZGlvQnV0dG9uRGF0YSA9IFtcclxuICAgIHsgdmFsdWU6IHRydWUsIHRpdGxlOiAn2KjZhNuMJyB9LFxyXG4gICAgeyB2YWx1ZTogZmFsc2UsIHRpdGxlOiAn2K7bjNixJyB9LFxyXG4gIF07XHJcblxyXG4gIG9uQ2hhbmdlKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudmFsdWUgPSBldmVudCA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSgpIHtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcclxuICAgIG5ld0RhdGFbdGhpcy5jb2x1bW4ua2V5XSA9IHRoaXMudmFsdWU7XHJcbiAgICB0aGlzLm9uQ29sdW1uVmFsdWVDaGFuZ2VkLmVtaXQobmV3RGF0YSk7XHJcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uQ29sdW1uQ2xpY2tlZChjb2x1bW46IGFueSwgZGF0YTogYm9vbGVhbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGNvbHVtbi5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0YTtcclxuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJcclxuICAqbmdJZj1cIiFjYW5FZGl0XCJcclxuICAoY2xpY2spPVwib25Db2x1bW5DbGlja2VkKGNvbHVtbiwgZGF0YVtjb2x1bW4ua2V5XSwgJGV2ZW50KVwiXHJcbiAgW25nQ2xhc3NdPVwiZGF0YVtjb2x1bW4ua2V5XSA/ICdhY3RpdmUnIDogJ2RlQWN0aXZlJ1wiXHJcbj5cclxuICB7eyBkYXRhW2NvbHVtbi5rZXldID8gXCLYqNmE24xcIiA6IFwi2K7bjNixXCIgfX1cclxuPC9iPlxyXG48ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiY2FuRWRpdFwiPlxyXG4gIDxjb3JlLXJhZGlvLWJ1dHRvbnNcclxuICAgIGNsYXNzPVwiZmxleC0xXCJcclxuICAgIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgIFt2YWx1ZUtleV09XCIndmFsdWUnXCJcclxuICAgIFtsYXlvdXRdPVwiJ3JvdydcIlxyXG4gICAgW25hbWVdPVwiJ3IxJ1wiXHJcbiAgICBbZGVmYXVsdFZhbHVlXT1cImRhdGFbY29sdW1uLmtleV1cIlxyXG4gICAgW2l0ZW1zXT1cInJhZGlvQnV0dG9uRGF0YVwiXHJcbiAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgPlxyXG4gIDwvY29yZS1yYWRpby1idXR0b25zPlxyXG4gIDxjaGVjay1pY29uXHJcbiAgICAoY2xpY2spPVwic2V0VmFsdWUoKVwiXHJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXHJcbiAgPjwvY2hlY2staWNvbj5cclxuICA8Y2xvc2UtaWNvblxyXG4gICAgKGNsaWNrKT1cImNhbkVkaXQgPSBmYWxzZVwiXHJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXHJcbiAgPjwvY2xvc2UtaWNvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,18 +1,48 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { cloneDeep } from 'lodash';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
5
+ import * as i2 from "../../core-radio-buttons/core-radio-buttons.component";
6
+ import * as i3 from "../../../svg-icon/check-icon/check-icon.component";
7
+ import * as i4 from "../../../svg-icon/close-icon/close-icon.component";
4
8
  export class CoreTableStatusColumnComponent {
9
+ constructor() {
10
+ this.onColumnValueChanged = new EventEmitter();
11
+ this.canEdit = false;
12
+ this.value = false;
13
+ this.radioButtonData = [
14
+ { value: true, title: 'فعال' },
15
+ { value: false, title: 'غیر فعال' },
16
+ ];
17
+ }
18
+ onChange(event) {
19
+ this.value = event === 'true' ? true : false;
20
+ }
21
+ setValue() {
22
+ const newData = cloneDeep(this.data);
23
+ newData[this.column.key] = this.value;
24
+ this.onColumnValueChanged.emit(newData);
25
+ this.canEdit = false;
26
+ }
27
+ onColumnClicked(column, data, event) {
28
+ if (event.ctrlKey && column.editable) {
29
+ this.value = data;
30
+ this.canEdit = true;
31
+ }
32
+ }
5
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: { data: "data", column: "column" }, ngImport: i0, template: "<b [ngClass]=\"data[column.key] ? 'active' : 'deActive'\">\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\n</b>\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<b\n [ngClass]=\"data[column.key] ? 'active' : 'deActive'\"\n *ngIf=\"!canEdit\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n>\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\n</b>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-radio-buttons\n class=\"flex-1 min-width-radio\"\n [titleKey]=\"'title'\"\n [valueKey]=\"'value'\"\n [layout]=\"'row'\"\n [name]=\"'r1'\"\n [defaultValue]=\"data[column.key]\"\n [items]=\"radioButtonData\"\n (onChange)=\"onChange($event)\"\n >\n </core-radio-buttons>\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}.min-width-radio{min-width:132px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CoreRadioButtonsComponent, selector: "core-radio-buttons", inputs: ["items", "defaultValue", "titleKey", "valueKey", "layout", "name"], outputs: ["onChange"] }, { kind: "component", type: i3.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i4.CloseIconComponent, selector: "close-icon" }] }); }
7
35
  }
8
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusColumnComponent, decorators: [{
9
37
  type: Component,
10
- args: [{ selector: 'app-core-table-status-column', template: "<b [ngClass]=\"data[column.key] ? 'active' : 'deActive'\">\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\n</b>\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}\n"] }]
38
+ args: [{ selector: 'app-core-table-status-column', template: "<b\n [ngClass]=\"data[column.key] ? 'active' : 'deActive'\"\n *ngIf=\"!canEdit\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n>\n {{ data[column.key] ? \"\u0641\u0639\u0627\u0644\" : \"\u063A\u06CC\u0631 \u0641\u0639\u0627\u0644\" }}\n</b>\n\n<div class=\"flex\" *ngIf=\"canEdit\">\n <core-radio-buttons\n class=\"flex-1 min-width-radio\"\n [titleKey]=\"'title'\"\n [valueKey]=\"'value'\"\n [layout]=\"'row'\"\n [name]=\"'r1'\"\n [defaultValue]=\"data[column.key]\"\n [items]=\"radioButtonData\"\n (onChange)=\"onChange($event)\"\n >\n </core-radio-buttons>\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [".active{background:var(--default-table-status-column-active-background-color);color:var(--default-table-status-column-active-text-color);border-radius:16px;padding:2px 12px;font-size:smaller}.deActive{color:var(--default-table-status-column-deActive-text-color);background:var(--default-table-status-column-deActive-background-color);border-radius:16px;padding:2px 12px;font-size:smaller}.min-width-radio{min-width:132px}\n"] }]
11
39
  }], propDecorators: { data: [{
12
40
  type: Input,
13
41
  args: [{ required: true }]
14
42
  }], column: [{
15
43
  type: Input,
16
44
  args: [{ required: true }]
45
+ }], onColumnValueChanged: [{
46
+ type: Output
17
47
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zdGF0dXMtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXRhYmxlL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi9jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zdGF0dXMtY29sdW1uL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyw4QkFBOEI7K0dBQTlCLDhCQUE4QjttR0FBOUIsOEJBQThCLGdIQ1AzQywrS0FHQTs7NEZESWEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDhCQUE4Qjs4QkFLYixJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvcmUtdGFibGUtc3RhdHVzLWNvbHVtbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZVRhYmxlU3RhdHVzQ29sdW1uQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZGF0YSE6IGFueTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sdW1uITogYW55O1xufVxuIiwiPGIgW25nQ2xhc3NdPVwiZGF0YVtjb2x1bW4ua2V5XSA/ICdhY3RpdmUnIDogJ2RlQWN0aXZlJ1wiPlxuICB7eyBkYXRhW2NvbHVtbi5rZXldID8gXCLZgdi52KfZhFwiIDogXCLYutuM2LEg2YHYudin2YRcIiB9fVxuPC9iPlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS1zdGF0dXMtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXRhYmxlL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi9jb3JlLXRhYmxlLXN0YXR1cy1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS1zdGF0dXMtY29sdW1uL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQU9uQyxNQUFNLE9BQU8sOEJBQThCO0lBTDNDO1FBUVkseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLG9CQUFlLEdBQUc7WUFDaEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDOUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7U0FDcEMsQ0FBQztLQWtCSDtJQWhCQyxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7SUFDRCxRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFXLEVBQUUsSUFBYSxFQUFFLEtBQWlCO1FBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQzsrR0EzQlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsMktDUjNDLHkxQkE2QkE7OzRGRHJCYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsOEJBQThCOzhCQUtiLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLE1BQU07c0JBQWhDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNmLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29yZS10YWJsZS1zdGF0dXMtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvcmUtdGFibGUtc3RhdHVzLWNvbHVtbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVTdGF0dXNDb2x1bW5Db21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBkYXRhITogYW55O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW4hOiBhbnk7XG4gIEBPdXRwdXQoKSBvbkNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY2FuRWRpdCA9IGZhbHNlO1xuICB2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICByYWRpb0J1dHRvbkRhdGEgPSBbXG4gICAgeyB2YWx1ZTogdHJ1ZSwgdGl0bGU6ICfZgdi52KfZhCcgfSxcbiAgICB7IHZhbHVlOiBmYWxzZSwgdGl0bGU6ICfYutuM2LEg2YHYudin2YQnIH0sXG4gIF07XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSBldmVudCA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG4gIHNldFZhbHVlKCkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSBjbG9uZURlZXAodGhpcy5kYXRhKTtcbiAgICBuZXdEYXRhW3RoaXMuY29sdW1uLmtleV0gPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMub25Db2x1bW5WYWx1ZUNoYW5nZWQuZW1pdChuZXdEYXRhKTtcbiAgICB0aGlzLmNhbkVkaXQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uQ29sdW1uQ2xpY2tlZChjb2x1bW46IGFueSwgZGF0YTogYm9vbGVhbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBjb2x1bW4uZWRpdGFibGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgdGhpcy5jYW5FZGl0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxiXG4gIFtuZ0NsYXNzXT1cImRhdGFbY29sdW1uLmtleV0gPyAnYWN0aXZlJyA6ICdkZUFjdGl2ZSdcIlxuICAqbmdJZj1cIiFjYW5FZGl0XCJcbiAgKGNsaWNrKT1cIm9uQ29sdW1uQ2xpY2tlZChjb2x1bW4sIGRhdGFbY29sdW1uLmtleV0sICRldmVudClcIlxuPlxuICB7eyBkYXRhW2NvbHVtbi5rZXldID8gXCLZgdi52KfZhFwiIDogXCLYutuM2LEg2YHYudin2YRcIiB9fVxuPC9iPlxuXG48ZGl2IGNsYXNzPVwiZmxleFwiICpuZ0lmPVwiY2FuRWRpdFwiPlxuICA8Y29yZS1yYWRpby1idXR0b25zXG4gICAgY2xhc3M9XCJmbGV4LTEgbWluLXdpZHRoLXJhZGlvXCJcbiAgICBbdGl0bGVLZXldPVwiJ3RpdGxlJ1wiXG4gICAgW3ZhbHVlS2V5XT1cIid2YWx1ZSdcIlxuICAgIFtsYXlvdXRdPVwiJ3JvdydcIlxuICAgIFtuYW1lXT1cIidyMSdcIlxuICAgIFtkZWZhdWx0VmFsdWVdPVwiZGF0YVtjb2x1bW4ua2V5XVwiXG4gICAgW2l0ZW1zXT1cInJhZGlvQnV0dG9uRGF0YVwiXG4gICAgKG9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICA+XG4gIDwvY29yZS1yYWRpby1idXR0b25zPlxuICA8Y2hlY2staWNvblxuICAgIChjbGljayk9XCJzZXRWYWx1ZSgpXCJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXG4gID48L2NoZWNrLWljb24+XG4gIDxjbG9zZS1pY29uXG4gICAgKGNsaWNrKT1cImNhbkVkaXQgPSBmYWxzZVwiXG4gICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBpbmxpbmUtYmxvY2sgdy01IGgtNSBtLTFcIlxuICA+PC9jbG9zZS1pY29uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { cloneDeep } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "nira-snack-bar";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "../../../svg-icon/check-icon/check-icon.component";
8
+ import * as i5 from "../../../svg-icon/close-icon/close-icon.component";
9
+ import * as i6 from "../../pipes/persian-digits.pipe";
10
+ export class CoreTableTextColumnComponent {
11
+ constructor(niraSnackBar) {
12
+ this.niraSnackBar = niraSnackBar;
13
+ this.onColumnValueChanged = new EventEmitter();
14
+ this.canEdit = false;
15
+ this.value = '';
16
+ }
17
+ setValue() {
18
+ const newData = cloneDeep(this.data);
19
+ newData[this.column.key] = this.value;
20
+ this.onColumnValueChanged.emit(newData);
21
+ this.canEdit = false;
22
+ }
23
+ onTextColumnClicked(column, data, event) {
24
+ if (event.ctrlKey && column.editable) {
25
+ this.value = data;
26
+ this.canEdit = true;
27
+ }
28
+ else if (column.copyToClipboard) {
29
+ navigator.clipboard
30
+ .writeText(data)
31
+ .then((e) => {
32
+ this.niraSnackBar.show('با موفقیت کپی شد', {
33
+ statusClass: 'success',
34
+ duration: 3000,
35
+ });
36
+ })
37
+ .catch((e) => console.error(e));
38
+ }
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableTextColumnComponent, deps: [{ token: i1.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableTextColumnComponent, selector: "core-table-text-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\n *ngIf=\"!canEdit\"\n [ngClass]=\"{ 'cursor-pointer': column.copyToClipboard }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n >{{ data[column.key] | persianDigits }}</span\n>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"text\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CheckIconComponent, selector: "check-icon" }, { kind: "component", type: i5.CloseIconComponent, selector: "close-icon" }, { kind: "pipe", type: i6.PersianDigitsPipe, name: "persianDigits" }] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableTextColumnComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'core-table-text-column', template: "<span\n *ngIf=\"!canEdit\"\n [ngClass]=\"{ 'cursor-pointer': column.copyToClipboard }\"\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\n >{{ data[column.key] | persianDigits }}</span\n>\n<div class=\"flex\" *ngIf=\"canEdit\">\n <input\n [(ngModel)]=\"value\"\n class=\"rounded-sm h-7 px-2 border-slate-700\"\n type=\"text\"\n />\n <check-icon\n (click)=\"setValue()\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></check-icon>\n <close-icon\n (click)=\"canEdit = false\"\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\n ></close-icon>\n</div>\n" }]
46
+ }], ctorParameters: function () { return [{ type: i1.NiraSnackBarService }]; }, propDecorators: { data: [{
47
+ type: Input,
48
+ args: [{ required: true }]
49
+ }], column: [{
50
+ type: Input,
51
+ args: [{ required: true }]
52
+ }], onColumnValueChanged: [{
53
+ type: Output
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS10ZXh0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlLXRleHQtY29sdW1uL2NvcmUtdGFibGUtdGV4dC1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS10ZXh0LWNvbHVtbi9jb3JlLXRhYmxlLXRleHQtY29sdW1uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7QUFRbkMsTUFBTSxPQUFPLDRCQUE0QjtJQVF2QyxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFMM0MseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQUcsRUFBRSxDQUFDO0lBRTZDLENBQUM7SUFFekQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFXLEVBQUUsSUFBWSxFQUFFLEtBQWlCO1FBQzlELElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO2FBQU0sSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFO1lBQ2pDLFNBQVMsQ0FBQyxTQUFTO2lCQUNoQixTQUFTLENBQUMsSUFBSSxDQUFDO2lCQUNmLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO29CQUN6QyxXQUFXLEVBQUUsU0FBUztvQkFDdEIsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQzsrR0FoQ1UsNEJBQTRCO21HQUE1Qiw0QkFBNEIscUtDVHpDLHFtQkFxQkE7OzRGRFphLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx3QkFBd0I7MEdBS1AsSUFBSTtzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2Ysb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBOaXJhU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnbmlyYS1zbmFjay1iYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb3JlLXRhYmxlLXRleHQtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtdGFibGUtdGV4dC1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLXRleHQtY29sdW1uLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZVRhYmxlVGV4dENvbHVtbkNvbXBvbmVudCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGRhdGEhOiBhbnk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbiE6IGFueTtcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjYW5FZGl0ID0gZmFsc2U7XG4gIHZhbHVlID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuaXJhU25hY2tCYXI6IE5pcmFTbmFja0JhclNlcnZpY2UpIHt9XG5cbiAgc2V0VmFsdWUoKSB7XG4gICAgY29uc3QgbmV3RGF0YSA9IGNsb25lRGVlcCh0aGlzLmRhdGEpO1xuICAgIG5ld0RhdGFbdGhpcy5jb2x1bW4ua2V5XSA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5vbkNvbHVtblZhbHVlQ2hhbmdlZC5lbWl0KG5ld0RhdGEpO1xuICAgIHRoaXMuY2FuRWRpdCA9IGZhbHNlO1xuICB9XG5cbiAgb25UZXh0Q29sdW1uQ2xpY2tlZChjb2x1bW46IGFueSwgZGF0YTogc3RyaW5nLCBldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGNvbHVtbi5lZGl0YWJsZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGRhdGE7XG4gICAgICB0aGlzLmNhbkVkaXQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoY29sdW1uLmNvcHlUb0NsaXBib2FyZCkge1xuICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZFxuICAgICAgICAud3JpdGVUZXh0KGRhdGEpXG4gICAgICAgIC50aGVuKChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5uaXJhU25hY2tCYXIuc2hvdygn2KjYpyDZhdmI2YHZgtuM2Kog2qnZvtuMINi02K8nLCB7XG4gICAgICAgICAgICBzdGF0dXNDbGFzczogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4gY29uc29sZS5lcnJvcihlKSk7XG4gICAgfVxuICB9XG59XG4iLCI8c3BhblxuICAqbmdJZj1cIiFjYW5FZGl0XCJcbiAgW25nQ2xhc3NdPVwieyAnY3Vyc29yLXBvaW50ZXInOiBjb2x1bW4uY29weVRvQ2xpcGJvYXJkIH1cIlxuICAoY2xpY2spPVwib25UZXh0Q29sdW1uQ2xpY2tlZChjb2x1bW4sIGRhdGFbY29sdW1uLmtleV0sICRldmVudClcIlxuICA+e3sgZGF0YVtjb2x1bW4ua2V5XSB8IHBlcnNpYW5EaWdpdHMgfX08L3NwYW5cbj5cbjxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nSWY9XCJjYW5FZGl0XCI+XG4gIDxpbnB1dFxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIGNsYXNzPVwicm91bmRlZC1zbSBoLTcgcHgtMiBib3JkZXItc2xhdGUtNzAwXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gIC8+XG4gIDxjaGVjay1pY29uXG4gICAgKGNsaWNrKT1cInNldFZhbHVlKClcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgaW5saW5lLWJsb2NrIHctNSBoLTUgbS0xXCJcbiAgPjwvY2hlY2staWNvbj5cbiAgPGNsb3NlLWljb25cbiAgICAoY2xpY2spPVwiY2FuRWRpdCA9IGZhbHNlXCJcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGlubGluZS1ibG9jayB3LTUgaC01IG0tMVwiXG4gID48L2Nsb3NlLWljb24+XG48L2Rpdj5cbiJdfQ==