@yuuvis/client-core 3.2.1 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,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';
@@ -488,6 +488,109 @@ interface UserSettings {
488
488
  clientAppSettings?: Record<string, any>;
489
489
  }
490
490
 
491
+ declare enum AuditAction {
492
+ CREATE_METADATA = "100",
493
+ CREATE_METADATA_WITH_CONTENT = "101",
494
+ CREATE_TAG = "110",
495
+ DELETE = "200",
496
+ DELETE_CONTENT = "201",
497
+ DELETE_MARKED = "202",
498
+ DELETE_TAG = "210",
499
+ UPDATE_METADATA = "300",
500
+ UPDATE_CONTENT = "301",
501
+ UPDATE_METADATA_WITH_CONTENT = "302",
502
+ UPDATE_MOVE_CONTENT = "303",
503
+ UPDATE_TAG = "310",
504
+ OBJECT_RESTORED_FROM_VERSION = "325",
505
+ GET_CONTENT = "400",
506
+ GET_METADATA = "401",
507
+ GET_RENDITION_TEXT = "402",
508
+ GET_RENDITION_PDF = "403",
509
+ GET_RENDITION_THUMBNAIL = "404"
510
+ }
511
+
512
+ /**
513
+ * Is a part of `AuditQueryResult` interface
514
+ */
515
+ interface AuditEntry {
516
+ action: number;
517
+ actionGroup: number;
518
+ detail: string;
519
+ subaction?: number;
520
+ creationDate: Date;
521
+ version: number;
522
+ createdBy: {
523
+ id: string;
524
+ title: string;
525
+ };
526
+ more?: string;
527
+ }
528
+ /**
529
+ * Interface for a result object of a former audits query
530
+ */
531
+ interface AuditQueryResult {
532
+ /**
533
+ * the original query, needed for later on paging requests
534
+ */
535
+ query: SearchQuery;
536
+ items: AuditEntry[];
537
+ hasMoreItems: boolean;
538
+ /**
539
+ * the page of the current result (in case of multi-page results, otherwise 1)
540
+ */
541
+ page: number;
542
+ }
543
+ interface AuditQueryOptions {
544
+ /**
545
+ * List of actions (codes) to restricts the audits to
546
+ */
547
+ actions?: string[];
548
+ /**
549
+ * Actions that should explicitly NOT be fetched
550
+ */
551
+ skipActions?: number[];
552
+ /**
553
+ * Whether or not to query all audit entries, without the user
554
+ * or admin filter conditions
555
+ */
556
+ allActions?: boolean;
557
+ }
558
+
559
+ /**
560
+ * Service providing access to the systems audit entries. Audits can be seen as the history of
561
+ * an object. Actions perormed on an object (eg. read, write, delete, ...) will be recorded during
562
+ * the objects lifecycle. Audits are provided based on a users permissions. Beside the audit entries
563
+ * visible to regular users there are more technical ones that will only be shown to users that
564
+ * have administrative role.
565
+ */
566
+ declare class AuditService {
567
+ #private;
568
+ private DEFAULT_RES_SIZE;
569
+ private userAuditActions;
570
+ private adminAuditActions;
571
+ /**
572
+ * Get audit entries of a dms object
573
+ * @param id The id of the object to get the audit entries for
574
+ * @param options Options
575
+ */
576
+ getAuditEntries(id: string, options?: AuditQueryOptions): Observable<AuditQueryResult>;
577
+ /**
578
+ * Get an array of action codes that are provided by the service. Based on
579
+ * whether or not the user has admin permissions you'll get a different
580
+ * set of actions.
581
+ * @param skipActions codes of actions that should not be fetched
582
+ */
583
+ getAuditActions(allActions: boolean, skipActions?: number[]): number[];
584
+ /**
585
+ * Get a certain page for a former audits query.
586
+ * @param auditsResult The result object of a former audits query
587
+ * @param page The page to load
588
+ */
589
+ getPage(auditsResult: AuditQueryResult, page: number): Observable<AuditQueryResult>;
590
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuditService, never>;
591
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuditService>;
592
+ }
593
+
491
594
  /**
492
595
  * Prevent app from running into 401 issues related to gateway timeouts.
493
596
  */
