@elderbyte/ngx-starter 18.0.0 → 18.1.0-beta
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/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +2 -2
- package/esm2022/lib/components/files/elder-file-select-input.mjs +119 -0
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +86 -85
- package/esm2022/lib/components/files/file-system-api.mjs +88 -0
- package/esm2022/lib/components/files/listing/file-entry.mjs +30 -15
- package/esm2022/lib/components/files/listing/file-listing-rx.mjs +27 -70
- package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +35 -0
- package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +77 -0
- package/esm2022/lib/components/forms/public_api.mjs +5 -1
- package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +50 -0
- package/fesm2022/elderbyte-ngx-starter.mjs +423 -109
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/files/elder-file-select-input.d.ts +59 -0
- package/lib/components/files/elder-file-select.directive.d.ts +15 -23
- package/lib/components/files/file-system-api.d.ts +82 -0
- package/lib/components/files/listing/file-entry.d.ts +10 -1
- package/lib/components/files/listing/file-listing-rx.d.ts +2 -6
- package/lib/components/files/listing/file-listing-system-handle.d.ts +21 -0
- package/lib/components/files/listing/file-listing-webkit.d.ts +26 -0
- package/lib/components/forms/public_api.d.ts +4 -0
- package/lib/components/forms/search/domain/input/simple-search-input.d.ts +39 -0
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import { Pipe, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Directive, Outpu
|
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
6
6
|
import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, DateTimeFormatter, convert, ZonedDateTime, Temporal } from '@js-joda/core';
|
|
7
7
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
8
|
-
import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, Subject, switchMap, of, combineLatest, EMPTY, merge, throwError, forkJoin, mergeWith, Observable, zip, mergeMap as mergeMap$1, fromEvent, skipUntil, combineLatestWith as combineLatestWith$1, NEVER } from 'rxjs';
|
|
8
|
+
import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, Subject, switchMap, of, combineLatest, EMPTY, merge, throwError, forkJoin, mergeWith, Observable, from, toArray, zip, mergeMap as mergeMap$1, fromEvent, skipUntil, combineLatestWith as combineLatestWith$1, NEVER } from 'rxjs';
|
|
9
9
|
import { tap, takeUntil, takeWhile, map, filter, distinctUntilChanged, debounceTime, catchError, first, take, switchMap as switchMap$1, mergeMap, expand, reduce, startWith, skip, delay, share, combineLatestWith, skipWhile, timeout } from 'rxjs/operators';
|
|
10
10
|
import * as i1$2 from '@angular/common/http';
|
|
11
11
|
import { HttpParams, HttpEventType, HttpRequest, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
@@ -36,6 +36,7 @@ import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '
|
|
|
36
36
|
import * as i1$7 from '@angular/material/chips';
|
|
37
37
|
import { MatChipGrid, MatChipRow, MatChipRemove, MatChipInput, MatChipsModule, MatChip, MatChipAvatar, MatChipSet, MatChipTrailingIcon, MatChipListbox, MatChipOption } from '@angular/material/chips';
|
|
38
38
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
39
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
39
40
|
import { MatList, MatListSubheaderCssMatStyler, MatListItem, MatListModule } from '@angular/material/list';
|
|
40
41
|
import { MatProgressBar, MatProgressBarModule } from '@angular/material/progress-bar';
|
|
41
42
|
import * as i1$5 from '@angular/material/snack-bar';
|
|
@@ -50,7 +51,6 @@ import * as i1$6 from '@angular/material/dialog';
|
|
|
50
51
|
import { MatDialogClose, MAT_DIALOG_DATA, MatDialogConfig, MatDialogModule } from '@angular/material/dialog';
|
|
51
52
|
import { MatMenuTrigger, MatMenu, MatMenuItem, MatMenuModule } from '@angular/material/menu';
|
|
52
53
|
import { MatTooltipModule, MatTooltip } from '@angular/material/tooltip';
|
|
53
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
54
54
|
import { MatPaginator, MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
|
|
55
55
|
import { MatColumnDef, MatRowDef, MatTable, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, MatFooterCellDef, MatFooterCell, MatHeaderRowDef, MatHeaderRow, MatRow, MatFooterRowDef, MatFooterRow, MatTableModule } from '@angular/material/table';
|
|
56
56
|
import * as i1$8 from '@angular/cdk/table';
|
|
@@ -9715,6 +9715,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
9715
9715
|
}]
|
|
9716
9716
|
}] });
|
|
9717
9717
|
|
|
9718
|
+
/***************************************************************************
|
|
9719
|
+
* *
|
|
9720
|
+
* FileSystem API *
|
|
9721
|
+
* *
|
|
9722
|
+
**************************************************************************/
|
|
9723
|
+
/**
|
|
9724
|
+
* Holds experimental features of the browser `File System API`. No typescript lint checks
|
|
9725
|
+
* are performed here!
|
|
9726
|
+
*/
|
|
9727
|
+
class FileSystemApi {
|
|
9728
|
+
/***************************************************************************
|
|
9729
|
+
* *
|
|
9730
|
+
* DataTransferItem *
|
|
9731
|
+
* *
|
|
9732
|
+
**************************************************************************/
|
|
9733
|
+
static isGetAsFileSystemHandleSupported(transferItem) {
|
|
9734
|
+
// @ts-ignore
|
|
9735
|
+
return transferItem.getAsFileSystemHandle !== undefined;
|
|
9736
|
+
}
|
|
9737
|
+
static getAsFileSystemHandle(transferItem) {
|
|
9738
|
+
// @ts-ignore
|
|
9739
|
+
return from(transferItem.getAsFileSystemHandle());
|
|
9740
|
+
}
|
|
9741
|
+
/***************************************************************************
|
|
9742
|
+
* *
|
|
9743
|
+
* File Picker *
|
|
9744
|
+
* *
|
|
9745
|
+
**************************************************************************/
|
|
9746
|
+
static isFileSystemSupported() {
|
|
9747
|
+
return 'showOpenFilePicker' in window;
|
|
9748
|
+
}
|
|
9749
|
+
static openFilePicker(pickerOpts) {
|
|
9750
|
+
try {
|
|
9751
|
+
// @ts-ignore
|
|
9752
|
+
return from(window.showOpenFilePicker(pickerOpts));
|
|
9753
|
+
}
|
|
9754
|
+
catch (e) {
|
|
9755
|
+
return throwError(() => new Error(e));
|
|
9756
|
+
}
|
|
9757
|
+
}
|
|
9758
|
+
/***************************************************************************
|
|
9759
|
+
* *
|
|
9760
|
+
* Directory Picker *
|
|
9761
|
+
* *
|
|
9762
|
+
**************************************************************************/
|
|
9763
|
+
static isDirectoryPickerSupported() {
|
|
9764
|
+
return 'showDirectoryPicker' in window;
|
|
9765
|
+
}
|
|
9766
|
+
static openDirectoryPicker(pickerOpts) {
|
|
9767
|
+
try {
|
|
9768
|
+
// @ts-ignore
|
|
9769
|
+
return from(window.showDirectoryPicker(pickerOpts));
|
|
9770
|
+
}
|
|
9771
|
+
catch (e) {
|
|
9772
|
+
return throwError(() => new Error(e));
|
|
9773
|
+
}
|
|
9774
|
+
}
|
|
9775
|
+
/***************************************************************************
|
|
9776
|
+
* *
|
|
9777
|
+
* FileSystemDirectoryHandle *
|
|
9778
|
+
* *
|
|
9779
|
+
**************************************************************************/
|
|
9780
|
+
static getHandlesFromDirectory(dirHandle) {
|
|
9781
|
+
return from(FileSystemApi.getHandlesFromDirectoryAsync(dirHandle));
|
|
9782
|
+
}
|
|
9783
|
+
static buildRelativeParent(fileOrDirHandle, rootDirectory) {
|
|
9784
|
+
if (rootDirectory == null) {
|
|
9785
|
+
return of(undefined);
|
|
9786
|
+
}
|
|
9787
|
+
const relativeParents$ = from(rootDirectory.resolve(fileOrDirHandle));
|
|
9788
|
+
return relativeParents$.pipe(map(parents => {
|
|
9789
|
+
const path = parents;
|
|
9790
|
+
path.pop();
|
|
9791
|
+
return path.join('/');
|
|
9792
|
+
}));
|
|
9793
|
+
}
|
|
9794
|
+
static async getHandlesFromDirectoryAsync(dirHandle) {
|
|
9795
|
+
const handles = [];
|
|
9796
|
+
// @ts-ignore
|
|
9797
|
+
for await (const handle of dirHandle.values()) {
|
|
9798
|
+
handles.push(handle);
|
|
9799
|
+
}
|
|
9800
|
+
return handles;
|
|
9801
|
+
}
|
|
9802
|
+
}
|
|
9803
|
+
|
|
9718
9804
|
/**
|
|
9719
9805
|
* Represents a file and the relative path where the user has selected it.
|
|
9720
9806
|
* This is useful if the user has selected a folder and files
|
|
@@ -9729,26 +9815,24 @@ class FileEntry {
|
|
|
9729
9815
|
* which is also supported by this method.
|
|
9730
9816
|
*/
|
|
9731
9817
|
static ofFile(file) {
|
|
9732
|
-
|
|
9733
|
-
|
|
9734
|
-
|
|
9735
|
-
|
|
9736
|
-
|
|
9737
|
-
|
|
9738
|
-
|
|
9739
|
-
|
|
9740
|
-
|
|
9741
|
-
}
|
|
9742
|
-
return FileEntry.relativeFile(file, relativeParent);
|
|
9818
|
+
return FileEntry.relativeFile(file, this.buildRelativeParent(file));
|
|
9819
|
+
}
|
|
9820
|
+
/**
|
|
9821
|
+
* Creates an Observable of a File Entry by resolving its FileSystemFileHandle.
|
|
9822
|
+
* @param fileHandle
|
|
9823
|
+
* @param rootDirectory is needed to build a relative parent
|
|
9824
|
+
*/
|
|
9825
|
+
static ofFileHandle(fileHandle, rootDirectory) {
|
|
9826
|
+
return from(fileHandle.getFile()).pipe(combineLatestWith(FileSystemApi.buildRelativeParent(fileHandle, rootDirectory)), map(([file, relativeParent]) => FileEntry.relativeFile(file, relativeParent, fileHandle)));
|
|
9743
9827
|
}
|
|
9744
9828
|
/**
|
|
9745
9829
|
* Creates a file Entry with a relative parent path
|
|
9746
9830
|
*/
|
|
9747
|
-
static relativeFile(file, relativeParent) {
|
|
9831
|
+
static relativeFile(file, relativeParent, fileHandle) {
|
|
9748
9832
|
if (relativeParent && relativeParent.endsWith('/')) {
|
|
9749
9833
|
relativeParent = relativeParent.substring(0, relativeParent.length - 1);
|
|
9750
9834
|
}
|
|
9751
|
-
return new FileEntry(file, relativeParent);
|
|
9835
|
+
return new FileEntry(file, relativeParent, fileHandle);
|
|
9752
9836
|
}
|
|
9753
9837
|
static toFileMap(entries) {
|
|
9754
9838
|
const map = new Map();
|
|
@@ -9768,9 +9852,10 @@ class FileEntry {
|
|
|
9768
9852
|
* Contains the relative path from the selected folder
|
|
9769
9853
|
* to this file. Only relevant if the user has selected a folder.
|
|
9770
9854
|
*/
|
|
9771
|
-
relativeParent) {
|
|
9855
|
+
relativeParent, fileHandle) {
|
|
9772
9856
|
this.file = file;
|
|
9773
9857
|
this.relativeParent = relativeParent;
|
|
9858
|
+
this.fileHandle = fileHandle;
|
|
9774
9859
|
this.relativePath = FileEntry.buildRelativePath(relativeParent, file);
|
|
9775
9860
|
}
|
|
9776
9861
|
/***************************************************************************
|
|
@@ -9789,42 +9874,46 @@ class FileEntry {
|
|
|
9789
9874
|
return file.name;
|
|
9790
9875
|
}
|
|
9791
9876
|
}
|
|
9877
|
+
static buildRelativeParent(file) {
|
|
9878
|
+
let relativeParent = null;
|
|
9879
|
+
if (file.webkitRelativePath) {
|
|
9880
|
+
if (file.webkitRelativePath.endsWith(file.name)) {
|
|
9881
|
+
const nameStart = file.webkitRelativePath.length - file.name.length;
|
|
9882
|
+
relativeParent = file.webkitRelativePath.substring(0, nameStart);
|
|
9883
|
+
}
|
|
9884
|
+
else {
|
|
9885
|
+
relativeParent = file.webkitRelativePath;
|
|
9886
|
+
}
|
|
9887
|
+
}
|
|
9888
|
+
return relativeParent;
|
|
9889
|
+
}
|
|
9792
9890
|
}
|
|
9793
9891
|
|
|
9794
|
-
class
|
|
9892
|
+
class ElderFileSelectInput {
|
|
9795
9893
|
/***************************************************************************
|
|
9796
9894
|
* *
|
|
9797
9895
|
* Constructor *
|
|
9798
9896
|
* *
|
|
9799
9897
|
**************************************************************************/
|
|
9800
|
-
constructor(
|
|
9801
|
-
this.el = el;
|
|
9898
|
+
constructor(renderer, el) {
|
|
9802
9899
|
this.renderer = renderer;
|
|
9900
|
+
this.el = el;
|
|
9803
9901
|
/***************************************************************************
|
|
9804
9902
|
* *
|
|
9805
9903
|
* Fields *
|
|
9806
9904
|
* *
|
|
9807
9905
|
**************************************************************************/
|
|
9808
9906
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
9809
|
-
this.
|
|
9810
|
-
this.elderSingleFileSelectChange = new EventEmitter();
|
|
9811
|
-
}
|
|
9812
|
-
/***************************************************************************
|
|
9813
|
-
* *
|
|
9814
|
-
* Life Cycle *
|
|
9815
|
-
* *
|
|
9816
|
-
**************************************************************************/
|
|
9817
|
-
ngOnInit() {
|
|
9818
|
-
this.createFileSelect();
|
|
9819
|
-
}
|
|
9820
|
-
ngOnDestroy() {
|
|
9821
|
-
this.removeFileSelect();
|
|
9907
|
+
this._filesSelected = new Subject;
|
|
9822
9908
|
}
|
|
9823
9909
|
/***************************************************************************
|
|
9824
9910
|
* *
|
|
9825
9911
|
* Properties *
|
|
9826
9912
|
* *
|
|
9827
9913
|
**************************************************************************/
|
|
9914
|
+
get filesSelected() {
|
|
9915
|
+
return this._filesSelected;
|
|
9916
|
+
}
|
|
9828
9917
|
set elderFileSelect(value) {
|
|
9829
9918
|
this._accept = value;
|
|
9830
9919
|
if (this._fileInput) {
|
|
@@ -9837,11 +9926,6 @@ class ElderFileSelectDirective {
|
|
|
9837
9926
|
this.renderer.setProperty(this._fileInput, 'multiple', value);
|
|
9838
9927
|
}
|
|
9839
9928
|
}
|
|
9840
|
-
/**
|
|
9841
|
-
* Allow the user to select a directory. All files that are recursively contained are selected.
|
|
9842
|
-
* However, the user will no longer be able to select individual files if this is enabled.
|
|
9843
|
-
* @param value
|
|
9844
|
-
*/
|
|
9845
9929
|
set elderFileSelectDirectory(value) {
|
|
9846
9930
|
this._directory = coerceBooleanProperty(value);
|
|
9847
9931
|
if (this._fileInput) {
|
|
@@ -9854,17 +9938,6 @@ class ElderFileSelectDirective {
|
|
|
9854
9938
|
* Public API *
|
|
9855
9939
|
* *
|
|
9856
9940
|
**************************************************************************/
|
|
9857
|
-
onClick(event) {
|
|
9858
|
-
this.openFileSelectDialog();
|
|
9859
|
-
}
|
|
9860
|
-
openFileSelectDialog() {
|
|
9861
|
-
this._fileInput.click();
|
|
9862
|
-
}
|
|
9863
|
-
/***************************************************************************
|
|
9864
|
-
* *
|
|
9865
|
-
* Private methods *
|
|
9866
|
-
* *
|
|
9867
|
-
**************************************************************************/
|
|
9868
9941
|
/**
|
|
9869
9942
|
* <input type="file"
|
|
9870
9943
|
* hidden #fileInput
|
|
@@ -9888,7 +9961,9 @@ class ElderFileSelectDirective {
|
|
|
9888
9961
|
this.renderer.setAttribute(this._fileInput, 'webkitdirectory', 'true');
|
|
9889
9962
|
this.renderer.setAttribute(this._fileInput, 'directory', 'true');
|
|
9890
9963
|
}
|
|
9891
|
-
this._unlisten = this.renderer.listen(this._fileInput, 'change', event =>
|
|
9964
|
+
this._unlisten = this.renderer.listen(this._fileInput, 'change', event => {
|
|
9965
|
+
this.fileInputChanged(this._fileInput.files);
|
|
9966
|
+
});
|
|
9892
9967
|
}
|
|
9893
9968
|
removeFileSelect() {
|
|
9894
9969
|
if (this._unlisten) {
|
|
@@ -9900,26 +9975,24 @@ class ElderFileSelectDirective {
|
|
|
9900
9975
|
this._fileInput = null;
|
|
9901
9976
|
}
|
|
9902
9977
|
}
|
|
9903
|
-
|
|
9904
|
-
|
|
9978
|
+
openFileSelectDialog() {
|
|
9979
|
+
this._fileInput.click();
|
|
9980
|
+
}
|
|
9981
|
+
/***************************************************************************
|
|
9982
|
+
* *
|
|
9983
|
+
* Private methods *
|
|
9984
|
+
* *
|
|
9985
|
+
**************************************************************************/
|
|
9986
|
+
fileInputChanged(fileList) {
|
|
9905
9987
|
const files = this.toFileEntries(fileList);
|
|
9906
9988
|
this.logger.debug('fileInputChanged, files:', files);
|
|
9907
|
-
this.emitFileList(files);
|
|
9908
9989
|
this.clearFileList();
|
|
9990
|
+
this._filesSelected.next(files);
|
|
9909
9991
|
}
|
|
9910
9992
|
clearFileList() {
|
|
9911
9993
|
// not nice but works
|
|
9912
9994
|
this._fileInput.value = null;
|
|
9913
9995
|
}
|
|
9914
|
-
emitFileList(files) {
|
|
9915
|
-
if (files.length > 0) {
|
|
9916
|
-
this.elderFileSelectChange.next(files);
|
|
9917
|
-
this.elderSingleFileSelectChange.emit(files[0].file);
|
|
9918
|
-
}
|
|
9919
|
-
else {
|
|
9920
|
-
this.logger.warn('User did not select any File or the Folder was empty.');
|
|
9921
|
-
}
|
|
9922
|
-
}
|
|
9923
9996
|
toFileEntries(fileList) {
|
|
9924
9997
|
const files = [];
|
|
9925
9998
|
for (const key in fileList) {
|
|
@@ -9929,7 +10002,174 @@ class ElderFileSelectDirective {
|
|
|
9929
10002
|
}
|
|
9930
10003
|
return files;
|
|
9931
10004
|
}
|
|
9932
|
-
|
|
10005
|
+
}
|
|
10006
|
+
|
|
10007
|
+
class FileListingSystemHandle {
|
|
10008
|
+
/***************************************************************************
|
|
10009
|
+
* *
|
|
10010
|
+
* Public methods *
|
|
10011
|
+
* *
|
|
10012
|
+
**************************************************************************/
|
|
10013
|
+
/**
|
|
10014
|
+
* Creates a File Entry Array Observable by resolving its FileSystemHandle.
|
|
10015
|
+
* @returns An `Observable<FileEntry[]>` with the FileSystemFileHandle included
|
|
10016
|
+
*/
|
|
10017
|
+
static listFiles(handle, rootDirectory) {
|
|
10018
|
+
switch (handle.kind) {
|
|
10019
|
+
case 'file':
|
|
10020
|
+
return FileEntry.ofFileHandle(handle, rootDirectory).pipe(toArray());
|
|
10021
|
+
case 'directory':
|
|
10022
|
+
return FileListingSystemHandle.listFilesRecursive(handle, rootDirectory);
|
|
10023
|
+
}
|
|
10024
|
+
}
|
|
10025
|
+
/***************************************************************************
|
|
10026
|
+
* *
|
|
10027
|
+
* Private methods *
|
|
10028
|
+
* *
|
|
10029
|
+
**************************************************************************/
|
|
10030
|
+
static listFilesRecursive(dirHandle, rootDirectory) {
|
|
10031
|
+
return FileSystemApi.getHandlesFromDirectory(dirHandle).pipe(map(handles => FileListingSystemHandle.listFilesOfEach(handles, rootDirectory ? rootDirectory : dirHandle)), switchMap(fileEntriesArray$ => zip(fileEntriesArray$)), map(fileEntriesArray => fileEntriesArray.flat()));
|
|
10032
|
+
}
|
|
10033
|
+
static listFilesOfEach(handles, rootDirectory) {
|
|
10034
|
+
return handles.map(fileOrDirHandle => FileListingSystemHandle.listFiles(fileOrDirHandle, rootDirectory));
|
|
10035
|
+
}
|
|
10036
|
+
}
|
|
10037
|
+
|
|
10038
|
+
class ElderFileSelectDirective {
|
|
10039
|
+
/***************************************************************************
|
|
10040
|
+
* *
|
|
10041
|
+
* Constructor *
|
|
10042
|
+
* *
|
|
10043
|
+
**************************************************************************/
|
|
10044
|
+
constructor(renderer, el, destroyRef) {
|
|
10045
|
+
this.renderer = renderer;
|
|
10046
|
+
this.el = el;
|
|
10047
|
+
this.destroyRef = destroyRef;
|
|
10048
|
+
/***************************************************************************
|
|
10049
|
+
* *
|
|
10050
|
+
* Fields *
|
|
10051
|
+
* *
|
|
10052
|
+
**************************************************************************/
|
|
10053
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
10054
|
+
this.elderFileSelectChange = new EventEmitter();
|
|
10055
|
+
this.elderSingleFileSelectChange = new EventEmitter();
|
|
10056
|
+
this._useDirectoryPicker = false;
|
|
10057
|
+
this._legacyInput = new ElderFileSelectInput(this.renderer, this.el);
|
|
10058
|
+
}
|
|
10059
|
+
/***************************************************************************
|
|
10060
|
+
* *
|
|
10061
|
+
* Life Cycle *
|
|
10062
|
+
* *
|
|
10063
|
+
**************************************************************************/
|
|
10064
|
+
ngOnInit() {
|
|
10065
|
+
if (!FileSystemApi.isFileSystemSupported() || !FileSystemApi.isDirectoryPickerSupported()) {
|
|
10066
|
+
this.logger.warn('showOpenFilePicker or showDirectoryPicker is not supported for this browser, falling back to legacy file picker');
|
|
10067
|
+
this._legacyInput.createFileSelect();
|
|
10068
|
+
this._legacyInput.filesSelected.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
|
|
10069
|
+
next: multiFileChange => {
|
|
10070
|
+
this.elderFileSelectChange.next(multiFileChange);
|
|
10071
|
+
const file = multiFileChange[0]?.file;
|
|
10072
|
+
if (file) {
|
|
10073
|
+
this.elderSingleFileSelectChange.next(file);
|
|
10074
|
+
}
|
|
10075
|
+
}
|
|
10076
|
+
});
|
|
10077
|
+
}
|
|
10078
|
+
}
|
|
10079
|
+
ngOnDestroy() {
|
|
10080
|
+
this._legacyInput.removeFileSelect();
|
|
10081
|
+
}
|
|
10082
|
+
/***************************************************************************
|
|
10083
|
+
* *
|
|
10084
|
+
* Properties *
|
|
10085
|
+
* *
|
|
10086
|
+
**************************************************************************/
|
|
10087
|
+
set elderFileSelect(value) {
|
|
10088
|
+
this._filePickerOptions = {
|
|
10089
|
+
excludeAcceptAllOptions: true,
|
|
10090
|
+
id: this._filePickerOptions?.id,
|
|
10091
|
+
multiple: this._filePickerOptions?.multiple,
|
|
10092
|
+
startIn: this._filePickerOptions?.startIn,
|
|
10093
|
+
types: [this.buildTypeOption(value)]
|
|
10094
|
+
};
|
|
10095
|
+
this._legacyInput.elderFileSelect = value;
|
|
10096
|
+
}
|
|
10097
|
+
buildTypeOption(value) {
|
|
10098
|
+
if (this.isFileExtension(value)) {
|
|
10099
|
+
return {
|
|
10100
|
+
accept: {
|
|
10101
|
+
'*/*': value.trim()
|
|
10102
|
+
.replace(/\s+/g, '')
|
|
10103
|
+
.split(',')
|
|
10104
|
+
}
|
|
10105
|
+
};
|
|
10106
|
+
}
|
|
10107
|
+
else if (this.isMimeType(value)) {
|
|
10108
|
+
return {
|
|
10109
|
+
accept: { [value]: [] }
|
|
10110
|
+
};
|
|
10111
|
+
}
|
|
10112
|
+
return null;
|
|
10113
|
+
}
|
|
10114
|
+
isFileExtension(input) {
|
|
10115
|
+
const regex = new RegExp(/^(\.\w+)(, ?\.\w+)*$/);
|
|
10116
|
+
return regex.test(input);
|
|
10117
|
+
}
|
|
10118
|
+
isMimeType(input) {
|
|
10119
|
+
const regex = new RegExp(/^.+\/.+$/);
|
|
10120
|
+
return regex.test(input);
|
|
10121
|
+
}
|
|
10122
|
+
set elderFileSelectMultiple(value) {
|
|
10123
|
+
this._filePickerOptions = {
|
|
10124
|
+
excludeAcceptAllOptions: this._filePickerOptions?.excludeAcceptAllOptions,
|
|
10125
|
+
id: this._filePickerOptions?.id,
|
|
10126
|
+
multiple: coerceBooleanProperty(value),
|
|
10127
|
+
startIn: this._filePickerOptions?.startIn,
|
|
10128
|
+
types: this._filePickerOptions?.types
|
|
10129
|
+
};
|
|
10130
|
+
this._legacyInput.elderFileSelectMultiple = value;
|
|
10131
|
+
}
|
|
10132
|
+
/**
|
|
10133
|
+
* Allow the user to select a directory. All files that are recursively contained are selected.
|
|
10134
|
+
* However, the user will no longer be able to select individual files if this is enabled.
|
|
10135
|
+
* @param value
|
|
10136
|
+
*/
|
|
10137
|
+
set elderFileSelectDirectory(value) {
|
|
10138
|
+
this._useDirectoryPicker = coerceBooleanProperty(value);
|
|
10139
|
+
this._legacyInput.elderFileSelectDirectory = value;
|
|
10140
|
+
}
|
|
10141
|
+
/***************************************************************************
|
|
10142
|
+
* *
|
|
10143
|
+
* Public API *
|
|
10144
|
+
* *
|
|
10145
|
+
**************************************************************************/
|
|
10146
|
+
onClick(event) {
|
|
10147
|
+
if (!this._useDirectoryPicker && FileSystemApi.isFileSystemSupported()) {
|
|
10148
|
+
this.openFilePicker(this._filePickerOptions).subscribe({
|
|
10149
|
+
next: fileList => this.elderFileSelectChange.next(fileList)
|
|
10150
|
+
});
|
|
10151
|
+
}
|
|
10152
|
+
else if (this._useDirectoryPicker && FileSystemApi.isDirectoryPickerSupported()) {
|
|
10153
|
+
this.openDirectoryPicker(this._directoryPickerOptions).subscribe({
|
|
10154
|
+
next: fileList => this.elderFileSelectChange.next(fileList)
|
|
10155
|
+
});
|
|
10156
|
+
}
|
|
10157
|
+
else {
|
|
10158
|
+
this._legacyInput.openFileSelectDialog();
|
|
10159
|
+
}
|
|
10160
|
+
}
|
|
10161
|
+
/***************************************************************************
|
|
10162
|
+
* *
|
|
10163
|
+
* Private methods *
|
|
10164
|
+
* *
|
|
10165
|
+
**************************************************************************/
|
|
10166
|
+
openFilePicker(pickerOpts) {
|
|
10167
|
+
return FileSystemApi.openFilePicker(pickerOpts).pipe(switchMap(files => combineLatest(files.map(file => FileEntry.ofFileHandle(file)))));
|
|
10168
|
+
}
|
|
10169
|
+
openDirectoryPicker(pickerOpts) {
|
|
10170
|
+
return FileSystemApi.openDirectoryPicker(pickerOpts).pipe(switchMap(dir => FileListingSystemHandle.listFiles(dir)));
|
|
10171
|
+
}
|
|
10172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderFileSelectDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9933
10173
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: ElderFileSelectDirective, isStandalone: true, selector: "[elderFileSelect]", inputs: { elderFileSelect: "elderFileSelect", elderFileSelectMultiple: "elderFileSelectMultiple", elderFileSelectDirectory: "elderFileSelectDirectory" }, outputs: { elderFileSelectChange: "elderFileSelectChange", elderSingleFileSelectChange: "elderSingleFileSelectChange" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
9934
10174
|
}
|
|
9935
10175
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ElderFileSelectDirective, decorators: [{
|
|
@@ -9938,7 +10178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
9938
10178
|
selector: '[elderFileSelect]',
|
|
9939
10179
|
standalone: true
|
|
9940
10180
|
}]
|
|
9941
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.
|
|
10181
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.DestroyRef }], propDecorators: { elderFileSelectChange: [{
|
|
9942
10182
|
type: Output
|
|
9943
10183
|
}], elderSingleFileSelectChange: [{
|
|
9944
10184
|
type: Output
|
|
@@ -10058,70 +10298,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
10058
10298
|
type: Input
|
|
10059
10299
|
}] } });
|
|
10060
10300
|
|
|
10061
|
-
class
|
|
10301
|
+
class FileListingWebkit {
|
|
10302
|
+
/***************************************************************************
|
|
10303
|
+
* *
|
|
10304
|
+
* Constructor *
|
|
10305
|
+
* *
|
|
10306
|
+
**************************************************************************/
|
|
10062
10307
|
constructor() {
|
|
10063
|
-
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
10064
10308
|
}
|
|
10065
|
-
static { this.INSTANCE = new FileListingRx(); }
|
|
10066
10309
|
/***************************************************************************
|
|
10067
10310
|
* *
|
|
10068
|
-
* Public
|
|
10311
|
+
* Public methods *
|
|
10069
10312
|
* *
|
|
10070
10313
|
**************************************************************************/
|
|
10071
|
-
|
|
10072
|
-
|
|
10073
|
-
for (let i = 0; i < transferItemList.length; i++) {
|
|
10074
|
-
const transferItem = transferItemList[i];
|
|
10075
|
-
const entry = transferItem.webkitGetAsEntry();
|
|
10076
|
-
if (entry) {
|
|
10077
|
-
obs.push(this.listFilesRecursive(entry));
|
|
10078
|
-
}
|
|
10079
|
-
else {
|
|
10080
|
-
const itemAsFile = transferItem.getAsFile();
|
|
10081
|
-
if (itemAsFile) {
|
|
10082
|
-
obs.push(of([FileEntry.ofFile(itemAsFile)]));
|
|
10083
|
-
}
|
|
10084
|
-
else {
|
|
10085
|
-
if (transferItem.kind == 'file') {
|
|
10086
|
-
obs.push(of([
|
|
10087
|
-
FileEntry.ofFile(new File([], '', {
|
|
10088
|
-
type: transferItem.type
|
|
10089
|
-
}))
|
|
10090
|
-
]));
|
|
10091
|
-
}
|
|
10092
|
-
else {
|
|
10093
|
-
this.log.warn('Could not handle DataTransferItem!', transferItem);
|
|
10094
|
-
}
|
|
10095
|
-
}
|
|
10096
|
-
}
|
|
10097
|
-
}
|
|
10098
|
-
return zip(obs).pipe(map(files => files.flat()));
|
|
10099
|
-
}
|
|
10100
|
-
listFilesRecursive(entry) {
|
|
10101
|
-
return this.listFilesRecursiveAsync(entry, null);
|
|
10314
|
+
static listFilesRecursive(entry) {
|
|
10315
|
+
return FileListingWebkit.listFilesRecursiveAsync(entry, null);
|
|
10102
10316
|
}
|
|
10103
10317
|
/***************************************************************************
|
|
10104
10318
|
* *
|
|
10105
10319
|
* Private methods *
|
|
10106
10320
|
* *
|
|
10107
10321
|
**************************************************************************/
|
|
10108
|
-
listFilesRecursiveAsync(entry, parent) {
|
|
10322
|
+
static listFilesRecursiveAsync(entry, parent) {
|
|
10109
10323
|
if (entry.isDirectory) {
|
|
10110
10324
|
const directoryEntry = entry;
|
|
10111
|
-
return
|
|
10325
|
+
return FileListingWebkit.readEntries(directoryEntry).pipe(mergeMap$1(entries => zip(entries.map(entry => this.listFilesRecursiveAsync(entry, directoryEntry)))), map(files => files.flat()));
|
|
10112
10326
|
}
|
|
10113
10327
|
else if (entry.isFile) {
|
|
10114
10328
|
const fileEntry = entry;
|
|
10115
|
-
return
|
|
10329
|
+
return FileListingWebkit.observableFile(fileEntry, parent).pipe(map(file => [file]));
|
|
10116
10330
|
}
|
|
10117
10331
|
else {
|
|
10118
10332
|
return EMPTY;
|
|
10119
10333
|
}
|
|
10120
10334
|
}
|
|
10121
|
-
observableFile(fileEntry, parent) {
|
|
10335
|
+
static observableFile(fileEntry, parent) {
|
|
10122
10336
|
return new Observable(observer => {
|
|
10123
10337
|
fileEntry.file(file => {
|
|
10124
|
-
observer.next(FileEntry.relativeFile(file,
|
|
10338
|
+
observer.next(FileEntry.relativeFile(file, FileListingWebkit.trimStaringSlash(parent?.fullPath)));
|
|
10125
10339
|
observer.complete();
|
|
10126
10340
|
}, err => {
|
|
10127
10341
|
observer.error(err);
|
|
@@ -10129,7 +10343,7 @@ class FileListingRx {
|
|
|
10129
10343
|
});
|
|
10130
10344
|
});
|
|
10131
10345
|
}
|
|
10132
|
-
trimStaringSlash(path) {
|
|
10346
|
+
static trimStaringSlash(path) {
|
|
10133
10347
|
if (path) {
|
|
10134
10348
|
if (path.startsWith('/')) {
|
|
10135
10349
|
path = path.substring(1);
|
|
@@ -10137,12 +10351,12 @@ class FileListingRx {
|
|
|
10137
10351
|
}
|
|
10138
10352
|
return path;
|
|
10139
10353
|
}
|
|
10140
|
-
readEntries(directoryEntry) {
|
|
10354
|
+
static readEntries(directoryEntry) {
|
|
10141
10355
|
return new Observable(observer => {
|
|
10142
|
-
|
|
10356
|
+
FileListingWebkit.consumeReaderToCompletion(observer, directoryEntry.createReader());
|
|
10143
10357
|
});
|
|
10144
10358
|
}
|
|
10145
|
-
consumeReaderToCompletion(observer, directoryReader) {
|
|
10359
|
+
static consumeReaderToCompletion(observer, directoryReader) {
|
|
10146
10360
|
directoryReader.readEntries(entries => {
|
|
10147
10361
|
if (entries && entries.length > 0) {
|
|
10148
10362
|
observer.next(entries);
|
|
@@ -10158,6 +10372,60 @@ class FileListingRx {
|
|
|
10158
10372
|
}
|
|
10159
10373
|
}
|
|
10160
10374
|
|
|
10375
|
+
class FileListingRx {
|
|
10376
|
+
constructor() {
|
|
10377
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
10378
|
+
}
|
|
10379
|
+
static { this.INSTANCE = new FileListingRx(); }
|
|
10380
|
+
/***************************************************************************
|
|
10381
|
+
* *
|
|
10382
|
+
* Public API *
|
|
10383
|
+
* *
|
|
10384
|
+
**************************************************************************/
|
|
10385
|
+
toFileList(transferItemList) {
|
|
10386
|
+
const obs = [];
|
|
10387
|
+
for (let i = 0; i < transferItemList.length; i++) {
|
|
10388
|
+
const transferItem = transferItemList[i];
|
|
10389
|
+
obs.push(this.resolveTransferItem(transferItem));
|
|
10390
|
+
}
|
|
10391
|
+
return zip(obs).pipe(map(files => files.flat()));
|
|
10392
|
+
}
|
|
10393
|
+
/***************************************************************************
|
|
10394
|
+
* *
|
|
10395
|
+
* Private methods *
|
|
10396
|
+
* *
|
|
10397
|
+
**************************************************************************/
|
|
10398
|
+
resolveTransferItem(transferItem) {
|
|
10399
|
+
if (FileSystemApi.isGetAsFileSystemHandleSupported(transferItem)) {
|
|
10400
|
+
return FileSystemApi.getAsFileSystemHandle(transferItem).pipe(switchMap(handle => FileListingSystemHandle.listFiles(handle)));
|
|
10401
|
+
}
|
|
10402
|
+
const entry = transferItem.webkitGetAsEntry();
|
|
10403
|
+
if (entry) {
|
|
10404
|
+
return FileListingWebkit.listFilesRecursive(entry);
|
|
10405
|
+
}
|
|
10406
|
+
return this.legacyFileListing(transferItem);
|
|
10407
|
+
}
|
|
10408
|
+
legacyFileListing(transferItem) {
|
|
10409
|
+
const itemAsFile = transferItem.getAsFile();
|
|
10410
|
+
if (itemAsFile) {
|
|
10411
|
+
return of([FileEntry.ofFile(itemAsFile)]);
|
|
10412
|
+
}
|
|
10413
|
+
else {
|
|
10414
|
+
if (transferItem.kind == 'file') {
|
|
10415
|
+
return of([
|
|
10416
|
+
FileEntry.ofFile(new File([], '', {
|
|
10417
|
+
type: transferItem.type
|
|
10418
|
+
}))
|
|
10419
|
+
]);
|
|
10420
|
+
}
|
|
10421
|
+
else {
|
|
10422
|
+
this.log.warn('Could not handle DataTransferItem!', transferItem);
|
|
10423
|
+
return of([]);
|
|
10424
|
+
}
|
|
10425
|
+
}
|
|
10426
|
+
}
|
|
10427
|
+
}
|
|
10428
|
+
|
|
10161
10429
|
class ElderFileDropZoneDirective {
|
|
10162
10430
|
/***************************************************************************
|
|
10163
10431
|
* *
|
|
@@ -16645,7 +16913,7 @@ class ElderTableActivationDirective {
|
|
|
16645
16913
|
ngAfterViewInit() {
|
|
16646
16914
|
const rows$ = this.elderTable.rows$;
|
|
16647
16915
|
const data$ = this.elderTable.dataContext$.pipe(switchMap$1(dc => dc.data), tap(data => this._data = data));
|
|
16648
|
-
|
|
16916
|
+
combineLatest([rows$, data$]).pipe(takeUntil(this.destroy$)).subscribe(([rows, data]) => {
|
|
16649
16917
|
this.rows$.next(this.rowDataUpdated(rows, data));
|
|
16650
16918
|
this.handleAutoActivations();
|
|
16651
16919
|
});
|
|
@@ -30068,6 +30336,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
30068
30336
|
}]
|
|
30069
30337
|
}] });
|
|
30070
30338
|
|
|
30339
|
+
class SimpleSearchInput {
|
|
30340
|
+
/***************************************************************************
|
|
30341
|
+
* *
|
|
30342
|
+
* Constructor *
|
|
30343
|
+
* *
|
|
30344
|
+
**************************************************************************/
|
|
30345
|
+
constructor(queryKey, _readonly) {
|
|
30346
|
+
this.queryKey = queryKey;
|
|
30347
|
+
this._readonly = _readonly;
|
|
30348
|
+
this._resetRequest = new Subject();
|
|
30349
|
+
this._state = new BehaviorSubject(SearchInputState.of(queryKey, [new Filter(queryKey, null)], true, false));
|
|
30350
|
+
this._inputConverter = DefaultInputFilterConverter.of(() => queryKey);
|
|
30351
|
+
}
|
|
30352
|
+
/***************************************************************************
|
|
30353
|
+
* *
|
|
30354
|
+
* Public API *
|
|
30355
|
+
* *
|
|
30356
|
+
**************************************************************************/
|
|
30357
|
+
applyFilters(filters) {
|
|
30358
|
+
this.value = this._inputConverter.convertToValue(filters);
|
|
30359
|
+
}
|
|
30360
|
+
/***************************************************************************
|
|
30361
|
+
* *
|
|
30362
|
+
* Properties *
|
|
30363
|
+
* *
|
|
30364
|
+
**************************************************************************/
|
|
30365
|
+
set value(value) {
|
|
30366
|
+
this._state.next(this.stateSnapshot.withFilter(new Filter(this.queryKey, value ? value : null)));
|
|
30367
|
+
}
|
|
30368
|
+
get state$() {
|
|
30369
|
+
return this._state.asObservable();
|
|
30370
|
+
}
|
|
30371
|
+
get stateSnapshot() {
|
|
30372
|
+
return this._state.getValue();
|
|
30373
|
+
}
|
|
30374
|
+
get resetRequest() {
|
|
30375
|
+
return this._resetRequest;
|
|
30376
|
+
}
|
|
30377
|
+
get readonly() {
|
|
30378
|
+
return this._readonly;
|
|
30379
|
+
}
|
|
30380
|
+
reset() {
|
|
30381
|
+
this._resetRequest.next();
|
|
30382
|
+
}
|
|
30383
|
+
}
|
|
30384
|
+
|
|
30071
30385
|
/**
|
|
30072
30386
|
* @deprecated Please switch to the RestClient*s (RestClientList, RestClientPaged etc)
|
|
30073
30387
|
*/
|
|
@@ -33384,5 +33698,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
33384
33698
|
* Generated bundle index. Do not edit.
|
|
33385
33699
|
*/
|
|
33386
33700
|
|
|
33387
|
-
export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsIncludeExcludeDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplateComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeSelectionModel, IncludeExcludeState, IncludeExcludeValue, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
33701
|
+
export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsIncludeExcludeDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplateComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeSelectionModel, IncludeExcludeState, IncludeExcludeValue, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchInputState, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
33388
33702
|
//# sourceMappingURL=elderbyte-ngx-starter.mjs.map
|