@elderbyte/ngx-starter 19.6.1 → 19.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/elderbyte-ngx-starter.mjs +61 -42
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/continuable-listing.d.ts +6 -1
- package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
- package/lib/common/data/datasource/data-source.d.ts +1 -1
- package/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.d.ts +4 -2
- package/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.d.ts +9 -3
- package/package.json +1 -1
|
@@ -63,6 +63,7 @@ import * as i1$9 from '@angular/cdk/table';
|
|
|
63
63
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
64
64
|
import * as i2$4 from '@angular/material/sort';
|
|
65
65
|
import { MatSortModule, MatSort, MatSortHeader } from '@angular/material/sort';
|
|
66
|
+
import { __decorate, __param } from 'tslib';
|
|
66
67
|
import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, ScrollingModule } from '@angular/cdk/scrolling';
|
|
67
68
|
import * as i3 from '@angular/cdk/layout';
|
|
68
69
|
import { Breakpoints } from '@angular/cdk/layout';
|
|
@@ -3483,7 +3484,7 @@ class TokenChunkRequest {
|
|
|
3483
3484
|
}
|
|
3484
3485
|
static nextIfAvailable(listing, filters, sorts) {
|
|
3485
3486
|
if (listing.hasMore && listing.nextContinuationToken) {
|
|
3486
|
-
return new TokenChunkRequest(listing.nextContinuationToken, filters, sorts, listing.chunkSize);
|
|
3487
|
+
return new TokenChunkRequest(listing.nextContinuationToken, filters, sorts, listing.chunkSize ?? listing.maxChunkSize);
|
|
3487
3488
|
}
|
|
3488
3489
|
else {
|
|
3489
3490
|
return undefined;
|
|
@@ -4240,18 +4241,20 @@ class DataContextContinuableBase extends DataContextBase {
|
|
|
4240
4241
|
return this._chunkSize$.value;
|
|
4241
4242
|
}
|
|
4242
4243
|
set chunkSize(size) {
|
|
4243
|
-
|
|
4244
|
-
this._chunkSize$.next(size);
|
|
4245
|
-
this.onChunkSizeChanged(size);
|
|
4246
|
-
}
|
|
4244
|
+
this.updateChunkSize(size, true);
|
|
4247
4245
|
}
|
|
4248
4246
|
/***************************************************************************
|
|
4249
4247
|
* *
|
|
4250
4248
|
* Private Methods *
|
|
4251
4249
|
* *
|
|
4252
4250
|
**************************************************************************/
|
|
4253
|
-
|
|
4254
|
-
this.
|
|
4251
|
+
updateChunkSize(newSize, reloadOnChange) {
|
|
4252
|
+
if (this._chunkSize$.value !== newSize) {
|
|
4253
|
+
this._chunkSize$.next(newSize);
|
|
4254
|
+
if (reloadOnChange) {
|
|
4255
|
+
this.reload('ChunkSizeChanged:' + newSize);
|
|
4256
|
+
}
|
|
4257
|
+
}
|
|
4255
4258
|
}
|
|
4256
4259
|
loadAllRec() {
|
|
4257
4260
|
this.loadMore().subscribe({
|
|
@@ -4504,7 +4507,7 @@ class DataContextContinuableToken extends DataContextContinuableBase {
|
|
|
4504
4507
|
onChunkFetched(chunk) {
|
|
4505
4508
|
this.logger.debug(this.id + ': Got next chunk data:', chunk);
|
|
4506
4509
|
this._hasMoreData.next(chunk.hasMore);
|
|
4507
|
-
this.chunkSize
|
|
4510
|
+
this.updateChunkSize(chunk.chunkSize ?? chunk.maxChunkSize, false);
|
|
4508
4511
|
this.populateChunkData(chunk);
|
|
4509
4512
|
this.onIdle();
|
|
4510
4513
|
}
|
|
@@ -5498,10 +5501,10 @@ function isListDataSource(object) {
|
|
|
5498
5501
|
return object.findAllFiltered !== undefined;
|
|
5499
5502
|
}
|
|
5500
5503
|
function isLocalListDataSource(object) {
|
|
5501
|
-
return isListDataSource(object) &&
|
|
5504
|
+
return (isListDataSource(object) &&
|
|
5502
5505
|
object.delete !== undefined &&
|
|
5503
5506
|
object.save !== undefined &&
|
|
5504
|
-
object.replaceAll !== undefined;
|
|
5507
|
+
object.replaceAll !== undefined);
|
|
5505
5508
|
}
|
|
5506
5509
|
function isPagedDataSource(object) {
|
|
5507
5510
|
return object.findAllPaged !== undefined;
|
|
@@ -10041,7 +10044,7 @@ class ElderLabelInputComponent extends FormFieldBaseComponent {
|
|
|
10041
10044
|
* *
|
|
10042
10045
|
**************************************************************************/
|
|
10043
10046
|
labelSelected(event) {
|
|
10044
|
-
|
|
10047
|
+
this.logger.debug('labelSelected:', event);
|
|
10045
10048
|
const selection = event.option.value;
|
|
10046
10049
|
if (selection) {
|
|
10047
10050
|
this.resetInput();
|
|
@@ -13501,8 +13504,6 @@ class ElderCompositeSortComponent {
|
|
|
13501
13504
|
this.selectedSort.set(best);
|
|
13502
13505
|
this.selectedSortDirection.set(sorts[0]?.dir ?? 'asc');
|
|
13503
13506
|
}
|
|
13504
|
-
}, {
|
|
13505
|
-
allowSignalWrites: true,
|
|
13506
13507
|
});
|
|
13507
13508
|
}
|
|
13508
13509
|
/***************************************************************************
|
|
@@ -15339,8 +15340,8 @@ class ElderDataViewItemDragDirective {
|
|
|
15339
15340
|
* user defined this or if we should fall back to a superior predicate fn.
|
|
15340
15341
|
* */
|
|
15341
15342
|
this.canDragItem = input(null); // this is on purpose
|
|
15342
|
-
const canDragItemPredicate = this.dndController
|
|
15343
|
-
toSignal(dndController.canDragItemPredicate$)
|
|
15343
|
+
const canDragItemPredicate = this.dndController
|
|
15344
|
+
? toSignal(dndController.canDragItemPredicate$)
|
|
15344
15345
|
: signal(null);
|
|
15345
15346
|
effect(() => {
|
|
15346
15347
|
this.bindCanDragItem(this.cdkDrag, this.canDragItem(), canDragItemPredicate());
|
|
@@ -15381,7 +15382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
15381
15382
|
type: Directive,
|
|
15382
15383
|
args: [{
|
|
15383
15384
|
selector: '[elderElderDataViewItemDrag]',
|
|
15384
|
-
hostDirectives: [CdkDrag] // adds cdkDrag to host
|
|
15385
|
+
hostDirectives: [CdkDrag], // adds cdkDrag to host
|
|
15385
15386
|
}]
|
|
15386
15387
|
}], ctorParameters: () => [{ type: DataViewDndControllerService, decorators: [{
|
|
15387
15388
|
type: Optional
|
|
@@ -16039,7 +16040,7 @@ class ElderContinuatorComponent {
|
|
|
16039
16040
|
}
|
|
16040
16041
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderContinuatorComponent, decorators: [{
|
|
16041
16042
|
type: Component,
|
|
16042
|
-
args: [{ selector: 'elder-continuator', imports: [MatFormField, MatIcon, MatIconButton, MatSelect, MatOption$1
|
|
16043
|
+
args: [{ selector: 'elder-continuator', imports: [MatFormField, MatIcon, MatIconButton, MatSelect, MatOption$1], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-row place-end-center gap-md flex-none\">\n <mat-form-field class=\"elder-chunk-size-select\" subscriptSizing=\"dynamic\">\n <mat-select\n [value]=\"chunkSize()\"\n [placeholder]=\"chunkSize() + ''\"\n [disabled]=\"!canModifyChunkSize()\"\n (valueChange)=\"onChunkSizeChange($event)\"\n >\n @for (sizeOption of chunkSizeOptions(); track sizeOption) {\n <mat-option [value]=\"sizeOption\">{{ sizeOption }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n <span class=\"mat-caption noselect loaded-info-text\"> {{ loadedCount() }} / {{ total() }} </span>\n\n <button\n mat-icon-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!canLoadMore()\"\n (click)=\"loadMoreRequested.emit()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n</div>\n", styles: [".loaded-info-text{color:var(--md-sys-color-outline)}.elder-chunk-size-select.mat-mdc-form-field{width:84px}.elder-chunk-size-select.mat-mdc-form-field{--mat-form-field-container-height: 36px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 6px;--mat-form-field-filled-with-label-container-padding-top: 6px;--mat-form-field-filled-with-label-container-padding-bottom: 6px}.elder-chunk-size-select.mat-mdc-form-field .mat-mdc-select{--mat-select-trigger-text-size: var( --mat-paginator-container-text-size, var(--mat-sys-body-small-size) )}\n"] }]
|
|
16043
16044
|
}] });
|
|
16044
16045
|
|
|
16045
16046
|
class ElderTableRowDirective {
|
|
@@ -18399,7 +18400,7 @@ var TripleCheckboxState;
|
|
|
18399
18400
|
TripleCheckboxState[TripleCheckboxState["CHECKED"] = 1] = "CHECKED";
|
|
18400
18401
|
TripleCheckboxState[TripleCheckboxState["INDETERMINATE"] = 2] = "INDETERMINATE";
|
|
18401
18402
|
})(TripleCheckboxState || (TripleCheckboxState = {}));
|
|
18402
|
-
class ElderTripleStateCheckboxController {
|
|
18403
|
+
let ElderTripleStateCheckboxController = class ElderTripleStateCheckboxController {
|
|
18403
18404
|
/***************************************************************************
|
|
18404
18405
|
* *
|
|
18405
18406
|
* Constructor *
|
|
@@ -18408,8 +18409,14 @@ class ElderTripleStateCheckboxController {
|
|
|
18408
18409
|
constructor(checkbox, ngModel) {
|
|
18409
18410
|
this.checkbox = checkbox;
|
|
18410
18411
|
this.ngModel = ngModel;
|
|
18411
|
-
this.
|
|
18412
|
-
this.
|
|
18412
|
+
this._valueChange = new BehaviorSubject(undefined);
|
|
18413
|
+
if (this.ngModel) {
|
|
18414
|
+
this._stateChange = this.ngModel.valueChanges.pipe(takeUntilDestroyed(), map((value) => this.controlValueToState(value)));
|
|
18415
|
+
this.stateChange.subscribe((value) => this.writeState(value));
|
|
18416
|
+
}
|
|
18417
|
+
else {
|
|
18418
|
+
this._stateChange = this._valueChange.pipe(takeUntilDestroyed(), map((value) => this.controlValueToState(value)));
|
|
18419
|
+
}
|
|
18413
18420
|
}
|
|
18414
18421
|
/***************************************************************************
|
|
18415
18422
|
* *
|
|
@@ -18419,6 +18426,9 @@ class ElderTripleStateCheckboxController {
|
|
|
18419
18426
|
get stateChange() {
|
|
18420
18427
|
return this._stateChange;
|
|
18421
18428
|
}
|
|
18429
|
+
get valueChange() {
|
|
18430
|
+
return this._valueChange.asObservable();
|
|
18431
|
+
}
|
|
18422
18432
|
/***************************************************************************
|
|
18423
18433
|
* *
|
|
18424
18434
|
* Public API *
|
|
@@ -18477,6 +18487,7 @@ class ElderTripleStateCheckboxController {
|
|
|
18477
18487
|
this.checkbox.value = isDefined ? String(value) : undefined;
|
|
18478
18488
|
this.checkbox.checked = !!value;
|
|
18479
18489
|
this.checkbox.indeterminate = !isDefined;
|
|
18490
|
+
this._valueChange.next(value);
|
|
18480
18491
|
this.updateModelIfPresent(value);
|
|
18481
18492
|
}
|
|
18482
18493
|
updateModelIfPresent(val) {
|
|
@@ -18489,7 +18500,10 @@ class ElderTripleStateCheckboxController {
|
|
|
18489
18500
|
});
|
|
18490
18501
|
}
|
|
18491
18502
|
}
|
|
18492
|
-
}
|
|
18503
|
+
};
|
|
18504
|
+
ElderTripleStateCheckboxController = __decorate([
|
|
18505
|
+
__param(1, Optional())
|
|
18506
|
+
], ElderTripleStateCheckboxController);
|
|
18493
18507
|
|
|
18494
18508
|
class ElderTripleStateCheckboxDirective {
|
|
18495
18509
|
/***************************************************************************
|
|
@@ -18505,6 +18519,12 @@ class ElderTripleStateCheckboxDirective {
|
|
|
18505
18519
|
* *
|
|
18506
18520
|
**************************************************************************/
|
|
18507
18521
|
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
18522
|
+
/***************************************************************************
|
|
18523
|
+
* *
|
|
18524
|
+
* Properties *
|
|
18525
|
+
* *
|
|
18526
|
+
**************************************************************************/
|
|
18527
|
+
this.valueChange = new EventEmitter();
|
|
18508
18528
|
this.controller = new ElderTripleStateCheckboxController(checkbox, ngModel);
|
|
18509
18529
|
}
|
|
18510
18530
|
/***************************************************************************
|
|
@@ -18515,6 +18535,10 @@ class ElderTripleStateCheckboxDirective {
|
|
|
18515
18535
|
ngOnInit() {
|
|
18516
18536
|
this.controller.writeState(this.controller.readState());
|
|
18517
18537
|
this.checkbox.registerOnChange(() => this.toggleNextState());
|
|
18538
|
+
// Subscribe to value changes from the controller
|
|
18539
|
+
this.controller.valueChange.subscribe((value) => {
|
|
18540
|
+
this.valueChange.emit(value);
|
|
18541
|
+
});
|
|
18518
18542
|
}
|
|
18519
18543
|
/***************************************************************************
|
|
18520
18544
|
* *
|
|
@@ -18524,8 +18548,8 @@ class ElderTripleStateCheckboxDirective {
|
|
|
18524
18548
|
toggleNextState() {
|
|
18525
18549
|
this.controller.toggleNextState();
|
|
18526
18550
|
}
|
|
18527
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1$c.MatCheckbox }, { token: i1$4.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18528
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", type: ElderTripleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderTripleStateCheckbox]", ngImport: i0 }); }
|
|
18551
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1$c.MatCheckbox }, { token: i1$4.NgModel, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18552
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", type: ElderTripleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderTripleStateCheckbox]", outputs: { valueChange: "valueChange" }, ngImport: i0 }); }
|
|
18529
18553
|
}
|
|
18530
18554
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTripleStateCheckboxDirective, decorators: [{
|
|
18531
18555
|
type: Directive,
|
|
@@ -18533,7 +18557,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
18533
18557
|
selector: 'mat-checkbox[elderTripleStateCheckbox]',
|
|
18534
18558
|
standalone: true,
|
|
18535
18559
|
}]
|
|
18536
|
-
}], ctorParameters: () => [{ type: i1$c.MatCheckbox }, { type: i1$4.NgModel
|
|
18560
|
+
}], ctorParameters: () => [{ type: i1$c.MatCheckbox }, { type: i1$4.NgModel, decorators: [{
|
|
18561
|
+
type: Optional
|
|
18562
|
+
}] }], propDecorators: { valueChange: [{
|
|
18563
|
+
type: Output
|
|
18564
|
+
}] } });
|
|
18537
18565
|
|
|
18538
18566
|
/**
|
|
18539
18567
|
* Traps tab focus inside the host elements children.
|
|
@@ -19701,9 +19729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
19701
19729
|
}] });
|
|
19702
19730
|
|
|
19703
19731
|
class ElderSimpleSelectionViewComponent {
|
|
19704
|
-
constructor(selectionModel) {
|
|
19705
|
-
console.log('Received selection model:', selectionModel);
|
|
19706
|
-
}
|
|
19732
|
+
constructor(selectionModel) { }
|
|
19707
19733
|
ngOnInit() { }
|
|
19708
19734
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderSimpleSelectionViewComponent, deps: [{ token: SelectionModel, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19709
19735
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: ElderSimpleSelectionViewComponent, isStandalone: true, selector: "elder-simple-selection-view", ngImport: i0, template: "<p>elder-simple-selection-view works!</p>\n", styles: [""] }); }
|
|
@@ -21330,7 +21356,7 @@ class ElderMasterDetailComponent {
|
|
|
21330
21356
|
panelClass: 'custom-dialog-container',
|
|
21331
21357
|
});
|
|
21332
21358
|
this.dialogRef.afterClosed().subscribe((result) => {
|
|
21333
|
-
|
|
21359
|
+
this.log.debug('The dialog was closed');
|
|
21334
21360
|
});
|
|
21335
21361
|
}
|
|
21336
21362
|
onCurrentItemChange(active) {
|
|
@@ -31126,10 +31152,10 @@ class ElderIntervalPickerComponent {
|
|
|
31126
31152
|
}
|
|
31127
31153
|
const elderInterval = IntervalPickerUtil.createElderInterval(srcInterval);
|
|
31128
31154
|
if (this.emitType() === 'iso') {
|
|
31129
|
-
|
|
31155
|
+
this.log.debug('emitting type iso', coerceIntervalIsoStr(elderInterval));
|
|
31130
31156
|
return coerceIntervalIsoStr(elderInterval);
|
|
31131
31157
|
}
|
|
31132
|
-
|
|
31158
|
+
this.log.debug('emitting type elder interval', elderInterval);
|
|
31133
31159
|
return elderInterval;
|
|
31134
31160
|
}));
|
|
31135
31161
|
this.manager.anchor$.pipe(takeUntilDestroyed()).subscribe((anchor) => {
|
|
@@ -31159,7 +31185,7 @@ class ElderIntervalPickerComponent {
|
|
|
31159
31185
|
setTimeout(() => {
|
|
31160
31186
|
// this prevents ngmodel issue
|
|
31161
31187
|
this.manager.isInitialized = true;
|
|
31162
|
-
|
|
31188
|
+
this.log.debug('externalInterval', this.externalInterval());
|
|
31163
31189
|
}, 0);
|
|
31164
31190
|
}
|
|
31165
31191
|
ngOnDestroy() {
|
|
@@ -31209,7 +31235,7 @@ class ElderIntervalPickerComponent {
|
|
|
31209
31235
|
IntervalPickerUtil.updateMatCalendarActiveDate(this.calendarStart, this.calendarEnd, interval.startDate, interval.endDate);
|
|
31210
31236
|
}
|
|
31211
31237
|
catch (e) {
|
|
31212
|
-
|
|
31238
|
+
this.log.debug('Failed to update calendar active date', e);
|
|
31213
31239
|
}
|
|
31214
31240
|
}
|
|
31215
31241
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderIntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -32788,16 +32814,13 @@ class ElderSearchBoxComponent {
|
|
|
32788
32814
|
this.queryKey = 'query';
|
|
32789
32815
|
this._dense = false;
|
|
32790
32816
|
this.autocomplete = 'off';
|
|
32791
|
-
this.touchedSearchInputs$ = searchContextDirective.touchedSearchInputs
|
|
32792
|
-
.pipe();
|
|
32817
|
+
this.touchedSearchInputs$ = searchContextDirective.touchedSearchInputs$;
|
|
32793
32818
|
effect(() => {
|
|
32794
32819
|
const customSearchPanel = this.customSearchPanel();
|
|
32795
32820
|
const overlay = this.overlayComponent();
|
|
32796
32821
|
if (customSearchPanel) {
|
|
32797
32822
|
customSearchPanel.overlay.set(overlay);
|
|
32798
32823
|
}
|
|
32799
|
-
}, {
|
|
32800
|
-
allowSignalWrites: true,
|
|
32801
32824
|
});
|
|
32802
32825
|
}
|
|
32803
32826
|
/***************************************************************************
|
|
@@ -32826,7 +32849,7 @@ class ElderSearchBoxComponent {
|
|
|
32826
32849
|
this.searchContextDirective.reset();
|
|
32827
32850
|
}
|
|
32828
32851
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderSearchBoxComponent, deps: [{ token: ElderSearchContextDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32829
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px;border-radius:var(--elder-pane-border-radius)}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32852
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n aria-hidden=\"false\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px;border-radius:var(--elder-pane-border-radius)}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32830
32853
|
}
|
|
32831
32854
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderSearchBoxComponent, decorators: [{
|
|
32832
32855
|
type: Component,
|
|
@@ -32849,7 +32872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
32849
32872
|
MatButton,
|
|
32850
32873
|
AsyncPipe,
|
|
32851
32874
|
TranslateModule,
|
|
32852
|
-
], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px;border-radius:var(--elder-pane-border-radius)}\n"] }]
|
|
32875
|
+
], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n aria-hidden=\"false\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px;border-radius:var(--elder-pane-border-radius)}\n"] }]
|
|
32853
32876
|
}], ctorParameters: () => [{ type: ElderSearchContextDirective }], propDecorators: { autoPanel: [{
|
|
32854
32877
|
type: Input
|
|
32855
32878
|
}], name: [{
|
|
@@ -35021,8 +35044,6 @@ class ElderUrlFragmentSwitcherComponent {
|
|
|
35021
35044
|
**************************************************************************/
|
|
35022
35045
|
ngOnInit() {
|
|
35023
35046
|
if (!this.disable) {
|
|
35024
|
-
console.log('URL FRAGMEENTS');
|
|
35025
|
-
console.log(this.urlFragments);
|
|
35026
35047
|
const urlFragment = this.urlFragments.find((c) => {
|
|
35027
35048
|
try {
|
|
35028
35049
|
return c.fragment === this.urlRegex.exec(window.location.href)[this.regexArrayIndex];
|
|
@@ -35031,8 +35052,6 @@ class ElderUrlFragmentSwitcherComponent {
|
|
|
35031
35052
|
return false;
|
|
35032
35053
|
}
|
|
35033
35054
|
});
|
|
35034
|
-
console.log('URL FRAGMENT');
|
|
35035
|
-
console.log(urlFragment);
|
|
35036
35055
|
if (urlFragment) {
|
|
35037
35056
|
this.activeUrlFragment$.next(urlFragment);
|
|
35038
35057
|
}
|