@yuuvis/client-core 2.20.1 → 3.0.0-beta.20.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.
- package/fesm2022/yuuvis-client-core.mjs +160 -159
- package/fesm2022/yuuvis-client-core.mjs.map +1 -1
- package/index.d.ts +3255 -68
- package/package.json +6 -6
- package/lib/common/pipes/filesize.pipe.d.ts +0 -18
- package/lib/common/pipes/index.d.ts +0 -5
- package/lib/common/pipes/keys.pipe.d.ts +0 -10
- package/lib/common/pipes/locale-date.pipe.d.ts +0 -12
- package/lib/common/pipes/locale-number.pipe.d.ts +0 -47
- package/lib/common/pipes/safe-html.pipe.d.ts +0 -28
- package/lib/common/services/native-notifications.d.ts +0 -8
- package/lib/common/services/native-notifications.interface.d.ts +0 -5
- package/lib/model/dms-object.interface.d.ts +0 -22
- package/lib/model/dms-object.model.d.ts +0 -26
- package/lib/model/file-upload-options.model.d.ts +0 -5
- package/lib/model/object-flavor.interface.d.ts +0 -46
- package/lib/model/range-value.interface.d.ts +0 -9
- package/lib/model/yuv-error.model.d.ts +0 -18
- package/lib/model/yuv-user.model.d.ts +0 -42
- package/lib/provider/available-backend-apps/available-backend-apps.model.d.ts +0 -6
- package/lib/provider/available-backend-apps/available-backend-apps.provider.d.ts +0 -6
- package/lib/provider/available-backend-apps/index.d.ts +0 -2
- package/lib/provider/index.d.ts +0 -3
- package/lib/provider/navigation/index.d.ts +0 -3
- package/lib/provider/navigation/provide.before.unload.guard.d.ts +0 -12
- package/lib/provider/navigation/provide.navigation-protection.d.ts +0 -2
- package/lib/provider/navigation/provide.popstate-dialog.guard.d.ts +0 -14
- package/lib/provider/provide.client.core.d.ts +0 -5
- package/lib/service/audit/audit.interface.d.ts +0 -47
- package/lib/service/audit/audit.service.d.ts +0 -37
- package/lib/service/auth/auth.interceptor.d.ts +0 -6
- package/lib/service/auth/auth.interface.d.ts +0 -34
- package/lib/service/auth/auth.service.d.ts +0 -54
- package/lib/service/backend/api.enum.d.ts +0 -7
- package/lib/service/backend/backend.interface.d.ts +0 -21
- package/lib/service/backend/backend.service.d.ts +0 -145
- package/lib/service/bpm/bpm.interface.d.ts +0 -87
- package/lib/service/bpm/bpm.service.d.ts +0 -19
- package/lib/service/cache/app-cache.service.d.ts +0 -43
- package/lib/service/catalog/catalog.interface.d.ts +0 -12
- package/lib/service/catalog/catalog.service.d.ts +0 -5
- package/lib/service/client-cache/client-cache.interface.d.ts +0 -5
- package/lib/service/client-cache/client-cache.service.d.ts +0 -35
- package/lib/service/clipboard/clipboard.interface.d.ts +0 -11
- package/lib/service/clipboard/clipboard.service.d.ts +0 -24
- package/lib/service/config/config.interface.d.ts +0 -34
- package/lib/service/config/config.service.d.ts +0 -37
- package/lib/service/config/core-config.d.ts +0 -12
- package/lib/service/config/core-config.tokens.d.ts +0 -7
- package/lib/service/connection/connection.service.d.ts +0 -31
- package/lib/service/connection/offline.interceptor.d.ts +0 -6
- package/lib/service/core-init/core-init.service.d.ts +0 -5
- package/lib/service/core-init/missing-translation-handler.d.ts +0 -8
- package/lib/service/core-init/translate-json-loader.d.ts +0 -20
- package/lib/service/device/device.interface.d.ts +0 -15
- package/lib/service/device/device.service.d.ts +0 -62
- package/lib/service/dms/dms.service.d.ts +0 -207
- package/lib/service/dms/dms.service.interface.d.ts +0 -60
- package/lib/service/event/custom.events.token.d.ts +0 -3
- package/lib/service/event/event.interface.d.ts +0 -36
- package/lib/service/event/event.service.d.ts +0 -30
- package/lib/service/event/events.d.ts +0 -22
- package/lib/service/idm/idm.service.d.ts +0 -43
- package/lib/service/idm/models/idm-cached-user.model.d.ts +0 -11
- package/lib/service/idm/models/idm-user-cache.model.d.ts +0 -9
- package/lib/service/idm/models/idm-user-response.model.d.ts +0 -24
- package/lib/service/idm/models/index.d.ts +0 -4
- package/lib/service/idm/models/organization-set-entry.model.d.ts +0 -12
- package/lib/service/logger/logger.interface.d.ts +0 -10
- package/lib/service/logger/logger.service.d.ts +0 -20
- package/lib/service/notification/notification.service.d.ts +0 -71
- package/lib/service/object-config/object-config.interface.d.ts +0 -62
- package/lib/service/object-config/object-config.service.d.ts +0 -40
- package/lib/service/object-form/object-form.interface.d.ts +0 -46
- package/lib/service/object-form/object-form.model.d.ts +0 -45
- package/lib/service/pending-changes/index.d.ts +0 -4
- package/lib/service/pending-changes/pending-changes-component.interface.d.ts +0 -6
- package/lib/service/pending-changes/pending-changes-dialog.guard.service.d.ts +0 -128
- package/lib/service/pending-changes/pending-changes-guard.service.d.ts +0 -14
- package/lib/service/pending-changes/pending-changes-tab.guard.directive.d.ts +0 -9
- package/lib/service/pending-changes/pending-changes.service.d.ts +0 -58
- package/lib/service/prediction/prediction.interface.d.ts +0 -18
- package/lib/service/prediction/prediction.service.d.ts +0 -15
- package/lib/service/retention/retention.interface.d.ts +0 -5
- package/lib/service/retention/retention.service.d.ts +0 -26
- package/lib/service/search/search.service.d.ts +0 -55
- package/lib/service/search/search.service.interface.d.ts +0 -123
- package/lib/service/search/search.utils.d.ts +0 -18
- package/lib/service/session-storage/session-storage.service.d.ts +0 -15
- package/lib/service/system/system.enum.d.ts +0 -143
- package/lib/service/system/system.interface.d.ts +0 -165
- package/lib/service/system/system.service.d.ts +0 -175
- package/lib/service/toast/toast.interface.d.ts +0 -8
- package/lib/service/toast/toast.service.d.ts +0 -17
- package/lib/service/toast/toast.styles.d.ts +0 -1
- package/lib/service/upload/upload.interface.d.ts +0 -56
- package/lib/service/upload/upload.service.d.ts +0 -160
- package/lib/service/user/user-storage.service.d.ts +0 -18
- package/lib/service/user/user.providers.d.ts +0 -4
- package/lib/service/user/user.service.d.ts +0 -67
- package/lib/util/utils.d.ts +0 -123
- package/lib/util/utils.helper.enum.d.ts +0 -13
package/index.d.ts
CHANGED
|
@@ -1,69 +1,3256 @@
|
|
|
1
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
1
2
|
export { TranslateDirective, TranslateLoader, TranslateModule, TranslatePipe, TranslateService } from '@ngx-translate/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Type, Signal, InjectionToken, DoCheck, Provider, PipeTransform, EnvironmentProviders } from '@angular/core';
|
|
5
|
+
import { Router, CanDeactivate } from '@angular/router';
|
|
6
|
+
import * as rxjs from 'rxjs';
|
|
7
|
+
import { Observable, Subscription } from 'rxjs';
|
|
8
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
9
|
+
import * as _yuuvis_client_core from '@yuuvis/client-core';
|
|
10
|
+
import { DeviceInfo } from 'ngx-device-detector';
|
|
11
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
12
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
13
|
+
import { DecimalPipe, CurrencyPipe, PercentPipe } from '@angular/common';
|
|
14
|
+
import { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
|
|
15
|
+
|
|
16
|
+
interface DmsObjectPermissions {
|
|
17
|
+
readIndexData: boolean;
|
|
18
|
+
readContent: boolean;
|
|
19
|
+
writeIndexData: boolean;
|
|
20
|
+
writeContent: boolean;
|
|
21
|
+
deleteObject: boolean;
|
|
22
|
+
deleteContent: boolean;
|
|
23
|
+
}
|
|
24
|
+
interface DmsObjectAuditInfo {
|
|
25
|
+
on: Date;
|
|
26
|
+
by: {
|
|
27
|
+
id: string;
|
|
28
|
+
title?: string;
|
|
29
|
+
name?: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
interface DmsObjectTag {
|
|
33
|
+
name: string;
|
|
34
|
+
state: number;
|
|
35
|
+
creationDate: Date;
|
|
36
|
+
traceId: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
interface ObjectOptions {
|
|
40
|
+
waitForSearchConsistency?: boolean;
|
|
41
|
+
scope?: string;
|
|
42
|
+
}
|
|
43
|
+
interface ObjectDeleteOptions extends ObjectOptions {
|
|
44
|
+
silent?: boolean;
|
|
45
|
+
greedy?: boolean;
|
|
46
|
+
}
|
|
47
|
+
interface ObjectDeleteResult {
|
|
48
|
+
id: string;
|
|
49
|
+
properties?: {
|
|
50
|
+
[key: string]: {
|
|
51
|
+
value: any;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
_error?: ObjectDeleteError;
|
|
55
|
+
}
|
|
56
|
+
interface ObjectDeleteError {
|
|
57
|
+
status: number;
|
|
58
|
+
message: string;
|
|
59
|
+
}
|
|
60
|
+
interface ObjectMoveOptions extends ObjectOptions {
|
|
61
|
+
silent?: boolean;
|
|
62
|
+
}
|
|
63
|
+
interface ObjectCopyOptions extends ObjectOptions {
|
|
64
|
+
}
|
|
65
|
+
interface CoreApiObject {
|
|
66
|
+
properties: Record<string, CoreApiObjectProperty>;
|
|
67
|
+
contentStreams?: Partial<ContentStream$1>[];
|
|
68
|
+
}
|
|
69
|
+
interface CoreApiObjectProperty {
|
|
70
|
+
value: unknown;
|
|
71
|
+
}
|
|
72
|
+
interface ContentStream$1 {
|
|
73
|
+
contentStreamId: string;
|
|
74
|
+
repositoryId: string;
|
|
75
|
+
digest: string;
|
|
76
|
+
fileName: string;
|
|
77
|
+
size: number;
|
|
78
|
+
archivePath?: string;
|
|
79
|
+
range?: string;
|
|
80
|
+
mimeType: string;
|
|
81
|
+
}
|
|
82
|
+
interface CoreApiBatchResponse {
|
|
83
|
+
hasMoreItems: boolean;
|
|
84
|
+
numItems: number;
|
|
85
|
+
objects: CoreApiResponse[];
|
|
86
|
+
totalNumItems: number;
|
|
87
|
+
}
|
|
88
|
+
interface CoreApiResponse {
|
|
89
|
+
properties: Record<string, CoreApiObjectProperty>;
|
|
90
|
+
contentStreams?: ContentStream$1[];
|
|
91
|
+
options: {
|
|
92
|
+
'system:response': {
|
|
93
|
+
httpStatusCode: number;
|
|
94
|
+
serviceErrorCode?: number;
|
|
95
|
+
message: string;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
type DateRange = 'today' | 'yesterday' | 'thisWeek' | 'lastWeek' | 'thisMonth' | 'lastMonth' | 'thisYear' | 'lastYear';
|
|
101
|
+
type FilesizeRange = 'small' | 'medium' | 'large' | 'verylarge';
|
|
102
|
+
interface SearchQuery {
|
|
103
|
+
term?: string;
|
|
104
|
+
scope?: 'metadata' | 'content';
|
|
105
|
+
size?: number;
|
|
106
|
+
from?: number;
|
|
107
|
+
fields?: string[];
|
|
108
|
+
aggs?: string[];
|
|
109
|
+
types?: string[];
|
|
110
|
+
filters?: SearchFilter[];
|
|
111
|
+
tableFilters?: TableFilter[];
|
|
112
|
+
sort?: SortOption[];
|
|
113
|
+
includePermissions?: boolean;
|
|
114
|
+
}
|
|
115
|
+
interface SortOption {
|
|
116
|
+
field: string;
|
|
117
|
+
order: 'asc' | 'desc';
|
|
118
|
+
}
|
|
119
|
+
interface SearchFilter {
|
|
120
|
+
f: string;
|
|
121
|
+
o: Operator;
|
|
122
|
+
v1: unknown;
|
|
123
|
+
v2?: unknown;
|
|
124
|
+
useNot?: boolean;
|
|
125
|
+
}
|
|
126
|
+
interface TableFilter {
|
|
127
|
+
table: string;
|
|
128
|
+
columnFilters: SearchFilter[];
|
|
129
|
+
}
|
|
130
|
+
declare enum Operator {
|
|
131
|
+
EQUAL = "eq",// equal
|
|
132
|
+
EEQUAL = "eeq",// exact equal
|
|
133
|
+
IN = "in",// match at least one of the provided values (value has to be an array)
|
|
134
|
+
GREATER_THAN = "gt",// greater than
|
|
135
|
+
GREATER_OR_EQUAL = "gte",// greater than or equal
|
|
136
|
+
LESS_THAN = "lt",// less than
|
|
137
|
+
LESS_OR_EQUAL = "lte",// less than or equal
|
|
138
|
+
INTERVAL = "gtlt",// interval
|
|
139
|
+
INTERVAL_INCLUDE_BOTH = "gtelte",// interval include left and right
|
|
140
|
+
INTERVAL_INCLUDE_TO = "gtlte",// interval include right
|
|
141
|
+
INTERVAL_INCLUDE_FROM = "gtelt",// interval include left
|
|
142
|
+
RANGE = "rg",// aggegation ranges
|
|
143
|
+
LIKE = "like",// like
|
|
144
|
+
CONTAINS = "contains"
|
|
145
|
+
}
|
|
146
|
+
declare const OperatorLabel: {
|
|
147
|
+
/** equal */
|
|
148
|
+
EQUAL: string;
|
|
149
|
+
/** exact equal */
|
|
150
|
+
EEQUAL: string;
|
|
151
|
+
/** match at least one of the provided values (value has to be an array) */
|
|
152
|
+
IN: string;
|
|
153
|
+
/** greater than */
|
|
154
|
+
GREATER_THAN: string;
|
|
155
|
+
/** greater than or equal */
|
|
156
|
+
GREATER_OR_EQUAL: string;
|
|
157
|
+
LESS_THAN: string;
|
|
158
|
+
LESS_OR_EQUAL: string;
|
|
159
|
+
INTERVAL: string;
|
|
160
|
+
INTERVAL_INCLUDE_BOTH: string;
|
|
161
|
+
INTERVAL_INCLUDE_TO: string;
|
|
162
|
+
INTERVAL_INCLUDE_FROM: string;
|
|
163
|
+
RANGE: string;
|
|
164
|
+
LIKE: string;
|
|
165
|
+
CONTAINS: string;
|
|
166
|
+
};
|
|
167
|
+
interface SearchResponse {
|
|
168
|
+
hasMoreItems: boolean;
|
|
169
|
+
numItems: number;
|
|
170
|
+
totalNumItems: number;
|
|
171
|
+
objects: CoreApiObject[];
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Interface providing a search service
|
|
175
|
+
*/
|
|
176
|
+
interface SearchResult {
|
|
177
|
+
hasMoreItems: boolean;
|
|
178
|
+
totalNumItems: number;
|
|
179
|
+
items: SearchResultItem[];
|
|
180
|
+
objectTypes: string[];
|
|
181
|
+
paging?: {
|
|
182
|
+
page: number;
|
|
183
|
+
totalPages: number;
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Interface for the item of search results
|
|
188
|
+
*/
|
|
189
|
+
interface SearchResultItem {
|
|
190
|
+
objectTypeId: string;
|
|
191
|
+
content?: SearchResultContent;
|
|
192
|
+
permissions?: SearchResultPermissions;
|
|
193
|
+
fields: Map<string, any>;
|
|
194
|
+
}
|
|
195
|
+
interface SearchResultPermissions {
|
|
196
|
+
read: Array<'metadata' | 'content'>;
|
|
197
|
+
write: Array<'metadata' | 'content'>;
|
|
198
|
+
delete: Array<'object' | 'content'>;
|
|
199
|
+
}
|
|
200
|
+
type SearchResultContent = ContentStream$1;
|
|
201
|
+
/**
|
|
202
|
+
* Interface providing the estimated result of the current query.
|
|
203
|
+
*/
|
|
204
|
+
interface AggregateResult {
|
|
205
|
+
/**
|
|
206
|
+
* number of results found
|
|
207
|
+
*/
|
|
208
|
+
totalNumItems: number;
|
|
209
|
+
aggregations: Aggregation[];
|
|
210
|
+
}
|
|
211
|
+
interface AggregationEntry {
|
|
212
|
+
key: string;
|
|
213
|
+
count: number;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Property of a one search query aggregation
|
|
217
|
+
*/
|
|
218
|
+
interface Aggregation {
|
|
219
|
+
aggKey: string;
|
|
220
|
+
entries: AggregationEntry[];
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* `DmsObject` is a business object of a type that generally contain a document file in addition to its metadata.
|
|
225
|
+
* Document file can be text documents, e-mails, image files, video, etc.
|
|
226
|
+
* Each object type classifies the object and defines the properties that the object must have or is allowed to have.
|
|
227
|
+
*/
|
|
228
|
+
declare class DmsObject {
|
|
229
|
+
#private;
|
|
230
|
+
id: string;
|
|
231
|
+
parentId: string;
|
|
232
|
+
content?: ContentStream$1;
|
|
233
|
+
data: Record<string, unknown>;
|
|
234
|
+
isFolder: boolean;
|
|
235
|
+
objectTypeId: string;
|
|
236
|
+
permissions?: DmsObjectPermissions;
|
|
237
|
+
version: number;
|
|
238
|
+
created: DmsObjectAuditInfo;
|
|
239
|
+
modified: DmsObjectAuditInfo;
|
|
240
|
+
sots: string[];
|
|
241
|
+
/**
|
|
242
|
+
* @ignore
|
|
243
|
+
*/
|
|
244
|
+
constructor(searchResultItem: SearchResultItem);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
interface FlavoredDmsObject {
|
|
248
|
+
object: DmsObject;
|
|
249
|
+
flavors: ObjectTypeFlavor[];
|
|
250
|
+
}
|
|
251
|
+
interface ObjectTypeFlavor {
|
|
252
|
+
id: string;
|
|
253
|
+
icon?: string;
|
|
254
|
+
svgIcon?: boolean;
|
|
255
|
+
sot: string;
|
|
256
|
+
applicableTo?: {
|
|
257
|
+
mimeTypes?: string[];
|
|
258
|
+
folders?: boolean;
|
|
259
|
+
documents?: boolean;
|
|
260
|
+
};
|
|
261
|
+
preventApply?: boolean;
|
|
262
|
+
preventRemove?: boolean;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Create flavors can be used to provide a specific way of creating objects.
|
|
266
|
+
*/
|
|
267
|
+
interface ObjectCreateFlavor {
|
|
268
|
+
id: string;
|
|
269
|
+
descriptionKey?: string;
|
|
270
|
+
icon?: string;
|
|
271
|
+
withFileUpload?: {
|
|
272
|
+
applicableTo?: {
|
|
273
|
+
mimeTypes: string[];
|
|
274
|
+
};
|
|
275
|
+
multiple?: boolean;
|
|
276
|
+
};
|
|
277
|
+
sot?: string;
|
|
278
|
+
getCreateData?: (files?: File[]) => Record<string, unknown>;
|
|
279
|
+
afterCreate?: (ids: string[], router: Router) => void;
|
|
280
|
+
applyComponent?: Type<any>;
|
|
281
|
+
applyComponentDialogConfig?: {
|
|
282
|
+
width?: string;
|
|
283
|
+
height?: string;
|
|
284
|
+
minWidth?: number | string;
|
|
285
|
+
minHeight?: number | string;
|
|
286
|
+
maxWidth?: number | string;
|
|
287
|
+
maxHeight?: number | string;
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Value class to be used with form elements that support ranges
|
|
293
|
+
*/
|
|
294
|
+
interface RangeValue<T = unknown> {
|
|
295
|
+
operator: Operator;
|
|
296
|
+
firstValue: T;
|
|
297
|
+
secondValue?: T;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* @ignore
|
|
302
|
+
*/
|
|
303
|
+
declare class YuvError implements Error {
|
|
304
|
+
originalError: any | Error;
|
|
305
|
+
private _name?;
|
|
306
|
+
private _message?;
|
|
307
|
+
private _skipNotification;
|
|
308
|
+
get name(): any;
|
|
309
|
+
get message(): any;
|
|
310
|
+
get stack(): any;
|
|
311
|
+
get status(): any;
|
|
312
|
+
get url(): any;
|
|
313
|
+
get skipNotification(): boolean;
|
|
314
|
+
get isHttpErrorResponse(): any;
|
|
315
|
+
constructor(originalError: any | Error, _name?: string | undefined, _message?: string | undefined, _skipNotification?: boolean);
|
|
316
|
+
toString(): any;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Represents an entry in the organization set, which can be either a user or a role.
|
|
321
|
+
* Used in search results and organization entity queries.
|
|
322
|
+
*/
|
|
323
|
+
interface OrganizationSetEntry {
|
|
324
|
+
/** The unique identifier of the user or role */
|
|
325
|
+
id: string;
|
|
326
|
+
/** The display title/name for the entry */
|
|
327
|
+
title: string;
|
|
328
|
+
/** The type of organization entity */
|
|
329
|
+
type: 'user' | 'role';
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Represents the user data structure returned from the IDM API.
|
|
334
|
+
* Contains all essential user information including authentication and authorization details.
|
|
335
|
+
*/
|
|
336
|
+
interface IdmUserResponse {
|
|
337
|
+
/** The unique username for login */
|
|
338
|
+
username: string;
|
|
339
|
+
/** The unique user identifier */
|
|
340
|
+
id: string;
|
|
341
|
+
/** The user's email address */
|
|
342
|
+
email: string;
|
|
343
|
+
/** The user's first name */
|
|
344
|
+
firstname: string;
|
|
345
|
+
/** The user's last name */
|
|
346
|
+
lastname: string;
|
|
347
|
+
/** Whether the user account is enabled/active */
|
|
348
|
+
enabled: boolean;
|
|
349
|
+
/** The tenant identifier this user belongs to */
|
|
350
|
+
tenant: string;
|
|
351
|
+
/** Array of granted authorities/permissions for the user */
|
|
352
|
+
authorities: string[];
|
|
353
|
+
/** The formatted display name for the user */
|
|
354
|
+
displayName: string;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Represents a cached user entry with expiration timestamp.
|
|
359
|
+
* Used internally by IdmService to manage user data caching.
|
|
360
|
+
*/
|
|
361
|
+
interface IdmCachedUser {
|
|
362
|
+
/** Timestamp when the cache expires (Date.now() + TTL) */
|
|
363
|
+
expires: number;
|
|
364
|
+
/** The cached user data from the IDM API */
|
|
365
|
+
user: IdmUserResponse;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Dictionary/map structure for storing cached user data.
|
|
370
|
+
* Keys are user IDs and values are cached user entries with expiration.
|
|
371
|
+
*/
|
|
372
|
+
interface IdmUserCache {
|
|
373
|
+
/** Map of user IDs to their cached user data */
|
|
374
|
+
[userId: string]: IdmCachedUser;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* User account configuration
|
|
379
|
+
*/
|
|
380
|
+
declare class YuvUser {
|
|
381
|
+
private DEFAULT_USER_LOCALE;
|
|
382
|
+
id: string;
|
|
383
|
+
username: string;
|
|
384
|
+
firstname: string;
|
|
385
|
+
lastname: string;
|
|
386
|
+
title: string;
|
|
387
|
+
email: string;
|
|
388
|
+
tenant: string;
|
|
389
|
+
authorities: string[];
|
|
390
|
+
enabled: boolean;
|
|
391
|
+
/**
|
|
392
|
+
* User settings
|
|
393
|
+
*/
|
|
394
|
+
uiDirection?: string;
|
|
395
|
+
/**
|
|
396
|
+
* User settings
|
|
397
|
+
*/
|
|
398
|
+
userSettings: UserSettings;
|
|
399
|
+
/**
|
|
400
|
+
* @ignore
|
|
401
|
+
*/
|
|
402
|
+
constructor(json: IdmUserResponse, userSettings?: UserSettings);
|
|
403
|
+
/**
|
|
404
|
+
* Gets the users configured client locale
|
|
405
|
+
* @returns locale string
|
|
406
|
+
*/
|
|
407
|
+
getClientLocale(fallback?: string): string;
|
|
408
|
+
getFullName(): string;
|
|
409
|
+
getDisplayNameName(): string;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Interface for user settings
|
|
413
|
+
*/
|
|
414
|
+
interface UserSettings {
|
|
415
|
+
locale: string;
|
|
416
|
+
clientAppSettings?: Record<string, any>;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Is a part of `AuditQueryResult` interface
|
|
421
|
+
*/
|
|
422
|
+
interface AuditEntry {
|
|
423
|
+
action: number;
|
|
424
|
+
actionGroup: number;
|
|
425
|
+
detail: string;
|
|
426
|
+
subaction?: number;
|
|
427
|
+
creationDate: Date;
|
|
428
|
+
version: number;
|
|
429
|
+
createdBy: {
|
|
430
|
+
id: string;
|
|
431
|
+
title: string;
|
|
432
|
+
};
|
|
433
|
+
more?: string;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Interface for a result object of a former audits query
|
|
437
|
+
*/
|
|
438
|
+
interface AuditQueryResult {
|
|
439
|
+
/**
|
|
440
|
+
* the original query, needed for later on paging requests
|
|
441
|
+
*/
|
|
442
|
+
query: SearchQuery;
|
|
443
|
+
items: AuditEntry[];
|
|
444
|
+
hasMoreItems: boolean;
|
|
445
|
+
/**
|
|
446
|
+
* the page of the current result (in case of multi-page results, otherwise 1)
|
|
447
|
+
*/
|
|
448
|
+
page: number;
|
|
449
|
+
}
|
|
450
|
+
interface AuditQueryOptions {
|
|
451
|
+
/**
|
|
452
|
+
* List of actions (codes) to restricts the audits to
|
|
453
|
+
*/
|
|
454
|
+
actions?: string[];
|
|
455
|
+
/**
|
|
456
|
+
* Actions that should explicitly NOT be fetched
|
|
457
|
+
*/
|
|
458
|
+
skipActions?: number[];
|
|
459
|
+
/**
|
|
460
|
+
* Whether or not to query all audit entries, without the user
|
|
461
|
+
* or admin filter conditions
|
|
462
|
+
*/
|
|
463
|
+
allActions?: boolean;
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Service providing access to the systems audit entries. Audits can be seen as the history of
|
|
468
|
+
* an object. Actions perormed on an object (eg. read, write, delete, ...) will be recorded during
|
|
469
|
+
* the objects lifecycle. Audits are provided based on a users permissions. Beside the audit entries
|
|
470
|
+
* visible to regular users there are more technical ones that will only be shown to users that
|
|
471
|
+
* have administrative role.
|
|
472
|
+
*/
|
|
473
|
+
declare class AuditService {
|
|
474
|
+
#private;
|
|
475
|
+
private DEFAULT_RES_SIZE;
|
|
476
|
+
private userAuditActions;
|
|
477
|
+
private adminAuditActions;
|
|
478
|
+
/**
|
|
479
|
+
* Get audit entries of a dms object
|
|
480
|
+
* @param id The id of the object to get the audit entries for
|
|
481
|
+
* @param options Options
|
|
482
|
+
*/
|
|
483
|
+
getAuditEntries(id: string, options?: AuditQueryOptions): Observable<AuditQueryResult>;
|
|
484
|
+
/**
|
|
485
|
+
* Get an array of action codes that are provided by the service. Based on
|
|
486
|
+
* whether or not the user has admin permissions you'll get a different
|
|
487
|
+
* set of actions.
|
|
488
|
+
* @param skipActions codes of actions that should not be fetched
|
|
489
|
+
*/
|
|
490
|
+
getAuditActions(allActions: boolean, skipActions?: number[]): number[];
|
|
491
|
+
/**
|
|
492
|
+
* Get a certain page for a former audits query.
|
|
493
|
+
* @param auditsResult The result object of a former audits query
|
|
494
|
+
* @param page The page to load
|
|
495
|
+
*/
|
|
496
|
+
getPage(auditsResult: AuditQueryResult, page: number): Observable<AuditQueryResult>;
|
|
497
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuditService, never>;
|
|
498
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuditService>;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
/**
|
|
502
|
+
* Result when calling loginDevice endpoint in cloud environment
|
|
503
|
+
* when using device flow
|
|
504
|
+
*/
|
|
505
|
+
interface LoginDeviceResult {
|
|
506
|
+
user_code: string;
|
|
507
|
+
device_code: string;
|
|
508
|
+
interval: number;
|
|
509
|
+
verification_uri: string;
|
|
510
|
+
expires_in: number;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* @ignore
|
|
514
|
+
*/
|
|
515
|
+
interface StoredToken {
|
|
516
|
+
accessToken: string;
|
|
517
|
+
tenant: string;
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* State emitted by the login function when using the device flow
|
|
521
|
+
*/
|
|
522
|
+
interface LoginState {
|
|
523
|
+
name: LoginStateName;
|
|
524
|
+
data: any;
|
|
525
|
+
}
|
|
526
|
+
declare enum LoginStateName {
|
|
527
|
+
STATE_LOGIN_URI = "login.uri",
|
|
528
|
+
STATE_DONE = "login.done",
|
|
529
|
+
STATE_CANCELED = "login.canceled"
|
|
530
|
+
}
|
|
531
|
+
interface YuvInitError {
|
|
532
|
+
status: number;
|
|
533
|
+
key: string;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* Interface for the applications main config file
|
|
538
|
+
* @ignore
|
|
539
|
+
*/
|
|
540
|
+
interface YuvConfig {
|
|
541
|
+
core: {
|
|
542
|
+
languages: YuvConfigLanguages[];
|
|
543
|
+
logging?: {
|
|
544
|
+
level: 'debug' | 'error' | 'warn' | 'info';
|
|
545
|
+
};
|
|
546
|
+
permissions?: {
|
|
547
|
+
retentionManagerRole?: string;
|
|
548
|
+
advancedUserRole?: string;
|
|
549
|
+
manageSettingsRole?: string;
|
|
550
|
+
};
|
|
551
|
+
};
|
|
552
|
+
location?: {
|
|
553
|
+
hostname?: string;
|
|
554
|
+
port?: number;
|
|
555
|
+
};
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* interface providing localization of application
|
|
559
|
+
*/
|
|
560
|
+
interface YuvConfigLanguages {
|
|
561
|
+
iso: string;
|
|
562
|
+
label: string;
|
|
563
|
+
dir?: Direction;
|
|
564
|
+
fallback?: boolean;
|
|
565
|
+
}
|
|
566
|
+
declare enum Direction {
|
|
567
|
+
LTR = "ltr",
|
|
568
|
+
RTL = "rtl"
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* @ignore
|
|
573
|
+
*/
|
|
574
|
+
declare class CoreConfig {
|
|
575
|
+
main?: YuvConfig | string[];
|
|
576
|
+
translations?: string[];
|
|
577
|
+
environment?: {
|
|
578
|
+
production: boolean;
|
|
579
|
+
};
|
|
580
|
+
constructor(__config: CoreConfig);
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Service handling authentication related issues.
|
|
585
|
+
*/
|
|
586
|
+
declare class AuthService {
|
|
587
|
+
#private;
|
|
588
|
+
coreConfig: CoreConfig;
|
|
589
|
+
authenticated$: Observable<boolean>;
|
|
590
|
+
initError?: YuvInitError;
|
|
591
|
+
constructor(coreConfig: CoreConfig);
|
|
592
|
+
isLoggedIn(): boolean;
|
|
593
|
+
/**
|
|
594
|
+
* Called while app/core is initialized (APP_INITIALIZER)
|
|
595
|
+
* @ignore
|
|
596
|
+
*/
|
|
597
|
+
initUser(): Observable<YuvUser>;
|
|
598
|
+
/**
|
|
599
|
+
* Get the current tenant or the previous one persisted locally
|
|
600
|
+
*/
|
|
601
|
+
getTenant(): string;
|
|
602
|
+
/**
|
|
603
|
+
* Fetch information about the user currently logged in
|
|
604
|
+
*/
|
|
605
|
+
fetchUser(): Observable<YuvUser>;
|
|
606
|
+
/**
|
|
607
|
+
* Logs out the current user.
|
|
608
|
+
*/
|
|
609
|
+
logout(): void;
|
|
610
|
+
/**
|
|
611
|
+
* Persists the initial request URI. This is nessesary to be able to
|
|
612
|
+
* redirect the user to the requested page after authentication.
|
|
613
|
+
* This is done on app initialization (core-init).
|
|
614
|
+
*/
|
|
615
|
+
setInitialRequestUri(): Observable<boolean>;
|
|
616
|
+
/**
|
|
617
|
+
* Get the URL that entered the app. May be a deep link that could then be
|
|
618
|
+
* picked up again after user has been authenticated.
|
|
619
|
+
*/
|
|
620
|
+
getInitialRequestUri(): Observable<{
|
|
621
|
+
uri: string;
|
|
622
|
+
timestamp: number;
|
|
623
|
+
}>;
|
|
624
|
+
resetInitialRequestUri(): Observable<any>;
|
|
625
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
|
|
626
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
|
|
627
|
+
}
|
|
628
|
+
interface AuthData {
|
|
629
|
+
tenant: string;
|
|
630
|
+
language: string;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
declare enum ApiBase {
|
|
634
|
+
core = "api",
|
|
635
|
+
apiWeb = "api-web/api",
|
|
636
|
+
predict = "predict-api/api",
|
|
637
|
+
custom = "custom",
|
|
638
|
+
none = ""
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
/**
|
|
642
|
+
* HttpOptions for http request
|
|
643
|
+
* @param observe: 'body' | 'events' | 'response'
|
|
644
|
+
* @param responseType: 'arraybuffer' | 'blob' | 'json' | 'text'
|
|
645
|
+
*/
|
|
646
|
+
interface HttpOptions {
|
|
647
|
+
headers?: HttpHeaders | {
|
|
648
|
+
[header: string]: string | string[];
|
|
649
|
+
};
|
|
650
|
+
observe?: any;
|
|
651
|
+
params?: HttpParams | {
|
|
652
|
+
[param: string]: string | string[];
|
|
653
|
+
};
|
|
654
|
+
reportProgress?: boolean;
|
|
655
|
+
responseType?: any;
|
|
656
|
+
withCredentials?: boolean;
|
|
657
|
+
}
|
|
658
|
+
interface HttpDeleteOptions extends HttpOptions {
|
|
659
|
+
body?: any;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* Load and provide configuration for hole apllication while application is inizialized.
|
|
664
|
+
*/
|
|
665
|
+
declare class ConfigService {
|
|
666
|
+
private translate;
|
|
667
|
+
static GLOBAL_RESOURCES: string;
|
|
668
|
+
static PARSER(c: any): any;
|
|
669
|
+
static GLOBAL_MAIN_CONFIG(prefix?: 'system' | 'admin' | ''): string;
|
|
670
|
+
static GLOBAL_MAIN_CONFIG_LANG(iso?: string, prefix?: 'system' | 'admin' | ''): string;
|
|
671
|
+
static GLOBAL_RESOURCES_PATH(section?: string, prefix?: 'system' | 'admin' | ''): string;
|
|
672
|
+
private cfg?;
|
|
673
|
+
/**
|
|
674
|
+
* Set during app init (see CoreInit)
|
|
675
|
+
* @ignore
|
|
676
|
+
*/
|
|
677
|
+
set(cfg: YuvConfig): void;
|
|
678
|
+
get(configKey: string): any;
|
|
679
|
+
extendTranslations(translations: any, lang?: string): void;
|
|
680
|
+
extendConfig(configs: YuvConfig[]): void;
|
|
681
|
+
private _mergeConfigs;
|
|
682
|
+
/**
|
|
683
|
+
* Getter for the available client locales
|
|
684
|
+
* @returns available client locales
|
|
685
|
+
*/
|
|
686
|
+
getClientLocales(): YuvConfigLanguages[];
|
|
687
|
+
getApiBase(api?: string, origin?: boolean): string;
|
|
688
|
+
/**
|
|
689
|
+
* Get the default client locale
|
|
690
|
+
* @returns ISO string of the locale
|
|
691
|
+
*/
|
|
692
|
+
getDefaultClientLocale(): string;
|
|
693
|
+
private _getCoreConfig;
|
|
694
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService, never>;
|
|
695
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
/**
|
|
699
|
+
* Service for HTTP communication with the yuuvis Momentum backend.
|
|
700
|
+
*
|
|
701
|
+
* This service wraps Angular's HttpClient and provides:
|
|
702
|
+
* - Automatic base URI management for different backend services
|
|
703
|
+
* - Centralized header management (authorization, content-type, etc.)
|
|
704
|
+
* - Response caching with configurable TTL
|
|
705
|
+
* - HTTP activity tracking for session management
|
|
706
|
+
* - Standardized error handling and logging
|
|
707
|
+
*
|
|
708
|
+
* **Why Use This Service:**
|
|
709
|
+
* Applications should use BackendService instead of HttpClient directly because
|
|
710
|
+
* required headers (authentication, content-type) are automatically managed,
|
|
711
|
+
* and apps don't have to handle backend URL construction and prerequisites.
|
|
712
|
+
*
|
|
713
|
+
* **HTTP Activity Tracking:**
|
|
714
|
+
* All HTTP requests emit events via `httpCommunicationOccurred$`, which is used by
|
|
715
|
+
* SessionService and other consumers to detect user activity and keep sessions alive.
|
|
716
|
+
*
|
|
717
|
+
* @see {@link SessionService} for session management integration (Task HAR-2975)
|
|
718
|
+
*/
|
|
719
|
+
declare class BackendService {
|
|
720
|
+
#private;
|
|
721
|
+
configService: ConfigService;
|
|
722
|
+
httpCommunicationOccurred$: Observable<void>;
|
|
723
|
+
/**
|
|
724
|
+
* OpenIdConnect authorization headers
|
|
725
|
+
*/
|
|
726
|
+
getAuthHeaders(): HttpHeaders;
|
|
727
|
+
/**
|
|
728
|
+
* Add a new header.
|
|
729
|
+
* @param key The headers name
|
|
730
|
+
* @param value The value to be added to the headers. Setting this to null
|
|
731
|
+
* will remove the header
|
|
732
|
+
*/
|
|
733
|
+
setHeader(key: string, value: string): void;
|
|
734
|
+
/**
|
|
735
|
+
* Performs an HTTP GET request against a yuuvis Momentum backend endpoint.
|
|
736
|
+
*
|
|
737
|
+
* Automatically prepends the resolved base URI (via {@link getApiBase}) to the given `uri`,
|
|
738
|
+
* applies centralized headers (authorization, content-type) and emits an event on
|
|
739
|
+
* `httpCommunicationOccurred$` after each successful response — used by SessionService
|
|
740
|
+
* to keep the session alive.
|
|
741
|
+
*
|
|
742
|
+
* @param uri REST URI relative to the selected backend service base. Must start with `/`,
|
|
743
|
+
* e.g. `/api/dms/objects/{objectId}`.
|
|
744
|
+
* @param base Selects which backend service base URL to use.
|
|
745
|
+
* @param requestOptions Optional Angular `HttpClient` options (headers, params, responseType, etc.)
|
|
746
|
+
* merged on top of the default headers set by this service.
|
|
747
|
+
* @returns An `Observable<T>` that emits the deserialized response body and completes.
|
|
748
|
+
* Unsubscribing before completion cancels the underlying HTTP request.
|
|
749
|
+
*/
|
|
750
|
+
get<T = any>(uri: string, base?: string, requestOptions?: HttpOptions): Observable<T>;
|
|
751
|
+
/**
|
|
752
|
+
* Wrapped HTTP POST method
|
|
753
|
+
* @param uri The target REST URI
|
|
754
|
+
* @param data Data to be 'posted'
|
|
755
|
+
* @param base The Base URI (backend service) to be used
|
|
756
|
+
* @param requestOptions Additional request options
|
|
757
|
+
* @returns The return value of the target POST endpoint
|
|
758
|
+
*/
|
|
759
|
+
post<T = any>(uri: string, data?: any, base?: string, requestOptions?: HttpOptions): Observable<T>;
|
|
760
|
+
/**
|
|
761
|
+
* Performs a multipart form data POST request.
|
|
762
|
+
* @param uri The target REST URI
|
|
763
|
+
* @param formData FormData to be 'posted'
|
|
764
|
+
* @param base The Base URI (backend service) to be used
|
|
765
|
+
* @param requestOptions Additional request options (see HttpRequest for details)
|
|
766
|
+
* @returns The return value of the target POST endpoint
|
|
767
|
+
*/
|
|
768
|
+
postMultiPart(uri: string, formData: FormData, base?: string, requestOptions?: any): Observable<any>;
|
|
769
|
+
/**
|
|
770
|
+
* Wrapped HTTP PATCH method
|
|
771
|
+
* @param uri The target REST URI
|
|
772
|
+
* @param data Data to be 'patched'
|
|
773
|
+
* @param base The Base URI (backend service) to be used
|
|
774
|
+
* @param requestOptions Additional request options
|
|
775
|
+
* @returns The return value of the target PATCH endpoint
|
|
776
|
+
*/
|
|
777
|
+
patch<T = any>(uri: string, data?: any, base?: string, requestOptions?: HttpOptions): Observable<T>;
|
|
778
|
+
/**
|
|
779
|
+
* Wrapped HTTP PUT method
|
|
780
|
+
* @param uri The target REST URI
|
|
781
|
+
* @param data Data to be 'posted'
|
|
782
|
+
* @param base The Base URI (backend service) to be used
|
|
783
|
+
* @param requestOptions Additional request options
|
|
784
|
+
* @returns The return value of the target PUT endpoint
|
|
785
|
+
*/
|
|
786
|
+
put<T = any>(uri: string, data?: any, base?: string, requestOptions?: HttpOptions): Observable<T>;
|
|
787
|
+
/**
|
|
788
|
+
* Wrapped HTTP DELETE method
|
|
789
|
+
* @param uri The target REST URI
|
|
790
|
+
* @param base The Base URI (backend service) to be used
|
|
791
|
+
* @param requestOptions Additional request options
|
|
792
|
+
* @returns The return value of the target DELETE endpoint
|
|
793
|
+
*/
|
|
794
|
+
delete<T = any>(uri: string, base?: string, requestOptions?: HttpDeleteOptions): Observable<T>;
|
|
795
|
+
/**
|
|
796
|
+
* @ignore
|
|
797
|
+
* Cache for small requests like icons and configs
|
|
798
|
+
*
|
|
799
|
+
* @param string uri
|
|
800
|
+
* @returns Observable<any>
|
|
801
|
+
*/
|
|
802
|
+
getViaCache(uri: string): Observable<any>;
|
|
803
|
+
/**
|
|
804
|
+
* @ignore
|
|
805
|
+
* Temporary Cache for multiple identical requests
|
|
806
|
+
*
|
|
807
|
+
* @param string id
|
|
808
|
+
* @param Function request
|
|
809
|
+
* @returns Observable<any>
|
|
810
|
+
*/
|
|
811
|
+
getViaTempCache(id: string, request?: () => Observable<object>): Observable<any>;
|
|
812
|
+
download(uri: string, filename?: string): void;
|
|
813
|
+
/**
|
|
814
|
+
* Gets the base URI for an API endpoint
|
|
815
|
+
* @param api The API to get the base URI for. Leaving this blank will return
|
|
816
|
+
* base URI for the web API
|
|
817
|
+
* @param origin The flag to include location origin
|
|
818
|
+
* @returns Base URI for the given API.
|
|
819
|
+
*/
|
|
820
|
+
getApiBase(api?: string, origin?: boolean): string;
|
|
821
|
+
/**
|
|
822
|
+
* @ignore
|
|
823
|
+
*/
|
|
824
|
+
getHttpOptions(requestOptions?: HttpOptions): HttpOptions;
|
|
825
|
+
/**
|
|
826
|
+
* Batch service
|
|
827
|
+
*/
|
|
828
|
+
batch(requests: {
|
|
829
|
+
method?: string;
|
|
830
|
+
uri: string;
|
|
831
|
+
body?: any;
|
|
832
|
+
base?: string;
|
|
833
|
+
requestOptions?: HttpOptions;
|
|
834
|
+
}[]): Observable<any[]>;
|
|
835
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BackendService, never>;
|
|
836
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BackendService>;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
declare const ProcessAction: {
|
|
840
|
+
complete: string;
|
|
841
|
+
claim: string;
|
|
842
|
+
delegate: string;
|
|
843
|
+
resolve: string;
|
|
844
|
+
save: string;
|
|
845
|
+
};
|
|
846
|
+
interface Process {
|
|
847
|
+
id: string;
|
|
848
|
+
attachments: string[];
|
|
849
|
+
businessKey: string;
|
|
850
|
+
deleteReason: string;
|
|
851
|
+
durationInMillis: number;
|
|
852
|
+
endActivityId: string;
|
|
853
|
+
endTime: Date;
|
|
854
|
+
initiator: ProcessUser;
|
|
855
|
+
name: string;
|
|
856
|
+
processDefinition: {
|
|
857
|
+
description: string;
|
|
858
|
+
id: string;
|
|
859
|
+
idPrefix: string;
|
|
860
|
+
name: string;
|
|
861
|
+
};
|
|
862
|
+
startActivityId: string;
|
|
863
|
+
startTime: Date;
|
|
864
|
+
startUserId: string;
|
|
865
|
+
suspended?: boolean;
|
|
866
|
+
variables: ProcessVariable[];
|
|
867
|
+
}
|
|
868
|
+
interface ProcessCreatePayload extends ProcessPostPayload {
|
|
869
|
+
processDefinitionKey: string;
|
|
870
|
+
name?: string;
|
|
871
|
+
businessKey?: string;
|
|
872
|
+
returnVariables?: boolean;
|
|
873
|
+
}
|
|
874
|
+
interface ProcessPostPayload {
|
|
875
|
+
variables?: ProcessVariable[];
|
|
876
|
+
attachments?: string[];
|
|
877
|
+
subject?: string;
|
|
878
|
+
}
|
|
879
|
+
interface ProcessVariable {
|
|
880
|
+
name: string;
|
|
881
|
+
type?: string;
|
|
882
|
+
value: any;
|
|
883
|
+
readonly?: boolean;
|
|
884
|
+
scope?: string;
|
|
885
|
+
}
|
|
886
|
+
/**
|
|
887
|
+
* Tasks are basically activities defined by a process.
|
|
888
|
+
* Processes may contain several tasks.
|
|
889
|
+
*/
|
|
890
|
+
interface InboxTask {
|
|
891
|
+
id: string;
|
|
892
|
+
processInstanceId: string;
|
|
893
|
+
assignee: ProcessUser;
|
|
894
|
+
claimTime: Date;
|
|
895
|
+
createTime: Date;
|
|
896
|
+
dueDate: Date;
|
|
897
|
+
description: string;
|
|
898
|
+
delegationState?: string;
|
|
899
|
+
formKey: string;
|
|
900
|
+
initiator: ProcessUser;
|
|
901
|
+
name: string;
|
|
902
|
+
owner: ProcessUser;
|
|
903
|
+
parentTaskId: string;
|
|
904
|
+
processDefinition: {
|
|
905
|
+
id: string;
|
|
906
|
+
idPrefix: string;
|
|
907
|
+
};
|
|
908
|
+
subject: string;
|
|
909
|
+
suspended: false;
|
|
910
|
+
variables: ProcessVariable[];
|
|
911
|
+
resolvedValues?: {
|
|
912
|
+
[id: string]: string;
|
|
913
|
+
};
|
|
914
|
+
attachments: string[];
|
|
915
|
+
}
|
|
916
|
+
interface ProcessUser {
|
|
917
|
+
id: string;
|
|
918
|
+
title: string;
|
|
919
|
+
}
|
|
920
|
+
interface FetchTaskOptions {
|
|
921
|
+
businessKey?: string;
|
|
922
|
+
includeProcessVar?: boolean;
|
|
923
|
+
isCompleted?: boolean;
|
|
924
|
+
processDefinitionKey?: string;
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
declare class BpmService {
|
|
928
|
+
#private;
|
|
929
|
+
startProcess(payload: ProcessCreatePayload): Observable<any>;
|
|
930
|
+
/**
|
|
931
|
+
* Finsihes a task.
|
|
932
|
+
* @param taskId ID of the taks to finish
|
|
933
|
+
* @param payload Data to be send with the complete request (may contain attachments, a new subject or variables)
|
|
934
|
+
*/
|
|
935
|
+
completeTask(taskId: string, payload?: ProcessPostPayload): Observable<any>;
|
|
936
|
+
updateTask(taskId: string, payload?: ProcessPostPayload): Observable<any>;
|
|
937
|
+
getProcessPoll(): Observable<any>;
|
|
938
|
+
getProcessInstance(processDefinitionKey: string, options?: FetchTaskOptions): Observable<Process>;
|
|
939
|
+
deleteProcess(processInstanceId: string): Observable<any>;
|
|
940
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BpmService, never>;
|
|
941
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BpmService>;
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
/**
|
|
945
|
+
* Service for saving or caching data on the users device. It uses the most efficient storage
|
|
946
|
+
* available (IndexDB, localstorage, ...) on the device. Depending on the type of storage used,
|
|
947
|
+
* its limitations apply.
|
|
948
|
+
*/
|
|
949
|
+
declare class AppCacheService {
|
|
950
|
+
#private;
|
|
951
|
+
/**
|
|
952
|
+
* Set item in storage.
|
|
953
|
+
* @param key The key under which the value is stored.
|
|
954
|
+
* @param value The value to store.
|
|
955
|
+
* @returns An Observable that emits true when the operation is successful.
|
|
956
|
+
*/
|
|
957
|
+
setItem<T = any>(key: string, value: T): Observable<boolean>;
|
|
958
|
+
/**
|
|
959
|
+
* Get item from storage.
|
|
960
|
+
* @param key The key of the item to retrieve.
|
|
961
|
+
* @returns An Observable that emits the retrieved value.
|
|
962
|
+
*/
|
|
963
|
+
getItem<T = any>(key: string): Observable<T>;
|
|
964
|
+
/**
|
|
965
|
+
* Remove item from storage.
|
|
966
|
+
* @param key The key of the item to remove.
|
|
967
|
+
* @returns An Observable that emits true when the operation is successful.
|
|
968
|
+
*/
|
|
969
|
+
removeItem(key: string): Observable<boolean>;
|
|
970
|
+
/**
|
|
971
|
+
* Clear storage, optionally filtered by a function.
|
|
972
|
+
* @param filter A function to filter which keys to clear.
|
|
973
|
+
* @returns An Observable that emits true when the operation is successful.
|
|
974
|
+
*/
|
|
975
|
+
clear(filter?: (key: any) => boolean): Observable<boolean>;
|
|
976
|
+
/**
|
|
977
|
+
* Get all storage keys.
|
|
978
|
+
* @returns An Observable that emits an array of all storage keys.
|
|
979
|
+
*/
|
|
980
|
+
getStorageKeys(): Observable<string[]>;
|
|
981
|
+
setStorage(options: any): Observable<any>;
|
|
982
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppCacheService, never>;
|
|
983
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AppCacheService>;
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
interface BaseCatalog {
|
|
987
|
+
entries: CatalogEntry[];
|
|
988
|
+
readonly?: boolean;
|
|
989
|
+
}
|
|
990
|
+
interface Catalog extends BaseCatalog {
|
|
991
|
+
qname: string;
|
|
992
|
+
tenant?: string;
|
|
993
|
+
}
|
|
994
|
+
interface CatalogEntry {
|
|
995
|
+
name: string;
|
|
996
|
+
disabled?: boolean;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
declare class CatalogService {
|
|
1000
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CatalogService, never>;
|
|
1001
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CatalogService>;
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
interface CacheEntry<T> {
|
|
1005
|
+
expires?: number;
|
|
1006
|
+
id: string;
|
|
1007
|
+
data: T;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
/**
|
|
1011
|
+
* Service for client-side caching of data with expiry handling.
|
|
1012
|
+
* Provides methods to get, update, and invalidate cache entries.
|
|
1013
|
+
*/
|
|
1014
|
+
declare class ClientCacheService {
|
|
1015
|
+
#private;
|
|
1016
|
+
/**
|
|
1017
|
+
* Get cached entry by ID.
|
|
1018
|
+
* @param id The ID of the cache entry.
|
|
1019
|
+
* @param keepIfExpired Whether to return/keep the entry even if it is expired.
|
|
1020
|
+
* @returns The cached data or null if not found/expired.
|
|
1021
|
+
*/
|
|
1022
|
+
getFromCache<T>(id: string, keepIfExpired?: boolean): Observable<T | null>;
|
|
1023
|
+
/**
|
|
1024
|
+
* Update or add cache entry.
|
|
1025
|
+
* @param id The ID of the cache entry.
|
|
1026
|
+
* @param data The data to cache.
|
|
1027
|
+
* @param ttl TimeToLeave - The cache expiry time in milliseconds (how long to keep the cache entry valid).
|
|
1028
|
+
*/
|
|
1029
|
+
updateCache<T>(id: string, data: T, ttl?: number): Observable<CacheEntry<T>>;
|
|
1030
|
+
/**
|
|
1031
|
+
* Invalidate cache entry by ID. This will remove the entry from the cache.
|
|
1032
|
+
* @param id The ID of the cache entry to invalidate.
|
|
1033
|
+
*/
|
|
1034
|
+
invalidateCache(id: string): Observable<boolean>;
|
|
1035
|
+
/**
|
|
1036
|
+
* Clear all client cache entries.
|
|
1037
|
+
*/
|
|
1038
|
+
clear(): Observable<boolean>;
|
|
1039
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClientCacheService, never>;
|
|
1040
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ClientCacheService>;
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
interface ClipboardStore {
|
|
1044
|
+
buckets?: Record<string, ClipboardData>;
|
|
1045
|
+
main?: ClipboardData;
|
|
1046
|
+
}
|
|
1047
|
+
interface ClipboardData {
|
|
1048
|
+
mode?: ClipboardDataMode;
|
|
1049
|
+
files?: File[];
|
|
1050
|
+
objects?: DmsObject[];
|
|
1051
|
+
}
|
|
1052
|
+
type ClipboardDataMode = 'copy' | 'cut';
|
|
1053
|
+
|
|
1054
|
+
declare class ClipboardService {
|
|
1055
|
+
#private;
|
|
1056
|
+
clipboard(bucket?: string): Signal<ClipboardData | undefined>;
|
|
1057
|
+
clipboard$(bucket?: string): Observable<ClipboardData | undefined>;
|
|
1058
|
+
paste$(bucket?: string): Observable<ClipboardData>;
|
|
1059
|
+
getClipboardData(bucket?: string): ClipboardData | undefined;
|
|
1060
|
+
/**
|
|
1061
|
+
* Add objects to the clipboard
|
|
1062
|
+
* @param bucket Buckets are ways to separate data from the global scope.
|
|
1063
|
+
* If you have an app that would like to have a separate section in the clipboard
|
|
1064
|
+
* you'll use a unique bucket to store your stuff. When observing chages to the
|
|
1065
|
+
* clipboard you couls as well provide the bucket and you will only get
|
|
1066
|
+
*/
|
|
1067
|
+
addObjects(objects: DmsObject[], mode: ClipboardDataMode, bucket?: string): void;
|
|
1068
|
+
clear(bucket?: string): void;
|
|
1069
|
+
addToNavigatorClipBoard(data: string): Promise<void>;
|
|
1070
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClipboardService, never>;
|
|
1071
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ClipboardService>;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
/**
|
|
1075
|
+
* @ignore
|
|
1076
|
+
*/
|
|
1077
|
+
declare const CUSTOM_CONFIG: InjectionToken<CoreConfig>;
|
|
1078
|
+
declare const CORE_CONFIG: InjectionToken<CoreConfig>;
|
|
1079
|
+
|
|
1080
|
+
/**
|
|
1081
|
+
* Service to monitor the online/offline state of the application.
|
|
1082
|
+
* It listens to the browser's online and offline events and provides an observable
|
|
1083
|
+
* to track the current connection state.
|
|
1084
|
+
*
|
|
1085
|
+
* An observable `connection$` is provided which emits the current connection state
|
|
1086
|
+
* whenever the online or offline state changes. The initial state is determined by
|
|
1087
|
+
* the `window.navigator.onLine` property.
|
|
1088
|
+
*/
|
|
1089
|
+
declare class ConnectionService {
|
|
1090
|
+
private currentState;
|
|
1091
|
+
private connectionStateSource;
|
|
1092
|
+
connection$: Observable<ConnectionState>;
|
|
1093
|
+
/**
|
|
1094
|
+
* @ignore
|
|
1095
|
+
*/
|
|
1096
|
+
constructor();
|
|
1097
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionService, never>;
|
|
1098
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionService>;
|
|
1099
|
+
}
|
|
1100
|
+
/**
|
|
1101
|
+
* Check a connection state of a client
|
|
1102
|
+
*/
|
|
1103
|
+
interface ConnectionState {
|
|
1104
|
+
/**
|
|
1105
|
+
* whether or not the application is online.
|
|
1106
|
+
*/
|
|
1107
|
+
isOnline: boolean;
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
* Providing functions,that are are injected at application startup and executed during app initialization.
|
|
1112
|
+
*/
|
|
1113
|
+
declare const init_moduleFnc: () => rxjs.Observable<boolean | _yuuvis_client_core.YuvUser | YuvConfig[]>;
|
|
1114
|
+
|
|
1115
|
+
declare enum DeviceScreenOrientation {
|
|
1116
|
+
PORTRAIT = "portrait",
|
|
1117
|
+
LANDSCAPE = "landscape"
|
|
1118
|
+
}
|
|
1119
|
+
interface DeviceScreen {
|
|
1120
|
+
size: ScreenSize;
|
|
1121
|
+
orientation: DeviceScreenOrientation;
|
|
1122
|
+
width: number;
|
|
1123
|
+
height: number;
|
|
1124
|
+
}
|
|
1125
|
+
interface DeviceScreenBounds {
|
|
1126
|
+
width: number;
|
|
1127
|
+
height: number;
|
|
1128
|
+
}
|
|
1129
|
+
type ScreenSize = 's' | 'm' | 'l' | 'xl';
|
|
1130
|
+
|
|
1131
|
+
/**
|
|
1132
|
+
* @deprecated This service is deprecated. Please use the DeviceService from the `@yuuvis/material` package instead.
|
|
1133
|
+
*
|
|
1134
|
+
* This service is used to adapt styles and designs of the client to
|
|
1135
|
+
* different devices and screen sizes.
|
|
1136
|
+
*
|
|
1137
|
+
* Using `screenChange$` observable you are able to monitor changes to
|
|
1138
|
+
* the screen size and act upon it.
|
|
1139
|
+
*
|
|
1140
|
+
* This service will also adds attributes to the body tag that reflect the
|
|
1141
|
+
* current screen/device state. This way you can apply secific styles in your
|
|
1142
|
+
* css files for different screen resolutions and orientations.
|
|
1143
|
+
*
|
|
1144
|
+
* Attributes applied to the body tag are:
|
|
1145
|
+
*
|
|
1146
|
+
* - `data-screen` - [s, m, l, xl] - for different screen sizes
|
|
1147
|
+
* (s: for mobile phone like screen sizes, m: for tablet like screen
|
|
1148
|
+
* sizes, 'l': for desktop like screen sizes, 'xl': for screen sizes exceeding
|
|
1149
|
+
* the desktop screen size).
|
|
1150
|
+
*
|
|
1151
|
+
* - `data-orientation` - [portrait, landscape] - for the current screen orientation
|
|
1152
|
+
*
|
|
1153
|
+
* - `data-touch-enabled` - [true] - if the device has touch capabilities (won't be added if the device doesn't have touch capabilities)
|
|
1154
|
+
*
|
|
1155
|
+
* ```html
|
|
1156
|
+
* <body data-screen-size="s" data-screen-orientation="portrait" data-touch-enabled="true">
|
|
1157
|
+
* ...
|
|
1158
|
+
* </body>
|
|
1159
|
+
* ```
|
|
1160
|
+
*/
|
|
1161
|
+
declare class DeviceService {
|
|
1162
|
+
#private;
|
|
1163
|
+
screenChange$: Observable<DeviceScreen>;
|
|
1164
|
+
/**
|
|
1165
|
+
* Signal to indicate if the screen size is small (e.g. mobile phone).
|
|
1166
|
+
* This will only be triggered if `supportsSmallScreens` is set to true.
|
|
1167
|
+
* Major components will use this metric to adapt to 'small screen behavior' and so can you
|
|
1168
|
+
*/
|
|
1169
|
+
smallScreenLayout: i0.WritableSignal<boolean>;
|
|
1170
|
+
/**
|
|
1171
|
+
* if the device is a mobile device (android / iPhone / windows-phone etc)
|
|
1172
|
+
*/
|
|
1173
|
+
isMobile: boolean;
|
|
1174
|
+
/**
|
|
1175
|
+
* if the device us a tablet (iPad etc)
|
|
1176
|
+
*/
|
|
1177
|
+
isTablet: boolean;
|
|
1178
|
+
/**
|
|
1179
|
+
* if the app is running on a Desktop browser
|
|
1180
|
+
*/
|
|
1181
|
+
isDesktop: boolean;
|
|
1182
|
+
info?: DeviceInfo;
|
|
1183
|
+
isTouchEnabled: boolean;
|
|
1184
|
+
constructor();
|
|
1185
|
+
init(supportsSmallScreens?: boolean): void;
|
|
1186
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DeviceService, never>;
|
|
1187
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DeviceService>;
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
interface FileUploadOptions {
|
|
1191
|
+
label?: string;
|
|
1192
|
+
silent?: boolean;
|
|
1193
|
+
scope?: string;
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
/**
|
|
1197
|
+
* Service for working with dms objects: create them, delete, etc.
|
|
1198
|
+
*/
|
|
1199
|
+
declare class DmsService {
|
|
1200
|
+
#private;
|
|
1201
|
+
/**
|
|
1202
|
+
* Create new dms object(s). Providing an array of files here instead of one will create
|
|
1203
|
+
* a new dms object for every file. In this case indexdata will shared across all files.
|
|
1204
|
+
* @param objectTypeId The ID of the object type to be created
|
|
1205
|
+
* @param indexdata Indexdata for the new object(s)
|
|
1206
|
+
* @param files File(s) to create dms objects content(s) with
|
|
1207
|
+
* @param label A label that will show up in the upload overlay dialog while uploading
|
|
1208
|
+
*
|
|
1209
|
+
* @returns Array of IDs of the objects that have been created
|
|
1210
|
+
*/
|
|
1211
|
+
createDmsObject(objectTypeId: string, indexdata: any, files: File[], label?: string, silent?: boolean, options?: ObjectOptions): Observable<string[]>;
|
|
1212
|
+
/**
|
|
1213
|
+
* Delete a dms object.
|
|
1214
|
+
* @param id ID of the object to be deleted
|
|
1215
|
+
*/
|
|
1216
|
+
deleteDmsObject(id: string, silent?: boolean): Observable<any>;
|
|
1217
|
+
/**
|
|
1218
|
+
* Restore older version of a dms object.
|
|
1219
|
+
* @param id ID of the object to be restored
|
|
1220
|
+
* @param version version of the object to be restored
|
|
1221
|
+
*/
|
|
1222
|
+
restoreDmsObject(id: string, version: number, silent?: boolean): Observable<any>;
|
|
1223
|
+
/**
|
|
1224
|
+
* Upload (add/replace) content to a dms object.
|
|
1225
|
+
* @param objectId ID of the dms object to upload the file to
|
|
1226
|
+
* @param file The file to be uploaded
|
|
1227
|
+
* @param label A label that will show up in the upload overlay dialog while uploading
|
|
1228
|
+
*
|
|
1229
|
+
* @deprecated use uploadFileContent instead. Provide label and silent through `options`
|
|
1230
|
+
*/
|
|
1231
|
+
uploadContent(objectId: string, file: File, label?: string, silent?: boolean): Observable<any>;
|
|
1232
|
+
/**
|
|
1233
|
+
* Uploads a file as the content of an existing DMS object, replacing or setting its content stream.
|
|
1234
|
+
*
|
|
1235
|
+
* This is the preferred alternative to the legacy `uploadContent()` method. It accepts a typed
|
|
1236
|
+
* `FileUploadOptions` object instead of individual parameters, which enables full control over
|
|
1237
|
+
* the upload label, silent mode, and scope-based progress visibility.
|
|
1238
|
+
*
|
|
1239
|
+
* After a successful upload, a `DMS_OBJECT_UPDATED` event is triggered automatically so that
|
|
1240
|
+
* any subscribed parts of the application can react to the change (e.g. refreshing a preview).
|
|
1241
|
+
*
|
|
1242
|
+
* **Behavior:**
|
|
1243
|
+
* - Targets the content endpoint of the given DMS object: `/dms/objects/{objectId}/contents/file`
|
|
1244
|
+
* - `options.label` is shown in the upload progress indicator; falls back to `file.name` if omitted
|
|
1245
|
+
* - If `options.silent` is `true`, the upload runs in the background with no UI feedback
|
|
1246
|
+
* and no `DMS_OBJECT_UPDATED` event is emitted
|
|
1247
|
+
* - `options.scope` tags the upload so that only the `UploadProgressComponent` instance
|
|
1248
|
+
* configured with the same scope will display progress for this upload
|
|
1249
|
+
*
|
|
1250
|
+
* @param objectId - ID of the DMS object whose content should be uploaded or replaced
|
|
1251
|
+
* @param file - The `File` object to upload as the new content stream
|
|
1252
|
+
* @param options - Upload configuration: label, silent mode, and optional scope
|
|
1253
|
+
* @returns An `Observable` that emits the updated DMS object on completion
|
|
1254
|
+
*
|
|
1255
|
+
* @example
|
|
1256
|
+
* ```typescript
|
|
1257
|
+
* // Replace content with a visible progress indicator
|
|
1258
|
+
* this.dmsService.uploadFileContent(objectId, file, { label: 'Uploading contract.pdf' }).subscribe();
|
|
1259
|
+
*
|
|
1260
|
+
* // Silent replacement (no UI feedback, no event emitted)
|
|
1261
|
+
* this.dmsService.uploadFileContent(objectId, file, { label: 'report.pdf', silent: true }).subscribe();
|
|
1262
|
+
*
|
|
1263
|
+
* // Scoped upload — only UploadProgressComponent with scope 'detail-panel' will show this
|
|
1264
|
+
* this.dmsService
|
|
1265
|
+
* .uploadFileContent(objectId, file, { label: 'photo.jpg', scope: 'detail-panel' })
|
|
1266
|
+
* .subscribe();
|
|
1267
|
+
* ```
|
|
1268
|
+
*/
|
|
1269
|
+
uploadFileContent(objectId: string, file: File, options: FileUploadOptions): Observable<unknown>;
|
|
1270
|
+
/**
|
|
1271
|
+
* Path of dms object content file.
|
|
1272
|
+
* @param objectId ID of the dms object
|
|
1273
|
+
* @param version version number of the dms object
|
|
1274
|
+
*/
|
|
1275
|
+
getContentPath(objectId: string, version?: number): string;
|
|
1276
|
+
/**
|
|
1277
|
+
* Original API Path of dms object content file.
|
|
1278
|
+
* @param objectId ID of the dms object
|
|
1279
|
+
* @param version version number of the dms object
|
|
1280
|
+
* @param rendition should return rendition path of the dms object
|
|
1281
|
+
*/
|
|
1282
|
+
getFullContentPath(objectId: string, version?: number, rendition?: boolean): string;
|
|
1283
|
+
getSlideURI(objectId: string, mimeType?: string): string | undefined;
|
|
1284
|
+
/**
|
|
1285
|
+
* Downloads the content of dms objects.
|
|
1286
|
+
*
|
|
1287
|
+
* @param DmsObject[] dmsObjects Array of dms objects to be downloaded
|
|
1288
|
+
* @param withVersion should download specific version of the object
|
|
1289
|
+
*/
|
|
1290
|
+
downloadContent(objects: DmsObject[], withVersion?: boolean): void;
|
|
1291
|
+
/**
|
|
1292
|
+
* Fetch a dms object.
|
|
1293
|
+
* @param id ID of the object to be retrieved
|
|
1294
|
+
* @param version Desired version of the object
|
|
1295
|
+
*/
|
|
1296
|
+
getDmsObject(id: string, version?: number, silent?: boolean, requestOptions?: HttpOptions): Observable<DmsObject>;
|
|
1297
|
+
/**
|
|
1298
|
+
* Get tags of a dms object.
|
|
1299
|
+
* @param objectData Data field of the dms object
|
|
1300
|
+
*/
|
|
1301
|
+
getDmsObjectTags(objectData: Record<string, unknown>): DmsObjectTag[];
|
|
1302
|
+
/**
|
|
1303
|
+
* Updates a tag on a dms object.
|
|
1304
|
+
* @param id The ID of the object
|
|
1305
|
+
* @param tag The tag to be updated
|
|
1306
|
+
* @param value The tags new value
|
|
1307
|
+
*/
|
|
1308
|
+
setDmsObjectTag(id: string, tag: string, value: any, silent?: boolean): Observable<any>;
|
|
1309
|
+
/**
|
|
1310
|
+
* Deletes a tag from a dms object.
|
|
1311
|
+
* @param id The ID of the object
|
|
1312
|
+
* @param tag The tag to be deleted
|
|
1313
|
+
*/
|
|
1314
|
+
deleteDmsObjectTag(id: string, tag: string, silent?: boolean): Observable<any>;
|
|
1315
|
+
/**
|
|
1316
|
+
* Update indexdata of a dms object.
|
|
1317
|
+
* @param id ID of the object to apply the data to
|
|
1318
|
+
* @param data Indexdata to be applied
|
|
1319
|
+
* @param silent flag to trigger DMS_OBJECT_UPDATED event
|
|
1320
|
+
*/
|
|
1321
|
+
updateDmsObject(id: string, data: any, silent?: boolean, options?: ObjectOptions): Observable<DmsObject>;
|
|
1322
|
+
/**
|
|
1323
|
+
* Updates given objects.
|
|
1324
|
+
* @param objects the objects to updated
|
|
1325
|
+
*/
|
|
1326
|
+
updateDmsObjects(objects: {
|
|
1327
|
+
id: string;
|
|
1328
|
+
data: {
|
|
1329
|
+
[key: string]: any;
|
|
1330
|
+
};
|
|
1331
|
+
}[], silent?: boolean, options?: ObjectOptions): Observable<DmsObject[]>;
|
|
1332
|
+
/**
|
|
1333
|
+
* Updates a tag on a dms object.
|
|
1334
|
+
* @param ids List of IDs of objects
|
|
1335
|
+
* @param tag The tag to be updated
|
|
1336
|
+
* @param value The tags new value
|
|
1337
|
+
*/
|
|
1338
|
+
updateDmsObjectsTag(ids: string[], tag: string, value: any, silent?: boolean): Observable<any>;
|
|
1339
|
+
/**
|
|
1340
|
+
* Moves given objects to a different folder.
|
|
1341
|
+
* @param folderId the id of the new parent folder
|
|
1342
|
+
* @param objects objects to be moved
|
|
1343
|
+
* @param options options for the move operation
|
|
1344
|
+
*/
|
|
1345
|
+
moveDmsObjects(targetFolderId: string | null, objects: DmsObject[], options?: ObjectMoveOptions): Observable<any>;
|
|
1346
|
+
/**
|
|
1347
|
+
* Copy given objects to a different folder. The objects will be copied with their indexdata referencing
|
|
1348
|
+
* the existing content of the source object.
|
|
1349
|
+
* @param targetFolderId The ID of the target folder
|
|
1350
|
+
* @param objects The objects to be copied
|
|
1351
|
+
* @param options options for the copy operation
|
|
1352
|
+
*/
|
|
1353
|
+
copyDmsObjects(targetFolderId: string | null, objects: DmsObject[], options?: ObjectCopyOptions): Observable<CoreApiResponse>;
|
|
1354
|
+
/**
|
|
1355
|
+
* Get a bunch of dms objects.
|
|
1356
|
+
* @param ids List of IDs of objects to be retrieved
|
|
1357
|
+
*/
|
|
1358
|
+
getDmsObjects(ids: string[], silent?: boolean): Observable<DmsObject[]>;
|
|
1359
|
+
/**
|
|
1360
|
+
* Delete a bunch of dms objects.
|
|
1361
|
+
* @param ids List of IDs of objects to be deleted
|
|
1362
|
+
* @param options Options for the delete operation
|
|
1363
|
+
* @returns Array of delete results.
|
|
1364
|
+
*/
|
|
1365
|
+
deleteDmsObjects(objects: string[] | {
|
|
1366
|
+
id: string;
|
|
1367
|
+
subject: string;
|
|
1368
|
+
}[], options?: ObjectDeleteOptions): Observable<ObjectDeleteResult[]>;
|
|
1369
|
+
/**
|
|
1370
|
+
* Fetch a dms object versions.
|
|
1371
|
+
* @param id ID of the object to be retrieved
|
|
1372
|
+
*/
|
|
1373
|
+
getDmsObjectVersions(id: string): Observable<DmsObject[]>;
|
|
1374
|
+
getDmsObjectVersion(id: string, version: number): Observable<DmsObject>;
|
|
1375
|
+
coreApiResponseToDmsObject(res: CoreApiResponse): DmsObject;
|
|
1376
|
+
/**
|
|
1377
|
+
* Transforms a plain data object to a DmsObject.
|
|
1378
|
+
* @param data The plain data object
|
|
1379
|
+
* @returns DmsObject
|
|
1380
|
+
*/
|
|
1381
|
+
toDmsObject(data: Record<string, unknown>): DmsObject;
|
|
1382
|
+
batchUpdateTag(ids: string[], tag: string, value: any): Observable<any[]>;
|
|
1383
|
+
batchDeleteTag(ids: string[], tag: string): Observable<any[]>;
|
|
1384
|
+
batchDelete(ids: string[]): Observable<any[]>;
|
|
1385
|
+
batchGet(ids: string[]): Observable<any[]>;
|
|
1386
|
+
/**
|
|
1387
|
+
* Map search result from the backend to applications SearchResult object
|
|
1388
|
+
* @param searchResponse The backend response
|
|
1389
|
+
*/
|
|
1390
|
+
toSearchResult(searchResponse: SearchResponse): SearchResult;
|
|
1391
|
+
private triggerEvent;
|
|
1392
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DmsService, never>;
|
|
1393
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DmsService>;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
/**
|
|
1397
|
+
* Triggerable and Subscribable events
|
|
1398
|
+
* 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.
|
|
1399
|
+
* 0 dose not extends never or 1, so if T is any, the condition resolves to true.
|
|
1400
|
+
*/
|
|
1401
|
+
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
1402
|
+
interface YuvEvent<D = any> {
|
|
1403
|
+
/**
|
|
1404
|
+
* type
|
|
1405
|
+
*/
|
|
1406
|
+
type: string;
|
|
1407
|
+
/**
|
|
1408
|
+
* data to be passed along with the event if T is 'any' data is optional
|
|
1409
|
+
*/
|
|
1410
|
+
data: IsAny<D> extends true ? D | undefined : D;
|
|
1411
|
+
}
|
|
1412
|
+
/**
|
|
1413
|
+
* Mandatory Custom event prefix for all custom YUV events
|
|
1414
|
+
*/
|
|
1415
|
+
declare const CUSTOM_YUV_EVENT_PREFIX = "yuv.";
|
|
1416
|
+
/**
|
|
1417
|
+
* Message event interface for postMessage events
|
|
1418
|
+
*/
|
|
1419
|
+
interface YuvMessage {
|
|
1420
|
+
type: string;
|
|
1421
|
+
data: any;
|
|
1422
|
+
timestamp: number;
|
|
1423
|
+
source: string;
|
|
1424
|
+
}
|
|
1425
|
+
/**
|
|
1426
|
+
* Generic call-signature for triggering events.
|
|
1427
|
+
* - If `T` is `string`, the `type` parameter will be that string literal type.
|
|
1428
|
+
* - If `T` is `any`, the `data` parameter will be optional.
|
|
1429
|
+
* - Otherwise `data` is required.
|
|
1430
|
+
*/
|
|
1431
|
+
type Trigger = <T = any>(type: T extends string ? T : string, ...data: IsAny<T> extends true ? [data?: T] : [data: T]) => void;
|
|
1432
|
+
|
|
1433
|
+
/**
|
|
1434
|
+
* Service for providing triggered events
|
|
1435
|
+
*/
|
|
1436
|
+
declare class EventService {
|
|
1437
|
+
#private;
|
|
1438
|
+
event$: Observable<YuvEvent>;
|
|
1439
|
+
constructor();
|
|
1440
|
+
/**
|
|
1441
|
+
* Triggers a postMessage event that will be sent to the yuuvis global event Trigger
|
|
1442
|
+
* @param type Type/key of the event
|
|
1443
|
+
* @param data Data to be sent along with the event
|
|
1444
|
+
*/
|
|
1445
|
+
triggerPostMessageEvent(type: string, data?: any): void;
|
|
1446
|
+
/**
|
|
1447
|
+
* Trigger an global event
|
|
1448
|
+
* @param type Type/key of the event
|
|
1449
|
+
* @param data Data to be send along with the event
|
|
1450
|
+
*/
|
|
1451
|
+
trigger<T extends string = any, D = any>(type: IsAny<T> extends true ? string : T, ...args: IsAny<D> extends true ? [data?: D] : [data: D]): void;
|
|
1452
|
+
/**
|
|
1453
|
+
* Listen on a triggered event
|
|
1454
|
+
* @param types Type/key of the event
|
|
1455
|
+
*/
|
|
1456
|
+
on<T extends string = any, D = any>(...types: (IsAny<T> extends true ? string : T)[]): Observable<YuvEvent<D>>;
|
|
1457
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EventService, never>;
|
|
1458
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<EventService>;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
/**
|
|
1462
|
+
* Events emitted by parts of the application
|
|
1463
|
+
*/
|
|
1464
|
+
declare enum YuvEventType {
|
|
1465
|
+
LOGOUT = "yuv.user.logout",
|
|
1466
|
+
CLIENT_LOCALE_CHANGED = "yuv.user.locale.client.changed",
|
|
1467
|
+
DMS_OBJECT_LOADED = "yuv.dms.object.loaded",
|
|
1468
|
+
DMS_OBJECT_CREATED = "yuv.dms.object.created",
|
|
1469
|
+
DMS_OBJECT_DELETED = "yuv.dms.object.deleted",
|
|
1470
|
+
DMS_OBJECT_UPDATED = "yuv.dms.object.updated",
|
|
1471
|
+
DMS_OBJECT_CONTENT_UPDATED = "yuv.dms.object.content.updated",
|
|
1472
|
+
DMS_OBJECTS_MOVED = "yuv.dms.objects.moved",
|
|
1473
|
+
RELATIONSHIP_CREATED = "yuv.dms.relationship.created",
|
|
1474
|
+
RELATIONSHIP_DELETED = "yuv.dms.relationship.deleted"
|
|
1475
|
+
}
|
|
1476
|
+
interface YuvEventDeletedData {
|
|
1477
|
+
id: string;
|
|
1478
|
+
properties: Record<string, unknown>;
|
|
1479
|
+
}
|
|
1480
|
+
type YuvEventUpdatedData = DmsObject;
|
|
1481
|
+
type YuvEventCreatedData = string[];
|
|
1482
|
+
|
|
1483
|
+
/**
|
|
1484
|
+
* Service for managing Identity Management (IDM) operations.
|
|
1485
|
+
* Provides functionality for querying users, roles, and organization entities,
|
|
1486
|
+
* with built-in caching mechanisms to optimize performance.
|
|
1487
|
+
*/
|
|
1488
|
+
declare class IdmService {
|
|
1489
|
+
#private;
|
|
1490
|
+
userCache: IdmUserCache;
|
|
1491
|
+
constructor();
|
|
1492
|
+
/**
|
|
1493
|
+
* Queries organization entities (users and/or roles) based on search term.
|
|
1494
|
+
*
|
|
1495
|
+
* @param term - The search term to filter entities
|
|
1496
|
+
* @param targetTypes - Array of entity types to search for ('user', 'role')
|
|
1497
|
+
* @param size - Optional maximum number of results to return
|
|
1498
|
+
* @returns Observable array of organization set entries matching the search criteria
|
|
1499
|
+
*/
|
|
1500
|
+
queryOrganizationEntity(term: string, targetTypes: string[], size?: number): Observable<OrganizationSetEntry[]>;
|
|
1501
|
+
/**
|
|
1502
|
+
* Retrieves available roles, optionally filtered by a search term.
|
|
1503
|
+
*
|
|
1504
|
+
* @param role - Optional search term to filter roles by name
|
|
1505
|
+
* @returns Observable array of role objects containing name and description
|
|
1506
|
+
*/
|
|
1507
|
+
getRoles(role?: string): Observable<{
|
|
1508
|
+
name: string;
|
|
1509
|
+
description: string;
|
|
1510
|
+
}[]>;
|
|
1511
|
+
/**
|
|
1512
|
+
* Retrieves user information by user ID with automatic caching.
|
|
1513
|
+
* Uses a 1-hour TTL cache to minimize backend requests.
|
|
1514
|
+
*
|
|
1515
|
+
* @param id - The unique identifier of the user
|
|
1516
|
+
* @returns Observable of YuvUser object or null if user is not found
|
|
1517
|
+
*/
|
|
1518
|
+
getUserById(id: string): Observable<YuvUser | null>;
|
|
1519
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IdmService, never>;
|
|
1520
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<IdmService>;
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
/**
|
|
1524
|
+
* Interface providing a default logger, that is used for the Dependency-Injection (DI) token.
|
|
1525
|
+
*/
|
|
1526
|
+
interface ILogger {
|
|
1527
|
+
debug(...args: any[]): void;
|
|
1528
|
+
error(...args: any[]): void;
|
|
1529
|
+
info(...args: any[]): void;
|
|
1530
|
+
log(...args: any[]): void;
|
|
1531
|
+
warn(...args: any[]): void;
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1534
|
+
/**
|
|
1535
|
+
* @ignore
|
|
1536
|
+
*/
|
|
1537
|
+
declare class Logger implements ILogger {
|
|
1538
|
+
private config;
|
|
1539
|
+
constructor(config: ConfigService);
|
|
1540
|
+
private styles;
|
|
1541
|
+
private apply;
|
|
1542
|
+
debug(...args: any[]): void;
|
|
1543
|
+
error(...args: any[]): void;
|
|
1544
|
+
info(...args: any[]): void;
|
|
1545
|
+
log(...args: any[]): void;
|
|
1546
|
+
warn(...args: any[]): void;
|
|
1547
|
+
private shouldLog;
|
|
1548
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Logger, never>;
|
|
1549
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Logger>;
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
/**
|
|
1553
|
+
* Shows a message after completing each action.
|
|
1554
|
+
*/
|
|
1555
|
+
declare class NotificationService {
|
|
1556
|
+
#private;
|
|
1557
|
+
/**
|
|
1558
|
+
* Set to true to suppress any notifications
|
|
1559
|
+
*/
|
|
1560
|
+
silent: boolean;
|
|
1561
|
+
/**
|
|
1562
|
+
* Default Notofication Options
|
|
1563
|
+
*
|
|
1564
|
+
*/
|
|
1565
|
+
private options;
|
|
1566
|
+
constructor();
|
|
1567
|
+
/**
|
|
1568
|
+
* Show info colored massage (blue)
|
|
1569
|
+
*
|
|
1570
|
+
* @param string title
|
|
1571
|
+
* @param string msg
|
|
1572
|
+
*/
|
|
1573
|
+
info(title: string, msg?: string): void;
|
|
1574
|
+
/**
|
|
1575
|
+
* Show success colored massage (green)
|
|
1576
|
+
* @param string title
|
|
1577
|
+
* @param string msg
|
|
1578
|
+
*/
|
|
1579
|
+
success(title: string, msg?: string): void;
|
|
1580
|
+
/**
|
|
1581
|
+
* can not be in use
|
|
1582
|
+
*
|
|
1583
|
+
* @param string title
|
|
1584
|
+
* @param string msg
|
|
1585
|
+
*/
|
|
1586
|
+
wait(title: string, msg?: string): void;
|
|
1587
|
+
/**
|
|
1588
|
+
* Show error colored massage (red)
|
|
1589
|
+
*
|
|
1590
|
+
* @param string title
|
|
1591
|
+
* @param string msg
|
|
1592
|
+
*/
|
|
1593
|
+
error(title: string, msg?: string): void;
|
|
1594
|
+
/**
|
|
1595
|
+
* Show warning colored massage (yellow)
|
|
1596
|
+
*
|
|
1597
|
+
* @param string title
|
|
1598
|
+
* @param string msg
|
|
1599
|
+
*/
|
|
1600
|
+
warning(title: string, msg?: string): void;
|
|
1601
|
+
/**
|
|
1602
|
+
* Public wrapper for accessing the Toastr
|
|
1603
|
+
*
|
|
1604
|
+
* @param string title
|
|
1605
|
+
* @param string msg
|
|
1606
|
+
* @param string mode
|
|
1607
|
+
* @param _options
|
|
1608
|
+
*/
|
|
1609
|
+
private toast;
|
|
1610
|
+
/**
|
|
1611
|
+
* Accessing the toastr service
|
|
1612
|
+
*
|
|
1613
|
+
* @param string msg
|
|
1614
|
+
* @param string title
|
|
1615
|
+
* @param options
|
|
1616
|
+
* @param string mode
|
|
1617
|
+
*/
|
|
1618
|
+
private doToast;
|
|
1619
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
1620
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1623
|
+
declare const TENANT_HEADER = "X-ID-TENANT-NAME";
|
|
1624
|
+
declare enum Situation {
|
|
1625
|
+
EDIT = "EDIT",
|
|
1626
|
+
CREATE = "CREATE",
|
|
1627
|
+
SEARCH = "SEARCH"
|
|
1628
|
+
}
|
|
1629
|
+
declare const SystemType: {
|
|
1630
|
+
OBJECT: string;
|
|
1631
|
+
DOCUMENT: string;
|
|
1632
|
+
FOLDER: string;
|
|
1633
|
+
AUDIT: string;
|
|
1634
|
+
ITEM: string;
|
|
1635
|
+
RELATIONSHIP: string;
|
|
1636
|
+
SOT: string;
|
|
1637
|
+
};
|
|
1638
|
+
declare const SystemResult: {
|
|
1639
|
+
DELETE: string;
|
|
1640
|
+
};
|
|
1641
|
+
declare const AdministrationRoles: {
|
|
1642
|
+
ADMIN: string;
|
|
1643
|
+
SYSTEM: string;
|
|
1644
|
+
MANAGE_SETTINGS: string;
|
|
1645
|
+
};
|
|
1646
|
+
declare const UserRoles: {
|
|
1647
|
+
MULTI_TENANT: string;
|
|
1648
|
+
};
|
|
1649
|
+
declare const SystemSOT: {
|
|
1650
|
+
DESTRUCTION_RETENTION: string;
|
|
1651
|
+
};
|
|
1652
|
+
declare const RetentionField: {
|
|
1653
|
+
RETENTION_END: string;
|
|
1654
|
+
RETENTION_START: string;
|
|
1655
|
+
DESTRUCTION_DATE: string;
|
|
1656
|
+
};
|
|
1657
|
+
declare const RelationshipTypeField: {
|
|
1658
|
+
SOURCE_ID: string;
|
|
1659
|
+
TARGET_ID: string;
|
|
1660
|
+
};
|
|
1661
|
+
declare const BaseObjectTypeField: {
|
|
1662
|
+
PARENT_ID: string;
|
|
1663
|
+
PARENT_OBJECT_TYPE_ID: string;
|
|
1664
|
+
PARENT_VERSION_NUMBER: string;
|
|
1665
|
+
TENANT: string;
|
|
1666
|
+
ACL: string;
|
|
1667
|
+
TRACE_ID: string;
|
|
1668
|
+
SECONDARY_OBJECT_TYPE_IDS: string;
|
|
1669
|
+
BASE_TYPE_ID: string;
|
|
1670
|
+
TAGS: string;
|
|
1671
|
+
OBJECT_ID: string;
|
|
1672
|
+
RETENTION_END: string;
|
|
1673
|
+
RETENTION_START: string;
|
|
1674
|
+
DESTRUCTION_DATE: string;
|
|
1675
|
+
OBJECT_TYPE_ID: string;
|
|
1676
|
+
VERSION_NUMBER: string;
|
|
1677
|
+
CREATION_DATE: string;
|
|
1678
|
+
CREATED_BY: string;
|
|
1679
|
+
MODIFICATION_DATE: string;
|
|
1680
|
+
MODIFIED_BY: string;
|
|
1681
|
+
};
|
|
1682
|
+
declare const ClientDefaultsObjectTypeField: {
|
|
1683
|
+
TITLE: string;
|
|
1684
|
+
DESCRIPTION: string;
|
|
1685
|
+
};
|
|
1686
|
+
declare const ContentStreamField: {
|
|
1687
|
+
LENGTH: string;
|
|
1688
|
+
MIME_TYPE: string;
|
|
1689
|
+
FILENAME: string;
|
|
1690
|
+
ID: string;
|
|
1691
|
+
RANGE: string;
|
|
1692
|
+
REPOSITORY_ID: string;
|
|
1693
|
+
DIGEST: string;
|
|
1694
|
+
ARCHIVE_PATH: string;
|
|
1695
|
+
};
|
|
1696
|
+
declare const AuditField: {
|
|
1697
|
+
REFERRED_OBJECT_ID: string;
|
|
1698
|
+
CREATION_DATE: string;
|
|
1699
|
+
VERSION: string;
|
|
1700
|
+
DETAIL: string;
|
|
1701
|
+
CREATED_BY: string;
|
|
1702
|
+
ACTION: string;
|
|
1703
|
+
SUBACTION: string;
|
|
1704
|
+
};
|
|
1705
|
+
declare const ParentField: {
|
|
1706
|
+
asvaktenzeichen: string;
|
|
1707
|
+
asvaktenzeichentext: string;
|
|
1708
|
+
asvsichtrechte: string;
|
|
1709
|
+
asvvorgangsname: string;
|
|
1710
|
+
asvvorgangsnummer: string;
|
|
1711
|
+
};
|
|
1712
|
+
declare enum ContentStreamAllowed {
|
|
1713
|
+
ALLOWED = "allowed",
|
|
1714
|
+
NOT_ALLOWED = "notallowed",
|
|
1715
|
+
REQUIRED = "required"
|
|
1716
|
+
}
|
|
1717
|
+
declare enum Classification {
|
|
1718
|
+
STRING_CATALOG_I18N = "i18n:catalog",
|
|
1719
|
+
STRING_CATALOG_CUSTOM = "custom:catalog",
|
|
1720
|
+
STRING_CATALOG_DYNAMIC = "dynamic:catalog",
|
|
1721
|
+
STRING_CATALOG = "catalog",
|
|
1722
|
+
STRING_ORGANIZATION = "id:organization",
|
|
1723
|
+
STRING_ORGANIZATION_SET = "id:organization:set",
|
|
1724
|
+
STRING_REFERENCE = "id:reference",
|
|
1725
|
+
STRING_EMAIL = "email",
|
|
1726
|
+
STRING_URL = "url",
|
|
1727
|
+
STRING_PHONE = "phone",
|
|
1728
|
+
NUMBER_FILESIZE = "filesize",
|
|
1729
|
+
NUMBER_DIGIT = "digit",
|
|
1730
|
+
BOOLEAN_SWITCH = "switch",
|
|
1731
|
+
SYSTEM_SOT = "systemsot",
|
|
1732
|
+
PREDICTION_CLASSIFY = "prediction:classify",
|
|
1733
|
+
TABLE_SORTABLE = "sortable"
|
|
1734
|
+
}
|
|
1735
|
+
declare enum ObjectTypeClassification {
|
|
1736
|
+
SEARCH_FALSE = "appClient:search:false",
|
|
1737
|
+
CREATE_FALSE = "appClient:create:false",
|
|
1738
|
+
OBJECT_TYPE_ICON = "appClient:icon"
|
|
1739
|
+
}
|
|
1740
|
+
declare enum ObjectTypePropertyClassification {
|
|
1741
|
+
SUMMARY_HIDDEN = "appClient:summary:hidden"
|
|
1742
|
+
}
|
|
1743
|
+
declare enum SecondaryObjectTypeClassification {
|
|
1744
|
+
REQUIRED = "appClient:required",
|
|
1745
|
+
PRIMARY = "appClient:primary",
|
|
1746
|
+
EXTENSION_ADD_FALSE = "appClient:extension:add:false",
|
|
1747
|
+
EXTENSION_REMOVE_FALSE = "appClient:extension:remove:false"
|
|
1748
|
+
}
|
|
1749
|
+
declare enum InternalFieldType {
|
|
1750
|
+
STRING_ORGANIZATION_SET = "string:organization:set",
|
|
1751
|
+
STRING_ORGANIZATION = "string:organization",
|
|
1752
|
+
STRING_REFERENCE = "string:reference",
|
|
1753
|
+
STRING_CATALOG = "string:catalog",
|
|
1754
|
+
STRING_CATALOG_I18N = "string:catalog:i18n",
|
|
1755
|
+
STRING_DYNAMIC_CATALOG = "string:catalog:dynamic",
|
|
1756
|
+
BOOLEAN_SWITCH = "boolean:switch"
|
|
1757
|
+
}
|
|
1758
|
+
declare enum ObjectTag {
|
|
1759
|
+
AFO = "appclient:dlm:prepare"
|
|
1760
|
+
}
|
|
1761
|
+
declare const AFO_STATE: {
|
|
1762
|
+
IN_PROGRESS: number;
|
|
1763
|
+
READY: number;
|
|
1764
|
+
};
|
|
1765
|
+
declare const ColumnConfigSkipFields: string[];
|
|
1766
|
+
|
|
1767
|
+
/**
|
|
1768
|
+
* Virtual object types.
|
|
1769
|
+
* They are a combination of an object type ID and/or a list of SOTs
|
|
1770
|
+
*/
|
|
1771
|
+
interface VirtualObjectType {
|
|
1772
|
+
id: string;
|
|
1773
|
+
icon?: string;
|
|
1774
|
+
objectType?: string;
|
|
1775
|
+
sots?: string[];
|
|
1776
|
+
}
|
|
1777
|
+
/**
|
|
1778
|
+
* Interface providing system definition
|
|
1779
|
+
*/
|
|
1780
|
+
interface SystemDefinition {
|
|
1781
|
+
version: number;
|
|
1782
|
+
lastModificationDate: unknown;
|
|
1783
|
+
objectTypes: ObjectType[];
|
|
1784
|
+
secondaryObjectTypes: SecondaryObjectType[];
|
|
1785
|
+
relationships: Relationship[];
|
|
1786
|
+
i18n: Localization;
|
|
1787
|
+
allFields: Record<string, SchemaResponseFieldDefinition>;
|
|
1788
|
+
}
|
|
1789
|
+
interface GenericObjectType extends ObjectType {
|
|
1790
|
+
isSot?: boolean;
|
|
1791
|
+
}
|
|
1792
|
+
interface _ObjectTypeBase {
|
|
1793
|
+
id: string;
|
|
1794
|
+
label?: string;
|
|
1795
|
+
classification?: string[];
|
|
1796
|
+
description?: string;
|
|
1797
|
+
baseId?: string;
|
|
1798
|
+
contentStreamAllowed?: string;
|
|
1799
|
+
fields: ObjectTypeField[];
|
|
1800
|
+
}
|
|
1801
|
+
/**
|
|
1802
|
+
* Object Type interface
|
|
1803
|
+
*/
|
|
1804
|
+
interface ObjectType extends _ObjectTypeBase {
|
|
1805
|
+
isFolder: boolean;
|
|
1806
|
+
creatable: boolean;
|
|
1807
|
+
secondaryObjectTypes: {
|
|
1808
|
+
id: string;
|
|
1809
|
+
static?: boolean;
|
|
1810
|
+
}[];
|
|
1811
|
+
}
|
|
1812
|
+
interface Relationship {
|
|
1813
|
+
id: string;
|
|
1814
|
+
label?: string;
|
|
1815
|
+
allowedSourceTypes: string[];
|
|
1816
|
+
allowedTargetTypes: string[];
|
|
1817
|
+
fields: ObjectTypeField[];
|
|
1818
|
+
}
|
|
1819
|
+
/**
|
|
1820
|
+
* Interface providing secondary object type
|
|
1821
|
+
*/
|
|
1822
|
+
type SecondaryObjectType = _ObjectTypeBase;
|
|
1823
|
+
interface _ObjectTypeFieldBase {
|
|
1824
|
+
id: string;
|
|
1825
|
+
name: string;
|
|
1826
|
+
description?: string;
|
|
1827
|
+
propertyType: ObjectTypeFieldType;
|
|
1828
|
+
cardinality: 'single' | 'multi';
|
|
1829
|
+
required: boolean;
|
|
1830
|
+
updatability?: 'readonly' | 'readwrite' | 'oncreate' | 'byhooks';
|
|
1831
|
+
queryable?: boolean;
|
|
1832
|
+
classifications?: string[];
|
|
1833
|
+
resolution?: string;
|
|
1834
|
+
columnDefinitions?: SchemaResponseFieldDefinition[];
|
|
1835
|
+
}
|
|
1836
|
+
/**
|
|
1837
|
+
* Interface for a secondary object type field
|
|
1838
|
+
*/
|
|
1839
|
+
interface ObjectTypeField extends _ObjectTypeFieldBase {
|
|
1840
|
+
/**
|
|
1841
|
+
* Internal type that is generated by the system service
|
|
1842
|
+
* when schema is fetched. Most of the time this will match
|
|
1843
|
+
* the propertyType
|
|
1844
|
+
*/
|
|
1845
|
+
_internalType: ObjectTypeFieldInternalType;
|
|
1846
|
+
label?: string;
|
|
1847
|
+
}
|
|
1848
|
+
interface VisibleObjectTag {
|
|
1849
|
+
tagName: string;
|
|
1850
|
+
tagValues?: unknown[];
|
|
1851
|
+
}
|
|
1852
|
+
/**
|
|
1853
|
+
* Base definition of the kind of data we'll receive
|
|
1854
|
+
* from the backend asking for native schema
|
|
1855
|
+
*/
|
|
1856
|
+
interface SchemaResponse {
|
|
1857
|
+
version: number;
|
|
1858
|
+
lastModificationDate: string;
|
|
1859
|
+
propertyDefinition: SchemaResponseFieldDefinition[];
|
|
1860
|
+
typeDocumentDefinition: SchemaResponseDocumentTypeDefinition[];
|
|
1861
|
+
typeFolderDefinition: SchemaResponseFolderTypeDefinition[];
|
|
1862
|
+
typeSecondaryDefinition: SchemaResponseDocumentTypeDefinition[];
|
|
1863
|
+
typeRelationshipDefinition: SchemaResponseRelationDefinition[];
|
|
1864
|
+
}
|
|
1865
|
+
/**
|
|
1866
|
+
* Interface for create the schema from the servers schema type definition response
|
|
1867
|
+
*/
|
|
1868
|
+
interface SchemaResponseTypeDefinition {
|
|
1869
|
+
id: string;
|
|
1870
|
+
description?: string;
|
|
1871
|
+
baseId: string;
|
|
1872
|
+
propertyReference: {
|
|
1873
|
+
value: string;
|
|
1874
|
+
}[];
|
|
1875
|
+
secondaryObjectTypeId: {
|
|
1876
|
+
value: string;
|
|
1877
|
+
static?: boolean;
|
|
1878
|
+
}[];
|
|
1879
|
+
classification: string[];
|
|
1880
|
+
}
|
|
1881
|
+
interface SchemaResponseRelationDefinition extends SchemaResponseTypeDefinition {
|
|
1882
|
+
allowedSourceType: {
|
|
1883
|
+
objectTypeReference: string;
|
|
1884
|
+
}[];
|
|
1885
|
+
allowedTargetType: {
|
|
1886
|
+
objectTypeReference: string;
|
|
1887
|
+
}[];
|
|
1888
|
+
}
|
|
1889
|
+
type SchemaResponseFolderTypeDefinition = SchemaResponseTypeDefinition;
|
|
1890
|
+
interface SchemaResponseDocumentTypeDefinition extends SchemaResponseTypeDefinition {
|
|
1891
|
+
contentStreamAllowed?: string;
|
|
1892
|
+
}
|
|
1893
|
+
/**
|
|
1894
|
+
* Interface for create the schema from the servers schema field definition response
|
|
1895
|
+
*/
|
|
1896
|
+
interface SchemaResponseFieldDefinition extends _ObjectTypeFieldBase {
|
|
1897
|
+
columnDefinitions?: SchemaResponseFieldDefinition[];
|
|
1898
|
+
}
|
|
1899
|
+
/**
|
|
1900
|
+
* Object type fields classification property (schema)
|
|
1901
|
+
*/
|
|
1902
|
+
interface ClassificationEntry {
|
|
1903
|
+
classification: string;
|
|
1904
|
+
options: string[];
|
|
1905
|
+
}
|
|
1906
|
+
/**
|
|
1907
|
+
* Secondary object types that could be applied to a particular dms object
|
|
1908
|
+
*/
|
|
1909
|
+
interface ApplicableSecondaries {
|
|
1910
|
+
primarySOTs: SecondaryObjectType[];
|
|
1911
|
+
extendingSOTs: SecondaryObjectType[];
|
|
1912
|
+
}
|
|
1913
|
+
interface Localization {
|
|
1914
|
+
[key: string]: string;
|
|
1915
|
+
}
|
|
1916
|
+
interface UserPermissions {
|
|
1917
|
+
create: UserPermissionsSection;
|
|
1918
|
+
read: UserPermissionsSection;
|
|
1919
|
+
write: UserPermissionsSection;
|
|
1920
|
+
delete: UserPermissionsSection;
|
|
1921
|
+
}
|
|
1922
|
+
interface UserPermissionsSection {
|
|
1923
|
+
folderTypes: string[];
|
|
1924
|
+
objectTypes: string[];
|
|
1925
|
+
secondaryObjectTypes: string[];
|
|
1926
|
+
}
|
|
1927
|
+
interface ObjectTypePermissions {
|
|
1928
|
+
createableObjectTypes: string[];
|
|
1929
|
+
searchableObjectTypes: string[];
|
|
1930
|
+
}
|
|
1931
|
+
|
|
1932
|
+
type ObjectTypeFieldType = 'string' | 'integer' | 'decimal' | 'boolean' | 'table' | 'datetime';
|
|
1933
|
+
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;
|
|
1934
|
+
interface FormElementString extends ObjectTypeField {
|
|
1935
|
+
propertyType: 'string';
|
|
1936
|
+
defaultvalue?: string[] | string;
|
|
1937
|
+
maxLength?: number;
|
|
1938
|
+
minLength?: number;
|
|
1939
|
+
rows?: number;
|
|
1940
|
+
options?: string[] | string;
|
|
1941
|
+
regex?: string;
|
|
1942
|
+
}
|
|
1943
|
+
interface FormElementInteger extends ObjectTypeField {
|
|
1944
|
+
propertyType: 'integer';
|
|
1945
|
+
defaultvalue?: number[] | number;
|
|
1946
|
+
maxValue?: number;
|
|
1947
|
+
minValue?: number;
|
|
1948
|
+
precision?: number;
|
|
1949
|
+
grouping?: boolean;
|
|
1950
|
+
pattern?: string;
|
|
1951
|
+
}
|
|
1952
|
+
interface FormElementDecimal extends ObjectTypeField {
|
|
1953
|
+
propertyType: 'decimal';
|
|
1954
|
+
defaultvalue?: number[] | number;
|
|
1955
|
+
maxValue?: number;
|
|
1956
|
+
minValue?: number;
|
|
1957
|
+
precision?: number;
|
|
1958
|
+
scale?: number;
|
|
1959
|
+
grouping?: boolean;
|
|
1960
|
+
pattern?: string;
|
|
1961
|
+
}
|
|
1962
|
+
interface FormElementBoolean extends ObjectTypeField {
|
|
1963
|
+
propertyType: 'boolean';
|
|
1964
|
+
defaultvalue?: boolean;
|
|
1965
|
+
tristate?: boolean;
|
|
1966
|
+
}
|
|
1967
|
+
interface FormElementDatetime extends ObjectTypeField {
|
|
1968
|
+
propertyType: 'datetime';
|
|
1969
|
+
defaultvalue?: string[] | string;
|
|
1970
|
+
resolution?: 'date';
|
|
1971
|
+
}
|
|
1972
|
+
interface FormElementTable extends ObjectTypeField {
|
|
1973
|
+
elements: ObjectTypeField[];
|
|
1974
|
+
propertyType: 'table';
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1977
|
+
/**
|
|
1978
|
+
* Config defining the most important/interessting fields for
|
|
1979
|
+
* a certain object type. They'll be used to render result lists
|
|
1980
|
+
* as well as headers for onbjects of that type.
|
|
1981
|
+
*/
|
|
1982
|
+
interface ObjectConfig {
|
|
1983
|
+
objectTypeId: string;
|
|
1984
|
+
icon?: ObjectConfigIcon;
|
|
1985
|
+
title?: ObjectConfigProperty;
|
|
1986
|
+
description?: ObjectConfigProperty;
|
|
1987
|
+
meta?: ObjectConfigProperty;
|
|
1988
|
+
aside?: ObjectConfigProperty;
|
|
1989
|
+
actions?: ObjectConfigAction[];
|
|
1990
|
+
badges?: ObjectConfigBadge[];
|
|
1991
|
+
}
|
|
1992
|
+
interface ObjectConfigIcon {
|
|
1993
|
+
svg: string;
|
|
1994
|
+
}
|
|
1995
|
+
interface ObjectConfigAction {
|
|
1996
|
+
id: string;
|
|
1997
|
+
}
|
|
1998
|
+
interface ObjectConfigBadge {
|
|
1999
|
+
label: string;
|
|
2000
|
+
}
|
|
2001
|
+
interface ObjectConfigProperty {
|
|
2002
|
+
label: string;
|
|
2003
|
+
propertyName: string;
|
|
2004
|
+
}
|
|
2005
|
+
interface StoredObjectConfig {
|
|
2006
|
+
main: ObjectConfigRecord;
|
|
2007
|
+
buckets: ObjectConfigBucket[];
|
|
2008
|
+
}
|
|
2009
|
+
type ObjectConfigRecord = Record<string, ObjectConfig>;
|
|
2010
|
+
interface ObjectConfigBucket {
|
|
2011
|
+
id: string;
|
|
2012
|
+
configs: ObjectConfigRecord;
|
|
2013
|
+
}
|
|
2014
|
+
interface ResolvedObjectConfig {
|
|
2015
|
+
id: string;
|
|
2016
|
+
objectTypeId: string;
|
|
2017
|
+
icon?: ResolvedObjectConfigItem;
|
|
2018
|
+
title: ResolvedObjectConfigItem;
|
|
2019
|
+
description?: ResolvedObjectConfigItem;
|
|
2020
|
+
meta?: ResolvedObjectConfigItem;
|
|
2021
|
+
aside?: ResolvedObjectConfigItem;
|
|
2022
|
+
actions?: ObjectConfigAction[];
|
|
2023
|
+
badges?: ObjectConfigBadge[];
|
|
2024
|
+
instanceData?: Record<string, unknown>;
|
|
2025
|
+
}
|
|
2026
|
+
interface ResolvedObjectConfigItem {
|
|
2027
|
+
propertyName: string;
|
|
2028
|
+
rendererType?: RendererType;
|
|
2029
|
+
value?: any;
|
|
2030
|
+
meta?: Record<string, any>;
|
|
2031
|
+
}
|
|
2032
|
+
type RendererType = Partial<ObjectTypeFieldInternalType | string>;
|
|
2033
|
+
interface ConfigTypeOption {
|
|
2034
|
+
bucket?: string;
|
|
2035
|
+
type: VirtualObjectType;
|
|
2036
|
+
}
|
|
2037
|
+
|
|
2038
|
+
/**
|
|
2039
|
+
* Service managing the configuarions for object types.
|
|
2040
|
+
* Configuration means that you can pick certain fields
|
|
2041
|
+
* of an object type and assign them to a config object.
|
|
2042
|
+
*/
|
|
2043
|
+
declare class ObjectConfigService {
|
|
2044
|
+
#private;
|
|
2045
|
+
OBJECT_CONFIG_STORAGE_KEY: string;
|
|
2046
|
+
init(): Observable<any>;
|
|
2047
|
+
getObjectConfigs$(bucket?: string, includeDefaults?: boolean): Observable<ObjectConfigRecord>;
|
|
2048
|
+
/**
|
|
2049
|
+
* Register default object configs. Apps can pre-define how their
|
|
2050
|
+
* objects should be rendered.
|
|
2051
|
+
* @param bucket Name of a bucket to bind configs to (usually the ID of the app) to
|
|
2052
|
+
* separate the configs from other apps. If not provided configs will be saved for
|
|
2053
|
+
* the global scope
|
|
2054
|
+
*/
|
|
2055
|
+
registerDefaults(configs: ObjectConfigRecord, bucket?: string): void;
|
|
2056
|
+
unregisterDefaults(configs: ObjectConfigRecord, bucket?: string): void;
|
|
2057
|
+
getRegisteredDefault(objectTypeId: string, bucket?: string): ObjectConfig | undefined;
|
|
2058
|
+
/**
|
|
2059
|
+
* Get object config for an object type.
|
|
2060
|
+
* @param objectTypeId ID of the object type to get the config for
|
|
2061
|
+
* @param bucket Optional bucket ID to fetch the config from. Buckets
|
|
2062
|
+
* define separated areas to store/receive those configs. This way
|
|
2063
|
+
* components/apps can store different object configs than the ones
|
|
2064
|
+
* used accross the whole client application.
|
|
2065
|
+
*/
|
|
2066
|
+
getObjectConfig(type: VirtualObjectType, bucket?: string): ObjectConfig;
|
|
2067
|
+
saveObjectConfig(type: VirtualObjectType, config?: ObjectConfig, bucket?: string): Observable<any>;
|
|
2068
|
+
saveObjectConfigs(configs: Record<string, ObjectConfig | undefined>, bucket?: string): Observable<any>;
|
|
2069
|
+
getDefaultConfig(objectTypeID: string): ObjectConfig;
|
|
2070
|
+
getResolvedObjectConfig(data: Record<string, any>, type: VirtualObjectType, bucket?: string, includeDefaults?: boolean): ResolvedObjectConfig;
|
|
2071
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ObjectConfigService, never>;
|
|
2072
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ObjectConfigService>;
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2075
|
+
type ObjectFormModel = ObjectFormGroup | ObjectFormControlWrapper;
|
|
2076
|
+
declare class ObjectFormControlWrapper extends FormGroup {
|
|
2077
|
+
_eoFormControlWrapper?: YuvFormGroupWrapper;
|
|
2078
|
+
}
|
|
2079
|
+
interface YuvFormGroupWrapper {
|
|
2080
|
+
/**
|
|
2081
|
+
* form control situation (CREATE, EDIT, SEARCH)
|
|
2082
|
+
*/
|
|
2083
|
+
situation: string;
|
|
2084
|
+
/**
|
|
2085
|
+
* the name of the wrapped form control
|
|
2086
|
+
*/
|
|
2087
|
+
controlName: string;
|
|
2088
|
+
}
|
|
2089
|
+
interface YuvFormGroup {
|
|
2090
|
+
/**
|
|
2091
|
+
* the label for the form group
|
|
2092
|
+
*/
|
|
2093
|
+
label?: string;
|
|
2094
|
+
/**
|
|
2095
|
+
* object holding properties defining layout properties of the group
|
|
2096
|
+
*/
|
|
2097
|
+
layout: any;
|
|
2098
|
+
/**
|
|
2099
|
+
* type of group indicating if the form is a stack, a fieldset or a simple group
|
|
2100
|
+
*/
|
|
2101
|
+
type: string;
|
|
2102
|
+
}
|
|
2103
|
+
/**
|
|
2104
|
+
* @ignore
|
|
2105
|
+
* Extension of the default angular form group,
|
|
2106
|
+
*/
|
|
2107
|
+
declare class ObjectFormGroup extends FormGroup {
|
|
2108
|
+
_eoFormGroup?: YuvFormGroup;
|
|
2109
|
+
}
|
|
2110
|
+
/**
|
|
2111
|
+
* @ignore
|
|
2112
|
+
* Extension of the default angular form control,
|
|
2113
|
+
*/
|
|
2114
|
+
declare class ObjectFormControl extends FormControl {
|
|
2115
|
+
private __eoFormElement;
|
|
2116
|
+
set _eoFormElement(v: any);
|
|
2117
|
+
get _eoFormElement(): any;
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
/**
|
|
2121
|
+
* Interface to be implemented by all components (state components) that are aware of pending changes
|
|
2122
|
+
*/
|
|
2123
|
+
interface PendingChangesComponent {
|
|
2124
|
+
hasPendingChanges: () => boolean;
|
|
2125
|
+
}
|
|
2126
|
+
|
|
2127
|
+
/**
|
|
2128
|
+
* EditingObserver service is used to track changes made inside the application, that should prevent
|
|
2129
|
+
* doing something or going somewhere before the changes are persisted or ignored. For example when
|
|
2130
|
+
* the user starts editing form data and tries to navigate away before saving the changes, this service
|
|
2131
|
+
* will take care of notifying the user.
|
|
2132
|
+
*
|
|
2133
|
+
* It is working kind of like a registry for ongoing tasks that need to be monitored. Every component
|
|
2134
|
+
* that needs to be aware of changes to be persisted can start a task and finish it when everything is done.
|
|
2135
|
+
*
|
|
2136
|
+
* Other components can ask the service for pending tasks to know whether or not to execute an action
|
|
2137
|
+
* (e.g. list component will subscribe and prevent selecting another list item, if changes to the previous one haven't be finished)
|
|
2138
|
+
*
|
|
2139
|
+
* app.component will prevent relevant route changes while tasks are pending.
|
|
2140
|
+
*/
|
|
2141
|
+
declare class PendingChangesService {
|
|
2142
|
+
#private;
|
|
2143
|
+
tasks$: Observable<{
|
|
2144
|
+
id: string;
|
|
2145
|
+
message?: string;
|
|
2146
|
+
}[]>;
|
|
2147
|
+
/**
|
|
2148
|
+
* Registers a task to be pending.
|
|
2149
|
+
* @param message alert message
|
|
2150
|
+
* @returns Unique id to be used for finishing this task
|
|
2151
|
+
*/
|
|
2152
|
+
startTask(message: string): string;
|
|
2153
|
+
/**
|
|
2154
|
+
* Finishes a task
|
|
2155
|
+
* @param id The id of the task to be finished. This is the one the component got from startTask()
|
|
2156
|
+
*/
|
|
2157
|
+
finishTask(id: string): void;
|
|
2158
|
+
/**
|
|
2159
|
+
* Returns whether or not the service has pending tasks.
|
|
2160
|
+
* If an id is provided, the method will check existence of one specific task.
|
|
2161
|
+
*
|
|
2162
|
+
* @param id The id of the task to be checked
|
|
2163
|
+
* @returns
|
|
2164
|
+
*/
|
|
2165
|
+
hasPendingTask(id?: string | string[]): boolean;
|
|
2166
|
+
/**
|
|
2167
|
+
* Returns whether or not the component|service has pending tasks.
|
|
2168
|
+
* Checks via confirm dialog
|
|
2169
|
+
* @param component
|
|
2170
|
+
* @returns false if there are no pending changes or user confirmed
|
|
2171
|
+
* to continue, true if there are pending changes and user canceled the action
|
|
2172
|
+
*/
|
|
2173
|
+
check(component?: PendingChangesComponent): boolean;
|
|
2174
|
+
checkForPendingTasks(taskIds: string | string[]): boolean;
|
|
2175
|
+
/**
|
|
2176
|
+
* Clear list of pending tasks
|
|
2177
|
+
*/
|
|
2178
|
+
clear(): void;
|
|
2179
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesService, never>;
|
|
2180
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesService>;
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2183
|
+
/**
|
|
2184
|
+
* Providing a `PendingChangesComponent`.
|
|
2185
|
+
*/
|
|
2186
|
+
declare class PendingChangesGuard implements CanDeactivate<PendingChangesComponent> {
|
|
2187
|
+
private pendingChanges;
|
|
2188
|
+
constructor(pendingChanges: PendingChangesService);
|
|
2189
|
+
canDeactivate(component: PendingChangesComponent): boolean;
|
|
2190
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PendingChangesGuard, never>;
|
|
2191
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PendingChangesGuard>;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
/**
|
|
2195
|
+
* Service that provides guards for Material Dialog close operations.
|
|
2196
|
+
*
|
|
2197
|
+
* This service allows you to intercept and control dialog close events,
|
|
2198
|
+
* enabling confirmation dialogs or preventing accidental closure when
|
|
2199
|
+
* there are unsaved changes or pending operations.
|
|
2200
|
+
*
|
|
2201
|
+
* @example
|
|
2202
|
+
* ```typescript
|
|
2203
|
+
* readonly #dialogCloseGuard = inject(DialogCloseGuard);
|
|
2204
|
+
*
|
|
2205
|
+
* openDialog() {
|
|
2206
|
+
* const dialogRef = this.dialog.open(MyComponent);
|
|
2207
|
+
*
|
|
2208
|
+
* // Prevent dialog from closing if there are unsaved changes
|
|
2209
|
+
* this.#dialogCloseGuard.dialogCanClose(dialogRef, () => {
|
|
2210
|
+
* return this.hasUnsavedChanges() ? this.confirmClose() : true;
|
|
2211
|
+
* }).subscribe();
|
|
2212
|
+
* }
|
|
2213
|
+
* ```
|
|
2214
|
+
*/
|
|
2215
|
+
declare class DialogCloseGuard {
|
|
2216
|
+
#private;
|
|
2217
|
+
/**
|
|
2218
|
+
* Guards against dialog closure when the backdrop is clicked.
|
|
2219
|
+
*
|
|
2220
|
+
* This method disables the default close behavior and only allows the dialog
|
|
2221
|
+
* to close when the provided check function returns true. The check is triggered
|
|
2222
|
+
* specifically when the user clicks on the dialog backdrop.
|
|
2223
|
+
*
|
|
2224
|
+
* @param dialogRef - Reference to the Material Dialog instance
|
|
2225
|
+
* @param checkFunction - Function that determines if the dialog can be closed.
|
|
2226
|
+
* Can return a boolean directly or an Observable<boolean>
|
|
2227
|
+
* @returns Observable<boolean> - Emits true when the dialog can be closed via backdrop click
|
|
2228
|
+
*
|
|
2229
|
+
* @example
|
|
2230
|
+
* ```typescript
|
|
2231
|
+
* this.dialogCloseGuard.checkBackdropCanClose(dialogRef, () => {
|
|
2232
|
+
* return this.formIsDirty ? this.showConfirmDialog() : true;
|
|
2233
|
+
* }).subscribe(canClose => {
|
|
2234
|
+
* if (canClose) {
|
|
2235
|
+
* dialogRef.close();
|
|
2236
|
+
* }
|
|
2237
|
+
* });
|
|
2238
|
+
* ```
|
|
2239
|
+
*/
|
|
2240
|
+
checkBackdropCanClose(dialogRef: MatDialogRef<any>, checkFunction: () => boolean | Observable<boolean>): Observable<boolean>;
|
|
2241
|
+
/**
|
|
2242
|
+
* Guards against dialog closure when the Escape key is pressed.
|
|
2243
|
+
*
|
|
2244
|
+
* This method disables the default close behavior and only allows the dialog
|
|
2245
|
+
* to close when the provided check function returns true. The check is triggered
|
|
2246
|
+
* specifically when the user presses the Escape key.
|
|
2247
|
+
*
|
|
2248
|
+
* @param dialogRef - Reference to the Material Dialog instance
|
|
2249
|
+
* @param checkFunction - Function that determines if the dialog can be closed.
|
|
2250
|
+
* Can return a boolean directly or an Observable<boolean>
|
|
2251
|
+
* @returns Observable<boolean> - Emits true when the dialog can be closed via Escape key
|
|
2252
|
+
*
|
|
2253
|
+
* @example
|
|
2254
|
+
* ```typescript
|
|
2255
|
+
* this.dialogCloseGuard.checkKeydownEventsCanClose(dialogRef, () => {
|
|
2256
|
+
* return this.hasUnsavedChanges ? this.confirmDiscardChanges() : true;
|
|
2257
|
+
* }).subscribe(canClose => {
|
|
2258
|
+
* if (canClose) {
|
|
2259
|
+
* dialogRef.close();
|
|
2260
|
+
* }
|
|
2261
|
+
* });
|
|
2262
|
+
* ```
|
|
2263
|
+
*/
|
|
2264
|
+
checkKeydownEventsCanClose(dialogRef: MatDialogRef<any>, checkFunction: () => boolean | Observable<boolean>): Observable<boolean>;
|
|
2265
|
+
/**
|
|
2266
|
+
* Comprehensive dialog close guard that handles both backdrop clicks and Escape key presses.
|
|
2267
|
+
*
|
|
2268
|
+
* This method provides a unified approach to guard dialog closure by monitoring both
|
|
2269
|
+
* backdrop clicks and Escape key events. When either event occurs, it runs the provided
|
|
2270
|
+
* check function and automatically closes the dialog if the check passes.
|
|
2271
|
+
*
|
|
2272
|
+
* This is the most convenient method when you want to guard against all common
|
|
2273
|
+
* dialog close scenarios with a single setup.
|
|
2274
|
+
*
|
|
2275
|
+
* @template T - The type of data that the dialog returns
|
|
2276
|
+
* @param dialogRef - Reference to the Material Dialog instance
|
|
2277
|
+
* @param checkFunction - Function that determines if the dialog can be closed.
|
|
2278
|
+
* Can return a boolean directly or an Observable<boolean>
|
|
2279
|
+
* @returns Observable<false | void> - Emits false if the dialog cannot be closed,
|
|
2280
|
+
* or void when the dialog is successfully closed
|
|
2281
|
+
*
|
|
2282
|
+
* @example
|
|
2283
|
+
* ```typescript
|
|
2284
|
+
* // Simple boolean check
|
|
2285
|
+
* this.dialogCloseGuard.dialogCanClose(dialogRef, () => !this.hasUnsavedChanges).subscribe();
|
|
2286
|
+
*
|
|
2287
|
+
* // Async check with confirmation dialog
|
|
2288
|
+
* this.dialogCloseGuard.dialogCanClose(dialogRef, () => {
|
|
2289
|
+
* return this.hasUnsavedChanges
|
|
2290
|
+
* ? this.confirmationService.confirm('Discard changes?')
|
|
2291
|
+
* : of(true);
|
|
2292
|
+
* }).subscribe();
|
|
2293
|
+
* ```
|
|
2294
|
+
*/
|
|
2295
|
+
preventCloseUntil<T>(dialogRef: MatDialogRef<T>, checkFunction: () => boolean | Observable<boolean>): Observable<false | void>;
|
|
2296
|
+
/**
|
|
2297
|
+
* Specialized dialog close guard that automatically checks for pending changes.
|
|
2298
|
+
*
|
|
2299
|
+
* This convenience method provides automatic pending changes detection without
|
|
2300
|
+
* requiring a custom check function. It integrates with the PendingChangesService
|
|
2301
|
+
* to determine if there are any unsaved changes, and handles both backdrop clicks
|
|
2302
|
+
* and Escape key presses automatically.
|
|
2303
|
+
*
|
|
2304
|
+
* This method is ideal when you want to prevent dialog closure if there are
|
|
2305
|
+
* pending changes anywhere in the application, without having to implement
|
|
2306
|
+
* custom change detection logic.
|
|
2307
|
+
*
|
|
2308
|
+
* @template T - The type of data that the dialog returns
|
|
2309
|
+
* @param dialogRef - Reference to the Material Dialog instance
|
|
2310
|
+
* @returns Observable<false | void> - Emits false if there are pending changes
|
|
2311
|
+
* preventing closure, or void when the dialog
|
|
2312
|
+
* is successfully closed
|
|
2313
|
+
*
|
|
2314
|
+
*/
|
|
2315
|
+
pendingChangesDialogCanClose<T>(dialogRef: MatDialogRef<T>): Observable<false | void>;
|
|
2316
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DialogCloseGuard, never>;
|
|
2317
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DialogCloseGuard>;
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
declare class TabGuardDirective implements DoCheck {
|
|
2321
|
+
#private;
|
|
2322
|
+
constructor();
|
|
2323
|
+
ngDoCheck(): void;
|
|
2324
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabGuardDirective, never>;
|
|
2325
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TabGuardDirective, "mat-tab-group[yuvTabGuardDisable]", never, {}, {}, never, never, true, never>;
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
interface PredictionClassifyResult {
|
|
2329
|
+
objectId: string;
|
|
2330
|
+
properties: PredictionClassifyResultItem[];
|
|
2331
|
+
}
|
|
2332
|
+
interface PredictionClassifyResultItem {
|
|
2333
|
+
type: string;
|
|
2334
|
+
probability: number;
|
|
2335
|
+
}
|
|
2336
|
+
interface PredictionExtractResult {
|
|
2337
|
+
objectId: string;
|
|
2338
|
+
properties: Record<string, PredictionExtractResultItem[]>;
|
|
2339
|
+
}
|
|
2340
|
+
interface PredictionExtractResultItem {
|
|
2341
|
+
value: string;
|
|
2342
|
+
probability: number;
|
|
2343
|
+
boundingBox?: number[];
|
|
2344
|
+
page?: number;
|
|
2345
|
+
}
|
|
2346
|
+
|
|
2347
|
+
declare class PredictionService {
|
|
2348
|
+
#private;
|
|
2349
|
+
classify(objectIDs: string[], schemaObjectTypeId?: string): Observable<Record<string, PredictionClassifyResult>>;
|
|
2350
|
+
/**
|
|
2351
|
+
* @param schemaObjectTypeId
|
|
2352
|
+
* @param objectIDs
|
|
2353
|
+
* @returns Observable<Record<string, PredictionClassifyResult>> string is objectID
|
|
2354
|
+
*/
|
|
2355
|
+
extract(schemaObjectTypeId: string, objectIDs: string[]): Observable<Record<string, PredictionExtractResult>>;
|
|
2356
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PredictionService, never>;
|
|
2357
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PredictionService>;
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
interface RetentionState {
|
|
2361
|
+
underRetention: boolean;
|
|
2362
|
+
start?: Date;
|
|
2363
|
+
end?: Date;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
/**
|
|
2367
|
+
* Service to manage retention for DMS objects. This service allows to set retention
|
|
2368
|
+
* for objects and revert retention if necessary/possible.
|
|
2369
|
+
*/
|
|
2370
|
+
declare class RetentionService {
|
|
2371
|
+
#private;
|
|
2372
|
+
/**
|
|
2373
|
+
* Set retention for given objects. This will add the retention SOT to the objects
|
|
2374
|
+
* and set the retention start and end date. If the retetion start date is in the
|
|
2375
|
+
* future, you can revert the retention until then by calling `revertRetention`.
|
|
2376
|
+
* @param dmsObjects The objects to set retention for
|
|
2377
|
+
* @param retentionStart Date when retention period should begin
|
|
2378
|
+
* @param retentionEnd Date when retention period should end
|
|
2379
|
+
* @param destructionDate Date when the object should be destroyed. This right now is just a
|
|
2380
|
+
* marker and has no effect on the object lifecycle.
|
|
2381
|
+
* @returns The updated objects
|
|
2382
|
+
*/
|
|
2383
|
+
setRetention(dmsObjects: DmsObject[], retentionStart: Date, retentionEnd: Date, destructionDate?: Date): Observable<DmsObject[]>;
|
|
2384
|
+
getRetentionState(dmsObject: DmsObject): RetentionState;
|
|
2385
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RetentionService, never>;
|
|
2386
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RetentionService>;
|
|
2387
|
+
}
|
|
2388
|
+
|
|
2389
|
+
declare class SearchService {
|
|
2390
|
+
#private;
|
|
2391
|
+
static DEFAULT_QUERY_SIZE: number;
|
|
2392
|
+
/**
|
|
2393
|
+
* Execute a search query ans transform the result to a SearchResult object
|
|
2394
|
+
* @param query The search query
|
|
2395
|
+
* @returns Observable of a SearchResult
|
|
2396
|
+
*/
|
|
2397
|
+
search(query: SearchQuery): Observable<SearchResult>;
|
|
2398
|
+
/**
|
|
2399
|
+
* Execute a raw search query and return the result as is.
|
|
2400
|
+
* @param query The search query
|
|
2401
|
+
* @returns Observable of the raw search result
|
|
2402
|
+
*/
|
|
2403
|
+
searchRaw(query: SearchQuery): Observable<any>;
|
|
2404
|
+
/**
|
|
2405
|
+
* Search for objects in the dms using CMIS like SQL syntax.
|
|
2406
|
+
* @param statement The query statement
|
|
2407
|
+
* @param size The number of items to return
|
|
2408
|
+
* @returns Observable of a SearchResult
|
|
2409
|
+
*/
|
|
2410
|
+
searchCmis(statement: string, size?: number, includePermissions?: boolean): Observable<SearchResult>;
|
|
2411
|
+
/**
|
|
2412
|
+
* Fetch aggragations for a given query.
|
|
2413
|
+
* @param q The query
|
|
2414
|
+
* @param aggregations List of aggregations to be fetched (e.g. `enaio:objectTypeId`
|
|
2415
|
+
* to get an aggregation of object types)
|
|
2416
|
+
*/
|
|
2417
|
+
aggregate(q: SearchQuery, aggregations: string[]): Observable<AggregateResult>;
|
|
2418
|
+
/**
|
|
2419
|
+
* Go to a page of a search result.
|
|
2420
|
+
* @param query SearchQuery or CMIS query statement
|
|
2421
|
+
* @param page The number of the page to go to
|
|
2422
|
+
*/
|
|
2423
|
+
getPage(query: SearchQuery | string, page: number, pageSize?: number, includePermissions?: boolean): Observable<SearchResult>;
|
|
2424
|
+
/**
|
|
2425
|
+
* Map search result from the backend to applications SearchResult object
|
|
2426
|
+
* @param searchResponse The backend response
|
|
2427
|
+
*/
|
|
2428
|
+
toSearchResult(searchResponse: SearchResponse, pageSize?: number, skipCount?: number): SearchResult;
|
|
2429
|
+
/**
|
|
2430
|
+
* Maps data extracted from a search form to search filters. Every key of the form data object
|
|
2431
|
+
* will be mapped to a search filter.
|
|
2432
|
+
* @param formData form data
|
|
2433
|
+
* @returns Array of search filters
|
|
2434
|
+
*/
|
|
2435
|
+
formDataToSearchFilter(formData: Record<string, unknown>): SearchFilter[];
|
|
2436
|
+
rangeValueToSearchFilter(value: RangeValue, property: string): SearchFilter | undefined;
|
|
2437
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SearchService, never>;
|
|
2438
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SearchService>;
|
|
2439
|
+
}
|
|
2440
|
+
|
|
2441
|
+
declare class SearchUtils {
|
|
2442
|
+
static dateRanges: string[];
|
|
2443
|
+
static filesizeRanges: string[];
|
|
2444
|
+
static dateRangeStartEnd(dateRange: DateRange): {
|
|
2445
|
+
start: Date;
|
|
2446
|
+
end: Date;
|
|
2447
|
+
};
|
|
2448
|
+
/**
|
|
2449
|
+
* Maps a date range filter to a date range value like 'thisWeek', 'lastMonth', etc.
|
|
2450
|
+
* @param rangeValue the range value
|
|
2451
|
+
* @returns the date range (eg. 'thisWeek', 'lastMonth', etc.)
|
|
2452
|
+
*/
|
|
2453
|
+
static getMatchingDateRange(rangeValue: RangeValue): DateRange | undefined;
|
|
2454
|
+
static getMatchingFilesizeRange(rangeValue: RangeValue): FilesizeRange | undefined;
|
|
2455
|
+
static filesizeRangeToRangeValue(filesizeRange: FilesizeRange): RangeValue | undefined;
|
|
2456
|
+
}
|
|
2457
|
+
|
|
2458
|
+
declare class SessionStorageService {
|
|
2459
|
+
#private;
|
|
2460
|
+
constructor();
|
|
2461
|
+
/**
|
|
2462
|
+
* Add a reference to a temporary localstorage entry that should be cleared when a
|
|
2463
|
+
* new browser session starts. In context of forms this will be used to cleanup the
|
|
2464
|
+
* layout state of forms (selected tabs etc.) that are stored locally but should only
|
|
2465
|
+
* be pesisted for one browser session.
|
|
2466
|
+
* @param storageKey Key of the localstorage item
|
|
2467
|
+
*/
|
|
2468
|
+
addTemporaryStorageEntry(storageKey: string): void;
|
|
2469
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SessionStorageService, never>;
|
|
2470
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SessionStorageService>;
|
|
2471
|
+
}
|
|
2472
|
+
|
|
2473
|
+
/**
|
|
2474
|
+
* Providing system definitions.
|
|
2475
|
+
*/
|
|
2476
|
+
declare class SystemService {
|
|
2477
|
+
#private;
|
|
2478
|
+
system?: SystemDefinition;
|
|
2479
|
+
system$: Observable<SystemDefinition>;
|
|
2480
|
+
authData?: AuthData;
|
|
2481
|
+
/**
|
|
2482
|
+
* Get all object types
|
|
2483
|
+
* @param withLabels Whether or not to also add the types labels
|
|
2484
|
+
*/
|
|
2485
|
+
getObjectTypes(withLabels?: boolean, situation?: 'search' | 'create'): GenericObjectType[];
|
|
2486
|
+
/**
|
|
2487
|
+
* Get all secondary object types
|
|
2488
|
+
* @param withLabels Whether or not to also add the types labels
|
|
2489
|
+
*/
|
|
2490
|
+
getSecondaryObjectTypes(withLabels?: boolean, situation?: 'search' | 'create'): SecondaryObjectType[];
|
|
2491
|
+
/**
|
|
2492
|
+
* Get a particular object type
|
|
2493
|
+
* @param objectTypeId ID of the object type
|
|
2494
|
+
* @param withLabel Whether or not to also add the types label
|
|
2495
|
+
*/
|
|
2496
|
+
getObjectType(objectTypeId: string, withLabel?: boolean): GenericObjectType | undefined;
|
|
2497
|
+
/**
|
|
2498
|
+
* Get a particular secondary object type
|
|
2499
|
+
* @param objectTypeId ID of the object type
|
|
2500
|
+
* @param withLabel Whether or not to also add the types label
|
|
2501
|
+
*/
|
|
2502
|
+
getSecondaryObjectType(objectTypeId: string, withLabel?: boolean): SecondaryObjectType | undefined;
|
|
2503
|
+
getRelationship(id: string, withLabel?: boolean): Relationship | undefined;
|
|
2504
|
+
/**
|
|
2505
|
+
* Get supported relationships for a given dms object
|
|
2506
|
+
* @param dmsObject DmsObject to get supported relationships for
|
|
2507
|
+
*/
|
|
2508
|
+
getSupportedRelationships(dmsObject: DmsObject, withLabel?: boolean): Relationship[];
|
|
2509
|
+
/**
|
|
2510
|
+
* Get the base document type all documents belong to
|
|
2511
|
+
* @param withLabel Whether or not to also add the types label
|
|
2512
|
+
*/
|
|
2513
|
+
getBaseDocumentType(withLabel?: boolean): ObjectType;
|
|
2514
|
+
/**
|
|
2515
|
+
* Get the base folder type all folders belong to
|
|
2516
|
+
* @param withLabel Whether or not to also add the types label
|
|
2517
|
+
*/
|
|
2518
|
+
getBaseFolderType(withLabel?: boolean): ObjectType;
|
|
2519
|
+
/**
|
|
2520
|
+
* Get the base object type all dms objects belong to
|
|
2521
|
+
*/
|
|
2522
|
+
getBaseType(): ObjectType;
|
|
2523
|
+
/**
|
|
2524
|
+
* Get the resolved object type with all fields ( including fields from related secondary types )
|
|
2525
|
+
*/
|
|
2526
|
+
getResolvedType(objectTypeId?: string): {
|
|
2527
|
+
id: string;
|
|
2528
|
+
fields: ObjectTypeField[];
|
|
2529
|
+
};
|
|
2530
|
+
/**
|
|
2531
|
+
* Get the resolved object tags
|
|
2532
|
+
*/
|
|
2533
|
+
getResolvedTags(objectTypeId: string): {
|
|
2534
|
+
id: string;
|
|
2535
|
+
tagName: string;
|
|
2536
|
+
tagValues: any;
|
|
2537
|
+
fields: ObjectTypeField[];
|
|
2538
|
+
}[];
|
|
2539
|
+
/**
|
|
2540
|
+
* Get a list of classifications for a given object type including the
|
|
2541
|
+
* classifications of its static secondary object types
|
|
2542
|
+
* @param objectTypeId ID of the object type
|
|
2543
|
+
*/
|
|
2544
|
+
getResolvedClassifications(objectTypeId: string): string[];
|
|
2545
|
+
/**
|
|
2546
|
+
* Visible tags are defined by a classification on the object type (e.g. 'tag[tenkolibri:process,1,2,3]').
|
|
2547
|
+
*
|
|
2548
|
+
* The example will only return tags with the name 'tenkolibri:process'
|
|
2549
|
+
* and values of either 1, 2 or 3. All other tags will be ignored.
|
|
2550
|
+
*
|
|
2551
|
+
* @param objectTypeId ID of the object type to get the visible tags for
|
|
2552
|
+
* @returns object where the property name is the name of the tag and its value are the visible values
|
|
2553
|
+
* for that tag (if values is emoty all values are allowed)
|
|
2554
|
+
*/
|
|
2555
|
+
getVisibleTags(objectTypeId: string): {
|
|
2556
|
+
[tagName: string]: any[];
|
|
2557
|
+
};
|
|
2558
|
+
private fetchVisibleTags;
|
|
2559
|
+
filterVisibleTags(objectTypeId: string, tagsValue: Array<Array<any>>): Array<Array<any>>;
|
|
2560
|
+
/**
|
|
2561
|
+
* Get the icon for an object type. This will return an SVG as a string.
|
|
2562
|
+
* @param objectTypeId ID of the object type
|
|
2563
|
+
* @param fallback ID of a fallback icon that should be used if the given object type has no icon yet
|
|
2564
|
+
*/
|
|
2565
|
+
getObjectTypeIcon(objectTypeId: string, fallback?: string): Observable<string>;
|
|
2566
|
+
/**
|
|
2567
|
+
* Get the URI of an object type icon.
|
|
2568
|
+
* @param objectTypeId ID of the object type
|
|
2569
|
+
* @param fallback ID of a fallback icon that should be used if the given object type has no icon yet
|
|
2570
|
+
*/
|
|
2571
|
+
getObjectTypeIconUri(objectTypeId: string, fallback?: string): string;
|
|
2572
|
+
private getFallbackIcon;
|
|
2573
|
+
getLocalizedResource(key: string): string;
|
|
2574
|
+
getLocalizedLabel(id: string): string;
|
|
2575
|
+
getLocalizedDescription(id: string): string;
|
|
2576
|
+
/**
|
|
2577
|
+
* Determine whether or not the given object type field is a system field
|
|
2578
|
+
* @param field Object type field to be checked
|
|
2579
|
+
*/
|
|
2580
|
+
isSystemProperty(field: ObjectTypeField): boolean;
|
|
2581
|
+
/**
|
|
2582
|
+
* Fetches the backends system definition and updates system$ Observable.
|
|
2583
|
+
* Subscribe to the system$ observable instead of calling this function, otherwise you'll trigger fetching the
|
|
2584
|
+
* system definition every time.
|
|
2585
|
+
*
|
|
2586
|
+
* @param user The user to load the system definition for
|
|
2587
|
+
*/
|
|
2588
|
+
getSystemDefinition(authData?: AuthData): Observable<boolean>;
|
|
2589
|
+
setPermissions(p: ObjectTypePermissions): void;
|
|
2590
|
+
/**
|
|
2591
|
+
* Create the schema from the servers schema response
|
|
2592
|
+
* @param schemaResponse Response from the backend
|
|
2593
|
+
*/
|
|
2594
|
+
setSchema(schemaResponse: SchemaResponse, localizedResource?: Localization): void;
|
|
2595
|
+
/**
|
|
2596
|
+
* Fetch a collection of form models.
|
|
2597
|
+
* @param objectTypeIDs Object type IDs to fetch form model for
|
|
2598
|
+
* @param situation Form situation
|
|
2599
|
+
* @returns Object where the object type id is key and the form model is the value
|
|
2600
|
+
*/
|
|
2601
|
+
getObjectTypeForms(objectTypeIDs: string[], situation: string): Observable<Record<string, any>>;
|
|
2602
|
+
/**
|
|
2603
|
+
* Get the form model of an object type.
|
|
2604
|
+
*
|
|
2605
|
+
* @param objectTypeId ID of the object type to fetch the form for
|
|
2606
|
+
* @param situation The form situation to be fetched
|
|
2607
|
+
* @returns Form model
|
|
2608
|
+
*/
|
|
2609
|
+
getObjectTypeForm(objectTypeId: string, situation: string): Observable<any>;
|
|
2610
|
+
/**
|
|
2611
|
+
* Generates an internal type for a given object type field.
|
|
2612
|
+
* Adding this to a form element or object type field enables us to render forms
|
|
2613
|
+
* based on object type fields in a more performant way. Otherwise we would
|
|
2614
|
+
* have to evaluate the conditions for every form element on every digest cycle.
|
|
2615
|
+
* @param type propertyType of the ObjectTypeField
|
|
2616
|
+
* @param classifications classifications of the ObjectTypeField
|
|
2617
|
+
*/
|
|
2618
|
+
getInternalFormElementType(type: string, classifications?: string[]): ObjectTypeFieldInternalType;
|
|
2619
|
+
getObjectTypeField(id: string): ObjectTypeField | undefined;
|
|
2620
|
+
/**
|
|
2621
|
+
* Extract classifications from object type fields classification
|
|
2622
|
+
* string. This string may contain more than one classification entry.
|
|
2623
|
+
*
|
|
2624
|
+
* Classification is a comma separated string that may contain additional
|
|
2625
|
+
* properties related to on classification entry. Example:
|
|
2626
|
+
*
|
|
2627
|
+
* `id:reference[system:folder], email`
|
|
2628
|
+
*
|
|
2629
|
+
* @param classifications Object type fields classification property (schema)
|
|
2630
|
+
*/
|
|
2631
|
+
getClassifications(classifications: string[]): Map<string, ClassificationEntry>;
|
|
2632
|
+
toFormElement(field: ObjectTypeField): any;
|
|
2633
|
+
updateAuthData(data: Partial<AuthData>): Observable<boolean>;
|
|
2634
|
+
updateLocalizations(iso: string): Observable<any>;
|
|
2635
|
+
fetchResources(id: string): Observable<{
|
|
2636
|
+
global: any;
|
|
2637
|
+
tenant: any;
|
|
2638
|
+
}>;
|
|
2639
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SystemService, never>;
|
|
2640
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SystemService>;
|
|
2641
|
+
}
|
|
2642
|
+
|
|
2643
|
+
interface ToastOptions {
|
|
2644
|
+
duration?: number;
|
|
2645
|
+
position?: ToastPosition;
|
|
2646
|
+
level?: ToastLevel;
|
|
2647
|
+
title?: string;
|
|
2648
|
+
}
|
|
2649
|
+
type ToastPosition = 'top-start' | 'top-end' | 'top-center' | 'bottom-start' | 'bottom-end' | 'bottom-center';
|
|
2650
|
+
type ToastLevel = 'success' | 'warning' | 'error' | 'info';
|
|
2651
|
+
|
|
2652
|
+
declare class ToastService {
|
|
2653
|
+
private document;
|
|
2654
|
+
constructor(document: Document);
|
|
2655
|
+
success(message: string, title?: string, options?: ToastOptions): Promise<void>;
|
|
2656
|
+
warning(message: string, title?: string, options?: ToastOptions): Promise<void>;
|
|
2657
|
+
info(message: string, title?: string, options?: ToastOptions): Promise<void>;
|
|
2658
|
+
error(message: string, title?: string, options?: ToastOptions): Promise<void>;
|
|
2659
|
+
toast(message: string, title?: string, options?: ToastOptions): Promise<void>;
|
|
2660
|
+
private _createToast;
|
|
2661
|
+
private _addToast;
|
|
2662
|
+
private _getToastContainer;
|
|
2663
|
+
private _init;
|
|
2664
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
|
|
2665
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
|
|
2666
|
+
}
|
|
2667
|
+
|
|
2668
|
+
/**
|
|
2669
|
+
* Interface for providing an uploading status of an object
|
|
2670
|
+
*/
|
|
2671
|
+
interface ProgressStatus {
|
|
2672
|
+
items: ProgressStatusItem[];
|
|
2673
|
+
err: number;
|
|
2674
|
+
}
|
|
2675
|
+
/**
|
|
2676
|
+
* Is part of the `ProgressStatus` interface
|
|
2677
|
+
*/
|
|
2678
|
+
interface ProgressStatusItem {
|
|
2679
|
+
id: string;
|
|
2680
|
+
filename: string;
|
|
2681
|
+
progress: Observable<number>;
|
|
2682
|
+
subscription: Subscription;
|
|
2683
|
+
result?: UploadResult[];
|
|
2684
|
+
scope?: string;
|
|
2685
|
+
err?: {
|
|
2686
|
+
code: number;
|
|
2687
|
+
message: string;
|
|
2688
|
+
};
|
|
2689
|
+
}
|
|
2690
|
+
/**
|
|
2691
|
+
* is a part of `CreatedObject` interface
|
|
2692
|
+
*/
|
|
2693
|
+
interface ContentStream {
|
|
2694
|
+
contentStreamId: string;
|
|
2695
|
+
repositoryId: string;
|
|
2696
|
+
digest: string;
|
|
2697
|
+
fileName: string;
|
|
2698
|
+
archivePath: string;
|
|
2699
|
+
length: number;
|
|
2700
|
+
mimeType: string;
|
|
2701
|
+
}
|
|
2702
|
+
/**
|
|
2703
|
+
* Interface providng properties of uploaded object type
|
|
2704
|
+
*/
|
|
2705
|
+
interface UploadResult {
|
|
2706
|
+
objectId: string | string[];
|
|
2707
|
+
contentStreamId: string;
|
|
2708
|
+
filename: string;
|
|
2709
|
+
label?: string;
|
|
2710
|
+
}
|
|
2711
|
+
/**
|
|
2712
|
+
* Interface that was used by upload service
|
|
2713
|
+
*/
|
|
2714
|
+
interface CreatedObject {
|
|
2715
|
+
body?: {
|
|
2716
|
+
objects: {
|
|
2717
|
+
properties: any;
|
|
2718
|
+
contentStreams?: ContentStream[];
|
|
2719
|
+
}[];
|
|
2720
|
+
};
|
|
2721
|
+
}
|
|
2722
|
+
|
|
2723
|
+
/**
|
|
2724
|
+
* Service for providing upload of different object types into a client.
|
|
2725
|
+
*/
|
|
2726
|
+
declare class UploadService {
|
|
2727
|
+
#private;
|
|
2728
|
+
status$: Observable<ProgressStatus>;
|
|
2729
|
+
uploadStatus$: Observable<boolean | null>;
|
|
2730
|
+
/**
|
|
2731
|
+
* Upload a file.
|
|
2732
|
+
* @param url The URL to upload the file to
|
|
2733
|
+
* @param file The file to be uploaded
|
|
2734
|
+
* @param label A label that will show up in the upload overlay dialog while uploading
|
|
2735
|
+
*
|
|
2736
|
+
* @deprecated use uploadFile instead. `label`, `silent` as well as `scope` can be provided through `options`.
|
|
2737
|
+
*/
|
|
2738
|
+
upload(url: string, file: File, label?: string, silent?: boolean): Observable<any>;
|
|
2739
|
+
/**
|
|
2740
|
+
* Uploads a single file to the specified URL using the structured `FileUploadOptions` object.
|
|
2741
|
+
*
|
|
2742
|
+
* This is the preferred alternative to the legacy `upload()` method. It accepts a typed
|
|
2743
|
+
* options object instead of individual parameters, which makes it easier to pass optional
|
|
2744
|
+
* settings such as `silent` mode and `scope` without relying on positional arguments.
|
|
2745
|
+
*
|
|
2746
|
+
* **Behavior:**
|
|
2747
|
+
* - If `options.silent` is `false` (default), the upload appears in the upload overlay dialog
|
|
2748
|
+
* and progress is tracked via `status$`
|
|
2749
|
+
* - If `options.silent` is `true`, the upload runs quietly in the background with no UI feedback
|
|
2750
|
+
* - `options.label` is shown in the overlay dialog during upload; falls back to `file.name` if omitted
|
|
2751
|
+
* - `options.scope` tags the upload with a named scope, enabling an `UploadProgressComponent`
|
|
2752
|
+
* configured with the same scope to display only the uploads relevant to its section of the UI
|
|
2753
|
+
*
|
|
2754
|
+
* @param url - The backend URL to POST the file to
|
|
2755
|
+
* @param file - The `File` object to be uploaded
|
|
2756
|
+
* @param options - Upload configuration: label, silent mode, and optional scope
|
|
2757
|
+
* @returns An `Observable` that emits the server response on completion
|
|
2758
|
+
*
|
|
2759
|
+
* @example
|
|
2760
|
+
* ```typescript
|
|
2761
|
+
* // Standard upload with progress indicator
|
|
2762
|
+
* this.uploadService.uploadFile(url, file, { label: 'Uploading contract.pdf' }).subscribe();
|
|
2763
|
+
*
|
|
2764
|
+
* // Silent upload (no UI, runs in background)
|
|
2765
|
+
* this.uploadService.uploadFile(url, file, { label: 'document.pdf', silent: true }).subscribe();
|
|
2766
|
+
*
|
|
2767
|
+
* // Scoped upload — only the UploadProgressComponent with scope 'profile-editor' will show this
|
|
2768
|
+
* this.uploadService.uploadFile(url, file, { label: 'photo.jpg', scope: 'profile-editor' }).subscribe();
|
|
2769
|
+
* ```
|
|
2770
|
+
*/
|
|
2771
|
+
uploadFile(url: string, file: File, options: FileUploadOptions): Observable<unknown>;
|
|
2772
|
+
/**
|
|
2773
|
+
* Upload files using multipart upload.
|
|
2774
|
+
* @param url The URL to upload the files to
|
|
2775
|
+
* @param files The files to be uploaded
|
|
2776
|
+
* @param data Data to be send along with the files
|
|
2777
|
+
* @param label A label that will show up in the upload overlay dialog while uploading
|
|
2778
|
+
*
|
|
2779
|
+
* @deprecated Use multipartUpload(url, files, options, data) instead. Provide scope through options.
|
|
2780
|
+
*/
|
|
2781
|
+
uploadMultipart(url: string, files: File[], data?: any, label?: string, silent?: boolean): Observable<any>;
|
|
2782
|
+
/**
|
|
2783
|
+
* Uploads multiple files to the specified URL using a multipart/form-data request.
|
|
2784
|
+
*
|
|
2785
|
+
* This is the preferred method for multi-file uploads. It accepts a typed `FileUploadOptions`
|
|
2786
|
+
* object for configuration, making it easier to pass `scope` and other options compared
|
|
2787
|
+
* to the legacy `uploadMultipart()` overload.
|
|
2788
|
+
*
|
|
2789
|
+
* **Behavior:**
|
|
2790
|
+
* - All files are bundled into a single `FormData` payload under the `files` field
|
|
2791
|
+
* - Optional `data` is appended as a JSON blob under the `data` field
|
|
2792
|
+
* - If `options.silent` is `false` (default), upload progress is shown in the overlay dialog
|
|
2793
|
+
* - If `options.silent` is `true`, the upload runs in the background with no UI feedback
|
|
2794
|
+
* - `options.scope` tags the upload with a named scope, enabling an `UploadProgressComponent`
|
|
2795
|
+
* configured with the same scope to display only the uploads relevant to its section of the UI
|
|
2796
|
+
*
|
|
2797
|
+
* @param url - The backend URL to POST the multipart request to
|
|
2798
|
+
* @param files - Array of `File` objects to upload
|
|
2799
|
+
* @param options - Upload configuration: label (required), silent mode, and optional scope
|
|
2800
|
+
* @param data - Optional metadata object to send alongside the files (serialized as JSON)
|
|
2801
|
+
* @returns An `Observable` that emits the server response on completion
|
|
2802
|
+
*
|
|
2803
|
+
* @example
|
|
2804
|
+
* ```typescript
|
|
2805
|
+
* // Upload files with a visible progress indicator
|
|
2806
|
+
* this.uploadService.multipartUpload(url, files, { label: 'Uploading 3 files' }).subscribe();
|
|
2807
|
+
*
|
|
2808
|
+
* // Upload files with additional metadata
|
|
2809
|
+
* this.uploadService
|
|
2810
|
+
* .multipartUpload(url, files, { label: 'Batch upload' }, { folderId: 'abc123' })
|
|
2811
|
+
* .subscribe();
|
|
2812
|
+
*
|
|
2813
|
+
* // Scoped upload — only the UploadProgressComponent with scope 'mail-editor' will show this
|
|
2814
|
+
* this.uploadService
|
|
2815
|
+
* .multipartUpload(url, files, { label: 'attachments', scope: 'mail-editor' })
|
|
2816
|
+
* .subscribe();
|
|
2817
|
+
* ```
|
|
2818
|
+
*/
|
|
2819
|
+
multipartUpload(url: string, files: File[], options: FileUploadOptions, data?: unknown): Observable<unknown>;
|
|
2820
|
+
/**
|
|
2821
|
+
* Creates a document on the server by sending structured metadata without a file attachment.
|
|
2822
|
+
*
|
|
2823
|
+
* Unlike `uploadFile()` and `multipartUpload()`, this method does not attach any file content.
|
|
2824
|
+
* It is intended for creating document objects from metadata alone — for example, creating
|
|
2825
|
+
* a folder, a placeholder record, or a document entry where the content stream will be
|
|
2826
|
+
* provided separately.
|
|
2827
|
+
*
|
|
2828
|
+
* **Behavior:**
|
|
2829
|
+
* - Sends the `data` object as a JSON blob inside a `FormData` payload
|
|
2830
|
+
* - Progress is NOT tracked — this method does not appear in `status$`
|
|
2831
|
+
* - Errors are re-thrown so the caller can handle them via the returned `Observable`
|
|
2832
|
+
*
|
|
2833
|
+
* @param url - The backend URL to POST the document creation request to
|
|
2834
|
+
* @param data - Metadata object describing the document to be created
|
|
2835
|
+
* @returns An `Observable` that emits the created object(s) on success
|
|
2836
|
+
*
|
|
2837
|
+
* @example
|
|
2838
|
+
* ```typescript
|
|
2839
|
+
* const metadata = {
|
|
2840
|
+
* objectTypeId: 'yuv:document',
|
|
2841
|
+
* properties: { 'yuv:title': 'My Document' }
|
|
2842
|
+
* };
|
|
2843
|
+
*
|
|
2844
|
+
* this.uploadService.createDocument(url, metadata).subscribe((result) => {
|
|
2845
|
+
* console.log('Created:', result);
|
|
2846
|
+
* });
|
|
2847
|
+
* ```
|
|
2848
|
+
*/
|
|
2849
|
+
createDocument(url: string, data: any): Observable<any>;
|
|
2850
|
+
/**
|
|
2851
|
+
* Cancels one or all active upload requests and removes them from the tracked upload list.
|
|
2852
|
+
*
|
|
2853
|
+
* This method unsubscribes from the underlying HTTP request, effectively aborting the upload,
|
|
2854
|
+
* and removes the corresponding item(s) from the internal status list. The updated status
|
|
2855
|
+
* is then emitted via `status$` so that any subscribed UI components (e.g. the upload overlay)
|
|
2856
|
+
* can reflect the change immediately.
|
|
2857
|
+
*
|
|
2858
|
+
* **Behavior:**
|
|
2859
|
+
* - If `id` is provided, only the matching upload item is cancelled
|
|
2860
|
+
* - If `id` is omitted, **all** active uploads are cancelled at once
|
|
2861
|
+
* - If the provided `id` does not match any active item, the call is a no-op
|
|
2862
|
+
* - After cancellation, the error count on `status$` is recalculated
|
|
2863
|
+
*
|
|
2864
|
+
* @param id - Optional ID of the upload item to cancel. Omit to cancel all active uploads.
|
|
2865
|
+
*
|
|
2866
|
+
* @example
|
|
2867
|
+
* ```typescript
|
|
2868
|
+
* // Cancel a specific upload by ID
|
|
2869
|
+
* this.uploadService.cancelItem(uploadId);
|
|
2870
|
+
*
|
|
2871
|
+
* // Cancel all ongoing uploads (e.g. on component destroy or user confirmation)
|
|
2872
|
+
* this.uploadService.cancelItem();
|
|
2873
|
+
* ```
|
|
2874
|
+
*/
|
|
2875
|
+
cancelItem(id?: string): void;
|
|
2876
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UploadService, never>;
|
|
2877
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UploadService>;
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2880
|
+
/**
|
|
2881
|
+
* Service providing user related remote storage. This service is used load and
|
|
2882
|
+
* store user related data from any device.
|
|
2883
|
+
*/
|
|
2884
|
+
declare class UserStorageService {
|
|
2885
|
+
#private;
|
|
2886
|
+
/**
|
|
2887
|
+
*
|
|
2888
|
+
* @param section section key for
|
|
2889
|
+
* @param value value to be stored
|
|
2890
|
+
*/
|
|
2891
|
+
getItem(section: string): Observable<Record<string, any> | undefined>;
|
|
2892
|
+
setItem(section: string, data: Record<string, any>): Observable<any>;
|
|
2893
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserStorageService, never>;
|
|
2894
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UserStorageService>;
|
|
2895
|
+
}
|
|
2896
|
+
|
|
2897
|
+
declare const YUV_USER: InjectionToken<YuvUser | undefined>;
|
|
2898
|
+
declare const provideUser: (user: YuvUser) => Provider;
|
|
2899
|
+
|
|
2900
|
+
/**
|
|
2901
|
+
* Service providing user account configurations.
|
|
2902
|
+
*/
|
|
2903
|
+
declare class UserService {
|
|
2904
|
+
#private;
|
|
2905
|
+
private backend;
|
|
2906
|
+
private translate;
|
|
2907
|
+
private logger;
|
|
2908
|
+
private system;
|
|
2909
|
+
private eventService;
|
|
2910
|
+
private config;
|
|
2911
|
+
user$: Observable<YuvUser | undefined>;
|
|
2912
|
+
globalSettings: Map<any, any>;
|
|
2913
|
+
userPermissions?: UserPermissions;
|
|
2914
|
+
/**
|
|
2915
|
+
* @ignore
|
|
2916
|
+
*/
|
|
2917
|
+
constructor(backend: BackendService, translate: TranslateService, logger: Logger, system: SystemService, eventService: EventService, config: ConfigService);
|
|
2918
|
+
private getUiDirection;
|
|
2919
|
+
/**
|
|
2920
|
+
* Set a new current user
|
|
2921
|
+
* @param user The user to be set as current user
|
|
2922
|
+
*/
|
|
2923
|
+
setCurrentUser(user: YuvUser): void;
|
|
2924
|
+
getCurrentUser(): YuvUser;
|
|
2925
|
+
get hasAdminRole(): boolean;
|
|
2926
|
+
get hasSystemRole(): boolean;
|
|
2927
|
+
get hasAdministrationRoles(): boolean;
|
|
2928
|
+
get hasManageSettingsRole(): boolean;
|
|
2929
|
+
get isAdvancedUser(): boolean;
|
|
2930
|
+
get isRetentionManager(): boolean;
|
|
2931
|
+
canCreateObjects: boolean;
|
|
2932
|
+
/**
|
|
2933
|
+
* Change the users client locale
|
|
2934
|
+
* @param iso ISO locale string to be set as new client locale
|
|
2935
|
+
*/
|
|
2936
|
+
changeClientLocale(iso: string, persist?: boolean): void;
|
|
2937
|
+
saveUserSettings(settings: Partial<UserSettings>): Observable<any>;
|
|
2938
|
+
fetchUserSettings(): Observable<UserSettings>;
|
|
2939
|
+
private setUserPermissions;
|
|
2940
|
+
private mapPermissions;
|
|
2941
|
+
/**
|
|
2942
|
+
* Search for a user based on a search term
|
|
2943
|
+
* @param term Search term
|
|
2944
|
+
* @param excludeMe whether or not to exclude myself from the result list
|
|
2945
|
+
* @param roles narrow down the search results by certain roles
|
|
2946
|
+
*/
|
|
2947
|
+
queryUser(term: string, excludeMe?: boolean, roles?: string[]): Observable<YuvUser[]>;
|
|
2948
|
+
getUserById(id: string): Observable<YuvUser>;
|
|
2949
|
+
logout(redirRoute?: string): void;
|
|
2950
|
+
getSettings(section: string): Observable<any>;
|
|
2951
|
+
saveObjectConfig(objectConfigs: StoredObjectConfig): Observable<any>;
|
|
2952
|
+
loadObjectConfig(): Observable<StoredObjectConfig | undefined>;
|
|
2953
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
|
|
2954
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
|
|
2955
|
+
}
|
|
2956
|
+
|
|
2957
|
+
declare enum Sort {
|
|
2958
|
+
ASC = "asc",
|
|
2959
|
+
DESC = "desc"
|
|
2960
|
+
}
|
|
2961
|
+
declare enum ClassificationPrefix {
|
|
2962
|
+
EMAIL = "mailto:",
|
|
2963
|
+
EMAIL_ICON = "envelope",
|
|
2964
|
+
PHONE = "tel:",
|
|
2965
|
+
PHONE_ICON = "phone",
|
|
2966
|
+
URL = "",
|
|
2967
|
+
URL_ICON = "globe"
|
|
2968
|
+
}
|
|
2969
|
+
type FormattedMailTo = string | string[];
|
|
2970
|
+
|
|
2971
|
+
declare class Utils {
|
|
2972
|
+
static readonly DEFAULT_TIME_OFFSET_V2: number;
|
|
2973
|
+
static optionsToURLParams(options: Record<string, any>): string;
|
|
2974
|
+
/**
|
|
2975
|
+
* Get all focusable child elements of a host element.
|
|
2976
|
+
* @param host The host/parent element
|
|
2977
|
+
* @returns Array of focusable child elements
|
|
2978
|
+
*/
|
|
2979
|
+
static getFocusableChildren(host: HTMLElement): Element[];
|
|
2980
|
+
static hasProperty(o: unknown, property: string): boolean;
|
|
2981
|
+
static patternToRegExp(pattern: string): RegExp;
|
|
2982
|
+
/**
|
|
2983
|
+
* Utility method for adding parameters to a given URI.
|
|
2984
|
+
*
|
|
2985
|
+
* @param uri The uri string to attach the parameters to
|
|
2986
|
+
* @param params The object containing parameters to be appended
|
|
2987
|
+
* @returns the given uri extended by the given parameters + remove empty parameters
|
|
2988
|
+
*/
|
|
2989
|
+
static buildUri(uri: string, params: any): string;
|
|
2990
|
+
static formatMailTo(value: FormattedMailTo, isEmail: boolean): FormattedMailTo;
|
|
2991
|
+
/**
|
|
2992
|
+
* Creates a unique identifier.
|
|
2993
|
+
* @returns A Universally Unique Identifier
|
|
2994
|
+
*/
|
|
2995
|
+
static uuid(): string;
|
|
2996
|
+
/**
|
|
2997
|
+
* Encode a filename safe for sending chars beyond ASCII-7bit using quoted printable encoding.
|
|
2998
|
+
*
|
|
2999
|
+
* @param filename The file name
|
|
3000
|
+
* @returns The quoted printable filename
|
|
3001
|
+
*/
|
|
3002
|
+
static encodeFileName(filename: string): string;
|
|
3003
|
+
/**
|
|
3004
|
+
*
|
|
3005
|
+
* @param boolean s
|
|
3006
|
+
* @return string
|
|
3007
|
+
*/
|
|
3008
|
+
private static _p8;
|
|
3009
|
+
/**
|
|
3010
|
+
* Converts a javascript text to the utf-8 converted variant.
|
|
3011
|
+
* See [unicode]{@link http://thlist.onlinehome.de/thomas_homepage/unicode/UTF-8%20Konvertierung%20mittels%20JavaScript.htm} for reference
|
|
3012
|
+
*
|
|
3013
|
+
* @param rawinput The input string
|
|
3014
|
+
* @returns The utf-8 converted string
|
|
3015
|
+
*/
|
|
3016
|
+
private static encodeToUtf8;
|
|
3017
|
+
/**
|
|
3018
|
+
* See [quoted-printable]{@link https://github.com/mathiasbynens/quoted-printable/blob/master/quoted-printable.js}
|
|
3019
|
+
**/
|
|
3020
|
+
private static quotedPrintable;
|
|
3021
|
+
/**
|
|
3022
|
+
* Encode symbols that are definitely unsafe (i.e. unsafe in any context). The regular expression describes these unsafe symbols.
|
|
3023
|
+
*
|
|
3024
|
+
* @param rawinput Input string to be encoded
|
|
3025
|
+
* @returns The encoded string
|
|
3026
|
+
*/
|
|
3027
|
+
private static encodeToQuotedPrintable;
|
|
3028
|
+
/**
|
|
3029
|
+
* Sorts An Array of Object by given key
|
|
3030
|
+
* See [ng-packagr issues 696]{@link https://github.com/dherges/ng-packagr/issues/696}
|
|
3031
|
+
*
|
|
3032
|
+
* @param key
|
|
3033
|
+
* @param order
|
|
3034
|
+
* @param locales
|
|
3035
|
+
* @param options
|
|
3036
|
+
* @returns (a: any, b: any) => number
|
|
3037
|
+
*/
|
|
3038
|
+
static sortValues(key?: string, order?: Sort, locales?: string | string[], options?: Intl.CollatorOptions): (a: any, b: any) => number;
|
|
3039
|
+
/**
|
|
3040
|
+
* [ng-packagr issues 696]{@link https://github.com/dherges/ng-packagr/issues/696}
|
|
3041
|
+
*
|
|
3042
|
+
* @param object
|
|
3043
|
+
* @param string key
|
|
3044
|
+
* @returns any
|
|
3045
|
+
*/
|
|
3046
|
+
static getProperty(object: any, key?: string): any;
|
|
3047
|
+
/**
|
|
3048
|
+
* @param object
|
|
3049
|
+
* @param key
|
|
3050
|
+
* @param value
|
|
3051
|
+
*/
|
|
3052
|
+
static setProperty(object: any, key: string | undefined, value: any): any;
|
|
3053
|
+
/**
|
|
3054
|
+
* Use on Observable.catch or Observable.subscribe to return empty value
|
|
3055
|
+
* [ng-packagr issues 696]{@link https://github.com/dherges/ng-packagr/issues/696}
|
|
3056
|
+
*
|
|
3057
|
+
* @param (error) => any callback
|
|
3058
|
+
* @returns (error) => Observable<never>
|
|
3059
|
+
*/
|
|
3060
|
+
static empty(callback?: (error: any) => any): () => rxjs.Observable<never>;
|
|
3061
|
+
static getBaseHref(removeTrailingSlash?: boolean): string;
|
|
3062
|
+
/**
|
|
3063
|
+
* Truncate a string (first argument) if it is longer than the given maximum string length (second argument).
|
|
3064
|
+
* Return the truncated string with a ... ending or whats provided.
|
|
3065
|
+
*
|
|
3066
|
+
* @param string str
|
|
3067
|
+
* @param number num
|
|
3068
|
+
*/
|
|
3069
|
+
static truncateString(str: string, num: number, ending?: string): string;
|
|
3070
|
+
/**
|
|
3071
|
+
* Get the TimeZone Offsest as minutes
|
|
3072
|
+
*/
|
|
3073
|
+
static getTimezoneOffset(): number;
|
|
3074
|
+
/**
|
|
3075
|
+
* Transform to date with yyyy-mm-dd format
|
|
3076
|
+
*/
|
|
3077
|
+
static transformDate(v: Date | string): string;
|
|
3078
|
+
static isEdge(): boolean;
|
|
3079
|
+
static isFirefox(): boolean;
|
|
3080
|
+
static isSafari(): boolean;
|
|
3081
|
+
static isEmpty(obj: any): boolean;
|
|
3082
|
+
static isEmptyOrFalse(val: any): boolean;
|
|
3083
|
+
static escapeHtml(str: string): string;
|
|
3084
|
+
static arrayToObject<T>(arr?: any[], keyProperty?: string | ((o: any) => string), valueProperty?: string | ((o: any) => any)): {
|
|
3085
|
+
[key: string]: T;
|
|
3086
|
+
};
|
|
3087
|
+
static downloadBlob(content: any, mimeType: string, filename: string): void;
|
|
3088
|
+
static isValidDate(value: any): value is Date;
|
|
3089
|
+
static getDateFrom(value?: Date | string | null): Date | undefined;
|
|
3090
|
+
static getDateRangeFrom(dateRange: RangeValue<Date | string>): RangeValue<Date> | undefined;
|
|
3091
|
+
}
|
|
3092
|
+
|
|
3093
|
+
/**
|
|
3094
|
+
* @ignore
|
|
3095
|
+
*/
|
|
3096
|
+
declare class LocaleDecimalPipe extends DecimalPipe implements PipeTransform {
|
|
3097
|
+
translate: TranslateService;
|
|
3098
|
+
constructor(translate: TranslateService);
|
|
3099
|
+
transform(value: any, digits?: string, locale?: string): string | null | any;
|
|
3100
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocaleDecimalPipe, never>;
|
|
3101
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<LocaleDecimalPipe, "localeDecimal", true>;
|
|
3102
|
+
}
|
|
3103
|
+
/**
|
|
3104
|
+
* @ignore
|
|
3105
|
+
*/
|
|
3106
|
+
declare class LocalePercentPipe extends PercentPipe implements PipeTransform {
|
|
3107
|
+
translate: TranslateService;
|
|
3108
|
+
constructor(translate: TranslateService);
|
|
3109
|
+
transform(value: any, digits?: string, locale?: string): string | null | any;
|
|
3110
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocalePercentPipe, never>;
|
|
3111
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<LocalePercentPipe, "localePercent", true>;
|
|
3112
|
+
}
|
|
3113
|
+
/**
|
|
3114
|
+
* @ignore
|
|
3115
|
+
*/
|
|
3116
|
+
declare class LocaleCurrencyPipe extends CurrencyPipe implements PipeTransform {
|
|
3117
|
+
translate: TranslateService;
|
|
3118
|
+
constructor(translate: TranslateService);
|
|
3119
|
+
transform(value: any, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | boolean, digits?: string, locale?: string): string | null | any;
|
|
3120
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocaleCurrencyPipe, never>;
|
|
3121
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<LocaleCurrencyPipe, "localeCurrency", true>;
|
|
3122
|
+
}
|
|
3123
|
+
declare class LocaleNumberPipe implements PipeTransform {
|
|
3124
|
+
translate: TranslateService;
|
|
3125
|
+
decimalPipe: LocaleDecimalPipe;
|
|
3126
|
+
decimalSeparator: string;
|
|
3127
|
+
separator: string;
|
|
3128
|
+
constructor(translate: TranslateService);
|
|
3129
|
+
transform(value: any, grouping?: boolean, pattern?: string, scale?: number, digits?: string, locale?: string): string | null;
|
|
3130
|
+
private updateSeparators;
|
|
3131
|
+
stringToNumber(value: string): number;
|
|
3132
|
+
numberToString(value: number, grouping?: boolean, pattern?: string, scale?: number): string | null;
|
|
3133
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocaleNumberPipe, never>;
|
|
3134
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<LocaleNumberPipe, "localeNumber", true>;
|
|
3135
|
+
}
|
|
3136
|
+
|
|
3137
|
+
/**
|
|
3138
|
+
* This pipe transforms its input (supposed to be a file size in bytes) into a more
|
|
3139
|
+
* human readable format like for example 1MB or 200KB.
|
|
3140
|
+
*
|
|
3141
|
+
* @example
|
|
3142
|
+
* <div *ngFor="let size of file | fileSize">...</div>
|
|
3143
|
+
*/
|
|
3144
|
+
declare class FileSizePipe extends LocaleNumberPipe implements PipeTransform {
|
|
3145
|
+
private k;
|
|
3146
|
+
private sizes;
|
|
3147
|
+
transform(bytes?: number): string;
|
|
3148
|
+
stringToNumber(value: string): number;
|
|
3149
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileSizePipe, never>;
|
|
3150
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FileSizePipe, "fileSize", true>;
|
|
3151
|
+
}
|
|
3152
|
+
|
|
3153
|
+
type Formats = 'short' | 'medium' | 'shortDate';
|
|
3154
|
+
declare class LocaleDatePipe implements PipeTransform {
|
|
3155
|
+
translate: TranslateService;
|
|
3156
|
+
constructor(translate: TranslateService);
|
|
3157
|
+
transform(value: string | number | Date | undefined, format?: Formats): string;
|
|
3158
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocaleDatePipe, never>;
|
|
3159
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<LocaleDatePipe, "localeDate", true>;
|
|
3160
|
+
}
|
|
3161
|
+
|
|
3162
|
+
/**
|
|
3163
|
+
* This pipe bypass security and trust the given value to be safe HTML.
|
|
3164
|
+
* Only use this when the bound HTML is unsafe (e.g. contains script tags and the code should be executed.).
|
|
3165
|
+
* @example
|
|
3166
|
+
* <div [innerHtml]="value | safeHtml"></div>
|
|
3167
|
+
*/
|
|
3168
|
+
declare class SafeHtmlPipe implements PipeTransform {
|
|
3169
|
+
private sanitizer;
|
|
3170
|
+
constructor(sanitizer: DomSanitizer);
|
|
3171
|
+
transform(style: any): SafeHtml;
|
|
3172
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SafeHtmlPipe, never>;
|
|
3173
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<SafeHtmlPipe, "safeHtml", true>;
|
|
3174
|
+
}
|
|
3175
|
+
/**
|
|
3176
|
+
* This pipe bypass security and trust the given value to be a safe style URL, i.e. a value that can be used in hyperlinks or img src.
|
|
3177
|
+
* @example
|
|
3178
|
+
* <iframe [src]="previewSrc | safeUrl"></iframe>
|
|
3179
|
+
*/
|
|
3180
|
+
declare class SafeUrlPipe implements PipeTransform {
|
|
3181
|
+
private sanitizer;
|
|
3182
|
+
constructor(sanitizer: DomSanitizer);
|
|
3183
|
+
transform(url: any): SafeResourceUrl;
|
|
3184
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SafeUrlPipe, never>;
|
|
3185
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<SafeUrlPipe, "safeUrl", true>;
|
|
3186
|
+
}
|
|
3187
|
+
|
|
3188
|
+
/**
|
|
3189
|
+
* @ignore
|
|
3190
|
+
*/
|
|
3191
|
+
declare class KeysPipe implements PipeTransform {
|
|
3192
|
+
transform(value: any): any;
|
|
3193
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KeysPipe, never>;
|
|
3194
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<KeysPipe, "keys", true>;
|
|
3195
|
+
}
|
|
3196
|
+
|
|
3197
|
+
interface NativeNotificationOptions {
|
|
3198
|
+
options: NotificationOptions;
|
|
3199
|
+
preventOnTabActive?: boolean;
|
|
3200
|
+
onClick?: () => void;
|
|
3201
|
+
}
|
|
3202
|
+
|
|
3203
|
+
declare class NativeNotificationService {
|
|
3204
|
+
requestPermission(): void;
|
|
3205
|
+
showNotification(title: string, options?: NativeNotificationOptions): void;
|
|
3206
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NativeNotificationService, never>;
|
|
3207
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NativeNotificationService>;
|
|
3208
|
+
}
|
|
3209
|
+
|
|
3210
|
+
type AvailabilityState = 'enabled' | 'disabled';
|
|
3211
|
+
type Requirements = Record<string, string[]>;
|
|
3212
|
+
interface YuvAvailableBackendApps {
|
|
3213
|
+
name: string;
|
|
3214
|
+
state: AvailabilityState;
|
|
3215
|
+
}
|
|
3216
|
+
|
|
3217
|
+
declare const AVAILABLE_BACKEND_APPS: InjectionToken<YuvAvailableBackendApps[] | undefined>;
|
|
3218
|
+
declare const provideAvailabilityManagement: (user: YuvAvailableBackendApps[]) => Provider;
|
|
3219
|
+
declare const CLIENT_APP_REQUIREMENTS: InjectionToken<Requirements | null>;
|
|
3220
|
+
declare const provideRequirements: (requirements: Requirements) => Provider;
|
|
3221
|
+
|
|
3222
|
+
/**
|
|
3223
|
+
* Registers a global `beforeunload` event listener that prevents the browser
|
|
3224
|
+
* from navigating away (tab close / reload) whenever there are pending tasks
|
|
3225
|
+
* tracked by {@link PendingChangesService}.
|
|
3226
|
+
*
|
|
3227
|
+
* Usage in `app.config.ts`:
|
|
3228
|
+
* ```ts
|
|
3229
|
+
* provideBeforeUnloadProtection()
|
|
3230
|
+
* ```
|
|
3231
|
+
*/
|
|
3232
|
+
declare function provideBeforeUnloadProtection(): EnvironmentProviders;
|
|
3233
|
+
|
|
3234
|
+
declare function provideNavigationProtection(): EnvironmentProviders[];
|
|
3235
|
+
|
|
3236
|
+
/**
|
|
3237
|
+
* Provides environment-level protection against the browser back/forward buttons
|
|
3238
|
+
* while a Material dialog is open.
|
|
3239
|
+
*
|
|
3240
|
+
* Behavior:
|
|
3241
|
+
* 1. Listens for the browser `popstate` event (triggered by back/forward navigation).
|
|
3242
|
+
* 2. If at least one `MatDialog` is open, the URL is immediately restored via
|
|
3243
|
+
* `history.pushState` so the Angular router does not pick up the navigation.
|
|
3244
|
+
* 3. If `PendingChangesService` reports a pending task the user is prompted for
|
|
3245
|
+
* confirmation — the topmost dialog is closed only when the user agrees to discard.
|
|
3246
|
+
* 4. If there are no pending changes the topmost dialog is closed directly.
|
|
3247
|
+
*/
|
|
3248
|
+
declare function providePopstateDialogProtection(): EnvironmentProviders;
|
|
3249
|
+
|
|
3250
|
+
interface YuvClientCoreConfig {
|
|
3251
|
+
translations: string[];
|
|
3252
|
+
}
|
|
3253
|
+
declare const provideYuvClientCore: (options?: YuvClientCoreConfig, customEvents?: string[], customEventsTrustedOrigin?: string[], disableBeforeUnloadProtection?: boolean, disablePopstateDialogProtection?: boolean) => EnvironmentProviders;
|
|
3254
|
+
|
|
3255
|
+
export { AFO_STATE, AVAILABLE_BACKEND_APPS, AdministrationRoles, ApiBase, AppCacheService, AuditField, AuditService, AuthService, BackendService, BaseObjectTypeField, BpmService, CLIENT_APP_REQUIREMENTS, CORE_CONFIG, CUSTOM_CONFIG, CUSTOM_YUV_EVENT_PREFIX, CatalogService, Classification, ClassificationPrefix, ClientCacheService, ClientDefaultsObjectTypeField, ClipboardService, ColumnConfigSkipFields, ConfigService, ConnectionService, ContentStreamAllowed, ContentStreamField, CoreConfig, DeviceScreenOrientation, DeviceService, DialogCloseGuard, Direction, DmsObject, DmsService, EventService, FileSizePipe, IdmService, InternalFieldType, KeysPipe, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, Logger, LoginStateName, NativeNotificationService, NotificationService, ObjectConfigService, ObjectFormControl, ObjectFormControlWrapper, ObjectFormGroup, ObjectTag, ObjectTypeClassification, ObjectTypePropertyClassification, 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, init_moduleFnc, provideAvailabilityManagement, provideBeforeUnloadProtection, provideNavigationProtection, providePopstateDialogProtection, provideRequirements, provideUser, provideYuvClientCore };
|
|
3256
|
+
export type { AggregateResult, Aggregation, AggregationEntry, ApplicableSecondaries, AuditEntry, AuditQueryOptions, AuditQueryResult, AuthData, AvailabilityState, BaseCatalog, CacheEntry, Catalog, CatalogEntry, 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, LoginDeviceResult, LoginState, ObjectConfig, ObjectConfigAction, ObjectConfigBadge, ObjectConfigBucket, ObjectConfigIcon, ObjectConfigProperty, ObjectConfigRecord, ObjectCopyOptions, ObjectCreateFlavor, ObjectDeleteError, ObjectDeleteOptions, ObjectDeleteResult, ObjectFormModel, 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, VisibleObjectTag, YuvAvailableBackendApps, YuvClientCoreConfig, YuvConfig, YuvConfigLanguages, YuvEvent, YuvEventCreatedData, YuvEventDeletedData, YuvEventUpdatedData, YuvFormGroup, YuvFormGroupWrapper, YuvInitError, YuvMessage, _ObjectTypeBase, _ObjectTypeFieldBase };
|