nira-falcon 1.0.21 → 1.0.24

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.
@@ -492,9 +492,8 @@ class CoreInputComponent {
492
492
  this.isDisable = false;
493
493
  this.lastValue = '';
494
494
  this.canShowWordifyFa = false;
495
- this.canSplitNumber = false;
496
495
  this.canHighlightBackground = false;
497
- this.maxLength = 2000;
496
+ this.maxLength = 20000;
498
497
  this.size = '';
499
498
  this.inputFormControl = new FormControl('', []);
500
499
  this.placeholder = '';
@@ -538,7 +537,9 @@ class CoreInputComponent {
538
537
  }
539
538
  ngOnInit() {
540
539
  this.inputFormControl.valueChanges.subscribe((change) => {
541
- if (this.lastValue !== change) {
540
+ if (this.lastValue !== change &&
541
+ change !== undefined &&
542
+ change !== null) {
542
543
  this.formatPrice(change.toString());
543
544
  }
544
545
  });
@@ -557,7 +558,7 @@ class CoreInputComponent {
557
558
  this.inputFormControl.markAsTouched();
558
559
  this.inputFormControl.setValue(value);
559
560
  this.lastValue = value;
560
- if (this.inputType === 'number' && this.canSplitNumber) {
561
+ if (this.inputType === 'price') {
561
562
  this.onChange.emit(value.replaceAll(',', ''));
562
563
  }
563
564
  else {
@@ -568,7 +569,7 @@ class CoreInputComponent {
568
569
  }, 10);
569
570
  }
570
571
  onBlur() {
571
- if (this.inputType === 'number' && this.canSplitNumber) {
572
+ if (this.inputType === 'price') {
572
573
  this.onChange.emit(this.inputFormControl.value.replaceAll(',', ''));
573
574
  }
574
575
  else {
@@ -578,8 +579,9 @@ class CoreInputComponent {
578
579
  }
579
580
  this.onBlurEmit.emit(this.inputFormControl.value);
580
581
  }
581
- onKeyPress() {
582
- if (this.inputFormControl.value.toString().length == this.maxLength) {
582
+ onKeyPress(event) {
583
+ if (this.inputFormControl.value.toString().length == this.maxLength ||
584
+ (this.inputType === 'price' && !/^[0-9]$/.test(event.key))) {
583
585
  return false;
584
586
  }
585
587
  else {
@@ -587,7 +589,7 @@ class CoreInputComponent {
587
589
  }
588
590
  }
589
591
  formatPrice(event) {
590
- if (this.inputType === 'number' && this.canSplitNumber) {
592
+ if (this.inputType === 'price') {
591
593
  setTimeout(() => {
592
594
  let value = event;
593
595
  value = Number(value.replaceAll(',', ''));
@@ -648,17 +650,15 @@ class CoreInputComponent {
648
650
  }
649
651
  }
650
652
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
651
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreInputComponent, selector: "core-input", inputs: { type: "type", canShowWordifyFa: "canShowWordifyFa", canSplitNumber: "canSplitNumber", canHighlightBackground: "canHighlightBackground", maxLength: "maxLength", size: "size", inputFormControl: "inputFormControl", disable: "disable", placeholder: "placeholder", errorMessages: "errorMessages" }, outputs: { onChange: "onChange", onBlurEmit: "onBlurEmit" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div tabindex=\"0\" (focusin)=\"setInputFocus()\">\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors,\r\n }\"\r\n >\r\n <input\r\n #inputElement\r\n [type]=\"inputType\"\r\n class=\"a-input-style\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"change($event)\"\r\n (paste)=\"onPaste($event)\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n 'disable-input': isDisable,\r\n }\"\r\n (keypress)=\"onKeyPress()\"\r\n />\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n class=\"label-number\"\r\n *ngIf=\"\r\n canShowWordifyFa &&\r\n inputFormControl.value.toString().length > 0 &&\r\n inputType === 'number'\r\n \"\r\n ><app-core-number\r\n [canShowWordInToolTip]=\"false\"\r\n [type]=\"'word'\"\r\n [number]=\"inputFormControl.value\"\r\n ></app-core-number\r\n ></span>\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n \"\r\n >\r\n {{ errorMassage?.message }}\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".container{position:relative}input{border:1px solid #ced4da;border-radius:.25rem}.highlight-background{background-color:#dcf6ff!important}.icon-style{position:absolute;right:16px;top:16px;cursor:pointer;font-size:16px}.icon-style-email{position:absolute;right:16px;top:16px}.a-input-style{height:42px;width:100%;padding:16px;outline:none;caret-color:#020202b3;background-color:#f2f4f726;color:#000000b3;box-sizing:border-box}.a-input-style:focus{background-color:#f2f4f70d;border-radius:3px;border:2px solid rgba(19,92,175,.397)}.a-input-style::placeholder{height:15px;font-style:normal;font-weight:400;font-size:12px;line-height:15px;letter-spacing:-.03em;color:#c2c2c2b3}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:rgba(255,255,255,0)}input:-webkit-autofill.have-value,input:-webkit-autofill:hover.have-value,input:-webkit-autofill:focus.have-value{-webkit-text-fill-color:#181818!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.label-number{color:#6a6a6a}.error input{border:1px solid #fe5f5f}.container-input{background:#fff;position:relative}.container-input .disable-input{background-color:#f7f7f7;border:1px dashed #ced4da;pointer-events:none}.container-input label{position:absolute;right:20px;top:12px;color:gray;font-size:12px;padding:0 8px;border-radius:15px;pointer-events:none;transition:.2s}.container-input input:focus+label,.container-input input.have-value+label{top:-10px;font-size:10px;z-index:3}.container-input input:focus+label:after,.container-input input.have-value+label:after{content:\"\";display:block;background:#fff;position:absolute;width:100%;height:1px;top:10px;right:0;transition:.3s;z-index:-1}\n"], 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowTomanInToolTip", "enDigitsToFa", "canShowIRR"] }] }); }
653
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreInputComponent, selector: "core-input", inputs: { type: "type", canShowWordifyFa: "canShowWordifyFa", canHighlightBackground: "canHighlightBackground", maxLength: "maxLength", size: "size", inputFormControl: "inputFormControl", disable: "disable", placeholder: "placeholder", errorMessages: "errorMessages" }, outputs: { onChange: "onChange", onBlurEmit: "onBlurEmit" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div tabindex=\"0\" (focusin)=\"setInputFocus()\">\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors,\r\n }\"\r\n >\r\n <input\r\n #inputElement\r\n type=\"inputType === 'price' ? 'text' : inputType\"\r\n class=\"a-input-style\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"change($event)\"\r\n (paste)=\"onPaste($event)\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n 'disable-input': isDisable,\r\n }\"\r\n (keypress)=\"onKeyPress($event)\"\r\n />\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n class=\"label-number\"\r\n *ngIf=\"\r\n canShowWordifyFa &&\r\n inputFormControl.value.toString().length > 0 &&\r\n (inputType === 'number' || inputType === 'price')\r\n \"\r\n ><app-core-number\r\n [canShowWordInToolTip]=\"false\"\r\n [type]=\"'word'\"\r\n [number]=\"inputFormControl.value\"\r\n ></app-core-number\r\n ></span>\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n \"\r\n >\r\n {{ errorMassage?.message }}\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".container{position:relative}input{border:1px solid #ced4da;border-radius:.25rem}.highlight-background{background-color:#dcf6ff!important}.icon-style{position:absolute;right:16px;top:16px;cursor:pointer;font-size:16px}.icon-style-email{position:absolute;right:16px;top:16px}.a-input-style{height:42px;width:100%;padding:16px;outline:none;caret-color:#020202b3;background-color:#f2f4f726;color:#000000b3;box-sizing:border-box}.a-input-style:focus{background-color:#f2f4f70d;border-radius:3px;border:2px solid rgba(19,92,175,.397)}.a-input-style::placeholder{height:15px;font-style:normal;font-weight:400;font-size:12px;line-height:15px;letter-spacing:-.03em;color:#c2c2c2b3}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:rgba(255,255,255,0)}input:-webkit-autofill.have-value,input:-webkit-autofill:hover.have-value,input:-webkit-autofill:focus.have-value{-webkit-text-fill-color:#181818!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.label-number{color:#6a6a6a}.error input{border:1px solid #fe5f5f}.container-input{background:#fff;position:relative}.container-input .disable-input{background-color:#f7f7f7;border:1px dashed #ced4da;pointer-events:none}.container-input label{position:absolute;right:20px;top:12px;color:gray;font-size:12px;padding:0 8px;border-radius:15px;pointer-events:none;transition:.2s}.container-input input:focus+label,.container-input input.have-value+label{top:-10px;font-size:10px;z-index:3}.container-input input:focus+label:after,.container-input input.have-value+label:after{content:\"\";display:block;background:#fff;position:absolute;width:100%;height:1px;top:10px;right:0;transition:.3s;z-index:-1}\n"], 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CoreNumberComponent, selector: "app-core-number", inputs: ["number", "type", "canSplitNumbers", "canShowWordInToolTip", "canShowTomanInToolTip", "enDigitsToFa", "canShowIRR"] }] }); }
652
654
  }
653
655
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreInputComponent, decorators: [{
654
656
  type: Component,
655
- args: [{ selector: 'core-input', template: "<div tabindex=\"0\" (focusin)=\"setInputFocus()\">\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors,\r\n }\"\r\n >\r\n <input\r\n #inputElement\r\n [type]=\"inputType\"\r\n class=\"a-input-style\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"change($event)\"\r\n (paste)=\"onPaste($event)\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n 'disable-input': isDisable,\r\n }\"\r\n (keypress)=\"onKeyPress()\"\r\n />\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n class=\"label-number\"\r\n *ngIf=\"\r\n canShowWordifyFa &&\r\n inputFormControl.value.toString().length > 0 &&\r\n inputType === 'number'\r\n \"\r\n ><app-core-number\r\n [canShowWordInToolTip]=\"false\"\r\n [type]=\"'word'\"\r\n [number]=\"inputFormControl.value\"\r\n ></app-core-number\r\n ></span>\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n \"\r\n >\r\n {{ errorMassage?.message }}\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".container{position:relative}input{border:1px solid #ced4da;border-radius:.25rem}.highlight-background{background-color:#dcf6ff!important}.icon-style{position:absolute;right:16px;top:16px;cursor:pointer;font-size:16px}.icon-style-email{position:absolute;right:16px;top:16px}.a-input-style{height:42px;width:100%;padding:16px;outline:none;caret-color:#020202b3;background-color:#f2f4f726;color:#000000b3;box-sizing:border-box}.a-input-style:focus{background-color:#f2f4f70d;border-radius:3px;border:2px solid rgba(19,92,175,.397)}.a-input-style::placeholder{height:15px;font-style:normal;font-weight:400;font-size:12px;line-height:15px;letter-spacing:-.03em;color:#c2c2c2b3}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:rgba(255,255,255,0)}input:-webkit-autofill.have-value,input:-webkit-autofill:hover.have-value,input:-webkit-autofill:focus.have-value{-webkit-text-fill-color:#181818!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.label-number{color:#6a6a6a}.error input{border:1px solid #fe5f5f}.container-input{background:#fff;position:relative}.container-input .disable-input{background-color:#f7f7f7;border:1px dashed #ced4da;pointer-events:none}.container-input label{position:absolute;right:20px;top:12px;color:gray;font-size:12px;padding:0 8px;border-radius:15px;pointer-events:none;transition:.2s}.container-input input:focus+label,.container-input input.have-value+label{top:-10px;font-size:10px;z-index:3}.container-input input:focus+label:after,.container-input input.have-value+label:after{content:\"\";display:block;background:#fff;position:absolute;width:100%;height:1px;top:10px;right:0;transition:.3s;z-index:-1}\n"] }]
657
+ args: [{ selector: 'core-input', template: "<div tabindex=\"0\" (focusin)=\"setInputFocus()\">\r\n <div\r\n class=\"container-input\"\r\n [ngClass]=\"{\r\n error:\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors,\r\n }\"\r\n >\r\n <input\r\n #inputElement\r\n type=\"inputType === 'price' ? 'text' : inputType\"\r\n class=\"a-input-style\"\r\n [formControl]=\"inputFormControl\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"change($event)\"\r\n (paste)=\"onPaste($event)\"\r\n [ngClass]=\"{\r\n 'have-value': inputFormControl.value.toString().length > 0,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n inputFormControl.value.toString().length === 0 &&\r\n !(\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n ),\r\n 'disable-input': isDisable,\r\n }\"\r\n (keypress)=\"onKeyPress($event)\"\r\n />\r\n <label *ngIf=\"placeholder.length > 0\">{{ placeholder }} </label>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n class=\"label-number\"\r\n *ngIf=\"\r\n canShowWordifyFa &&\r\n inputFormControl.value.toString().length > 0 &&\r\n (inputType === 'number' || inputType === 'price')\r\n \"\r\n ><app-core-number\r\n [canShowWordInToolTip]=\"false\"\r\n [type]=\"'word'\"\r\n [number]=\"inputFormControl.value\"\r\n ></app-core-number\r\n ></span>\r\n <span\r\n *ngIf=\"\r\n (inputFormControl.touched || inputFormControl.dirty) &&\r\n inputFormControl.errors\r\n \"\r\n >\r\n {{ errorMassage?.message }}\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".container{position:relative}input{border:1px solid #ced4da;border-radius:.25rem}.highlight-background{background-color:#dcf6ff!important}.icon-style{position:absolute;right:16px;top:16px;cursor:pointer;font-size:16px}.icon-style-email{position:absolute;right:16px;top:16px}.a-input-style{height:42px;width:100%;padding:16px;outline:none;caret-color:#020202b3;background-color:#f2f4f726;color:#000000b3;box-sizing:border-box}.a-input-style:focus{background-color:#f2f4f70d;border-radius:3px;border:2px solid rgba(19,92,175,.397)}.a-input-style::placeholder{height:15px;font-style:normal;font-weight:400;font-size:12px;line-height:15px;letter-spacing:-.03em;color:#c2c2c2b3}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:rgba(255,255,255,0)}input:-webkit-autofill.have-value,input:-webkit-autofill:hover.have-value,input:-webkit-autofill:focus.have-value{-webkit-text-fill-color:#181818!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.label-number{color:#6a6a6a}.error input{border:1px solid #fe5f5f}.container-input{background:#fff;position:relative}.container-input .disable-input{background-color:#f7f7f7;border:1px dashed #ced4da;pointer-events:none}.container-input label{position:absolute;right:20px;top:12px;color:gray;font-size:12px;padding:0 8px;border-radius:15px;pointer-events:none;transition:.2s}.container-input input:focus+label,.container-input input.have-value+label{top:-10px;font-size:10px;z-index:3}.container-input input:focus+label:after,.container-input input.have-value+label:after{content:\"\";display:block;background:#fff;position:absolute;width:100%;height:1px;top:10px;right:0;transition:.3s;z-index:-1}\n"] }]
656
658
  }], propDecorators: { type: [{
657
659
  type: Input
658
660
  }], canShowWordifyFa: [{
659
661
  type: Input
660
- }], canSplitNumber: [{
661
- type: Input
662
662
  }], canHighlightBackground: [{
663
663
  type: Input
664
664
  }], maxLength: [{
@@ -732,7 +732,7 @@ class CoreDatePickerComponent {
732
732
  this._inputFormControl.setValue(todayDate);
733
733
  }
734
734
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreDatePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
735
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: { canSelectToday: "canSelectToday", defaultDate: "defaultDate", label: "label", inputFormControl: "inputFormControl", size: "size" }, ngImport: i0, template: "<div class=\"relative\">\r\n <core-input\r\n [placeholder]=\"label\"\r\n (input)=\"onInput($event)\"\r\n [inputFormControl]=\"_inputFormControl\"\r\n >\r\n </core-input>\r\n <calendar-today-icon\r\n class=\"icon-date-picker\"\r\n (click)=\"isOpenCalendar = true\"\r\n ></calendar-today-icon>\r\n</div>\r\n<lib-nira-date-picker\r\n [(isOpenCalendar)]=\"isOpenCalendar\"\r\n [defaultDate]=\"date ? date : defaultDate\"\r\n (datePickerResult)=\"onDatePickerResult($event)\"\r\n [selectToday]=\"canSelectToday\"\r\n (todayDate)=\"onTodayDate($event)\"\r\n>\r\n</lib-nira-date-picker>\r\n", styles: [".icon-date-picker{position:absolute;cursor:pointer;left:8px;top:6px;width:24px;height:24px;fill:#383838}\n"], dependencies: [{ kind: "component", type: i1$2.NiraDatePickerComponent, selector: "lib-nira-date-picker", inputs: ["selectToday", "disable", "changableYears", "theme", "defaultDate", "isOpenCalendar"], outputs: ["isOpenCalendarChange", "todayDate", "datePickerResult"] }, { kind: "component", type: CoreInputComponent, selector: "core-input", inputs: ["type", "canShowWordifyFa", "canSplitNumber", "canHighlightBackground", "maxLength", "size", "inputFormControl", "disable", "placeholder", "errorMessages"], outputs: ["onChange", "onBlurEmit"] }, { kind: "component", type: CalendarTodayIconComponent, selector: "calendar-today-icon" }] }); }
735
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreDatePickerComponent, selector: "core-date-picker", inputs: { canSelectToday: "canSelectToday", defaultDate: "defaultDate", label: "label", inputFormControl: "inputFormControl", size: "size" }, ngImport: i0, template: "<div class=\"relative\">\r\n <core-input\r\n [placeholder]=\"label\"\r\n (input)=\"onInput($event)\"\r\n [inputFormControl]=\"_inputFormControl\"\r\n >\r\n </core-input>\r\n <calendar-today-icon\r\n class=\"icon-date-picker\"\r\n (click)=\"isOpenCalendar = true\"\r\n ></calendar-today-icon>\r\n</div>\r\n<lib-nira-date-picker\r\n [(isOpenCalendar)]=\"isOpenCalendar\"\r\n [defaultDate]=\"date ? date : defaultDate\"\r\n (datePickerResult)=\"onDatePickerResult($event)\"\r\n [selectToday]=\"canSelectToday\"\r\n (todayDate)=\"onTodayDate($event)\"\r\n>\r\n</lib-nira-date-picker>\r\n", styles: [".icon-date-picker{position:absolute;cursor:pointer;left:8px;top:6px;width:24px;height:24px;fill:#383838}\n"], dependencies: [{ kind: "component", type: i1$2.NiraDatePickerComponent, selector: "lib-nira-date-picker", inputs: ["selectToday", "disable", "changableYears", "theme", "defaultDate", "isOpenCalendar"], outputs: ["isOpenCalendarChange", "todayDate", "datePickerResult"] }, { kind: "component", type: CoreInputComponent, selector: "core-input", inputs: ["type", "canShowWordifyFa", "canHighlightBackground", "maxLength", "size", "inputFormControl", "disable", "placeholder", "errorMessages"], outputs: ["onChange", "onBlurEmit"] }, { kind: "component", type: CalendarTodayIconComponent, selector: "calendar-today-icon" }] }); }
736
736
  }
737
737
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreDatePickerComponent, decorators: [{
738
738
  type: Component,
@@ -1327,6 +1327,7 @@ var DetailViewers;
1327
1327
  var COLUMNS_TYPES;
1328
1328
  (function (COLUMNS_TYPES) {
1329
1329
  COLUMNS_TYPES["TEXT"] = "text";
1330
+ COLUMNS_TYPES["PRE"] = "pre";
1330
1331
  COLUMNS_TYPES["COLOR"] = "color";
1331
1332
  COLUMNS_TYPES["NUMBER"] = "number";
1332
1333
  COLUMNS_TYPES["SELECTOR"] = "selector";
@@ -2069,6 +2070,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2069
2070
  type: Output
2070
2071
  }] } });
2071
2072
 
2073
+ class CoreTablePreColumnComponent {
2074
+ constructor(niraSnackBar) {
2075
+ this.niraSnackBar = niraSnackBar;
2076
+ this.onColumnValueChanged = new EventEmitter();
2077
+ this.canEdit = false;
2078
+ this.value = '';
2079
+ }
2080
+ setValue() {
2081
+ const newData = cloneDeep(this.data);
2082
+ newData[this.column.key] = this.value;
2083
+ this.onColumnValueChanged.emit(newData);
2084
+ this.canEdit = false;
2085
+ }
2086
+ onTextColumnClicked(column, data, event) {
2087
+ if (event.ctrlKey && column.editable) {
2088
+ this.value = data;
2089
+ this.canEdit = true;
2090
+ }
2091
+ else if (column.copyToClipboard) {
2092
+ navigator.clipboard
2093
+ .writeText(data)
2094
+ .then((e) => {
2095
+ this.niraSnackBar.show('با موفقیت کپی شد', {
2096
+ statusClass: 'success',
2097
+ duration: 3000,
2098
+ });
2099
+ })
2100
+ .catch((e) => console.error(e));
2101
+ }
2102
+ }
2103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTablePreColumnComponent, deps: [{ token: i1$3.NiraSnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
2104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTablePreColumnComponent, selector: "core-table-pre-column", inputs: { data: "data", column: "column" }, outputs: { onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<pre\r\n class=\"font\"\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n 'mouse-edit-cursor': column.editable,\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n column?.data?.enDigitsToFa === false\r\n ? data[column.key]\r\n : (data[column.key] | persianDigits)\r\n }}</pre\r\n>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n", styles: [".font{font-family:vazir,\"sans-serif\"}\n"], 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" }] }); }
2105
+ }
2106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTablePreColumnComponent, decorators: [{
2107
+ type: Component,
2108
+ args: [{ selector: 'core-table-pre-column', template: "<pre\r\n class=\"font\"\r\n *ngIf=\"!canEdit\"\r\n [ngClass]=\"{\r\n 'cursor-pointer': column.copyToClipboard,\r\n 'mouse-edit-cursor': column.editable,\r\n }\"\r\n (click)=\"onTextColumnClicked(column, data[column.key], $event)\"\r\n >{{\r\n column?.data?.enDigitsToFa === false\r\n ? data[column.key]\r\n : (data[column.key] | persianDigits)\r\n }}</pre\r\n>\r\n<div class=\"flex\" *ngIf=\"canEdit\">\r\n <input\r\n [(ngModel)]=\"value\"\r\n class=\"rounded-sm h-7 px-2 border-slate-700\"\r\n type=\"text\"\r\n />\r\n <check-icon\r\n (click)=\"setValue()\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></check-icon>\r\n <close-icon\r\n (click)=\"canEdit = false\"\r\n class=\"cursor-pointer inline-block w-5 h-5 m-1\"\r\n ></close-icon>\r\n</div>\r\n", styles: [".font{font-family:vazir,\"sans-serif\"}\n"] }]
2109
+ }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
2110
+ type: Input,
2111
+ args: [{ required: true }]
2112
+ }], column: [{
2113
+ type: Input,
2114
+ args: [{ required: true }]
2115
+ }], onColumnValueChanged: [{
2116
+ type: Output
2117
+ }] } });
2118
+
2072
2119
  class CoreTableNumberColumnComponent {
2073
2120
  constructor(niraSnackBar) {
2074
2121
  this.niraSnackBar = niraSnackBar;
@@ -2256,11 +2303,11 @@ class CoreTableColumnManagerComponent {
2256
2303
  };
2257
2304
  }
2258
2305
  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 }); }
2259
- 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 <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-row-pelak\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <core-table-detail-viewer-for-report\r\n *ngSwitchCase=\"columnsTypes.DETAIL_VIEWER_FOR_REPORT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-detail-viewer-for-report>\r\n\r\n <core-table-text-column\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-text-column>\r\n\r\n <core-table-number-column\r\n *ngSwitchCase=\"columnsTypes.NUMBER\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-number-column>\r\n\r\n <core-table-selector-column\r\n *ngSwitchCase=\"columnsTypes.SELECTOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(\r\n column.detailViewer,\r\n getSelectorData(\r\n data[column.key.split('.')[0]],\r\n column.detailViewer?.key\r\n )\r\n )\r\n \"\r\n >\r\n </core-table-selector-column>\r\n</container-element>\r\n", 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: CoreTableDateComponent, selector: "app-core-table-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"] }] }); }
2306
+ 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 <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-row-pelak\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <core-table-detail-viewer-for-report\r\n *ngSwitchCase=\"columnsTypes.DETAIL_VIEWER_FOR_REPORT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-detail-viewer-for-report>\r\n\r\n <core-table-text-column\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-text-column>\r\n\r\n <core-table-pre-column\r\n *ngSwitchCase=\"columnsTypes.PRE\"\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-pre-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: CoreTablePreColumnComponent, selector: "core-table-pre-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: CoreTableDateComponent, selector: "app-core-table-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"] }] }); }
2260
2307
  }
2261
2308
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableColumnManagerComponent, decorators: [{
2262
2309
  type: Component,
2263
- 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 <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-row-pelak\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <core-table-detail-viewer-for-report\r\n *ngSwitchCase=\"columnsTypes.DETAIL_VIEWER_FOR_REPORT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-detail-viewer-for-report>\r\n\r\n <core-table-text-column\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-text-column>\r\n\r\n <core-table-number-column\r\n *ngSwitchCase=\"columnsTypes.NUMBER\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-number-column>\r\n\r\n <core-table-selector-column\r\n *ngSwitchCase=\"columnsTypes.SELECTOR\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(\r\n column.detailViewer,\r\n getSelectorData(\r\n data[column.key.split('.')[0]],\r\n column.detailViewer?.key\r\n )\r\n )\r\n \"\r\n >\r\n </core-table-selector-column>\r\n</container-element>\r\n" }]
2310
+ 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 <app-core-table-date\r\n *ngSwitchCase=\"columnsTypes.DATE\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-date>\r\n\r\n <core-table-color-column\r\n *ngSwitchCase=\"columnsTypes.COLOR\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-color-column>\r\n <app-core-row-pelak\r\n *ngSwitchCase=\"columnsTypes.PELAK\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-row-pelak>\r\n <core-table-detail-viewer-for-report\r\n *ngSwitchCase=\"columnsTypes.DETAIL_VIEWER_FOR_REPORT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></core-table-detail-viewer-for-report>\r\n\r\n <core-table-text-column\r\n *ngSwitchCase=\"columnsTypes.TEXT\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n tableDetailViewerManager\r\n [detailViewerData]=\"\r\n combinedData(column.detailViewer, data[column.detailViewer?.key])\r\n \"\r\n >\r\n </core-table-text-column>\r\n\r\n <core-table-pre-column\r\n *ngSwitchCase=\"columnsTypes.PRE\"\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-pre-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" }]
2264
2311
  }], ctorParameters: function () { return [{ type: i1$3.NiraSnackBarService }]; }, propDecorators: { data: [{
2265
2312
  type: Input,
2266
2313
  args: [{ required: true }]
@@ -2559,7 +2606,7 @@ class CoreTableComponent {
2559
2606
  .toLowerCase()
2560
2607
  .includes(columnSchema.columnFilter.toString().toLowerCase());
2561
2608
  }
2562
- else if (columnSchema.type === this.columnsTypes.SHAMSI_DATE) {
2609
+ else if (columnSchema.type === this.columnsTypes.DATE) {
2563
2610
  if (columnSchema.columnFilter === '') {
2564
2611
  result = true;
2565
2612
  }
@@ -2601,11 +2648,11 @@ class CoreTableComponent {
2601
2648
  .substring(2, 2 + length);
2602
2649
  }
2603
2650
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, deps: [{ token: i1$4.NgxIndexedDBService }, { token: i0.ViewContainerRef }, { token: i2$1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
2604
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", columnsSchemaRightClick: "columnsSchemaRightClick", tableData: "tableData", responsive: "responsive", canSelectFirstItem: "canSelectFirstItem", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onItemRightClick: "onItemRightClick", onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged", onItemSelected: "onItemSelected" }, host: { listeners: { "document:keydown": "handleEnter($event)" } }, viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "userMenu", first: true, predicate: ["userMenu"], descendants: true }], ngImport: i0, template: "<div class=\"p-2 overflow-x-auto relative\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : '',\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n class=\"cursor-pointer\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n (contextmenu)=\"onRightClick($event, data); $event.preventDefault()\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n <ng-template #userMenu style=\"position: fixed\">\r\n <section class=\"user-menu\">\r\n <div\r\n class=\"w-96 text-right\"\r\n *ngFor=\"let item of columnsSchemaRightClick\"\r\n (click)=\"onRightItemClick(data, item)\"\r\n >\r\n {{ item.label }}\r\n </div>\r\n </section>\r\n </ng-template>\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:focus{outline:none}.select-item{background-color:#e3f2fd!important}.user-menu{background-color:#fafafa;font-size:10pt;z-index:1000;box-shadow:0 0 12pt #00000040;border-radius:4pt;padding:.5em 0;animation:fadeIn .1s ease-out;opacity:1;display:block}.user-menu div{cursor:pointer;text-decoration:none;color:#333;padding-inline:1.5em;padding-block:.5em;max-width:18em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu div:hover{background-color:#cccbcb48}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" }] }); }
2651
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", columnsSchemaRightClick: "columnsSchemaRightClick", tableData: "tableData", responsive: "responsive", canSelectFirstItem: "canSelectFirstItem", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onItemRightClick: "onItemRightClick", onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged", onItemSelected: "onItemSelected" }, host: { listeners: { "document:keydown": "handleEnter($event)" } }, viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "userMenu", first: true, predicate: ["userMenu"], descendants: true }], ngImport: i0, template: "<div class=\"p-2 overflow-x-auto relative\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : '',\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"\r\n canFilter &&\r\n (column.type == columnsTypes.SHAMSI_DATE ||\r\n column.type == columnsTypes.DATE)\r\n \"\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.DATE &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n class=\"cursor-pointer\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n (contextmenu)=\"onRightClick($event, data); $event.preventDefault()\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n <ng-template #userMenu style=\"position: fixed\">\r\n <section class=\"user-menu\">\r\n <div\r\n class=\"w-96 text-right\"\r\n *ngFor=\"let item of columnsSchemaRightClick\"\r\n (click)=\"onRightItemClick(data, item)\"\r\n >\r\n {{ item.label }}\r\n </div>\r\n </section>\r\n </ng-template>\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:focus{outline:none}.select-item{background-color:#e3f2fd!important}.user-menu{background-color:#fafafa;font-size:10pt;z-index:1000;box-shadow:0 0 12pt #00000040;border-radius:4pt;padding:.5em 0;animation:fadeIn .1s ease-out;opacity:1;display:block}.user-menu div{cursor:pointer;text-decoration:none;color:#333;padding-inline:1.5em;padding-block:.5em;max-width:18em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu div:hover{background-color:#cccbcb48}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" }] }); }
2605
2652
  }
