@quadrel-enterprise-ui/framework 20.26.1 → 20.26.2
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,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, Directive, InjectionToken, HostBinding, Input, ViewEncapsulation, Component, Injectable, Injector, HostListener, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, NgModule, EventEmitter, Output, Renderer2, Pipe, ViewContainerRef, NO_ERRORS_SCHEMA, DestroyRef, SecurityContext, NgZone, ViewChildren, forwardRef, ContentChildren, ContentChild, isDevMode, QueryList, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer
|
|
2
|
+
import { inject, ElementRef, Directive, InjectionToken, HostBinding, Input, ViewEncapsulation, Component, Injectable, Injector, HostListener, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, NgModule, EventEmitter, Output, Renderer2, Pipe, ViewContainerRef, NO_ERRORS_SCHEMA, DestroyRef, SecurityContext, NgZone, ViewChildren, forwardRef, ContentChildren, ContentChild, isDevMode, QueryList, TemplateRef, CUSTOM_ELEMENTS_SCHEMA, provideAppInitializer } from '@angular/core';
|
|
3
3
|
import { Dialog, DialogRef, DialogModule } from '@angular/cdk/dialog';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule, NgFor, NgIf, NgClass, NgTemplateOutlet, AsyncPipe } from '@angular/common';
|
|
@@ -8445,7 +8445,9 @@ class QdAutofocusDirective {
|
|
|
8445
8445
|
return;
|
|
8446
8446
|
}
|
|
8447
8447
|
element.focus();
|
|
8448
|
-
this._blurHandler = () =>
|
|
8448
|
+
this._blurHandler = () => {
|
|
8449
|
+
this.autofocusService.isAutofocusActivated = false;
|
|
8450
|
+
};
|
|
8449
8451
|
element.addEventListener('blur', this._blurHandler, { once: true });
|
|
8450
8452
|
}, 0);
|
|
8451
8453
|
}
|
|
@@ -30190,8 +30192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
30190
30192
|
/**
|
|
30191
30193
|
* **QdPageTabHeader* renders the header of a single tab. It is used quadrel-internally.
|
|
30192
30194
|
*/
|
|
30193
|
-
class QdPageTabHeaderComponent
|
|
30194
|
-
STEP_STATE = STEP_STATE;
|
|
30195
|
+
class QdPageTabHeaderComponent {
|
|
30195
30196
|
/** State of the given tab. */
|
|
30196
30197
|
state;
|
|
30197
30198
|
/** Label of the given tab. */
|
|
@@ -30208,24 +30209,21 @@ class QdPageTabHeaderComponent extends CdkStepHeader {
|
|
|
30208
30209
|
* A static test ID for integration tests can be set.
|
|
30209
30210
|
*/
|
|
30210
30211
|
testId;
|
|
30211
|
-
constructor() {
|
|
30212
|
-
const elementRef = inject(ElementRef);
|
|
30213
|
-
super(elementRef);
|
|
30214
|
-
}
|
|
30215
30212
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30216
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: QdPageTabHeaderComponent, isStandalone: true, selector: "qd-page-tab-header", inputs: { state: "state", label: "label", counters: "counters", index: "index", isSelected: "isSelected", isDisabled: "isDisabled", testId: ["data-test-id", "testId"] }, host: { properties: { "attr.data-test-id": "testId", "class.qd-tab-current": "isSelected && !isDisabled", "class.qd-tab-disabled": "isDisabled", "class.qd-tab-done": "state ===
|
|
30213
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: QdPageTabHeaderComponent, isStandalone: true, selector: "qd-page-tab-header", inputs: { state: "state", label: "label", counters: "counters", index: "index", isSelected: "isSelected", isDisabled: "isDisabled", testId: ["data-test-id", "testId"] }, host: { attributes: { "role": "tab" }, properties: { "attr.data-test-id": "testId", "class.qd-tab-current": "isSelected && !isDisabled", "class.qd-tab-disabled": "isDisabled", "class.qd-tab-done": "state === 'done'", "class.qd-tab-edit": "state === 'edit'", "class.qd-tab-error": "state === 'error'" } }, ngImport: i0, template: "<span class=\"qd-tab-caption\">\n {{ label }}\n <qd-page-tab-header-counters [counters]=\"counters\" [data-test-id]=\"testId + '-counters'\" />\n</span>\n", styles: [":host{position:relative;display:inline-flex;height:2.5rem;padding:.625rem 0;cursor:pointer;color:#757575;font-size:14px;font-weight:400;line-height:18px}:host .qd-tab-caption{font-weight:500;white-space:nowrap}:host:hover,:host.qd-tab-current{color:#069}:host.qd-tab-current .qd-tab-caption{position:relative}:host.qd-tab-current .qd-tab-caption:after{position:absolute;bottom:-.6875rem;left:0;display:inline-block;width:100%;height:.25rem;background-color:#069;content:\"\"}:host.qd-tab-done,:host.qd-tab-edit{color:#171717}:host.qd-tab-error{color:#c70023}:host.qd-tab-disabled{color:#b4b4b4;cursor:default}:host.qd-tab-disabled:hover{color:#b4b4b4}\n"], dependencies: [{ kind: "component", type: QdPageTabHeaderCountersComponent, selector: "qd-page-tab-header-counters", inputs: ["counters", "data-test-id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30217
30214
|
}
|
|
30218
30215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabHeaderComponent, decorators: [{
|
|
30219
30216
|
type: Component,
|
|
30220
30217
|
args: [{ selector: 'qd-page-tab-header', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
30221
30218
|
'[attr.data-test-id]': 'testId',
|
|
30219
|
+
role: 'tab',
|
|
30222
30220
|
'[class.qd-tab-current]': 'isSelected && !isDisabled',
|
|
30223
30221
|
'[class.qd-tab-disabled]': 'isDisabled',
|
|
30224
|
-
'[class.qd-tab-done]':
|
|
30225
|
-
'[class.qd-tab-edit]':
|
|
30226
|
-
'[class.qd-tab-error]':
|
|
30222
|
+
'[class.qd-tab-done]': "state === 'done'",
|
|
30223
|
+
'[class.qd-tab-edit]': "state === 'edit'",
|
|
30224
|
+
'[class.qd-tab-error]': "state === 'error'"
|
|
30227
30225
|
}, standalone: true, imports: [QdPageTabHeaderCountersComponent], template: "<span class=\"qd-tab-caption\">\n {{ label }}\n <qd-page-tab-header-counters [counters]=\"counters\" [data-test-id]=\"testId + '-counters'\" />\n</span>\n", styles: [":host{position:relative;display:inline-flex;height:2.5rem;padding:.625rem 0;cursor:pointer;color:#757575;font-size:14px;font-weight:400;line-height:18px}:host .qd-tab-caption{font-weight:500;white-space:nowrap}:host:hover,:host.qd-tab-current{color:#069}:host.qd-tab-current .qd-tab-caption{position:relative}:host.qd-tab-current .qd-tab-caption:after{position:absolute;bottom:-.6875rem;left:0;display:inline-block;width:100%;height:.25rem;background-color:#069;content:\"\"}:host.qd-tab-done,:host.qd-tab-edit{color:#171717}:host.qd-tab-error{color:#c70023}:host.qd-tab-disabled{color:#b4b4b4;cursor:default}:host.qd-tab-disabled:hover{color:#b4b4b4}\n"] }]
|
|
30228
|
-
}],
|
|
30226
|
+
}], propDecorators: { state: [{
|
|
30229
30227
|
type: Input
|
|
30230
30228
|
}], label: [{
|
|
30231
30229
|
type: Input
|
|
@@ -30242,13 +30240,112 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
30242
30240
|
args: ['data-test-id']
|
|
30243
30241
|
}] } });
|
|
30244
30242
|
|
|
30243
|
+
// @ts-strict-ignore
|
|
30244
|
+
/**
|
|
30245
|
+
* The **QdPageTab** is a single tab inside the **QdPageTabs** within a **QdPage**.
|
|
30246
|
+
*/
|
|
30247
|
+
class QdPageTabComponent {
|
|
30248
|
+
_pageTabs = inject(forwardRef(() => QdPageTabsComponent));
|
|
30249
|
+
translate = inject(TranslateService);
|
|
30250
|
+
/**
|
|
30251
|
+
* Configuration of QdPageTabComponent.
|
|
30252
|
+
*
|
|
30253
|
+
* * @note The use of CDK attributes is not permitted. Please configure this component here.
|
|
30254
|
+
*/
|
|
30255
|
+
config;
|
|
30256
|
+
/** Form control for this tab. */
|
|
30257
|
+
set tabControl(tabControl) {
|
|
30258
|
+
this.stepControl = tabControl;
|
|
30259
|
+
}
|
|
30260
|
+
get tabControl() {
|
|
30261
|
+
return this.stepControl;
|
|
30262
|
+
}
|
|
30263
|
+
infoBanners;
|
|
30264
|
+
content;
|
|
30265
|
+
stepControl;
|
|
30266
|
+
interacted = false;
|
|
30267
|
+
editable = true;
|
|
30268
|
+
get completed() {
|
|
30269
|
+
if (!this.interacted)
|
|
30270
|
+
return false;
|
|
30271
|
+
const control = this.tabControl;
|
|
30272
|
+
if (!control)
|
|
30273
|
+
return true;
|
|
30274
|
+
return !control.invalid && !control.pending;
|
|
30275
|
+
}
|
|
30276
|
+
get hasError() {
|
|
30277
|
+
return this.interacted && !!this.tabControl?.invalid;
|
|
30278
|
+
}
|
|
30279
|
+
_destroyed$ = new Subject();
|
|
30280
|
+
select() {
|
|
30281
|
+
const index = this._pageTabs.tabs.toArray().indexOf(this);
|
|
30282
|
+
if (index >= 0)
|
|
30283
|
+
this._pageTabs.selectedIndex = index;
|
|
30284
|
+
}
|
|
30285
|
+
ngOnInit() {
|
|
30286
|
+
this.validateLabel();
|
|
30287
|
+
if (this.tabControl)
|
|
30288
|
+
this.initErrorCheck();
|
|
30289
|
+
}
|
|
30290
|
+
ngOnChanges(changes) {
|
|
30291
|
+
['label', 'errorMessage', 'state']
|
|
30292
|
+
.filter(inputName => !!changes[inputName])
|
|
30293
|
+
.forEach(inputName => this.blockCdkInput(inputName));
|
|
30294
|
+
}
|
|
30295
|
+
ngOnDestroy() {
|
|
30296
|
+
this._destroyed$.complete();
|
|
30297
|
+
}
|
|
30298
|
+
blockCdkInput(inputName) {
|
|
30299
|
+
throw new Error(`Quadrel Framework | QdPageTab - The use of the "${inputName}" attribute is not permitted. Please use QdPageTabConfig instead.`);
|
|
30300
|
+
}
|
|
30301
|
+
validateLabel() {
|
|
30302
|
+
if (!this.config?.label?.i18n)
|
|
30303
|
+
console.error('Quadrel Framework | QdPageTab - Please provide a label for the tab.');
|
|
30304
|
+
}
|
|
30305
|
+
initErrorCheck() {
|
|
30306
|
+
this.tabControl.statusChanges.pipe(takeUntil$1(this._destroyed$)).subscribe(() => {
|
|
30307
|
+
if (this.hasAnyError(this.tabControl)) {
|
|
30308
|
+
this.interacted = true;
|
|
30309
|
+
}
|
|
30310
|
+
this._pageTabs._stateChanged();
|
|
30311
|
+
});
|
|
30312
|
+
}
|
|
30313
|
+
hasAnyError(control) {
|
|
30314
|
+
if (control.errors && control.touched)
|
|
30315
|
+
return true;
|
|
30316
|
+
if (control instanceof FormGroup) {
|
|
30317
|
+
return Object.values(control.controls).some(control => this.hasAnyError(control));
|
|
30318
|
+
}
|
|
30319
|
+
if (control instanceof FormArray) {
|
|
30320
|
+
return control.controls.some(control => this.hasAnyError(control));
|
|
30321
|
+
}
|
|
30322
|
+
return false;
|
|
30323
|
+
}
|
|
30324
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30325
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: QdPageTabComponent, isStandalone: true, selector: "qd-page-tab", inputs: { config: "config", tabControl: "tabControl" }, queries: [{ propertyName: "infoBanners", predicate: QdPageInfoBannerComponent }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template>\n <div class=\"page-info-banners\">\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n\n <ng-content></ng-content>\n</ng-template>\n", styles: [".page-info-banners:has(>qd-page-info-banner:not(.qd-page-info-banner-empty)){padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.page-info-banners>qd-page-info-banner:last-child{margin-bottom:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30326
|
+
}
|
|
30327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabComponent, decorators: [{
|
|
30328
|
+
type: Component,
|
|
30329
|
+
args: [{ selector: 'qd-page-tab', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-template>\n <div class=\"page-info-banners\">\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n\n <ng-content></ng-content>\n</ng-template>\n", styles: [".page-info-banners:has(>qd-page-info-banner:not(.qd-page-info-banner-empty)){padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.page-info-banners>qd-page-info-banner:last-child{margin-bottom:0}\n"] }]
|
|
30330
|
+
}], propDecorators: { config: [{
|
|
30331
|
+
type: Input
|
|
30332
|
+
}], tabControl: [{
|
|
30333
|
+
type: Input
|
|
30334
|
+
}], infoBanners: [{
|
|
30335
|
+
type: ContentChildren,
|
|
30336
|
+
args: [QdPageInfoBannerComponent]
|
|
30337
|
+
}], content: [{
|
|
30338
|
+
type: ViewChild,
|
|
30339
|
+
args: [TemplateRef, { static: true }]
|
|
30340
|
+
}] } });
|
|
30341
|
+
|
|
30245
30342
|
const TAB_PARAM_NAME = 'tab';
|
|
30246
30343
|
const OWNED_PARAMS = [TAB_PARAM_NAME];
|
|
30247
30344
|
const FEATURE_LABEL = { name: 'Page Tabs', plural: 'page tabs' };
|
|
30248
30345
|
/**
|
|
30249
30346
|
* Per-view adapter that syncs `QdPageTabsComponent` selection with the URL `?tab=` query
|
|
30250
30347
|
* param via `QdRouterQueryParamHubService`. Reads on activation and selects the matching
|
|
30251
|
-
* tab (with fallback for unknown/disabled names), writes on `
|
|
30348
|
+
* tab (with fallback for unknown/disabled names), writes on `tabSelection`. Coordination,
|
|
30252
30349
|
* ownership, and write batching are delegated to the hub — see its JSDoc for details.
|
|
30253
30350
|
* Behavior contracts live in `page-tabs-router-connector.service.spec.ts` and
|
|
30254
30351
|
* `router-query-param-hub.integration.cy.ts`.
|
|
@@ -30259,9 +30356,9 @@ const FEATURE_LABEL = { name: 'Page Tabs', plural: 'page tabs' };
|
|
|
30259
30356
|
* write pipeline (see commit 57f0a271a).
|
|
30260
30357
|
*
|
|
30261
30358
|
* Internal invariant: when the requested tab is unknown or disabled, `selectFallbackTab()`
|
|
30262
|
-
* writes the URL explicitly.
|
|
30263
|
-
*
|
|
30264
|
-
*
|
|
30359
|
+
* writes the URL explicitly. `tabSelection` is not emitted if the fallback is already
|
|
30360
|
+
* the selected tab, so without the explicit write deep-links like `?tab=phantom` would
|
|
30361
|
+
* leave a stale param in the URL.
|
|
30265
30362
|
*/
|
|
30266
30363
|
class QdPageTabsRouterConnectorService {
|
|
30267
30364
|
_hub = inject(QdRouterQueryParamHubService);
|
|
@@ -30310,8 +30407,8 @@ class QdPageTabsRouterConnectorService {
|
|
|
30310
30407
|
}
|
|
30311
30408
|
subscribeToTabChanges() {
|
|
30312
30409
|
const component = this._connectedComponent;
|
|
30313
|
-
this._writeSubscription = component.
|
|
30314
|
-
.pipe(map(event => event.
|
|
30410
|
+
this._writeSubscription = component.tabSelection
|
|
30411
|
+
.pipe(map(event => event.selectedTab?.config?.name), takeUntilDestroyed(this._destroyRef))
|
|
30315
30412
|
.subscribe(name => this.writeUrl(name));
|
|
30316
30413
|
}
|
|
30317
30414
|
writeUrl(name) {
|
|
@@ -30547,10 +30644,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
30547
30644
|
* - If an invalid tab name is provided in URL, the first available tab is selected
|
|
30548
30645
|
* - If no tab parameter is present, the `selectedIndex` or first non-disabled tab is selected
|
|
30549
30646
|
*/
|
|
30550
|
-
class QdPageTabsComponent
|
|
30647
|
+
class QdPageTabsComponent {
|
|
30551
30648
|
footerService = inject(QdPageFooterService, { optional: true });
|
|
30552
30649
|
pageStoreService = inject(QdPageStoreService);
|
|
30553
30650
|
routerConnector = inject(QdPageTabsRouterConnectorService);
|
|
30651
|
+
_changeDetectorRef = inject(ChangeDetectorRef);
|
|
30652
|
+
destroyRef = inject(DestroyRef);
|
|
30653
|
+
static _idCounter = 0;
|
|
30654
|
+
_id = QdPageTabsComponent._idCounter++;
|
|
30554
30655
|
get hasPageFooter() {
|
|
30555
30656
|
return !!this.footerService;
|
|
30556
30657
|
}
|
|
@@ -30563,23 +30664,45 @@ class QdPageTabsComponent extends CdkStepper {
|
|
|
30563
30664
|
*/
|
|
30564
30665
|
testId = 'page-tabs';
|
|
30565
30666
|
tabSelection = new EventEmitter();
|
|
30667
|
+
_tabs;
|
|
30668
|
+
linear = false;
|
|
30669
|
+
_selectedIndex = 0;
|
|
30566
30670
|
_viewonly;
|
|
30567
|
-
destroyRef = inject(DestroyRef);
|
|
30568
30671
|
get tabs() {
|
|
30569
|
-
return this.
|
|
30672
|
+
return this._tabs;
|
|
30570
30673
|
}
|
|
30571
30674
|
get selected() {
|
|
30572
|
-
return
|
|
30675
|
+
return this._tabs?.get(this._selectedIndex);
|
|
30573
30676
|
}
|
|
30574
|
-
set selected(
|
|
30575
|
-
|
|
30677
|
+
set selected(tab) {
|
|
30678
|
+
if (!tab)
|
|
30679
|
+
return;
|
|
30680
|
+
const index = this._tabs?.toArray().indexOf(tab);
|
|
30681
|
+
if (index !== undefined && index >= 0) {
|
|
30682
|
+
this.selectedIndex = index;
|
|
30683
|
+
}
|
|
30576
30684
|
}
|
|
30577
|
-
|
|
30578
|
-
|
|
30579
|
-
|
|
30580
|
-
|
|
30581
|
-
|
|
30582
|
-
|
|
30685
|
+
get selectedIndex() {
|
|
30686
|
+
return this._selectedIndex;
|
|
30687
|
+
}
|
|
30688
|
+
set selectedIndex(newIndex) {
|
|
30689
|
+
if (newIndex === this._selectedIndex)
|
|
30690
|
+
return;
|
|
30691
|
+
const prevIndex = this._selectedIndex;
|
|
30692
|
+
const prevTab = this._tabs?.get(prevIndex);
|
|
30693
|
+
if (prevTab?.tabControl) {
|
|
30694
|
+
prevTab.interacted = true;
|
|
30695
|
+
}
|
|
30696
|
+
this._selectedIndex = newIndex;
|
|
30697
|
+
if (this._tabs) {
|
|
30698
|
+
this.tabSelection.emit({
|
|
30699
|
+
selectedIndex: newIndex,
|
|
30700
|
+
previouslySelectedIndex: prevIndex,
|
|
30701
|
+
selectedTab: this._tabs.get(newIndex),
|
|
30702
|
+
previouslySelectedTab: this._tabs.get(prevIndex)
|
|
30703
|
+
});
|
|
30704
|
+
}
|
|
30705
|
+
this._changeDetectorRef.markForCheck();
|
|
30583
30706
|
}
|
|
30584
30707
|
ngOnInit() {
|
|
30585
30708
|
this.linear = false;
|
|
@@ -30593,24 +30716,10 @@ class QdPageTabsComponent extends CdkStepper {
|
|
|
30593
30716
|
.filter(inputName => !!changes[inputName])
|
|
30594
30717
|
.forEach(inputName => this.blockCdkInput(inputName));
|
|
30595
30718
|
}
|
|
30596
|
-
_getIndicatorType(index, state) {
|
|
30597
|
-
if (state)
|
|
30598
|
-
return state;
|
|
30599
|
-
const step = this.steps.get(index);
|
|
30600
|
-
if (!step)
|
|
30601
|
-
return 'number';
|
|
30602
|
-
if (step.hasError)
|
|
30603
|
-
return 'error';
|
|
30604
|
-
if (step.completed)
|
|
30605
|
-
return step.editable ? 'edit' : 'done';
|
|
30606
|
-
return 'number';
|
|
30607
|
-
}
|
|
30608
30719
|
ngAfterContentInit() {
|
|
30609
|
-
|
|
30610
|
-
this.tabs.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this._stateChanged());
|
|
30720
|
+
this._tabs.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this._stateChanged());
|
|
30611
30721
|
}
|
|
30612
30722
|
ngAfterViewInit() {
|
|
30613
|
-
super.ngAfterViewInit();
|
|
30614
30723
|
setTimeout(() => {
|
|
30615
30724
|
if (this.config?.connectWithRouter) {
|
|
30616
30725
|
this.configureBookmarkableTabs();
|
|
@@ -30619,9 +30728,42 @@ class QdPageTabsComponent extends CdkStepper {
|
|
|
30619
30728
|
this.initializeTabSelection();
|
|
30620
30729
|
});
|
|
30621
30730
|
}
|
|
30731
|
+
_stateChanged() {
|
|
30732
|
+
this._changeDetectorRef.markForCheck();
|
|
30733
|
+
}
|
|
30734
|
+
_getIndicatorType(index) {
|
|
30735
|
+
const tab = this._tabs.get(index);
|
|
30736
|
+
if (!tab)
|
|
30737
|
+
return 'number';
|
|
30738
|
+
if (tab.hasError && !this._viewonly)
|
|
30739
|
+
return 'error';
|
|
30740
|
+
if (tab.completed)
|
|
30741
|
+
return tab.editable ? 'edit' : 'done';
|
|
30742
|
+
return 'number';
|
|
30743
|
+
}
|
|
30744
|
+
_getTabLabelId(i) {
|
|
30745
|
+
return `qd-tabs-${this._id}-label-${i}`;
|
|
30746
|
+
}
|
|
30747
|
+
save() {
|
|
30748
|
+
this.selected?.tabControl?.markAllAsTouched();
|
|
30749
|
+
const tabControlValues = this._tabs.map(tab => tab.tabControl?.value);
|
|
30750
|
+
this.config?.submitButton?.handler?.(tabControlValues);
|
|
30751
|
+
}
|
|
30752
|
+
selectTab(tab) {
|
|
30753
|
+
if (tab.config?.isDisabled)
|
|
30754
|
+
return;
|
|
30755
|
+
tab.select();
|
|
30756
|
+
}
|
|
30757
|
+
isSubmitButtonShown() {
|
|
30758
|
+
return this.config?.submitButton?.isHidden !== true && !this.footerService;
|
|
30759
|
+
}
|
|
30760
|
+
isSubmitButtonDisabled() {
|
|
30761
|
+
return this.config?.submitButton?.isDisabled;
|
|
30762
|
+
}
|
|
30622
30763
|
initializeTabSelection() {
|
|
30623
30764
|
if (this.config?.selectedIndex && this.isTabSelectable(this.config.selectedIndex)) {
|
|
30624
|
-
this.
|
|
30765
|
+
this._selectedIndex = this.config.selectedIndex;
|
|
30766
|
+
this._changeDetectorRef.markForCheck();
|
|
30625
30767
|
return;
|
|
30626
30768
|
}
|
|
30627
30769
|
this.selectFirstNotDisabledTab();
|
|
@@ -30630,19 +30772,20 @@ class QdPageTabsComponent extends CdkStepper {
|
|
|
30630
30772
|
this.routerConnector.connectTabsWithRouter(this).pipe(takeUntilDestroyed(this.destroyRef)).subscribe();
|
|
30631
30773
|
}
|
|
30632
30774
|
isTabSelectable(index) {
|
|
30633
|
-
const tab = this.
|
|
30775
|
+
const tab = this._tabs.get(index);
|
|
30634
30776
|
return !!tab && !tab.config.isDisabled;
|
|
30635
30777
|
}
|
|
30636
30778
|
/**
|
|
30637
30779
|
* Selects the first tab that is not disabled.
|
|
30638
30780
|
*/
|
|
30639
30781
|
selectFirstNotDisabledTab() {
|
|
30640
|
-
this.
|
|
30782
|
+
this._tabs.some((tab, tabIndex) => {
|
|
30641
30783
|
if (!tab.config.isDisabled) {
|
|
30642
30784
|
if (this.config) {
|
|
30643
30785
|
this.config.selectedIndex = tabIndex;
|
|
30644
30786
|
}
|
|
30645
|
-
this.
|
|
30787
|
+
this._selectedIndex = tabIndex;
|
|
30788
|
+
this._changeDetectorRef.markForCheck();
|
|
30646
30789
|
return true;
|
|
30647
30790
|
}
|
|
30648
30791
|
else {
|
|
@@ -30650,51 +30793,25 @@ class QdPageTabsComponent extends CdkStepper {
|
|
|
30650
30793
|
}
|
|
30651
30794
|
});
|
|
30652
30795
|
}
|
|
30653
|
-
save() {
|
|
30654
|
-
this.selected?.tabControl?.markAllAsTouched();
|
|
30655
|
-
const tabControlValues = this.tabs.map(tab => tab.tabControl?.value);
|
|
30656
|
-
this.config?.submitButton?.handler?.(tabControlValues);
|
|
30657
|
-
}
|
|
30658
|
-
selectTab(tab) {
|
|
30659
|
-
if (tab.config?.isDisabled)
|
|
30660
|
-
return;
|
|
30661
|
-
tab.select();
|
|
30662
|
-
}
|
|
30663
|
-
isSubmitButtonShown() {
|
|
30664
|
-
return this.config?.submitButton?.isHidden !== true && !this.footerService;
|
|
30665
|
-
}
|
|
30666
|
-
isSubmitButtonDisabled() {
|
|
30667
|
-
return this.config?.submitButton?.isDisabled;
|
|
30668
|
-
}
|
|
30669
|
-
_getTabLabelId(i) {
|
|
30670
|
-
return this._getStepLabelId(i);
|
|
30671
|
-
}
|
|
30672
30796
|
blockCdkInput(inputName) {
|
|
30673
30797
|
throw new Error(`Quadrel Framework | QdPageTabs - The use of the "${inputName}" attribute is not permitted. Please use QdPageTabsConfig instead.`);
|
|
30674
30798
|
}
|
|
30675
|
-
mapSelectionChangeToTabSelectionOutput() {
|
|
30676
|
-
this.selectionChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(selectionEvent => {
|
|
30677
|
-
this.tabSelection.emit({
|
|
30678
|
-
selectedIndex: selectionEvent.selectedIndex,
|
|
30679
|
-
previouslySelectedIndex: selectionEvent.previouslySelectedIndex,
|
|
30680
|
-
selectedTab: selectionEvent.selectedStep,
|
|
30681
|
-
previouslySelectedTab: selectionEvent.previouslySelectedStep
|
|
30682
|
-
});
|
|
30683
|
-
});
|
|
30684
|
-
}
|
|
30685
30799
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30686
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: QdPageTabsComponent, isStandalone: true, selector: "qd-page-tabs", inputs: { config: "config", testId: ["data-test-id", "testId"] }, outputs: { tabSelection: "tabSelection" }, host: { properties: { "class.standalone": "!
|
|
30800
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: QdPageTabsComponent, isStandalone: true, selector: "qd-page-tabs", inputs: { config: "config", testId: ["data-test-id", "testId"] }, outputs: { tabSelection: "tabSelection" }, host: { properties: { "class.standalone": "!footerService" }, classAttribute: "qd-tabs" }, providers: [QdPageTabsRouterConnectorService], queries: [{ propertyName: "_tabs", predicate: i0.forwardRef(() => QdPageTabComponent) }], usesOnChanges: true, ngImport: i0, template: "<div class=\"qd-tabs-items-container\" [ngClass]=\"{ scrollable: config?.scrollabe }\">\n <qd-page-tab-header\n *ngFor=\"let tab of tabs; let i = index\"\n (click)=\"selectTab(tab)\"\n [id]=\"_getTabLabelId(i)\"\n [index]=\"i\"\n [state]=\"_getIndicatorType(i)\"\n [label]=\"tab.config.label.i18n | translate\"\n [counters]=\"tab.config.counters\"\n [isSelected]=\"selectedIndex === i\"\n [isDisabled]=\"tab.config?.isDisabled\"\n [data-test-id]=\"testId + '-header' + '-' + i\"\n >\n </qd-page-tab-header>\n</div>\n\n<div class=\"tabs-content\">\n <ng-container *ngIf=\"!selected?.config?.isDisabled\" [ngTemplateOutlet]=\"selected?.content\"></ng-container>\n</div>\n\n<div class=\"qd-tabs-action-area\" *ngIf=\"isSubmitButtonShown()\">\n <button qdButton (click)=\"save()\" [disabled]=\"isSubmitButtonDisabled()\" [data-test-id]=\"testId + '-submit'\">\n {{ config?.submitButton?.i18n || \"i18n.qd.tabs.button.submit\" | translate }}\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host.standalone{height:calc(100% - 50px)}:host .qd-tabs-items-container{display:flex;width:100%;flex-direction:row;flex-wrap:wrap;padding:0 1.25rem;border-bottom:.125rem solid rgb(213,213,213);background-color:#fff;gap:0 .9375rem}@media (max-width: 599.98px){:host .qd-tabs-items-container{padding:0 .9375rem}}@media (max-width: 1279.98px){:host .qd-tabs-items-container.scrollable{flex-wrap:nowrap;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none}}:host .tabs-content{flex:1 1 auto}:host .qd-tabs-action-area{display:flex;width:100%;height:50px;justify-content:flex-end}:host .qd-tabs-action-area button{margin-right:1.25rem}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QdPageTabHeaderComponent, selector: "qd-page-tab-header", inputs: ["state", "label", "counters", "index", "isSelected", "isDisabled", "data-test-id"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: QdButtonModule }, { kind: "component", type: QdButtonComponent, selector: "button[qdButton], a[qdButton], button[qd-button]", inputs: ["disabled", "color", "icon", "data-test-id", "additionalInfo"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30687
30801
|
}
|
|
30688
30802
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabsComponent, decorators: [{
|
|
30689
30803
|
type: Component,
|
|
30690
|
-
args: [{ selector: 'qd-page-tabs', providers: [
|
|
30691
|
-
}],
|
|
30804
|
+
args: [{ selector: 'qd-page-tabs', providers: [QdPageTabsRouterConnectorService], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'qd-tabs', '[class.standalone]': '!footerService' }, standalone: true, imports: [NgFor, NgIf, NgTemplateOutlet, QdPageTabHeaderComponent, TranslateModule, QdButtonModule, CommonModule], template: "<div class=\"qd-tabs-items-container\" [ngClass]=\"{ scrollable: config?.scrollabe }\">\n <qd-page-tab-header\n *ngFor=\"let tab of tabs; let i = index\"\n (click)=\"selectTab(tab)\"\n [id]=\"_getTabLabelId(i)\"\n [index]=\"i\"\n [state]=\"_getIndicatorType(i)\"\n [label]=\"tab.config.label.i18n | translate\"\n [counters]=\"tab.config.counters\"\n [isSelected]=\"selectedIndex === i\"\n [isDisabled]=\"tab.config?.isDisabled\"\n [data-test-id]=\"testId + '-header' + '-' + i\"\n >\n </qd-page-tab-header>\n</div>\n\n<div class=\"tabs-content\">\n <ng-container *ngIf=\"!selected?.config?.isDisabled\" [ngTemplateOutlet]=\"selected?.content\"></ng-container>\n</div>\n\n<div class=\"qd-tabs-action-area\" *ngIf=\"isSubmitButtonShown()\">\n <button qdButton (click)=\"save()\" [disabled]=\"isSubmitButtonDisabled()\" [data-test-id]=\"testId + '-submit'\">\n {{ config?.submitButton?.i18n || \"i18n.qd.tabs.button.submit\" | translate }}\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host.standalone{height:calc(100% - 50px)}:host .qd-tabs-items-container{display:flex;width:100%;flex-direction:row;flex-wrap:wrap;padding:0 1.25rem;border-bottom:.125rem solid rgb(213,213,213);background-color:#fff;gap:0 .9375rem}@media (max-width: 599.98px){:host .qd-tabs-items-container{padding:0 .9375rem}}@media (max-width: 1279.98px){:host .qd-tabs-items-container.scrollable{flex-wrap:nowrap;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none}}:host .tabs-content{flex:1 1 auto}:host .qd-tabs-action-area{display:flex;width:100%;height:50px;justify-content:flex-end}:host .qd-tabs-action-area button{margin-right:1.25rem}\n"] }]
|
|
30805
|
+
}], propDecorators: { config: [{
|
|
30692
30806
|
type: Input
|
|
30693
30807
|
}], testId: [{
|
|
30694
30808
|
type: Input,
|
|
30695
30809
|
args: ['data-test-id']
|
|
30696
30810
|
}], tabSelection: [{
|
|
30697
30811
|
type: Output
|
|
30812
|
+
}], _tabs: [{
|
|
30813
|
+
type: ContentChildren,
|
|
30814
|
+
args: [forwardRef(() => QdPageTabComponent)]
|
|
30698
30815
|
}] } });
|
|
30699
30816
|
|
|
30700
30817
|
class QdPageSubmitActionService {
|
|
@@ -34278,93 +34395,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
34278
34395
|
}]
|
|
34279
34396
|
}] });
|
|
34280
34397
|
|
|
34281
|
-
// @ts-strict-ignore
|
|
34282
|
-
/**
|
|
34283
|
-
* The **QdPageTab** is a single tab inside the **QdPageTabs** within a **QdPage**.
|
|
34284
|
-
*/
|
|
34285
|
-
class QdPageTabComponent extends CdkStep {
|
|
34286
|
-
translate = inject(TranslateService);
|
|
34287
|
-
/**
|
|
34288
|
-
* Configuration of QdPageTabComponent.
|
|
34289
|
-
*
|
|
34290
|
-
* * @note The use of CDK attributes is not permitted. Please configure this component here.
|
|
34291
|
-
*/
|
|
34292
|
-
config;
|
|
34293
|
-
/** Form control for this tab. */
|
|
34294
|
-
set tabControl(tabControl) {
|
|
34295
|
-
this.stepControl = tabControl;
|
|
34296
|
-
}
|
|
34297
|
-
get tabControl() {
|
|
34298
|
-
return this.stepControl;
|
|
34299
|
-
}
|
|
34300
|
-
infoBanners;
|
|
34301
|
-
_destroyed$ = new Subject();
|
|
34302
|
-
constructor() {
|
|
34303
|
-
const tabs = inject(QdPageTabsComponent);
|
|
34304
|
-
const stepperOptions = inject(STEPPER_GLOBAL_OPTIONS, { optional: true });
|
|
34305
|
-
super(tabs, stepperOptions);
|
|
34306
|
-
}
|
|
34307
|
-
ngOnInit() {
|
|
34308
|
-
this.validateLabel();
|
|
34309
|
-
if (this.tabControl)
|
|
34310
|
-
this.initErrorCheck();
|
|
34311
|
-
}
|
|
34312
|
-
ngOnChanges(changes) {
|
|
34313
|
-
super.ngOnChanges();
|
|
34314
|
-
['label', 'errorMessage', 'state']
|
|
34315
|
-
.filter(inputName => !!changes[inputName])
|
|
34316
|
-
.forEach(inputName => this.blockCdkInput(inputName));
|
|
34317
|
-
}
|
|
34318
|
-
ngOnDestroy() {
|
|
34319
|
-
this._destroyed$.complete();
|
|
34320
|
-
}
|
|
34321
|
-
blockCdkInput(inputName) {
|
|
34322
|
-
throw new Error(`Quadrel Framework | QdPageTab - The use of the "${inputName}" attribute is not permitted. Please use QdPageTabConfig instead.`);
|
|
34323
|
-
}
|
|
34324
|
-
validateLabel() {
|
|
34325
|
-
if (!this.config?.label?.i18n)
|
|
34326
|
-
console.error('Quadrel Framework | QdPageTab - Please provide a label for the tab.');
|
|
34327
|
-
}
|
|
34328
|
-
initErrorCheck() {
|
|
34329
|
-
this.tabControl.statusChanges.pipe(takeUntil$1(this._destroyed$)).subscribe(() => {
|
|
34330
|
-
if (this.hasAnyError(this.tabControl)) {
|
|
34331
|
-
this.interacted = true;
|
|
34332
|
-
}
|
|
34333
|
-
});
|
|
34334
|
-
}
|
|
34335
|
-
hasAnyError(control) {
|
|
34336
|
-
if (control.errors && control.touched)
|
|
34337
|
-
return true;
|
|
34338
|
-
if (control instanceof FormGroup) {
|
|
34339
|
-
return Object.values(control.controls).some(control => this.hasAnyError(control));
|
|
34340
|
-
}
|
|
34341
|
-
if (control instanceof FormArray) {
|
|
34342
|
-
return control.controls.some(control => this.hasAnyError(control));
|
|
34343
|
-
}
|
|
34344
|
-
return false;
|
|
34345
|
-
}
|
|
34346
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34347
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: QdPageTabComponent, isStandalone: true, selector: "qd-page-tab", inputs: { config: "config", tabControl: "tabControl" }, providers: [
|
|
34348
|
-
{ provide: CdkStep, useExisting: QdPageTabComponent },
|
|
34349
|
-
{ provide: STEPPER_GLOBAL_OPTIONS, useValue: { showError: true } }
|
|
34350
|
-
], queries: [{ propertyName: "infoBanners", predicate: QdPageInfoBannerComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template>\n <div class=\"page-info-banners\">\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n\n <ng-content></ng-content>\n</ng-template>\n", styles: [".page-info-banners:has(>qd-page-info-banner:not(.qd-page-info-banner-empty)){padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.page-info-banners>qd-page-info-banner:last-child{margin-bottom:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34351
|
-
}
|
|
34352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabComponent, decorators: [{
|
|
34353
|
-
type: Component,
|
|
34354
|
-
args: [{ selector: 'qd-page-tab', providers: [
|
|
34355
|
-
{ provide: CdkStep, useExisting: QdPageTabComponent },
|
|
34356
|
-
{ provide: STEPPER_GLOBAL_OPTIONS, useValue: { showError: true } }
|
|
34357
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true // inherited by CdkStep
|
|
34358
|
-
, template: "<ng-template>\n <div class=\"page-info-banners\">\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n\n <ng-content></ng-content>\n</ng-template>\n", styles: [".page-info-banners:has(>qd-page-info-banner:not(.qd-page-info-banner-empty)){padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.page-info-banners>qd-page-info-banner:last-child{margin-bottom:0}\n"] }]
|
|
34359
|
-
}], ctorParameters: () => [], propDecorators: { config: [{
|
|
34360
|
-
type: Input
|
|
34361
|
-
}], tabControl: [{
|
|
34362
|
-
type: Input
|
|
34363
|
-
}], infoBanners: [{
|
|
34364
|
-
type: ContentChildren,
|
|
34365
|
-
args: [QdPageInfoBannerComponent]
|
|
34366
|
-
}] } });
|
|
34367
|
-
|
|
34368
34398
|
/**
|
|
34369
34399
|
* **qdPageTabParameterize** turns the active page tab into the `tab` query parameter
|
|
34370
34400
|
* (`?tab=<name>`).
|
|
@@ -34395,7 +34425,6 @@ class QdPageTabsModule {
|
|
|
34395
34425
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
34396
34426
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabsModule, declarations: [QdPageTabsAdapterDirective], imports: [CommonModule,
|
|
34397
34427
|
TranslateModule,
|
|
34398
|
-
CdkStepperModule,
|
|
34399
34428
|
QdButtonModule,
|
|
34400
34429
|
QdIconModule,
|
|
34401
34430
|
QdPageTabsComponent,
|
|
@@ -34404,7 +34433,6 @@ class QdPageTabsModule {
|
|
|
34404
34433
|
QdPageTabHeaderCountersComponent], exports: [QdPageTabsComponent, QdPageTabComponent, QdPageTabsAdapterDirective] });
|
|
34405
34434
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabsModule, imports: [CommonModule,
|
|
34406
34435
|
TranslateModule,
|
|
34407
|
-
CdkStepperModule,
|
|
34408
34436
|
QdButtonModule,
|
|
34409
34437
|
QdIconModule,
|
|
34410
34438
|
QdPageTabsComponent] });
|
|
@@ -34415,7 +34443,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
34415
34443
|
imports: [
|
|
34416
34444
|
CommonModule,
|
|
34417
34445
|
TranslateModule,
|
|
34418
|
-
CdkStepperModule,
|
|
34419
34446
|
QdButtonModule,
|
|
34420
34447
|
QdIconModule,
|
|
34421
34448
|
QdPageTabsComponent,
|
|
@@ -35072,5 +35099,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
35072
35099
|
* Generated bundle index. Do not edit.
|
|
35073
35100
|
*/
|
|
35074
35101
|
|
|
35075
|
-
export { APP_ENVIRONMENT, AVAILABLE_ICONS, BACKEND_ERROR_CODES, MockLocaleDatePipe, NavigationTileComponent, NavigationTilesComponent, QD_DIALOG_CONFIRMATION_RESOLVER_TOKEN, QD_FILE_MANAGER_TOKEN, QD_FILE_UPLOAD_MANAGER_TOKEN, QD_FORM_OPTIONS_RESOLVER, QD_PAGE_OBJECT_RESOLVER_TOKEN, QD_PAGE_STEP_RESOLVER_TOKEN, QD_POPOVER_TOP_FIRST, QD_SAFE_BOTTOM_OFFSET, QD_TABLE_DATA_RESOLVER_TOKEN, QD_UPLOAD_HTTP_OPTIONS, QdButtonComponent, QdButtonGhostDirective, QdButtonGridComponent, QdButtonLinkDirective, QdButtonModule, QdButtonStackButtonComponent, QdButtonStackComponent, QdCheckboxChipsComponent, QdCheckboxComponent, QdCheckboxesComponent, QdChipComponent, QdChipModule, QdColumnAutoFillDirective, QdColumnBreakBeforeDirective, QdColumnDirective, QdColumnDisableResponsiveColspansDirective, QdColumnFullGridWidthDirective, QdColumnNextInSameRowDirective, QdColumnsDirective, QdColumnsDisableAutoFillDirective, QdColumnsDisableResponsiveColspansDirective, QdColumnsMaxDirective, QdCommentsComponent, QdCommentsModule, QdConnectFormStateToPageDirective, QdConnectorTableContextDirective, QdConnectorTableFilterDirective, QdConnectorTableSearchDirective, QdContactCardComponent, QdContactCardModule, QdContainerPairsCaptionComponent, QdContainerPairsContainerComponent, QdContainerPairsHeaderComponent, QdContainerPairsItemComponent, QdContainerPairsValueComponent, QdContextService, QdCoreModule, QdDatepickerComponent, QdDialogActionComponent, QdDialogAuthSessionEndComponent, QdDialogAuthSessionEndService, QdDialogComponent, QdDialogConfirmationComponent, QdDialogConfirmationErrorDirective, QdDialogConfirmationInfoDirective, QdDialogConfirmationSuccessDirective, QdDialogModule, QdDialogRecordStepperComponent, QdDialogService, QdDialogSize, QdDisabledDirective, QdDropdownComponent, QdFileCollectorComponent, QdFileCollectorModule, QdFileSizePipe$1 as QdFileSizePipe, QdFileUploadComponent, QdFileUploadService, QdFilterComponent, QdFilterFormItemsComponent, QdFilterModule, QdFilterRestParamBuilder, QdFilterService, QdFooterActionType, QdFormArray, QdFormBuilder, QdFormControl, QdFormGroup, QdFormModule, QdGridComponent, QdGridModule, QdHorizontalPairsCaptionComponent, QdHorizontalPairsComponent, QdHorizontalPairsItemComponent, QdHorizontalPairsValueComponent, QdIconButtonComponent, QdIconComponent, QdIconModule, QdImageComponent, QdImageModule, QdIndeterminateProgressBarComponent, QdInputComponent, QdListModule, QdMenuButtonComponent, QdMockBreakpointService, QdMockButtonComponent, QdMockButtonGhostDirective, QdMockButtonGridComponent, QdMockButtonLinkDirective, QdMockButtonModule, QdMockButtonStackButtonComponent, QdMockButtonStackComponent, QdMockCalendarComponent, QdMockCheckboxChipsComponent, QdMockCheckboxComponent, QdMockCheckboxesComponent, QdMockChipComponent, QdMockChipModule, QdMockColumnDirective, QdMockColumnsDirective, QdMockContactCardComponent, QdMockContactCardModule, QdMockContainerPairsCaptionComponent, QdMockContainerPairsContainerComponent, QdMockContainerPairsHeaderComponent, QdMockContainerPairsItemComponent, QdMockContainerPairsValueComponent, QdMockCoreModule, QdMockCounterBadgeComponent, QdMockDatepickerComponent, QdMockDisabledDirective, QdMockDropdownComponent, QdMockFileCollectorComponent, QdMockFileCollectorModule, QdMockFilterCategoryBooleanComponent, QdMockFilterCategoryComponent, QdMockFilterCategoryDateComponent, QdMockFilterCategoryDateRangeComponent, QdMockFilterCategoryFreeTextComponent, QdMockFilterCategorySelectComponent, QdMockFilterComponent, QdMockFilterFormItemsComponent, QdMockFilterItemBooleanComponent, QdMockFilterItemDateComponent, QdMockFilterItemDateRangeComponent, QdMockFilterItemFreeTextComponent, QdMockFilterItemMultiSelectComponent, QdMockFilterItemSingleSelectComponent, QdMockFilterModule, QdMockFilterService, QdMockFormErrorComponent, QdMockFormGroupErrorComponent, QdMockFormHintComponent, QdMockFormLabelComponent, QdMockFormReadonlyComponent, QdMockFormViewonlyComponent, QdMockFormsModule, QdMockGridModule, QdMockIconButtonComponent, QdMockIconComponent, QdMockIconModule, QdMockImageComponent, QdMockImageModule, QdMockIndeterminateProgressBarComponent, QdMockInputComponent, QdMockListModule, QdMockNavigationTileComponent, QdMockNavigationTilesComponent, QdMockNavigationTilesModule, QdMockNotificationComponent, QdMockNotificationContentComponent, QdMockNotificationsComponent, QdMockNotificationsModule, QdMockNotificationsService, QdMockPageComponent, QdMockPageModule, QdMockPercentageProgressBarComponent, QdMockPinCodeComponent, QdMockPlaceHolderModule, QdMockPopoverOnClickDirective, QdMockProgressBarModule, QdMockQdPlaceHolderComponent, QdMockRadioButtonsComponent, QdMockRwdDisabledDirective, QdMockSearchComponent, QdMockSearchModule, QdMockSectionComponent, QdMockSectionModule, QdMockShellComponent, QdMockShellFooterComponent, QdMockShellHeaderBannerComponent, QdMockShellHeaderComponent, QdMockShellHeaderSearchComponent, QdMockShellHeaderWidgetComponent, QdMockShellModule, QdMockShellToolbarComponent, QdMockShellToolbarItemComponent, QdMockStatusIndicatorCaptionComponent, QdMockStatusIndicatorComponent, QdMockStatusIndicatorItemComponent, QdMockStatusIndicatorModule, QdMockStatusPairsCaptionComponent, QdMockStatusPairsComponent, QdMockStatusPairsErrorComponent, QdMockStatusPairsItemComponent, QdMockStatusPairsValueComponent, QdMockSwitchComponent, QdMockSwitchesComponent, QdMockTableComponent, QdMockTableModule, QdMockTextSectionComponent, QdMockTextSectionHeadlineComponent, QdMockTextSectionModule, QdMockTextSectionParagraphComponent, QdMockTextareaComponent, QdMockTileButtonListComponent, QdMockTileComponent, QdMockTileTextListComponent, QdMockTileTextListItemComponent, QdMockTileTitleComponent, QdMockTilesContainerComponent, QdMockTilesContainerTitleComponent, QdMockTilesModule, QdMockTranslatePipe, QdMockVisuallyHiddenDirective, QdMultiInputComponent, QdNavigationTilesModule, QdNotificationComponent, QdNotificationContentComponent, QdNotificationsComponent, QdNotificationsHttpInterceptorService, QdNotificationsModule, QdNotificationsService, QdNotificationsSnackbarListenerDirective, QdNumberInputService, QdPageComponent, QdPageControlPanelComponent, QdPageFooterComponent, QdPageFooterCustomContentDirective, QdPageInfoBannerComponent, QdPageModule, QdPageStepComponent, QdPageStepperAdapterDirective, QdPageStepperComponent, QdPageStepperModule, QdPageStoreService, QdPageTabComponent, QdPageTabsAdapterDirective, QdPageTabsComponent, QdPageTabsModule, QdPanelSectionActionsComponent, QdPanelSectionComponent, QdPanelSectionModule, QdPanelSectionStatusComponent, QdPanelSectionTextParagraphComponent, QdPendingChangesGuardDirective, QdPercentageProgressBarComponent, QdPinCodeComponent, QdPlaceHolderComponent, QdPlaceHolderModule, QdPlaceholderPipe, QdProgressBarModule, QdProjectionGuardComponent, QdPushEventsService, QdQuickEditComponent, QdQuickEditModule, QdRadioButtonsComponent, QdRichtextComponent, QdRouterQueryParamHubService, QdRwdDisabledDirective, QdSearchComponent, QdSearchModule, QdSearchService, QdSectionAdapterDirective, QdSectionComponent, QdSectionModule, QdSectionToolbarComponent, QdShellComponent, QdShellModule, QdSortDirection, QdSpinnerComponent, QdSpinnerModule, QdStatusIndicatorComponent, QdStatusIndicatorModule, QdStatusPairsCaptionComponent, QdStatusPairsComponent, QdStatusPairsErrorComponent, QdStatusPairsItemComponent, QdStatusPairsValueComponent, QdSubgridComponent, QdSwitchComponent, QdSwitchesComponent, QdTableComponent, QdTableModule, QdTableSpringTools, QdTextSectionComponent, QdTextSectionHeadlineComponent, QdTextSectionModule, QdTextSectionParagraphComponent, QdTextareaComponent, QdTileButtonListComponent, QdTileComponent, QdTileTextListComponent, QdTileTextListItemComponent, QdTileTitleComponent, QdTilesComponent, QdTilesModule, QdTilesTitleComponent, QdTooltipAtIntersectionDirective, QdTooltipIconComponent, QdTreeComponent, QdTreeModule, QdTreeRowExpanderService, QdUiMockModule, QdUiModule, QdUploadErrorType, QdValidators, QdViewportAdaptiveDirective, QdVisuallyHiddenDirective, chipColorDefault, createMetadataStream, qdFilterParameterize, qdMergeParams, qdPageTabParameterize, qdPaginationParameterize, qdSearchParameterize, qdSortParameterize, qdTableQueryParameterize, qdWrapParams, quadrelIconNames, updateHtmlLang };
|
|
35102
|
+
export { APP_ENVIRONMENT, AVAILABLE_ICONS, BACKEND_ERROR_CODES, MockLocaleDatePipe, NavigationTileComponent, NavigationTilesComponent, QD_DIALOG_CONFIRMATION_RESOLVER_TOKEN, QD_FILE_MANAGER_TOKEN, QD_FILE_UPLOAD_MANAGER_TOKEN, QD_FORM_OPTIONS_RESOLVER, QD_PAGE_OBJECT_RESOLVER_TOKEN, QD_PAGE_STEP_RESOLVER_TOKEN, QD_POPOVER_TOP_FIRST, QD_SAFE_BOTTOM_OFFSET, QD_TABLE_DATA_RESOLVER_TOKEN, QD_UPLOAD_HTTP_OPTIONS, QdButtonComponent, QdButtonGhostDirective, QdButtonGridComponent, QdButtonLinkDirective, QdButtonModule, QdButtonStackButtonComponent, QdButtonStackComponent, QdCheckboxChipsComponent, QdCheckboxComponent, QdCheckboxesComponent, QdChipComponent, QdChipModule, QdColumnAutoFillDirective, QdColumnBreakBeforeDirective, QdColumnDirective, QdColumnDisableResponsiveColspansDirective, QdColumnFullGridWidthDirective, QdColumnNextInSameRowDirective, QdColumnsDirective, QdColumnsDisableAutoFillDirective, QdColumnsDisableResponsiveColspansDirective, QdColumnsMaxDirective, QdCommentsComponent, QdCommentsModule, QdConnectFormStateToPageDirective, QdConnectorTableContextDirective, QdConnectorTableFilterDirective, QdConnectorTableSearchDirective, QdContactCardComponent, QdContactCardModule, QdContainerPairsCaptionComponent, QdContainerPairsContainerComponent, QdContainerPairsHeaderComponent, QdContainerPairsItemComponent, QdContainerPairsValueComponent, QdContextService, QdCoreModule, QdDatepickerComponent, QdDialogActionComponent, QdDialogAuthSessionEndComponent, QdDialogAuthSessionEndService, QdDialogComponent, QdDialogConfirmationComponent, QdDialogConfirmationErrorDirective, QdDialogConfirmationInfoDirective, QdDialogConfirmationSuccessDirective, QdDialogModule, QdDialogRecordStepperComponent, QdDialogService, QdDialogSize, QdDisabledDirective, QdDropdownComponent, QdFileCollectorComponent, QdFileCollectorModule, QdFileSizePipe$1 as QdFileSizePipe, QdFileUploadComponent, QdFileUploadService, QdFilterComponent, QdFilterFormItemsComponent, QdFilterModule, QdFilterRestParamBuilder, QdFilterService, QdFooterActionType, QdFormArray, QdFormBuilder, QdFormControl, QdFormGroup, QdFormModule, QdGridComponent, QdGridModule, QdHorizontalPairsCaptionComponent, QdHorizontalPairsComponent, QdHorizontalPairsItemComponent, QdHorizontalPairsValueComponent, QdIconButtonComponent, QdIconComponent, QdIconModule, QdImageComponent, QdImageModule, QdIndeterminateProgressBarComponent, QdInputComponent, QdListModule, QdMenuButtonComponent, QdMockBreakpointService, QdMockButtonComponent, QdMockButtonGhostDirective, QdMockButtonGridComponent, QdMockButtonLinkDirective, QdMockButtonModule, QdMockButtonStackButtonComponent, QdMockButtonStackComponent, QdMockCalendarComponent, QdMockCheckboxChipsComponent, QdMockCheckboxComponent, QdMockCheckboxesComponent, QdMockChipComponent, QdMockChipModule, QdMockColumnDirective, QdMockColumnsDirective, QdMockContactCardComponent, QdMockContactCardModule, QdMockContainerPairsCaptionComponent, QdMockContainerPairsContainerComponent, QdMockContainerPairsHeaderComponent, QdMockContainerPairsItemComponent, QdMockContainerPairsValueComponent, QdMockCoreModule, QdMockCounterBadgeComponent, QdMockDatepickerComponent, QdMockDisabledDirective, QdMockDropdownComponent, QdMockFileCollectorComponent, QdMockFileCollectorModule, QdMockFilterCategoryBooleanComponent, QdMockFilterCategoryComponent, QdMockFilterCategoryDateComponent, QdMockFilterCategoryDateRangeComponent, QdMockFilterCategoryFreeTextComponent, QdMockFilterCategorySelectComponent, QdMockFilterComponent, QdMockFilterFormItemsComponent, QdMockFilterItemBooleanComponent, QdMockFilterItemDateComponent, QdMockFilterItemDateRangeComponent, QdMockFilterItemFreeTextComponent, QdMockFilterItemMultiSelectComponent, QdMockFilterItemSingleSelectComponent, QdMockFilterModule, QdMockFilterService, QdMockFormErrorComponent, QdMockFormGroupErrorComponent, QdMockFormHintComponent, QdMockFormLabelComponent, QdMockFormReadonlyComponent, QdMockFormViewonlyComponent, QdMockFormsModule, QdMockGridModule, QdMockIconButtonComponent, QdMockIconComponent, QdMockIconModule, QdMockImageComponent, QdMockImageModule, QdMockIndeterminateProgressBarComponent, QdMockInputComponent, QdMockListModule, QdMockNavigationTileComponent, QdMockNavigationTilesComponent, QdMockNavigationTilesModule, QdMockNotificationComponent, QdMockNotificationContentComponent, QdMockNotificationsComponent, QdMockNotificationsModule, QdMockNotificationsService, QdMockPageComponent, QdMockPageModule, QdMockPercentageProgressBarComponent, QdMockPinCodeComponent, QdMockPlaceHolderModule, QdMockPopoverOnClickDirective, QdMockProgressBarModule, QdMockQdPlaceHolderComponent, QdMockRadioButtonsComponent, QdMockRwdDisabledDirective, QdMockSearchComponent, QdMockSearchModule, QdMockSectionComponent, QdMockSectionModule, QdMockShellComponent, QdMockShellFooterComponent, QdMockShellHeaderBannerComponent, QdMockShellHeaderComponent, QdMockShellHeaderSearchComponent, QdMockShellHeaderWidgetComponent, QdMockShellModule, QdMockShellToolbarComponent, QdMockShellToolbarItemComponent, QdMockStatusIndicatorCaptionComponent, QdMockStatusIndicatorComponent, QdMockStatusIndicatorItemComponent, QdMockStatusIndicatorModule, QdMockStatusPairsCaptionComponent, QdMockStatusPairsComponent, QdMockStatusPairsErrorComponent, QdMockStatusPairsItemComponent, QdMockStatusPairsValueComponent, QdMockSwitchComponent, QdMockSwitchesComponent, QdMockTableComponent, QdMockTableModule, QdMockTextSectionComponent, QdMockTextSectionHeadlineComponent, QdMockTextSectionModule, QdMockTextSectionParagraphComponent, QdMockTextareaComponent, QdMockTileButtonListComponent, QdMockTileComponent, QdMockTileTextListComponent, QdMockTileTextListItemComponent, QdMockTileTitleComponent, QdMockTilesContainerComponent, QdMockTilesContainerTitleComponent, QdMockTilesModule, QdMockTranslatePipe, QdMockVisuallyHiddenDirective, QdMultiInputComponent, QdNavigationTilesModule, QdNotificationComponent, QdNotificationContentComponent, QdNotificationsComponent, QdNotificationsHttpInterceptorService, QdNotificationsModule, QdNotificationsService, QdNotificationsSnackbarListenerDirective, QdNumberInputService, QdPageComponent, QdPageControlPanelComponent, QdPageFooterComponent, QdPageFooterCustomContentDirective, QdPageInfoBannerComponent, QdPageModule, QdPageStepComponent, QdPageStepperAdapterDirective, QdPageStepperComponent, QdPageStepperModule, QdPageStoreService, QdPageTabComponent, QdPageTabsAdapterDirective, QdPageTabsComponent, QdPageTabsModule, QdPanelSectionActionsComponent, QdPanelSectionComponent, QdPanelSectionModule, QdPanelSectionStatusComponent, QdPanelSectionTextParagraphComponent, QdPendingChangesGuardDirective, QdPercentageProgressBarComponent, QdPinCodeComponent, QdPlaceHolderComponent, QdPlaceHolderModule, QdPlaceholderPipe, QdProgressBarModule, QdProjectionGuardComponent, QdPushEventsService, QdQuickEditComponent, QdQuickEditModule, QdRadioButtonsComponent, QdRichtextComponent, QdRouterQueryParamHubService, QdRwdDisabledDirective, QdSearchComponent, QdSearchModule, QdSearchService, QdSectionAdapterDirective, QdSectionComponent, QdSectionModule, QdSectionToolbarComponent, QdShellComponent, QdShellModule, QdSortDirection, QdSpinnerComponent, QdSpinnerModule, QdStatusIndicatorComponent, QdStatusIndicatorModule, QdStatusPairsCaptionComponent, QdStatusPairsComponent, QdStatusPairsErrorComponent, QdStatusPairsItemComponent, QdStatusPairsValueComponent, QdSubgridComponent, QdSwitchComponent, QdSwitchesComponent, QdTableComponent, QdTableModule, QdTableSpringTools, QdTextSectionComponent, QdTextSectionHeadlineComponent, QdTextSectionModule, QdTextSectionParagraphComponent, QdTextareaComponent, QdTileButtonListComponent, QdTileComponent, QdTileTextListComponent, QdTileTextListItemComponent, QdTileTitleComponent, QdTilesComponent, QdTilesModule, QdTilesTitleComponent, QdTooltipAtIntersectionDirective, QdTooltipIconComponent, QdTreeComponent, QdTreeModule, QdTreeRowExpanderService, QdUiMockModule, QdUiModule, QdUploadErrorType, QdValidators, QdViewportAdaptiveDirective, QdVisuallyHiddenDirective, WHITELIST_ERROR_CODES, chipColorDefault, createMetadataStream, qdFilterParameterize, qdMergeParams, qdPageTabParameterize, qdPaginationParameterize, qdSearchParameterize, qdSortParameterize, qdTableQueryParameterize, qdWrapParams, quadrelIconNames, updateHtmlLang };
|
|
35076
35103
|
//# sourceMappingURL=quadrel-enterprise-ui-framework.mjs.map
|