ngx-techlify-core 22.2.0 → 22.4.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.
@@ -1,14 +1,14 @@
1
- import { $ as ActionPopupComponent, A as MaterialModule, B as HttpCacheService, C as AuthenticationGuard, D as CustomIconModule, E as TechlifyIconModule, F as HttpService, G as LogLevel, H as ErrorHandlerService, I as TokenInterceptor, J as EnvironmentService, K as Logger, L as CredentialsService, M as FormConfigurationForFormComponent, N as FileDropperComponent, O as TechlifyIconComponent, P as HTTP_DYNAMIC_INTERCEPTORS, Q as SuccessSnackComponent, R as ApiPrefixInterceptor, S as User, T as SnackModule, U as ConfigService, V as ErrorHandlerInterceptor, W as TechlifyConfig, X as AlertService, Y as FormValidatorService, Z as ErrorSnackComponent, _ as FilterService, a as TimelineFilterModule, b as CurrentUserService, c as ExportExcelModule, d as ActionPopupModule, et as ActionPopup, f as TechlifyFormButtonComponent, g as TechlifyDeleteButtonComponent, h as Timeline, i as SearchableSelectorComponent, j as ReadMoreComponent, k as CustomIconComponent, l as ExportExcelButtonComponent, m as calculateTimeline, n as FormConfigurationForFormModule, o as ReadMoreModule, p as TimelineFilterComponent, q as DocumentViewerComponent, r as SearchableSelectorModule, s as FileDropperModule, t as SharedModule, u as DocumentViewerModule, v as RouteReusableStrategy, w as AppUpdateService, x as StorageService, y as AuthenticationService, z as CacheInterceptor } from "./ngx-techlify-core-shared.module-CEkzd5Dr.mjs";
2
- import { a as RequestHelperService, c as TechlifyFormComponent, i as TechlifyListComponent, l as TechlifyService, n as TechlifyShowComponent, o as parseLocalDate, r as techlifyListContract, s as techlifyFormContract, t as techlifyShowContract } from "./ngx-techlify-core-base-model-BpcY6y7I.mjs";
3
- import { a as UserClientsListComponent, c as UserFormComponent, d as LoginHistoryForUserComponent, f as AuditLogListComponent, i as UserSessionsComponent, l as UserService, m as AuditLogService, n as UserClientsListModule, o as UserClientEnableDisableButtonComponent, p as AuditLogListFilterComponent, r as UserClientEnableDisableButtonModule, s as UserTenantService, t as UserSessionsModule, u as UserTypeEnum } from "./ngx-techlify-core-user-sessions.module-BkWzZbPL.mjs";
4
- import { i as UserListPageConfig, n as MultiUserConfig, r as UserConfig, t as UserConfigService } from "./ngx-techlify-core-user-config.service-CzFVhAQV.mjs";
1
+ import { $ as ActionPopupComponent, A as MaterialModule, B as HttpCacheService, C as AuthenticationGuard, D as CustomIconModule, E as TechlifyIconModule, F as HttpService, G as LogLevel, H as ErrorHandlerService, I as TokenInterceptor, J as EnvironmentService, K as Logger, L as CredentialsService, M as FormConfigurationForFormComponent, N as FileDropperComponent, O as TechlifyIconComponent, P as HTTP_DYNAMIC_INTERCEPTORS, Q as SuccessSnackComponent, R as ApiPrefixInterceptor, S as User, T as SnackModule, U as ConfigService, V as ErrorHandlerInterceptor, W as TechlifyConfig, X as AlertService, Y as FormValidatorService, Z as ErrorSnackComponent, _ as FilterService, a as TimelineFilterModule, b as CurrentUserService, c as ExportExcelModule, d as ActionPopupModule, et as ActionPopup, f as TechlifyFormButtonComponent, g as TechlifyDeleteButtonComponent, h as Timeline, i as SearchableSelectorComponent, j as ReadMoreComponent, k as CustomIconComponent, l as ExportExcelButtonComponent, m as calculateTimeline, n as FormConfigurationForFormModule, o as ReadMoreModule, p as TimelineFilterComponent, q as DocumentViewerComponent, r as SearchableSelectorModule, s as FileDropperModule, t as SharedModule, u as DocumentViewerModule, v as RouteReusableStrategy, w as AppUpdateService, x as StorageService, y as AuthenticationService, z as CacheInterceptor } from "./ngx-techlify-core-shared.module-C0uAKgWi.mjs";
2
+ import { a as RequestHelperService, c as TechlifyFormComponent, i as TechlifyListComponent, l as TechlifyService, n as TechlifyShowComponent, o as parseLocalDate, r as techlifyListContract, s as techlifyFormContract, t as techlifyShowContract } from "./ngx-techlify-core-base-model-DfODc3ll.mjs";
3
+ import { a as UserClientsListComponent, c as UserFormComponent, d as LoginHistoryForUserComponent, f as AuditLogListComponent, i as UserSessionsComponent, l as UserService, m as AuditLogService, n as UserClientsListModule, o as UserClientEnableDisableButtonComponent, p as AuditLogListFilterComponent, r as UserClientEnableDisableButtonModule, s as UserTenantService, t as UserSessionsModule, u as UserTypeEnum } from "./ngx-techlify-core-user-sessions.module-gmNNGpCf.mjs";
4
+ import { i as UserListPageConfig, n as MultiUserConfig, r as UserConfig, t as UserConfigService } from "./ngx-techlify-core-user-config.service-BTZUoFIT.mjs";
5
5
  import * as i0 from "@angular/core";