2606
2653
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, decorators: [{
2607
2654
  type: Component,
2608
- args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto relative\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : '',\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n class=\"cursor-pointer\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n (contextmenu)=\"onRightClick($event, data); $event.preventDefault()\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n <ng-template #userMenu style=\"position: fixed\">\r\n <section class=\"user-menu\">\r\n <div\r\n class=\"w-96 text-right\"\r\n *ngFor=\"let item of columnsSchemaRightClick\"\r\n (click)=\"onRightItemClick(data, item)\"\r\n >\r\n {{ item.label }}\r\n </div>\r\n </section>\r\n </ng-template>\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:focus{outline:none}.select-item{background-color:#e3f2fd!important}.user-menu{background-color:#fafafa;font-size:10pt;z-index:1000;box-shadow:0 0 12pt #00000040;border-radius:4pt;padding:.5em 0;animation:fadeIn .1s ease-out;opacity:1;display:block}.user-menu div{cursor:pointer;text-decoration:none;color:#333;padding-inline:1.5em;padding-block:.5em;max-width:18em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu div:hover{background-color:#cccbcb48}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"] }]
2655
+ args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto relative\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : '',\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"\r\n canFilter &&\r\n (column.type == columnsTypes.SHAMSI_DATE ||\r\n column.type == columnsTypes.DATE)\r\n \"\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.DATE &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n class=\"cursor-pointer\"\r\n [id]=\"'tableRow_' + salt + '_' + i\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, i, $event)\"\r\n (contextmenu)=\"onRightClick($event, data); $event.preventDefault()\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n <ng-template #userMenu style=\"position: fixed\">\r\n <section class=\"user-menu\">\r\n <div\r\n class=\"w-96 text-right\"\r\n *ngFor=\"let item of columnsSchemaRightClick\"\r\n (click)=\"onRightItemClick(data, item)\"\r\n >\r\n {{ item.label }}\r\n </div>\r\n </section>\r\n </ng-template>\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:focus{outline:none}.select-item{background-color:#e3f2fd!important}.user-menu{background-color:#fafafa;font-size:10pt;z-index:1000;box-shadow:0 0 12pt #00000040;border-radius:4pt;padding:.5em 0;animation:fadeIn .1s ease-out;opacity:1;display:block}.user-menu div{cursor:pointer;text-decoration:none;color:#333;padding-inline:1.5em;padding-block:.5em;max-width:18em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu div:hover{background-color:#cccbcb48}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"] }]
2609
2656
  }], ctorParameters: function () { return [{ type: i1$4.NgxIndexedDBService }, { type: i0.ViewContainerRef }, { type: i2$1.Overlay }]; }, propDecorators: { key: [{
2610
2657
  type: Input,
2611
2658
  args: [{ required: false }]
@@ -3767,6 +3814,7 @@ class FalconLibModule {
3767
3814
  CoreTableColumnManagerComponent,
3768
3815
  CoreTableFilterDialogComponent,
3769
3816
  CoreTableTextColumnComponent,
3817
+ CoreTablePreColumnComponent,
3770
3818
  CoreTableNumberColumnComponent,
3771
3819
  CoreTableSelectorColumnComponent,
3772
3820
  CoreTableNoContentComponent,
@@ -3870,6 +3918,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3870
3918
  CoreTableColumnManagerComponent,
3871
3919
  CoreTableFilterDialogComponent,
3872
3920
  CoreTableTextColumnComponent,
3921
+ CoreTablePreColumnComponent,
3873
3922
  CoreTableNumberColumnComponent,
3874
3923
  CoreTableSelectorColumnComponent,
3875
3924
  CoreTableNoContentComponent,