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
@@ -8,7 +8,7 @@ import { FormControl, FormGroup, Validators, ReactiveFormsModule, FormsModule }
8
8
  import * as i1$2 from 'nira-date-picker';
9
9
  import { NiraDatePickerModule } from 'nira-date-picker';
10
10
  import { BehaviorSubject } from 'rxjs';
11
- import { orderBy } from 'lodash';
11
+ import { cloneDeep, orderBy } from 'lodash';
12
12
  import * as moment from 'jalali-moment';
13
13
  import moment__default from 'jalali-moment';
14
14
  import * as i1$4 from 'ngx-indexed-db';
@@ -913,6 +913,7 @@ var UserLanguage;
913
913
  var COLUMNS_TYPES;
914
914
  (function (COLUMNS_TYPES) {
915
915
  COLUMNS_TYPES["TEXT"] = "text";
916
+ COLUMNS_TYPES["COLOR"] = "color";
916
917
  COLUMNS_TYPES["NUMBER"] = "number";
917
918
  COLUMNS_TYPES["SELECTOR"] = "selector";
918
919
  COLUMNS_TYPES["ROW_SELECTOR"] = "row-selector";
@@ -1295,6 +1296,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1295
1296
  type: Input
1296
1297
  }] } });
1297
1298
 
1299
+ class CheckIconComponent {
1300
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1301
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckIconComponent, selector: "check-icon", ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"100%\"\n viewBox=\"0 -960 960 960\"\n width=\"100%\"\n>\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\n</svg>\n", styles: [""] }); }
1302
+ }
1303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckIconComponent, decorators: [{
1304
+ type: Component,
1305
+ args: [{ selector: 'check-icon', template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"100%\"\n viewBox=\"0 -960 960 960\"\n width=\"100%\"\n>\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\n</svg>\n" }]
1306
+ }] });
1307
+
1308
+ class CoreTableColorColumnComponent {
1309
+ get color() {
1310
+ return this.data[this.column.key].startsWith('#')
1311
+ ? this.data[this.column.key]
1312
+ : '#' + this.data[this.column.key];
1313
+ }
1314
+ constructor(niraSnackBar) {
1315
+ this.niraSnackBar = niraSnackBar;
1316
+ this.onColumnValueChanged = new EventEmitter();
1317
+ this.canEdit = false;
1318
+ this.value = '';
1319
+ }
1320
+ setValue() {
1321
+ const newData = cloneDeep(this.data);
1322
+ newData[this.column.key] = this.value;
1323
+ this.onColumnValueChanged.emit(newData);
1324
+ this.canEdit = false;
1325
+ }
1326
+ onColumnClicked(column, data, event) {
1327
+ if (event.ctrlKey && column.editable) {
1328
+ this.value = data;
1329
+ this.canEdit = true;
1330
+ }
1331
+ }
1332
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColorColumnComponent, deps: [{ token: i1$3.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
1333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableColorColumnComponent, selector: "core-table-color-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<span\n *ngIf=\"!canEdit\"\n class=\"shadow-md inline-block rounded-full\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n style=\"width: 25px; height: 25px\"\n [style]=\"{ background: color }\"\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=\"color\"\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: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckIconComponent, selector: "check-icon" }, { kind: "component", type: CloseIconComponent, selector: "close-icon" }] }); }
1334
+ }
1335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColorColumnComponent, decorators: [{
1336
+ type: Component,
1337
+ args: [{ selector: 'core-table-color-column', template: "<span\n *ngIf=\"!canEdit\"\n class=\"shadow-md inline-block rounded-full\"\n (click)=\"onColumnClicked(column, data[column.key], $event)\"\n style=\"width: 25px; height: 25px\"\n [style]=\"{ background: color }\"\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=\"color\"\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" }]
1338
+ }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
1339
+ type: Input,
1340
+ args: [{ required: true }]
1341
+ }], column: [{
1342
+ type: Input,
1343
+ args: [{ required: true }]
1344
+ }], onColumnValueChanged: [{
1345
+ type: Output
1346
+ }] } });
1347
+
1298
1348
  class CoreTableActionButtonsColumnComponent {
1299
1349
  constructor() {
1300
1350
  this.onClick = new EventEmitter();
@@ -1474,18 +1524,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1474
1524
  }] } });
