@yuuvis/client-core 3.2.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  import { MissingTranslationHandler, MissingTranslationHandlerParams, TranslateLoader, TranslateService } from '@ngx-translate/core';
2
2
  export { TranslateDirective, TranslateLoader, TranslateModule, TranslatePipe, TranslateService, _ as marker } from '@ngx-translate/core';
3
3
  import * as i0 from '@angular/core';
4
- import { Type, InjectionToken, Signal, DoCheck, Provider, PipeTransform, EnvironmentProviders } from '@angular/core';
4
+ import { Type, Signal, InjectionToken, DoCheck, Provider, PipeTransform, EnvironmentProviders } from '@angular/core';
5
5
  import { Router, CanDeactivate } from '@angular/router';
6
- import { HttpRequest, HttpHandlerFn, HttpEvent, HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
7
6
  import * as rxjs from 'rxjs';
8
7
  import { Observable, Subscription } from 'rxjs';
8
+ import { HttpRequest, HttpHandlerFn, HttpEvent, HttpHeaders, HttpParams, HttpClient } from '@angular/common/http';
9
9
  import * as _yuuvis_client_core from '@yuuvis/client-core';
10
10
  import { DeviceInfo } from 'ngx-device-detector';
11
11
  import { FormControl, FormGroup } from '@angular/forms';
@@ -110,6 +110,9 @@ interface SearchQuery {
110
110
  filters?: SearchFilter[];
111
111
  tableFilters?: TableFilter[];
112
112
  sort?: SortOption[];
113
+ options?: {
114
+ includePermissions?: boolean;
115
+ };
113
116
  includePermissions?: boolean;
114
117
  }
115
118
  interface SortOption {
@@ -488,6 +491,109 @@ interface UserSettings {
488
491
  clientAppSettings?: Record<string, any>;
489
492
  }
490
493
 
494
+ declare enum AuditAction {
495
+ CREATE_METADATA = "100",
496
+ CREATE_METADATA_WITH_CONTENT = "101",
497
+ CREATE_TAG = "110",
498
+ DELETE = "200",
499
+ DELETE_CONTENT = "201",
500
+ DELETE_MARKED = "202",
501
+ DELETE_TAG = "210",
502
+ UPDATE_METADATA = "300",
503
+ UPDATE_CONTENT = "301",
504
+ UPDATE_METADATA_WITH_CONTENT = "302",
505
+ UPDATE_MOVE_CONTENT = "303",
506
+ UPDATE_TAG = "310",
507
+ OBJECT_RESTORED_FROM_VERSION = "325",
508
+ GET_CONTENT = "400",
509
+ GET_METADATA = "401",
510
+ GET_RENDITION_TEXT = "402",
511
+ GET_RENDITION_PDF = "403",
512
+ GET_RENDITION_THUMBNAIL = "404"
513
+ }
514
+
515
+ /**
516
+ * Is a part of `AuditQueryResult` interface
517
+ */
518
+ interface AuditEntry {
519
+ action: number;
520
+ actionGroup: number;
521
+ detail: string;
522
+ subaction?: number;
523
+ creationDate: Date;
524
+ version: number;
525
+ createdBy: {
526
+ id: string;
527
+ title: string;
528
+ };
529
+ more?: string;
530
+ }
531
+ /**
532
+ * Interface for a result object of a former audits query
533
+ */
534
+ interface AuditQueryResult {
535
+ /**
536
+ * the original query, needed for later on paging requests
537
+ */
538
+ query: SearchQuery;
539
+ items: AuditEntry[];
540
+ hasMoreItems: boolean;
541
+ /**
542
+ * the page of the current result (in case of multi-page results, otherwise 1)
543
+ */
544
+ page: number;
545
+ }
546
+ interface AuditQueryOptions {
547
+ /**
548
+ * List of actions (codes) to restricts the audits to
549
+ */
550
+ actions?: string[];
551
+ /**
552
+ * Actions that should explicitly NOT be fetched
553
+ */
554
+ skipActions?: number[];
555
+ /**
556
+ * Whether or not to query all audit entries, without the user
557
+ * or admin filter conditions
558
+ */
559
+ allActions?: boolean;
560
+ }
561
+
562
+ /**
563
+ * Service providing access to the systems audit entries. Audits can be seen as the history of
564
+ * an object. Actions perormed on an object (eg. read, write, delete, ...) will be recorded during
565
+ * the objects lifecycle. Audits are provided based on a users permissions. Beside the audit entries
566
+ * visible to regular users there are more technical ones that will only be shown to users that
567
+ * have administrative role.
568
+ */
569
+ declare class AuditService {
570
+ #private;
571
+ private DEFAULT_RES_SIZE;
572
+ private userAuditActions;
573
+ private adminAuditActions;
574
+ /**
575
+ * Get audit entries of a dms object
576
+ * @param id The id of the object to get the audit entries for
577
+ * @param options Options
578
+ */
579
+ getAuditEntries(id: string, options?: AuditQueryOptions): Observable<AuditQueryResult>;
580
+ /**
581
+ * Get an array of action codes that are provided by the service. Based on
582
+ * whether or not the user has admin permissions you'll get a different
583
+ * set of actions.
584
+ * @param skipActions codes of actions that should not be fetched
585
+ */
586
+ getAuditActions(allActions: boolean, skipActions?: number[]): number[];
587
+ /**
588
+ * Get a certain page for a former audits query.
589
+ * @param auditsResult The result object of a former audits query
590
+ * @param page The page to load
591
+ */
592
+ getPage(auditsResult: AuditQueryResult, page: number): Observable<AuditQueryResult>;
593
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuditService, never>;
594
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuditService>;
595
+ }
596
+
491
597
  /**
492
598
  * Prevent app from running into 401 issues related to gateway timeouts.
493
599
  */
@@ -625,6 +731,35 @@ interface AuthData {
625
731
  language: string;
626
732
  }
627
733
 
734
+ declare enum ApiBase {
735
+ core = "api",
736
+ apiWeb = "api-web/api",
737
+ predict = "predict-api/api",
738
+ custom = "custom",
739
+ none = ""
740
+ }
741
+
742
+ /**
743
+ * HttpOptions for http request
744
+ * @param observe: 'body' | 'events' | 'response'
745
+ * @param responseType: 'arraybuffer' | 'blob' | 'json' | 'text'
746
+ */
747
+ interface HttpOptions {
748
+ headers?: HttpHeaders | {
749
+ [header: string]: string | string[];
750
+ };
751
+ observe?: any;
752
+ params?: HttpParams | {
753
+ [param: string]: string | string[];
754
+ };
755
+ reportProgress?: boolean;
756
+ responseType?: any;
757
+ withCredentials?: boolean;
758
+ }
759
+ interface HttpDeleteOptions extends HttpOptions {
760
+ body?: any;
761
+ }
762
+
628
763
  /**
629
764
  * Load and provide configuration for hole apllication while application is inizialized.
630
765
  */
@@ -661,192 +796,6 @@ declare class ConfigService {
661
796
  static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
662
797
  }
663
798
 
664
- /**
665
- * @ignore
666
- */
667
- declare const CUSTOM_CONFIG: InjectionToken<CoreConfig>;
668
- declare const CORE_CONFIG: InjectionToken<CoreConfig>;
669
-
670
- /**
671
- * Service to monitor the online/offline state of the application.
672
- * It listens to the browser's online and offline events and provides an observable
673
- * to track the current connection state.
674
- *
675
- * An observable `connection$` is provided which emits the current connection state
676
- * whenever the online or offline state changes. The initial state is determined by
677
- * the `window.navigator.onLine` property.
678
- */
679
- declare class ConnectionService {
680
- private currentState;
681
- private connectionStateSource;
682
- connection$: Observable<ConnectionState>;
683
- /**
684
- * @ignore
685
- */
686
- constructor();
687
- static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionService, never>;
688
- static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionService>;
689
- }
690
- /**
691
- * Check a connection state of a client
692
- */
693
- interface ConnectionState {
694
- /**
695
- * whether or not the application is online.
696
- */
697
- isOnline: boolean;
698
- }
699
-
700
- /**
701
- * Http Offline interceptor trys to serving offline content for method/url
702
- */
703
- declare function OfflineInterceptorFnc(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
704
-
705
- /**
706
- * Providing functions,that are are injected at application startup and executed during app initialization.
707
- */
708
- declare const init_moduleFnc: () => rxjs.Observable<boolean | _yuuvis_client_core.YuvUser | YuvConfig[]>;
709
-
710
- /**
711
- * Handles missing translations
712
- * @ignore
713
- */
714
- declare class EoxMissingTranslationHandler implements MissingTranslationHandler {
715
- handle(params: MissingTranslationHandlerParams): string;
716
- static ɵfac: i0.ɵɵFactoryDeclaration<EoxMissingTranslationHandler, never>;
717
- static ɵprov: i0.ɵɵInjectableDeclaration<EoxMissingTranslationHandler>;
718
- }
719
-
720
- /**
721
- * Loader that fetches translations based on the configured locations
722
- * @ignore
723
- */
724
- declare class EoxTranslateJsonLoader implements TranslateLoader {
725
- http: HttpClient;
726
- config: CoreConfig;
727
- constructor(http: HttpClient, config: CoreConfig);
728
- /**
729
- *
730
- * @param string lang
731
- * @returns Observable<Object>
732
- */
733
- getTranslation(lang: string): Observable<Record<string, string>>;
734
- private loadTranslationFile;
735
- static ɵfac: i0.ɵɵFactoryDeclaration<EoxTranslateJsonLoader, never>;
736
- static ɵprov: i0.ɵɵInjectableDeclaration<EoxTranslateJsonLoader>;
737
- }
738
-
739
- /**
740
- * Is a part of `AuditQueryResult` interface
741
- */
742
- interface AuditEntry {
743
- action: number;
744
- actionGroup: number;
745
- detail: string;
746
- subaction?: number;
747
- creationDate: Date;
748
- version: number;
749
- createdBy: {
750
- id: string;
751
- title: string;
752
- };
753
- more?: string;
754
- }
755
- /**
756
- * Interface for a result object of a former audits query
757
- */
758
- interface AuditQueryResult {
759
- /**
760
- * the original query, needed for later on paging requests
761
- */
762
- query: SearchQuery;
763
- items: AuditEntry[];
764
- hasMoreItems: boolean;
765
- /**
766
- * the page of the current result (in case of multi-page results, otherwise 1)
767
- */
768
- page: number;
769
- }
770
- interface AuditQueryOptions {
771
- /**
772
- * List of actions (codes) to restricts the audits to
773
- */
774
- actions?: string[];
775
- /**
776
- * Actions that should explicitly NOT be fetched
777
- */
778
- skipActions?: number[];
779
- /**
780
- * Whether or not to query all audit entries, without the user
781
- * or admin filter conditions
782
- */
783
- allActions?: boolean;
784
- }
785
-
786
- /**
787
- * Service providing access to the systems audit entries. Audits can be seen as the history of
788
- * an object. Actions perormed on an object (eg. read, write, delete, ...) will be recorded during
789
- * the objects lifecycle. Audits are provided based on a users permissions. Beside the audit entries
790
- * visible to regular users there are more technical ones that will only be shown to users that
791
- * have administrative role.
792
- */
793
- declare class AuditService {
794
- #private;
795
- private DEFAULT_RES_SIZE;
796
- private userAuditActions;
797
- private adminAuditActions;
798
- /**
799
- * Get audit entries of a dms object
800
- * @param id The id of the object to get the audit entries for
801
- * @param options Options
802
- */
803
- getAuditEntries(id: string, options?: AuditQueryOptions): Observable<AuditQueryResult>;
804
- /**
805
- * Get an array of action codes that are provided by the service. Based on
806
- * whether or not the user has admin permissions you'll get a different
807
- * set of actions.
808
- * @param skipActions codes of actions that should not be fetched
809
- */
810
- getAuditActions(allActions: boolean, skipActions?: number[]): number[];
811
- /**
812
- * Get a certain page for a former audits query.
813
- * @param auditsResult The result object of a former audits query
814
- * @param page The page to load
815
- */
816
- getPage(auditsResult: AuditQueryResult, page: number): Observable<AuditQueryResult>;
817
- static ɵfac: i0.ɵɵFactoryDeclaration<AuditService, never>;
818
- static ɵprov: i0.ɵɵInjectableDeclaration<AuditService>;
819
- }
820
-
821
- declare enum ApiBase {
822
- core = "api",
823
- apiWeb = "api-web/api",
824
- predict = "predict-api/api",
825
- custom = "custom",
826
- none = ""
827
- }
828
-
829
- /**
830
- * HttpOptions for http request
831
- * @param observe: 'body' | 'events' | 'response'
832
- * @param responseType: 'arraybuffer' | 'blob' | 'json' | 'text'
833
- */
834
- interface HttpOptions {
835
- headers?: HttpHeaders | {
836
- [header: string]: string | string[];
837
- };
838
- observe?: any;
839
- params?: HttpParams | {
840
- [param: string]: string | string[];
841
- };
842
- reportProgress?: boolean;
843
- responseType?: any;
844
- withCredentials?: boolean;
845
- }
846
- interface HttpDeleteOptions extends HttpOptions {
847
- body?: any;
848
- }
849
-
850
799
  /**
851
800
  * Service for HTTP communication with the yuuvis Momentum backend.
852
801
  *
@@ -1162,6 +1111,8 @@ interface CatalogApiResponse {
1162
1111
  }
1163
1112
  /** A catalog entry mapped from the raw OData response */
1164
1113
  interface CatalogEntry {
1114
+ /** internal state of the catalog entry based on validity dates */
1115
+ _state: 'active' | 'upcoming' | 'expired';
1165
1116
  /** UUID of the catalog entry (system:objectId) */
1166
1117
  objectId: string;
1167
1118
  /** The entry key / name (system:nativeId) */
@@ -1176,6 +1127,8 @@ interface CatalogEntry {
1176
1127
  validUntil?: string;
1177
1128
  /** Additional catalog-specific properties (app prefix stripped) */
1178
1129
  properties: Record<string, unknown>;
1130
+ /** All property values in raw form, for maximum flexibility (e.g. for custom properties with unknown keys) */
1131
+ raw: Record<string, unknown>;
1179
1132
  }
1180
1133
  /** Paginated result of catalog entries */
1181
1134
  interface CatalogResult {
@@ -1189,6 +1142,8 @@ interface Catalog {
1189
1142
  objectId: string;
1190
1143
  /** Technical name (system:nativeId), unique per tenant, immutable */
1191
1144
  name: string;
1145
+ /** All property values in raw form, for maximum flexibility (e.g. for custom properties with unknown keys) */
1146
+ raw: Record<string, unknown>;
1192
1147
  }
1193
1148
  /** Payload for creating a catalog */
1194
1149
  interface CatalogPayload {
@@ -1344,17 +1299,92 @@ declare class ClipboardService {
1344
1299
  paste$(bucket?: string): Observable<ClipboardData>;
1345
1300
  getClipboardData(bucket?: string): ClipboardData | undefined;
1346
1301
  /**
1347
- * Add objects to the clipboard
1348
- * @param bucket Buckets are ways to separate data from the global scope.
1349
- * If you have an app that would like to have a separate section in the clipboard
1350
- * you'll use a unique bucket to store your stuff. When observing chages to the
1351
- * clipboard you couls as well provide the bucket and you will only get
1302
+ * Add objects to the clipboard
1303
+ * @param bucket Buckets are ways to separate data from the global scope.
1304
+ * If you have an app that would like to have a separate section in the clipboard
1305
+ * you'll use a unique bucket to store your stuff. When observing chages to the
1306
+ * clipboard you couls as well provide the bucket and you will only get
1307
+ */
1308
+ addObjects(objects: DmsObject[], mode: ClipboardDataMode, bucket?: string): void;
1309
+ clear(bucket?: string): void;
1310
+ addToNavigatorClipBoard(data: string): Promise<void>;
1311
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClipboardService, never>;
1312
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClipboardService>;
1313
+ }
1314
+
1315
+ /**
1316
+ * @ignore
1317
+ */
1318
+ declare const CUSTOM_CONFIG: InjectionToken<CoreConfig>;
1319
+ declare const CORE_CONFIG: InjectionToken<CoreConfig>;
1320
+
1321
+ /**
1322
+ * Service to monitor the online/offline state of the application.
1323
+ * It listens to the browser's online and offline events and provides an observable
1324
+ * to track the current connection state.
1325
+ *
1326
+ * An observable `connection$` is provided which emits the current connection state
1327
+ * whenever the online or offline state changes. The initial state is determined by
1328
+ * the `window.navigator.onLine` property.
1329
+ */
1330
+ declare class ConnectionService {
1331
+ private currentState;
1332
+ private connectionStateSource;
1333
+ connection$: Observable<ConnectionState>;
1334
+ /**
1335
+ * @ignore
1336
+ */
1337
+ constructor();
1338
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionService, never>;
1339
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionService>;
1340
+ }
1341
+ /**
1342
+ * Check a connection state of a client
1343
+ */
1344
+ interface ConnectionState {
1345
+ /**
1346
+ * whether or not the application is online.
1347
+ */
1348
+ isOnline: boolean;
1349
+ }
1350
+
1351
+ /**
1352
+ * Http Offline interceptor trys to serving offline content for method/url
1353
+ */
1354
+ declare function OfflineInterceptorFnc(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
1355
+
1356
+ /**
1357
+ * Providing functions,that are are injected at application startup and executed during app initialization.
1358
+ */
1359
+ declare const init_moduleFnc: () => rxjs.Observable<boolean | _yuuvis_client_core.YuvUser | YuvConfig[]>;
1360
+
1361
+ /**
1362
+ * Handles missing translations
1363
+ * @ignore
1364
+ */
1365
+ declare class EoxMissingTranslationHandler implements MissingTranslationHandler {
1366
+ handle(params: MissingTranslationHandlerParams): string;
1367
+ static ɵfac: i0.ɵɵFactoryDeclaration<EoxMissingTranslationHandler, never>;
1368
+ static ɵprov: i0.ɵɵInjectableDeclaration<EoxMissingTranslationHandler>;
1369
+ }
1370
+
1371
+ /**
1372
+ * Loader that fetches translations based on the configured locations
1373
+ * @ignore
1374
+ */
1375
+ declare class EoxTranslateJsonLoader implements TranslateLoader {
1376
+ http: HttpClient;
1377
+ config: CoreConfig;
1378
+ constructor(http: HttpClient, config: CoreConfig);
1379
+ /**
1380
+ *
1381
+ * @param string lang
1382
+ * @returns Observable<Object>
1352
1383
  */
1353
- addObjects(objects: DmsObject[], mode: ClipboardDataMode, bucket?: string): void;
1354
- clear(bucket?: string): void;
1355
- addToNavigatorClipBoard(data: string): Promise<void>;
1356
- static ɵfac: i0.ɵɵFactoryDeclaration<ClipboardService, never>;
1357
- static ɵprov: i0.ɵɵInjectableDeclaration<ClipboardService>;
1384
+ getTranslation(lang: string): Observable<Record<string, string>>;
1385
+ private loadTranslationFile;
1386
+ static ɵfac: i0.ɵɵFactoryDeclaration<EoxTranslateJsonLoader, never>;
1387
+ static ɵprov: i0.ɵɵInjectableDeclaration<EoxTranslateJsonLoader>;
1358
1388
  }
1359
1389
 
1360
1390
  declare enum DeviceScreenOrientation {
@@ -1638,6 +1668,9 @@ declare class DmsService {
1638
1668
  static ɵprov: i0.ɵɵInjectableDeclaration<DmsService>;
1639
1669
  }
1640
1670
 
1671
+ declare const CUSTOM_EVENTS: InjectionToken<string[]>;
1672
+ declare const CUSTOM_EVENTS_TRUSTED_ORIGINS: InjectionToken<string[]>;
1673
+
1641
1674
  /**
1642
1675
  * Triggerable and Subscribable events
1643
1676
  * 1 & T creates an intersection of the literal type 1 and type T, this results in never since nothing can be both 1 and string except for any.
@@ -2146,51 +2179,6 @@ declare const AFO_STATE: {
2146
2179
  };
2147
2180
  declare const ColumnConfigSkipFields: string[];
2148
2181
 
2149
- type ObjectTypeFieldType = 'string' | 'integer' | 'decimal' | 'boolean' | 'table' | 'datetime';
2150
- type ObjectTypeFieldInternalType = ObjectTypeFieldType | InternalFieldType.STRING_REFERENCE | InternalFieldType.STRING_ORGANIZATION | InternalFieldType.STRING_ORGANIZATION_SET | InternalFieldType.STRING_CATALOG | InternalFieldType.STRING_CATALOG_I18N | InternalFieldType.BOOLEAN_SWITCH | InternalFieldType.STRING_DYNAMIC_CATALOG;
2151
- interface FormElementString extends ObjectTypeField {
2152
- propertyType: 'string';
2153
- defaultvalue?: string[] | string;
2154
- maxLength?: number;
2155
- minLength?: number;
2156
- rows?: number;
2157
- options?: string[] | string;
2158
- regex?: string;
2159
- }
2160
- interface FormElementInteger extends ObjectTypeField {
2161
- propertyType: 'integer';
2162
- defaultvalue?: number[] | number;
2163
- maxValue?: number;
2164
- minValue?: number;
2165
- precision?: number;
2166
- grouping?: boolean;
2167
- pattern?: string;
2168
- }
2169
- interface FormElementDecimal extends ObjectTypeField {
2170
- propertyType: 'decimal';
2171
- defaultvalue?: number[] | number;
2172
- maxValue?: number;
2173
- minValue?: number;
2174
- precision?: number;
2175
- scale?: number;
2176
- grouping?: boolean;
2177
- pattern?: string;
2178
- }
2179
- interface FormElementBoolean extends ObjectTypeField {
2180
- propertyType: 'boolean';
2181
- defaultvalue?: boolean;
2182
- tristate?: boolean;
2183
- }
2184
- interface FormElementDatetime extends ObjectTypeField {
2185
- propertyType: 'datetime';
2186
- defaultvalue?: string[] | string;
2187
- resolution?: 'date';
2188
- }
2189
- interface FormElementTable extends ObjectTypeField {
2190
- elements: ObjectTypeField[];
2191
- propertyType: 'table';
2192
- }
2193
-
2194
2182
  /**
2195
2183
  * Virtual object types.
2196
2184
  * They are a combination of an object type ID and/or a list of SOTs
@@ -2349,6 +2337,51 @@ interface ObjectTypePermissions {
2349
2337
  searchableObjectTypes: string[];
2350
2338
  }
2351
2339
 
2340
+ type ObjectTypeFieldType = 'string' | 'integer' | 'decimal' | 'boolean' | 'table' | 'datetime';
2341
+ type ObjectTypeFieldInternalType = ObjectTypeFieldType | InternalFieldType.STRING_REFERENCE | InternalFieldType.STRING_ORGANIZATION | InternalFieldType.STRING_ORGANIZATION_SET | InternalFieldType.STRING_CATALOG | InternalFieldType.STRING_CATALOG_I18N | InternalFieldType.BOOLEAN_SWITCH | InternalFieldType.STRING_DYNAMIC_CATALOG;
2342
+ interface FormElementString extends ObjectTypeField {
2343
+ propertyType: 'string';
2344
+ defaultvalue?: string[] | string;
2345
+ maxLength?: number;
2346
+ minLength?: number;
2347
+ rows?: number;
2348
+ options?: string[] | string;
2349
+ regex?: string;
2350
+ }
2351
+ interface FormElementInteger extends ObjectTypeField {
2352
+ propertyType: 'integer';
2353
+ defaultvalue?: number[] | number;
2354
+ maxValue?: number;
2355
+ minValue?: number;
2356
+ precision?: number;
2357
+ grouping?: boolean;
2358
+ pattern?: string;
2359
+ }
2360
+ interface FormElementDecimal extends ObjectTypeField {
2361
+ propertyType: 'decimal';
2362
+ defaultvalue?: number[] | number;
2363
+ maxValue?: number;
2364
+ minValue?: number;
2365
+ precision?: number;
2366
+ scale?: number;
2367
+ grouping?: boolean;
2368
+ pattern?: string;
2369
+ }
2370
+ interface FormElementBoolean extends ObjectTypeField {
2371
+ propertyType: 'boolean';
2372
+ defaultvalue?: boolean;
2373
+ tristate?: boolean;
2374
+ }
2375
+ interface FormElementDatetime extends ObjectTypeField {
2376
+ propertyType: 'datetime';
2377
+ defaultvalue?: string[] | string;
2378
+ resolution?: 'date';
2379
+ }
2380
+ interface FormElementTable extends ObjectTypeField {
2381
+ elements: ObjectTypeField[];
2382
+ propertyType: 'table';
2383
+ }
2384
+
2352
2385
  /**
2353
2386
  * Config defining the most important/interessting fields for
2354
2387
  * a certain object type. They'll be used to render result lists
@@ -2568,73 +2601,6 @@ interface PendingChangesComponent {
2568
2601
  hasPendingChanges: () => boolean;
2569
2602
  }
2570
2603
 
2571
- /**
2572
- * EditingObserver service is used to track changes made inside the application, that should prevent
2573
- * doing something or going somewhere before the changes are persisted or ignored. For example when
2574
- * the user starts editing form data and tries to navigate away before saving the changes, this service
2575
- * will take care of notifying the user.
2576
- *
2577
- * It is working kind of like a registry for ongoing tasks that need to be monitored. Every component
2578
- * that needs to be aware of changes to be persisted can start a task and finish it when everything is done.
2579
- *
2580
- * Other components can ask the service for pending tasks to know whether or not to execute an action
2581
- * (e.g. list component will subscribe and prevent selecting another list item, if changes to the previous one haven't be finished)
2582
- *
2583
- * app.component will prevent relevant route changes while tasks are pending.
2584
- */
2585
- declare class PendingChangesService {
2586
- #private;
2587
- tasks$: Observable<{
2588
- id: string;
2589
- message?: string;
2590
- }[]>;
2591
- /**
2592
- * Registers a task to be pending.
2593
- * @param message alert message
2594
- * @returns Unique id to be used for finishing this task
2595
- */
2596
- startTask(message: string): string;
2597
- /**
2598
- * Finishes a task
2599
- * @param id The id of the task to be finished. This is the one the component got from startTask()
2600
- */
2601
- finishTask(id: string): void;
2602
- /**
2603
- * Returns whether or not the service has pending tasks.
2604
- * If an id is provided, the method will check existence of one specific task.
2605
- *
2606
- * @param id The id of the task to be checked
2607
- * @returns
2608
- */
2609
- hasPendingTask(id?: string | string[]): boolean;
2610
- /**
2611
- * Returns whether or not the component|service has pending tasks.
2612
- * Checks via confirm dialog
2613
- * @param component
2614
- * @returns false if there are no pending changes or user confirmed
2615
- * to continue, true if there are pending changes and user canceled the action
2616
- */
2617
- check(component?: PendingChangesComponent): boolean;
2618
- checkForPendingTasks(taskIds: string | string[]): boolean;
2619
- /**
2620
- * Clear list of pending tasks
2621
- */
2622
- clear(): void;
2623
- static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesService, never>;
2624
- static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesService>;
2625
- }
2626
-
2627
- /**
2628
- * Providing a `PendingChangesComponent`.
2629
- */
2630
- declare class PendingChangesGuard implements CanDeactivate<PendingChangesComponent> {
2631
- private pendingChanges;
2632
- constructor(pendingChanges: PendingChangesService);
2633
- canDeactivate(component: PendingChangesComponent): boolean;
2634
- static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesGuard, never>;
2635
- static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesGuard>;
2636
- }
2637
-
2638
2604
  /**
2639
2605
  * Service that provides guards for Material Dialog close operations.
2640
2606
  *
@@ -2761,6 +2727,73 @@ declare class DialogCloseGuard {
2761
2727
  static ɵprov: i0.ɵɵInjectableDeclaration<DialogCloseGuard>;
2762
2728
  }
2763
2729
 
2730
+ /**
2731
+ * EditingObserver service is used to track changes made inside the application, that should prevent
2732
+ * doing something or going somewhere before the changes are persisted or ignored. For example when
2733
+ * the user starts editing form data and tries to navigate away before saving the changes, this service
2734
+ * will take care of notifying the user.
2735
+ *
2736
+ * It is working kind of like a registry for ongoing tasks that need to be monitored. Every component
2737
+ * that needs to be aware of changes to be persisted can start a task and finish it when everything is done.
2738
+ *
2739
+ * Other components can ask the service for pending tasks to know whether or not to execute an action
2740
+ * (e.g. list component will subscribe and prevent selecting another list item, if changes to the previous one haven't be finished)
2741
+ *
2742
+ * app.component will prevent relevant route changes while tasks are pending.
2743
+ */
2744
+ declare class PendingChangesService {
2745
+ #private;
2746
+ tasks$: Observable<{
2747
+ id: string;
2748
+ message?: string;
2749
+ }[]>;
2750
+ /**
2751
+ * Registers a task to be pending.
2752
+ * @param message alert message
2753
+ * @returns Unique id to be used for finishing this task
2754
+ */
2755
+ startTask(message: string): string;
2756
+ /**
2757
+ * Finishes a task
2758
+ * @param id The id of the task to be finished. This is the one the component got from startTask()
2759
+ */
2760
+ finishTask(id: string): void;
2761
+ /**
2762
+ * Returns whether or not the service has pending tasks.
2763
+ * If an id is provided, the method will check existence of one specific task.
2764
+ *
2765
+ * @param id The id of the task to be checked
2766
+ * @returns
2767
+ */
2768
+ hasPendingTask(id?: string | string[]): boolean;
2769
+ /**
2770
+ * Returns whether or not the component|service has pending tasks.
2771
+ * Checks via confirm dialog
2772
+ * @param component
2773
+ * @returns false if there are no pending changes or user confirmed
2774
+ * to continue, true if there are pending changes and user canceled the action
2775
+ */
2776
+ check(component?: PendingChangesComponent): boolean;
2777
+ checkForPendingTasks(taskIds: string | string[]): boolean;
2778
+ /**
2779
+ * Clear list of pending tasks
2780
+ */
2781
+ clear(): void;
2782
+ static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesService, never>;
2783
+ static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesService>;
2784
+ }
2785
+
2786
+ /**
2787
+ * Providing a `PendingChangesComponent`.
2788
+ */
2789
+ declare class PendingChangesGuard implements CanDeactivate<PendingChangesComponent> {
2790
+ private pendingChanges;
2791
+ constructor(pendingChanges: PendingChangesService);
2792
+ canDeactivate(component: PendingChangesComponent): boolean;
2793
+ static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesGuard, never>;
2794
+ static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesGuard>;
2795
+ }
2796
+
2764
2797
  declare class TabGuardDirective implements DoCheck {
2765
2798
  #private;
2766
2799
  constructor();
@@ -3093,6 +3126,8 @@ declare class ToastService {
3093
3126
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
3094
3127
  }
3095
3128
 
3129
+ declare const YuvToastStyles = "\n .yuv-toast-container {\n --yuv-toast-container-padding: var(--ymt-spacing-m);\n --yuv-toast-success-background: var(--ymt-success);\n --yuv-toast-success-tone: var(--ymt-on-success);\n --yuv-toast-warning-background: var(--ymt-warning);\n --yuv-toast-warning-tone: var(--ymt-on-warning);\n --yuv-toast-error-background: var(--ymt-danger);\n --yuv-toast-error-tone: var(--ymt-on-danger);\n\n position: fixed;\n z-index: 9999;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-items: center;\n justify-content: center;\n gap: 1vh;\n pointer-events: none;\n }\n\n .yuv-toast-container.top {\n inset-block-start: 0;\n padding-block-start: var(--yuv-toast-container-padding);\n flex-direction: column-reverse;\n }\n\n .yuv-toast-container.top.center {\n inset-inline: 0;\n }\n\n .yuv-toast-container.bottom {\n inset-block-end: 0;\n padding-block-end: var(--yuv-toast-container-padding);\n }\n\n .yuv-toast-container.bottom.center {\n inset-inline: 0;\n }\n\n .yuv-toast-container.end {\n padding-inline-end: var(--yuv-toast-container-padding);\n align-items: end;\n right:0;\n }\n\n .yuv-toast-container.start {\n padding-inline-start: var(--yuv-toast-container-padding);\n align-items: start;\n left:0;\n }\n\n .yuv-toast {\n --_duration: 3s;\n --_bg-lightness: 90%;\n --_travel-distance: 0;\n\n font-family: system-ui, sans-serif;\n color: var(--ymt-on-surface);\n background: var(--ymt-surface-container);\n pointer-events: all;\n line-height: 1.5em;\n\n max-inline-size: min(50ch, 90vw);\n padding-block: .5ch;\n padding-inline: 1ch;\n border-radius: 3px;\n font-size: 1rem;\n\n will-change: transform;\n animation:\n fade-in .3s ease,\n slide-in .3s ease,\n fade-out .3s ease var(--_duration);\n\n @media (--motionOK) {\n --_travel-distance: 5vh;\n }\n }\n\n .yuv-toast strong {\n display: block;\n }\n\n .yuv-toast a {\n color: currentColor\n }\n\n .yuv-toast.success {\n background-color: var(--yuv-toast-success-background);\n color: var(--yuv-toast-success-tone);\n }\n\n .yuv-toast.warning {\n background-color: var(--yuv-toast-warning-background);\n color: var(--yuv-toast-warning-tone);\n }\n\n .yuv-toast.error {\n background-color: var(--yuv-toast-error-background);\n color: var(--yuv-toast-error-tone);\n }\n\n .yuv-toast:hover {\n animation-play-state: paused;\n }\n\n @keyframes fade-in {\n from { opacity: 0 }\n }\n\n @keyframes fade-out {\n to { opacity: 0 }\n }\n\n @keyframes slide-in {\n from { transform: translateY(var(--_travel-distance, 10px)) }\n }\n";
3130
+
3096
3131
  /**
3097
3132
  * Interface for providing an uploading status of an object
3098
3133
  */
@@ -3667,5 +3702,5 @@ interface YuvClientCoreConfig {
3667
3702
  }
3668
3703
  declare const provideYuvClientCore: (options?: YuvClientCoreConfig, customEvents?: string[], customEventsTrustedOrigin?: string[], disableBeforeUnloadProtection?: boolean, disablePopstateDialogProtection?: boolean) => EnvironmentProviders;
3669
3704
 
3670
- export { AFO_STATE, AVAILABLE_BACKEND_APPS, AdministrationRoles, ApiBase, AppCacheService, AuditField, AuditService, AuthInterceptorFnc, AuthService, BackendService, BaseObjectTypeField, BpmService, CLIENT_APP_REQUIREMENTS, CORE_CONFIG, CUSTOM_CONFIG, CUSTOM_YUV_EVENT_PREFIX, CatalogService, CatalogTypeField, Classification, ClassificationPrefix, ClientCacheService, ClientDefaultsObjectTypeField, ClipboardService, ColumnConfigSkipFields, ConfigService, ConnectionService, ContentStreamAllowed, ContentStreamField, CoreConfig, DEFAULT_LOCK_OPTIONS, DeviceScreenOrientation, DeviceService, DialogCloseGuard, Direction, DmsObject, DmsService, EoxMissingTranslationHandler, EoxTranslateJsonLoader, EventService, FileSizePipe, IdmService, InternalFieldType, KeysPipe, LOCALIZATION_COLUMNS, LOCK_TAG_OWNER_INDEX, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocalizationService, LockField, Logger, LoginStateName, NativeNotificationService, NotificationService, ObjectConfigService, ObjectFormControl, ObjectFormControlWrapper, ObjectFormGroup, ObjectLockingService, ObjectTag, ObjectTypeClassification, ObjectTypePropertyClassification, OfflineInterceptorFnc, Operator, OperatorLabel, ParentField, PendingChangesGuard, PendingChangesService, PredictionService, ProcessAction, RelationshipTypeField, RetentionField, RetentionService, SafeHtmlPipe, SafeUrlPipe, SearchService, SearchUtils, SecondaryObjectTypeClassification, SessionStorageService, Situation, Sort, SystemResult, SystemSOT, SystemService, SystemType, TENANT_HEADER, TabGuardDirective, ToastService, UploadService, UserRoles, UserService, UserStorageService, Utils, YUV_USER, YuvError, YuvEventType, YuvUser, findLockTag, init_moduleFnc, provideAvailabilityManagement, provideBeforeUnloadProtection, provideNavigationProtection, providePopstateDialogProtection, provideRequirements, provideUser, provideYuvClientCore };
3671
- export type { AggregateResult, Aggregation, AggregationEntry, ApplicableSecondaries, AuditEntry, AuditQueryOptions, AuditQueryResult, AuthData, AvailabilityState, CacheEntry, Catalog, CatalogApiObject, CatalogApiPropertyValue, CatalogApiResponse, CatalogEntry, CatalogEntryCreatePayload, CatalogEntryUpdatePayload, CatalogLocalization, CatalogLocalizationPayload, CatalogPayload, CatalogPropertyFilter, CatalogQueryOptions, CatalogResult, ClassificationEntry, ClipboardData, ClipboardDataMode, ClipboardStore, ConfigTypeOption, ConnectionState, ContentStream$1 as ContentStream, CoreApiBatchResponse, CoreApiObject, CoreApiObjectProperty, CoreApiResponse, CreatedObject, DateRange, DeviceScreen, DeviceScreenBounds, DmsObjectAuditInfo, DmsObjectPermissions, DmsObjectTag, FetchTaskOptions, FilesizeRange, FlavoredDmsObject, FormElementBoolean, FormElementDatetime, FormElementDecimal, FormElementInteger, FormElementString, FormElementTable, FormattedMailTo, GenericObjectType, HttpDeleteOptions, HttpOptions, ILogger, IdmCachedUser, IdmUserCache, IdmUserResponse, InboxTask, IsAny, LockOptions, LockState, LoginDeviceResult, LoginState, ObjectConfig, ObjectConfigAction, ObjectConfigBadge, ObjectConfigBucket, ObjectConfigIcon, ObjectConfigProperty, ObjectConfigRecord, ObjectCopyOptions, ObjectCreateFlavor, ObjectDeleteError, ObjectDeleteOptions, ObjectDeleteResult, ObjectFormModel, ObjectLockingResponse, ObjectMoveOptions, ObjectOptions, ObjectType, ObjectTypeField, ObjectTypeFieldInternalType, ObjectTypeFieldType, ObjectTypeFlavor, ObjectTypePermissions, OrganizationSetEntry, PredictionClassifyResult, PredictionClassifyResultItem, PredictionExtractResult, PredictionExtractResultItem, Process, ProcessCreatePayload, ProcessPostPayload, ProcessUser, ProcessVariable, ProgressStatus, ProgressStatusItem, RangeValue, Relationship, RendererType, Requirements, ResolvedObjectConfig, ResolvedObjectConfigItem, RetentionState, SchemaResponse, SchemaResponseDocumentTypeDefinition, SchemaResponseFieldDefinition, SchemaResponseFolderTypeDefinition, SchemaResponseRelationDefinition, SchemaResponseTypeDefinition, ScreenSize, SearchFilter, SearchQuery, SearchResponse, SearchResult, SearchResultContent, SearchResultItem, SearchResultPermissions, SecondaryObjectType, SortOption, StoredObjectConfig, StoredToken, SystemDefinition, TableFilter, ToastLevel, ToastOptions, ToastPosition, Trigger, UploadResult, UserPermissions, UserPermissionsSection, UserSettings, VirtualObjectType, YuvAvailableBackendApps, YuvClientCoreConfig, YuvConfig, YuvConfigLanguages, YuvEvent, YuvEventCreatedData, YuvEventDeletedData, YuvEventUpdatedData, YuvFormGroup, YuvFormGroupWrapper, YuvInitError, YuvMessage, _ObjectTypeBase, _ObjectTypeFieldBase };
3705
+ export { AFO_STATE, AVAILABLE_BACKEND_APPS, AdministrationRoles, ApiBase, AppCacheService, AuditAction, AuditField, AuditService, AuthInterceptorFnc, AuthService, BackendService, BaseObjectTypeField, BpmService, CLIENT_APP_REQUIREMENTS, CORE_CONFIG, CUSTOM_CONFIG, CUSTOM_EVENTS, CUSTOM_EVENTS_TRUSTED_ORIGINS, CUSTOM_YUV_EVENT_PREFIX, CatalogService, CatalogTypeField, Classification, ClassificationPrefix, ClientCacheService, ClientDefaultsObjectTypeField, ClipboardService, ColumnConfigSkipFields, ConfigService, ConnectionService, ContentStreamAllowed, ContentStreamField, CoreConfig, DEFAULT_LOCK_OPTIONS, DeviceScreenOrientation, DeviceService, DialogCloseGuard, Direction, DmsObject, DmsService, EoxMissingTranslationHandler, EoxTranslateJsonLoader, EventService, FileSizePipe, IdmService, InternalFieldType, KeysPipe, LOCALIZATION_COLUMNS, LOCK_TAG_OWNER_INDEX, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocalizationService, LockField, Logger, LoginStateName, NativeNotificationService, NotificationService, ObjectConfigService, ObjectFormControl, ObjectFormControlWrapper, ObjectFormGroup, ObjectLockingService, ObjectTag, ObjectTypeClassification, ObjectTypePropertyClassification, OfflineInterceptorFnc, Operator, OperatorLabel, ParentField, PendingChangesGuard, PendingChangesService, PredictionService, ProcessAction, RelationshipTypeField, RetentionField, RetentionService, SafeHtmlPipe, SafeUrlPipe, SearchService, SearchUtils, SecondaryObjectTypeClassification, SessionStorageService, Situation, Sort, SystemResult, SystemSOT, SystemService, SystemType, TENANT_HEADER, TabGuardDirective, ToastService, UploadService, UserRoles, UserService, UserStorageService, Utils, YUV_USER, YuvError, YuvEventType, YuvToastStyles, YuvUser, findLockTag, init_moduleFnc, provideAvailabilityManagement, provideBeforeUnloadProtection, provideNavigationProtection, providePopstateDialogProtection, provideRequirements, provideUser, provideYuvClientCore };
3706
+ export type { AggregateResult, Aggregation, AggregationEntry, ApplicableSecondaries, AuditEntry, AuditQueryOptions, AuditQueryResult, AuthData, AvailabilityState, CacheEntry, Catalog, CatalogApiObject, CatalogApiPropertyValue, CatalogApiResponse, CatalogEntry, CatalogEntryCreatePayload, CatalogEntryUpdatePayload, CatalogLocalization, CatalogLocalizationPayload, CatalogPayload, CatalogPropertyFilter, CatalogQueryOptions, CatalogResult, ClassificationEntry, ClipboardData, ClipboardDataMode, ClipboardStore, ConfigTypeOption, ConnectionState, ContentStream$1 as ContentStream, CoreApiBatchResponse, CoreApiObject, CoreApiObjectProperty, CoreApiResponse, CreatedObject, DateRange, DeviceScreen, DeviceScreenBounds, DmsObjectAuditInfo, DmsObjectPermissions, DmsObjectTag, FetchTaskOptions, FilesizeRange, FlavoredDmsObject, FormElementBoolean, FormElementDatetime, FormElementDecimal, FormElementInteger, FormElementString, FormElementTable, FormattedMailTo, GenericObjectType, HttpDeleteOptions, HttpOptions, ILogger, IdmCachedUser, IdmUserCache, IdmUserResponse, InboxTask, IsAny, Localization, LockOptions, LockState, LoginDeviceResult, LoginState, ObjectConfig, ObjectConfigAction, ObjectConfigBadge, ObjectConfigBucket, ObjectConfigIcon, ObjectConfigProperty, ObjectConfigRecord, ObjectCopyOptions, ObjectCreateFlavor, ObjectDeleteError, ObjectDeleteOptions, ObjectDeleteResult, ObjectFormModel, ObjectLockingResponse, ObjectMoveOptions, ObjectOptions, ObjectType, ObjectTypeField, ObjectTypeFieldInternalType, ObjectTypeFieldType, ObjectTypeFlavor, ObjectTypePermissions, OrganizationSetEntry, PendingChangesComponent, PredictionClassifyResult, PredictionClassifyResultItem, PredictionExtractResult, PredictionExtractResultItem, Process, ProcessCreatePayload, ProcessPostPayload, ProcessUser, ProcessVariable, ProgressStatus, ProgressStatusItem, RangeValue, Relationship, RendererType, Requirements, ResolvedObjectConfig, ResolvedObjectConfigItem, RetentionState, SchemaResponse, SchemaResponseDocumentTypeDefinition, SchemaResponseFieldDefinition, SchemaResponseFolderTypeDefinition, SchemaResponseRelationDefinition, SchemaResponseTypeDefinition, ScreenSize, SearchFilter, SearchQuery, SearchResponse, SearchResult, SearchResultContent, SearchResultItem, SearchResultPermissions, SecondaryObjectType, SortOption, StoredObjectConfig, StoredToken, SystemDefinition, TableFilter, ToastLevel, ToastOptions, ToastPosition, Trigger, UploadResult, UserPermissions, UserPermissionsSection, UserSettings, VirtualObjectType, YuvAvailableBackendApps, YuvClientCoreConfig, YuvConfig, YuvConfigLanguages, YuvEvent, YuvEventCreatedData, YuvEventDeletedData, YuvEventUpdatedData, YuvFormGroup, YuvFormGroupWrapper, YuvInitError, YuvMessage, _ObjectTypeBase, _ObjectTypeFieldBase };