ngx-techlify-core 22.2.0 → 22.3.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-DROe5GRx.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-oCILHkdE.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-BRmDpYG3.mjs";
4
+ import { i as UserListPageConfig, n as MultiUserConfig, r as UserConfig, t as UserConfigService } from "./ngx-techlify-core-user-config.service-DW5EgXhL.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 = {};
@@ -32292,6 +32295,241 @@ i0.ɵɵngDeclareClassMetadata({
32292
32295
  }]
32293
32296
  }
32294
32297
  });
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 };
32298
+ const DATE_FORMATS = {
32299
+ day: "D MMM YYYY",
32300
+ week: "D MMM YYYY",
32301
+ month: "MMM YYYY",
32302
+ quarter: "[Q]Q YYYY",
32303
+ year: "YYYY"
32304
+ };
32305
+ var TechlifyChartComponent = class TechlifyChartComponent {
32306
+ constructor() {
32307
+ this.filters = {};
32308
+ this.y = "count";
32309
+ this.cumulative = false;
32310
+ this.params = {};
32311
+ this.type = ChartType.ColumnChart;
32312
+ this.chartOptions = {};
32313
+ this.colors = {};
32314
+ this.loaded = new EventEmitter();
32315
+ this.chartColumns = [];
32316
+ this.chartData = [];
32317
+ this.options = {};
32318
+ this.isLoading = false;
32319
+ this.hasError = false;
32320
+ this.http = inject(HttpService);
32321
+ this.requestHelperService = inject(RequestHelperService);
32322
+ this.changeDetector = inject(ChangeDetectorRef);
32323
+ this.load$ = new Subject();
32324
+ this.load$.pipe(switchMap(({ url, params }) => {
32325
+ this.isLoading = true;
32326
+ this.hasError = false;
32327
+ this.changeDetector.markForCheck();
32328
+ return this.http.get(url, { params }).pipe(catchError(() => of(null)));
32329
+ }), takeUntilDestroyed(inject(DestroyRef))).subscribe((data) => {
32330
+ this.isLoading = false;
32331
+ this.hasError = !data;
32332
+ this.data = data;
32333
+ this.render();
32334
+ if (data) this.loaded.emit(data);
32335
+ });
32336
+ }
32337
+ get chartType() {
32338
+ return this.type;
32339
+ }
32340
+ ngOnChanges() {
32341
+ const params = this.getParams();
32342
+ const request = JSON.stringify([this.url, params]);
32343
+ if (request !== this.lastRequest) {
32344
+ this.lastRequest = request;
32345
+ this.load$.next({
32346
+ url: this.url,
32347
+ params
32348
+ });
32349
+ } else this.render();
32350
+ }
32351
+ getParams() {
32352
+ const params = Object.entries({
32353
+ ...this.filters,
32354
+ ...this.params,
32355
+ x: this.x,
32356
+ x_interval: this.xInterval,
32357
+ series: this.series,
32358
+ y: this.x ? [].concat(this.y).join(",") : null,
32359
+ cumulative: this.cumulative ? 1 : null
32360
+ }).filter(([, value]) => value !== null && value !== void 0).reduce((setParams, [key, value]) => ({
32361
+ ...setParams,
32362
+ [key]: value
32363
+ }), {});
32364
+ return this.requestHelperService.convertToFormData(JSON.parse(JSON.stringify(params)));
32365
+ }
32366
+ render() {
32367
+ const [xColumn, ...valueColumns] = this.data?.columns ?? [];
32368
+ const isColorPerBar = valueColumns.length === 1 && ![ChartType.PieChart, ChartType.LineChart].includes(this.chartType);
32369
+ const styleColumn = isColorPerBar ? [{
32370
+ role: "style",
32371
+ type: "string"
32372
+ }] : [];
32373
+ this.chartColumns = xColumn ? [
32374
+ xColumn.label,
32375
+ ...valueColumns.map((column) => column.label),
32376
+ ...styleColumn
32377
+ ] : [];
32378
+ this.chartData = (this.data?.rows ?? []).map(([x, ...values]) => [
32379
+ this.formatX(x, xColumn),
32380
+ ...values,
32381
+ ...isColorPerBar ? [this.generateColor()] : []
32382
+ ]);
32383
+ this.options = {
32384
+ legend: { position: valueColumns.length > 1 ? "top" : "none" },
32385
+ series: valueColumns.reduce((series, column, index) => this.colors?.[column.label] ? {
32386
+ ...series,
32387
+ [index]: { color: this.colors[column.label] }
32388
+ } : series, {}),
32389
+ ...this.chartOptions
32390
+ };
32391
+ this.changeDetector.markForCheck();
32392
+ }
32393
+ generateColor() {
32394
+ const h = 360 * Math.random();
32395
+ const s = 25 + 70 * Math.random();
32396
+ const l = (40 + 10 * Math.random()) / 100;
32397
+ const a = s * Math.min(l, 1 - l) / 100;
32398
+ const f = (n) => {
32399
+ const k = (n + h / 30) % 12;
32400
+ const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
32401
+ return Math.round(255 * color).toString(16).padStart(2, "0");
32402
+ };
32403
+ return `#${f(0)}${f(8)}${f(4)}`;
32404
+ }
32405
+ formatX(value, column) {
32406
+ if (column?.type === "date") return moment(value).format(this.xFormat ?? DATE_FORMATS[column.interval] ?? DATE_FORMATS.day);
32407
+ if (column?.type === "number" && column.interval) return `${value} - ${value + Number(column.interval) - 1}`;
32408
+ return String(value);
32409
+ }
32410
+ static {
32411
+ this.ɵfac = i0.ɵɵngDeclareFactory({
32412
+ minVersion: "12.0.0",
32413
+ version: "22.2.3",
32414
+ ngImport: i0,
32415
+ type: TechlifyChartComponent,
32416
+ deps: [],
32417
+ target: i0.ɵɵFactoryTarget.Component
32418
+ });
32419
+ }
32420
+ static {
32421
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
32422
+ minVersion: "14.0.0",
32423
+ version: "22.2.3",
32424
+ type: TechlifyChartComponent,
32425
+ isStandalone: true,
32426
+ selector: "app-techlify-chart",
32427
+ inputs: {
32428
+ url: "url",
32429
+ filters: "filters",
32430
+ x: "x",
32431
+ xInterval: "xInterval",
32432
+ xFormat: "xFormat",
32433
+ series: "series",
32434
+ y: "y",
32435
+ cumulative: "cumulative",
32436
+ params: "params",
32437
+ type: "type",
32438
+ title: "title",
32439
+ subtitle: "subtitle",
32440
+ chartOptions: "chartOptions",
32441
+ colors: "colors"
32442
+ },
32443
+ outputs: { loaded: "loaded" },
32444
+ usesOnChanges: true,
32445
+ ngImport: i0,
32446
+ 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",
32447
+ styles: [".chart{width:100%;height:200px}\n"],
32448
+ dependencies: [
32449
+ {
32450
+ kind: "ngmodule",
32451
+ type: CommonModule
32452
+ },
32453
+ {
32454
+ kind: "directive",
32455
+ type: i1$4.NgIf,
32456
+ selector: "[ngIf]",
32457
+ inputs: [
32458
+ "ngIf",
32459
+ "ngIfThen",
32460
+ "ngIfElse"
32461
+ ]
32462
+ },
32463
+ {
32464
+ kind: "component",
32465
+ type: GoogleChart,
32466
+ selector: "google-chart",
32467
+ exportAs: ["googleChart"]
32468
+ },
32469
+ {
32470
+ kind: "ngmodule",
32471
+ type: MatProgressBarModule
32472
+ },
32473
+ {
32474
+ kind: "component",
32475
+ type: i20.MatProgressBar,
32476
+ selector: "mat-progress-bar",
32477
+ inputs: [
32478
+ "color",
32479
+ "value",
32480
+ "bufferValue",
32481
+ "mode"
32482
+ ],
32483
+ outputs: ["animationEnd"],
32484
+ exportAs: ["matProgressBar"]
32485
+ }
32486
+ ],
32487
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
32488
+ });
32489
+ }
32490
+ };
32491
+ i0.ɵɵngDeclareClassMetadata({
32492
+ minVersion: "12.0.0",
32493
+ version: "22.2.3",
32494
+ ngImport: i0,
32495
+ type: TechlifyChartComponent,
32496
+ decorators: [{
32497
+ type: Component,
32498
+ args: [{
32499
+ selector: "app-techlify-chart",
32500
+ changeDetection: ChangeDetectionStrategy.OnPush,
32501
+ standalone: true,
32502
+ imports: [
32503
+ CommonModule,
32504
+ GoogleChart,
32505
+ MatProgressBarModule
32506
+ ],
32507
+ 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",
32508
+ styles: [".chart{width:100%;height:200px}\n"]
32509
+ }]
32510
+ }],
32511
+ ctorParameters: () => [],
32512
+ propDecorators: {
32513
+ url: [{
32514
+ type: Input,
32515
+ args: [{ required: true }]
32516
+ }],
32517
+ filters: [{ type: Input }],
32518
+ x: [{ type: Input }],
32519
+ xInterval: [{ type: Input }],
32520
+ xFormat: [{ type: Input }],
32521
+ series: [{ type: Input }],
32522
+ y: [{ type: Input }],
32523
+ cumulative: [{ type: Input }],
32524
+ params: [{ type: Input }],
32525
+ type: [{ type: Input }],
32526
+ title: [{ type: Input }],
32527
+ subtitle: [{ type: Input }],
32528
+ chartOptions: [{ type: Input }],
32529
+ colors: [{ type: Input }],
32530
+ loaded: [{ type: Output }]
32531
+ }
32532
+ });
32533
+ 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
32534
 
32297
32535
  //# sourceMappingURL=ngx-techlify-core.mjs.map