6
- import { ChangeDetectionStrategy, Component, ContentChild, Directive, EventEmitter, HostListener, Inject, Injectable, Input, NgModule, Optional, Output, Pipe, Self, SkipSelf, ViewChild, ViewEncapsulation, booleanAttribute, computed, effect, forwardRef, input, numberAttribute, signal } from "@angular/core";
6
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DestroyRef, Directive, EventEmitter, HostListener, Inject, Injectable, Input, NgModule, Optional, Output, Pipe, Self, SkipSelf, ViewChild, ViewEncapsulation, booleanAttribute, computed, effect, forwardRef, inject, input, numberAttribute, signal } from "@angular/core";
7
7
  import * as i1$2 from "@angular/material/dialog";
8
8
  import { MAT_DIALOG_DATA } from "@angular/material/dialog";
9
9
  import * as i3$1 from "@angular/material/button";
10
10
  import { MatButton, MatButtonModule } from "@angular/material/button";
11
- import { Subject, Subscription, debounceTime, distinctUntilChanged, finalize, map, of, startWith, switchMap, takeUntil, tap } from "rxjs";
11
+ import { Subject, Subscription, catchError, debounceTime, distinctUntilChanged, finalize, map, of, startWith, switchMap, takeUntil, tap } from "rxjs";
12
12
  import * as i1 from "@angular/material/snack-bar";
13
13
  import { MAT_SNACK_BAR_DATA } from "@angular/material/snack-bar";
14
14
  import * as i5$2 from "@angular/material/icon";
@@ -46,6 +46,7 @@ import * as i7$1 from "@angular/material/chips";
46
46
  import * as i5 from "ngx-permissions";
47
47
  import { NgxPermissionsModule } from "ngx-permissions";
48
48
  import * as i20 from "@angular/material/progress-bar";
49
+ import { MatProgressBarModule } from "@angular/material/progress-bar";
49
50
  import * as i9 from "@angular/material/progress-spinner";
50
51
  import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
51
52
  import * as i11 from "@angular/material/select";
@@ -62,6 +63,8 @@ import * as jsondiffpatch from "jsondiffpatch";
62
63
  import * as i6 from "ngx-spinner";
63
64
  import * as i4 from "@angular/cdk/overlay";
64
65
  import { CdkConnectedOverlay, CdkOverlayOrigin } from "@angular/cdk/overlay";
