@netgrif/components-core 6.2.1 → 6.3.0-rc.1
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/commons/schema.d.ts +1 -0
- package/esm2020/assets/i18n/de.json +26 -8
- package/esm2020/assets/i18n/en.json +19 -1
- package/esm2020/assets/i18n/sk.json +19 -1
- package/esm2020/commons/schema.mjs +1 -1
- package/esm2020/lib/authentication/models/user.transformer.mjs +2 -2
- package/esm2020/lib/authentication/public-api.mjs +3 -1
- package/esm2020/lib/authorization/permission/access.service.mjs +2 -2
- package/esm2020/lib/authorization/permission/permission.service.mjs +2 -2
- package/esm2020/lib/authorization/role/role-guard.service.mjs +36 -11
- package/esm2020/lib/data-fields/file-field/abstract-file-field.component.mjs +6 -3
- package/esm2020/lib/data-fields/file-list-field/abstract-file-list-field.component.mjs +5 -2
- package/esm2020/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.mjs +3 -2
- package/esm2020/lib/filter/filter.repository.mjs +7 -1
- package/esm2020/lib/impersonation/models/user-impersonate-config-metadata.mjs +2 -0
- package/esm2020/lib/impersonation/models/user-impersonation-constants.mjs +11 -0
- package/esm2020/lib/impersonation/public-api.mjs +9 -0
- package/esm2020/lib/impersonation/services/impersonation-user-list.service.mjs +19 -0
- package/esm2020/lib/impersonation/services/impersonation-user-resource.service.mjs +25 -0
- package/esm2020/lib/impersonation/services/impersonation-user-select.service.mjs +85 -0
- package/esm2020/lib/impersonation/services/impersonation.service.mjs +90 -0
- package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +25 -9
- package/esm2020/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.mjs +2 -2
- package/esm2020/lib/navigation/quick-panel/components/abstract-quick-panel.component.mjs +1 -1
- package/esm2020/lib/resources/engine-endpoint/task-resource.service.mjs +3 -3
- package/esm2020/lib/resources/interface/user-resource.mjs +1 -1
- package/esm2020/lib/search/models/category/case/case-dataset.mjs +7 -4
- package/esm2020/lib/search/search-operand-input-component/abstract-search-operand-input.component.mjs +3 -3
- package/esm2020/lib/side-menu/content-components/injection-tokens.mjs +3 -1
- package/esm2020/lib/side-menu/content-components/new-case/abstract-new-case.component.mjs +22 -11
- package/esm2020/lib/side-menu/content-components/public-api.mjs +3 -1
- package/esm2020/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.mjs +37 -0
- package/esm2020/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.mjs +2 -0
- package/esm2020/lib/side-menu/models/side-menu-size.mjs +2 -1
- package/esm2020/lib/task-content/field-component-resolver/abstract-field-component-resolver.component.mjs +2 -3
- package/esm2020/lib/user/models/user.mjs +15 -2
- package/esm2020/lib/user/services/user-comparator.service.mjs +4 -3
- package/esm2020/lib/user/services/user.service.mjs +17 -12
- package/esm2020/lib/utility/tests/test-config.mjs +6 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/netgrif-components-core.mjs +449 -72
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +445 -72
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/authentication/public-api.d.ts +2 -0
- package/lib/authorization/role/role-guard.service.d.ts +2 -1
- package/lib/data-fields/number-field/currency-number-field/abstract-currency-number-field.component.d.ts +1 -0
- package/lib/filter/filter.repository.d.ts +4 -0
- package/lib/impersonation/models/user-impersonate-config-metadata.d.ts +3 -0
- package/lib/impersonation/models/user-impersonation-constants.d.ts +9 -0
- package/lib/impersonation/public-api.d.ts +6 -0
- package/lib/impersonation/services/impersonation-user-list.service.d.ts +12 -0
- package/lib/impersonation/services/impersonation-user-resource.service.d.ts +17 -0
- package/lib/impersonation/services/impersonation-user-select.service.d.ts +25 -0
- package/lib/impersonation/services/impersonation.service.d.ts +37 -0
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +10 -3
- package/lib/navigation/quick-panel/components/abstract-quick-panel.component.d.ts +1 -1
- package/lib/resources/engine-endpoint/task-resource.service.d.ts +2 -1
- package/lib/resources/interface/user-resource.d.ts +1 -0
- package/lib/search/search-operand-input-component/abstract-search-operand-input.component.d.ts +1 -1
- package/lib/side-menu/content-components/injection-tokens.d.ts +2 -0
- package/lib/side-menu/content-components/public-api.d.ts +2 -0
- package/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.d.ts +14 -0
- package/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.d.ts +8 -0
- package/lib/side-menu/models/side-menu-size.d.ts +2 -1
- package/lib/user/models/user.d.ts +10 -1
- package/lib/user/services/user-comparator.service.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/src/assets/i18n/de.json +26 -8
- package/src/assets/i18n/en.json +19 -1
- package/src/assets/i18n/sk.json +19 -1
|
@@ -1151,6 +1151,17 @@ var publicView$2 = {
|
|
|
1151
1151
|
var dynamicNavigation$2 = {
|
|
1152
1152
|
couldNotResolveView: "An error has occurred during the view resolution process. The view could not be displayed"
|
|
1153
1153
|
};
|
|
1154
|
+
var impersonation$2 = {
|
|
1155
|
+
user: {
|
|
1156
|
+
successfullyRepresented: "User successfully represented",
|
|
1157
|
+
currentlyAlreadyRepresented: "User is already being represented by someone else",
|
|
1158
|
+
currentlyLogged: "User is currently logged in"
|
|
1159
|
+
},
|
|
1160
|
+
action: {
|
|
1161
|
+
failed: "Action failed",
|
|
1162
|
+
deactivated: "Representation was successfully deactivated"
|
|
1163
|
+
}
|
|
1164
|
+
};
|
|
1154
1165
|
var en = {
|
|
1155
1166
|
toolbar: toolbar$2,
|
|
1156
1167
|
tasks: tasks$2,
|
|
@@ -1186,7 +1197,8 @@ var en = {
|
|
|
1186
1197
|
errThird: "Color is required.",
|
|
1187
1198
|
noNets: "No allowed Nets",
|
|
1188
1199
|
createCase: "Successful create new case",
|
|
1189
|
-
defaultCaseName: "with default case name"
|
|
1200
|
+
defaultCaseName: "with default case name",
|
|
1201
|
+
createCaseError: "A new case was created, but an error occurred while executing actions"
|
|
1190
1202
|
},
|
|
1191
1203
|
user: {
|
|
1192
1204
|
assign: "User Assign",
|
|
@@ -1207,6 +1219,12 @@ var en = {
|
|
|
1207
1219
|
"option-selector": {
|
|
1208
1220
|
select: "Select",
|
|
1209
1221
|
"choose-one-option": "Choose one of the provided options"
|
|
1222
|
+
},
|
|
1223
|
+
impersonation: {
|
|
1224
|
+
title: "Impersonate user",
|
|
1225
|
+
submit: "Impersonate",
|
|
1226
|
+
cease: "Cancel impersonation",
|
|
1227
|
+
impersonating: "impersonating"
|
|
1210
1228
|
}
|
|
1211
1229
|
},
|
|
1212
1230
|
search: search$2,
|
|
@@ -1227,7 +1245,8 @@ var en = {
|
|
|
1227
1245
|
workflow: workflow$2,
|
|
1228
1246
|
legal: legal$2,
|
|
1229
1247
|
publicView: publicView$2,
|
|
1230
|
-
dynamicNavigation: dynamicNavigation$2
|
|
1248
|
+
dynamicNavigation: dynamicNavigation$2,
|
|
1249
|
+
impersonation: impersonation$2
|
|
1231
1250
|
};
|
|
1232
1251
|
|
|
1233
1252
|
var toolbar$1 = {
|
|
@@ -1629,6 +1648,17 @@ var publicView$1 = {
|
|
|
1629
1648
|
var dynamicNavigation$1 = {
|
|
1630
1649
|
couldNotResolveView: "Počas načítania zobrazenia sa vyskytla chyba. Zobrazenie nie je možné zobraziť"
|
|
1631
1650
|
};
|
|
1651
|
+
var impersonation$1 = {
|
|
1652
|
+
user: {
|
|
1653
|
+
successfullyRepresented: "Používateľ bol úspešne zastúpený",
|
|
1654
|
+
currentlyAlreadyRepresented: "Používateľ je momentálne zastupovaný",
|
|
1655
|
+
currentlyLogged: "Používateľ je momentálne prihlásený"
|
|
1656
|
+
},
|
|
1657
|
+
action: {
|
|
1658
|
+
failed: "Akciu sa nepodarilo vykonať",
|
|
1659
|
+
deactivated: "Zastupovanie bolo úspešne deaktivované"
|
|
1660
|
+
}
|
|
1661
|
+
};
|
|
1632
1662
|
var sk = {
|
|
1633
1663
|
toolbar: toolbar$1,
|
|
1634
1664
|
tasks: tasks$1,
|
|
@@ -1664,7 +1694,8 @@ var sk = {
|
|
|
1664
1694
|
errThird: "Farba je povinné pole.",
|
|
1665
1695
|
noNets: "Žiadne povolené siete",
|
|
1666
1696
|
createCase: "Úspešne vytvorený nový prípad",
|
|
1667
|
-
defaultCaseName: "s prednastaveným názvom prípadu"
|
|
1697
|
+
defaultCaseName: "s prednastaveným názvom prípadu",
|
|
1698
|
+
createCaseError: "Nový prípad vytvorený, nastala však chyba pri vykonávaní akcií"
|
|
1668
1699
|
},
|
|
1669
1700
|
user: {
|
|
1670
1701
|
assign: "Priradiť používateľa",
|
|
@@ -1685,6 +1716,12 @@ var sk = {
|
|
|
1685
1716
|
"option-selector": {
|
|
1686
1717
|
select: "Zvoliť",
|
|
1687
1718
|
"choose-one-option": "Vyberte jednu z možností"
|
|
1719
|
+
},
|
|
1720
|
+
impersonation: {
|
|
1721
|
+
title: "Zastúpenie používateľa",
|
|
1722
|
+
submit: "Zastúpiť",
|
|
1723
|
+
cease: "Zrušiť zastúpenie",
|
|
1724
|
+
impersonating: "v zastúpení"
|
|
1688
1725
|
}
|
|
1689
1726
|
},
|
|
1690
1727
|
search: search$1,
|
|
@@ -1705,7 +1742,8 @@ var sk = {
|
|
|
1705
1742
|
workflow: workflow$1,
|
|
1706
1743
|
legal: legal$1,
|
|
1707
1744
|
publicView: publicView$1,
|
|
1708
|
-
dynamicNavigation: dynamicNavigation$1
|
|
1745
|
+
dynamicNavigation: dynamicNavigation$1,
|
|
1746
|
+
impersonation: impersonation$1
|
|
1709
1747
|
};
|
|
1710
1748
|
|
|
1711
1749
|
var toolbar = {
|
|
@@ -1942,8 +1980,8 @@ var forms = {
|
|
|
1942
1980
|
enterEmail: "Ihre E-Mail Adresse eingeben"
|
|
1943
1981
|
},
|
|
1944
1982
|
login: {
|
|
1945
|
-
length: "Das
|
|
1946
|
-
login: "
|
|
1983
|
+
length: "Das Benutzername muss mindestens 4 Zeichen enthalten",
|
|
1984
|
+
login: "Benutzername",
|
|
1947
1985
|
wrongCredentials: "Falsche Anmeldeinformationen!",
|
|
1948
1986
|
loginButton: "Anmelden",
|
|
1949
1987
|
reset: "Kennwort wiederherstellen",
|
|
@@ -2107,6 +2145,17 @@ var publicView = {
|
|
|
2107
2145
|
var dynamicNavigation = {
|
|
2108
2146
|
couldNotResolveView: "Ein Fehler ist aufgetreten während des Ansichtauflösungsprocess. Der Ansicht kann nicht angezeigt werden"
|
|
2109
2147
|
};
|
|
2148
|
+
var impersonation = {
|
|
2149
|
+
user: {
|
|
2150
|
+
successfullyRepresented: "Benutzer wird jetzt vertreten",
|
|
2151
|
+
currentlyAlreadyRepresented: "Für den Benutzer existiert bereits eine Vertretung",
|
|
2152
|
+
currentlyLogged: "Benutzer ist bereits angemeldet"
|
|
2153
|
+
},
|
|
2154
|
+
action: {
|
|
2155
|
+
failed: "Aktion ist fehlgeschlagen",
|
|
2156
|
+
deactivated: "Vertretung wurde erfolgreich deaktiviert"
|
|
2157
|
+
}
|
|
2158
|
+
};
|
|
2110
2159
|
var de = {
|
|
2111
2160
|
toolbar: toolbar,
|
|
2112
2161
|
tasks: tasks,
|
|
@@ -2142,14 +2191,15 @@ var de = {
|
|
|
2142
2191
|
errThird: "Sie müssen eine Farbe auswählen.",
|
|
2143
2192
|
noNets: "Es gibt keine erlaubte Netze",
|
|
2144
2193
|
createCase: "Neuen Fall würde erfolgreich erzeugt",
|
|
2145
|
-
defaultCaseName: "mit einem Standardfallnamen"
|
|
2194
|
+
defaultCaseName: "mit einem Standardfallnamen",
|
|
2195
|
+
createCaseError: "Neuer Fall wurde erstellt, aber beim Ausführen von Aktionen ist ein Fehler aufgetreten"
|
|
2146
2196
|
},
|
|
2147
2197
|
user: {
|
|
2148
|
-
assign: "
|
|
2149
|
-
choose: "
|
|
2150
|
-
noUser: "Es gibt keine
|
|
2151
|
-
err: "Beim laden der
|
|
2152
|
-
showcase: "
|
|
2198
|
+
assign: "Benutzer zuweisen",
|
|
2199
|
+
choose: "Benutzer auswählen",
|
|
2200
|
+
noUser: "Es gibt keine Benutzer",
|
|
2201
|
+
err: "Beim laden der Benutzer ist eine Fehler aufgetreten",
|
|
2202
|
+
showcase: "Die Benutzeransicht ist nicht gesetzt!"
|
|
2153
2203
|
},
|
|
2154
2204
|
ldapGroup: {
|
|
2155
2205
|
choose: "LDAP-Gruppe suchen",
|
|
@@ -2163,6 +2213,12 @@ var de = {
|
|
|
2163
2213
|
"option-selector": {
|
|
2164
2214
|
select: "Auswählen",
|
|
2165
2215
|
"choose-one-option": "Wählen Sie eine Option aus"
|
|
2216
|
+
},
|
|
2217
|
+
impersonation: {
|
|
2218
|
+
title: "Benutzer vertreten",
|
|
2219
|
+
submit: "Vertreten",
|
|
2220
|
+
cease: "Vertretung abbrechen",
|
|
2221
|
+
impersonating: "in Vertretung als"
|
|
2166
2222
|
}
|
|
2167
2223
|
},
|
|
2168
2224
|
search: search,
|
|
@@ -2183,14 +2239,15 @@ var de = {
|
|
|
2183
2239
|
workflow: workflow,
|
|
2184
2240
|
legal: legal,
|
|
2185
2241
|
publicView: publicView,
|
|
2186
|
-
dynamicNavigation: dynamicNavigation
|
|
2242
|
+
dynamicNavigation: dynamicNavigation,
|
|
2243
|
+
impersonation: impersonation
|
|
2187
2244
|
};
|
|
2188
2245
|
|
|
2189
2246
|
/**
|
|
2190
2247
|
* The user object that is used by the frontend in its logic.
|
|
2191
2248
|
*/
|
|
2192
2249
|
class User {
|
|
2193
|
-
constructor(id, email, firstName, lastName, authorities, roles, groups, nextGroups) {
|
|
2250
|
+
constructor(id, email, firstName, lastName, authorities, roles, groups, nextGroups, impersonated) {
|
|
2194
2251
|
this.id = id;
|
|
2195
2252
|
this.email = email;
|
|
2196
2253
|
this.firstName = firstName;
|
|
@@ -2199,6 +2256,7 @@ class User {
|
|
|
2199
2256
|
this.roles = roles;
|
|
2200
2257
|
this.groups = groups;
|
|
2201
2258
|
this.nextGroups = nextGroups;
|
|
2259
|
+
this.impersonated = impersonated;
|
|
2202
2260
|
}
|
|
2203
2261
|
get fullName() {
|
|
2204
2262
|
return this.firstName + ' ' + this.lastName;
|
|
@@ -2221,6 +2279,18 @@ class User {
|
|
|
2221
2279
|
isEmpty() {
|
|
2222
2280
|
return this.id === '';
|
|
2223
2281
|
}
|
|
2282
|
+
/**
|
|
2283
|
+
* @returns self if no impersonated user is present, or impersonated user otherwise
|
|
2284
|
+
*/
|
|
2285
|
+
getSelfOrImpersonated() {
|
|
2286
|
+
return this.isImpersonating() ? this.impersonated : this;
|
|
2287
|
+
}
|
|
2288
|
+
/**
|
|
2289
|
+
* @returns true if user is impersonating another user
|
|
2290
|
+
*/
|
|
2291
|
+
isImpersonating() {
|
|
2292
|
+
return !!this.impersonated;
|
|
2293
|
+
}
|
|
2224
2294
|
}
|
|
2225
2295
|
|
|
2226
2296
|
class AuthenticationMethodService {
|
|
@@ -2403,7 +2473,7 @@ class UserTransformer {
|
|
|
2403
2473
|
}
|
|
2404
2474
|
transform(user) {
|
|
2405
2475
|
const groups = []; // TODO groups parsing
|
|
2406
|
-
return new User(user.id, user.email, user.name, user.surname, this.transformAuthorities(user.authorities), user.processRoles, groups, user.nextGroups);
|
|
2476
|
+
return new User(user.id, user.email, user.name, user.surname, this.transformAuthorities(user.authorities), user.processRoles, groups, user.nextGroups, user.impersonated ? this.transform(user.impersonated) : undefined);
|
|
2407
2477
|
}
|
|
2408
2478
|
}
|
|
2409
2479
|
UserTransformer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserTransformer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -3007,31 +3077,34 @@ class UserService {
|
|
|
3007
3077
|
* If calculated intersection isn't empty returns true, otherwise false.
|
|
3008
3078
|
*/
|
|
3009
3079
|
hasAuthority(authority) {
|
|
3010
|
-
|
|
3080
|
+
const user = this._user.getSelfOrImpersonated();
|
|
3081
|
+
if (!authority || !user.authorities) {
|
|
3011
3082
|
return false;
|
|
3012
3083
|
}
|
|
3013
3084
|
if (authority instanceof Array) {
|
|
3014
|
-
return authority.some(a =>
|
|
3085
|
+
return authority.some(a => user.authorities.some(u => u === a));
|
|
3015
3086
|
}
|
|
3016
3087
|
else {
|
|
3017
|
-
return
|
|
3088
|
+
return user.authorities.some(a => a === authority);
|
|
3018
3089
|
}
|
|
3019
3090
|
}
|
|
3020
3091
|
hasRole(role) {
|
|
3021
|
-
|
|
3092
|
+
const user = this._user.getSelfOrImpersonated();
|
|
3093
|
+
if (!role || !user.roles) {
|
|
3022
3094
|
return false;
|
|
3023
3095
|
}
|
|
3024
|
-
return
|
|
3096
|
+
return user.roles.some(r => r === role);
|
|
3025
3097
|
}
|
|
3026
3098
|
/**
|
|
3027
3099
|
* Checks whether the user has role with a specific stringId
|
|
3028
3100
|
* @param roleStringId ID of the role we want to check
|
|
3029
3101
|
*/
|
|
3030
3102
|
hasRoleById(roleStringId) {
|
|
3031
|
-
|
|
3103
|
+
const user = this._user.getSelfOrImpersonated();
|
|
3104
|
+
if (!roleStringId || !user.roles) {
|
|
3032
3105
|
return false;
|
|
3033
3106
|
}
|
|
3034
|
-
return
|
|
3107
|
+
return user.roles.some(r => r.stringId === roleStringId);
|
|
3035
3108
|
}
|
|
3036
3109
|
/**
|
|
3037
3110
|
* Checks whether the user has role with the specified identifier in a process with the specified identifier (any version)
|
|
@@ -3039,10 +3112,11 @@ class UserService {
|
|
|
3039
3112
|
* @param netIdentifier identifier (import ID) of the process the role is defined in
|
|
3040
3113
|
*/
|
|
3041
3114
|
hasRoleByIdentifier(roleIdentifier, netIdentifier) {
|
|
3042
|
-
|
|
3115
|
+
const user = this._user.getSelfOrImpersonated();
|
|
3116
|
+
if (!roleIdentifier || !netIdentifier || !user.roles) {
|
|
3043
3117
|
return false;
|
|
3044
3118
|
}
|
|
3045
|
-
return
|
|
3119
|
+
return user.roles.some(r => r.netImportId === netIdentifier && r.importId === roleIdentifier);
|
|
3046
3120
|
}
|
|
3047
3121
|
/**
|
|
3048
3122
|
* Checks whether the user has role with the specified name in a process with the specified identifier (any version)
|
|
@@ -3050,10 +3124,11 @@ class UserService {
|
|
|
3050
3124
|
* @param netIdentifier identifier (import ID) of the process the role is defined in
|
|
3051
3125
|
*/
|
|
3052
3126
|
hasRoleByName(roleName, netIdentifier) {
|
|
3053
|
-
|
|
3127
|
+
const user = this._user.getSelfOrImpersonated();
|
|
3128
|
+
if (!roleName || !netIdentifier || !user.roles) {
|
|
3054
3129
|
return false;
|
|
3055
3130
|
}
|
|
3056
|
-
return
|
|
3131
|
+
return user.roles.some(r => r.netImportId === netIdentifier && r.name === roleName);
|
|
3057
3132
|
}
|
|
3058
3133
|
login(credentials) {
|
|
3059
3134
|
this._loginCalled = true;
|
|
@@ -6319,9 +6394,9 @@ class TaskResourceService extends AbstractResourceService {
|
|
|
6319
6394
|
* Delete file from the task
|
|
6320
6395
|
* DELETE
|
|
6321
6396
|
*/
|
|
6322
|
-
deleteFile(taskId, fieldId, name) {
|
|
6397
|
+
deleteFile(taskId, fieldId, name, param) {
|
|
6323
6398
|
const url = !!name ? 'task/' + taskId + '/file/' + fieldId + '/' + name : 'task/' + taskId + '/file/' + fieldId;
|
|
6324
|
-
return this._resourceProvider.delete$(url, this.SERVER_URL).pipe(map(r => this.changeType(r, undefined)));
|
|
6399
|
+
return this._resourceProvider.delete$(url, this.SERVER_URL, param).pipe(map(r => this.changeType(r, undefined)));
|
|
6325
6400
|
}
|
|
6326
6401
|
/**
|
|
6327
6402
|
* Download task file preview for field value
|
|
@@ -6649,7 +6724,9 @@ class AbstractFileFieldComponent extends AbstractDataFieldComponent {
|
|
|
6649
6724
|
this._log.error('File cannot be deleted. No task is set to the field.');
|
|
6650
6725
|
return;
|
|
6651
6726
|
}
|
|
6652
|
-
|
|
6727
|
+
let param = new HttpParams();
|
|
6728
|
+
param = param.set("parentTaskId", this.resolveParentTaskId());
|
|
6729
|
+
this._taskResourceService.deleteFile(this.taskId, this.dataField.stringId, undefined, param).pipe(take(1)).subscribe(response => {
|
|
6653
6730
|
if (response.success) {
|
|
6654
6731
|
const filename = this.dataField.value.name;
|
|
6655
6732
|
this.dataField.value = {};
|
|
@@ -6733,7 +6810,7 @@ class AbstractFileFieldComponent extends AbstractDataFieldComponent {
|
|
|
6733
6810
|
if (!this.checkFileBeforeDownload()) {
|
|
6734
6811
|
return;
|
|
6735
6812
|
}
|
|
6736
|
-
this._taskResourceService.downloadFile(this.
|
|
6813
|
+
this._taskResourceService.downloadFile(this.resolveParentTaskId(), this.dataField.stringId).subscribe(response => {
|
|
6737
6814
|
if (!response.type || response.type !== ProgressType.DOWNLOAD) {
|
|
6738
6815
|
this._log.debug(`File [${this.dataField.stringId}] ${this.dataField.value.name} was successfully downloaded`);
|
|
6739
6816
|
this.initDownloadFile(response);
|
|
@@ -7043,7 +7120,9 @@ class AbstractFileListFieldComponent extends AbstractDataFieldComponent {
|
|
|
7043
7120
|
this._log.error('File cannot be deleted. No task is set to the field.');
|
|
7044
7121
|
return;
|
|
7045
7122
|
}
|
|
7046
|
-
|
|
7123
|
+
let param = new HttpParams();
|
|
7124
|
+
param = param.set("parentTaskId", this.resolveParentTaskId());
|
|
7125
|
+
this._taskResourceService.deleteFile(this.taskId, this.dataField.stringId, fileName, param).pipe(take(1)).subscribe((response) => {
|
|
7047
7126
|
if (response.success) {
|
|
7048
7127
|
const changedFieldsMap = this._eventService.parseChangedFieldsFromOutcomeTree(response.outcome);
|
|
7049
7128
|
this.dataField.emitChangedFields(changedFieldsMap);
|
|
@@ -7345,6 +7424,7 @@ class AbstractCurrencyNumberFieldComponent extends AbstractNumberErrorsComponent
|
|
|
7345
7424
|
this._currencyPipe = _currencyPipe;
|
|
7346
7425
|
this.NUMBER_TYPE = 'number';
|
|
7347
7426
|
this.TEXT_TYPE = 'text';
|
|
7427
|
+
this.WHITESPACE = ' ';
|
|
7348
7428
|
}
|
|
7349
7429
|
ngAfterViewInit() {
|
|
7350
7430
|
var _a;
|
|
@@ -7353,7 +7433,7 @@ class AbstractCurrencyNumberFieldComponent extends AbstractNumberErrorsComponent
|
|
|
7353
7433
|
this.numberField.valueChanges().subscribe(value => {
|
|
7354
7434
|
if (value !== undefined) {
|
|
7355
7435
|
if (this.fieldType === this.TEXT_TYPE) {
|
|
7356
|
-
this.transformedValue = this.transformCurrency(value.toString());
|
|
7436
|
+
this.transformedValue = this.transformCurrency(value.toString()) + this.WHITESPACE;
|
|
7357
7437
|
}
|
|
7358
7438
|
}
|
|
7359
7439
|
else {
|
|
@@ -7650,6 +7730,7 @@ var SideMenuSize;
|
|
|
7650
7730
|
SideMenuSize["SMALL"] = "side-menu-width-small";
|
|
7651
7731
|
SideMenuSize["MEDIUM"] = "side-menu-width-medium";
|
|
7652
7732
|
SideMenuSize["LARGE"] = "side-menu-width-large";
|
|
7733
|
+
SideMenuSize["XL"] = "side-menu-width-xl";
|
|
7653
7734
|
})(SideMenuSize || (SideMenuSize = {}));
|
|
7654
7735
|
|
|
7655
7736
|
const NAE_SIDE_MENU_CONTROL = new InjectionToken('NaeSideMenuControl');
|
|
@@ -11142,14 +11223,17 @@ class CaseDataset extends Category {
|
|
|
11142
11223
|
return resolver.getIndex(datafield.fieldId, SearchIndex.BOOLEAN);
|
|
11143
11224
|
case 'file':
|
|
11144
11225
|
case 'fileList':
|
|
11145
|
-
return resolver.getIndex(datafield.fieldId, SearchIndex.FILE_NAME, this.isSelectedOperator(Equals) || this.isSelectedOperator(NotEquals) || this.isSelectedOperator(Substring)
|
|
11226
|
+
return resolver.getIndex(datafield.fieldId, SearchIndex.FILE_NAME, this.isSelectedOperator(Equals) || this.isSelectedOperator(NotEquals) || this.isSelectedOperator(Substring)
|
|
11227
|
+
|| this.isSelectedOperator(IsNull));
|
|
11146
11228
|
case 'user':
|
|
11147
11229
|
case 'userList':
|
|
11148
11230
|
return resolver.getIndex(datafield.fieldId, SearchIndex.USER_ID);
|
|
11149
11231
|
case 'i18n':
|
|
11150
|
-
return resolver.getIndex(datafield.fieldId, SearchIndex.TEXT, this.isSelectedOperator(Equals) || this.isSelectedOperator(NotEquals) || this.isSelectedOperator(Substring)
|
|
11232
|
+
return resolver.getIndex(datafield.fieldId, SearchIndex.TEXT, this.isSelectedOperator(Equals) || this.isSelectedOperator(NotEquals) || this.isSelectedOperator(Substring)
|
|
11233
|
+
|| this.isSelectedOperator(IsNull));
|
|
11151
11234
|
default:
|
|
11152
|
-
return resolver.getIndex(datafield.fieldId, SearchIndex.FULLTEXT, this.isSelectedOperator(Equals) || this.isSelectedOperator(NotEquals) || this.isSelectedOperator(Substring)
|
|
11235
|
+
return resolver.getIndex(datafield.fieldId, SearchIndex.FULLTEXT, this.isSelectedOperator(Equals) || this.isSelectedOperator(NotEquals) || this.isSelectedOperator(Substring)
|
|
11236
|
+
|| this.isSelectedOperator(IsNull));
|
|
11153
11237
|
}
|
|
11154
11238
|
}
|
|
11155
11239
|
get inputPlaceholder() {
|
|
@@ -14060,8 +14144,9 @@ class UserComparatorService {
|
|
|
14060
14144
|
constructor(_userService) {
|
|
14061
14145
|
this._userService = _userService;
|
|
14062
14146
|
}
|
|
14063
|
-
compareUsers(user) {
|
|
14064
|
-
|
|
14147
|
+
compareUsers(user, acceptImpersonator = true) {
|
|
14148
|
+
const loggedUser = acceptImpersonator ? this._userService.user.getSelfOrImpersonated() : this._userService.user;
|
|
14149
|
+
return user.email === loggedUser.email ||
|
|
14065
14150
|
user.email.includes('anonymous') && this._userService.user.email.includes('anonymous');
|
|
14066
14151
|
}
|
|
14067
14152
|
}
|
|
@@ -14954,6 +15039,8 @@ const NAE_NEW_CASE_COMPONENT = new InjectionToken('NaeNewCaseComponent');
|
|
|
14954
15039
|
const NAE_OPTION_SELECTOR_COMPONENT = new InjectionToken('NaeOptionSelectorComponent');
|
|
14955
15040
|
const NAE_SAVE_FILTER_COMPONENT = new InjectionToken('NaeSaveFilterComponent');
|
|
14956
15041
|
const NAE_LOAD_FILTER_COMPONENT = new InjectionToken('NaeLoadFilterComponent');
|
|
15042
|
+
const NAE_USER_IMPERSONATE_COMPONENT = new InjectionToken('NaeUserImpersonateComponent');
|
|
15043
|
+
const NAE_ADMIN_IMPERSONATE_COMPONENT = new InjectionToken('NaeAdminImpersonateComponent');
|
|
14957
15044
|
|
|
14958
15045
|
/**
|
|
14959
15046
|
* Holds the information that accompanies a page load request. These information are held outside of the
|
|
@@ -15236,7 +15323,7 @@ class PermissionService {
|
|
|
15236
15323
|
checkUserPerms(users, permission) {
|
|
15237
15324
|
let userPermValue;
|
|
15238
15325
|
if (!!users) {
|
|
15239
|
-
const loggedUserId = this._userService.user.id;
|
|
15326
|
+
const loggedUserId = this._userService.user.getSelfOrImpersonated().id;
|
|
15240
15327
|
Object.keys(users).forEach(user => {
|
|
15241
15328
|
if (user === loggedUserId && users[user][permission] !== undefined) {
|
|
15242
15329
|
userPermValue = userPermValue === undefined ?
|
|
@@ -20163,16 +20250,27 @@ class AbstractNewCaseComponent {
|
|
|
20163
20250
|
};
|
|
20164
20251
|
this._caseResourceService.createCase(newCase)
|
|
20165
20252
|
.subscribe((response) => {
|
|
20166
|
-
|
|
20167
|
-
|
|
20168
|
-
|
|
20169
|
-
|
|
20170
|
-
|
|
20171
|
-
|
|
20172
|
-
|
|
20173
|
-
|
|
20174
|
-
|
|
20175
|
-
|
|
20253
|
+
if (!!response.outcome) {
|
|
20254
|
+
this._snackBarService.openSuccessSnackBar(response.outcome.message === undefined
|
|
20255
|
+
? this._translate.instant('side-menu.new-case.createCase') + ' ' + newCase.title
|
|
20256
|
+
: response.outcome.message);
|
|
20257
|
+
this._sideMenuControl.close({
|
|
20258
|
+
opened: false,
|
|
20259
|
+
message: response.outcome.message === undefined
|
|
20260
|
+
? 'Confirm new case setup'
|
|
20261
|
+
: response.outcome.message,
|
|
20262
|
+
data: response.outcome.aCase
|
|
20263
|
+
});
|
|
20264
|
+
}
|
|
20265
|
+
else if (!!response.error) {
|
|
20266
|
+
this._snackBarService.openWarningSnackBar(this._translate.instant('side-menu.new-case.createCaseError') + ' ' + newCase.title);
|
|
20267
|
+
this._sideMenuControl.close({
|
|
20268
|
+
opened: false,
|
|
20269
|
+
message: response.error === undefined
|
|
20270
|
+
? 'Confirm new case setup'
|
|
20271
|
+
: response.error
|
|
20272
|
+
});
|
|
20273
|
+
}
|
|
20176
20274
|
}, error => this._snackBarService.openErrorSnackBar(error.message ? error.message : error));
|
|
20177
20275
|
}
|
|
20178
20276
|
}
|
|
@@ -20654,6 +20752,12 @@ class FilterRepository {
|
|
|
20654
20752
|
});
|
|
20655
20753
|
return result;
|
|
20656
20754
|
}
|
|
20755
|
+
/**
|
|
20756
|
+
* Removes all stored filters from the repository
|
|
20757
|
+
*/
|
|
20758
|
+
removeAllFilters() {
|
|
20759
|
+
this._filters = new Map();
|
|
20760
|
+
}
|
|
20657
20761
|
}
|
|
20658
20762
|
FilterRepository.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterRepository, deps: [{ token: ConfigurationService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20659
20763
|
FilterRepository.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterRepository, providedIn: 'root' });
|
|
@@ -21489,6 +21593,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
21489
21593
|
}] }, { type: LoggerService }, { type: CaseViewService }];
|
|
21490
21594
|
} });
|
|
21491
21595
|
|
|
21596
|
+
class AbstractUserImpersonateComponent extends AbstractCaseViewComponent {
|
|
21597
|
+
constructor(_sideMenuControl, caseViewService) {
|
|
21598
|
+
super(caseViewService);
|
|
21599
|
+
this._sideMenuControl = _sideMenuControl;
|
|
21600
|
+
if (this._sideMenuControl.data) {
|
|
21601
|
+
this._injectedData = this._sideMenuControl.data;
|
|
21602
|
+
}
|
|
21603
|
+
}
|
|
21604
|
+
handleCaseClick(clickedCase) {
|
|
21605
|
+
this._sideMenuControl.close({
|
|
21606
|
+
opened: false,
|
|
21607
|
+
message: 'User selected',
|
|
21608
|
+
data: {
|
|
21609
|
+
stringId: clickedCase.stringId
|
|
21610
|
+
}
|
|
21611
|
+
});
|
|
21612
|
+
}
|
|
21613
|
+
}
|
|
21614
|
+
AbstractUserImpersonateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractUserImpersonateComponent, deps: [{ token: NAE_SIDE_MENU_CONTROL }, { token: CaseViewService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21615
|
+
AbstractUserImpersonateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractUserImpersonateComponent, selector: "ncc-abstract-user-impersonate", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
21616
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractUserImpersonateComponent, decorators: [{
|
|
21617
|
+
type: Component,
|
|
21618
|
+
args: [{
|
|
21619
|
+
selector: 'ncc-abstract-user-impersonate',
|
|
21620
|
+
template: ''
|
|
21621
|
+
}]
|
|
21622
|
+
}], ctorParameters: function () {
|
|
21623
|
+
return [{ type: SideMenuControl, decorators: [{
|
|
21624
|
+
type: Inject,
|
|
21625
|
+
args: [NAE_SIDE_MENU_CONTROL]
|
|
21626
|
+
}] }, { type: CaseViewService }];
|
|
21627
|
+
} });
|
|
21628
|
+
|
|
21492
21629
|
/* COMPONENTS */
|
|
21493
21630
|
|
|
21494
21631
|
class AbstractSideMenuContainerComponent {
|
|
@@ -23544,16 +23681,35 @@ class RoleGuardService {
|
|
|
23544
23681
|
return this.canAccessView(view, state.url.toString());
|
|
23545
23682
|
}
|
|
23546
23683
|
canAccessView(view, url) {
|
|
23547
|
-
if (typeof view.access !== 'string' && view.access.hasOwnProperty('role')) {
|
|
23548
|
-
|
|
23549
|
-
|
|
23550
|
-
|
|
23551
|
-
|
|
23684
|
+
if (typeof view.access !== 'string' && (view.access.hasOwnProperty('role') || view.access.hasOwnProperty('bannedRole'))) {
|
|
23685
|
+
if (view.access.hasOwnProperty('role') && view.access.hasOwnProperty('bannedRole')) {
|
|
23686
|
+
const bannedRoles = this.parseRoleConstraints(view.access.bannedRole, url);
|
|
23687
|
+
const allowedRoles = this.parseRoleConstraints(view.access.role, url);
|
|
23688
|
+
if (bannedRoles.some(role => this.decideAccessByRole(role))) {
|
|
23689
|
+
return false;
|
|
23552
23690
|
}
|
|
23553
|
-
|
|
23554
|
-
|
|
23691
|
+
if (allowedRoles.length === 0) {
|
|
23692
|
+
this._log.warn(`View at '${url}' defines role access constraint with an empty array!`
|
|
23693
|
+
+ ` No users will be allowed to enter this view!`);
|
|
23555
23694
|
}
|
|
23556
|
-
|
|
23695
|
+
return allowedRoles.some(role => this.decideAccessByRole(role)); // user was not denied access by a banned role, they need at least one allowed role
|
|
23696
|
+
}
|
|
23697
|
+
if (view.access.hasOwnProperty('bannedRole')) {
|
|
23698
|
+
const bannedRoles = this.parseRoleConstraints(view.access.bannedRole, url);
|
|
23699
|
+
return !bannedRoles.some(constraint => {
|
|
23700
|
+
return this.decideAccessByRole(constraint);
|
|
23701
|
+
});
|
|
23702
|
+
}
|
|
23703
|
+
if (view.access.hasOwnProperty('role')) {
|
|
23704
|
+
const allowedRoles = this.parseRoleConstraints(view.access.role, url);
|
|
23705
|
+
if (allowedRoles.length === 0) {
|
|
23706
|
+
this._log.warn(`View at '${url}' defines role access constraint with an empty array!`
|
|
23707
|
+
+ ` No users will be allowed to enter this view!`);
|
|
23708
|
+
}
|
|
23709
|
+
return allowedRoles.some(constraint => {
|
|
23710
|
+
return this.decideAccessByRole(constraint);
|
|
23711
|
+
});
|
|
23712
|
+
}
|
|
23557
23713
|
}
|
|
23558
23714
|
throw new Error('Role guard is declared for a view with no role guard configuration!'
|
|
23559
23715
|
+ ` Add role guard configuration for view at ${url}, or remove the guard.`);
|
|
@@ -23564,8 +23720,6 @@ class RoleGuardService {
|
|
|
23564
23720
|
}
|
|
23565
23721
|
if (Array.isArray(roleConstrains)) {
|
|
23566
23722
|
if (roleConstrains.length === 0) {
|
|
23567
|
-
this._log.warn(`View at '${viewUrl}' defines role access constraint with an empty array!`
|
|
23568
|
-
+ ` No users will be allowed to enter this view!`);
|
|
23569
23723
|
return [];
|
|
23570
23724
|
}
|
|
23571
23725
|
if (typeof roleConstrains[0] === 'string') {
|
|
@@ -23603,6 +23757,14 @@ class RoleGuardService {
|
|
|
23603
23757
|
return { processIdentifier: constraint.processId, roleIdentifier: constraint.roleId };
|
|
23604
23758
|
});
|
|
23605
23759
|
}
|
|
23760
|
+
decideAccessByRole(constraint) {
|
|
23761
|
+
if (constraint.roleIdentifier) {
|
|
23762
|
+
return this._userService.hasRoleByIdentifier(constraint.roleIdentifier, constraint.processIdentifier);
|
|
23763
|
+
}
|
|
23764
|
+
else {
|
|
23765
|
+
return this._userService.hasRoleByName(constraint.roleName, constraint.processIdentifier);
|
|
23766
|
+
}
|
|
23767
|
+
}
|
|
23606
23768
|
}
|
|
23607
23769
|
RoleGuardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RoleGuardService, deps: [{ token: RedirectService }, { token: UserService }, { token: ConfigurationService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23608
23770
|
RoleGuardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RoleGuardService, providedIn: AuthenticationModule });
|
|
@@ -23811,7 +23973,7 @@ class AccessService {
|
|
|
23811
23973
|
* @returns whether the user passes the role guard condition for accessing the specified view
|
|
23812
23974
|
*/
|
|
23813
23975
|
passesRoleGuard(view, url) {
|
|
23814
|
-
return !view.access.hasOwnProperty('role') || this._roleGuard.canAccessView(view, url);
|
|
23976
|
+
return (!view.access.hasOwnProperty('role') && !view.access.hasOwnProperty('bannedRole')) || this._roleGuard.canAccessView(view, url);
|
|
23815
23977
|
}
|
|
23816
23978
|
/**
|
|
23817
23979
|
* @param view the view whose access permissions we want to check
|
|
@@ -24282,7 +24444,7 @@ class AbstractNavigationDrawerComponent {
|
|
|
24282
24444
|
this.openedChange = new EventEmitter();
|
|
24283
24445
|
this._fixed = true;
|
|
24284
24446
|
this.opened = true;
|
|
24285
|
-
this.quickPanelItems = ['language', 'settings', 'logout'];
|
|
24447
|
+
this.quickPanelItems = ['language', 'settings', 'logout', 'impersonation'];
|
|
24286
24448
|
if (this.userPreferenceService.drawerWidth !== undefined) {
|
|
24287
24449
|
this.contentWidth = new BehaviorSubject(this.userPreferenceService.drawerWidth);
|
|
24288
24450
|
}
|
|
@@ -25027,6 +25189,170 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
25027
25189
|
}]
|
|
25028
25190
|
}], ctorParameters: function () { return [{ type: LoggerService }, { type: UriResourceService }, { type: CaseResourceService }, { type: ActiveGroupService }]; } });
|
|
25029
25191
|
|
|
25192
|
+
/**
|
|
25193
|
+
* Holds all identifiers of the Impersonation config process in an accessible manner
|
|
25194
|
+
*/
|
|
25195
|
+
var UserImpersonationConstants;
|
|
25196
|
+
(function (UserImpersonationConstants) {
|
|
25197
|
+
UserImpersonationConstants["IMPERSONATION_CONFIG_NET_IDENTIFIER"] = "impersonation_config";
|
|
25198
|
+
UserImpersonationConstants["IMPERSONATION_CONFIG_FIELD_IMPERSONATED"] = "impersonated";
|
|
25199
|
+
UserImpersonationConstants["IMPERSONATION_CONFIG_FIELD_ROLES"] = "impersonated_roles";
|
|
25200
|
+
UserImpersonationConstants["IMPERSONATION_CONFIG_FIELD_AUTHS"] = "impersonated_authorities";
|
|
25201
|
+
})(UserImpersonationConstants || (UserImpersonationConstants = {}));
|
|
25202
|
+
|
|
25203
|
+
class ImpersonationService extends AbstractResourceService {
|
|
25204
|
+
constructor(provider, _router, _configService, _userService, _snackbar, _filter, _log, _translate) {
|
|
25205
|
+
super('impersonation', provider, _configService);
|
|
25206
|
+
this.provider = provider;
|
|
25207
|
+
this._router = _router;
|
|
25208
|
+
this._configService = _configService;
|
|
25209
|
+
this._userService = _userService;
|
|
25210
|
+
this._snackbar = _snackbar;
|
|
25211
|
+
this._filter = _filter;
|
|
25212
|
+
this._log = _log;
|
|
25213
|
+
this._translate = _translate;
|
|
25214
|
+
this._impersonating$ = new Subject();
|
|
25215
|
+
this._sub = this._userService.user$.subscribe(user => this._resolveUserChange(user));
|
|
25216
|
+
}
|
|
25217
|
+
get impersonating$() {
|
|
25218
|
+
return this._impersonating$.asObservable();
|
|
25219
|
+
}
|
|
25220
|
+
impersonateUser(userId) {
|
|
25221
|
+
this.provider.post$('impersonate/user/' + userId, this.SERVER_URL, {}).subscribe((user) => {
|
|
25222
|
+
this._resolveSuccess(user);
|
|
25223
|
+
}, (response => {
|
|
25224
|
+
this._resolveError(response);
|
|
25225
|
+
}));
|
|
25226
|
+
}
|
|
25227
|
+
impersonateByConfig(configId) {
|
|
25228
|
+
this.provider.post$('impersonate/config/' + configId, this.SERVER_URL, {}).subscribe((user) => {
|
|
25229
|
+
this._resolveSuccess(user);
|
|
25230
|
+
}, (response => {
|
|
25231
|
+
this._resolveError(response);
|
|
25232
|
+
}));
|
|
25233
|
+
}
|
|
25234
|
+
cease() {
|
|
25235
|
+
this.provider.post$('impersonate/clear', this.SERVER_URL, {}).subscribe(user => {
|
|
25236
|
+
this._snackbar.openSuccessSnackBar(this._translate.instant('impersonation.action.deactivated'));
|
|
25237
|
+
return this._triggerReload();
|
|
25238
|
+
}, (error => {
|
|
25239
|
+
this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.action.failed'));
|
|
25240
|
+
}));
|
|
25241
|
+
}
|
|
25242
|
+
_resolveSuccess(user) {
|
|
25243
|
+
this._snackbar.openSuccessSnackBar(this._translate.instant('impersonation.user.successfullyRepresented'));
|
|
25244
|
+
this._triggerReload();
|
|
25245
|
+
}
|
|
25246
|
+
_resolveError(response) {
|
|
25247
|
+
if (response.status === 400) {
|
|
25248
|
+
response.error.alreadyImpersonated ?
|
|
25249
|
+
this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.user.currentlyAlreadyRepresented')) :
|
|
25250
|
+
this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.user.currentlyLogged'));
|
|
25251
|
+
}
|
|
25252
|
+
else {
|
|
25253
|
+
this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.action.failed'));
|
|
25254
|
+
}
|
|
25255
|
+
}
|
|
25256
|
+
_triggerReload() {
|
|
25257
|
+
this._userService.reload();
|
|
25258
|
+
}
|
|
25259
|
+
_resolveUserChange(user) {
|
|
25260
|
+
if (this._lastUser && this._lastUser.isImpersonating() != user.isImpersonating()) {
|
|
25261
|
+
this._filter.removeAllFilters();
|
|
25262
|
+
this._impersonating$.next(user.isImpersonating());
|
|
25263
|
+
}
|
|
25264
|
+
this._lastUser = user;
|
|
25265
|
+
}
|
|
25266
|
+
ngOnDestroy() {
|
|
25267
|
+
if (this._sub) {
|
|
25268
|
+
this._sub.unsubscribe();
|
|
25269
|
+
}
|
|
25270
|
+
}
|
|
25271
|
+
}
|
|
25272
|
+
ImpersonationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationService, deps: [{ token: ResourceProvider }, { token: i2$3.Router }, { token: ConfigurationService }, { token: UserService }, { token: SnackBarService }, { token: FilterRepository }, { token: LoggerService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25273
|
+
ImpersonationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationService, providedIn: 'root' });
|
|
25274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationService, decorators: [{
|
|
25275
|
+
type: Injectable,
|
|
25276
|
+
args: [{
|
|
25277
|
+
providedIn: 'root'
|
|
25278
|
+
}]
|
|
25279
|
+
}], ctorParameters: function () { return [{ type: ResourceProvider }, { type: i2$3.Router }, { type: ConfigurationService }, { type: UserService }, { type: SnackBarService }, { type: FilterRepository }, { type: LoggerService }, { type: i1$2.TranslateService }]; } });
|
|
25280
|
+
|
|
25281
|
+
class ImpersonationUserSelectService {
|
|
25282
|
+
constructor(_log, _sideMenuService, _snackBar, _impersonation, _user, _userImpersonateComponent, _adminImpersonateComponent) {
|
|
25283
|
+
this._log = _log;
|
|
25284
|
+
this._sideMenuService = _sideMenuService;
|
|
25285
|
+
this._snackBar = _snackBar;
|
|
25286
|
+
this._impersonation = _impersonation;
|
|
25287
|
+
this._user = _user;
|
|
25288
|
+
this._userImpersonateComponent = _userImpersonateComponent;
|
|
25289
|
+
this._adminImpersonateComponent = _adminImpersonateComponent;
|
|
25290
|
+
}
|
|
25291
|
+
/**
|
|
25292
|
+
* Opens side menu with users who can be impersonated by logged user
|
|
25293
|
+
*/
|
|
25294
|
+
selectImpersonate() {
|
|
25295
|
+
if (this.isAdmin()) {
|
|
25296
|
+
this._sideMenuService.open(this._adminImpersonateComponent, SideMenuSize.LARGE, this.injectedData()).onClose.subscribe(event => {
|
|
25297
|
+
this._log.debug('Impersonable user select :' + event);
|
|
25298
|
+
if (event.data === undefined) {
|
|
25299
|
+
return;
|
|
25300
|
+
}
|
|
25301
|
+
this._impersonation.impersonateUser(event.data._id);
|
|
25302
|
+
});
|
|
25303
|
+
}
|
|
25304
|
+
else {
|
|
25305
|
+
this._sideMenuService.open(this._userImpersonateComponent, SideMenuSize.XL, this.injectedData()).onClose.subscribe(event => {
|
|
25306
|
+
this._log.debug('Impersonable config select :' + event);
|
|
25307
|
+
if (event.data === undefined) {
|
|
25308
|
+
return;
|
|
25309
|
+
}
|
|
25310
|
+
this._impersonation.impersonateByConfig(event.data.stringId);
|
|
25311
|
+
});
|
|
25312
|
+
}
|
|
25313
|
+
}
|
|
25314
|
+
injectedData() {
|
|
25315
|
+
const currentTime = moment();
|
|
25316
|
+
let filterCasesFilter = SimpleFilter.fromCaseQuery({
|
|
25317
|
+
process: {
|
|
25318
|
+
identifier: UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER
|
|
25319
|
+
},
|
|
25320
|
+
query: `
|
|
25321
|
+
(dataSet.impersonators.keyValue:${this._user.user.id}) AND
|
|
25322
|
+
(dataSet.is_active.booleanValue:true) AND
|
|
25323
|
+
((!(_exists_:dataSet.valid_from.timestampValue)) OR (dataSet.valid_from.timestampValue:<` + currentTime.valueOf() + `)) AND
|
|
25324
|
+
((!(_exists_:dataSet.valid_to.timestampValue)) OR (dataSet.valid_to.timestampValue:>${currentTime.valueOf()}))
|
|
25325
|
+
`
|
|
25326
|
+
});
|
|
25327
|
+
return {
|
|
25328
|
+
filter: filterCasesFilter
|
|
25329
|
+
};
|
|
25330
|
+
}
|
|
25331
|
+
isAdmin() {
|
|
25332
|
+
return this._user.hasAuthority('ROLE_ADMIN');
|
|
25333
|
+
}
|
|
25334
|
+
}
|
|
25335
|
+
ImpersonationUserSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserSelectService, deps: [{ token: LoggerService }, { token: SideMenuService }, { token: SnackBarService }, { token: ImpersonationService }, { token: UserService }, { token: NAE_USER_IMPERSONATE_COMPONENT, optional: true }, { token: NAE_ADMIN_IMPERSONATE_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25336
|
+
ImpersonationUserSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserSelectService, providedIn: 'root' });
|
|
25337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserSelectService, decorators: [{
|
|
25338
|
+
type: Injectable,
|
|
25339
|
+
args: [{
|
|
25340
|
+
providedIn: 'root'
|
|
25341
|
+
}]
|
|
25342
|
+
}], ctorParameters: function () {
|
|
25343
|
+
return [{ type: LoggerService }, { type: SideMenuService }, { type: SnackBarService }, { type: ImpersonationService }, { type: UserService }, { type: undefined, decorators: [{
|
|
25344
|
+
type: Optional
|
|
25345
|
+
}, {
|
|
25346
|
+
type: Inject,
|
|
25347
|
+
args: [NAE_USER_IMPERSONATE_COMPONENT]
|
|
25348
|
+
}] }, { type: undefined, decorators: [{
|
|
25349
|
+
type: Optional
|
|
25350
|
+
}, {
|
|
25351
|
+
type: Inject,
|
|
25352
|
+
args: [NAE_ADMIN_IMPERSONATE_COMPONENT]
|
|
25353
|
+
}] }];
|
|
25354
|
+
} });
|
|
25355
|
+
|
|
25030
25356
|
const FILTER_IDENTIFIERS = [
|
|
25031
25357
|
"preference_filter_item"
|
|
25032
25358
|
];
|
|
@@ -25036,7 +25362,7 @@ const RIGHT_DRAWER_DEFAULT_WIDTH = 240;
|
|
|
25036
25362
|
const RIGHT_DRAWER_DEFAULT_MIN_WIDTH = 180;
|
|
25037
25363
|
const RIGHT_DRAWER_MAX_WIDTH = 460;
|
|
25038
25364
|
class AbstractNavigationDoubleDrawerComponent {
|
|
25039
|
-
constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _dynamicRoutingService) {
|
|
25365
|
+
constructor(_router, _activatedRoute, _breakpoint, _languageService, _userService, _accessService, _log, _config, _uriService, _impersonationUserSelect, _impersonation, _dynamicRoutingService) {
|
|
25040
25366
|
this._router = _router;
|
|
25041
25367
|
this._activatedRoute = _activatedRoute;
|
|
25042
25368
|
this._breakpoint = _breakpoint;
|
|
@@ -25046,6 +25372,8 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
25046
25372
|
this._log = _log;
|
|
25047
25373
|
this._config = _config;
|
|
25048
25374
|
this._uriService = _uriService;
|
|
25375
|
+
this._impersonationUserSelect = _impersonationUserSelect;
|
|
25376
|
+
this._impersonation = _impersonation;
|
|
25049
25377
|
this._dynamicRoutingService = _dynamicRoutingService;
|
|
25050
25378
|
this.imageRouterLink = "/";
|
|
25051
25379
|
this.imageAlt = "Logo";
|
|
@@ -25053,6 +25381,7 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
25053
25381
|
this.includeUser = true;
|
|
25054
25382
|
this.includeLanguage = true;
|
|
25055
25383
|
this.includeMoreMenu = true;
|
|
25384
|
+
this.includeImpersonation = true;
|
|
25056
25385
|
this.allClosable = true;
|
|
25057
25386
|
this.folderIcon = "folder";
|
|
25058
25387
|
this.openedFolderIcon = "folder_open";
|
|
@@ -25206,6 +25535,12 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
25206
25535
|
}
|
|
25207
25536
|
});
|
|
25208
25537
|
}
|
|
25538
|
+
impersonate() {
|
|
25539
|
+
this._impersonationUserSelect.selectImpersonate();
|
|
25540
|
+
}
|
|
25541
|
+
stopImpersonating() {
|
|
25542
|
+
this._impersonation.cease();
|
|
25543
|
+
}
|
|
25209
25544
|
get user() {
|
|
25210
25545
|
return this._userService.user;
|
|
25211
25546
|
}
|
|
@@ -25285,16 +25620,19 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
25285
25620
|
id: filter.stringId,
|
|
25286
25621
|
resource: filter
|
|
25287
25622
|
};
|
|
25288
|
-
const resolvedRoles = this.resolveAccessRoles(filter);
|
|
25623
|
+
const resolvedRoles = this.resolveAccessRoles(filter, 'allowed_roles');
|
|
25624
|
+
const resolvedBannedRoles = this.resolveAccessRoles(filter, 'banned_roles');
|
|
25289
25625
|
if (!!resolvedRoles)
|
|
25290
25626
|
item.access['role'] = resolvedRoles;
|
|
25627
|
+
if (!!resolvedBannedRoles)
|
|
25628
|
+
item.access['bannedRole'] = resolvedBannedRoles;
|
|
25291
25629
|
if (!this._accessService.canAccessView(item, item.routingPath))
|
|
25292
25630
|
return;
|
|
25293
25631
|
return item;
|
|
25294
25632
|
}
|
|
25295
|
-
resolveAccessRoles(filter) {
|
|
25633
|
+
resolveAccessRoles(filter, roleType) {
|
|
25296
25634
|
var _a;
|
|
25297
|
-
const allowedRoles = (_a = filter.immediateData.find(f => f.stringId ===
|
|
25635
|
+
const allowedRoles = (_a = filter.immediateData.find(f => f.stringId === roleType)) === null || _a === void 0 ? void 0 : _a.options;
|
|
25298
25636
|
if (!allowedRoles || Object.keys(allowedRoles).length === 0)
|
|
25299
25637
|
return undefined;
|
|
25300
25638
|
const roles = [];
|
|
@@ -25357,15 +25695,15 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
25357
25695
|
// this.contentWidth.next(this.width);
|
|
25358
25696
|
}
|
|
25359
25697
|
}
|
|
25360
|
-
AbstractNavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i2$3.Router }, { token: i2$3.ActivatedRoute }, { token: i1$7.BreakpointObserver }, { token: LanguageService }, { token: UserService }, { token: AccessService }, { token: LoggerService }, { token: ConfigurationService }, { token: UriService }, { token: DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25361
|
-
AbstractNavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractNavigationDoubleDrawerComponent, selector: "ncc-abstract-navigation-double-drawer", inputs: { portalLeftMenu: "portalLeftMenu", portalRightMenu: "portalRightMenu", imageRouterLink: "imageRouterLink", imageAlt: "imageAlt", image: "image", profileRouterLink: "profileRouterLink", includeUser: "includeUser", includeLanguage: "includeLanguage", includeMoreMenu: "includeMoreMenu", allClosable: "allClosable", folderIcon: "folderIcon", openedFolderIcon: "openedFolderIcon", filterIcon: "filterIcon", foldersCategoryName: "foldersCategoryName", viewsCategoryName: "viewsCategoryName" }, ngImport: i0, template: '', isInline: true });
|
|
25698
|
+
AbstractNavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i2$3.Router }, { token: i2$3.ActivatedRoute }, { token: i1$7.BreakpointObserver }, { token: LanguageService }, { token: UserService }, { token: AccessService }, { token: LoggerService }, { token: ConfigurationService }, { token: UriService }, { token: ImpersonationUserSelectService }, { token: ImpersonationService }, { token: DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25699
|
+
AbstractNavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AbstractNavigationDoubleDrawerComponent, selector: "ncc-abstract-navigation-double-drawer", inputs: { portalLeftMenu: "portalLeftMenu", portalRightMenu: "portalRightMenu", imageRouterLink: "imageRouterLink", imageAlt: "imageAlt", image: "image", profileRouterLink: "profileRouterLink", includeUser: "includeUser", includeLanguage: "includeLanguage", includeMoreMenu: "includeMoreMenu", includeImpersonation: "includeImpersonation", allClosable: "allClosable", folderIcon: "folderIcon", openedFolderIcon: "openedFolderIcon", filterIcon: "filterIcon", foldersCategoryName: "foldersCategoryName", viewsCategoryName: "viewsCategoryName" }, ngImport: i0, template: '', isInline: true });
|
|
25362
25700
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, decorators: [{
|
|
25363
25701
|
type: Component,
|
|
25364
25702
|
args: [{
|
|
25365
25703
|
selector: 'ncc-abstract-navigation-double-drawer',
|
|
25366
25704
|
template: '',
|
|
25367
25705
|
}]
|
|
25368
|
-
}], ctorParameters: function () { return [{ type: i2$3.Router }, { type: i2$3.ActivatedRoute }, { type: i1$7.BreakpointObserver }, { type: LanguageService }, { type: UserService }, { type: AccessService }, { type: LoggerService }, { type: ConfigurationService }, { type: UriService }, { type: DynamicNavigationRouteProviderService }]; }, propDecorators: { portalLeftMenu: [{
|
|
25706
|
+
}], ctorParameters: function () { return [{ type: i2$3.Router }, { type: i2$3.ActivatedRoute }, { type: i1$7.BreakpointObserver }, { type: LanguageService }, { type: UserService }, { type: AccessService }, { type: LoggerService }, { type: ConfigurationService }, { type: UriService }, { type: ImpersonationUserSelectService }, { type: ImpersonationService }, { type: DynamicNavigationRouteProviderService }]; }, propDecorators: { portalLeftMenu: [{
|
|
25369
25707
|
type: Input
|
|
25370
25708
|
}], portalRightMenu: [{
|
|
25371
25709
|
type: Input
|
|
@@ -25383,6 +25721,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
25383
25721
|
type: Input
|
|
25384
25722
|
}], includeMoreMenu: [{
|
|
25385
25723
|
type: Input
|
|
25724
|
+
}], includeImpersonation: [{
|
|
25725
|
+
type: Input
|
|
25386
25726
|
}], allClosable: [{
|
|
25387
25727
|
type: Input
|
|
25388
25728
|
}], folderIcon: [{
|
|
@@ -28598,7 +28938,7 @@ class AbstractSearchOperandInputComponent {
|
|
|
28598
28938
|
}
|
|
28599
28939
|
return this._filteredOptions$;
|
|
28600
28940
|
}
|
|
28601
|
-
|
|
28941
|
+
isInputFilled() {
|
|
28602
28942
|
if (!this._inputConfirmed) {
|
|
28603
28943
|
return false;
|
|
28604
28944
|
}
|
|
@@ -28611,7 +28951,7 @@ class AbstractSearchOperandInputComponent {
|
|
|
28611
28951
|
return;
|
|
28612
28952
|
}
|
|
28613
28953
|
this._initialExpansion = false;
|
|
28614
|
-
if (!this.isInputFilled) {
|
|
28954
|
+
if (!this.isInputFilled()) {
|
|
28615
28955
|
setTimeout(() => {
|
|
28616
28956
|
input.nativeElement.focus();
|
|
28617
28957
|
});
|
|
@@ -30198,6 +30538,11 @@ class TestConfigurationService extends ConfigurationService {
|
|
|
30198
30538
|
name: 'dashboard',
|
|
30199
30539
|
address: 'http://localhost:8080/api/',
|
|
30200
30540
|
format: 'json'
|
|
30541
|
+
},
|
|
30542
|
+
{
|
|
30543
|
+
name: 'impersonation',
|
|
30544
|
+
address: 'http://localhost:8080/api/',
|
|
30545
|
+
format: 'json'
|
|
30201
30546
|
}
|
|
30202
30547
|
]
|
|
30203
30548
|
},
|
|
@@ -31720,8 +32065,7 @@ class AbstractFieldComponentResolverComponent {
|
|
|
31720
32065
|
return this.gridElement.item;
|
|
31721
32066
|
}
|
|
31722
32067
|
getTaskId() {
|
|
31723
|
-
|
|
31724
|
-
return referencedTaskId !== null && referencedTaskId !== void 0 ? referencedTaskId : this.taskContentService.task.stringId;
|
|
32068
|
+
return this.taskContentService.task.stringId;
|
|
31725
32069
|
}
|
|
31726
32070
|
isField() {
|
|
31727
32071
|
return this.gridElement.type !== TaskElementType.BLANK && this.gridElement.type !== TaskElementType.DATA_GROUP_TITLE;
|
|
@@ -32039,6 +32383,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
32039
32383
|
|
|
32040
32384
|
/* EVENT OUTCOMES */
|
|
32041
32385
|
|
|
32386
|
+
class ImpersonationUserResourceService extends UserResourceService {
|
|
32387
|
+
constructor(provider, configService) {
|
|
32388
|
+
super(provider, configService);
|
|
32389
|
+
this._IMPERSONATION_SERVER_URL = this.getResourceAddress('impersonation');
|
|
32390
|
+
}
|
|
32391
|
+
search(body, params) {
|
|
32392
|
+
return this._resourceProvider.post$('/impersonate/search', this._IMPERSONATION_SERVER_URL, { query: body.fulltext }, params)
|
|
32393
|
+
.pipe(map((r) => this.getResourcePage(r, 'users')));
|
|
32394
|
+
}
|
|
32395
|
+
}
|
|
32396
|
+
ImpersonationUserResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserResourceService, deps: [{ token: ResourceProvider }, { token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32397
|
+
ImpersonationUserResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserResourceService, providedIn: 'root' });
|
|
32398
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserResourceService, decorators: [{
|
|
32399
|
+
type: Injectable,
|
|
32400
|
+
args: [{
|
|
32401
|
+
providedIn: 'root'
|
|
32402
|
+
}]
|
|
32403
|
+
}], ctorParameters: function () { return [{ type: ResourceProvider }, { type: ConfigurationService }]; } });
|
|
32404
|
+
|
|
32405
|
+
class ImpersonationUserListService extends UserListService {
|
|
32406
|
+
constructor(_resources, _logService, _snackbar, _translate) {
|
|
32407
|
+
super(_resources, _logService, _snackbar, _translate);
|
|
32408
|
+
this._logService = _logService;
|
|
32409
|
+
}
|
|
32410
|
+
}
|
|
32411
|
+
ImpersonationUserListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserListService, deps: [{ token: ImpersonationUserResourceService }, { token: LoggerService }, { token: SnackBarService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32412
|
+
ImpersonationUserListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserListService });
|
|
32413
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserListService, decorators: [{
|
|
32414
|
+
type: Injectable
|
|
32415
|
+
}], ctorParameters: function () { return [{ type: ImpersonationUserResourceService }, { type: LoggerService }, { type: SnackBarService }, { type: i1$2.TranslateService }]; } });
|
|
32416
|
+
|
|
32417
|
+
/* MODELS */
|
|
32418
|
+
|
|
32042
32419
|
/*
|
|
32043
32420
|
* Public API Surface of netgrif-components-core
|
|
32044
32421
|
*/
|
|
@@ -32047,5 +32424,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
32047
32424
|
* Generated bundle index. Do not edit.
|
|
32048
32425
|
*/
|
|
32049
32426
|
|
|
32050
|
-
export { AbstractAddChildNodeComponent, AbstractAdvancedSearchComponent, AbstractAuthenticationOverlayComponent, AbstractBooleanFieldComponent, AbstractBreadcrumbsComponent, AbstractButtonFieldComponent, AbstractCaseListComponent, AbstractCaseListPaginatorComponent, AbstractCasePanelComponent, AbstractCaseViewComponent, AbstractCountCardComponent, AbstractCurrencyNumberFieldComponent, AbstractCustomCardComponent, AbstractDashboardContentComponent, AbstractDataFieldTemplateComponent, AbstractDateFieldComponent, AbstractDateTimeFieldComponent, AbstractDefaultNumberFieldComponent, AbstractEditModeComponent, AbstractEmailSubmissionFormComponent, AbstractEnumerationAutocompleteDynamicFieldComponent, AbstractEnumerationAutocompleteSelectFieldComponent, AbstractEnumerationFieldComponent, AbstractEnumerationIconFieldComponent, AbstractEnumerationListFieldComponent, AbstractEnumerationSelectFieldComponent, AbstractEnumerationStepperFieldComponent, AbstractFieldComponentResolverComponent, AbstractFileFieldComponent, AbstractFileListFieldComponent, AbstractFilterFieldComponent, AbstractFilterFieldContentComponent, AbstractFilterSelectorComponent, AbstractFilterSelectorListItemComponent, AbstractForgottenPasswordComponent, AbstractFulltextSearchComponent, AbstractGroupNavigationComponentResolverComponent, AbstractHeaderComponent, AbstractHeaderService, AbstractHtmlTextareaFieldComponent, AbstractI18nDividerFieldComponent, AbstractI18nErrorsComponent, AbstractI18nFieldComponent, AbstractI18nTextFieldComponent, AbstractIframeCardComponent, AbstractImmediateFilterTextComponent, AbstractImmediateFilterTextContentComponent, AbstractImportNetComponent, AbstractInternalLinkComponent, AbstractLanguageSelectorComponent, AbstractLdapGroupRoleAssignmentComponent, AbstractLegalNoticeComponent, AbstractLoadFilterComponent, AbstractLoadingModeComponent, AbstractLoggerService, AbstractLoginFormComponent, AbstractLogoutShortcutComponent, AbstractMultichoiceAutocompleteFieldComponentComponent, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, AbstractNumberErrorsComponent, AbstractNumberFieldComponent, AbstractOptionSelectorComponent, AbstractPanelComponent, AbstractPanelItemComponent, AbstractPasswordTextFieldComponent, AbstractProfileComponent, AbstractQuickPanelComponent, AbstractRegistrationComponent, AbstractRegistrationFormComponent, AbstractRemoveNodeComponent, AbstractResourceProvider, AbstractResourceService, AbstractRichTextareaFieldComponent, AbstractRoleAssignmentComponent, AbstractSaveFilterComponent, AbstractSearchClauseComponent, AbstractSearchComponent, AbstractSearchConfigurationInputComponent, AbstractSearchModeComponent, AbstractSearchOperandInputComponent, AbstractSearchPredicateComponent, AbstractSideMenuContainerComponent, AbstractSimpleTextFieldComponent, AbstractSingleTaskComponent, AbstractSingleTaskViewComponent, AbstractSortModeComponent, AbstractSortableViewComponent, AbstractTabCreationDetectorComponent, AbstractTabViewComponent, AbstractTabbedCaseViewComponent, AbstractTabbedTaskViewComponent, AbstractTaskContentComponent, AbstractTaskListComponent, AbstractTaskListPaginationComponent, AbstractTaskPanelComponent, AbstractTaskViewComponent, AbstractTextErrorsComponent, AbstractTextFieldComponent, AbstractTextareaFieldComponent, AbstractToolbarComponent, AbstractTreeComponent, AbstractTreeTaskContentComponent, AbstractUserAssignComponent, AbstractUserAssignItemComponent, AbstractUserAssignListComponent, AbstractUserCardComponent, AbstractUserFieldComponent, AbstractUserInviteComponent, AbstractUserListFieldComponent, AbstractViewWithHeadersComponent, AbstractWorkflowPanelComponent, AbstractWorkflowViewComponent, AccessService, ActiveGroupService, AdvancedSearchComponentInitializationService, AfterAction, AlertDialogComponent, AlertDialogModule, AllowedNetsService, AllowedNetsServiceFactory, AnonymousService, AssignPolicy, AssignPolicyService, AssignTaskService, AuthenticationGuardService, AuthenticationMethodService, AuthenticationModule, AuthenticationService, AuthorityGuardService, AutocompleteCategory, BOOLEAN_VALUE_LABEL_ENABLED, BaseAllowedNetsService, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseResourceService, CaseRole, CaseSearch, CaseSimpleDataset, CaseStringId, CaseTask, CaseTitle, CaseTreeNode, CaseTreeService, CaseViewService, CaseVisualId, Categories, Category, CategoryFactory, CategoryResolverService, ChangedFieldsService, ClausePredicate, ConfigParams, ConfigurationInput, ConfigurationService, ConfirmDialogComponent, ConfirmDialogModule, ConsoleLogPublisher, CovalentModule, CurrencyModule, CustomDateAdapter, DATE_FORMAT, DATE_FORMAT_STRING, DATE_TIME_FORMAT, DATE_TIME_FORMAT_STRING, DEFAULT_LANGUAGE_CODE, DashboardCardTypes, DashboardMultiData, DashboardResourceService, DashboardSingleData, DataField, DataFieldsModule, DataFocusPolicy, DataFocusPolicyService, DataGroupAlignment, DatafieldMapKey, DateField, DateTimeField, DefaultSearchCategoriesModule, DelegateTaskService, DialogModule, DialogService, DynamicEnumerationField, DynamicNavigationRouteProviderService, EditableClausePredicate, EditableClausePredicateWithGenerators, EditableElementaryPredicate, EditablePredicate, EditablePredicateWithGenerator, ElementaryPredicate, EnumerationField, EnumerationFieldValidation, Equals, EqualsDate, ErrorSnackBarComponent, EventConstants, EventQueueService, EventService, FILTER_IDENTIFIERS, FILTER_VIEW_TASK_TRANSITION_ID, FieldAlignment, FieldConverterService, FieldTypeResource, FileField, FileListField, FileListFieldValidation, FilePreviewType, FileUploadMIMEType, FileUploadModel, Filter, FilterExtractionService, FilterField, FilterRepository, FilterType, FinishPolicy, FinishPolicyService, FinishTaskService, GenericSnackBarComponent, GroupGuardService, GroupNavigationComponentResolverService, GroupNavigationConstants, HeaderColumn, HeaderColumnType, HeaderMode, HeaderSearchService, HeaderType, HttpLoaderFactory, I18nField, I18nFieldValidation, InRange, InRangeDate, IncrementingCounter, IsNull, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MaterialAppearance, MaterialModule, MergeOperator, MergedFilter, MockAuthenticationMethodService, MockAuthenticationService, MockEndpoint, MockSignUpService, MockUserPreferenceService, MockUserResourceService, MoreThan, MoreThanDate, MoreThanDateTime, MultichoiceField, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_AUTOSWITCH_TAB_TOKEN, NAE_BASE_FILTER, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILES_UPLOAD_COMPONENT, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_NAVIGATION_ITEM_TASK_DATA, NAE_NET_ALL_VERSIONS, NAE_NET_VERSION_VISIBLE, NAE_NEW_CASE_COMPONENT, NAE_NEW_CASE_CONFIGURATION, NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, NAE_OPEN_EXISTING_TAB, NAE_OPTION_SELECTOR_COMPONENT, NAE_PREFERRED_TASK_ENDPOINT, NAE_ROUTING_CONFIGURATION_PATH, NAE_SAVE_FILTER_COMPONENT, NAE_SEARCH_CATEGORIES, NAE_SEARCH_COMPONENT_CONFIGURATION, NAE_SIDE_MENU_CONTROL, NAE_SNACKBAR_HORIZONTAL_POSITION, NAE_SNACKBAR_VERTICAL_POSITION, NAE_TAB_DATA, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, NAE_TASK_VIEW_CONFIGURATION, NAE_TREE_CASE_VIEW_CONFIGURATION, NAE_USER_ASSIGN_COMPONENT, NAE_VIEW_ID, NAE_VIEW_ID_SEGMENT, NAE_WORKFLOW_SERVICE_CONFIRM_DELETE, NAE_WORKFLOW_SERVICE_FILTER, Net, NetAttributeAutocompleteCategory, NextGroupService, NoConfigurationAutocompleteCategory, NoConfigurationCategory, NoConfigurationUserAutocompleteCategory, NotEquals, NotEqualsDate, NotEqualsDateTime, NullAuthenticationService, NullTaskOperations, NumberField, NumberFieldValidation, OpenedTab, Operator, OperatorResolverService, OperatorService, OperatorTemplatePart, OperatorTemplatePartType, Operators, OrganizationListService, OverflowService, PUBLISHERS, PageLoadRequestContext, PaginationParams, PaginationSort, PaperViewService, PermissionService, PermissionType, PetriNetResourceService, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, RedirectService, ResourceProvider, ResultWithAfterActions, RoleAssignmentLdapGroupService, RoleAssignmentService, RoleGuardService, RoutingBuilderService, SearchIndex, SearchIndexResolverService, SearchInputType, SearchMode, SearchService, SelectedCaseService, SessionService, SideMenuControl, SideMenuRef, SideMenuService, SideMenuSize, SignUpModule, SignUpService, SimpleFilter, SingleTaskContentService, SnackBarComponent, SnackBarHorizontalPosition, SnackBarModule, SnackBarService, SnackBarVerticalPosition, SpinnerOverlayService, Subgrid, SubjectTaskOperations, Substring, SuccessSnackBarComponent, TabLabelStream, TabView, TabbedVirtualScrollComponent, TaskAssignee, TaskConst, TaskContentService, TaskDataService, TaskElementType, TaskEndpoint, TaskEvent, TaskEventService, TaskHandlingService, TaskHeaderService, TaskMetaField, TaskNetAttributeAutocompleteCategory, TaskProcess, TaskRefField, TaskRequestStateService, TaskResourceService, TaskRole, TaskTask, TaskViewService, TemplateAppearance, TestCaseBaseFilterProvider, TestCaseViewAllowedNetsFactory, TestConfigurationService, TestMockDependenciesModule, TestNoAllowedNetsFactory, TestTaskBaseFilterProvider, TestTaskViewAllowedNetsFactory, TestViewService, TextAreaField, TextAreaHeight, TextField, TextFieldValidation, TranslateLibModule, TreeCaseViewService, TreePetriflowIdentifiers, TreeTaskContentService, UnlimitedTaskContentService, UriContentType, UriResourceService, UriService, User, UserAutocomplete, UserComparatorService, UserField, UserFilterConstants, UserFiltersService, UserInviteService, UserListField, UserListService, UserPreferenceService, UserResourceService, UserService, UserTransformer, UserValue, ViewIdService, ViewService, WarningSnackBarComponent, WorkflowHeaderService, WorkflowMetaField, WorkflowViewService, WrappedBoolean, arrayToObservable, authenticationServiceFactory, clearTimeInformation, configureCategory, createMockCase, createMockCaseOutcome, createMockDataGroup, createMockDependencies, createMockField, createMockGetDataOutcome, createMockImmediateData, createMockNet, createMockPage, createMockPetriNetOutcome, createMockSetDataOutcome, createMockTask, createMockTaskOutcome, createSortParam, createTaskEventNotification, defaultCaseSearchCategoriesFactory, defaultTaskSearchCategoriesFactory, destroySubscription, extractFilterFieldFromData, extractFilterFromData, extractFilterFromFilterField, extractIconAndTitle, extractRoles, getField, getFieldFromDataGroups, getFieldIndex, getFieldIndexFromDataGroups, getImmediateData, getNetAndCreateCase, groupNavigationViewIdSegmentFactory, hasContent, loadAllPages, mockUserAutocompleteValue, navigationItemTaskAllowedNetsServiceFactory, navigationItemTaskCategoryFactory, navigationItemTaskFilterFactory, ofVoid, processMessageResponse, publicBaseFilterFactory, publicFactoryResolver, refreshTree, tabbedAllowedNetsServiceFactory, tabbedTaskViewConfigurationFactory, toMoment };
|
|
32427
|
+
export { AbstractAddChildNodeComponent, AbstractAdvancedSearchComponent, AbstractAuthenticationOverlayComponent, AbstractBooleanFieldComponent, AbstractBreadcrumbsComponent, AbstractButtonFieldComponent, AbstractCaseListComponent, AbstractCaseListPaginatorComponent, AbstractCasePanelComponent, AbstractCaseViewComponent, AbstractCountCardComponent, AbstractCurrencyNumberFieldComponent, AbstractCustomCardComponent, AbstractDashboardContentComponent, AbstractDataFieldTemplateComponent, AbstractDateFieldComponent, AbstractDateTimeFieldComponent, AbstractDefaultNumberFieldComponent, AbstractEditModeComponent, AbstractEmailSubmissionFormComponent, AbstractEnumerationAutocompleteDynamicFieldComponent, AbstractEnumerationAutocompleteSelectFieldComponent, AbstractEnumerationFieldComponent, AbstractEnumerationIconFieldComponent, AbstractEnumerationListFieldComponent, AbstractEnumerationSelectFieldComponent, AbstractEnumerationStepperFieldComponent, AbstractFieldComponentResolverComponent, AbstractFileFieldComponent, AbstractFileListFieldComponent, AbstractFilterFieldComponent, AbstractFilterFieldContentComponent, AbstractFilterSelectorComponent, AbstractFilterSelectorListItemComponent, AbstractForgottenPasswordComponent, AbstractFulltextSearchComponent, AbstractGroupNavigationComponentResolverComponent, AbstractHeaderComponent, AbstractHeaderService, AbstractHtmlTextareaFieldComponent, AbstractI18nDividerFieldComponent, AbstractI18nErrorsComponent, AbstractI18nFieldComponent, AbstractI18nTextFieldComponent, AbstractIframeCardComponent, AbstractImmediateFilterTextComponent, AbstractImmediateFilterTextContentComponent, AbstractImportNetComponent, AbstractInternalLinkComponent, AbstractLanguageSelectorComponent, AbstractLdapGroupRoleAssignmentComponent, AbstractLegalNoticeComponent, AbstractLoadFilterComponent, AbstractLoadingModeComponent, AbstractLoggerService, AbstractLoginFormComponent, AbstractLogoutShortcutComponent, AbstractMultichoiceAutocompleteFieldComponentComponent, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, AbstractNumberErrorsComponent, AbstractNumberFieldComponent, AbstractOptionSelectorComponent, AbstractPanelComponent, AbstractPanelItemComponent, AbstractPasswordTextFieldComponent, AbstractProfileComponent, AbstractQuickPanelComponent, AbstractRegistrationComponent, AbstractRegistrationFormComponent, AbstractRemoveNodeComponent, AbstractResourceProvider, AbstractResourceService, AbstractRichTextareaFieldComponent, AbstractRoleAssignmentComponent, AbstractSaveFilterComponent, AbstractSearchClauseComponent, AbstractSearchComponent, AbstractSearchConfigurationInputComponent, AbstractSearchModeComponent, AbstractSearchOperandInputComponent, AbstractSearchPredicateComponent, AbstractSideMenuContainerComponent, AbstractSimpleTextFieldComponent, AbstractSingleTaskComponent, AbstractSingleTaskViewComponent, AbstractSortModeComponent, AbstractSortableViewComponent, AbstractTabCreationDetectorComponent, AbstractTabViewComponent, AbstractTabbedCaseViewComponent, AbstractTabbedTaskViewComponent, AbstractTaskContentComponent, AbstractTaskListComponent, AbstractTaskListPaginationComponent, AbstractTaskPanelComponent, AbstractTaskViewComponent, AbstractTextErrorsComponent, AbstractTextFieldComponent, AbstractTextareaFieldComponent, AbstractToolbarComponent, AbstractTreeComponent, AbstractTreeTaskContentComponent, AbstractUserAssignComponent, AbstractUserAssignItemComponent, AbstractUserAssignListComponent, AbstractUserCardComponent, AbstractUserFieldComponent, AbstractUserImpersonateComponent, AbstractUserInviteComponent, AbstractUserListFieldComponent, AbstractViewWithHeadersComponent, AbstractWorkflowPanelComponent, AbstractWorkflowViewComponent, AccessService, ActiveGroupService, AdvancedSearchComponentInitializationService, AfterAction, AlertDialogComponent, AlertDialogModule, AllowedNetsService, AllowedNetsServiceFactory, AnonymousAuthenticationInterceptor, AnonymousService, AssignPolicy, AssignPolicyService, AssignTaskService, AuthenticationGuardService, AuthenticationInterceptor, AuthenticationMethodService, AuthenticationModule, AuthenticationService, AuthorityGuardService, AutocompleteCategory, BOOLEAN_VALUE_LABEL_ENABLED, BaseAllowedNetsService, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseResourceService, CaseRole, CaseSearch, CaseSimpleDataset, CaseStringId, CaseTask, CaseTitle, CaseTreeNode, CaseTreeService, CaseViewService, CaseVisualId, Categories, Category, CategoryFactory, CategoryResolverService, ChangedFieldsService, ClausePredicate, ConfigParams, ConfigurationInput, ConfigurationService, ConfirmDialogComponent, ConfirmDialogModule, ConsoleLogPublisher, CovalentModule, CurrencyModule, CustomDateAdapter, DATE_FORMAT, DATE_FORMAT_STRING, DATE_TIME_FORMAT, DATE_TIME_FORMAT_STRING, DEFAULT_LANGUAGE_CODE, DashboardCardTypes, DashboardMultiData, DashboardResourceService, DashboardSingleData, DataField, DataFieldsModule, DataFocusPolicy, DataFocusPolicyService, DataGroupAlignment, DatafieldMapKey, DateField, DateTimeField, DefaultSearchCategoriesModule, DelegateTaskService, DialogModule, DialogService, DynamicEnumerationField, DynamicNavigationRouteProviderService, EditableClausePredicate, EditableClausePredicateWithGenerators, EditableElementaryPredicate, EditablePredicate, EditablePredicateWithGenerator, ElementaryPredicate, EnumerationField, EnumerationFieldValidation, Equals, EqualsDate, ErrorSnackBarComponent, EventConstants, EventQueueService, EventService, FILTER_IDENTIFIERS, FILTER_VIEW_TASK_TRANSITION_ID, FieldAlignment, FieldConverterService, FieldTypeResource, FileField, FileListField, FileListFieldValidation, FilePreviewType, FileUploadMIMEType, FileUploadModel, Filter, FilterExtractionService, FilterField, FilterRepository, FilterType, FinishPolicy, FinishPolicyService, FinishTaskService, GenericSnackBarComponent, GroupGuardService, GroupNavigationComponentResolverService, GroupNavigationConstants, HeaderColumn, HeaderColumnType, HeaderMode, HeaderSearchService, HeaderType, HttpLoaderFactory, I18nField, I18nFieldValidation, ImpersonationService, ImpersonationUserListService, ImpersonationUserResourceService, ImpersonationUserSelectService, InRange, InRangeDate, IncrementingCounter, IsNull, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MaterialAppearance, MaterialModule, MergeOperator, MergedFilter, MockAuthenticationMethodService, MockAuthenticationService, MockEndpoint, MockSignUpService, MockUserPreferenceService, MockUserResourceService, MoreThan, MoreThanDate, MoreThanDateTime, MultichoiceField, NAE_ADMIN_IMPERSONATE_COMPONENT, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_AUTOSWITCH_TAB_TOKEN, NAE_BASE_FILTER, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILES_UPLOAD_COMPONENT, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_NAVIGATION_ITEM_TASK_DATA, NAE_NET_ALL_VERSIONS, NAE_NET_VERSION_VISIBLE, NAE_NEW_CASE_COMPONENT, NAE_NEW_CASE_CONFIGURATION, NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, NAE_OPEN_EXISTING_TAB, NAE_OPTION_SELECTOR_COMPONENT, NAE_PREFERRED_TASK_ENDPOINT, NAE_ROUTING_CONFIGURATION_PATH, NAE_SAVE_FILTER_COMPONENT, NAE_SEARCH_CATEGORIES, NAE_SEARCH_COMPONENT_CONFIGURATION, NAE_SIDE_MENU_CONTROL, NAE_SNACKBAR_HORIZONTAL_POSITION, NAE_SNACKBAR_VERTICAL_POSITION, NAE_TAB_DATA, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, NAE_TASK_VIEW_CONFIGURATION, NAE_TREE_CASE_VIEW_CONFIGURATION, NAE_USER_ASSIGN_COMPONENT, NAE_USER_IMPERSONATE_COMPONENT, NAE_VIEW_ID, NAE_VIEW_ID_SEGMENT, NAE_WORKFLOW_SERVICE_CONFIRM_DELETE, NAE_WORKFLOW_SERVICE_FILTER, Net, NetAttributeAutocompleteCategory, NextGroupService, NoConfigurationAutocompleteCategory, NoConfigurationCategory, NoConfigurationUserAutocompleteCategory, NotEquals, NotEqualsDate, NotEqualsDateTime, NullAuthenticationService, NullTaskOperations, NumberField, NumberFieldValidation, OpenedTab, Operator, OperatorResolverService, OperatorService, OperatorTemplatePart, OperatorTemplatePartType, Operators, OrganizationListService, OverflowService, PUBLISHERS, PageLoadRequestContext, PaginationParams, PaginationSort, PaperViewService, PermissionService, PermissionType, PetriNetResourceService, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, RedirectService, ResourceProvider, ResultWithAfterActions, RoleAssignmentLdapGroupService, RoleAssignmentService, RoleGuardService, RoutingBuilderService, SearchIndex, SearchIndexResolverService, SearchInputType, SearchMode, SearchService, SelectedCaseService, SessionService, SideMenuControl, SideMenuRef, SideMenuService, SideMenuSize, SignUpModule, SignUpService, SimpleFilter, SingleTaskContentService, SnackBarComponent, SnackBarHorizontalPosition, SnackBarModule, SnackBarService, SnackBarVerticalPosition, SpinnerOverlayService, Subgrid, SubjectTaskOperations, Substring, SuccessSnackBarComponent, TabLabelStream, TabView, TabbedVirtualScrollComponent, TaskAssignee, TaskConst, TaskContentService, TaskDataService, TaskElementType, TaskEndpoint, TaskEvent, TaskEventService, TaskHandlingService, TaskHeaderService, TaskMetaField, TaskNetAttributeAutocompleteCategory, TaskProcess, TaskRefField, TaskRequestStateService, TaskResourceService, TaskRole, TaskTask, TaskViewService, TemplateAppearance, TestCaseBaseFilterProvider, TestCaseViewAllowedNetsFactory, TestConfigurationService, TestMockDependenciesModule, TestNoAllowedNetsFactory, TestTaskBaseFilterProvider, TestTaskViewAllowedNetsFactory, TestViewService, TextAreaField, TextAreaHeight, TextField, TextFieldValidation, TranslateLibModule, TreeCaseViewService, TreePetriflowIdentifiers, TreeTaskContentService, UnlimitedTaskContentService, UriContentType, UriResourceService, UriService, User, UserAutocomplete, UserComparatorService, UserField, UserFilterConstants, UserFiltersService, UserImpersonationConstants, UserInviteService, UserListField, UserListService, UserPreferenceService, UserResourceService, UserService, UserTransformer, UserValue, ViewIdService, ViewService, WarningSnackBarComponent, WorkflowHeaderService, WorkflowMetaField, WorkflowViewService, WrappedBoolean, arrayToObservable, authenticationServiceFactory, clearTimeInformation, configureCategory, createMockCase, createMockCaseOutcome, createMockDataGroup, createMockDependencies, createMockField, createMockGetDataOutcome, createMockImmediateData, createMockNet, createMockPage, createMockPetriNetOutcome, createMockSetDataOutcome, createMockTask, createMockTaskOutcome, createSortParam, createTaskEventNotification, defaultCaseSearchCategoriesFactory, defaultTaskSearchCategoriesFactory, destroySubscription, extractFilterFieldFromData, extractFilterFromData, extractFilterFromFilterField, extractIconAndTitle, extractRoles, getField, getFieldFromDataGroups, getFieldIndex, getFieldIndexFromDataGroups, getImmediateData, getNetAndCreateCase, groupNavigationViewIdSegmentFactory, hasContent, loadAllPages, mockUserAutocompleteValue, navigationItemTaskAllowedNetsServiceFactory, navigationItemTaskCategoryFactory, navigationItemTaskFilterFactory, ofVoid, processMessageResponse, publicBaseFilterFactory, publicFactoryResolver, refreshTree, tabbedAllowedNetsServiceFactory, tabbedTaskViewConfigurationFactory, toMoment };
|
|
32051
32428
|
//# sourceMappingURL=netgrif-components-core.mjs.map
|