1475
1525
 
1476
1526
  class CoreTableStatusColumnComponent {
1527
+ constructor() {
1528
+ this.onColumnValueChanged = new EventEmitter();
1529
+ this.canEdit = false;
1530
+ this.value = false;
1531
+ this.radioButtonData = [
1532
+ { value: true, title: 'فعال' },
1533
+ { value: false, title: 'غیر فعال' },
1534
+ ];
1535
+ }
1536
+ onChange(event) {
1537
+ this.value = event === 'true' ? true : false;
1538
+ }
1539
+ setValue() {
1540
+ const newData = cloneDeep(this.data);
1541
+ newData[this.column.key] = this.value;
1542
+ this.onColumnValueChanged.emit(newData);
1543
+ this.canEdit = false;
1544
+ }
1545
+ onColumnClicked(column, data, event) {
1546
+ if (event.ctrlKey && column.editable) {
1547
+ this.value = data;
1548
+ this.canEdit = true;
1549
+ }
1550
+ }
1477
1551
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1478
- 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"] }] }); }
1552
+ 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: CoreRadioButtonsComponent, selector: "core-radio-buttons", inputs: ["items", "defaultValue", "titleKey", "valueKey", "layout", "name"], outputs: ["onChange"] }, { kind: "component", type: CheckIconComponent, selector: "check-icon" }, { kind: "component", type: CloseIconComponent, selector: "close-icon" }] }); }
1479
1553
  }
1480
1554
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusColumnComponent, decorators: [{
1481
1555
  type: Component,
1482
- 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"] }]
1556
+ 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"] }]
1483
1557
  }], propDecorators: { data: [{
1484
1558
  type: Input,
1485
1559
  args: [{ required: true }]
1486
1560
  }], column: [{
1487
1561
  type: Input,
1488
1562
  args: [{ required: true }]
1563
+ }], onColumnValueChanged: [{
1564
+ type: Output
1489
1565
  }] } });
1490
1566
 
1491
1567
  class CaretUpIconComponent {
@@ -1543,20 +1619,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1543
1619
  }] } });
1544
1620
 
1545
1621
  class CoreTableStatusActiveColumnComponent {
1546
- ngOnInit() {
1622
+ constructor() {
1623
+ this.onColumnValueChanged = new EventEmitter();
1624
+ this.canEdit = false;
1625
+ this.value = false;
1626
+ this.radioButtonData = [
1627
+ { value: true, title: 'بلی' },
1628
+ { value: false, title: 'خیر' },
1629
+ ];
1630
+ }
1631
+ onChange(event) {
1632
+ this.value = event === 'true' ? true : false;
1633
+ }
1634
+ setValue() {
1635
+ const newData = cloneDeep(this.data);
1636
+ newData[this.column.key] = this.value;
1637
+ this.onColumnValueChanged.emit(newData);
1638
+ this.canEdit = false;
1639
+ }
1640
+ onColumnClicked(column, data, event) {
1641
+ if (event.ctrlKey && column.editable) {
1642
+ this.value = data;
1643
+ this.canEdit = true;
1644
+ }
1547
1645
  }
1548
1646
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusActiveColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1549
- 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"] }] }); }
1647
+ 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: CoreRadioButtonsComponent, selector: "core-radio-buttons", inputs: ["items", "defaultValue", "titleKey", "valueKey", "layout", "name"], outputs: ["onChange"] }, { kind: "component", type: CheckIconComponent, selector: "check-icon" }, { kind: "component", type: CloseIconComponent, selector: "close-icon" }] }); }
1550
1648
  }