66
+ import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
67
+ import { ChartType, GoogleChart } from "angular-google-charts";
65
68
  var __defProp = Object.defineProperty;
66
69
  var __exportAll = (all, no_symbols) => {
67
70
  let target = {};
@@ -2218,7 +2221,12 @@ var EntityFileListComponent = class EntityFileListComponent extends TechlifyList
2218
2221
  "component",
2219
2222
  "model",
2220
2223
  "data",
2221
- "width"
2224
+ "width",
2225
+ "tooltip",
2226
+ "multiAddComponent",
2227
+ "multiAddData",
2228
+ "multiAddWidth",
2229
+ "multiAddTooltip"
2222
2230
  ],
2223
2231
  outputs: ["saved"]
2224
2232
  },
@@ -3478,7 +3486,12 @@ var NoteListComponent = class NoteListComponent extends TechlifyListComponent {
3478
3486
  "component",
3479
3487
  "model",
3480
3488
  "data",
3481
- "width"
3489
+ "width",
3490
+ "tooltip",
3491
+ "multiAddComponent",
3492
+ "multiAddData",
3493
+ "multiAddWidth",
3494
+ "multiAddTooltip"
3482
3495
  ],
3483
3496
  outputs: ["saved"]
3484
3497
  },
@@ -13582,7 +13595,12 @@ let UserListComponent = class UserListComponent extends TechlifyListComponent {
13582
13595
  "component",
13583
13596
  "model",
13584
13597
  "data",
13585
- "width"
13598
+ "width",
13599
+ "tooltip",
13600
+ "multiAddComponent",
13601
+ "multiAddData",
13602
+ "multiAddWidth",
13603
+ "multiAddTooltip"
13586
13604
  ],
13587
13605
  outputs: ["saved"]
13588
13606
  },
@@ -13805,7 +13823,12 @@ var UserViewComponent = class UserViewComponent {
13805
13823
  "component",
13806
13824
  "model",
13807
13825
  "data",
13808
- "width"
13826
+ "width",
13827
+ "tooltip",
13828
+ "multiAddComponent",
13829
+ "multiAddData",
13830
+ "multiAddWidth",
13831
+ "multiAddTooltip"
13809
13832
  ],
13810
13833
  outputs: ["saved"]
13811
13834
  },
@@ -25474,7 +25497,12 @@ var AppAdminUserViewComponent = class AppAdminUserViewComponent {
25474
25497
  "component",
25475
25498
  "model",
25476
25499
  "data",
25477
- "width"
25500
+ "width",
25501
+ "tooltip",
25502
+ "multiAddComponent",
25503
+ "multiAddData",
25504
+ "multiAddWidth",
25505
+ "multiAddTooltip"
25478
25506
  ],
25479
25507
  outputs: ["saved"]
25480
25508
  },
@@ -26137,7 +26165,12 @@ let AppAdminUserList = class AppAdminUserList extends TechlifyListComponent {
26137
26165
  "component",
26138
26166
  "model",
26139
26167
  "data",
26140
- "width"
26168
+ "width",
26169
+ "tooltip",
26170
+ "multiAddComponent",
26171
+ "multiAddData",
26172
+ "multiAddWidth",
26173
+ "multiAddTooltip"
26141
26174
  ],
26142
26175
  outputs: ["saved"]
26143
26176
  },
@@ -30214,7 +30247,12 @@ var LockedDateListComponent = class LockedDateListComponent extends TechlifyList
30214
30247
  "component",
30215
30248
  "model",
30216
30249
  "data",
30217
- "width"
30250
+ "width",
30251
+ "tooltip",
30252
+ "multiAddComponent",
30253
+ "multiAddData",
30254
+ "multiAddWidth",
30255
+ "multiAddTooltip"
30218
30256
  ],
30219
30257
  outputs: ["saved"]
30220
30258
  },
@@ -32292,6 +32330,241 @@ i0.ɵɵngDeclareClassMetadata({
32292
32330
  }]
32293
32331
  }
32294
32332
  });
