@abp/ng.theme.shared 10.1.0 → 10.2.0-rc.1
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,7 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, inject, LOCALE_ID,
|
|
3
|
-
import
|
|
4
|
-
import { formatDate, NgTemplateOutlet, CommonModule, NgClass, AsyncPipe, DOCUMENT, NgStyle, isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { Injectable, inject, LOCALE_ID, input, Component, ChangeDetectorRef, ChangeDetectionStrategy, Renderer2, signal, computed, output, viewChild, InjectionToken, DestroyRef, createComponent, effect, ViewEncapsulation, RendererFactory2, Injector, EnvironmentInjector, ApplicationRef, model, contentChild, HostListener, Directive, forwardRef, HostBinding, NgModule, ElementRef, ViewContainerRef, PLATFORM_ID, TemplateRef, provideAppInitializer, makeEnvironmentProviders } from '@angular/core';
|
|
3
|
+
import { formatDate, NgTemplateOutlet, AsyncPipe, DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
5
4
|
import { NgbDateAdapter, NgbDatepickerI18n, NgbTimeAdapter, NgbTimepickerI18n, NgbModal, NgbTooltip, NgbInputDatepickerConfig, NgbTypeaheadConfig, NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';
|
|
6
5
|
import { ConfigStateService, LocalizationPipe, RoutesService, SubscriptionService, RouterEvents, getRoutePath, StopPropagationDirective, HttpWaitService, RouterWaitService, ContentProjectionService, PROJECTION_STRATEGY, SORT_COMPARE_FUNC, InternalStore, AuthService, SessionStateService, DomInsertionService, CONTENT_STRATEGY, uuid, AbstractNgModelComponent, InternetConnectionService, LocalizationService, getLocaleDirection, HttpErrorReporterService, TENANT_NOT_FOUND_BY_NAME } from '@abp/ng.core';
|
|
7
6
|
import { animation, style, animate, keyframes, trigger, state, transition, useAnimation, query } from '@angular/animations';
|
|
@@ -10,7 +9,7 @@ import { startWith, map, debounceTime, filter, takeUntil, take, switchMap } from
|
|
|
10
9
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
10
|
import { fromEvent, Subscription, combineLatest, timer, ReplaySubject, Subject, BehaviorSubject, distinctUntilChanged, of, from, Observable, EMPTY } from 'rxjs';
|
|
12
11
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
13
|
-
import * as i1
|
|
12
|
+
import * as i1 from '@angular/forms';
|
|
14
13
|
import { FormsModule, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';
|
|
15
14
|
import * as i2 from '@ngx-validate/core';
|
|
16
15
|
import { NgxValidateCoreModule, normalizeDiacritics, VALIDATION_BLUEPRINTS, defaultMapErrorsFn, VALIDATION_MAP_ERRORS_FN, VALIDATION_VALIDATE_ON_SUBMIT } from '@ngx-validate/core';
|
|
@@ -321,17 +320,15 @@ const toastInOut = trigger('toastInOut', [
|
|
|
321
320
|
|
|
322
321
|
class BreadcrumbItemsComponent {
|
|
323
322
|
constructor() {
|
|
324
|
-
this.items = [];
|
|
323
|
+
this.items = input([], ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
325
324
|
}
|
|
326
325
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: BreadcrumbItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
327
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: BreadcrumbItemsComponent, isStandalone: true, selector: "abp-breadcrumb-items", inputs: { items: "items" }, ngImport: i0, template: "@if (items.length) {\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\">\r\n <a routerLink=\"/\"><i class=\"fa fa-home\" aria-hidden=\"true\"></i> </a>\r\n </li>\r\n @for (item of items; track $index; let last = $last) {\r\n <li class=\"breadcrumb-item\" [class.active]=\"last\" aria-current=\"page\">\r\n <ng-container\r\n *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ol>\r\n}\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\r\n</ng-template>\r\n\r\n<ng-template #textTemplate let-item>\r\n {{ item.name | abpLocalization }}\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
326
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: BreadcrumbItemsComponent, isStandalone: true, selector: "abp-breadcrumb-items", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (items().length) {\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\">\r\n <a routerLink=\"/\"><i class=\"fa fa-home\" aria-hidden=\"true\"></i> </a>\r\n </li>\r\n @for (item of items(); track $index; let last = $last) {\r\n <li class=\"breadcrumb-item\" [class.active]=\"last\" aria-current=\"page\">\r\n <ng-container\r\n *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ol>\r\n}\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\r\n</ng-template>\r\n\r\n<ng-template #textTemplate let-item>\r\n {{ item.name | abpLocalization }}\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
328
327
|
}
|
|
329
328
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: BreadcrumbItemsComponent, decorators: [{
|
|
330
329
|
type: Component,
|
|
331
|
-
args: [{ selector: 'abp-breadcrumb-items', imports: [NgTemplateOutlet, RouterLink, LocalizationPipe], template: "@if (items.length) {\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\">\r\n <a routerLink=\"/\"><i class=\"fa fa-home\" aria-hidden=\"true\"></i> </a>\r\n </li>\r\n @for (item of items; track $index; let last = $last) {\r\n <li class=\"breadcrumb-item\" [class.active]=\"last\" aria-current=\"page\">\r\n <ng-container\r\n *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ol>\r\n}\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\r\n</ng-template>\r\n\r\n<ng-template #textTemplate let-item>\r\n {{ item.name | abpLocalization }}\r\n</ng-template>\r\n" }]
|
|
332
|
-
}], propDecorators: { items: [{
|
|
333
|
-
type: Input
|
|
334
|
-
}] } });
|
|
330
|
+
args: [{ selector: 'abp-breadcrumb-items', imports: [NgTemplateOutlet, RouterLink, LocalizationPipe], template: "@if (items().length) {\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\">\r\n <a routerLink=\"/\"><i class=\"fa fa-home\" aria-hidden=\"true\"></i> </a>\r\n </li>\r\n @for (item of items(); track $index; let last = $last) {\r\n <li class=\"breadcrumb-item\" [class.active]=\"last\" aria-current=\"page\">\r\n <ng-container\r\n *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ol>\r\n}\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\r\n</ng-template>\r\n\r\n<ng-template #textTemplate let-item>\r\n {{ item.name | abpLocalization }}\r\n</ng-template>\r\n" }]
|
|
331
|
+
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }] } });
|
|
335
332
|
|
|
336
333
|
class BreadcrumbComponent {
|
|
337
334
|
constructor() {
|
|
@@ -372,47 +369,62 @@ function isAdministration(route) {
|
|
|
372
369
|
class ButtonComponent {
|
|
373
370
|
constructor() {
|
|
374
371
|
this.renderer = inject(Renderer2);
|
|
375
|
-
this.buttonId = '';
|
|
376
|
-
this.buttonClass = 'btn btn-primary';
|
|
377
|
-
this.buttonType = 'button';
|
|
378
|
-
this.formName = undefined;
|
|
379
|
-
this.
|
|
380
|
-
this.
|
|
381
|
-
this.
|
|
382
|
-
this.
|
|
383
|
-
|
|
384
|
-
this.
|
|
385
|
-
|
|
386
|
-
this.
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
372
|
+
this.buttonId = input('', ...(ngDevMode ? [{ debugName: "buttonId" }] : []));
|
|
373
|
+
this.buttonClass = input('btn btn-primary', ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
|
|
374
|
+
this.buttonType = input('button', ...(ngDevMode ? [{ debugName: "buttonType" }] : []));
|
|
375
|
+
this.formName = input(undefined, ...(ngDevMode ? [{ debugName: "formName" }] : []));
|
|
376
|
+
this.iconClass = input(undefined, ...(ngDevMode ? [{ debugName: "iconClass" }] : []));
|
|
377
|
+
this.loadingInput = input(false, { ...(ngDevMode ? { debugName: "loadingInput" } : {}), alias: 'loading' });
|
|
378
|
+
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
379
|
+
this.attributes = input(undefined, ...(ngDevMode ? [{ debugName: "attributes" }] : []));
|
|
380
|
+
// Internal writable signal for loading state - can be set programmatically
|
|
381
|
+
this._loading = signal(false, ...(ngDevMode ? [{ debugName: "_loading" }] : []));
|
|
382
|
+
// Computed that combines input and internal state
|
|
383
|
+
this.isLoading = computed(() => this.loadingInput() || this._loading(), ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
384
|
+
this.click = output();
|
|
385
|
+
this.focus = output();
|
|
386
|
+
this.blur = output();
|
|
387
|
+
this.abpClick = output();
|
|
388
|
+
this.abpFocus = output();
|
|
389
|
+
this.abpBlur = output();
|
|
390
|
+
this.buttonRef = viewChild.required('button');
|
|
391
|
+
this.icon = computed(() => {
|
|
392
|
+
return this.isLoading() ? 'fa fa-spinner fa-spin' : this.iconClass() || 'd-none';
|
|
393
|
+
}, ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
394
|
+
}
|
|
395
|
+
// Getter/setter for backward compatibility (used by ModalComponent)
|
|
396
|
+
get loading() {
|
|
397
|
+
return this._loading();
|
|
398
|
+
}
|
|
399
|
+
set loading(value) {
|
|
400
|
+
this._loading.set(value);
|
|
390
401
|
}
|
|
391
402
|
ngOnInit() {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
403
|
+
const attributes = this.attributes();
|
|
404
|
+
if (attributes) {
|
|
405
|
+
Object.keys(attributes).forEach(key => {
|
|
406
|
+
if (attributes[key]) {
|
|
407
|
+
this.renderer.setAttribute(this.buttonRef().nativeElement, key, attributes[key]);
|
|
396
408
|
}
|
|
397
409
|
});
|
|
398
410
|
}
|
|
399
411
|
}
|
|
400
412
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
401
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
413
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.9", type: ButtonComponent, isStandalone: true, selector: "abp-button", inputs: { buttonId: { classPropertyName: "buttonId", publicName: "buttonId", isSignal: true, isRequired: false, transformFunction: null }, buttonClass: { classPropertyName: "buttonClass", publicName: "buttonClass", isSignal: true, isRequired: false, transformFunction: null }, buttonType: { classPropertyName: "buttonType", publicName: "buttonType", isSignal: true, isRequired: false, transformFunction: null }, formName: { classPropertyName: "formName", publicName: "formName", isSignal: true, isRequired: false, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null }, loadingInput: { classPropertyName: "loadingInput", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, attributes: { classPropertyName: "attributes", publicName: "attributes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click", focus: "focus", blur: "blur", abpClick: "abpClick", abpFocus: "abpFocus", abpBlur: "abpBlur" }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
402
414
|
<button
|
|
403
415
|
#button
|
|
404
|
-
[id]="buttonId"
|
|
405
|
-
[attr.type]="buttonType"
|
|
406
|
-
[attr.form]="formName"
|
|
407
|
-
[
|
|
408
|
-
[disabled]="
|
|
409
|
-
(click.stop)="click.
|
|
410
|
-
(focus)="focus.
|
|
411
|
-
(blur)="blur.
|
|
416
|
+
[id]="buttonId()"
|
|
417
|
+
[attr.type]="buttonType()"
|
|
418
|
+
[attr.form]="formName()"
|
|
419
|
+
[class]="buttonClass()"
|
|
420
|
+
[disabled]="isLoading() || disabled()"
|
|
421
|
+
(click.stop)="click.emit($event); abpClick.emit($event)"
|
|
422
|
+
(focus)="focus.emit($event); abpFocus.emit($event)"
|
|
423
|
+
(blur)="blur.emit($event); abpBlur.emit($event)"
|
|
412
424
|
>
|
|
413
|
-
<i [
|
|
425
|
+
<i [class]="icon()" class="me-1" aria-hidden="true"></i><ng-content></ng-content>
|
|
414
426
|
</button>
|
|
415
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
427
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }] }); }
|
|
416
428
|
}
|
|
417
429
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
418
430
|
type: Component,
|
|
@@ -421,52 +433,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
421
433
|
template: `
|
|
422
434
|
<button
|
|
423
435
|
#button
|
|
424
|
-
[id]="buttonId"
|
|
425
|
-
[attr.type]="buttonType"
|
|
426
|
-
[attr.form]="formName"
|
|
427
|
-
[
|
|
428
|
-
[disabled]="
|
|
429
|
-
(click.stop)="click.
|
|
430
|
-
(focus)="focus.
|
|
431
|
-
(blur)="blur.
|
|
436
|
+
[id]="buttonId()"
|
|
437
|
+
[attr.type]="buttonType()"
|
|
438
|
+
[attr.form]="formName()"
|
|
439
|
+
[class]="buttonClass()"
|
|
440
|
+
[disabled]="isLoading() || disabled()"
|
|
441
|
+
(click.stop)="click.emit($event); abpClick.emit($event)"
|
|
442
|
+
(focus)="focus.emit($event); abpFocus.emit($event)"
|
|
443
|
+
(blur)="blur.emit($event); abpBlur.emit($event)"
|
|
432
444
|
>
|
|
433
|
-
<i [
|
|
445
|
+
<i [class]="icon()" class="me-1" aria-hidden="true"></i><ng-content></ng-content>
|
|
434
446
|
</button>
|
|
435
447
|
`,
|
|
436
|
-
imports: [
|
|
448
|
+
imports: [StopPropagationDirective],
|
|
437
449
|
}]
|
|
438
|
-
}], propDecorators: { buttonId: [{
|
|
439
|
-
type: Input
|
|
440
|
-
}], buttonClass: [{
|
|
441
|
-
type: Input
|
|
442
|
-
}], buttonType: [{
|
|
443
|
-
type: Input
|
|
444
|
-
}], formName: [{
|
|
445
|
-
type: Input
|
|
446
|
-
}], iconClass: [{
|
|
447
|
-
type: Input
|
|
448
|
-
}], loading: [{
|
|
449
|
-
type: Input
|
|
450
|
-
}], disabled: [{
|
|
451
|
-
type: Input
|
|
452
|
-
}], attributes: [{
|
|
453
|
-
type: Input
|
|
454
|
-
}], click: [{
|
|
455
|
-
type: Output
|
|
456
|
-
}], focus: [{
|
|
457
|
-
type: Output
|
|
458
|
-
}], blur: [{
|
|
459
|
-
type: Output
|
|
460
|
-
}], abpClick: [{
|
|
461
|
-
type: Output
|
|
462
|
-
}], abpFocus: [{
|
|
463
|
-
type: Output
|
|
464
|
-
}], abpBlur: [{
|
|
465
|
-
type: Output
|
|
466
|
-
}], buttonRef: [{
|
|
467
|
-
type: ViewChild,
|
|
468
|
-
args: ['button', { static: true }]
|
|
469
|
-
}] } });
|
|
450
|
+
}], propDecorators: { buttonId: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonId", required: false }] }], buttonClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonClass", required: false }] }], buttonType: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonType", required: false }] }], formName: [{ type: i0.Input, args: [{ isSignal: true, alias: "formName", required: false }] }], iconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconClass", required: false }] }], loadingInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], attributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "attributes", required: false }] }], click: [{ type: i0.Output, args: ["click"] }], focus: [{ type: i0.Output, args: ["focus"] }], blur: [{ type: i0.Output, args: ["blur"] }], abpClick: [{ type: i0.Output, args: ["abpClick"] }], abpFocus: [{ type: i0.Output, args: ["abpFocus"] }], abpBlur: [{ type: i0.Output, args: ["abpBlur"] }], buttonRef: [{ type: i0.ViewChild, args: ['button', { isSignal: true }] }] } });
|
|
470
451
|
|
|
471
452
|
var Confirmation;
|
|
472
453
|
(function (Confirmation) {
|
|
@@ -517,11 +498,11 @@ class ConfirmationComponent {
|
|
|
517
498
|
return !!(options && options.iconTemplate);
|
|
518
499
|
}
|
|
519
500
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
520
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ConfirmationComponent, isStandalone: true, selector: "abp-confirmation", ngImport: i0, template: "@if (confirmation$ | async; as data) {\r\n
|
|
501
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ConfirmationComponent, isStandalone: true, selector: "abp-confirmation", ngImport: i0, template: "@if (confirmation$ | async; as data) {\r\n<div class=\"confirmation\">\r\n <div class=\"confirmation-backdrop\" (click)=\"data.options?.dismissible ? close(dismiss) : null\"></div>\r\n <div class=\"confirmation-dialog\">\r\n @if (data.severity || isCustomIconExists(data)) {\r\n <div class=\"icon-container\" [class]=\"data.severity\">\r\n @if (isIconTemplateExits(data)) {\r\n <div [outerHTML]=\"data.options.iconTemplate\"></div>\r\n } @else {\r\n <i class=\"icon\" [class]=\"getIconClass(data)\"></i>\r\n }\r\n </div>\r\n }\r\n <div class=\"content\">\r\n @if (data.title) {\r\n <h1 class=\"title\" [innerHTML]=\"data.title | abpLocalization: data.options?.titleLocalizationParams\"></h1>\r\n }\r\n @if (data.message) {\r\n <p class=\"message\" [innerHTML]=\"data.message | abpLocalization: data.options?.messageLocalizationParams\"></p>\r\n }\r\n </div>\r\n <div class=\"footer\">\r\n @if (!data?.options?.hideCancelBtn) {\r\n <button id=\"cancel\" class=\"btn btn-outline-primary me-2\"\r\n [innerHTML]=\"data.options?.cancelText || 'AbpUi::Cancel' | abpLocalization\" (click)=\"close(reject)\"></button>\r\n }\r\n @if (!data?.options?.hideYesBtn) {\r\n <button id=\"confirm\" class=\"btn btn-primary\" [innerHTML]=\"data.options?.yesText || 'AbpUi::Yes' | abpLocalization\"\r\n (click)=\"close(confirm)\"></button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}", styles: [".confirmation{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1060}.confirmation .confirmation-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1061!important}.confirmation .confirmation-dialog{display:flex;flex-direction:column;margin:20px auto;padding:0;width:450px;min-height:300px;z-index:1062!important}@media screen and (max-width:500px){.confirmation .confirmation-dialog{width:90vw}}.confirmation .confirmation-dialog .icon-container{display:flex;align-items:center;justify-content:center;padding:40px 20px 10px}.confirmation .confirmation-dialog .icon-container .icon{width:100px;height:100px;stroke-width:1;font-size:80px;text-align:center}.confirmation .confirmation-dialog .content{flex-grow:1;display:block}.confirmation .confirmation-dialog .content .title{display:block;margin:0;padding:0;font-size:27px;font-weight:600;text-align:center}.confirmation .confirmation-dialog .content .message{display:block;padding:8px 20px 20px;font-size:16px;font-weight:400;text-align:center;margin-bottom:0}.confirmation .confirmation-dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:20px;width:100%}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
521
502
|
}
|
|
522
503
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ConfirmationComponent, decorators: [{
|
|
523
504
|
type: Component,
|
|
524
|
-
args: [{ selector: 'abp-confirmation', imports: [
|
|
505
|
+
args: [{ selector: 'abp-confirmation', imports: [AsyncPipe, LocalizationPipe], template: "@if (confirmation$ | async; as data) {\r\n<div class=\"confirmation\">\r\n <div class=\"confirmation-backdrop\" (click)=\"data.options?.dismissible ? close(dismiss) : null\"></div>\r\n <div class=\"confirmation-dialog\">\r\n @if (data.severity || isCustomIconExists(data)) {\r\n <div class=\"icon-container\" [class]=\"data.severity\">\r\n @if (isIconTemplateExits(data)) {\r\n <div [outerHTML]=\"data.options.iconTemplate\"></div>\r\n } @else {\r\n <i class=\"icon\" [class]=\"getIconClass(data)\"></i>\r\n }\r\n </div>\r\n }\r\n <div class=\"content\">\r\n @if (data.title) {\r\n <h1 class=\"title\" [innerHTML]=\"data.title | abpLocalization: data.options?.titleLocalizationParams\"></h1>\r\n }\r\n @if (data.message) {\r\n <p class=\"message\" [innerHTML]=\"data.message | abpLocalization: data.options?.messageLocalizationParams\"></p>\r\n }\r\n </div>\r\n <div class=\"footer\">\r\n @if (!data?.options?.hideCancelBtn) {\r\n <button id=\"cancel\" class=\"btn btn-outline-primary me-2\"\r\n [innerHTML]=\"data.options?.cancelText || 'AbpUi::Cancel' | abpLocalization\" (click)=\"close(reject)\"></button>\r\n }\r\n @if (!data?.options?.hideYesBtn) {\r\n <button id=\"confirm\" class=\"btn btn-primary\" [innerHTML]=\"data.options?.yesText || 'AbpUi::Yes' | abpLocalization\"\r\n (click)=\"close(confirm)\"></button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}", styles: [".confirmation{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1060}.confirmation .confirmation-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1061!important}.confirmation .confirmation-dialog{display:flex;flex-direction:column;margin:20px auto;padding:0;width:450px;min-height:300px;z-index:1062!important}@media screen and (max-width:500px){.confirmation .confirmation-dialog{width:90vw}}.confirmation .confirmation-dialog .icon-container{display:flex;align-items:center;justify-content:center;padding:40px 20px 10px}.confirmation .confirmation-dialog .icon-container .icon{width:100px;height:100px;stroke-width:1;font-size:80px;text-align:center}.confirmation .confirmation-dialog .content{flex-grow:1;display:block}.confirmation .confirmation-dialog .content .title{display:block;margin:0;padding:0;font-size:27px;font-weight:600;text-align:center}.confirmation .confirmation-dialog .content .message{display:block;padding:8px 20px 20px;font-size:16px;font-weight:400;text-align:center;margin-bottom:0}.confirmation .confirmation-dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:20px;width:100%}\n"] }]
|
|
525
506
|
}] });
|
|
526
507
|
|
|
527
508
|
class HttpErrorWrapperComponent {
|
|
@@ -536,6 +517,7 @@ class HttpErrorWrapperComponent {
|
|
|
536
517
|
this.customComponent = undefined;
|
|
537
518
|
this.hideCloseIcon = false;
|
|
538
519
|
this.isHomeShow = true;
|
|
520
|
+
this.containerRef = viewChild('container', ...(ngDevMode ? [{ debugName: "containerRef" }] : []));
|
|
539
521
|
}
|
|
540
522
|
get statusText() {
|
|
541
523
|
return this.status ? `[${this.status}]` : '';
|
|
@@ -560,8 +542,9 @@ class HttpErrorWrapperComponent {
|
|
|
560
542
|
}
|
|
561
543
|
customComponentRef.instance.destroy$ = this.destroy$;
|
|
562
544
|
this.appRef.attachView(customComponentRef.hostView);
|
|
563
|
-
|
|
564
|
-
|
|
545
|
+
const containerRef = this.containerRef();
|
|
546
|
+
if (containerRef) {
|
|
547
|
+
containerRef.nativeElement.appendChild(customComponentRef.hostView.rootNodes[0]);
|
|
565
548
|
}
|
|
566
549
|
customComponentRef.changeDetectorRef.detectChanges();
|
|
567
550
|
}
|
|
@@ -581,15 +564,12 @@ class HttpErrorWrapperComponent {
|
|
|
581
564
|
this.destroy();
|
|
582
565
|
}
|
|
583
566
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: HttpErrorWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
584
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: HttpErrorWrapperComponent, isStandalone: true, selector: "abp-http-error-wrapper", viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\r\n #container\r\n id=\"abp-http-error-container\"\r\n class=\"error\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n @if (!hideCloseIcon) {\r\n <button id=\"abp-close-button\" type=\"button\" class=\"btn-close me-2\" (click)=\"destroy()\"></button>\r\n }\r\n\r\n @if (!customComponent) {\r\n <div class=\"row centered\">\r\n <div class=\"col-md-12\">\r\n <div class=\"error-template\">\r\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\r\n <div class=\"error-details\">\r\n {{ details | abpLocalization }}\r\n </div>\r\n <div class=\"error-actions\">\r\n @if (isHomeShow) {\r\n <a (click)=\"goHome()\" class=\"btn btn-primary btn-md mt-2\"\r\n ><span class=\"glyphicon glyphicon-home\"></span>\r\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "
|
|
567
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: HttpErrorWrapperComponent, isStandalone: true, selector: "abp-http-error-wrapper", viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n #container\r\n id=\"abp-http-error-container\"\r\n class=\"error\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n @if (!hideCloseIcon) {\r\n <button id=\"abp-close-button\" type=\"button\" class=\"btn-close me-2\" (click)=\"destroy()\"></button>\r\n }\r\n\r\n @if (!customComponent) {\r\n <div class=\"row centered\">\r\n <div class=\"col-md-12\">\r\n <div class=\"error-template\">\r\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\r\n <div class=\"error-details\">\r\n {{ details | abpLocalization }}\r\n </div>\r\n <div class=\"error-actions\">\r\n @if (isHomeShow) {\r\n <a (click)=\"goHome()\" class=\"btn btn-primary btn-md mt-2\"\r\n ><span class=\"glyphicon glyphicon-home\"></span>\r\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
585
568
|
}
|
|
586
569
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: HttpErrorWrapperComponent, decorators: [{
|
|
587
570
|
type: Component,
|
|
588
|
-
args: [{ selector: 'abp-http-error-wrapper', imports: [
|
|
589
|
-
}], propDecorators: { containerRef: [{
|
|
590
|
-
type: ViewChild,
|
|
591
|
-
args: ['container', { static: false }]
|
|
592
|
-
}] } });
|
|
571
|
+
args: [{ selector: 'abp-http-error-wrapper', imports: [LocalizationPipe], template: "<div\r\n #container\r\n id=\"abp-http-error-container\"\r\n class=\"error\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n>\r\n @if (!hideCloseIcon) {\r\n <button id=\"abp-close-button\" type=\"button\" class=\"btn-close me-2\" (click)=\"destroy()\"></button>\r\n }\r\n\r\n @if (!customComponent) {\r\n <div class=\"row centered\">\r\n <div class=\"col-md-12\">\r\n <div class=\"error-template\">\r\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\r\n <div class=\"error-details\">\r\n {{ details | abpLocalization }}\r\n </div>\r\n <div class=\"error-actions\">\r\n @if (isHomeShow) {\r\n <a (click)=\"goHome()\" class=\"btn btn-primary btn-md mt-2\"\r\n ><span class=\"glyphicon glyphicon-home\"></span>\r\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
|
|
572
|
+
}], propDecorators: { containerRef: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }] } });
|
|
593
573
|
|
|
594
574
|
class LoaderBarComponent {
|
|
595
575
|
constructor() {
|
|
@@ -597,8 +577,10 @@ class LoaderBarComponent {
|
|
|
597
577
|
this.subscription = inject(SubscriptionService);
|
|
598
578
|
this.httpWaitService = inject(HttpWaitService);
|
|
599
579
|
this.routerWaitService = inject(RouterWaitService);
|
|
600
|
-
this.
|
|
601
|
-
this.
|
|
580
|
+
this.isLoadingInput = input(false, { ...(ngDevMode ? { debugName: "isLoadingInput" } : {}), alias: 'isLoading' });
|
|
581
|
+
this.containerClass = input('abp-loader-bar', ...(ngDevMode ? [{ debugName: "containerClass" }] : []));
|
|
582
|
+
this.color = input('#77b6ff', ...(ngDevMode ? [{ debugName: "color" }] : []));
|
|
583
|
+
this.isLoading = signal(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
602
584
|
this.progressLevel = 0;
|
|
603
585
|
this.interval = new Subscription();
|
|
604
586
|
this.timer = new Subscription();
|
|
@@ -623,16 +605,14 @@ class LoaderBarComponent {
|
|
|
623
605
|
}
|
|
624
606
|
this.cdRef.detectChanges();
|
|
625
607
|
};
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
get isLoading() {
|
|
632
|
-
return this._isLoading;
|
|
608
|
+
effect(() => {
|
|
609
|
+
const value = this.isLoadingInput();
|
|
610
|
+
this.isLoading.set(value);
|
|
611
|
+
this.cdRef.detectChanges();
|
|
612
|
+
});
|
|
633
613
|
}
|
|
634
614
|
get boxShadow() {
|
|
635
|
-
return `0 0 10px rgba(${this.color}, 0.5)`;
|
|
615
|
+
return `0 0 10px rgba(${this.color()}, 0.5)`;
|
|
636
616
|
}
|
|
637
617
|
ngOnInit() {
|
|
638
618
|
this.subscribeLoading();
|
|
@@ -649,9 +629,9 @@ class LoaderBarComponent {
|
|
|
649
629
|
this.interval.unsubscribe();
|
|
650
630
|
}
|
|
651
631
|
startLoading() {
|
|
652
|
-
if (this.isLoading || !this.interval.closed)
|
|
632
|
+
if (this.isLoading() || !this.interval.closed)
|
|
653
633
|
return;
|
|
654
|
-
this.isLoading
|
|
634
|
+
this.isLoading.set(true);
|
|
655
635
|
this.progressLevel = 0;
|
|
656
636
|
this.cdRef.detectChanges();
|
|
657
637
|
this.interval = timer(0, this.intervalPeriod).subscribe(this.reportProgress);
|
|
@@ -660,48 +640,42 @@ class LoaderBarComponent {
|
|
|
660
640
|
stopLoading() {
|
|
661
641
|
this.interval.unsubscribe();
|
|
662
642
|
this.progressLevel = 100;
|
|
663
|
-
this.isLoading
|
|
643
|
+
this.isLoading.set(false);
|
|
664
644
|
if (!this.timer.closed)
|
|
665
645
|
return;
|
|
666
646
|
this.timer = timer(this.stopDelay).subscribe(this.clearProgress);
|
|
667
647
|
}
|
|
668
648
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: LoaderBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
669
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
670
|
-
<div id="abp-loader-bar" [
|
|
649
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: LoaderBarComponent, isStandalone: true, selector: "abp-loader-bar", inputs: { isLoadingInput: { classPropertyName: "isLoadingInput", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SubscriptionService], ngImport: i0, template: `
|
|
650
|
+
<div id="abp-loader-bar" [class]="containerClass()" [class.is-loading]="isLoading()">
|
|
671
651
|
<div
|
|
672
652
|
class="abp-progress"
|
|
673
653
|
[class.progressing]="progressLevel"
|
|
674
654
|
[style.width.vw]="progressLevel"
|
|
675
|
-
[
|
|
676
|
-
'background-color': color,
|
|
655
|
+
[style]="{
|
|
656
|
+
'background-color': color(),
|
|
677
657
|
'box-shadow': boxShadow,
|
|
678
658
|
}"
|
|
679
659
|
></div>
|
|
680
660
|
</div>
|
|
681
|
-
`, isInline: true, styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}\n"]
|
|
661
|
+
`, isInline: true, styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}\n"] }); }
|
|
682
662
|
}
|
|
683
663
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: LoaderBarComponent, decorators: [{
|
|
684
664
|
type: Component,
|
|
685
665
|
args: [{ selector: 'abp-loader-bar', template: `
|
|
686
|
-
<div id="abp-loader-bar" [
|
|
666
|
+
<div id="abp-loader-bar" [class]="containerClass()" [class.is-loading]="isLoading()">
|
|
687
667
|
<div
|
|
688
668
|
class="abp-progress"
|
|
689
669
|
[class.progressing]="progressLevel"
|
|
690
670
|
[style.width.vw]="progressLevel"
|
|
691
|
-
[
|
|
692
|
-
'background-color': color,
|
|
671
|
+
[style]="{
|
|
672
|
+
'background-color': color(),
|
|
693
673
|
'box-shadow': boxShadow,
|
|
694
674
|
}"
|
|
695
675
|
></div>
|
|
696
676
|
</div>
|
|
697
|
-
`, providers: [SubscriptionService], imports: [
|
|
698
|
-
}], propDecorators: { isLoading: [{
|
|
699
|
-
type: Input
|
|
700
|
-
}], containerClass: [{
|
|
701
|
-
type: Input
|
|
702
|
-
}], color: [{
|
|
703
|
-
type: Input
|
|
704
|
-
}] } });
|
|
677
|
+
`, providers: [SubscriptionService], imports: [], styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}\n"] }]
|
|
678
|
+
}], ctorParameters: () => [], propDecorators: { isLoadingInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], containerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "containerClass", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
705
679
|
|
|
706
680
|
class LoadingComponent {
|
|
707
681
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -876,19 +850,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
876
850
|
|
|
877
851
|
class ToastComponent {
|
|
878
852
|
constructor() {
|
|
879
|
-
this.
|
|
853
|
+
this.toast = input.required(...(ngDevMode ? [{ debugName: "toast" }] : []));
|
|
854
|
+
this.remove = output();
|
|
880
855
|
}
|
|
881
856
|
get severityClass() {
|
|
882
|
-
|
|
857
|
+
const toast = this.toast();
|
|
858
|
+
if (!toast || !toast.severity)
|
|
883
859
|
return '';
|
|
884
|
-
return `abp-toast-${
|
|
860
|
+
return `abp-toast-${toast.severity}`;
|
|
885
861
|
}
|
|
886
862
|
get iconClass() {
|
|
887
|
-
const { iconClass } = this.toast.options || {};
|
|
863
|
+
const { iconClass } = this.toast().options || {};
|
|
888
864
|
if (iconClass) {
|
|
889
865
|
return iconClass;
|
|
890
866
|
}
|
|
891
|
-
switch (this.toast.severity) {
|
|
867
|
+
switch (this.toast().severity) {
|
|
892
868
|
case 'success':
|
|
893
869
|
return 'bi-check';
|
|
894
870
|
case 'info':
|
|
@@ -902,7 +878,7 @@ class ToastComponent {
|
|
|
902
878
|
}
|
|
903
879
|
}
|
|
904
880
|
ngOnInit() {
|
|
905
|
-
const { sticky, life } = this.toast.options || {};
|
|
881
|
+
const { sticky, life } = this.toast().options || {};
|
|
906
882
|
if (sticky)
|
|
907
883
|
return;
|
|
908
884
|
const timeout = life || 5000;
|
|
@@ -911,38 +887,41 @@ class ToastComponent {
|
|
|
911
887
|
}, timeout);
|
|
912
888
|
}
|
|
913
889
|
close() {
|
|
914
|
-
this.remove.emit(this.toast.options?.id);
|
|
890
|
+
this.remove.emit(this.toast().options?.id);
|
|
915
891
|
}
|
|
916
892
|
tap() {
|
|
917
|
-
if (this.toast.options?.tapToDismiss)
|
|
893
|
+
if (this.toast().options?.tapToDismiss)
|
|
918
894
|
this.close();
|
|
919
895
|
}
|
|
920
896
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
921
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ToastComponent, isStandalone: true, selector: "abp-toast", inputs: { toast: "toast" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"abp-toast\" [
|
|
897
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ToastComponent, isStandalone: true, selector: "abp-toast", inputs: { toast: { classPropertyName: "toast", publicName: "toast", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"abp-toast\" [class]=\"severityClass\" (click)=\"tap()\">\r\n <div class=\"abp-toast-icon\">\r\n <i class=\"bi icon\" [class]=\"iconClass\" aria-hidden=\"true\"></i>\r\n </div>\r\n <div class=\"abp-toast-content\">\r\n @if (toast().options?.closable) {\r\n <button class=\"abp-toast-close-button\" (click)=\"close()\">\r\n <i class=\"bi bi-x fs-4\" aria-hidden=\"true\"></i>\r\n </button>\r\n }\r\n <div class=\"abp-toast-title\">\r\n {{ toast().title | abpLocalization: toast().options?.titleLocalizationParams }}\r\n </div>\r\n <p class=\"abp-toast-message\"\r\n [innerHTML]=\"toast().message | abpLocalization: toast().options?.messageLocalizationParams\"></p>\r\n </div>\r\n</div>", styles: [".abp-toast{display:grid;grid-template-columns:35px 1fr;gap:5px;margin:5px 0;padding:7px;width:350px;-webkit-user-select:none;user-select:none;z-index:9999;color:#fff;border-radius:8px;font-size:14px;box-shadow:0 0 20px #4c577d05;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006}.abp-toast:hover{border:2px solid #e4e4e4;background-color:#e4e4e4;box-shadow:0 0 15px -5px #0006}.abp-toast{opacity:1}.abp-toast.abp-toast-success{border:2px solid #4fbf67;background-color:#4fbf67;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid rgb(69.1,187.4,94.45);background-color:#45bb5e;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #438aa7;background-color:#438aa7;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid rgb(63.65,131.1,158.65);background-color:#40839f;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #ff9f38;background-color:#ff9f38;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid rgb(255,151.4984924623,40.45);background-color:#ff9728;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #c00d49;background-color:#c00d49;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid rgb(182.4,12.35,69.35);background-color:#b60c45;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:32px}.abp-toast .abp-toast-content{position:relative;display:flex;align-self:center;flex-direction:column;word-break:break-word;padding-bottom:2px}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:100%;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"], dependencies: [{ kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
922
898
|
}
|
|
923
899
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ToastComponent, decorators: [{
|
|
924
900
|
type: Component,
|
|
925
|
-
args: [{ selector: 'abp-toast', imports: [
|
|
926
|
-
}], propDecorators: { toast: [{
|
|
927
|
-
type: Input
|
|
928
|
-
}], remove: [{
|
|
929
|
-
type: Output
|
|
930
|
-
}] } });
|
|
901
|
+
args: [{ selector: 'abp-toast', imports: [LocalizationPipe], template: "<div class=\"abp-toast\" [class]=\"severityClass\" (click)=\"tap()\">\r\n <div class=\"abp-toast-icon\">\r\n <i class=\"bi icon\" [class]=\"iconClass\" aria-hidden=\"true\"></i>\r\n </div>\r\n <div class=\"abp-toast-content\">\r\n @if (toast().options?.closable) {\r\n <button class=\"abp-toast-close-button\" (click)=\"close()\">\r\n <i class=\"bi bi-x fs-4\" aria-hidden=\"true\"></i>\r\n </button>\r\n }\r\n <div class=\"abp-toast-title\">\r\n {{ toast().title | abpLocalization: toast().options?.titleLocalizationParams }}\r\n </div>\r\n <p class=\"abp-toast-message\"\r\n [innerHTML]=\"toast().message | abpLocalization: toast().options?.messageLocalizationParams\"></p>\r\n </div>\r\n</div>", styles: [".abp-toast{display:grid;grid-template-columns:35px 1fr;gap:5px;margin:5px 0;padding:7px;width:350px;-webkit-user-select:none;user-select:none;z-index:9999;color:#fff;border-radius:8px;font-size:14px;box-shadow:0 0 20px #4c577d05;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006}.abp-toast:hover{border:2px solid #e4e4e4;background-color:#e4e4e4;box-shadow:0 0 15px -5px #0006}.abp-toast{opacity:1}.abp-toast.abp-toast-success{border:2px solid #4fbf67;background-color:#4fbf67;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid rgb(69.1,187.4,94.45);background-color:#45bb5e;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #438aa7;background-color:#438aa7;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid rgb(63.65,131.1,158.65);background-color:#40839f;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #ff9f38;background-color:#ff9f38;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid rgb(255,151.4984924623,40.45);background-color:#ff9728;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #c00d49;background-color:#c00d49;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid rgb(182.4,12.35,69.35);background-color:#b60c45;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:32px}.abp-toast .abp-toast-content{position:relative;display:flex;align-self:center;flex-direction:column;word-break:break-word;padding-bottom:2px}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:100%;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"] }]
|
|
902
|
+
}], propDecorators: { toast: [{ type: i0.Input, args: [{ isSignal: true, alias: "toast", required: true }] }], remove: [{ type: i0.Output, args: ["remove"] }] } });
|
|
931
903
|
|
|
932
904
|
class ToastContainerComponent {
|
|
933
905
|
constructor() {
|
|
934
906
|
this.toasts = [];
|
|
935
|
-
this.
|
|
907
|
+
this.top = input(undefined, ...(ngDevMode ? [{ debugName: "top" }] : []));
|
|
908
|
+
this.rightInput = input('30px', { ...(ngDevMode ? { debugName: "rightInput" } : {}), alias: 'right' });
|
|
909
|
+
this.bottom = input('30px', ...(ngDevMode ? [{ debugName: "bottom" }] : []));
|
|
910
|
+
this.left = input(undefined, ...(ngDevMode ? [{ debugName: "left" }] : []));
|
|
911
|
+
this.toastKey = input(undefined, ...(ngDevMode ? [{ debugName: "toastKey" }] : []));
|
|
912
|
+
this.right = signal('30px', ...(ngDevMode ? [{ debugName: "right" }] : []));
|
|
936
913
|
this.defaultRight = '30px';
|
|
937
914
|
this.defaultMobileRight = '0';
|
|
938
|
-
|
|
915
|
+
effect(() => {
|
|
916
|
+
this.right.set(this.rightInput());
|
|
917
|
+
});
|
|
939
918
|
}
|
|
940
919
|
ngOnInit() {
|
|
941
920
|
this.setDefaultRight();
|
|
942
921
|
this.toasts$.subscribe(toasts => {
|
|
943
|
-
this.toasts = this.toastKey
|
|
922
|
+
this.toasts = this.toastKey()
|
|
944
923
|
? toasts.filter(t => {
|
|
945
|
-
return t.options && t.options.containerKey !== this.toastKey;
|
|
924
|
+
return t.options && t.options.containerKey !== this.toastKey();
|
|
946
925
|
})
|
|
947
926
|
: toasts;
|
|
948
927
|
});
|
|
@@ -952,8 +931,8 @@ class ToastContainerComponent {
|
|
|
952
931
|
}
|
|
953
932
|
setDefaultRight() {
|
|
954
933
|
const screenWidth = window.innerWidth;
|
|
955
|
-
if (screenWidth < 768 && this.right
|
|
956
|
-
this.right
|
|
934
|
+
if (screenWidth < 768 && this.right() === this.defaultRight) {
|
|
935
|
+
this.right.set(this.defaultMobileRight);
|
|
957
936
|
}
|
|
958
937
|
}
|
|
959
938
|
trackByFunc(index, toast) {
|
|
@@ -962,25 +941,14 @@ class ToastContainerComponent {
|
|
|
962
941
|
return toast.options?.id;
|
|
963
942
|
}
|
|
964
943
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
965
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ToastContainerComponent, isStandalone: true, selector: "abp-toast-container", inputs: { top: "top",
|
|
944
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ToastContainerComponent, isStandalone: true, selector: "abp-toast-container", inputs: { top: { classPropertyName: "top", publicName: "top", isSignal: true, isRequired: false, transformFunction: null }, rightInput: { classPropertyName: "rightInput", publicName: "right", isSignal: true, isRequired: false, transformFunction: null }, bottom: { classPropertyName: "bottom", publicName: "bottom", isSignal: true, isRequired: false, transformFunction: null }, left: { classPropertyName: "left", publicName: "left", isSignal: true, isRequired: false, transformFunction: null }, toastKey: { classPropertyName: "toastKey", publicName: "toastKey", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0, template: "<div\r\n class=\"abp-toast-container\"\r\n [style.top]=\"top() || 'auto'\"\r\n [style.right]=\"right() || 'auto'\"\r\n [style.bottom]=\"bottom() || 'auto'\"\r\n [style.left]=\"left() || 'auto'\"\r\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\r\n [@toastInOut]=\"toasts.length\"\r\n>\r\n @for (toast of toasts; track toast.options?.id) {\r\n <abp-toast\r\n [toast]=\"toast\"\r\n (remove)=\"remove($event)\"\r\n ></abp-toast>\r\n }\r\n</div>\r\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}@media only screen and (max-width:768px){.abp-toast-container{min-width:100%}}\n"], dependencies: [{ kind: "component", type: ToastComponent, selector: "abp-toast", inputs: ["toast"], outputs: ["remove"] }], animations: [toastInOut] }); }
|
|
966
945
|
}
|
|
967
946
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ToastContainerComponent, decorators: [{
|
|
968
947
|
type: Component,
|
|
969
|
-
args: [{ selector: 'abp-toast-container', animations: [toastInOut], imports: [ToastComponent],
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
type: Input
|
|
974
|
-
}], bottom: [{
|
|
975
|
-
type: Input
|
|
976
|
-
}], left: [{
|
|
977
|
-
type: Input
|
|
978
|
-
}], toastKey: [{
|
|
979
|
-
type: Input
|
|
980
|
-
}], onWindowResize: [{
|
|
981
|
-
type: HostListener,
|
|
982
|
-
args: ['window:resize']
|
|
983
|
-
}] } });
|
|
948
|
+
args: [{ selector: 'abp-toast-container', animations: [toastInOut], imports: [ToastComponent], host: {
|
|
949
|
+
'(window:resize)': 'onWindowResize()'
|
|
950
|
+
}, template: "<div\r\n class=\"abp-toast-container\"\r\n [style.top]=\"top() || 'auto'\"\r\n [style.right]=\"right() || 'auto'\"\r\n [style.bottom]=\"bottom() || 'auto'\"\r\n [style.left]=\"left() || 'auto'\"\r\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\r\n [@toastInOut]=\"toasts.length\"\r\n>\r\n @for (toast of toasts; track toast.options?.id) {\r\n <abp-toast\r\n [toast]=\"toast\"\r\n (remove)=\"remove($event)\"\r\n ></abp-toast>\r\n }\r\n</div>\r\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}@media only screen and (max-width:768px){.abp-toast-container{min-width:100%}}\n"] }]
|
|
951
|
+
}], ctorParameters: () => [], propDecorators: { top: [{ type: i0.Input, args: [{ isSignal: true, alias: "top", required: false }] }], rightInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "right", required: false }] }], bottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "bottom", required: false }] }], left: [{ type: i0.Input, args: [{ isSignal: true, alias: "left", required: false }] }], toastKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "toastKey", required: false }] }] } });
|
|
984
952
|
|
|
985
953
|
class ToasterService {
|
|
986
954
|
setContainer() {
|
|
@@ -1880,134 +1848,128 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
1880
1848
|
* https://abp.io/docs/latest/framework/ui/angular/show-password-directive
|
|
1881
1849
|
*/
|
|
1882
1850
|
class PasswordComponent extends AbstractNgModelComponent {
|
|
1851
|
+
constructor() {
|
|
1852
|
+
super(...arguments);
|
|
1853
|
+
this.inputId = input.required(...(ngDevMode ? [{ debugName: "inputId" }] : []));
|
|
1854
|
+
this.formControlName = input.required(...(ngDevMode ? [{ debugName: "formControlName" }] : []));
|
|
1855
|
+
}
|
|
1883
1856
|
toggleFieldTextType() {
|
|
1884
1857
|
this.fieldTextType = !this.fieldTextType;
|
|
1885
1858
|
}
|
|
1886
1859
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: PasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1887
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1860
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: PasswordComponent, isStandalone: true, selector: "abp-password", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: true, transformFunction: null }, formControlName: { classPropertyName: "formControlName", publicName: "formControlName", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
1888
1861
|
{
|
|
1889
1862
|
provide: NG_VALUE_ACCESSOR,
|
|
1890
1863
|
useExisting: forwardRef(() => PasswordComponent),
|
|
1891
1864
|
multi: true,
|
|
1892
1865
|
},
|
|
1893
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n aria-hidden=\"true\"\r\n [
|
|
1866
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId()\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n aria-hidden=\"true\"\r\n [class]=\"{\r\n 'fa-eye-slash': !fieldTextType,\r\n 'fa-eye': fieldTextType\r\n }\"\r\n ></i>\r\n </button>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgxValidateCoreModule }, { kind: "directive", type: i2.ValidationTargetDirective, selector: "[validationTarget]", exportAs: ["validationTarget"] }] }); }
|
|
1894
1867
|
}
|
|
1895
1868
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: PasswordComponent, decorators: [{
|
|
1896
1869
|
type: Component,
|
|
1897
|
-
args: [{ selector: 'abp-password', imports: [
|
|
1870
|
+
args: [{ selector: 'abp-password', imports: [FormsModule, NgxValidateCoreModule], providers: [
|
|
1898
1871
|
{
|
|
1899
1872
|
provide: NG_VALUE_ACCESSOR,
|
|
1900
1873
|
useExisting: forwardRef(() => PasswordComponent),
|
|
1901
1874
|
multi: true,
|
|
1902
1875
|
},
|
|
1903
|
-
], template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n aria-hidden=\"true\"\r\n [
|
|
1904
|
-
}], propDecorators: { inputId: [{
|
|
1905
|
-
type: Input
|
|
1906
|
-
}], formControlName: [{
|
|
1907
|
-
type: Input
|
|
1908
|
-
}] } });
|
|
1876
|
+
], template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId()\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n aria-hidden=\"true\"\r\n [class]=\"{\r\n 'fa-eye-slash': !fieldTextType,\r\n 'fa-eye': fieldTextType\r\n }\"\r\n ></i>\r\n </button>\r\n</div>\r\n" }]
|
|
1877
|
+
}], propDecorators: { inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: true }] }], formControlName: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControlName", required: true }] }] } });
|
|
1909
1878
|
|
|
1910
1879
|
class CardBodyComponent {
|
|
1911
1880
|
constructor() {
|
|
1912
1881
|
this.componentClass = 'card-body';
|
|
1882
|
+
this.cardBodyClass = input(undefined, ...(ngDevMode ? [{ debugName: "cardBodyClass" }] : []));
|
|
1883
|
+
this.cardBodyStyle = input(undefined, ...(ngDevMode ? [{ debugName: "cardBodyStyle" }] : []));
|
|
1913
1884
|
}
|
|
1914
1885
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1915
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1886
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: CardBodyComponent, isStandalone: true, selector: "abp-card-body", inputs: { cardBodyClass: { classPropertyName: "cardBodyClass", publicName: "cardBodyClass", isSignal: true, isRequired: false, transformFunction: null }, cardBodyStyle: { classPropertyName: "cardBodyStyle", publicName: "cardBodyStyle", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.componentClass" } }, ngImport: i0, template: ` <div [class]="cardBodyClass()" [style]="cardBodyStyle()">
|
|
1916
1887
|
<ng-content></ng-content>
|
|
1917
|
-
</div>`, isInline: true
|
|
1888
|
+
</div>`, isInline: true }); }
|
|
1918
1889
|
}
|
|
1919
1890
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardBodyComponent, decorators: [{
|
|
1920
1891
|
type: Component,
|
|
1921
1892
|
args: [{
|
|
1922
1893
|
selector: 'abp-card-body',
|
|
1923
|
-
template: ` <div [
|
|
1894
|
+
template: ` <div [class]="cardBodyClass()" [style]="cardBodyStyle()">
|
|
1924
1895
|
<ng-content></ng-content>
|
|
1925
1896
|
</div>`,
|
|
1926
|
-
imports: [NgClass, NgStyle],
|
|
1927
1897
|
}]
|
|
1928
1898
|
}], propDecorators: { componentClass: [{
|
|
1929
1899
|
type: HostBinding,
|
|
1930
1900
|
args: ['class']
|
|
1931
|
-
}], cardBodyClass: [{
|
|
1932
|
-
type: Input
|
|
1933
|
-
}], cardBodyStyle: [{
|
|
1934
|
-
type: Input
|
|
1935
|
-
}] } });
|
|
1901
|
+
}], cardBodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardBodyClass", required: false }] }], cardBodyStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardBodyStyle", required: false }] }] } });
|
|
1936
1902
|
|
|
1937
1903
|
class CardComponent {
|
|
1904
|
+
constructor() {
|
|
1905
|
+
this.cardClass = input(undefined, ...(ngDevMode ? [{ debugName: "cardClass" }] : []));
|
|
1906
|
+
this.cardStyle = input(undefined, ...(ngDevMode ? [{ debugName: "cardStyle" }] : []));
|
|
1907
|
+
}
|
|
1938
1908
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1939
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1909
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: CardComponent, isStandalone: true, selector: "abp-card", inputs: { cardClass: { classPropertyName: "cardClass", publicName: "cardClass", isSignal: true, isRequired: false, transformFunction: null }, cardStyle: { classPropertyName: "cardStyle", publicName: "cardStyle", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: ` <div class="card" [class]="cardClass()" [style]="cardStyle()">
|
|
1940
1910
|
<ng-content></ng-content>
|
|
1941
|
-
</div>`, isInline: true
|
|
1911
|
+
</div>`, isInline: true }); }
|
|
1942
1912
|
}
|
|
1943
1913
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardComponent, decorators: [{
|
|
1944
1914
|
type: Component,
|
|
1945
1915
|
args: [{
|
|
1946
1916
|
selector: 'abp-card',
|
|
1947
|
-
template: ` <div class="card" [
|
|
1917
|
+
template: ` <div class="card" [class]="cardClass()" [style]="cardStyle()">
|
|
1948
1918
|
<ng-content></ng-content>
|
|
1949
1919
|
</div>`,
|
|
1950
|
-
imports: [
|
|
1920
|
+
imports: [],
|
|
1951
1921
|
}]
|
|
1952
|
-
}], propDecorators: { cardClass: [{
|
|
1953
|
-
type: Input
|
|
1954
|
-
}], cardStyle: [{
|
|
1955
|
-
type: Input
|
|
1956
|
-
}] } });
|
|
1922
|
+
}], propDecorators: { cardClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardClass", required: false }] }], cardStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardStyle", required: false }] }] } });
|
|
1957
1923
|
|
|
1958
1924
|
class CardHeaderComponent {
|
|
1959
1925
|
constructor() {
|
|
1960
1926
|
this.componentClass = 'card-header';
|
|
1927
|
+
this.cardHeaderClass = input(undefined, ...(ngDevMode ? [{ debugName: "cardHeaderClass" }] : []));
|
|
1928
|
+
this.cardHeaderStyle = input(undefined, ...(ngDevMode ? [{ debugName: "cardHeaderStyle" }] : []));
|
|
1961
1929
|
}
|
|
1962
1930
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1963
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1964
|
-
<div [
|
|
1931
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: CardHeaderComponent, isStandalone: true, selector: "abp-card-header", inputs: { cardHeaderClass: { classPropertyName: "cardHeaderClass", publicName: "cardHeaderClass", isSignal: true, isRequired: false, transformFunction: null }, cardHeaderStyle: { classPropertyName: "cardHeaderStyle", publicName: "cardHeaderStyle", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.componentClass" } }, ngImport: i0, template: `
|
|
1932
|
+
<div [class]="cardHeaderClass()" [style]="cardHeaderStyle()">
|
|
1965
1933
|
<ng-content></ng-content>
|
|
1966
1934
|
</div>
|
|
1967
|
-
`, isInline: true
|
|
1935
|
+
`, isInline: true }); }
|
|
1968
1936
|
}
|
|
1969
1937
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardHeaderComponent, decorators: [{
|
|
1970
1938
|
type: Component,
|
|
1971
1939
|
args: [{ selector: 'abp-card-header', template: `
|
|
1972
|
-
<div [
|
|
1940
|
+
<div [class]="cardHeaderClass()" [style]="cardHeaderStyle()">
|
|
1973
1941
|
<ng-content></ng-content>
|
|
1974
1942
|
</div>
|
|
1975
|
-
`, imports: [
|
|
1943
|
+
`, imports: [] }]
|
|
1976
1944
|
}], propDecorators: { componentClass: [{
|
|
1977
1945
|
type: HostBinding,
|
|
1978
1946
|
args: ['class']
|
|
1979
|
-
}], cardHeaderClass: [{
|
|
1980
|
-
type: Input
|
|
1981
|
-
}], cardHeaderStyle: [{
|
|
1982
|
-
type: Input
|
|
1983
|
-
}] } });
|
|
1947
|
+
}], cardHeaderClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardHeaderClass", required: false }] }], cardHeaderStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardHeaderStyle", required: false }] }] } });
|
|
1984
1948
|
|
|
1985
1949
|
class CardFooterComponent {
|
|
1986
1950
|
constructor() {
|
|
1987
1951
|
this.componentClass = 'card-footer';
|
|
1952
|
+
this.cardFooterStyle = input(undefined, ...(ngDevMode ? [{ debugName: "cardFooterStyle" }] : []));
|
|
1953
|
+
this.cardFooterClass = input(undefined, ...(ngDevMode ? [{ debugName: "cardFooterClass" }] : []));
|
|
1988
1954
|
}
|
|
1989
1955
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1990
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1991
|
-
<div [
|
|
1956
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: CardFooterComponent, isStandalone: true, selector: "abp-card-footer", inputs: { cardFooterStyle: { classPropertyName: "cardFooterStyle", publicName: "cardFooterStyle", isSignal: true, isRequired: false, transformFunction: null }, cardFooterClass: { classPropertyName: "cardFooterClass", publicName: "cardFooterClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.componentClass" } }, ngImport: i0, template: `
|
|
1957
|
+
<div [style]="cardFooterStyle()" [class]="cardFooterClass()">
|
|
1992
1958
|
<ng-content></ng-content>
|
|
1993
1959
|
</div>
|
|
1994
|
-
`, isInline: true
|
|
1960
|
+
`, isInline: true }); }
|
|
1995
1961
|
}
|
|
1996
1962
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: CardFooterComponent, decorators: [{
|
|
1997
1963
|
type: Component,
|
|
1998
1964
|
args: [{ selector: 'abp-card-footer', template: `
|
|
1999
|
-
<div [
|
|
1965
|
+
<div [style]="cardFooterStyle()" [class]="cardFooterClass()">
|
|
2000
1966
|
<ng-content></ng-content>
|
|
2001
1967
|
</div>
|
|
2002
|
-
`, imports: [
|
|
1968
|
+
`, imports: [] }]
|
|
2003
1969
|
}], propDecorators: { componentClass: [{
|
|
2004
1970
|
type: HostBinding,
|
|
2005
1971
|
args: ['class']
|
|
2006
|
-
}], cardFooterStyle: [{
|
|
2007
|
-
type: Input
|
|
2008
|
-
}], cardFooterClass: [{
|
|
2009
|
-
type: Input
|
|
2010
|
-
}] } });
|
|
1972
|
+
}], cardFooterStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardFooterStyle", required: false }] }], cardFooterClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cardFooterClass", required: false }] }] } });
|
|
2011
1973
|
|
|
2012
1974
|
class CardTitleDirective {
|
|
2013
1975
|
constructor() {
|
|
@@ -2118,14 +2080,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2118
2080
|
class FormCheckboxComponent extends AbstractNgModelComponent {
|
|
2119
2081
|
constructor() {
|
|
2120
2082
|
super(...arguments);
|
|
2121
|
-
this.
|
|
2122
|
-
this.
|
|
2123
|
-
this.
|
|
2124
|
-
this.
|
|
2125
|
-
this.
|
|
2083
|
+
this.label = input(undefined, ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
2084
|
+
this.labelClass = input('form-check-label', ...(ngDevMode ? [{ debugName: "labelClass" }] : []));
|
|
2085
|
+
this.checkboxId = input.required(...(ngDevMode ? [{ debugName: "checkboxId" }] : []));
|
|
2086
|
+
this.checkboxStyle = input(undefined, ...(ngDevMode ? [{ debugName: "checkboxStyle" }] : []));
|
|
2087
|
+
this.checkboxClass = input('form-check-input', ...(ngDevMode ? [{ debugName: "checkboxClass" }] : []));
|
|
2088
|
+
this.checkboxReadonly = input(false, ...(ngDevMode ? [{ debugName: "checkboxReadonly" }] : []));
|
|
2089
|
+
this.checkboxBlur = output();
|
|
2090
|
+
this.checkboxFocus = output();
|
|
2126
2091
|
}
|
|
2127
2092
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: FormCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: FormCheckboxComponent, isStandalone: true, selector: "abp-checkbox", inputs: { label: "label", labelClass: "labelClass", checkboxId: "checkboxId", checkboxStyle: "checkboxStyle", checkboxClass: "checkboxClass", checkboxReadonly: "checkboxReadonly" }, outputs: { checkboxBlur: "checkboxBlur", checkboxFocus: "checkboxFocus" }, providers: [
|
|
2093
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: FormCheckboxComponent, isStandalone: true, selector: "abp-checkbox", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelClass: { classPropertyName: "labelClass", publicName: "labelClass", isSignal: true, isRequired: false, transformFunction: null }, checkboxId: { classPropertyName: "checkboxId", publicName: "checkboxId", isSignal: true, isRequired: true, transformFunction: null }, checkboxStyle: { classPropertyName: "checkboxStyle", publicName: "checkboxStyle", isSignal: true, isRequired: false, transformFunction: null }, checkboxClass: { classPropertyName: "checkboxClass", publicName: "checkboxClass", isSignal: true, isRequired: false, transformFunction: null }, checkboxReadonly: { classPropertyName: "checkboxReadonly", publicName: "checkboxReadonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkboxBlur: "checkboxBlur", checkboxFocus: "checkboxFocus" }, providers: [
|
|
2129
2094
|
{
|
|
2130
2095
|
provide: NG_VALUE_ACCESSOR,
|
|
2131
2096
|
useExisting: forwardRef(() => FormCheckboxComponent),
|
|
@@ -2136,20 +2101,20 @@ class FormCheckboxComponent extends AbstractNgModelComponent {
|
|
|
2136
2101
|
<input
|
|
2137
2102
|
type="checkbox"
|
|
2138
2103
|
[(ngModel)]="value"
|
|
2139
|
-
[id]="checkboxId"
|
|
2140
|
-
[readonly]="checkboxReadonly"
|
|
2141
|
-
[
|
|
2142
|
-
[
|
|
2143
|
-
(blur)="checkboxBlur.
|
|
2144
|
-
(focus)="checkboxFocus.
|
|
2104
|
+
[id]="checkboxId()"
|
|
2105
|
+
[readonly]="checkboxReadonly()"
|
|
2106
|
+
[class]="checkboxClass()"
|
|
2107
|
+
[style]="checkboxStyle()"
|
|
2108
|
+
(blur)="checkboxBlur.emit()"
|
|
2109
|
+
(focus)="checkboxFocus.emit()"
|
|
2145
2110
|
/>
|
|
2146
|
-
@if (label) {
|
|
2147
|
-
<label [
|
|
2148
|
-
{{ label | abpLocalization }}
|
|
2111
|
+
@if (label()) {
|
|
2112
|
+
<label [class]="labelClass()" [for]="checkboxId()">
|
|
2113
|
+
{{ label() | abpLocalization }}
|
|
2149
2114
|
</label>
|
|
2150
2115
|
}
|
|
2151
2116
|
</div>
|
|
2152
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
2117
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
2153
2118
|
}
|
|
2154
2119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: FormCheckboxComponent, decorators: [{
|
|
2155
2120
|
type: Component,
|
|
@@ -2160,16 +2125,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2160
2125
|
<input
|
|
2161
2126
|
type="checkbox"
|
|
2162
2127
|
[(ngModel)]="value"
|
|
2163
|
-
[id]="checkboxId"
|
|
2164
|
-
[readonly]="checkboxReadonly"
|
|
2165
|
-
[
|
|
2166
|
-
[
|
|
2167
|
-
(blur)="checkboxBlur.
|
|
2168
|
-
(focus)="checkboxFocus.
|
|
2128
|
+
[id]="checkboxId()"
|
|
2129
|
+
[readonly]="checkboxReadonly()"
|
|
2130
|
+
[class]="checkboxClass()"
|
|
2131
|
+
[style]="checkboxStyle()"
|
|
2132
|
+
(blur)="checkboxBlur.emit()"
|
|
2133
|
+
(focus)="checkboxFocus.emit()"
|
|
2169
2134
|
/>
|
|
2170
|
-
@if (label) {
|
|
2171
|
-
<label [
|
|
2172
|
-
{{ label | abpLocalization }}
|
|
2135
|
+
@if (label()) {
|
|
2136
|
+
<label [class]="labelClass()" [for]="checkboxId()">
|
|
2137
|
+
{{ label() | abpLocalization }}
|
|
2173
2138
|
</label>
|
|
2174
2139
|
}
|
|
2175
2140
|
</div>
|
|
@@ -2181,39 +2146,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2181
2146
|
multi: true,
|
|
2182
2147
|
},
|
|
2183
2148
|
],
|
|
2184
|
-
imports: [
|
|
2149
|
+
imports: [FormsModule, LocalizationPipe],
|
|
2185
2150
|
}]
|
|
2186
|
-
}], propDecorators: { label: [{
|
|
2187
|
-
type: Input
|
|
2188
|
-
}], labelClass: [{
|
|
2189
|
-
type: Input
|
|
2190
|
-
}], checkboxId: [{
|
|
2191
|
-
type: Input
|
|
2192
|
-
}], checkboxStyle: [{
|
|
2193
|
-
type: Input
|
|
2194
|
-
}], checkboxClass: [{
|
|
2195
|
-
type: Input
|
|
2196
|
-
}], checkboxReadonly: [{
|
|
2197
|
-
type: Input
|
|
2198
|
-
}], checkboxBlur: [{
|
|
2199
|
-
type: Output
|
|
2200
|
-
}], checkboxFocus: [{
|
|
2201
|
-
type: Output
|
|
2202
|
-
}] } });
|
|
2151
|
+
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelClass", required: false }] }], checkboxId: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkboxId", required: true }] }], checkboxStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkboxStyle", required: false }] }], checkboxClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkboxClass", required: false }] }], checkboxReadonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkboxReadonly", required: false }] }], checkboxBlur: [{ type: i0.Output, args: ["checkboxBlur"] }], checkboxFocus: [{ type: i0.Output, args: ["checkboxFocus"] }] } });
|
|
2203
2152
|
|
|
2204
2153
|
class FormInputComponent extends AbstractNgModelComponent {
|
|
2205
2154
|
constructor() {
|
|
2206
2155
|
super(...arguments);
|
|
2207
|
-
this.
|
|
2208
|
-
this.
|
|
2209
|
-
this.
|
|
2210
|
-
this.
|
|
2211
|
-
this.
|
|
2212
|
-
this.
|
|
2213
|
-
this.
|
|
2156
|
+
this.inputId = input(...(ngDevMode ? [undefined, { debugName: "inputId" }] : []));
|
|
2157
|
+
this.inputReadonly = input(false, ...(ngDevMode ? [{ debugName: "inputReadonly" }] : []));
|
|
2158
|
+
this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
2159
|
+
this.labelClass = input('form-label', ...(ngDevMode ? [{ debugName: "labelClass" }] : []));
|
|
2160
|
+
this.inputPlaceholder = input('', ...(ngDevMode ? [{ debugName: "inputPlaceholder" }] : []));
|
|
2161
|
+
this.inputStyle = input(undefined, ...(ngDevMode ? [{ debugName: "inputStyle" }] : []));
|
|
2162
|
+
this.inputClass = input('form-control', ...(ngDevMode ? [{ debugName: "inputClass" }] : []));
|
|
2163
|
+
this.formBlur = output();
|
|
2164
|
+
this.formFocus = output();
|
|
2214
2165
|
}
|
|
2215
2166
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: FormInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2216
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: FormInputComponent, isStandalone: true, selector: "abp-form-input", inputs: { inputId: "inputId", inputReadonly: "inputReadonly", label: "label", labelClass: "labelClass", inputPlaceholder: "inputPlaceholder", inputStyle: "inputStyle", inputClass: "inputClass" }, outputs: { formBlur: "formBlur", formFocus: "formFocus" }, providers: [
|
|
2167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: FormInputComponent, isStandalone: true, selector: "abp-form-input", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, inputReadonly: { classPropertyName: "inputReadonly", publicName: "inputReadonly", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelClass: { classPropertyName: "labelClass", publicName: "labelClass", isSignal: true, isRequired: false, transformFunction: null }, inputPlaceholder: { classPropertyName: "inputPlaceholder", publicName: "inputPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formBlur: "formBlur", formFocus: "formFocus" }, providers: [
|
|
2217
2168
|
{
|
|
2218
2169
|
provide: NG_VALUE_ACCESSOR,
|
|
2219
2170
|
useExisting: forwardRef(() => FormInputComponent),
|
|
@@ -2221,24 +2172,24 @@ class FormInputComponent extends AbstractNgModelComponent {
|
|
|
2221
2172
|
},
|
|
2222
2173
|
], usesInheritance: true, ngImport: i0, template: `
|
|
2223
2174
|
<div class="mb-3">
|
|
2224
|
-
@if (label) {
|
|
2225
|
-
<label [
|
|
2226
|
-
{{ label | abpLocalization }}
|
|
2175
|
+
@if (label()) {
|
|
2176
|
+
<label [class]="labelClass()" [for]="inputId()">
|
|
2177
|
+
{{ label() | abpLocalization }}
|
|
2227
2178
|
</label>
|
|
2228
2179
|
}
|
|
2229
2180
|
<input
|
|
2230
2181
|
type="text"
|
|
2231
|
-
[id]="inputId"
|
|
2232
|
-
[placeholder]="inputPlaceholder"
|
|
2233
|
-
[readonly]="inputReadonly"
|
|
2234
|
-
[
|
|
2235
|
-
[
|
|
2236
|
-
(blur)="formBlur.
|
|
2237
|
-
(focus)="formFocus.
|
|
2182
|
+
[id]="inputId()"
|
|
2183
|
+
[placeholder]="inputPlaceholder()"
|
|
2184
|
+
[readonly]="inputReadonly()"
|
|
2185
|
+
[class]="inputClass()"
|
|
2186
|
+
[style]="inputStyle()"
|
|
2187
|
+
(blur)="formBlur.emit()"
|
|
2188
|
+
(focus)="formFocus.emit()"
|
|
2238
2189
|
[(ngModel)]="value"
|
|
2239
2190
|
/>
|
|
2240
2191
|
</div>
|
|
2241
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
2192
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
2242
2193
|
}
|
|
2243
2194
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: FormInputComponent, decorators: [{
|
|
2244
2195
|
type: Component,
|
|
@@ -2246,20 +2197,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2246
2197
|
selector: 'abp-form-input',
|
|
2247
2198
|
template: `
|
|
2248
2199
|
<div class="mb-3">
|
|
2249
|
-
@if (label) {
|
|
2250
|
-
<label [
|
|
2251
|
-
{{ label | abpLocalization }}
|
|
2200
|
+
@if (label()) {
|
|
2201
|
+
<label [class]="labelClass()" [for]="inputId()">
|
|
2202
|
+
{{ label() | abpLocalization }}
|
|
2252
2203
|
</label>
|
|
2253
2204
|
}
|
|
2254
2205
|
<input
|
|
2255
2206
|
type="text"
|
|
2256
|
-
[id]="inputId"
|
|
2257
|
-
[placeholder]="inputPlaceholder"
|
|
2258
|
-
[readonly]="inputReadonly"
|
|
2259
|
-
[
|
|
2260
|
-
[
|
|
2261
|
-
(blur)="formBlur.
|
|
2262
|
-
(focus)="formFocus.
|
|
2207
|
+
[id]="inputId()"
|
|
2208
|
+
[placeholder]="inputPlaceholder()"
|
|
2209
|
+
[readonly]="inputReadonly()"
|
|
2210
|
+
[class]="inputClass()"
|
|
2211
|
+
[style]="inputStyle()"
|
|
2212
|
+
(blur)="formBlur.emit()"
|
|
2213
|
+
(focus)="formFocus.emit()"
|
|
2263
2214
|
[(ngModel)]="value"
|
|
2264
2215
|
/>
|
|
2265
2216
|
</div>
|
|
@@ -2271,27 +2222,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2271
2222
|
multi: true,
|
|
2272
2223
|
},
|
|
2273
2224
|
],
|
|
2274
|
-
imports: [
|
|
2225
|
+
imports: [LocalizationPipe, FormsModule],
|
|
2275
2226
|
}]
|
|
2276
|
-
}], propDecorators: { inputId: [{
|
|
2277
|
-
type: Input
|
|
2278
|
-
}], inputReadonly: [{
|
|
2279
|
-
type: Input
|
|
2280
|
-
}], label: [{
|
|
2281
|
-
type: Input
|
|
2282
|
-
}], labelClass: [{
|
|
2283
|
-
type: Input
|
|
2284
|
-
}], inputPlaceholder: [{
|
|
2285
|
-
type: Input
|
|
2286
|
-
}], inputStyle: [{
|
|
2287
|
-
type: Input
|
|
2288
|
-
}], inputClass: [{
|
|
2289
|
-
type: Input
|
|
2290
|
-
}], formBlur: [{
|
|
2291
|
-
type: Output
|
|
2292
|
-
}], formFocus: [{
|
|
2293
|
-
type: Output
|
|
2294
|
-
}] } });
|
|
2227
|
+
}], propDecorators: { inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], inputReadonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputReadonly", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelClass", required: false }] }], inputPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputPlaceholder", required: false }] }], inputStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputStyle", required: false }] }], inputClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputClass", required: false }] }], formBlur: [{ type: i0.Output, args: ["formBlur"] }], formFocus: [{ type: i0.Output, args: ["formFocus"] }] } });
|
|
2295
2228
|
|
|
2296
2229
|
class InternetConnectionStatusComponent {
|
|
2297
2230
|
constructor() {
|
|
@@ -2358,84 +2291,75 @@ class EllipsisDirective {
|
|
|
2358
2291
|
constructor() {
|
|
2359
2292
|
this.cdRef = inject(ChangeDetectorRef);
|
|
2360
2293
|
this.elRef = inject(ElementRef);
|
|
2361
|
-
this.
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2294
|
+
this.width = input(undefined, { ...(ngDevMode ? { debugName: "width" } : {}), alias: 'abpEllipsis' });
|
|
2295
|
+
this.title = input(undefined, ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
2296
|
+
this.enabled = input(true, { ...(ngDevMode ? { debugName: "enabled" } : {}), alias: 'abpEllipsisEnabled' });
|
|
2297
|
+
this.autoTitle = signal(undefined, ...(ngDevMode ? [{ debugName: "autoTitle" }] : []));
|
|
2298
|
+
this.effectiveTitle = computed(() => this.title() || this.autoTitle(), ...(ngDevMode ? [{ debugName: "effectiveTitle" }] : []));
|
|
2299
|
+
this.inlineClass = computed(() => this.enabled() && !!this.width(), ...(ngDevMode ? [{ debugName: "inlineClass" }] : []));
|
|
2300
|
+
this.ellipsisClass = computed(() => this.enabled() && !this.width(), ...(ngDevMode ? [{ debugName: "ellipsisClass" }] : []));
|
|
2301
|
+
this.maxWidth = computed(() => {
|
|
2302
|
+
const width = this.width();
|
|
2303
|
+
return this.enabled() && width ? width || '170px' : undefined;
|
|
2304
|
+
}, ...(ngDevMode ? [{ debugName: "maxWidth" }] : []));
|
|
2371
2305
|
}
|
|
2372
2306
|
ngAfterViewInit() {
|
|
2373
|
-
|
|
2374
|
-
|
|
2307
|
+
if (!this.title()) {
|
|
2308
|
+
this.autoTitle.set(this.elRef.nativeElement.innerText);
|
|
2309
|
+
this.cdRef.detectChanges();
|
|
2310
|
+
}
|
|
2375
2311
|
}
|
|
2376
2312
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EllipsisDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2377
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2313
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: EllipsisDirective, isStandalone: true, selector: "[abpEllipsis]", inputs: { width: { classPropertyName: "width", publicName: "abpEllipsis", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, enabled: { classPropertyName: "enabled", publicName: "abpEllipsisEnabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "title": "effectiveTitle()", "class.abp-ellipsis-inline": "inlineClass()", "class.abp-ellipsis": "ellipsisClass()", "style.max-width": "maxWidth()" } }, ngImport: i0 }); }
|
|
2378
2314
|
}
|
|
2379
2315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EllipsisDirective, decorators: [{
|
|
2380
2316
|
type: Directive,
|
|
2381
2317
|
args: [{
|
|
2382
2318
|
selector: '[abpEllipsis]',
|
|
2319
|
+
host: {
|
|
2320
|
+
'[title]': 'effectiveTitle()',
|
|
2321
|
+
'[class.abp-ellipsis-inline]': 'inlineClass()',
|
|
2322
|
+
'[class.abp-ellipsis]': 'ellipsisClass()',
|
|
2323
|
+
'[style.max-width]': 'maxWidth()'
|
|
2324
|
+
}
|
|
2383
2325
|
}]
|
|
2384
|
-
}], propDecorators: { width: [{
|
|
2385
|
-
type: Input,
|
|
2386
|
-
args: ['abpEllipsis']
|
|
2387
|
-
}], title: [{
|
|
2388
|
-
type: HostBinding,
|
|
2389
|
-
args: ['title']
|
|
2390
|
-
}, {
|
|
2391
|
-
type: Input
|
|
2392
|
-
}], enabled: [{
|
|
2393
|
-
type: Input,
|
|
2394
|
-
args: ['abpEllipsisEnabled']
|
|
2395
|
-
}], inlineClass: [{
|
|
2396
|
-
type: HostBinding,
|
|
2397
|
-
args: ['class.abp-ellipsis-inline']
|
|
2398
|
-
}], class: [{
|
|
2399
|
-
type: HostBinding,
|
|
2400
|
-
args: ['class.abp-ellipsis']
|
|
2401
|
-
}], maxWidth: [{
|
|
2402
|
-
type: HostBinding,
|
|
2403
|
-
args: ['style.max-width']
|
|
2404
|
-
}] } });
|
|
2326
|
+
}], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "abpEllipsis", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], enabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "abpEllipsisEnabled", required: false }] }] } });
|
|
2405
2327
|
|
|
2406
2328
|
class LoadingDirective {
|
|
2407
2329
|
constructor() {
|
|
2408
2330
|
this.elRef = inject(ElementRef);
|
|
2409
|
-
this.cdRes = inject(ComponentFactoryResolver);
|
|
2410
2331
|
this.injector = inject(Injector);
|
|
2411
2332
|
this.renderer = inject(Renderer2);
|
|
2412
|
-
this.
|
|
2413
|
-
this.
|
|
2333
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
2334
|
+
this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), alias: 'abpLoading' });
|
|
2335
|
+
this.targetElementInput = input(undefined, { ...(ngDevMode ? { debugName: "targetElementInput" } : {}), alias: 'abpLoadingTargetElement' });
|
|
2336
|
+
this.delay = input(0, { ...(ngDevMode ? { debugName: "delay" } : {}), alias: 'abpLoadingDelay' });
|
|
2337
|
+
this.componentRef = null;
|
|
2414
2338
|
this.rootNode = null;
|
|
2415
2339
|
this.timerSubscription = null;
|
|
2340
|
+
effect(() => {
|
|
2341
|
+
const newValue = this.loading();
|
|
2342
|
+
this.handleLoadingChange(newValue);
|
|
2343
|
+
});
|
|
2416
2344
|
}
|
|
2417
|
-
|
|
2418
|
-
return this._loading;
|
|
2419
|
-
}
|
|
2420
|
-
set loading(newValue) {
|
|
2345
|
+
handleLoadingChange(newValue) {
|
|
2421
2346
|
setTimeout(() => {
|
|
2422
2347
|
if (!newValue && this.timerSubscription) {
|
|
2423
2348
|
this.timerSubscription.unsubscribe();
|
|
2424
2349
|
this.timerSubscription = null;
|
|
2425
|
-
this._loading = newValue;
|
|
2426
2350
|
if (this.rootNode) {
|
|
2427
2351
|
this.renderer.removeChild(this.rootNode.parentElement, this.rootNode);
|
|
2428
2352
|
this.rootNode = null;
|
|
2429
2353
|
}
|
|
2430
2354
|
return;
|
|
2431
2355
|
}
|
|
2432
|
-
this.timerSubscription = timer(this.delay)
|
|
2356
|
+
this.timerSubscription = timer(this.delay())
|
|
2433
2357
|
.pipe(take(1))
|
|
2434
2358
|
.subscribe(() => {
|
|
2435
2359
|
if (!this.componentRef) {
|
|
2436
|
-
this.componentRef = this.
|
|
2437
|
-
.
|
|
2438
|
-
|
|
2360
|
+
this.componentRef = this.viewContainerRef.createComponent(LoadingComponent, {
|
|
2361
|
+
injector: this.injector
|
|
2362
|
+
});
|
|
2439
2363
|
}
|
|
2440
2364
|
if (newValue && !this.rootNode) {
|
|
2441
2365
|
this.rootNode = this.componentRef.hostView.rootNodes[0];
|
|
@@ -2445,12 +2369,12 @@ class LoadingDirective {
|
|
|
2445
2369
|
this.renderer.removeChild(this.rootNode.parentElement, this.rootNode);
|
|
2446
2370
|
this.rootNode = null;
|
|
2447
2371
|
}
|
|
2448
|
-
this._loading = newValue;
|
|
2449
2372
|
this.timerSubscription = null;
|
|
2450
2373
|
});
|
|
2451
2374
|
}, 0);
|
|
2452
2375
|
}
|
|
2453
2376
|
ngOnInit() {
|
|
2377
|
+
this.targetElement = this.targetElementInput();
|
|
2454
2378
|
if (!this.targetElement) {
|
|
2455
2379
|
const { offsetHeight, offsetWidth } = this.elRef.nativeElement;
|
|
2456
2380
|
if (!offsetHeight && !offsetWidth && this.elRef.nativeElement.children?.length) {
|
|
@@ -2467,30 +2391,21 @@ class LoadingDirective {
|
|
|
2467
2391
|
}
|
|
2468
2392
|
}
|
|
2469
2393
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: LoadingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2470
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2394
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: LoadingDirective, isStandalone: true, selector: "[abpLoading]", inputs: { loading: { classPropertyName: "loading", publicName: "abpLoading", isSignal: true, isRequired: false, transformFunction: null }, targetElementInput: { classPropertyName: "targetElementInput", publicName: "abpLoadingTargetElement", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "abpLoadingDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.position": "\"relative\"" } }, ngImport: i0 }); }
|
|
2471
2395
|
}
|
|
2472
2396
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: LoadingDirective, decorators: [{
|
|
2473
2397
|
type: Directive,
|
|
2474
2398
|
args: [{
|
|
2475
2399
|
selector: '[abpLoading]',
|
|
2400
|
+
host: {
|
|
2401
|
+
'[style.position]': '"relative"'
|
|
2402
|
+
}
|
|
2476
2403
|
}]
|
|
2477
|
-
}], propDecorators: {
|
|
2478
|
-
type: HostBinding,
|
|
2479
|
-
args: ['style.position']
|
|
2480
|
-
}], loading: [{
|
|
2481
|
-
type: Input,
|
|
2482
|
-
args: ['abpLoading']
|
|
2483
|
-
}], targetElement: [{
|
|
2484
|
-
type: Input,
|
|
2485
|
-
args: ['abpLoadingTargetElement']
|
|
2486
|
-
}], delay: [{
|
|
2487
|
-
type: Input,
|
|
2488
|
-
args: ['abpLoadingDelay']
|
|
2489
|
-
}] } });
|
|
2404
|
+
}], ctorParameters: () => [], propDecorators: { loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "abpLoading", required: false }] }], targetElementInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "abpLoadingTargetElement", required: false }] }], delay: [{ type: i0.Input, args: [{ isSignal: true, alias: "abpLoadingDelay", required: false }] }] } });
|
|
2490
2405
|
|
|
2491
2406
|
class NgxDatatableDefaultDirective {
|
|
2492
2407
|
get classes() {
|
|
2493
|
-
return `ngx-datatable ${this.class}`;
|
|
2408
|
+
return `ngx-datatable ${this.class()}`;
|
|
2494
2409
|
}
|
|
2495
2410
|
constructor() {
|
|
2496
2411
|
this.table = inject(DatatableComponent);
|
|
@@ -2498,7 +2413,7 @@ class NgxDatatableDefaultDirective {
|
|
|
2498
2413
|
this.platformId = inject(PLATFORM_ID);
|
|
2499
2414
|
this.subscription = new Subscription();
|
|
2500
2415
|
this.resizeDiff = 0;
|
|
2501
|
-
this.class = 'material bordered';
|
|
2416
|
+
this.class = input('material bordered', ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
2502
2417
|
this.table.columnMode = ColumnMode.force;
|
|
2503
2418
|
this.table.footerHeight = 50;
|
|
2504
2419
|
this.table.headerHeight = 50;
|
|
@@ -2541,7 +2456,7 @@ class NgxDatatableDefaultDirective {
|
|
|
2541
2456
|
this.subscription.unsubscribe();
|
|
2542
2457
|
}
|
|
2543
2458
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: NgxDatatableDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2544
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2459
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: NgxDatatableDefaultDirective, isStandalone: true, selector: "ngx-datatable[default]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.classes" } }, exportAs: ["ngxDatatableDefault"], ngImport: i0 }); }
|
|
2545
2460
|
}
|
|
2546
2461
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: NgxDatatableDefaultDirective, decorators: [{
|
|
2547
2462
|
type: Directive,
|
|
@@ -2550,9 +2465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2550
2465
|
selector: 'ngx-datatable[default]',
|
|
2551
2466
|
exportAs: 'ngxDatatableDefault',
|
|
2552
2467
|
}]
|
|
2553
|
-
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
2554
|
-
type: Input
|
|
2555
|
-
}], classes: [{
|
|
2468
|
+
}], ctorParameters: () => [], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], classes: [{
|
|
2556
2469
|
type: HostBinding,
|
|
2557
2470
|
args: ['class']
|
|
2558
2471
|
}] } });
|
|
@@ -2566,6 +2479,7 @@ class NgxDatatableListDirective {
|
|
|
2566
2479
|
this.ngxDatatableMessages = inject(NGX_DATATABLE_MESSAGES, { optional: true });
|
|
2567
2480
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
2568
2481
|
this.renderer = inject(Renderer2);
|
|
2482
|
+
this.list = input.required(...(ngDevMode ? [{ debugName: "list" }] : []));
|
|
2569
2483
|
this.setInitialValues();
|
|
2570
2484
|
}
|
|
2571
2485
|
ngDoCheck() {
|
|
@@ -2585,7 +2499,7 @@ class NgxDatatableListDirective {
|
|
|
2585
2499
|
this.table.offset = page;
|
|
2586
2500
|
}
|
|
2587
2501
|
subscribeToRequestStatus() {
|
|
2588
|
-
const requestStatus$ = this.list.requestStatus$.pipe(distinctUntilChanged());
|
|
2502
|
+
const requestStatus$ = this.list().requestStatus$.pipe(distinctUntilChanged());
|
|
2589
2503
|
const { emptyMessage, errorMessage } = this.ngxDatatableMessages || defaultNgxDatatableMessages;
|
|
2590
2504
|
requestStatus$.subscribe(status => {
|
|
2591
2505
|
this.table.loadingIndicator = false;
|
|
@@ -2643,15 +2557,16 @@ class NgxDatatableListDirective {
|
|
|
2643
2557
|
this.table.sort
|
|
2644
2558
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
2645
2559
|
.subscribe(({ sorts: [{ prop, dir }] }) => {
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2560
|
+
const list = this.list();
|
|
2561
|
+
if (prop === list.sortKey && list.sortOrder === 'desc') {
|
|
2562
|
+
list.sortKey = '';
|
|
2563
|
+
list.sortOrder = '';
|
|
2649
2564
|
this.table.sorts = [];
|
|
2650
2565
|
this.cdRef.detectChanges();
|
|
2651
2566
|
}
|
|
2652
2567
|
else {
|
|
2653
|
-
|
|
2654
|
-
|
|
2568
|
+
list.sortKey = prop;
|
|
2569
|
+
list.sortOrder = dir;
|
|
2655
2570
|
}
|
|
2656
2571
|
});
|
|
2657
2572
|
}
|
|
@@ -2661,35 +2576,35 @@ class NgxDatatableListDirective {
|
|
|
2661
2576
|
});
|
|
2662
2577
|
}
|
|
2663
2578
|
subscribeToQuery() {
|
|
2664
|
-
this.list.query$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
2665
|
-
const offset = this.list.page;
|
|
2579
|
+
this.list().query$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
2580
|
+
const offset = this.list().page;
|
|
2666
2581
|
if (this.table.offset !== offset)
|
|
2667
2582
|
this.table.offset = offset;
|
|
2668
2583
|
});
|
|
2669
2584
|
}
|
|
2670
2585
|
setTablePage(pageNum) {
|
|
2671
|
-
this.list.page = pageNum;
|
|
2586
|
+
this.list().page = pageNum;
|
|
2672
2587
|
this.table.offset = pageNum;
|
|
2673
2588
|
}
|
|
2674
2589
|
refreshPageIfDataExist() {
|
|
2675
2590
|
if (this.table.rows?.length < 1 && this.table.count > 0) {
|
|
2676
|
-
let maxPage = Math.floor(Number(this.table.count / this.list.maxResultCount));
|
|
2677
|
-
if (this.table.count < this.list.maxResultCount) {
|
|
2591
|
+
let maxPage = Math.floor(Number(this.table.count / this.list().maxResultCount));
|
|
2592
|
+
if (this.table.count < this.list().maxResultCount) {
|
|
2678
2593
|
this.setTablePage(0);
|
|
2679
2594
|
return;
|
|
2680
2595
|
}
|
|
2681
|
-
if (this.table.count % this.list.maxResultCount === 0) {
|
|
2596
|
+
if (this.table.count % this.list().maxResultCount === 0) {
|
|
2682
2597
|
maxPage -= 1;
|
|
2683
2598
|
}
|
|
2684
|
-
if (this.list.page < maxPage) {
|
|
2685
|
-
this.setTablePage(this.list.page);
|
|
2599
|
+
if (this.list().page < maxPage) {
|
|
2600
|
+
this.setTablePage(this.list().page);
|
|
2686
2601
|
return;
|
|
2687
2602
|
}
|
|
2688
2603
|
this.setTablePage(maxPage);
|
|
2689
2604
|
}
|
|
2690
2605
|
}
|
|
2691
2606
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: NgxDatatableListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2692
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2607
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: NgxDatatableListDirective, isStandalone: true, selector: "ngx-datatable[list]", inputs: { list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["ngxDatatableList"], usesOnChanges: true, ngImport: i0 }); }
|
|
2693
2608
|
}
|
|
2694
2609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: NgxDatatableListDirective, decorators: [{
|
|
2695
2610
|
type: Directive,
|
|
@@ -2698,27 +2613,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
|
|
|
2698
2613
|
selector: 'ngx-datatable[list]',
|
|
2699
2614
|
exportAs: 'ngxDatatableList',
|
|
2700
2615
|
}]
|
|
2701
|
-
}], ctorParameters: () => [], propDecorators: { list: [{
|
|
2702
|
-
type: Input
|
|
2703
|
-
}] } });
|
|
2616
|
+
}], ctorParameters: () => [], propDecorators: { list: [{ type: i0.Input, args: [{ isSignal: true, alias: "list", required: true }] }] } });
|
|
2704
2617
|
|
|
2705
2618
|
class AbpVisibleDirective {
|
|
2706
2619
|
constructor() {
|
|
2707
2620
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
2708
2621
|
this.templateRef = inject(TemplateRef);
|
|
2709
2622
|
this.condition$ = of(false);
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2623
|
+
this.abpVisible = input(...(ngDevMode ? [undefined, { debugName: "abpVisible" }] : []));
|
|
2624
|
+
effect(() => {
|
|
2625
|
+
const value = this.abpVisible();
|
|
2626
|
+
if (value === this.lastInput)
|
|
2627
|
+
return;
|
|
2628
|
+
this.lastInput = value;
|
|
2629
|
+
this.condition$ = checkType(value);
|
|
2630
|
+
this.subscribeToCondition();
|
|
2631
|
+
});
|
|
2717
2632
|
}
|
|
2718
2633
|
ngOnDestroy() {
|
|
2719
2634
|
this.conditionSubscription?.unsubscribe();
|
|
2720
2635
|
}
|
|
2721
2636
|
subscribeToCondition() {
|
|
2637
|
+
this.conditionSubscription?.unsubscribe();
|
|
2722
2638
|
this.conditionSubscription = this.condition$.subscribe(value => {
|
|
2723
2639
|
this.isVisible = value;
|
|
2724
2640
|
this.updateVisibility();
|
|
@@ -2733,16 +2649,14 @@ class AbpVisibleDirective {
|
|
|
2733
2649
|
this.viewContainerRef.createEmbeddedView(this.templateRef);
|
|
2734
2650
|
}
|
|
2735
2651
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: AbpVisibleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2736
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2652
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: AbpVisibleDirective, isStandalone: true, selector: "[abpVisible]", inputs: { abpVisible: { classPropertyName: "abpVisible", publicName: "abpVisible", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
2737
2653
|
}
|
|
2738
2654
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: AbpVisibleDirective, decorators: [{
|
|
2739
2655
|
type: Directive,
|
|
2740
2656
|
args: [{
|
|
2741
2657
|
selector: '[abpVisible]',
|
|
2742
2658
|
}]
|
|
2743
|
-
}], propDecorators: { abpVisible: [{
|
|
2744
|
-
type: Input
|
|
2745
|
-
}] } });
|
|
2659
|
+
}], ctorParameters: () => [], propDecorators: { abpVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "abpVisible", required: false }] }] } });
|
|
2746
2660
|
function checkType(value) {
|
|
2747
2661
|
if (value instanceof Promise) {
|
|
2748
2662
|
return from(value);
|
|
@@ -2764,25 +2678,24 @@ function checkType(value) {
|
|
|
2764
2678
|
class DisabledDirective {
|
|
2765
2679
|
constructor() {
|
|
2766
2680
|
this.ngControl = inject(NgControl, { host: true });
|
|
2767
|
-
this.abpDisabled = false;
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2681
|
+
this.abpDisabled = input(false, ...(ngDevMode ? [{ debugName: "abpDisabled" }] : []));
|
|
2682
|
+
// Related issue: https://github.com/angular/angular/issues/35330
|
|
2683
|
+
this.disabledEffect = effect(() => {
|
|
2684
|
+
const disabled = this.abpDisabled();
|
|
2685
|
+
if (this.ngControl.control) {
|
|
2686
|
+
this.ngControl.control[disabled ? 'disable' : 'enable']();
|
|
2687
|
+
}
|
|
2688
|
+
}, ...(ngDevMode ? [{ debugName: "disabledEffect" }] : []));
|
|
2774
2689
|
}
|
|
2775
2690
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: DisabledDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2776
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2691
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: DisabledDirective, isStandalone: true, selector: "[abpDisabled]", inputs: { abpDisabled: { classPropertyName: "abpDisabled", publicName: "abpDisabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
2777
2692
|
}
|
|
2778
2693
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: DisabledDirective, decorators: [{
|
|
2779
2694
|
type: Directive,
|
|
2780
2695
|
args: [{
|
|
2781
2696
|
selector: '[abpDisabled]',
|
|
2782
2697
|
}]
|
|
2783
|
-
}], propDecorators: { abpDisabled: [{
|
|
2784
|
-
type: Input
|
|
2785
|
-
}] } });
|
|
2698
|
+
}], propDecorators: { abpDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "abpDisabled", required: false }] }] } });
|
|
2786
2699
|
|
|
2787
2700
|
var eFormComponets;
|
|
2788
2701
|
(function (eFormComponets) {
|
|
@@ -3293,10 +3206,8 @@ class BaseThemeSharedModule {
|
|
|
3293
3206
|
NgxDatatableListDirective,
|
|
3294
3207
|
NgxDatatableDefaultDirective,
|
|
3295
3208
|
PasswordComponent] }); }
|
|
3296
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: BaseThemeSharedModule, imports: [
|
|
3297
|
-
FormInputComponent,
|
|
3209
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: BaseThemeSharedModule, imports: [FormInputComponent,
|
|
3298
3210
|
FormCheckboxComponent,
|
|
3299
|
-
HttpErrorWrapperComponent,
|
|
3300
3211
|
NgxDatatableModule,
|
|
3301
3212
|
NgxValidateCoreModule,
|
|
3302
3213
|
CardModule,
|