@@ -625,6 +728,35 @@ interface AuthData {
625
728
  language: string;
626
729
  }
627
730
 
731
+ declare enum ApiBase {
732
+ core = "api",
733
+ apiWeb = "api-web/api",
734
+ predict = "predict-api/api",
735
+ custom = "custom",
736
+ none = ""
737
+ }
738
+
739
+ /**
740
+ * HttpOptions for http request
741
+ * @param observe: 'body' | 'events' | 'response'
742
+ * @param responseType: 'arraybuffer' | 'blob' | 'json' | 'text'
743
+ */
744
+ interface HttpOptions {
745
+ headers?: HttpHeaders | {
746
+ [header: string]: string | string[];
747
+ };
748
+ observe?: any;
749
+ params?: HttpParams | {
750
+ [param: string]: string | string[];
751
+ };
752
+ reportProgress?: boolean;
753
+ responseType?: any;
754
+ withCredentials?: boolean;
755
+ }
756
+ interface HttpDeleteOptions extends HttpOptions {
757
+ body?: any;
758
+ }
759
+
628
760
  /**
629
761
  * Load and provide configuration for hole apllication while application is inizialized.
630
762
  */
@@ -661,192 +793,6 @@ declare class ConfigService {
661
793
  static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
662
794
  }
663
795
 
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
796
  /**
851
797
  * Service for HTTP communication with the yuuvis Momentum backend.
852
798
  *
@@ -1344,17 +1290,92 @@ declare class ClipboardService {
1344
1290
  paste$(bucket?: string): Observable<ClipboardData>;
1345
1291
  getClipboardData(bucket?: string): ClipboardData | undefined;
1346
1292
  /**
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
1293
+ * Add objects to the clipboard
1294
+ * @param bucket Buckets are ways to separate data from the global scope.
1295
+ * If you have an app that would like to have a separate section in the clipboard
1296
+ * you'll use a unique bucket to store your stuff. When observing chages to the
1297
+ * clipboard you couls as well provide the bucket and you will only get
1298
+ */
1299
+ addObjects(objects: DmsObject[], mode: ClipboardDataMode, bucket?: string): void;
1300
+ clear(bucket?: string): void;
1301
+ addToNavigatorClipBoard(data: string): Promise<void>;
1302
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClipboardService, never>;
1303
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClipboardService>;
1304
+ }
1305
+
1306
+ /**
1307
+ * @ignore
1308
+ */
1309
+ declare const CUSTOM_CONFIG: InjectionToken<CoreConfig>;
1310
+ declare const CORE_CONFIG: InjectionToken<CoreConfig>;
1311
+
1312
+ /**
1313
+ * Service to monitor the online/offline state of the application.
1314
+ * It listens to the browser's online and offline events and provides an observable
1315
+ * to track the current connection state.
1316
+ *
1317
+ * An observable `connection$` is provided which emits the current connection state
1318
+ * whenever the online or offline state changes. The initial state is determined by
1319
+ * the `window.navigator.onLine` property.
1320
+ */
1321
+ declare class ConnectionService {
1322
+ private currentState;
1323
+ private connectionStateSource;
1324
+ connection$: Observable<ConnectionState>;
1325
+ /**
1326
+ * @ignore
1327
+ */
1328
+ constructor();
1329
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionService, never>;
1330
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionService>;
1331
+ }
1332
+ /**
1333
+ * Check a connection state of a client
1334
+ */
1335
+ interface ConnectionState {
1336
+ /**
1337
+ * whether or not the application is online.
1338
+ */
1339
+ isOnline: boolean;
1340
+ }
1341
+
1342
+ /**
1343
+ * Http Offline interceptor trys to serving offline content for method/url
1344
+ */
1345
+ declare function OfflineInterceptorFnc(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
1346
+
1347
+ /**
1348
+ * Providing functions,that are are injected at application startup and executed during app initialization.
1349
+ */
1350
+ declare const init_moduleFnc: () => rxjs.Observable<boolean | _yuuvis_client_core.YuvUser | YuvConfig[]>;
1351
+
1352
+ /**
1353
+ * Handles missing translations
1354
+ * @ignore
1355
+ */
1356
+ declare class EoxMissingTranslationHandler implements MissingTranslationHandler {
1357
+ handle(params: MissingTranslationHandlerParams): string;
1358
+ static ɵfac: i0.ɵɵFactoryDeclaration<EoxMissingTranslationHandler, never>;
1359
+ static ɵprov: i0.ɵɵInjectableDeclaration<EoxMissingTranslationHandler>;
1360
+ }
1361
+
1362
+ /**
1363
+ * Loader that fetches translations based on the configured locations
1364
+ * @ignore
1365
+ */
1366
+ declare class EoxTranslateJsonLoader implements TranslateLoader {
1367
+ http: HttpClient;
1368
+ config: CoreConfig;
1369
+ constructor(http: HttpClient, config: CoreConfig);
1370
+ /**
1371
+ *
1372
+ * @param string lang
1373
+ * @returns Observable<Object>
1352
1374
  */
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>;
1375
+ getTranslation(lang: string): Observable<Record<string, string>>;
1376
+ private loadTranslationFile;
1377
+ static ɵfac: i0.ɵɵFactoryDeclaration<EoxTranslateJsonLoader, never>;
1378
+ static ɵprov: i0.ɵɵInjectableDeclaration<EoxTranslateJsonLoader>;
1358
1379
  }
1359
1380
 
1360
1381
  declare enum DeviceScreenOrientation {
@@ -1638,6 +1659,9 @@ declare class DmsService {
1638
1659
  static ɵprov: i0.ɵɵInjectableDeclaration<DmsService>;
1639
1660
  }
1640
1661
 
1662
+ declare const CUSTOM_EVENTS: InjectionToken<string[]>;
1663
+ declare const CUSTOM_EVENTS_TRUSTED_ORIGINS: InjectionToken<string[]>;
1664
+
1641
1665
  /**
1642
1666
  * Triggerable and Subscribable events
1643
1667
  * 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 +2170,6 @@ declare const AFO_STATE: {
2146
2170
  };
2147
2171
  declare const ColumnConfigSkipFields: string[];
2148
2172
 
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
2173
  /**
2195
2174
  * Virtual object types.
2196
2175
  * They are a combination of an object type ID and/or a list of SOTs
@@ -2349,6 +2328,51 @@ interface ObjectTypePermissions {
2349
2328
  searchableObjectTypes: string[];
2350
2329
  }
2351
2330
 
2331
+ type ObjectTypeFieldType = 'string' | 'integer' | 'decimal' | 'boolean' | 'table' | 'datetime';
2332
+ 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;
2333
+ interface FormElementString extends ObjectTypeField {
2334
+ propertyType: 'string';
2335
+ defaultvalue?: string[] | string;
2336
+ maxLength?: number;
2337
+ minLength?: number;
2338
+ rows?: number;
2339
+ options?: string[] | string;
2340
+ regex?: string;
2341
+ }
2342
+ interface FormElementInteger extends ObjectTypeField {
2343
+ propertyType: 'integer';
2344
+ defaultvalue?: number[] | number;
2345
+ maxValue?: number;
2346
+ minValue?: number;
2347
+ precision?: number;
2348
+ grouping?: boolean;
2349
+ pattern?: string;
2350
+ }
2351
+ interface FormElementDecimal extends ObjectTypeField {
2352
+ propertyType: 'decimal';
2353
+ defaultvalue?: number[] | number;
2354
+ maxValue?: number;
2355
+ minValue?: number;
2356
+ precision?: number;
2357
+ scale?: number;
2358
+ grouping?: boolean;
2359
+ pattern?: string;
2360
+ }
2361
+ interface FormElementBoolean extends ObjectTypeField {
2362
+ propertyType: 'boolean';
2363
+ defaultvalue?: boolean;
2364
+ tristate?: boolean;
2365
+ }
2366
+ interface FormElementDatetime extends ObjectTypeField {
2367
+ propertyType: 'datetime';
2368
+ defaultvalue?: string[] | string;
2369
+ resolution?: 'date';
2370
+ }
2371
+ interface FormElementTable extends ObjectTypeField {
2372
+ elements: ObjectTypeField[];
2373
+ propertyType: 'table';
2374
+ }
2375
+
2352
2376
  /**
2353
2377
  * Config defining the most important/interessting fields for
2354
2378
  * a certain object type. They'll be used to render result lists
@@ -2568,73 +2592,6 @@ interface PendingChangesComponent {
2568
2592
  hasPendingChanges: () => boolean;
2569
2593
  }
2570
2594
 
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
2595
  /**
2639
2596
  * Service that provides guards for Material Dialog close operations.
2640
2597
  *
@@ -2761,6 +2718,73 @@ declare class DialogCloseGuard {
2761
2718
  static ɵprov: i0.ɵɵInjectableDeclaration<DialogCloseGuard>;
2762
2719
  }
2763
2720
 
2721
+ /**
2722
+ * EditingObserver service is used to track changes made inside the application, that should prevent
2723
+ * doing something or going somewhere before the changes are persisted or ignored. For example when
2724
+ * the user starts editing form data and tries to navigate away before saving the changes, this service
2725
+ * will take care of notifying the user.
2726
+ *
2727
+ * It is working kind of like a registry for ongoing tasks that need to be monitored. Every component
2728
+ * that needs to be aware of changes to be persisted can start a task and finish it when everything is done.
2729
+ *
2730
+ * Other components can ask the service for pending tasks to know whether or not to execute an action
2731
+ * (e.g. list component will subscribe and prevent selecting another list item, if changes to the previous one haven't be finished)
2732
+ *
2733
+ * app.component will prevent relevant route changes while tasks are pending.
2734
+ */
2735
+ declare class PendingChangesService {
2736
+ #private;
2737
+ tasks$: Observable<{
2738
+ id: string;
2739
+ message?: string;
2740
+ }[]>;
2741
+ /**
2742
+ * Registers a task to be pending.
2743
+ * @param message alert message
2744
+ * @returns Unique id to be used for finishing this task
2745
+ */
2746
+ startTask(message: string): string;
2747
+ /**
2748
+ * Finishes a task
2749
+ * @param id The id of the task to be finished. This is the one the component got from startTask()
2750
+ */
2751
+ finishTask(id: string): void;
2752
+ /**
2753
+ * Returns whether or not the service has pending tasks.
2754
+ * If an id is provided, the method will check existence of one specific task.
2755
+ *
2756
+ * @param id The id of the task to be checked
2757
+ * @returns
2758
+ */
2759
+ hasPendingTask(id?: string | string[]): boolean;
2760
+ /**
2761
+ * Returns whether or not the component|service has pending tasks.
2762
+ * Checks via confirm dialog
2763
+ * @param component
2764
+ * @returns false if there are no pending changes or user confirmed
2765
+ * to continue, true if there are pending changes and user canceled the action
2766
+ */
2767
+ check(component?: PendingChangesComponent): boolean;
2768
+ checkForPendingTasks(taskIds: string | string[]): boolean;
2769
+ /**
2770
+ * Clear list of pending tasks
2771
+ */
2772
+ clear(): void;
2773
+ static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesService, never>;
2774
+ static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesService>;
2775
+ }
2776
+
2777
+ /**
2778
+ * Providing a `PendingChangesComponent`.
2779
+ */
2780
+ declare class PendingChangesGuard implements CanDeactivate<PendingChangesComponent> {
2781
+ private pendingChanges;
2782
+ constructor(pendingChanges: PendingChangesService);
2783
+ canDeactivate(component: PendingChangesComponent): boolean;
2784
+ static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesGuard, never>;
2785
+ static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesGuard>;
2786
+ }
2787
+
2764
2788
  declare class TabGuardDirective implements DoCheck {
2765
2789
  #private;
2766
2790
  constructor();
@@ -3093,6 +3117,8 @@ declare class ToastService {
3093
3117
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
3094
3118
  }
3095
3119
 
3120
+ 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";
3121
+
3096
3122
  /**
3097
3123
  * Interface for providing an uploading status of an object
3098
3124
  */
@@ -3667,5 +3693,5 @@ interface YuvClientCoreConfig {
3667
3693
  }
3668
3694
  declare const provideYuvClientCore: (options?: YuvClientCoreConfig, customEvents?: string[], customEventsTrustedOrigin?: string[], disableBeforeUnloadProtection?: boolean, disablePopstateDialogProtection?: boolean) => EnvironmentProviders;
3669
3695
 
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 };
3696
+ 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 };
3697
+ 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 };