1551
1649
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableStatusActiveColumnComponent, decorators: [{
1552
1650
  type: Component,
1553
- 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"] }]
1651
+ 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"] }]
1554
1652
  }], propDecorators: { data: [{
1555
1653
  type: Input,
1556
1654
  args: [{ required: true }]
1557
1655
  }], column: [{
1558
1656
  type: Input,
1559
1657
  args: [{ required: true }]
1658
+ }], onColumnValueChanged: [{
1659
+ type: Output
1560
1660
  }] } });
1561
1661
 
1562
1662
  class PelakIconComponent {
@@ -1609,7 +1709,7 @@ class CoreTableCardManagerComponent {
1609
1709
  }
1610
1710
  }
1611
1711
  onTextColumnClicked(column, data) {
1612
- if (!column.coptToClipboard)
1712
+ if (!column.copyToClipboard)
1613
1713
  return;
1614
1714
  navigator.clipboard
1615
1715
  .writeText(data)
@@ -1631,11 +1731,11 @@ class CoreTableCardManagerComponent {
1631
1731
  };
1632
1732
  }
1633
1733
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableCardManagerComponent, deps: [{ token: i1$3.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
1634
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableCardManagerComponent, selector: "app-core-table-card-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 class=\"inline-block\"\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.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 <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: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: CoreTableActionButtonsColumnComponent, selector: "app-core-table-action-buttons-column", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableActionColumnComponent, selector: "app-core-table-action-column", inputs: ["data", "column"] }, { kind: "component", type: CoreTableRowSelectorColumnComponent, selector: "app-core-table-row-selector-column", inputs: ["data", "column", "allTableData", "rowSelector"] }, { kind: "component", type: CoreTableShamsiDateComponent, selector: "app-core-table-shamsi-date", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: ["data", "column"] }, { kind: "component", type: CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowIRR"] }, { kind: "directive", type: TableDetailViewerManagerDirective, selector: "[tableDetailViewerManager]", inputs: ["detailViewerData"] }, { kind: "component", type: CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: ["data", "column"] }, { kind: "component", type: CoreRowPelakComponent, selector: "app-core-row-pelak", inputs: ["data", "column"] }, { kind: "pipe", type: PersianDigitsPipe, name: "persianDigits" }] }); }
1734
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableCardManagerComponent, selector: "app-core-table-card-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 <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-table-status-column\r\n *ngSwitchCase=\"columnsTypes.STATUS\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-column>\r\n <app-core-table-action-column\r\n *ngSwitchCase=\"columnsTypes.ACTION\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-column>\r\n <app-core-table-action-buttons-column\r\n *ngSwitchCase=\"columnsTypes.ACTION_BUTTONS\"\r\n (onClick)=\"clicked($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-buttons-column>\r\n <app-core-table-shamsi-date\r\n *ngSwitchCase=\"columnsTypes.SHAMSI_DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-shamsi-date>\r\n <app-core-row-pelak\r\n class=\"inline-block\"\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.copyToClipboard }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key])\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >{{ 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 <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: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: CoreTableColorColumnComponent, selector: "core-table-color-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreTableActionButtonsColumnComponent, selector: "app-core-table-action-buttons-column", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableActionColumnComponent, selector: "app-core-table-action-column", inputs: ["data", "column"] }, { kind: "component", type: CoreTableRowSelectorColumnComponent, selector: "app-core-table-row-selector-column", inputs: ["data", "column", "allTableData", "rowSelector"] }, { kind: "component", type: CoreTableShamsiDateComponent, selector: "app-core-table-shamsi-date", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowIRR"] }, { kind: "directive", type: TableDetailViewerManagerDirective, selector: "[tableDetailViewerManager]", inputs: ["detailViewerData"] }, { kind: "component", type: CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreRowPelakComponent, selector: "app-core-row-pelak", inputs: ["data", "column"] }, { kind: "pipe", type: PersianDigitsPipe, name: "persianDigits" }] }); }
1635
1735
  }
