ngx-techlify-core 18.17.1 → 18.18.0
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.
- package/esm2022/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +14 -8
- package/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs +12 -5
- package/esm2022/lib/core/filter.service.mjs +4 -1
- package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +3 -4
- package/esm2022/lib/request-helper/request-helper.service.mjs +4 -1
- package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +30 -11
- package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +1 -1
- package/fesm2022/ngx-techlify-core.mjs +55 -18
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/company-information/company-info-display/company-info-display.component.d.ts +5 -2
- package/lib/core/filter.service.d.ts +3 -0
- package/lib/request-helper/request-helper.service.d.ts +1 -1
- package/lib/timeline-filter/timeline-filter.component.d.ts +7 -2
- package/package.json +1 -1
|
@@ -2247,6 +2247,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2247
2247
|
}]
|
|
2248
2248
|
}], ctorParameters: () => [{ type: HttpService }] });
|
|
2249
2249
|
|
|
2250
|
+
/**
|
|
2251
|
+
* @deprecated by release 18.20
|
|
2252
|
+
*/
|
|
2250
2253
|
class FilterService {
|
|
2251
2254
|
constructor(router) {
|
|
2252
2255
|
this.router = router;
|
|
@@ -2885,6 +2888,9 @@ class RequestHelperService {
|
|
|
2885
2888
|
const array = value?.split(',');
|
|
2886
2889
|
return array.map((val) => this.isNumeric(val) ? Number.parseInt(val) : val);
|
|
2887
2890
|
}
|
|
2891
|
+
else if (value && formGroupElement?.date && formGroupElement?.date === true) {
|
|
2892
|
+
return new Date(value);
|
|
2893
|
+
}
|
|
2888
2894
|
else if (value && formGroupElement?.number && formGroupElement?.number === true) {
|
|
2889
2895
|
return Number.parseInt(value);
|
|
2890
2896
|
}
|
|
@@ -3721,11 +3727,13 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
3721
3727
|
this.id = `timeline-filter-${TimelineFilterComponent_1.nextId++}`;
|
|
3722
3728
|
this.describedBy = '';
|
|
3723
3729
|
this.focused = false;
|
|
3724
|
-
this.
|
|
3730
|
+
this.isCustomSelected = false;
|
|
3725
3731
|
this._required = false;
|
|
3726
3732
|
this._disabled = false;
|
|
3727
3733
|
this.onChange = () => { };
|
|
3728
3734
|
this.onTouched = () => { };
|
|
3735
|
+
//Custom range
|
|
3736
|
+
this.selectedRangeLabel = '';
|
|
3729
3737
|
this.selectorForm = formBuilder.group({
|
|
3730
3738
|
select_value: [''],
|
|
3731
3739
|
custom_date_from: [''],
|
|
@@ -3738,8 +3746,8 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
3738
3746
|
ngOnInit() {
|
|
3739
3747
|
this.timelineValue.valueChanges.
|
|
3740
3748
|
pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(value => this.value = value);
|
|
3741
|
-
this.customDateFrom.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(
|
|
3742
|
-
this.customDateTo.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(
|
|
3749
|
+
this.customDateFrom.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(_ => this.applyRange());
|
|
3750
|
+
this.customDateTo.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(_ => this.applyRange());
|
|
3743
3751
|
}
|
|
3744
3752
|
resetFieldValue(field) {
|
|
3745
3753
|
this.form?.get(field)?.setValue('');
|
|
@@ -3747,14 +3755,19 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
3747
3755
|
getFieldValue(field) {
|
|
3748
3756
|
return this.form?.get(field)?.value;
|
|
3749
3757
|
}
|
|
3750
|
-
setFieldValue(field, value) {
|
|
3751
|
-
this.form?.get(field)?.setValue(value);
|
|
3758
|
+
setFieldValue(field, value, emitEvent = true) {
|
|
3759
|
+
this.form?.get(field)?.setValue(value, { emitEvent: emitEvent });
|
|
3760
|
+
}
|
|
3761
|
+
selectionChanged(selected) {
|
|
3762
|
+
if (selected.value == Timeline.CUSTOM) {
|
|
3763
|
+
this.openCalendar();
|
|
3764
|
+
}
|
|
3752
3765
|
}
|
|
3753
3766
|
changeTimeline(value) {
|
|
3754
3767
|
value = parseInt(value);
|
|
3755
3768
|
const timeline = calculateTimeline(value, this.dateFrom, this.dateTo);
|
|
3756
3769
|
if (timeline) {
|
|
3757
|
-
this.
|
|
3770
|
+
this.isCustomSelected = timeline.show_custom_field;
|
|
3758
3771
|
//For custom timeline, set the initial from the previous ranges if present
|
|
3759
3772
|
if (value == Timeline.CUSTOM) {
|
|
3760
3773
|
timeline.date_from = this.getFieldValue(this.dateFrom) ?? '';
|
|
@@ -3763,6 +3776,7 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
3763
3776
|
'custom_date_from': timeline.date_from,
|
|
3764
3777
|
'custom_date_to': timeline.date_to,
|
|
3765
3778
|
}, { emitEvent: false });
|
|
3779
|
+
this.applyRange();
|
|
3766
3780
|
}
|
|
3767
3781
|
this.setFieldValue(this.dateFrom, timeline.date_from);
|
|
3768
3782
|
this.setFieldValue(this.dateTo, timeline.date_to);
|
|
@@ -3770,6 +3784,18 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
3770
3784
|
this.onChange(this.value);
|
|
3771
3785
|
this.selectionChange.emit(timeline);
|
|
3772
3786
|
}
|
|
3787
|
+
openCalendar() {
|
|
3788
|
+
this.picker.open();
|
|
3789
|
+
}
|
|
3790
|
+
applyRange() {
|
|
3791
|
+
const from = this.selectorForm.get('custom_date_from')?.value;
|
|
3792
|
+
const to = this.selectorForm.get('custom_date_to')?.value;
|
|
3793
|
+
if (from && to) {
|
|
3794
|
+
this.selectedRangeLabel = `<b>${this.datePipe.transform(from, 'yyyy-MM-dd')}</b> to <b>${this.datePipe.transform(to, 'yyyy-MM-dd')}</b`;
|
|
3795
|
+
this.setFieldValue(this.dateFrom, this.datePipe.transform(from, 'yyyy-MM-dd'));
|
|
3796
|
+
this.setFieldValue(this.dateTo, this.datePipe.transform(to, 'yyyy-MM-dd'));
|
|
3797
|
+
}
|
|
3798
|
+
}
|
|
3773
3799
|
setDescribedByIds(ids) {
|
|
3774
3800
|
this.describedBy = ids.join(' ');
|
|
3775
3801
|
}
|
|
@@ -3798,7 +3824,7 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
3798
3824
|
provide: MatFormFieldControl,
|
|
3799
3825
|
useExisting: TimelineFilterComponent
|
|
3800
3826
|
}
|
|
3801
|
-
], viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n
|
|
3827
|
+
], viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\" style=\"width:200px\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\" (selectionChange)=\"selectionChanged($event)\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-hint *ngIf=\"isCustomSelected && selectedRangeLabel\">\n <span class=\"custom-hint\" (click)=\"openCalendar()\">\n <span [innerHTML]=\"selectedRangeLabel\"></span> <mat-icon fontIcon=\"edit\"\n style=\"font-size: 16px; vertical-align: middle;\">edit</mat-icon>\n </span>\n </mat-hint>\n <mat-date-range-input class=\"offscreen-range-input\" [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"custom_date_from\" placeholder=\"From date\" readonly />\n <input matEndDate formControlName=\"custom_date_to\" placeholder=\"To date\" readonly />\n </mat-date-range-input>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n</ng-container>", styles: [".custom-hint{cursor:pointer;display:inline-flex;align-items:center;gap:4px}.custom-hint:hover{text-decoration:underline}.offscreen-range-input{position:absolute;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i9$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i9$3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i11.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i11.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i11.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }] }); }
|
|
3802
3828
|
};
|
|
3803
3829
|
TimelineFilterComponent = TimelineFilterComponent_1 = __decorate([
|
|
3804
3830
|
UntilDestroy()
|
|
@@ -3811,7 +3837,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3811
3837
|
provide: MatFormFieldControl,
|
|
3812
3838
|
useExisting: TimelineFilterComponent
|
|
3813
3839
|
}
|
|
3814
|
-
], template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n
|
|
3840
|
+
], template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\" style=\"width:200px\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\" (selectionChange)=\"selectionChanged($event)\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-hint *ngIf=\"isCustomSelected && selectedRangeLabel\">\n <span class=\"custom-hint\" (click)=\"openCalendar()\">\n <span [innerHTML]=\"selectedRangeLabel\"></span> <mat-icon fontIcon=\"edit\"\n style=\"font-size: 16px; vertical-align: middle;\">edit</mat-icon>\n </span>\n </mat-hint>\n <mat-date-range-input class=\"offscreen-range-input\" [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"custom_date_from\" placeholder=\"From date\" readonly />\n <input matEndDate formControlName=\"custom_date_to\" placeholder=\"To date\" readonly />\n </mat-date-range-input>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n</ng-container>", styles: [".custom-hint{cursor:pointer;display:inline-flex;align-items:center;gap:4px}.custom-hint:hover{text-decoration:underline}.offscreen-range-input{position:absolute;opacity:0;pointer-events:none}\n"] }]
|
|
3815
3841
|
}], ctorParameters: () => [{ type: i1$4.UntypedFormBuilder }, { type: i1$4.NgControl, decorators: [{
|
|
3816
3842
|
type: Optional
|
|
3817
3843
|
}, {
|
|
@@ -3954,11 +3980,11 @@ class ExportExcelButtonComponent {
|
|
|
3954
3980
|
XLSX.writeFile(wb, fileName);
|
|
3955
3981
|
}
|
|
3956
3982
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExportExcelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3957
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { name: "name", data: "data" }, ngImport: i0, template: "<
|
|
3983
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { name: "name", data: "data" }, ngImport: i0, template: "<i (click)=\"exportExcel()\" class=\"cursor-pointer fas fa-file-excel\"></i>\n", styles: [""] }); }
|
|
3958
3984
|
}
|
|
3959
3985
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExportExcelButtonComponent, decorators: [{
|
|
3960
3986
|
type: Component,
|
|
3961
|
-
args: [{ selector: 'app-export-excel-button', template: "<
|
|
3987
|
+
args: [{ selector: 'app-export-excel-button', template: "<i (click)=\"exportExcel()\" class=\"cursor-pointer fas fa-file-excel\"></i>\n" }]
|
|
3962
3988
|
}], ctorParameters: () => [], propDecorators: { name: [{
|
|
3963
3989
|
type: Input
|
|
3964
3990
|
}], data: [{
|
|
@@ -13021,12 +13047,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13021
13047
|
class CompanyInfoDisplayComponent {
|
|
13022
13048
|
constructor(currentUserService) {
|
|
13023
13049
|
this.currentUserService = currentUserService;
|
|
13024
|
-
this.
|
|
13025
|
-
|
|
13026
|
-
|
|
13050
|
+
this.forceReload = true;
|
|
13051
|
+
}
|
|
13052
|
+
ngOnInit() {
|
|
13053
|
+
if (this.forceReload) {
|
|
13054
|
+
this.currentUserService.getUserObservable(true).subscribe((user) => {
|
|
13055
|
+
this.client = user?.client;
|
|
13056
|
+
});
|
|
13057
|
+
}
|
|
13027
13058
|
}
|
|
13028
13059
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, deps: [{ token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13029
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyInfoDisplayComponent, isStandalone: true, selector: "app-company-info-display", inputs: { client: "client" }, ngImport: i0, template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
13060
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyInfoDisplayComponent, isStandalone: true, selector: "app-company-info-display", inputs: { client: "client", forceReload: "forceReload" }, ngImport: i0, template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
13030
13061
|
}
|
|
13031
13062
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, decorators: [{
|
|
13032
13063
|
type: Component,
|
|
@@ -13035,6 +13066,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
13035
13066
|
], template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n" }]
|
|
13036
13067
|
}], ctorParameters: () => [{ type: CurrentUserService }], propDecorators: { client: [{
|
|
13037
13068
|
type: Input
|
|
13069
|
+
}], forceReload: [{
|
|
13070
|
+
type: Input
|
|
13038
13071
|
}] } });
|
|
13039
13072
|
|
|
13040
13073
|
class TechlifyAppService extends TechlifyServiceBaseClass {
|
|
@@ -13099,6 +13132,7 @@ class TenantListWidgetComponent extends TechlifyListingControllerInterface {
|
|
|
13099
13132
|
'#',
|
|
13100
13133
|
'Name',
|
|
13101
13134
|
'Users',
|
|
13135
|
+
'Actions'
|
|
13102
13136
|
];
|
|
13103
13137
|
}
|
|
13104
13138
|
ngOnInit() {
|
|
@@ -13118,18 +13152,21 @@ class TenantListWidgetComponent extends TechlifyListingControllerInterface {
|
|
|
13118
13152
|
this.lastPage = response?.last_page;
|
|
13119
13153
|
this.isWorking = false;
|
|
13120
13154
|
},
|
|
13121
|
-
error: () => {
|
|
13155
|
+
error: () => {
|
|
13156
|
+
this.isWorking = false;
|
|
13157
|
+
}
|
|
13122
13158
|
});
|
|
13123
13159
|
}
|
|
13124
13160
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantListWidgetComponent, deps: [{ token: ClientService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TenantListWidgetComponent, isStandalone: true, selector: "app-tenant-list-widget", usesInheritance: true, ngImport: i0, template: "<mat-card>\n <mat-card-content>\n <mat-card-title>Tenants</mat-card-title>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index;\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.name }}</td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"Users\">\n <th mat-header-cell *matHeaderCellDef> Users </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.users_count }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i13.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i13.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i13.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i13.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i13.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i13.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i13.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i13.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i13.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i13.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
13161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TenantListWidgetComponent, isStandalone: true, selector: "app-tenant-list-widget", usesInheritance: true, ngImport: i0, template: "<mat-card>\n <mat-card-content>\n <mat-card-title>Tenants</mat-card-title>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index;\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.name }}</td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"Users\">\n <th mat-header-cell *matHeaderCellDef> Users </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.users_count }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-icon class=\"cursor-pointer\" [routerLink]=\"['/app-admin/tenants', element?.id, 'view']\">\n visibility\n </mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i13.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i13.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i13.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i13.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i13.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i13.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i13.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i13.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i13.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
13126
13162
|
}
|
|
13127
13163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantListWidgetComponent, decorators: [{
|
|
13128
13164
|
type: Component,
|
|
13129
13165
|
args: [{ selector: 'app-tenant-list-widget', standalone: true, imports: [
|
|
13130
13166
|
MaterialModule,
|
|
13131
|
-
NgIf
|
|
13132
|
-
|
|
13167
|
+
NgIf,
|
|
13168
|
+
RouterLink
|
|
13169
|
+
], template: "<mat-card>\n <mat-card-content>\n <mat-card-title>Tenants</mat-card-title>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index;\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.name }}</td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"Users\">\n <th mat-header-cell *matHeaderCellDef> Users </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.users_count }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-icon class=\"cursor-pointer\" [routerLink]=\"['/app-admin/tenants', element?.id, 'view']\">\n visibility\n </mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n" }]
|
|
13133
13170
|
}], ctorParameters: () => [{ type: ClientService }] });
|
|
13134
13171
|
|
|
13135
13172
|
class AppAdminHomeComponent {
|