32295
- export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AdminRoleListComponent, AdminRoleListModule, AdminRolePermissionFormComponent, AdminRolePermissionFormModule, AdminRoleService, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppAdminUserList, AppAdminUserViewComponent, AppAdminUserViewModule, AppUpdateService, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, ClientService, ColumnConfig, ColumnSelectorComponent, ColumnSelectorModule, CommentFormComponent, CompanyInfoDisplayComponent, CompanyInformationComponent, ConfigService, CoreModule, CountryService, CredentialsService, CurrentUserService, CustomIconComponent, CustomIconModule, DEFAULT_SELECTED_VALUE, DataTable, DataTableComponent, DataTableModule, DateUtils, DatetimeLocalDirective, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileListComponent, EntityFileListModule, EntityFileListModule as EntityFilesViewAllModule, EntityFileListWidgetComponent, EntityFileService, EnvironmentService, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDragdropUploaderComponent, FileDragdropUploaderModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormConfigurationFieldFormComponent, FormConfigurationFieldFormModule, FormConfigurationFieldFormRoutingModule, FormConfigurationForFormComponent, FormConfigurationForFormModule, FormConfigurationFormFieldService, FormConfigurationFormService, FormConfigurationUtilityService, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LockedDate, LockedDateFormComponent, LockedDateListComponent, LockedDateLockUnlockButtonComponent, LockedDateModule, LockedDateService, LogLevel, Logger, LoginComponent, LoginFormFieldsComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MaterialModule, MultiUserConfig, MyTechlifyViewListingComponent, MyTechlifyViewListingModule, MyTechlifyViewService, NgxTechlifyUsersModule, NoteCommentListComponent, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberInputButtonComponent, NumberInputButtonModule, NumberSelectorComponent, OrdinalPipe, PageEvent, PdfButtonComponent, PdfButtonModule, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, PhoneNumberSelectorComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, ResetPasswordComponent, ResetPasswordModule, ResetPasswordRoutingModule, ResetPasswordService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormButtonComponent, RoleFormComponent, RoleListComponent, RoleModule, RoleRoutingProvider, RoleService, RoleViewComponent, RoleViewModule, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SubscriptionFormComponent, SubscriptionFormModule, SubscriptionListingComponent, SubscriptionListingModule, SubscriptionPackageListingComponent, SubscriptionPackageListingModule, SubscriptionPackageViewComponent, SubscriptionPackageViewModule, SubscriptionService, SuccessSnackComponent, TagService, TechlifyAppSelectorComponent, TechlifyAppSelectorModule, TechlifyAutoCompleteSelectComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyCurrencyPipe, TechlifyDeleteButtonComponent, TechlifyDetailLayoutComponent, TechlifyFeatureDirectiveModule, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFeatureService, TechlifyFormButtonComponent, TechlifyFormComponent, TechlifyIconComponent, TechlifyIconModule, TechlifyListComponent, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyService, TechlifyShowComponent, TechlifySubscriptionDirective, TechlifySubscriptionDirectiveModule, TechlifyTaggerTagFormComponent, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagListComponent, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TechlifyViewFormComponent, TechlifyViewFormModule, TechlifyViewService, TenantFormButtonComponent, TenantListWidgetComponent, Timeline, TimelineActivityButtonComponent, TimelineActivityButtonModule, TimelineActivityListComponent, TimelineActivityListModule, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserClientEnableDisableButtonComponent, UserClientEnableDisableButtonModule, UserClientsListComponent, UserClientsListModule, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserEnableButtonModule, UserExploreComponent, UserFormComponent, UserListComponent, UserListPageConfig, UserMenuComponent, UserMenuModule, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UserSessionsComponent, UserSessionsModule, UserViewComponent, UtilityModule, ViewerConfig, WrapPipe, calculateTimeline, dateValidator, esfur, estlr, esulr, parseLocalDate, techlifyFormContract, techlifyListContract, techlifyShowContract };
32333
+ const DATE_FORMATS = {
32334
+ day: "D MMM YYYY",
32335
+ week: "D MMM YYYY",
32336
+ month: "MMM YYYY",
32337
+ quarter: "[Q]Q YYYY",
32338
+ year: "YYYY"
32339
+ };
32340
+ var TechlifyChartComponent = class TechlifyChartComponent {
32341
+ constructor() {
32342
+ this.filters = {};
32343
+ this.y = "count";
32344
+ this.cumulative = false;
32345
+ this.params = {};
32346
+ this.type = ChartType.ColumnChart;
32347
+ this.chartOptions = {};
32348
+ this.colors = {};
32349
+ this.loaded = new EventEmitter();
32350
+ this.chartColumns = [];
32351
+ this.chartData = [];
32352
+ this.options = {};
32353
+ this.isLoading = false;
32354
+ this.hasError = false;
32355
+ this.http = inject(HttpService);
32356
+ this.requestHelperService = inject(RequestHelperService);
32357
+ this.changeDetector = inject(ChangeDetectorRef);
32358
+ this.load$ = new Subject();
32359
+ this.load$.pipe(switchMap(({ url, params }) => {
32360
+ this.isLoading = true;
32361
+ this.hasError = false;
32362
+ this.changeDetector.markForCheck();
32363
+ return this.http.get(url, { params }).pipe(catchError(() => of(null)));
32364
+ }), takeUntilDestroyed(inject(DestroyRef))).subscribe((data) => {
32365
+ this.isLoading = false;
32366
+ this.hasError = !data;
32367
+ this.data = data;
32368
+ this.render();
32369
+ if (data) this.loaded.emit(data);
32370
+ });
32371
+ }
32372
+ get chartType() {
32373
+ return this.type;
32374
+ }
32375
+ ngOnChanges() {
32376
+ const params = this.getParams();
32377
+ const request = JSON.stringify([this.url, params]);
32378
+ if (request !== this.lastRequest) {
32379
+ this.lastRequest = request;
32380
+ this.load$.next({
32381
+ url: this.url,
32382
+ params
32383
+ });
32384
+ } else this.render();
32385
+ }
32386
+ getParams() {
32387
+ const params = Object.entries({
32388
+ ...this.filters,
32389
+ ...this.params,
32390
+ x: this.x,
32391
+ x_interval: this.xInterval,
32392
+ series: this.series,
32393
+ y: this.x ? [].concat(this.y).join(",") : null,
32394
+ cumulative: this.cumulative ? 1 : null
32395
+ }).filter(([, value]) => value !== null && value !== void 0).reduce((setParams, [key, value]) => ({
32396
+ ...setParams,
32397
+ [key]: value
32398
+ }), {});
32399
+ return this.requestHelperService.convertToFormData(JSON.parse(JSON.stringify(params)));
32400
+ }
32401
+ render() {
32402
+ const [xColumn, ...valueColumns] = this.data?.columns ?? [];
32403
+ const isColorPerBar = valueColumns.length === 1 && ![ChartType.PieChart, ChartType.LineChart].includes(this.chartType);
32404
+ const styleColumn = isColorPerBar ? [{
32405
+ role: "style",
32406
+ type: "string"
32407
+ }] : [];
32408
+ this.chartColumns = xColumn ? [
32409
+ xColumn.label,
32410
+ ...valueColumns.map((column) => column.label),
32411
+ ...styleColumn
32412
+ ] : [];
32413
+ this.chartData = (this.data?.rows ?? []).map(([x, ...values]) => [
32414
+ this.formatX(x, xColumn),
32415
+ ...values,
32416
+ ...isColorPerBar ? [this.generateColor()] : []
32417
+ ]);
32418
+ this.options = {
32419
+ legend: { position: valueColumns.length > 1 ? "top" : "none" },
32420
+ series: valueColumns.reduce((series, column, index) => this.colors?.[column.label] ? {
32421
+ ...series,
32422
+ [index]: { color: this.colors[column.label] }
32423
+ } : series, {}),
32424
+ ...this.chartOptions
32425
+ };
32426
+ this.changeDetector.markForCheck();
32427
+ }
32428
+ generateColor() {
32429
+ const h = 360 * Math.random();
32430
+ const s = 25 + 70 * Math.random();
32431
+ const l = (40 + 10 * Math.random()) / 100;
32432
+ const a = s * Math.min(l, 1 - l) / 100;
32433
+ const f = (n) => {
32434
+ const k = (n + h / 30) % 12;
32435
+ const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
32436
+ return Math.round(255 * color).toString(16).padStart(2, "0");
32437
+ };
32438
+ return `#${f(0)}${f(8)}${f(4)}`;
32439
+ }
32440
+ formatX(value, column) {
32441
+ if (column?.type === "date") return moment(value).format(this.xFormat ?? DATE_FORMATS[column.interval] ?? DATE_FORMATS.day);
32442
+ if (column?.type === "number" && column.interval) return `${value} - ${value + Number(column.interval) - 1}`;
32443
+ return String(value);
32444
+ }
32445
+ static {
32446
+ this.ɵfac = i0.ɵɵngDeclareFactory({
32447
+ minVersion: "12.0.0",
32448
+ version: "22.2.3",
32449
+ ngImport: i0,
32450
+ type: TechlifyChartComponent,
32451
+ deps: [],
32452
+ target: i0.ɵɵFactoryTarget.Component
32453
+ });
32454
+ }
32455
+ static {
32456
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
32457
+ minVersion: "14.0.0",
32458
+ version: "22.2.3",
32459
+ type: TechlifyChartComponent,
32460
+ isStandalone: true,
32461
+ selector: "app-techlify-chart",
32462
+ inputs: {
32463
+ url: "url",
32464
+ filters: "filters",
32465
+ x: "x",
32466
+ xInterval: "xInterval",
32467
+ xFormat: "xFormat",
32468
+ series: "series",
32469
+ y: "y",
32470
+ cumulative: "cumulative",
32471
+ params: "params",
32472
+ type: "type",
32473
+ title: "title",
32474
+ subtitle: "subtitle",
32475
+ chartOptions: "chartOptions",
32476
+ colors: "colors"
32477
+ },
32478
+ outputs: { loaded: "loaded" },
32479
+ usesOnChanges: true,
32480
+ ngImport: i0,
32481
+ template: "<div class=\"d-flex flex-column p-2\">\n <div class=\"d-flex flex-row flex-wrap align-items-center gap-2\">\n <div class=\"d-flex flex-column\">\n <h6 *ngIf=\"title\" class=\"m-0\">{{title}}</h6>\n <small *ngIf=\"subtitle\" class=\"text-secondary\">{{subtitle}}</small>\n </div>\n <span class=\"flex-grow-1\"></span>\n <!-- Header content, i.e. totals -->\n <ng-content></ng-content>\n </div>\n\n <mat-progress-bar *ngIf=\"isLoading\" mode=\"indeterminate\" class=\"mt-2\"></mat-progress-bar>\n\n <google-chart *ngIf=\"chartData.length; else noData\" class=\"chart\" [type]=\"chartType\" [data]=\"chartData\"\n [columns]=\"chartColumns\" [options]=\"options\" [dynamicResize]=\"true\"></google-chart>\n\n <ng-template #noData>\n <div *ngIf=\"!isLoading\" class=\"chart d-flex align-items-center justify-content-center text-secondary\">\n {{ hasError ? 'Could not load' : 'No data for' }} {{ title ?? 'chart' }}\n </div>\n </ng-template>\n</div>\n",
32482
+ styles: [".chart{width:100%;height:200px}\n"],
32483
+ dependencies: [
32484
+ {
32485
+ kind: "ngmodule",
32486
+ type: CommonModule
32487
+ },
32488
+ {
32489
+ kind: "directive",
32490
+ type: i1$4.NgIf,
32491
+ selector: "[ngIf]",
32492
+ inputs: [
32493
+ "ngIf",
32494
+ "ngIfThen",
32495
+ "ngIfElse"
32496
+ ]
32497
+ },
32498
+ {
32499
+ kind: "component",
32500
+ type: GoogleChart,
32501
+ selector: "google-chart",
32502
+ exportAs: ["googleChart"]
32503
+ },
32504
+ {
32505
+ kind: "ngmodule",
32506
+ type: MatProgressBarModule
32507
+ },
32508
+ {
32509
+ kind: "component",
32510
+ type: i20.MatProgressBar,
32511
+ selector: "mat-progress-bar",
32512
+ inputs: [
32513
+ "color",
32514
+ "value",
32515
+ "bufferValue",
32516
+ "mode"
32517
+ ],
32518
+ outputs: ["animationEnd"],
32519
+ exportAs: ["matProgressBar"]
32520
+ }
32521
+ ],
32522
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
32523
+ });
32524
+ }
32525
+ };
32526
+ i0.ɵɵngDeclareClassMetadata({
32527
+ minVersion: "12.0.0",
32528
+ version: "22.2.3",
32529
+ ngImport: i0,
32530
+ type: TechlifyChartComponent,
32531
+ decorators: [{
32532
+ type: Component,
32533
+ args: [{
32534
+ selector: "app-techlify-chart",
32535
+ changeDetection: ChangeDetectionStrategy.OnPush,
32536
+ standalone: true,
32537
+ imports: [
32538
+ CommonModule,
32539
+ GoogleChart,
32540
+ MatProgressBarModule
32541
+ ],
32542
+ template: "<div class=\"d-flex flex-column p-2\">\n <div class=\"d-flex flex-row flex-wrap align-items-center gap-2\">\n <div class=\"d-flex flex-column\">\n <h6 *ngIf=\"title\" class=\"m-0\">{{title}}</h6>\n <small *ngIf=\"subtitle\" class=\"text-secondary\">{{subtitle}}</small>\n </div>\n <span class=\"flex-grow-1\"></span>\n <!-- Header content, i.e. totals -->\n <ng-content></ng-content>\n </div>\n\n <mat-progress-bar *ngIf=\"isLoading\" mode=\"indeterminate\" class=\"mt-2\"></mat-progress-bar>\n\n <google-chart *ngIf=\"chartData.length; else noData\" class=\"chart\" [type]=\"chartType\" [data]=\"chartData\"\n [columns]=\"chartColumns\" [options]=\"options\" [dynamicResize]=\"true\"></google-chart>\n\n <ng-template #noData>\n <div *ngIf=\"!isLoading\" class=\"chart d-flex align-items-center justify-content-center text-secondary\">\n {{ hasError ? 'Could not load' : 'No data for' }} {{ title ?? 'chart' }}\n </div>\n </ng-template>\n</div>\n",
32543
+ styles: [".chart{width:100%;height:200px}\n"]
32544
+ }]
32545
+ }],
32546
+ ctorParameters: () => [],
32547
+ propDecorators: {
32548
+ url: [{
32549
+ type: Input,
32550
+ args: [{ required: true }]
32551
+ }],
32552
+ filters: [{ type: Input }],
32553
+ x: [{ type: Input }],
32554
+ xInterval: [{ type: Input }],
32555
+ xFormat: [{ type: Input }],
32556
+ series: [{ type: Input }],
32557
+ y: [{ type: Input }],
32558
+ cumulative: [{ type: Input }],
32559
+ params: [{ type: Input }],
32560
+ type: [{ type: Input }],
32561
+ title: [{ type: Input }],
32562
+ subtitle: [{ type: Input }],
32563
+ chartOptions: [{ type: Input }],
32564
+ colors: [{ type: Input }],
32565
+ loaded: [{ type: Output }]
32566
+ }
32567
+ });
32568
+ export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AdminRoleListComponent, AdminRoleListModule, AdminRolePermissionFormComponent, AdminRolePermissionFormModule, AdminRoleService, AlertService, ApiPrefixInterceptor, AppAdminHomeComponent, AppAdminModule, AppAdminUserList, AppAdminUserViewComponent, AppAdminUserViewModule, AppUpdateService, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, ClientService, ColumnConfig, ColumnSelectorComponent, ColumnSelectorModule, CommentFormComponent, CompanyInfoDisplayComponent, CompanyInformationComponent, ConfigService, CoreModule, CountryService, CredentialsService, CurrentUserService, CustomIconComponent, CustomIconModule, DEFAULT_SELECTED_VALUE, DataTable, DataTableComponent, DataTableModule, DateUtils, DatetimeLocalDirective, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileListComponent, EntityFileListModule, EntityFileListModule as EntityFilesViewAllModule, EntityFileListWidgetComponent, EntityFileService, EnvironmentService, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDragdropUploaderComponent, FileDragdropUploaderModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormConfigurationFieldFormComponent, FormConfigurationFieldFormModule, FormConfigurationFieldFormRoutingModule, FormConfigurationForFormComponent, FormConfigurationForFormModule, FormConfigurationFormFieldService, FormConfigurationFormService, FormConfigurationUtilityService, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LockedDate, LockedDateFormComponent, LockedDateListComponent, LockedDateLockUnlockButtonComponent, LockedDateModule, LockedDateService, LogLevel, Logger, LoginComponent, LoginFormFieldsComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MaterialModule, MultiUserConfig, MyTechlifyViewListingComponent, MyTechlifyViewListingModule, MyTechlifyViewService, NgxTechlifyUsersModule, NoteCommentListComponent, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberInputButtonComponent, NumberInputButtonModule, NumberSelectorComponent, OrdinalPipe, PageEvent, PdfButtonComponent, PdfButtonModule, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, PhoneNumberSelectorComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, ResetPasswordComponent, ResetPasswordModule, ResetPasswordRoutingModule, ResetPasswordService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormButtonComponent, RoleFormComponent, RoleListComponent, RoleModule, RoleRoutingProvider, RoleService, RoleViewComponent, RoleViewModule, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SubscriptionFormComponent, SubscriptionFormModule, SubscriptionListingComponent, SubscriptionListingModule, SubscriptionPackageListingComponent, SubscriptionPackageListingModule, SubscriptionPackageViewComponent, SubscriptionPackageViewModule, SubscriptionService, SuccessSnackComponent, TagService, TechlifyAppSelectorComponent, TechlifyAppSelectorModule, TechlifyAutoCompleteSelectComponent, TechlifyChartComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyCurrencyPipe, TechlifyDeleteButtonComponent, TechlifyDetailLayoutComponent, TechlifyFeatureDirectiveModule, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFeatureService, TechlifyFormButtonComponent, TechlifyFormComponent, TechlifyIconComponent, TechlifyIconModule, TechlifyListComponent, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyService, TechlifyShowComponent, TechlifySubscriptionDirective, TechlifySubscriptionDirectiveModule, TechlifyTaggerTagFormComponent, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagListComponent, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, TechlifyViewFormComponent, TechlifyViewFormModule, TechlifyViewService, TenantFormButtonComponent, TenantListWidgetComponent, Timeline, TimelineActivityButtonComponent, TimelineActivityButtonModule, TimelineActivityListComponent, TimelineActivityListModule, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserClientEnableDisableButtonComponent, UserClientEnableDisableButtonModule, UserClientsListComponent, UserClientsListModule, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserEnableButtonModule, UserExploreComponent, UserFormComponent, UserListComponent, UserListPageConfig, UserMenuComponent, UserMenuModule, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UserSessionsComponent, UserSessionsModule, UserViewComponent, UtilityModule, ViewerConfig, WrapPipe, calculateTimeline, dateValidator, esfur, estlr, esulr, parseLocalDate, techlifyFormContract, techlifyListContract, techlifyShowContract };
32296
32569
 
32297
32570
  //# sourceMappingURL=ngx-techlify-core.mjs.map