1636
1736
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableCardManagerComponent, decorators: [{
1637
1737
  type: Component,
1638
- args: [{ selector: 'app-core-table-card-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 class=\"inline-block\"\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.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 <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" }]
1738
+ args: [{ selector: 'app-core-table-card-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 <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-table-status-column\r\n *ngSwitchCase=\"columnsTypes.STATUS\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-status-column>\r\n <app-core-table-action-column\r\n *ngSwitchCase=\"columnsTypes.ACTION\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-column>\r\n <app-core-table-action-buttons-column\r\n *ngSwitchCase=\"columnsTypes.ACTION_BUTTONS\"\r\n (onClick)=\"clicked($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-action-buttons-column>\r\n <app-core-table-shamsi-date\r\n *ngSwitchCase=\"columnsTypes.SHAMSI_DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-shamsi-date>\r\n <app-core-row-pelak\r\n class=\"inline-block\"\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <span\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [ngClass]=\"{ 'cursor-pointer': column.copyToClipboard }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key])\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >{{ 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 <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" }]
1639
1739
  }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
1640
1740
  type: Input,
1641
1741
  args: [{ required: true }]
@@ -1652,6 +1752,162 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1652
1752
  type: Output
1653
1753
  }] } });
1654
1754
 
1755
+ class CoreTableTextColumnComponent {
1756
+ constructor(niraSnackBar) {
1757
+ this.niraSnackBar = niraSnackBar;
1758
+ this.onColumnValueChanged = new EventEmitter();
1759
+ this.canEdit = false;
1760
+ this.value = '';
1761
+ }
1762
+ setValue() {
1763
+ const newData = cloneDeep(this.data);
1764
+ newData[this.column.key] = this.value;
1765
+ this.onColumnValueChanged.emit(newData);
1766
+ this.canEdit = false;
1767
+ }
1768
+ onTextColumnClicked(column, data, event) {
1769
+ if (event.ctrlKey && column.editable) {
1770
+ this.value = data;
1771
+ this.canEdit = true;
1772
+ }
1773
+ else if (column.copyToClipboard) {
1774
+ navigator.clipboard
1775
+ .writeText(data)
1776
+ .then((e) => {
1777
+ this.niraSnackBar.show('با موفقیت کپی شد', {
1778
+ statusClass: 'success',
1779
+ duration: 3000,
1780
+ });
1781
+ })
1782
+ .catch((e) => console.error(e));
1783
+ }
1784
+ }
1785
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableTextColumnComponent, deps: [{ token: i1$3.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
1786
+ 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: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckIconComponent, selector: "check-icon" }, { kind: "component", type: CloseIconComponent, selector: "close-icon" }, { kind: "pipe", type: PersianDigitsPipe, name: "persianDigits" }] }); }
1787
+ }
1788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableTextColumnComponent, decorators: [{
1789
+ type: Component,
1790
+ 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" }]
1791
+ }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
1792
+ type: Input,
1793
+ args: [{ required: true }]
1794
+ }], column: [{
1795
+ type: Input,
1796
+ args: [{ required: true }]
1797
+ }], onColumnValueChanged: [{
1798
+ type: Output
1799
+ }] } });
1800
+
1801
+ class CoreTableNumberColumnComponent {
1802
+ constructor(niraSnackBar) {
1803
+ this.niraSnackBar = niraSnackBar;
1804
+ this.onColumnValueChanged = new EventEmitter();
1805
+ this.canEdit = false;
1806
+ this.value = '';
1807
+ }
1808
+ setValue() {
1809
+ const newData = cloneDeep(this.data);
1810
+ newData[this.column.key] = this.value;
1811
+ this.onColumnValueChanged.emit(newData);
1812
+ this.canEdit = false;
1813
+ }
1814
+ onTextColumnClicked(column, data, event) {
1815
+ if (event.ctrlKey && column.editable) {
1816
+ this.value = data;
1817
+ this.canEdit = true;
1818
+ }
1819
+ else if (column.copyToClipboard) {
1820
+ navigator.clipboard
1821
+ .writeText(data)
1822
+ .then((e) => {
1823
+ this.niraSnackBar.show('با موفقیت کپی شد', {
1824
+ statusClass: 'success',
1825
+ duration: 3000,
1826
+ });
1827
+ })
1828
+ .catch((e) => console.error(e));
1829
+ }
1830
+ }
1831
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableNumberColumnComponent, deps: [{ token: i1$3.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
1832
+ 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: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowIRR"] }, { kind: "component", type: CheckIconComponent, selector: "check-icon" }, { kind: "component", type: CloseIconComponent, selector: "close-icon" }] }); }
1833
+ }
1834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableNumberColumnComponent, decorators: [{
1835
+ type: Component,
1836
+ 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" }]
1837
+ }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
1838
+ type: Input,
1839
+ args: [{ required: true }]
1840
+ }], column: [{
1841
+ type: Input,
1842
+ args: [{ required: true }]
1843
+ }], onColumnValueChanged: [{
1844
+ type: Output
1845
+ }] } });
1846
+
1847
+ class CoreTableSelectorColumnComponent {
1848
+ constructor(niraSnackBar) {
1849
+ this.niraSnackBar = niraSnackBar;
1850
+ this.onColumnValueChanged = new EventEmitter();
1851
+ this.canEdit = false;
1852
+ }
1853
+ onChange(event) {
1854
+ this.value = event;
1855
+ }
1856
+ setValue() {
1857
+ const newData = cloneDeep(this.data);
1858
+ newData[this.column.key] = this.value;
1859
+ this.onColumnValueChanged.emit(newData);
1860
+ this.canEdit = false;
1861
+ }
1862
+ onTextColumnClicked(column, data, event) {
1863
+ if (event.ctrlKey && column.editable) {
1864
+ this.value = data;
1865
+ this.canEdit = true;
1866
+ }
1867
+ else if (column.copyToClipboard) {
1868
+ navigator.clipboard
1869
+ .writeText(data)
1870
+ .then((e) => {
1871
+ this.niraSnackBar.show('با موفقیت کپی شد', {
1872
+ statusClass: 'success',
1873
+ duration: 3000,
1874
+ });
1875
+ })
1876
+ .catch((e) => console.error(e));
1877
+ }
1878
+ }
1879
+ getSelectorData(data, key) {
1880
+ if (!key) {
1881
+ return '';
1882
+ }
1883
+ const split = key.split('.');
1884
+ if (split.length === 1) {
1885
+ return data[key];
1886
+ }
1887
+ else {
1888
+ let newData = data;
1889
+ split.forEach((newKey) => {
1890
+ newData = newData[newKey];
1891
+ });
1892
+ return newData;
1893
+ }
1894
+ }
1895
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableSelectorColumnComponent, deps: [{ token: i1$3.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
1896
+ 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: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CoreSelectComponent, selector: "core-select", inputs: ["titleKey", "valueKey", "size", "canHighlightBackground", "items", "defaultValue", "label", "disabled", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: CheckIconComponent, selector: "check-icon" }, { kind: "component", type: CloseIconComponent, selector: "close-icon" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: PersianDigitsPipe, name: "persianDigits" }] }); }
1897
+ }
1898
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableSelectorColumnComponent, decorators: [{
1899
+ type: Component,
1900
+ 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" }]
1901
+ }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
1902
+ type: Input,
1903
+ args: [{ required: true }]
1904
+ }], column: [{
1905
+ type: Input,
1906
+ args: [{ required: true }]
1907
+ }], onColumnValueChanged: [{
1908
+ type: Output
1909
+ }] } });
1910
+
1655
1911
  class CoreTableDetailViewerForReportComponent {
1656
1912
  get detailViewers() {
1657
1913
  return this.column.data.detailViewers;
@@ -1685,6 +1941,7 @@ class CoreTableColumnManagerComponent {
1685
1941
  this.niraSnackBar = niraSnackBar;
1686
1942
  this.rowSelector = undefined;
1687
1943
  this.onColumnClicked = new EventEmitter();
1944
+ this.onColumnValueChanged = new EventEmitter();
1688
1945
  }
1689
1946
  getSelectorData(data, key) {
1690
1947
  if (!key) {
@@ -1703,7 +1960,7 @@ class CoreTableColumnManagerComponent {
1703
1960
  }
1704
1961
  }
1705
1962
  onTextColumnClicked(column, data) {
1706
- if (!column.coptToClipboard)
1963
+ if (!column.copyToClipboard)
1707
1964
  return;
1708
1965
  navigator.clipboard
1709
1966
  .writeText(data)
@@ -1718,6 +1975,9 @@ class CoreTableColumnManagerComponent {
1718
1975
  clicked(val) {
1719
1976
  this.onColumnClicked.emit(val);
1720
1977
  }
1978
+ columnValueChanged(val) {
1979
+ this.onColumnValueChanged.emit(val);
1980
+ }
1721
1981
  combinedData(detailViewer, data) {
1722
1982
  return {
1723
1983
  detailViewer: detailViewer,
@@ -1725,11 +1985,11 @@ class CoreTableColumnManagerComponent {
1725
1985
  };
1726
1986
  }
1727
1987
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColumnManagerComponent, deps: [{ token: i1$3.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
1728
- 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: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: CoreTableActionButtonsColumnComponent, selector: "app-core-table-action-buttons-column", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableActionColumnComponent, selector: "app-core-table-action-column", inputs: ["data", "column"] }, { kind: "component", type: CoreTableRowSelectorColumnComponent, selector: "app-core-table-row-selector-column", inputs: ["data", "column", "allTableData", "rowSelector"] }, { kind: "component", type: CoreTableShamsiDateComponent, selector: "app-core-table-shamsi-date", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: ["data", "column"] }, { kind: "component", type: CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowIRR"] }, { kind: "directive", type: TableDetailViewerManagerDirective, selector: "[tableDetailViewerManager]", inputs: ["detailViewerData"] }, { kind: "component", type: CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: ["data", "column"] }, { kind: "component", type: CoreRowPelakComponent, selector: "app-core-row-pelak", inputs: ["data", "column"] }, { kind: "component", type: CoreTableDetailViewerForReportComponent, selector: "core-table-detail-viewer-for-report", inputs: ["data", "column"] }, { kind: "pipe", type: PersianDigitsPipe, name: "persianDigits" }] }); }
1988
+ 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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: CoreTableColorColumnComponent, selector: "core-table-color-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreTableActionButtonsColumnComponent, selector: "app-core-table-action-buttons-column", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableActionColumnComponent, selector: "app-core-table-action-column", inputs: ["data", "column"] }, { kind: "component", type: CoreTableTextColumnComponent, selector: "core-table-text-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreTableNumberColumnComponent, selector: "core-table-number-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreTableSelectorColumnComponent, selector: "core-table-selector-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreTableRowSelectorColumnComponent, selector: "app-core-table-row-selector-column", inputs: ["data", "column", "allTableData", "rowSelector"] }, { kind: "component", type: CoreTableShamsiDateComponent, selector: "app-core-table-shamsi-date", inputs: ["data", "column"], outputs: ["onClick"] }, { kind: "component", type: CoreTableStatusColumnComponent, selector: "app-core-table-status-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "directive", type: TableDetailViewerManagerDirective, selector: "[tableDetailViewerManager]", inputs: ["detailViewerData"] }, { kind: "component", type: CoreTableStatusActiveColumnComponent, selector: "app-core-table-status-active-column", inputs: ["data", "column"], outputs: ["onColumnValueChanged"] }, { kind: "component", type: CoreRowPelakComponent, selector: "app-core-row-pelak", inputs: ["data", "column"] }, { kind: "component", type: CoreTableDetailViewerForReportComponent, selector: "core-table-detail-viewer-for-report", inputs: ["data", "column"] }] }); }
1729
1989
  }
1730
1990
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColumnManagerComponent, decorators: [{
1731
1991
  type: Component,
1732
- 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" }]
1992
+ 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" }]
1733
1993
  }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
1734
1994
  type: Input,
1735
1995
  args: [{ required: true }]
@@ -1744,6 +2004,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1744
2004
  args: [{ required: false }]
1745
2005
  }], onColumnClicked: [{
1746
2006
  type: Output
2007
+ }], onColumnValueChanged: [{
2008
+ type: Output
1747
2009
  }] } });
1748
2010
 
1749
2011
  const Label = {
@@ -1823,6 +2085,7 @@ class CoreTableComponent {
1823
2085
  this.canFilter = false;
1824
2086
  this.rowSelector = undefined;
1825
2087
  this.onColumnClicked = new EventEmitter();
2088
+ this.onColumnValueChanged = new EventEmitter();
1826
2089
  this.ACTIVE_OPTIONS = ACTIVE_OPTIONS;
1827
2090
  this.YES_NO_OPTIONS = YES_NO_OPTIONS;
1828
2091
  this.sortedTableData = [];
@@ -1855,6 +2118,9 @@ class CoreTableComponent {
1855
2118
  columnClicked(val) {
1856
2119
  this.onColumnClicked.emit(val);
1857
2120
  }
2121
+ columnValueChanged(val) {
2122
+ this.onColumnValueChanged.emit(val);
2123
+ }
1858
2124
  sortByHeader(column) {
1859
2125
  if (this.sortDetail && this.sortDetail.key == column.key) {
1860
2126
  if (this.sortDetail.sort == 'desc') {
@@ -1941,11 +2207,11 @@ class CoreTableComponent {
1941
2207
  });
1942
2208
  }
1943
2209
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, deps: [{ token: i1$4.NgxIndexedDBService }], target: i0.ɵɵFactoryTarget.Component }); }
1944
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", tableData: "tableData", responsive: "responsive", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked" }, ngImport: i0, template: "<div class=\"p-2 overflow-x-auto\">\r\n <table *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\">\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr *ngFor=\"let data of sortedTableData\">\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoreCardComponent, selector: "core-card", inputs: ["cardClass"] }, { kind: "component", type: CoreColumnDatePickerComponent, selector: "core-column-date-picker", inputs: ["canSelectToday", "defaultDate", "inputFormControl"], outputs: ["onChange"] }, { kind: "component", type: CoreColumnInputComponent, selector: "core-column-input", inputs: ["showRemoveIcon", "placeholder", "value", "type", "isDatePicker", "maxLength"], outputs: ["onChange"] }, { kind: "component", type: CoreColumnSelectorComponent, selector: "core-column-selector", inputs: ["items", "titleKey", "valueKey", "label", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: CoreTableCardManagerComponent, selector: "app-core-table-card-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked"] }, { kind: "component", type: CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked"] }, { kind: "component", type: CoreTableNoContentComponent, selector: "core-table-no-content", inputs: ["tableData", "loading"] }, { kind: "component", type: SortDownIconComponent, selector: "app-sort-down-icon" }, { kind: "component", type: SortSolidIconComponent, selector: "app-sort-solid-icon" }, { kind: "component", type: SortUpIconComponent, selector: "app-sort-up-icon" }] }); }
2210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", tableData: "tableData", responsive: "responsive", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<div class=\"p-2 overflow-x-auto\">\r\n <table *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\">\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr *ngFor=\"let data of sortedTableData\">\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoreCardComponent, selector: "core-card", inputs: ["cardClass"] }, { kind: "component", type: CoreColumnDatePickerComponent, selector: "core-column-date-picker", inputs: ["canSelectToday", "defaultDate", "inputFormControl"], outputs: ["onChange"] }, { kind: "component", type: CoreColumnInputComponent, selector: "core-column-input", inputs: ["showRemoveIcon", "placeholder", "value", "type", "isDatePicker", "maxLength"], outputs: ["onChange"] }, { kind: "component", type: CoreColumnSelectorComponent, selector: "core-column-selector", inputs: ["items", "titleKey", "valueKey", "label", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: CoreTableCardManagerComponent, selector: "app-core-table-card-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked"] }, { kind: "component", type: CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked", "onColumnValueChanged"] }, { kind: "component", type: CoreTableNoContentComponent, selector: "core-table-no-content", inputs: ["tableData", "loading"] }, { kind: "component", type: SortDownIconComponent, selector: "app-sort-down-icon" }, { kind: "component", type: SortSolidIconComponent, selector: "app-sort-solid-icon" }, { kind: "component", type: SortUpIconComponent, selector: "app-sort-up-icon" }] }); }
1945
2211
  }
1946
2212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, decorators: [{
1947
2213
  type: Component,
1948
- args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto\">\r\n <table *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\">\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr *ngFor=\"let data of sortedTableData\">\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"] }]
2214
+ args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto\">\r\n <table *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\">\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr *ngFor=\"let data of sortedTableData\">\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"] }]
1949
2215
  }], ctorParameters: function () { return [{ type: i1$4.NgxIndexedDBService }]; }, propDecorators: { key: [{
1950
2216
  type: Input,
1951
2217
  args: [{ required: false }]
@@ -1971,6 +2237,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1971
2237
  args: [{ required: false }]
1972
2238
  }], onColumnClicked: [{
1973
2239
  type: Output
2240
+ }], onColumnValueChanged: [{
2241
+ type: Output
1974
2242
  }] } });
1975
2243
 
1976
2244
  class CoreTableFilterDialogComponent {
@@ -2675,6 +2943,7 @@ class FalconLibModule {
2675
2943
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FalconLibModule, declarations: [CoreAutoCompleteComponent,
2676
2944
  CoreBtnComponent,
2677
2945
  CoreSearchBoxComponent,
2946
+ CoreTableColorColumnComponent,
2678
2947
  CoreCheckboxComponent,
2679
2948
  CoreDatePickerComponent,
2680
2949
  CoreConfirmDialogComponent,
@@ -2695,6 +2964,9 @@ class FalconLibModule {
2695
2964
  CoreTableCardManagerComponent,
2696
2965
  CoreTableColumnManagerComponent,
2697
2966
  CoreTableFilterDialogComponent,
2967
+ CoreTableTextColumnComponent,
2968
+ CoreTableNumberColumnComponent,
2969
+ CoreTableSelectorColumnComponent,
2698
2970
  CoreTableNoContentComponent,
2699
2971
  CoreTableRowSelectorColumnComponent,
2700
2972
  CoreTableShamsiDateComponent,
@@ -2711,6 +2983,7 @@ class FalconLibModule {
2711
2983
  ShamsiDatePipe,
2712
2984
  WeightPipe,
2713
2985
  SearchIconComponent,
2986
+ CheckIconComponent,
2714
2987
  CloseIconComponent,
2715
2988
  WarningIconComponent,
2716
2989
  EditSquareIconComponent,
@@ -2769,6 +3042,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2769
3042
  CoreAutoCompleteComponent,
2770
3043
  CoreBtnComponent,
2771
3044
  CoreSearchBoxComponent,
3045
+ CoreTableColorColumnComponent,
2772
3046
  CoreCheckboxComponent,
2773
3047
  CoreDatePickerComponent,
2774
3048
  CoreConfirmDialogComponent,
@@ -2789,6 +3063,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2789
3063
  CoreTableCardManagerComponent,
2790
3064
  CoreTableColumnManagerComponent,
2791
3065
  CoreTableFilterDialogComponent,
3066
+ CoreTableTextColumnComponent,
3067
+ CoreTableNumberColumnComponent,
3068
+ CoreTableSelectorColumnComponent,
2792
3069
  CoreTableNoContentComponent,
2793
3070
  CoreTableRowSelectorColumnComponent,
2794
3071
  CoreTableShamsiDateComponent,
@@ -2805,6 +3082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2805
3082
  ShamsiDatePipe,
2806
3083
  WeightPipe,
2807
3084
  SearchIconComponent,
3085
+ CheckIconComponent,
2808
3086
  CloseIconComponent,
2809
3087
  WarningIconComponent,
2810
3088
  EditSquareIconComponent,