graphdb-workbench 3.3.2-RC1 → 3.3.2-TR1
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/dist/13231.9b625e487e6385faa36f.bundle.js +2 -0
- package/dist/13231.9b625e487e6385faa36f.bundle.js.map +1 -0
- package/dist/21015.68c7c667ef64ad8e8e0d.bundle.js +2 -0
- package/dist/21015.68c7c667ef64ad8e8e0d.bundle.js.map +1 -0
- package/dist/{38644.b26373c67b397f88f3b4.bundle.js → 38644.37a8cd71112da94401d9.bundle.js} +2 -2
- package/dist/{38644.b26373c67b397f88f3b4.bundle.js.map → 38644.37a8cd71112da94401d9.bundle.js.map} +1 -1
- package/dist/{39518.e7e7353947905592bfea.bundle.js → 39518.2871b32c37b20075dba3.bundle.js} +2 -2
- package/dist/{39518.e7e7353947905592bfea.bundle.js.map → 39518.2871b32c37b20075dba3.bundle.js.map} +1 -1
- package/dist/39874.47a6948df3520a7bf37a.bundle.js +2 -0
- package/dist/39874.47a6948df3520a7bf37a.bundle.js.map +1 -0
- package/dist/60560.275a89ab1375e91de0aa.bundle.js +2 -0
- package/dist/60560.275a89ab1375e91de0aa.bundle.js.map +1 -0
- package/dist/{67888.367b7acbeaf58426d4f1.bundle.js → 67888.b75d9678cf65cd82f065.bundle.js} +2 -2
- package/dist/{67888.367b7acbeaf58426d4f1.bundle.js.map → 67888.b75d9678cf65cd82f065.bundle.js.map} +1 -1
- package/dist/7815.f09f8d6953d2c964e04d.bundle.js +2 -0
- package/dist/7815.f09f8d6953d2c964e04d.bundle.js.map +1 -0
- package/dist/78681.0cfa1e86d4dac1b7e7e8.bundle.js +2 -0
- package/dist/78681.0cfa1e86d4dac1b7e7e8.bundle.js.map +1 -0
- package/dist/{82926.4736d2184864699ddcdb.bundle.js → 82926.99231caacc379c66487a.bundle.js} +2 -2
- package/dist/{82926.4736d2184864699ddcdb.bundle.js.map → 82926.99231caacc379c66487a.bundle.js.map} +1 -1
- package/dist/94229.47dbdba202106c61dff1.bundle.js.map +1 -1
- package/dist/{99448.810956b817f8cf062851.bundle.js → 99448.272a4ba1ce8032167bea.bundle.js} +2 -2
- package/dist/{99448.810956b817f8cf062851.bundle.js.map → 99448.272a4ba1ce8032167bea.bundle.js.map} +1 -1
- package/dist/api/models/cookie/cookie-consent.d.ts +14 -0
- package/dist/api/models/cookie/index.d.ts +1 -1
- package/dist/api/models/security/authenticated-user.d.ts +0 -2
- package/dist/api/models/users/app-settings.d.ts +2 -2
- package/dist/api/ontotext-workbench-api.d.ts +1 -3
- package/dist/api/ontotext-workbench-api.js +1 -1
- package/dist/api/ontotext-workbench-api.js.map +1 -1
- package/dist/api/services/cookie/cookie.service.d.ts +7 -34
- package/dist/api/services/cookie/index.d.ts +0 -3
- package/dist/api/services/security/auth-strategies/tests/provider-response-mocks.d.ts +2 -2
- package/dist/api/services/security/security-context.service.d.ts +0 -6
- package/dist/api/services/users/response/user-response.d.ts +1 -1
- package/dist/api/services/utils/index.d.ts +0 -1
- package/dist/api/services/window/window.service.d.ts +0 -6
- package/dist/index.html +9 -9
- package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
- package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
- package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +2 -2
- package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
- package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
- package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
- package/dist/js/angular/core/templates/search-resource-input.html +1 -1
- package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
- package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
- package/dist/js/angular/graphql/templates/graphql-playground.html +2 -2
- package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
- package/dist/js/angular/security/templates/user.html +2 -5
- package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +3 -3
- package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
- package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
- package/dist/{legacyWorkbench.0128b90d53e9f14490a3.js → legacyWorkbench.88e1d4d209e51c6f9b65.js} +3 -3
- package/dist/{legacyWorkbench.0128b90d53e9f14490a3.js.map → legacyWorkbench.88e1d4d209e51c6f9b65.js.map} +1 -1
- package/dist/{main.44e04f2cf0ab7d48b25b.js → main.1be0fc11ab24b99f8800.js} +3 -3
- package/dist/main.1be0fc11ab24b99f8800.js.map +1 -0
- package/dist/pages/aclmanagement.html +1 -1
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +1 -1
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +8 -8
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/home.html +1 -1
- package/dist/pages/import.html +2 -2
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/jdbc.html +1 -1
- package/dist/pages/monitor/backup-and-restore.html +1 -1
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +1 -1
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +1 -1
- package/dist/pages/repository.html +1 -1
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-editor.html +1 -1
- package/dist/pages/sparql-template-create.html +1 -1
- package/dist/pages/sparql-templates.html +1 -1
- package/dist/pages/ux-test1.html +2 -2
- package/dist/pages/webapi.html +2 -2
- package/dist/res/swagger5/index.html +11 -11
- package/dist/shared-components/cjs/loader.cjs.js +1 -1
- package/dist/shared-components/cjs/onto-cookie-consent_2.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-dialog_2.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-footer_5.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/shared-components.cjs.js +1 -1
- package/dist/shared-components/collection/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.js +1 -1
- package/dist/shared-components/collection/components/dialogs/onto-dialog.js +1 -1
- package/dist/shared-components/collection/components/onto-cookie-consent/onto-cookie-consent.css +1 -1
- package/dist/shared-components/collection/components/onto-cookie-consent/onto-cookie-consent.js +1 -1
- package/dist/shared-components/collection/components/onto-footer/onto-footer.js +1 -1
- package/dist/shared-components/collection/models/dialog/onto-dialog.js +1 -0
- package/dist/shared-components/esm/loader.js +1 -1
- package/dist/shared-components/esm/onto-cookie-consent_2.entry.js +1 -1
- package/dist/shared-components/esm/onto-dialog_2.entry.js +1 -1
- package/dist/shared-components/esm/onto-footer_5.entry.js +1 -1
- package/dist/shared-components/esm/onto-layout.entry.js +1 -1
- package/dist/shared-components/esm/shared-components.js +1 -1
- package/dist/shared-components/shared-components/p-2075209c.entry.js +1 -0
- package/dist/shared-components/shared-components/p-30e4880f.entry.js +1 -0
- package/dist/shared-components/shared-components/p-413b3789.entry.js +1 -0
- package/dist/shared-components/shared-components/p-67199a46.entry.js +1 -0
- package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
- package/dist/shared-components/types/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.d.ts +7 -31
- package/dist/shared-components/types/components/onto-cookie-consent/onto-cookie-consent.d.ts +2 -2
- package/dist/shared-components/types/components/onto-footer/onto-footer.d.ts +2 -9
- package/dist/shared-components/types/components.d.ts +8 -17
- package/dist/shared-components/types/models/dialog/dialog-handler.d.ts +0 -4
- package/dist/shared-components/types/models/dialog/onto-dialog.d.ts +4 -0
- package/package.json +1 -1
- package/dist/13231.d7107e7549453805e13a.bundle.js +0 -2
- package/dist/13231.d7107e7549453805e13a.bundle.js.map +0 -1
- package/dist/21015.ea34b563b4149ad0975e.bundle.js +0 -2
- package/dist/21015.ea34b563b4149ad0975e.bundle.js.map +0 -1
- package/dist/39874.710e94f211579215f997.bundle.js +0 -2
- package/dist/39874.710e94f211579215f997.bundle.js.map +0 -1
- package/dist/60560.6ba1b091a34af6c00770.bundle.js +0 -2
- package/dist/60560.6ba1b091a34af6c00770.bundle.js.map +0 -1
- package/dist/7815.2aec5ebbcd434f5582ff.bundle.js +0 -2
- package/dist/7815.2aec5ebbcd434f5582ff.bundle.js.map +0 -1
- package/dist/78681.9e1d4e064e9e1fb5fb21.bundle.js +0 -2
- package/dist/78681.9e1d4e064e9e1fb5fb21.bundle.js.map +0 -1
- package/dist/api/models/cookie/cookie-options.d.ts +0 -17
- package/dist/api/models/tracking/cookie-consent.d.ts +0 -39
- package/dist/api/models/tracking/index.d.ts +0 -1
- package/dist/api/services/cookie/browser-cookie-store.d.ts +0 -19
- package/dist/api/services/cookie/cookie-builder.d.ts +0 -77
- package/dist/api/services/cookie/cookie-store.d.ts +0 -16
- package/dist/api/services/cookie/error/invalid-cookie-expiration.d.ts +0 -8
- package/dist/api/services/cookie/test/cookie-builder.spec.d.ts +0 -1
- package/dist/api/services/cookie/test/in-memory-cookie-store.d.ts +0 -11
- package/dist/api/services/tracking/google-analytics-cookie.service.d.ts +0 -50
- package/dist/api/services/tracking/index.d.ts +0 -4
- package/dist/api/services/tracking/installation-cookie.service.d.ts +0 -37
- package/dist/api/services/tracking/test/tracking-storage.service.spec.d.ts +0 -1
- package/dist/api/services/tracking/test/tracking.service.spec.d.ts +0 -1
- package/dist/api/services/tracking/tracking-storage.service.d.ts +0 -27
- package/dist/api/services/tracking/tracking.service.d.ts +0 -56
- package/dist/api/services/utils/date-util.d.ts +0 -11
- package/dist/main.44e04f2cf0ab7d48b25b.js.map +0 -1
- package/dist/shared-components/cjs/function-utils-WB47AWpR.js +0 -1
- package/dist/shared-components/esm/function-utils-D1ZpXQQS.js +0 -1
- package/dist/shared-components/shared-components/p-598d33d7.entry.js +0 -1
- package/dist/shared-components/shared-components/p-6d34b2cb.entry.js +0 -1
- package/dist/shared-components/shared-components/p-74888633.entry.js +0 -1
- package/dist/shared-components/shared-components/p-D1ZpXQQS.js +0 -1
- package/dist/shared-components/shared-components/p-b5d4081d.entry.js +0 -1
- /package/dist/{legacyWorkbench.0128b90d53e9f14490a3.js.LICENSE.txt → legacyWorkbench.88e1d4d209e51c6f9b65.js.LICENSE.txt} +0 -0
- /package/dist/{main.44e04f2cf0ab7d48b25b.js.LICENSE.txt → main.1be0fc11ab24b99f8800.js.LICENSE.txt} +0 -0
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* It contains typing information for all components that exist in this project.
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
+
import { DialogHandler } from "./models/dialog/dialog-handler";
|
|
8
9
|
import { DialogConfig } from "./components/dialogs/onto-dialog";
|
|
9
10
|
import { AuthenticatedUser, AuthenticatedUserResponse, Awaitable, Configuration, ExternalMenuModel, License, Notification, OperationStatusSummary, ProductInfo, Repository, RepositoryReference, RepositorySizeInfo, SearchButtonConfig, SecurityConfig, ToastMessage, TranslationParameter, User } from "../../api/dist/ontotext-workbench-api.d";
|
|
10
11
|
import { DropdownItem } from "./models/dropdown/dropdown-item";
|
|
@@ -12,6 +13,7 @@ import { OntoTooltipPlacement } from "./components/onto-tooltip/models/onto-tool
|
|
|
12
13
|
import { DropdownItemAlignment } from "./models/dropdown/dropdown-item-alignment";
|
|
13
14
|
import { NavbarToggledEvent } from "./components/onto-navbar/navbar-toggled-event";
|
|
14
15
|
import { ToggleEventPayload } from "./models/toggle-switch/toggle-event-payload";
|
|
16
|
+
export { DialogHandler } from "./models/dialog/dialog-handler";
|
|
15
17
|
export { DialogConfig } from "./components/dialogs/onto-dialog";
|
|
16
18
|
export { AuthenticatedUser, AuthenticatedUserResponse, Awaitable, Configuration, ExternalMenuModel, License, Notification, OperationStatusSummary, ProductInfo, Repository, RepositoryReference, RepositorySizeInfo, SearchButtonConfig, SecurityConfig, ToastMessage, TranslationParameter, User } from "../../api/dist/ontotext-workbench-api.d";
|
|
17
19
|
export { DropdownItem } from "./models/dropdown/dropdown-item";
|
|
@@ -28,6 +30,10 @@ export namespace Components {
|
|
|
28
30
|
interface OntoCookieConsent {
|
|
29
31
|
}
|
|
30
32
|
interface OntoCookiePolicyDialog {
|
|
33
|
+
/**
|
|
34
|
+
* The dialog handler for managing the dialog's behavior.
|
|
35
|
+
*/
|
|
36
|
+
"dialogHandler": DialogHandler;
|
|
31
37
|
}
|
|
32
38
|
interface OntoDialog {
|
|
33
39
|
/**
|
|
@@ -372,10 +378,6 @@ export interface OntoCookieConsentCustomEvent<T> extends CustomEvent<T> {
|
|
|
372
378
|
detail: T;
|
|
373
379
|
target: HTMLOntoCookieConsentElement;
|
|
374
380
|
}
|
|
375
|
-
export interface OntoCookiePolicyDialogCustomEvent<T> extends CustomEvent<T> {
|
|
376
|
-
detail: T;
|
|
377
|
-
target: HTMLOntoCookiePolicyDialogElement;
|
|
378
|
-
}
|
|
379
381
|
export interface OntoDropdownCustomEvent<T> extends CustomEvent<T> {
|
|
380
382
|
detail: T;
|
|
381
383
|
target: HTMLOntoDropdownElement;
|
|
@@ -411,18 +413,7 @@ declare global {
|
|
|
411
413
|
prototype: HTMLOntoCookieConsentElement;
|
|
412
414
|
new (): HTMLOntoCookieConsentElement;
|
|
413
415
|
};
|
|
414
|
-
interface HTMLOntoCookiePolicyDialogElementEventMap {
|
|
415
|
-
"closeDialog": void;
|
|
416
|
-
}
|
|
417
416
|
interface HTMLOntoCookiePolicyDialogElement extends Components.OntoCookiePolicyDialog, HTMLStencilElement {
|
|
418
|
-
addEventListener<K extends keyof HTMLOntoCookiePolicyDialogElementEventMap>(type: K, listener: (this: HTMLOntoCookiePolicyDialogElement, ev: OntoCookiePolicyDialogCustomEvent<HTMLOntoCookiePolicyDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
419
|
-
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
420
|
-
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
421
|
-
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
422
|
-
removeEventListener<K extends keyof HTMLOntoCookiePolicyDialogElementEventMap>(type: K, listener: (this: HTMLOntoCookiePolicyDialogElement, ev: OntoCookiePolicyDialogCustomEvent<HTMLOntoCookiePolicyDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
423
|
-
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
424
|
-
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
425
|
-
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
426
417
|
}
|
|
427
418
|
var HTMLOntoCookiePolicyDialogElement: {
|
|
428
419
|
prototype: HTMLOntoCookiePolicyDialogElement;
|
|
@@ -679,9 +670,9 @@ declare namespace LocalJSX {
|
|
|
679
670
|
}
|
|
680
671
|
interface OntoCookiePolicyDialog {
|
|
681
672
|
/**
|
|
682
|
-
*
|
|
673
|
+
* The dialog handler for managing the dialog's behavior.
|
|
683
674
|
*/
|
|
684
|
-
"
|
|
675
|
+
"dialogHandler": DialogHandler;
|
|
685
676
|
}
|
|
686
677
|
interface OntoDialog {
|
|
687
678
|
/**
|
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
export interface DialogHandler {
|
|
2
|
-
/**
|
|
3
|
-
* A method annotated with `@Listen` to handle the close event emitted by the dialog component.
|
|
4
|
-
* This method should be implemented by any component that uses a dialog and needs to react to its closure.
|
|
5
|
-
*/
|
|
6
2
|
onDialogClose: () => void;
|
|
7
3
|
}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_esm_id__=13231;export const __webpack_esm_ids__=[13231,33760];export const __webpack_esm_modules__={13231(e,t,s){s(2243);var r=s(33760),n=s(92900),o=s(57154);function i(e,t,s,i,a,c,u,d,l,p,g,h){angular.extend(this,u("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"}));const m=(0,o.service)(o.SecurityService),w=(0,o.service)(o.AuthenticationService),S=(0,o.service)(o.SecurityContextService),v=(0,o.service)(o.LicenseService),_=(0,o.service)(o.ApplicationSettingsStorageService),U=(0,o.service)(o.NavigationContextService),A=(0,o.service)(o.ThemeService);let k;e.mode="settings",e.showWorkbenchSettings=!0,e.workbenchSettings=_.getApplicationSettings(),e.selectedThemeMode=e.workbenchSettings.themeMode,e.saveButtonText=l.instant("common.save.btn"),e.pageTitle=l.instant("view.settings.title"),e.passwordPlaceholder=l.instant("security.new.password"),e.grantedAuthorities={[r.aj]:{},[r.DX]:{},[r.w0]:{}},e.loader=!1,e.noPassword=!1,e.showCookiePolicyLink=!1,e.showCookieConsentModal=!1,e.hasEditRestrictions=function(){return!0},e.isUser=function(){return e.userType===n.ut.USER},e.goBack=function(){const e=U.getPreviousRoute();(0,o.navigate)(e??"./")},e.updateCurrentUserData=function(){w.getCurrentUser().then(e=>S.updateAuthenticatedUser(e))},e.redirectAdmin=function(){e.currentUserData||c.redirectToLogin()},e.submit=function(){e.noPassword&&e.userType===n.ut.ADMIN?d.openSimpleModal({title:l.instant("security.save.admin.settings"),message:l.instant("security.admin.pass.unset"),warning:!0}).result.then(function(){e.updateUser()}):e.updateUser()},e.updateUserHttp=function(){e.loader=!0;const s=new o.User({username:e.user.username,password:e.noPassword?"":e.user.password||void 0,appSettings:e.user.appSettings});m.updateAuthenticatedUser(s).then(()=>{t.success(l.instant("security.user.updated",{name:e.user.username})),e.updateCurrentUserData(),A.setThemeMode(e.selectedThemeMode),_.setApplicationSettings(e.workbenchSettings),C()}).catch(e=>{const s=getError(e);t.error(s,l.instant("common.error"))}).finally(()=>{e.loader=!1})},e.updateUser=function(){if(!e.validateForm())return!1;e.updateUserHttp()},e.validateForm=function(){return e.validatePassword()},e.setThemeMode=function(){e.selectedThemeMode=e.workbenchSettings.themeMode},e.onDialogClose=()=>{e.showCookieConsentModal=!1},e.showCookiePolicy=t=>{t.preventDefault(),e.showCookieConsentModal=!0};const C=()=>{k=i(function(){e.loader=!1,s.history.back()},2e3)};e.$on("$destroy",function(){i.cancel(k)}),(()=>{const t=S.getAuthenticatedUser();e.currentUserData=t.toUser(),e.redirectAdmin(),e.user={username:e.currentUserData.username},e.user.password="",e.user.confirmpassword="",e.user.external=e.currentUserData.external,e.user.appSettings=e.currentUserData.appSettings,void 0===e.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA&&(e.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA=!0),e.userType=e.currentUserData.getUserType(),e.grantedAuthorities=e.currentUserData.authorities.toUIModel(),e.customRoles=e.currentUserData.authorities.getCustomRoles()})(),e.setThemeMode(),v.updateLicenseStatus().then(()=>{e.showCookiePolicyLink=h.isTrackingAllowed()})}angular.module("graphdb.framework.security.controllers.user-settings",["graphdb.framework.core.services.security-service"]).controller("UserSettingsController",i),i.$inject=["$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","ModalService","$translate","$q","$uibModal","TrackingService"]},33760(e,t,s){s.d(t,{B1:()=>u,DX:()=>i,_5:()=>c,aj:()=>n,n5:()=>r,w0:()=>a,xF:()=>o});const r="SYSTEM",n="READ_REPO",o="READ_REPO_",i="WRITE_REPO",a="GRAPHQL",c="WRITE_REPO_",u="GRAPHQL_"}};
|
|
2
|
-
//# sourceMappingURL=13231.d7107e7549453805e13a.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"13231.d7107e7549453805e13a.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/security/controllers/user-settings.controller.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/security/services/constants.js"],"sourcesContent":["import 'angular/core/services/security.service';\nimport {GRAPHQL, READ_REPO, WRITE_REPO} from '../services/constants';\nimport {UserType} from 'angular/utils/user-utils';\nimport {\n navigate,\n ThemeService,\n ApplicationSettingsStorageService,\n NavigationContextService,\n SecurityService,\n AuthenticationService,\n SecurityContextService,\n LicenseService,\n service,\n User,\n} from '@ontotext/workbench-api';\n\nangular\n .module('graphdb.framework.security.controllers.user-settings', [\n 'graphdb.framework.core.services.security-service',\n ])\n .controller('UserSettingsController', UserSettingsController);\n\nUserSettingsController.$inject = [\n '$scope',\n 'toastr',\n '$window',\n '$timeout',\n '$jwtAuth',\n '$rootScope',\n '$controller',\n 'ModalService',\n '$translate',\n '$q',\n '$uibModal',\n 'TrackingService',\n];\n\nfunction UserSettingsController($scope, toastr, $window, $timeout, $jwtAuth, $rootScope, $controller, ModalService, $translate, $q, $uibModal, TrackingService) {\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n // =========================\n // Private variables\n // =========================\n const securityService = service(SecurityService);\n const authenticationService = service(AuthenticationService);\n const securityContextService = service(SecurityContextService);\n const licenseService = service(LicenseService);\n\n const applicationSettingsStorageService = service(ApplicationSettingsStorageService);\n const navigationContextService = service(NavigationContextService);\n const themeService = service(ThemeService);\n\n /**\n * A timer task that will redirect back to the previous page after the user has been updated.\n * @type {Promise}\n */\n let waitBeforeRedirectBack;\n\n // =========================\n // Public variables\n // =========================\n\n $scope.mode = 'settings';\n $scope.showWorkbenchSettings = true;\n /**\n * @type {ApplicationSettings}\n */\n $scope.workbenchSettings = applicationSettingsStorageService.getApplicationSettings();\n $scope.selectedThemeMode = $scope.workbenchSettings.themeMode;\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.pageTitle = $translate.instant('view.settings.title');\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {},\n [GRAPHQL]: {},\n };\n $scope.loader = false;\n /**\n * Allows to reset the password when updating the user.\n * @type {boolean}\n */\n $scope.noPassword = false;\n /**\n * If the button that opens the cookie policy modal should be visible or not.\n * @type {boolean}\n */\n $scope.showCookiePolicyLink = false;\n /**\n * Flag that controls the visibility of the cookie policy modal.\n * @type {boolean}\n */\n $scope.showCookieConsentModal = false;\n\n // =========================\n // Public functions\n // =========================\n\n $scope.hasEditRestrictions = function() {\n return true;\n };\n\n $scope.isUser = function() {\n return $scope.userType === UserType.USER;\n };\n\n $scope.goBack = function() {\n const previousRoute = navigationContextService.getPreviousRoute();\n navigate(previousRoute ?? './');\n };\n\n $scope.updateCurrentUserData = function() {\n authenticationService.getCurrentUser()\n .then((authenticatedUser) => securityContextService.updateAuthenticatedUser(authenticatedUser));\n };\n\n $scope.redirectAdmin = function() {\n if (!$scope.currentUserData) {\n $rootScope.redirectToLogin();\n }\n };\n\n $scope.submit = function() {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true,\n }).result.then(function() {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function() {\n $scope.loader = true;\n const user = new User({\n username: $scope.user.username,\n password: $scope.noPassword ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings,\n });\n securityService.updateAuthenticatedUser(user)\n .then(() => {\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n $scope.updateCurrentUserData();\n themeService.setThemeMode($scope.selectedThemeMode);\n applicationSettingsStorageService.setApplicationSettings($scope.workbenchSettings);\n goBackToPreviousView();\n }).catch((data) => {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => {\n $scope.loader = false;\n });\n };\n\n $scope.updateUser = function() {\n if (!$scope.validateForm()) {\n return false;\n }\n $scope.updateUserHttp();\n };\n\n $scope.validateForm = function() {\n return $scope.validatePassword();\n };\n\n $scope.setThemeMode = function() {\n $scope.selectedThemeMode = $scope.workbenchSettings.themeMode;\n };\n\n /**\n * Handler for the cookie policy modal close event, sets the flag to hide the modal.\n */\n $scope.onDialogClose = () => {\n $scope.showCookieConsentModal = false;\n };\n\n /**\n * Handler for the cookie policy link click event, sets the flag to show the modal.\n * @param $event\n */\n $scope.showCookiePolicy = ($event) => {\n // The button that triggers this handler is inside a form which has a submit property,\n // and we need to prevent that because it leads to a redirect to the home page.\n $event.preventDefault();\n $scope.showCookieConsentModal = true;\n };\n\n // =========================\n // Private functions\n // =========================\n\n const showCookiePolicyLink = () => {\n licenseService.updateLicenseStatus().then(() => {\n $scope.showCookiePolicyLink = TrackingService.isTrackingAllowed();\n });\n };\n\n const goBackToPreviousView = () => {\n waitBeforeRedirectBack = $timeout(function() {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n };\n\n const initUserData = function() {\n // Copy needed so that Cancel would work correctly, need to call updateCurrentUserData on OK\n $scope.user = {username: $scope.currentUserData.username};\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.user.external = $scope.currentUserData.external;\n $scope.user.appSettings = $scope.currentUserData.appSettings;\n // For backward compatibility\n if ($scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] === undefined) {\n $scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] = true;\n }\n $scope.userType = $scope.currentUserData.getUserType();\n $scope.grantedAuthorities = $scope.currentUserData.authorities.toUIModel();\n $scope.customRoles = $scope.currentUserData.authorities.getCustomRoles();\n };\n\n const processUser = () => {\n const principal = securityContextService.getAuthenticatedUser();\n $scope.currentUserData = principal.toUser();\n $scope.redirectAdmin();\n initUserData();\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n $scope.$on('$destroy', function() {\n $timeout.cancel(waitBeforeRedirectBack);\n });\n\n // =========================\n // Initialization\n // =========================\n\n const initView = () => {\n processUser();\n $scope.setThemeMode();\n showCookiePolicyLink();\n };\n\n initView();\n}\n","export const SYSTEM_REPO = 'SYSTEM';\nexport const READ_REPO = 'READ_REPO';\nexport const READ_REPO_PREFIX = 'READ_REPO_';\nexport const WRITE_REPO = 'WRITE_REPO';\nexport const GRAPHQL = 'GRAPHQL';\nexport const WRITE_REPO_PREFIX = 'WRITE_REPO_';\nexport const GRAPHQL_PREFIX = 'GRAPHQL_';\nexport const GRAPHQL_SUFFIX = 'GRAPHQL';\nexport const SUFFIX_DELIMITER = ':';\nexport const GRAPHQL_SUFFIX_WITH_DELIMITER = SUFFIX_DELIMITER + GRAPHQL_SUFFIX;\nexport const CUSTOM_PREFIX = 'CUSTOM_'\n"],"names":["UserSettingsController","$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","ModalService","$translate","$q","$uibModal","TrackingService","angular","extend","this","passwordPlaceholder","securityService","service","SecurityService","authenticationService","AuthenticationService","securityContextService","SecurityContextService","licenseService","LicenseService","applicationSettingsStorageService","ApplicationSettingsStorageService","navigationContextService","NavigationContextService","themeService","ThemeService","waitBeforeRedirectBack","mode","showWorkbenchSettings","workbenchSettings","getApplicationSettings","selectedThemeMode","themeMode","saveButtonText","instant","pageTitle","grantedAuthorities","READ_REPO","WRITE_REPO","GRAPHQL","loader","noPassword","showCookiePolicyLink","showCookieConsentModal","hasEditRestrictions","isUser","userType","UserType","USER","goBack","previousRoute","getPreviousRoute","navigate","updateCurrentUserData","getCurrentUser","then","authenticatedUser","updateAuthenticatedUser","redirectAdmin","currentUserData","redirectToLogin","submit","ADMIN","openSimpleModal","title","message","warning","result","updateUser","updateUserHttp","user","User","username","password","undefined","appSettings","success","name","setThemeMode","setApplicationSettings","goBackToPreviousView","catch","data","msg","getError","error","finally","validateForm","validatePassword","onDialogClose","showCookiePolicy","$event","preventDefault","history","back","$on","cancel","processUser","principal","getAuthenticatedUser","toUser","confirmpassword","external","getUserType","authorities","toUIModel","customRoles","getCustomRoles","updateLicenseStatus","isTrackingAllowed","module","controller","$inject","SYSTEM_REPO","READ_REPO_PREFIX","WRITE_REPO_PREFIX","GRAPHQL_PREFIX"],"ignoreList":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_esm_id__=21015;export const __webpack_esm_ids__=[21015];export const __webpack_esm_modules__={13231(e,t,n){n(2243);var r=n(33760),i=n(92900),a=n(57154);function o(e,t,n,o,s,u,c,l,g,d,p,f){angular.extend(this,c("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"}));const m=(0,a.service)(a.SecurityService),h=(0,a.service)(a.AuthenticationService),v=(0,a.service)(a.SecurityContextService),T=(0,a.service)(a.LicenseService),y=(0,a.service)(a.ApplicationSettingsStorageService),$=(0,a.service)(a.NavigationContextService),w=(0,a.service)(a.ThemeService);let S;e.mode="settings",e.showWorkbenchSettings=!0,e.workbenchSettings=y.getApplicationSettings(),e.selectedThemeMode=e.workbenchSettings.themeMode,e.saveButtonText=g.instant("common.save.btn"),e.pageTitle=g.instant("view.settings.title"),e.passwordPlaceholder=g.instant("security.new.password"),e.grantedAuthorities={[r.aj]:{},[r.DX]:{},[r.w0]:{}},e.loader=!1,e.noPassword=!1,e.showCookiePolicyLink=!1,e.showCookieConsentModal=!1,e.hasEditRestrictions=function(){return!0},e.isUser=function(){return e.userType===i.ut.USER},e.goBack=function(){const e=$.getPreviousRoute();(0,a.navigate)(e??"./")},e.updateCurrentUserData=function(){h.getCurrentUser().then(e=>v.updateAuthenticatedUser(e))},e.redirectAdmin=function(){e.currentUserData||u.redirectToLogin()},e.submit=function(){e.noPassword&&e.userType===i.ut.ADMIN?l.openSimpleModal({title:g.instant("security.save.admin.settings"),message:g.instant("security.admin.pass.unset"),warning:!0}).result.then(function(){e.updateUser()}):e.updateUser()},e.updateUserHttp=function(){e.loader=!0;const n=new a.User({username:e.user.username,password:e.noPassword?"":e.user.password||void 0,appSettings:e.user.appSettings});m.updateAuthenticatedUser(n).then(()=>{t.success(g.instant("security.user.updated",{name:e.user.username})),e.updateCurrentUserData(),w.setThemeMode(e.selectedThemeMode),y.setApplicationSettings(e.workbenchSettings),x()}).catch(e=>{const n=getError(e);t.error(n,g.instant("common.error"))}).finally(()=>{e.loader=!1})},e.updateUser=function(){if(!e.validateForm())return!1;e.updateUserHttp()},e.validateForm=function(){return e.validatePassword()},e.setThemeMode=function(){e.selectedThemeMode=e.workbenchSettings.themeMode},e.onDialogClose=()=>{e.showCookieConsentModal=!1},e.showCookiePolicy=t=>{t.preventDefault(),e.showCookieConsentModal=!0};const x=()=>{S=o(function(){e.loader=!1,n.history.back()},2e3)};e.$on("$destroy",function(){o.cancel(S)}),(()=>{const t=v.getAuthenticatedUser();e.currentUserData=t.toUser(),e.redirectAdmin(),e.user={username:e.currentUserData.username},e.user.password="",e.user.confirmpassword="",e.user.external=e.currentUserData.external,e.user.appSettings=e.currentUserData.appSettings,void 0===e.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA&&(e.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA=!0),e.userType=e.currentUserData.getUserType(),e.grantedAuthorities=e.currentUserData.authorities.toUIModel(),e.customRoles=e.currentUserData.authorities.getCustomRoles()})(),e.setThemeMode(),T.updateLicenseStatus().then(()=>{e.showCookiePolicyLink=f.isTrackingAllowed()})}angular.module("graphdb.framework.security.controllers.user-settings",["graphdb.framework.core.services.security-service"]).controller("UserSettingsController",o),o.$inject=["$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","ModalService","$translate","$q","$uibModal","TrackingService"]},21015(e,t,n){n(82493),n(5687),n(94229),n(13231),n(98599),n(44645),angular.module("graphdb.framework.security",["toastr","ui.bootstrap","ngRoute","graphdb.framework.security.controllers","graphdb.framework.security.controllers.user-settings","graphdb.framework.core.interceptors.unauthorized","graphdb.framework.core.interceptors.authentication","graphdb.framework.core.services.jwtauth","graphdb.framework.security.directives"])},44645(){var e,t,n;e=9007199254740991,t=["text","email","url"],(n=angular.module("ngTagsInput",[])).directive("tagsInput",["$timeout","$document","$window","$q","tagsInputConfig","tiUtil",function(n,r,i,a,o,s){function u(e,t,n,r){var i,o,u,c,l={};return i=function(t){return s.safeToString(t[e.displayProperty])},o=function(t,n){t[e.displayProperty]=n},u=function(t){var r=i(t),o=r&&r.length>=e.minLength&&r.length<=e.maxLength&&e.allowedTagsPattern.test(r)&&!s.findInObjectArray(l.items,t,e.keyProperty||e.displayProperty);return a.when(o&&n({$tag:t})).then(s.promisifyValue)},c=function(e){return a.when(r({$tag:e})).then(s.promisifyValue)},l.items=[],l.addText=function(e){var t={};return o(t,e),l.add(t)},l.add=function(n){var r=i(n);return e.replaceSpacesWithDashes&&(r=s.replaceSpacesWithDashes(r)),o(n,r),u(n).then(function(){l.items.push(n),t.trigger("tag-added",{$tag:n})}).catch(function(){r&&t.trigger("invalid-tag",{$tag:n})})},l.remove=function(e){var n=l.items[e];return c(n).then(function(){return l.items.splice(e,1),l.clearSelection(),t.trigger("tag-removed",{$tag:n}),n})},l.select=function(e){0>e?e=l.items.length-1:e>=l.items.length&&(e=0),l.index=e,l.selected=l.items[e]},l.selectPrior=function(){l.select(--l.index)},l.selectNext=function(){l.select(++l.index)},l.removeSelected=function(){return l.remove(l.index)},l.clearSelection=function(){l.selected=null,l.index=-1},l.getItems=function(){return e.useStrings?l.items.map(i):l.items},l.clearSelection(),l}function c(e){return-1!==t.indexOf(e)}return{restrict:"E",require:"ngModel",scope:{tags:"=ngModel",text:"=?",templateScope:"=?",tagClass:"&",onTagAdding:"&",onTagAdded:"&",onInvalidTag:"&",onTagRemoving:"&",onTagRemoved:"&",onTagClicked:"&"},replace:!1,transclude:!0,templateUrl:"ngTagsInput/tags-input.html",controller:["$scope","$attrs","$element",function(t,n,r){t.events=s.simplePubSub(),o.load("tagsInput",t,n,{template:[String,"ngTagsInput/tag-item.html"],type:[String,"text",c],placeholder:[String,"Add a tag"],tabindex:[Number,null],removeTagSymbol:[String,String.fromCharCode(215)],replaceSpacesWithDashes:[Boolean,!0],minLength:[Number,3],maxLength:[Number,e],addOnEnter:[Boolean,!0],addOnSpace:[Boolean,!1],addOnComma:[Boolean,!0],addOnBlur:[Boolean,!0],addOnPaste:[Boolean,!1],pasteSplitPattern:[RegExp,/,/],allowedTagsPattern:[RegExp,/.+/],enableEditingLastTag:[Boolean,!1],minTags:[Number,0],maxTags:[Number,e],displayProperty:[String,"text"],keyProperty:[String,""],allowLeftoverText:[Boolean,!1],addFromAutocompleteOnly:[Boolean,!1],spellcheck:[Boolean,!0],useStrings:[Boolean,!1]}),t.tagList=new u(t.options,t.events,s.handleUndefinedResult(t.onTagAdding,!0),s.handleUndefinedResult(t.onTagRemoving,!0)),this.registerAutocomplete=function(){return r.find("input"),{addTag:function(e){return t.tagList.add(e)},getTags:function(){return t.tagList.items},getCurrentTagText:function(){return t.newTag.text()},getOptions:function(){return t.options},getTemplateScope:function(){return t.templateScope},on:function(e,n){return t.events.on(e,n,!0),this}}},this.registerTagItem=function(){return{getOptions:function(){return t.options},removeTag:function(e){t.disabled||t.tagList.remove(e)}}}}],link:function(e,t,a,o){var u,c,l=[13,188,32,8,46,37,39],g=e.tagList,d=e.events,p=e.options,f=t.find("input"),m=["minTags","maxTags","allowLeftoverText"];u=function(){o.$setValidity("maxTags",g.items.length<=p.maxTags),o.$setValidity("minTags",g.items.length>=p.minTags),o.$setValidity("leftoverText",!(!e.hasFocus&&!p.allowLeftoverText&&e.newTag.text()))},c=function(){n(function(){f[0].focus()})},o.$isEmpty=function(e){return!e||!e.length},e.newTag={text:function(t){return angular.isDefined(t)?(e.text=t,void d.trigger("input-change",t)):e.text||""},invalid:null},e.track=function(e){return e[p.keyProperty||p.displayProperty]},e.getTagClass=function(t,n){var r=t===g.selected;return[e.tagClass({$tag:t,$index:n,$selected:r}),{selected:r}]},e.$watch("tags",function(t){if(t){if(g.items=s.makeObjectArray(t,p.displayProperty),p.useStrings)return;e.tags=g.items}else g.items=[]}),e.$watch("tags.length",function(){u(),o.$validate()}),a.$observe("disabled",function(t){e.disabled=t}),e.eventHandlers={input:{keydown:function(e){d.trigger("input-keydown",e)},focus:function(){e.hasFocus||(e.hasFocus=!0,d.trigger("input-focus"))},blur:function(){n(function(){var n=r.prop("activeElement"),i=n===f[0],a=t[0].contains(n);(i||!a)&&(e.hasFocus=!1,d.trigger("input-blur"))})},paste:function(e){e.getTextData=function(){var t=e.clipboardData||e.originalEvent&&e.originalEvent.clipboardData;return t?t.getData("text/plain"):i.clipboardData.getData("Text")},d.trigger("input-paste",e)}},host:{click:function(){e.disabled||c()}},tag:{click:function(e){d.trigger("tag-clicked",{$tag:e})}}},d.on("tag-added",e.onTagAdded).on("invalid-tag",e.onInvalidTag).on("tag-removed",e.onTagRemoved).on("tag-clicked",e.onTagClicked).on("tag-added",function(){e.newTag.text("")}).on("tag-added tag-removed",function(){e.tags=g.getItems(),o.$setDirty(),c()}).on("invalid-tag",function(){e.newTag.invalid=!0}).on("option-change",function(e){-1!==m.indexOf(e.name)&&u()}).on("input-change",function(){g.clearSelection(),e.newTag.invalid=null}).on("input-focus",function(){t.triggerHandler("focus"),o.$setValidity("leftoverText",!0)}).on("input-blur",function(){p.addOnBlur&&!p.addFromAutocompleteOnly&&g.addText(e.newTag.text()),t.triggerHandler("blur"),u()}).on("input-keydown",function(t){var n,r,i,a,o=t.keyCode,u={};s.isModifierOn(t)||-1===l.indexOf(o)||(u[13]=p.addOnEnter,u[188]=p.addOnComma,u[32]=p.addOnSpace,n=!p.addFromAutocompleteOnly&&u[o],r=(8===o||46===o)&&g.selected,a=8===o&&0===e.newTag.text().length&&p.enableEditingLastTag,i=(8===o||37===o||39===o)&&0===e.newTag.text().length&&!p.enableEditingLastTag,n?g.addText(e.newTag.text()):a?(g.selectPrior(),g.removeSelected().then(function(t){t&&e.newTag.text(t[p.displayProperty])})):r?g.removeSelected():i&&(37===o||8===o?g.selectPrior():39===o&&g.selectNext()),(n||i||r||a)&&t.preventDefault())}).on("input-paste",function(e){if(p.addOnPaste){var t=e.getTextData().split(p.pasteSplitPattern);t.length>1&&(t.forEach(function(e){g.addText(e)}),e.preventDefault())}})}}}]),n.directive("tiTagItem",["tiUtil",function(e){return{restrict:"E",require:"^tagsInput",template:'<ng-include src="$$template"></ng-include>',scope:{$scope:"=scope",data:"="},link:function(t,n,r,i){var a=i.registerTagItem(),o=a.getOptions();t.$$template=o.template,t.$$removeTagSymbol=o.removeTagSymbol,t.$getDisplayText=function(){return e.safeToString(t.data[o.displayProperty])},t.$removeTag=function(){a.removeTag(t.$index)},t.$watch("$parent.$index",function(e){t.$index=e})}}}]),n.directive("autoComplete",["$document","$timeout","$sce","$q","tagsInputConfig","tiUtil",function(e,t,n,r,i,a){function o(e,t,n){var i,o,s,u={};return s=function(){return t.tagsInput.keyProperty||t.tagsInput.displayProperty},i=function(e,n){return e.filter(function(e){return!a.findInObjectArray(n,e,s(),function(e,n){return t.tagsInput.replaceSpacesWithDashes&&(e=a.replaceSpacesWithDashes(e),n=a.replaceSpacesWithDashes(n)),a.defaultComparer(e,n)})})},u.reset=function(){o=null,u.items=[],u.visible=!1,u.index=-1,u.selected=null,u.query=null},u.show=function(){t.selectFirstMatch?u.select(0):u.selected=null,u.visible=!0},u.load=a.debounce(function(n,c){u.query=n;var l=r.when(e({$query:n}));o=l,l.then(function(e){l===o&&(e=a.makeObjectArray(e.data||e,s()),e=i(e,c),u.items=e.slice(0,t.maxResultsToShow),u.items.length>0?u.show():u.reset())})},t.debounceDelay),u.selectNext=function(){u.select(++u.index)},u.selectPrior=function(){u.select(--u.index)},u.select=function(e){0>e?e=u.items.length-1:e>=u.items.length&&(e=0),u.index=e,u.selected=u.items[e],n.trigger("suggestion-selected",e)},u.reset(),u}return{restrict:"E",require:"^tagsInput",scope:{source:"&",matchClass:"&"},templateUrl:"ngTagsInput/auto-complete.html",controller:["$scope","$element","$attrs",function(e,t,n){e.events=a.simplePubSub(),i.load("autoComplete",e,n,{template:[String,"ngTagsInput/auto-complete-match.html"],debounceDelay:[Number,100],minLength:[Number,3],highlightMatchedText:[Boolean,!0],maxResultsToShow:[Number,10],loadOnDownArrow:[Boolean,!1],loadOnEmpty:[Boolean,!1],loadOnFocus:[Boolean,!1],selectFirstMatch:[Boolean,!0],displayProperty:[String,""]}),e.suggestionList=new o(e.source,e.options,e.events),this.registerAutocompleteMatch=function(){return{getOptions:function(){return e.options},getQuery:function(){return e.suggestionList.query}}}}],link:function(e,t,n,r){var i,o=[13,9,27,38,40],s=e.suggestionList,u=r.registerAutocomplete(),c=e.options,l=e.events;c.tagsInput=u.getOptions(),i=function(e){return e&&e.length>=c.minLength||!e&&c.loadOnEmpty},e.templateScope=u.getTemplateScope(),e.addSuggestionByIndex=function(t){s.select(t),e.addSuggestion()},e.addSuggestion=function(){var e=!1;return s.selected&&(u.addTag(angular.copy(s.selected)),s.reset(),e=!0),e},e.track=function(e){return e[c.tagsInput.keyProperty||c.tagsInput.displayProperty]},e.getSuggestionClass=function(t,n){var r=t===s.selected;return[e.matchClass({$match:t,$index:n,$selected:r}),{selected:r}]},u.on("tag-added tag-removed invalid-tag input-blur",function(){s.reset()}).on("input-change",function(e){i(e)?s.load(e,u.getTags()):s.reset()}).on("input-focus",function(){var e=u.getCurrentTagText();c.loadOnFocus&&i(e)&&s.load(e,u.getTags())}).on("input-keydown",function(t){var n=t.keyCode,r=!1;if(!a.isModifierOn(t)&&-1!==o.indexOf(n))return s.visible?40===n?(s.selectNext(),r=!0):38===n?(s.selectPrior(),r=!0):27===n?(s.reset(),r=!0):(13===n||9===n)&&(r=e.addSuggestion()):40===n&&e.options.loadOnDownArrow&&(s.load(u.getCurrentTagText(),u.getTags()),r=!0),r?(t.preventDefault(),t.stopImmediatePropagation(),!1):void 0}),l.on("suggestion-selected",function(e){!function(e,t){var n=e.find("li").eq(t),r=n.parent(),i=n.prop("offsetTop"),a=n.prop("offsetHeight"),o=r.prop("clientHeight"),s=r.prop("scrollTop");s>i?r.prop("scrollTop",i):i+a>o+s&&r.prop("scrollTop",i+a-o)}(t,e)})}}}]),n.directive("tiAutocompleteMatch",["$sce","tiUtil",function(e,t){return{restrict:"E",require:"^autoComplete",template:'<ng-include src="$$template"></ng-include>',scope:{$scope:"=scope",data:"="},link:function(n,r,i,a){var o=a.registerAutocompleteMatch(),s=o.getOptions();n.$$template=s.template,n.$index=n.$parent.$index,n.$highlight=function(n){return s.highlightMatchedText&&(n=t.safeHighlight(n,o.getQuery())),e.trustAsHtml(n)},n.$getDisplayText=function(){return t.safeToString(n.data[s.displayProperty||s.tagsInput.displayProperty])}}}}]),n.directive("tiTranscludeAppend",function(){return function(e,t,n,r,i){i(function(e){t.append(e)})}}),n.directive("tiAutosize",["tagsInputConfig",function(e){return{restrict:"A",require:"ngModel",link:function(t,n,r,i){var a,o,s=e.getTextAutosizeThreshold();(a=angular.element('<span class="input"></span>')).css("display","none").css("visibility","hidden").css("width","auto").css("white-space","pre"),n.parent().append(a),o=function(e){var t,i=e;return angular.isString(i)&&0===i.length&&(i=r.placeholder),i&&(a.text(i),a.css("display",""),t=a.prop("offsetWidth"),a.css("display","none")),n.css("width",t?t+s+"px":""),e},i.$parsers.unshift(o),i.$formatters.unshift(o),r.$observe("placeholder",function(e){i.$modelValue||o(e)})}}}]),n.directive("tiBindAttrs",function(){return function(e,t,n){e.$watch(n.tiBindAttrs,function(e){angular.forEach(e,function(e,t){n.$set(t,e)})},!0)}}),n.provider("tagsInputConfig",function(){var e={},t={},n=3;this.setDefaults=function(t,n){return e[t]=n,this},this.setActiveInterpolation=function(e,n){return t[e]=n,this},this.setTextAutosizeThreshold=function(e){return n=e,this},this.$get=["$interpolate",function(r){var i={};return i[String]=function(e){return e},i[Number]=function(e){return parseInt(e,10)},i[Boolean]=function(e){return"true"===e.toLowerCase()},i[RegExp]=function(e){return new RegExp(e)},{load:function(n,a,o,s){var u=function(){return!0};a.options={},angular.forEach(s,function(s,c){var l,g,d,p,f,m;l=s[0],g=s[1],d=s[2]||u,p=i[l],f=function(){var t=e[n]&&e[n][c];return angular.isDefined(t)?t:g},m=function(e){a.options[c]=e&&d(e)?p(e):f()},t[n]&&t[n][c]?o.$observe(c,function(e){m(e),a.events.trigger("option-change",{name:c,newValue:e})}):m(o[c]&&r(o[c])(a.$parent))})},getTextAutosizeThreshold:function(){return n}}}]}),n.factory("tiUtil",["$timeout","$q",function(e,t){var n={debounce:function(t,n){var r;return function(){var i=arguments;e.cancel(r),r=e(function(){t.apply(null,i)},n)}},makeObjectArray:function(e,t){if(!angular.isArray(e)||0===e.length||angular.isObject(e[0]))return e;var n=[];return e.forEach(function(e){var r={};r[t]=e,n.push(r)}),n},findInObjectArray:function(e,t,r,i){var a=null;return i=i||n.defaultComparer,e.some(function(e){return i(e[r],t[r])?(a=e,!0):void 0}),a},defaultComparer:function(e,t){return n.safeToString(e).toLowerCase()===n.safeToString(t).toLowerCase()},safeHighlight:function(e,t){if(e=n.encodeHTML(e),!(t=n.encodeHTML(t)))return e;var r=new RegExp("&[^;]+;|"+function(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),"gi");return e.replace(r,function(e){return e.toLowerCase()===t.toLowerCase()?"<em>"+e+"</em>":e})},safeToString:function(e){return angular.isUndefined(e)||null==e?"":e.toString().trim()},encodeHTML:function(e){return n.safeToString(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},handleUndefinedResult:function(e,t){return function(){var n=e.apply(null,arguments);return angular.isUndefined(n)?t:n}},replaceSpacesWithDashes:function(e){return n.safeToString(e).replace(/\s/g,"-")},isModifierOn:function(e){return e.shiftKey||e.ctrlKey||e.altKey||e.metaKey},promisifyValue:function(e){return e=!!angular.isUndefined(e)||e,t[e?"when":"reject"]()},simplePubSub:function(){var e={};return{on:function(t,n,r){return t.split(" ").forEach(function(t){e[t]||(e[t]=[]),(r?[].unshift:[].push).call(e[t],n)}),this},trigger:function(t,r){return(e[t]||[]).every(function(e){return n.handleUndefinedResult(e,!0)(r)}),this}}}};return n}]),n.run(["$templateCache",function(e){e.put("ngTagsInput/tags-input.html",'<div class="host" tabindex="-1" ng-click="eventHandlers.host.click()" ti-transclude-append><div class="tags" ng-class="{focused: hasFocus}"><ul class="tag-list"><li class="tag-item" ng-repeat="tag in tagList.items track by track(tag)" ng-class="getTagClass(tag, $index)" ng-click="eventHandlers.tag.click(tag)"><ti-tag-item scope="templateScope" data="::tag"></ti-tag-item></li></ul><input class="input" autocomplete="off" ng-model="newTag.text" ng-model-options="{getterSetter: true}" ng-keydown="eventHandlers.input.keydown($event)" ng-focus="eventHandlers.input.focus($event)" ng-blur="eventHandlers.input.blur($event)" ng-paste="eventHandlers.input.paste($event)" ng-trim="false" ng-class="{\'invalid-tag\': newTag.invalid}" ng-disabled="disabled" ti-bind-attrs="{type: options.type, placeholder: options.placeholder, tabindex: options.tabindex, spellcheck: options.spellcheck}" ti-autosize></div></div>'),e.put("ngTagsInput/tag-item.html",'<span ng-bind="$getDisplayText()"></span> <a class="remove-button" ng-click="$removeTag()" ng-bind="::$$removeTagSymbol"></a>'),e.put("ngTagsInput/auto-complete.html",'<div class="autocomplete" ng-if="suggestionList.visible"><ul class="suggestion-list"><li class="suggestion-item" ng-repeat="item in suggestionList.items track by track(item)" ng-class="getSuggestionClass(item, $index)" ng-click="addSuggestionByIndex($index)" ng-mouseenter="suggestionList.select($index)"><ti-autocomplete-match scope="templateScope" data="::item"></ti-autocomplete-match></li></ul></div>'),e.put("ngTagsInput/auto-complete-match.html",'<span ng-bind-html="$highlight($getDisplayText())"></span>')}])}};
|
|
2
|
-
//# sourceMappingURL=21015.ea34b563b4149ad0975e.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"21015.ea34b563b4149ad0975e.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/security/controllers/user-settings.controller.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/security/app.js","webpack://root-config/./packages/legacy-workbench/node_modules/ng-tags-input/build/ng-tags-input.min.js"],"sourcesContent":["import 'angular/core/services/security.service';\nimport {GRAPHQL, READ_REPO, WRITE_REPO} from '../services/constants';\nimport {UserType} from 'angular/utils/user-utils';\nimport {\n navigate,\n ThemeService,\n ApplicationSettingsStorageService,\n NavigationContextService,\n SecurityService,\n AuthenticationService,\n SecurityContextService,\n LicenseService,\n service,\n User,\n} from '@ontotext/workbench-api';\n\nangular\n .module('graphdb.framework.security.controllers.user-settings', [\n 'graphdb.framework.core.services.security-service',\n ])\n .controller('UserSettingsController', UserSettingsController);\n\nUserSettingsController.$inject = [\n '$scope',\n 'toastr',\n '$window',\n '$timeout',\n '$jwtAuth',\n '$rootScope',\n '$controller',\n 'ModalService',\n '$translate',\n '$q',\n '$uibModal',\n 'TrackingService',\n];\n\nfunction UserSettingsController($scope, toastr, $window, $timeout, $jwtAuth, $rootScope, $controller, ModalService, $translate, $q, $uibModal, TrackingService) {\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n // =========================\n // Private variables\n // =========================\n const securityService = service(SecurityService);\n const authenticationService = service(AuthenticationService);\n const securityContextService = service(SecurityContextService);\n const licenseService = service(LicenseService);\n\n const applicationSettingsStorageService = service(ApplicationSettingsStorageService);\n const navigationContextService = service(NavigationContextService);\n const themeService = service(ThemeService);\n\n /**\n * A timer task that will redirect back to the previous page after the user has been updated.\n * @type {Promise}\n */\n let waitBeforeRedirectBack;\n\n // =========================\n // Public variables\n // =========================\n\n $scope.mode = 'settings';\n $scope.showWorkbenchSettings = true;\n /**\n * @type {ApplicationSettings}\n */\n $scope.workbenchSettings = applicationSettingsStorageService.getApplicationSettings();\n $scope.selectedThemeMode = $scope.workbenchSettings.themeMode;\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.pageTitle = $translate.instant('view.settings.title');\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {},\n [GRAPHQL]: {},\n };\n $scope.loader = false;\n /**\n * Allows to reset the password when updating the user.\n * @type {boolean}\n */\n $scope.noPassword = false;\n /**\n * If the button that opens the cookie policy modal should be visible or not.\n * @type {boolean}\n */\n $scope.showCookiePolicyLink = false;\n /**\n * Flag that controls the visibility of the cookie policy modal.\n * @type {boolean}\n */\n $scope.showCookieConsentModal = false;\n\n // =========================\n // Public functions\n // =========================\n\n $scope.hasEditRestrictions = function() {\n return true;\n };\n\n $scope.isUser = function() {\n return $scope.userType === UserType.USER;\n };\n\n $scope.goBack = function() {\n const previousRoute = navigationContextService.getPreviousRoute();\n navigate(previousRoute ?? './');\n };\n\n $scope.updateCurrentUserData = function() {\n authenticationService.getCurrentUser()\n .then((authenticatedUser) => securityContextService.updateAuthenticatedUser(authenticatedUser));\n };\n\n $scope.redirectAdmin = function() {\n if (!$scope.currentUserData) {\n $rootScope.redirectToLogin();\n }\n };\n\n $scope.submit = function() {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true,\n }).result.then(function() {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function() {\n $scope.loader = true;\n const user = new User({\n username: $scope.user.username,\n password: $scope.noPassword ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings,\n });\n securityService.updateAuthenticatedUser(user)\n .then(() => {\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n $scope.updateCurrentUserData();\n themeService.setThemeMode($scope.selectedThemeMode);\n applicationSettingsStorageService.setApplicationSettings($scope.workbenchSettings);\n goBackToPreviousView();\n }).catch((data) => {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => {\n $scope.loader = false;\n });\n };\n\n $scope.updateUser = function() {\n if (!$scope.validateForm()) {\n return false;\n }\n $scope.updateUserHttp();\n };\n\n $scope.validateForm = function() {\n return $scope.validatePassword();\n };\n\n $scope.setThemeMode = function() {\n $scope.selectedThemeMode = $scope.workbenchSettings.themeMode;\n };\n\n /**\n * Handler for the cookie policy modal close event, sets the flag to hide the modal.\n */\n $scope.onDialogClose = () => {\n $scope.showCookieConsentModal = false;\n };\n\n /**\n * Handler for the cookie policy link click event, sets the flag to show the modal.\n * @param $event\n */\n $scope.showCookiePolicy = ($event) => {\n // The button that triggers this handler is inside a form which has a submit property,\n // and we need to prevent that because it leads to a redirect to the home page.\n $event.preventDefault();\n $scope.showCookieConsentModal = true;\n };\n\n // =========================\n // Private functions\n // =========================\n\n const showCookiePolicyLink = () => {\n licenseService.updateLicenseStatus().then(() => {\n $scope.showCookiePolicyLink = TrackingService.isTrackingAllowed();\n });\n };\n\n const goBackToPreviousView = () => {\n waitBeforeRedirectBack = $timeout(function() {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n };\n\n const initUserData = function() {\n // Copy needed so that Cancel would work correctly, need to call updateCurrentUserData on OK\n $scope.user = {username: $scope.currentUserData.username};\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.user.external = $scope.currentUserData.external;\n $scope.user.appSettings = $scope.currentUserData.appSettings;\n // For backward compatibility\n if ($scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] === undefined) {\n $scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] = true;\n }\n $scope.userType = $scope.currentUserData.getUserType();\n $scope.grantedAuthorities = $scope.currentUserData.authorities.toUIModel();\n $scope.customRoles = $scope.currentUserData.authorities.getCustomRoles();\n };\n\n const processUser = () => {\n const principal = securityContextService.getAuthenticatedUser();\n $scope.currentUserData = principal.toUser();\n $scope.redirectAdmin();\n initUserData();\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n $scope.$on('$destroy', function() {\n $timeout.cancel(waitBeforeRedirectBack);\n });\n\n // =========================\n // Initialization\n // =========================\n\n const initView = () => {\n processUser();\n $scope.setThemeMode();\n showCookiePolicyLink();\n };\n\n initView();\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/security/controllers';\nimport 'angular/security/controllers/user-settings.controller';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-tags-input/build/ng-tags-input.min';\n\nconst modules = [\n 'toastr',\n 'ui.bootstrap',\n 'ngRoute',\n 'graphdb.framework.security.controllers',\n 'graphdb.framework.security.controllers.user-settings',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.interceptors.authentication',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.security.directives'\n];\n\nangular.module('graphdb.framework.security', modules);\n","/*! ngTagsInput v3.2.0 License: MIT */!function(){\"use strict\";var a={backspace:8,tab:9,enter:13,escape:27,space:32,up:38,down:40,left:37,right:39,\"delete\":46,comma:188},b=9007199254740991,c=[\"text\",\"email\",\"url\"],d=angular.module(\"ngTagsInput\",[]);d.directive(\"tagsInput\",[\"$timeout\",\"$document\",\"$window\",\"$q\",\"tagsInputConfig\",\"tiUtil\",function(d,e,f,g,h,i){function j(a,b,c,d){var e,f,h,j,k={};return e=function(b){return i.safeToString(b[a.displayProperty])},f=function(b,c){b[a.displayProperty]=c},h=function(b){var d=e(b),f=d&&d.length>=a.minLength&&d.length<=a.maxLength&&a.allowedTagsPattern.test(d)&&!i.findInObjectArray(k.items,b,a.keyProperty||a.displayProperty);return g.when(f&&c({$tag:b})).then(i.promisifyValue)},j=function(a){return g.when(d({$tag:a})).then(i.promisifyValue)},k.items=[],k.addText=function(a){var b={};return f(b,a),k.add(b)},k.add=function(c){var d=e(c);return a.replaceSpacesWithDashes&&(d=i.replaceSpacesWithDashes(d)),f(c,d),h(c).then(function(){k.items.push(c),b.trigger(\"tag-added\",{$tag:c})})[\"catch\"](function(){d&&b.trigger(\"invalid-tag\",{$tag:c})})},k.remove=function(a){var c=k.items[a];return j(c).then(function(){return k.items.splice(a,1),k.clearSelection(),b.trigger(\"tag-removed\",{$tag:c}),c})},k.select=function(a){0>a?a=k.items.length-1:a>=k.items.length&&(a=0),k.index=a,k.selected=k.items[a]},k.selectPrior=function(){k.select(--k.index)},k.selectNext=function(){k.select(++k.index)},k.removeSelected=function(){return k.remove(k.index)},k.clearSelection=function(){k.selected=null,k.index=-1},k.getItems=function(){return a.useStrings?k.items.map(e):k.items},k.clearSelection(),k}function k(a){return-1!==c.indexOf(a)}return{restrict:\"E\",require:\"ngModel\",scope:{tags:\"=ngModel\",text:\"=?\",templateScope:\"=?\",tagClass:\"&\",onTagAdding:\"&\",onTagAdded:\"&\",onInvalidTag:\"&\",onTagRemoving:\"&\",onTagRemoved:\"&\",onTagClicked:\"&\"},replace:!1,transclude:!0,templateUrl:\"ngTagsInput/tags-input.html\",controller:[\"$scope\",\"$attrs\",\"$element\",function(a,c,d){a.events=i.simplePubSub(),h.load(\"tagsInput\",a,c,{template:[String,\"ngTagsInput/tag-item.html\"],type:[String,\"text\",k],placeholder:[String,\"Add a tag\"],tabindex:[Number,null],removeTagSymbol:[String,String.fromCharCode(215)],replaceSpacesWithDashes:[Boolean,!0],minLength:[Number,3],maxLength:[Number,b],addOnEnter:[Boolean,!0],addOnSpace:[Boolean,!1],addOnComma:[Boolean,!0],addOnBlur:[Boolean,!0],addOnPaste:[Boolean,!1],pasteSplitPattern:[RegExp,/,/],allowedTagsPattern:[RegExp,/.+/],enableEditingLastTag:[Boolean,!1],minTags:[Number,0],maxTags:[Number,b],displayProperty:[String,\"text\"],keyProperty:[String,\"\"],allowLeftoverText:[Boolean,!1],addFromAutocompleteOnly:[Boolean,!1],spellcheck:[Boolean,!0],useStrings:[Boolean,!1]}),a.tagList=new j(a.options,a.events,i.handleUndefinedResult(a.onTagAdding,!0),i.handleUndefinedResult(a.onTagRemoving,!0)),this.registerAutocomplete=function(){d.find(\"input\");return{addTag:function(b){return a.tagList.add(b)},getTags:function(){return a.tagList.items},getCurrentTagText:function(){return a.newTag.text()},getOptions:function(){return a.options},getTemplateScope:function(){return a.templateScope},on:function(b,c){return a.events.on(b,c,!0),this}}},this.registerTagItem=function(){return{getOptions:function(){return a.options},removeTag:function(b){a.disabled||a.tagList.remove(b)}}}}],link:function(b,c,g,h){var j,k,l=[a.enter,a.comma,a.space,a.backspace,a[\"delete\"],a.left,a.right],m=b.tagList,n=b.events,o=b.options,p=c.find(\"input\"),q=[\"minTags\",\"maxTags\",\"allowLeftoverText\"];j=function(){h.$setValidity(\"maxTags\",m.items.length<=o.maxTags),h.$setValidity(\"minTags\",m.items.length>=o.minTags),h.$setValidity(\"leftoverText\",b.hasFocus||o.allowLeftoverText?!0:!b.newTag.text())},k=function(){d(function(){p[0].focus()})},h.$isEmpty=function(a){return!a||!a.length},b.newTag={text:function(a){return angular.isDefined(a)?(b.text=a,void n.trigger(\"input-change\",a)):b.text||\"\"},invalid:null},b.track=function(a){return a[o.keyProperty||o.displayProperty]},b.getTagClass=function(a,c){var d=a===m.selected;return[b.tagClass({$tag:a,$index:c,$selected:d}),{selected:d}]},b.$watch(\"tags\",function(a){if(a){if(m.items=i.makeObjectArray(a,o.displayProperty),o.useStrings)return;b.tags=m.items}else m.items=[]}),b.$watch(\"tags.length\",function(){j(),h.$validate()}),g.$observe(\"disabled\",function(a){b.disabled=a}),b.eventHandlers={input:{keydown:function(a){n.trigger(\"input-keydown\",a)},focus:function(){b.hasFocus||(b.hasFocus=!0,n.trigger(\"input-focus\"))},blur:function(){d(function(){var a=e.prop(\"activeElement\"),d=a===p[0],f=c[0].contains(a);(d||!f)&&(b.hasFocus=!1,n.trigger(\"input-blur\"))})},paste:function(a){a.getTextData=function(){var b=a.clipboardData||a.originalEvent&&a.originalEvent.clipboardData;return b?b.getData(\"text/plain\"):f.clipboardData.getData(\"Text\")},n.trigger(\"input-paste\",a)}},host:{click:function(){b.disabled||k()}},tag:{click:function(a){n.trigger(\"tag-clicked\",{$tag:a})}}},n.on(\"tag-added\",b.onTagAdded).on(\"invalid-tag\",b.onInvalidTag).on(\"tag-removed\",b.onTagRemoved).on(\"tag-clicked\",b.onTagClicked).on(\"tag-added\",function(){b.newTag.text(\"\")}).on(\"tag-added tag-removed\",function(){b.tags=m.getItems(),h.$setDirty(),k()}).on(\"invalid-tag\",function(){b.newTag.invalid=!0}).on(\"option-change\",function(a){-1!==q.indexOf(a.name)&&j()}).on(\"input-change\",function(){m.clearSelection(),b.newTag.invalid=null}).on(\"input-focus\",function(){c.triggerHandler(\"focus\"),h.$setValidity(\"leftoverText\",!0)}).on(\"input-blur\",function(){o.addOnBlur&&!o.addFromAutocompleteOnly&&m.addText(b.newTag.text()),c.triggerHandler(\"blur\"),j()}).on(\"input-keydown\",function(c){var d,e,f,g,h=c.keyCode,j={};i.isModifierOn(c)||-1===l.indexOf(h)||(j[a.enter]=o.addOnEnter,j[a.comma]=o.addOnComma,j[a.space]=o.addOnSpace,d=!o.addFromAutocompleteOnly&&j[h],e=(h===a.backspace||h===a[\"delete\"])&&m.selected,g=h===a.backspace&&0===b.newTag.text().length&&o.enableEditingLastTag,f=(h===a.backspace||h===a.left||h===a.right)&&0===b.newTag.text().length&&!o.enableEditingLastTag,d?m.addText(b.newTag.text()):g?(m.selectPrior(),m.removeSelected().then(function(a){a&&b.newTag.text(a[o.displayProperty])})):e?m.removeSelected():f&&(h===a.left||h===a.backspace?m.selectPrior():h===a.right&&m.selectNext()),(d||f||e||g)&&c.preventDefault())}).on(\"input-paste\",function(a){if(o.addOnPaste){var b=a.getTextData(),c=b.split(o.pasteSplitPattern);c.length>1&&(c.forEach(function(a){m.addText(a)}),a.preventDefault())}})}}}]),d.directive(\"tiTagItem\",[\"tiUtil\",function(a){return{restrict:\"E\",require:\"^tagsInput\",template:'<ng-include src=\"$$template\"></ng-include>',scope:{$scope:\"=scope\",data:\"=\"},link:function(b,c,d,e){var f=e.registerTagItem(),g=f.getOptions();b.$$template=g.template,b.$$removeTagSymbol=g.removeTagSymbol,b.$getDisplayText=function(){return a.safeToString(b.data[g.displayProperty])},b.$removeTag=function(){f.removeTag(b.$index)},b.$watch(\"$parent.$index\",function(a){b.$index=a})}}}]),d.directive(\"autoComplete\",[\"$document\",\"$timeout\",\"$sce\",\"$q\",\"tagsInputConfig\",\"tiUtil\",function(b,c,d,e,f,g){function h(a,b,c){var d,f,h,i={};return h=function(){return b.tagsInput.keyProperty||b.tagsInput.displayProperty},d=function(a,c){return a.filter(function(a){return!g.findInObjectArray(c,a,h(),function(a,c){return b.tagsInput.replaceSpacesWithDashes&&(a=g.replaceSpacesWithDashes(a),c=g.replaceSpacesWithDashes(c)),g.defaultComparer(a,c)})})},i.reset=function(){f=null,i.items=[],i.visible=!1,i.index=-1,i.selected=null,i.query=null},i.show=function(){b.selectFirstMatch?i.select(0):i.selected=null,i.visible=!0},i.load=g.debounce(function(c,j){i.query=c;var k=e.when(a({$query:c}));f=k,k.then(function(a){k===f&&(a=g.makeObjectArray(a.data||a,h()),a=d(a,j),i.items=a.slice(0,b.maxResultsToShow),i.items.length>0?i.show():i.reset())})},b.debounceDelay),i.selectNext=function(){i.select(++i.index)},i.selectPrior=function(){i.select(--i.index)},i.select=function(a){0>a?a=i.items.length-1:a>=i.items.length&&(a=0),i.index=a,i.selected=i.items[a],c.trigger(\"suggestion-selected\",a)},i.reset(),i}function i(a,b){var c=a.find(\"li\").eq(b),d=c.parent(),e=c.prop(\"offsetTop\"),f=c.prop(\"offsetHeight\"),g=d.prop(\"clientHeight\"),h=d.prop(\"scrollTop\");h>e?d.prop(\"scrollTop\",e):e+f>g+h&&d.prop(\"scrollTop\",e+f-g)}return{restrict:\"E\",require:\"^tagsInput\",scope:{source:\"&\",matchClass:\"&\"},templateUrl:\"ngTagsInput/auto-complete.html\",controller:[\"$scope\",\"$element\",\"$attrs\",function(a,b,c){a.events=g.simplePubSub(),f.load(\"autoComplete\",a,c,{template:[String,\"ngTagsInput/auto-complete-match.html\"],debounceDelay:[Number,100],minLength:[Number,3],highlightMatchedText:[Boolean,!0],maxResultsToShow:[Number,10],loadOnDownArrow:[Boolean,!1],loadOnEmpty:[Boolean,!1],loadOnFocus:[Boolean,!1],selectFirstMatch:[Boolean,!0],displayProperty:[String,\"\"]}),a.suggestionList=new h(a.source,a.options,a.events),this.registerAutocompleteMatch=function(){return{getOptions:function(){return a.options},getQuery:function(){return a.suggestionList.query}}}}],link:function(b,c,d,e){var f,h=[a.enter,a.tab,a.escape,a.up,a.down],j=b.suggestionList,k=e.registerAutocomplete(),l=b.options,m=b.events;l.tagsInput=k.getOptions(),f=function(a){return a&&a.length>=l.minLength||!a&&l.loadOnEmpty},b.templateScope=k.getTemplateScope(),b.addSuggestionByIndex=function(a){j.select(a),b.addSuggestion()},b.addSuggestion=function(){var a=!1;return j.selected&&(k.addTag(angular.copy(j.selected)),j.reset(),a=!0),a},b.track=function(a){return a[l.tagsInput.keyProperty||l.tagsInput.displayProperty]},b.getSuggestionClass=function(a,c){var d=a===j.selected;return[b.matchClass({$match:a,$index:c,$selected:d}),{selected:d}]},k.on(\"tag-added tag-removed invalid-tag input-blur\",function(){j.reset()}).on(\"input-change\",function(a){f(a)?j.load(a,k.getTags()):j.reset()}).on(\"input-focus\",function(){var a=k.getCurrentTagText();l.loadOnFocus&&f(a)&&j.load(a,k.getTags())}).on(\"input-keydown\",function(c){var d=c.keyCode,e=!1;if(!g.isModifierOn(c)&&-1!==h.indexOf(d))return j.visible?d===a.down?(j.selectNext(),e=!0):d===a.up?(j.selectPrior(),e=!0):d===a.escape?(j.reset(),e=!0):(d===a.enter||d===a.tab)&&(e=b.addSuggestion()):d===a.down&&b.options.loadOnDownArrow&&(j.load(k.getCurrentTagText(),k.getTags()),e=!0),e?(c.preventDefault(),c.stopImmediatePropagation(),!1):void 0}),m.on(\"suggestion-selected\",function(a){i(c,a)})}}}]),d.directive(\"tiAutocompleteMatch\",[\"$sce\",\"tiUtil\",function(a,b){return{restrict:\"E\",require:\"^autoComplete\",template:'<ng-include src=\"$$template\"></ng-include>',scope:{$scope:\"=scope\",data:\"=\"},link:function(c,d,e,f){var g=f.registerAutocompleteMatch(),h=g.getOptions();c.$$template=h.template,c.$index=c.$parent.$index,c.$highlight=function(c){return h.highlightMatchedText&&(c=b.safeHighlight(c,g.getQuery())),a.trustAsHtml(c)},c.$getDisplayText=function(){return b.safeToString(c.data[h.displayProperty||h.tagsInput.displayProperty])}}}}]),d.directive(\"tiTranscludeAppend\",function(){return function(a,b,c,d,e){e(function(a){b.append(a)})}}),d.directive(\"tiAutosize\",[\"tagsInputConfig\",function(a){return{restrict:\"A\",require:\"ngModel\",link:function(b,c,d,e){var f,g,h=a.getTextAutosizeThreshold();f=angular.element('<span class=\"input\"></span>'),f.css(\"display\",\"none\").css(\"visibility\",\"hidden\").css(\"width\",\"auto\").css(\"white-space\",\"pre\"),c.parent().append(f),g=function(a){var b,e=a;return angular.isString(e)&&0===e.length&&(e=d.placeholder),e&&(f.text(e),f.css(\"display\",\"\"),b=f.prop(\"offsetWidth\"),f.css(\"display\",\"none\")),c.css(\"width\",b?b+h+\"px\":\"\"),a},e.$parsers.unshift(g),e.$formatters.unshift(g),d.$observe(\"placeholder\",function(a){e.$modelValue||g(a)})}}}]),d.directive(\"tiBindAttrs\",function(){return function(a,b,c){a.$watch(c.tiBindAttrs,function(a){angular.forEach(a,function(a,b){c.$set(b,a)})},!0)}}),d.provider(\"tagsInputConfig\",function(){var a={},b={},c=3;this.setDefaults=function(b,c){return a[b]=c,this},this.setActiveInterpolation=function(a,c){return b[a]=c,this},this.setTextAutosizeThreshold=function(a){return c=a,this},this.$get=[\"$interpolate\",function(d){var e={};return e[String]=function(a){return a},e[Number]=function(a){return parseInt(a,10)},e[Boolean]=function(a){return\"true\"===a.toLowerCase()},e[RegExp]=function(a){return new RegExp(a)},{load:function(c,f,g,h){var i=function(){return!0};f.options={},angular.forEach(h,function(h,j){var k,l,m,n,o,p;k=h[0],l=h[1],m=h[2]||i,n=e[k],o=function(){var b=a[c]&&a[c][j];return angular.isDefined(b)?b:l},p=function(a){f.options[j]=a&&m(a)?n(a):o()},b[c]&&b[c][j]?g.$observe(j,function(a){p(a),f.events.trigger(\"option-change\",{name:j,newValue:a})}):p(g[j]&&d(g[j])(f.$parent))})},getTextAutosizeThreshold:function(){return c}}}]}),d.factory(\"tiUtil\",[\"$timeout\",\"$q\",function(a,b){var c={};return c.debounce=function(b,c){var d;return function(){var e=arguments;a.cancel(d),d=a(function(){b.apply(null,e)},c)}},c.makeObjectArray=function(a,b){if(!angular.isArray(a)||0===a.length||angular.isObject(a[0]))return a;var c=[];return a.forEach(function(a){var d={};d[b]=a,c.push(d)}),c},c.findInObjectArray=function(a,b,d,e){var f=null;return e=e||c.defaultComparer,a.some(function(a){return e(a[d],b[d])?(f=a,!0):void 0}),f},c.defaultComparer=function(a,b){return c.safeToString(a).toLowerCase()===c.safeToString(b).toLowerCase()},c.safeHighlight=function(a,b){function d(a){return a.replace(/([.?*+^$[\\]\\\\(){}|-])/g,\"\\\\$1\")}if(a=c.encodeHTML(a),b=c.encodeHTML(b),!b)return a;var e=new RegExp(\"&[^;]+;|\"+d(b),\"gi\");return a.replace(e,function(a){return a.toLowerCase()===b.toLowerCase()?\"<em>\"+a+\"</em>\":a})},c.safeToString=function(a){return angular.isUndefined(a)||null==a?\"\":a.toString().trim()},c.encodeHTML=function(a){return c.safeToString(a).replace(/&/g,\"&\").replace(/</g,\"<\").replace(/>/g,\">\")},c.handleUndefinedResult=function(a,b){return function(){var c=a.apply(null,arguments);return angular.isUndefined(c)?b:c}},c.replaceSpacesWithDashes=function(a){return c.safeToString(a).replace(/\\s/g,\"-\")},c.isModifierOn=function(a){return a.shiftKey||a.ctrlKey||a.altKey||a.metaKey},c.promisifyValue=function(a){return a=angular.isUndefined(a)?!0:a,b[a?\"when\":\"reject\"]()},c.simplePubSub=function(){var a={};return{on:function(b,c,d){return b.split(\" \").forEach(function(b){a[b]||(a[b]=[]);var e=d?[].unshift:[].push;e.call(a[b],c)}),this},trigger:function(b,d){var e=a[b]||[];return e.every(function(a){return c.handleUndefinedResult(a,!0)(d)}),this}}},c}]),d.run([\"$templateCache\",function(a){a.put(\"ngTagsInput/tags-input.html\",'<div class=\"host\" tabindex=\"-1\" ng-click=\"eventHandlers.host.click()\" ti-transclude-append><div class=\"tags\" ng-class=\"{focused: hasFocus}\"><ul class=\"tag-list\"><li class=\"tag-item\" ng-repeat=\"tag in tagList.items track by track(tag)\" ng-class=\"getTagClass(tag, $index)\" ng-click=\"eventHandlers.tag.click(tag)\"><ti-tag-item scope=\"templateScope\" data=\"::tag\"></ti-tag-item></li></ul><input class=\"input\" autocomplete=\"off\" ng-model=\"newTag.text\" ng-model-options=\"{getterSetter: true}\" ng-keydown=\"eventHandlers.input.keydown($event)\" ng-focus=\"eventHandlers.input.focus($event)\" ng-blur=\"eventHandlers.input.blur($event)\" ng-paste=\"eventHandlers.input.paste($event)\" ng-trim=\"false\" ng-class=\"{\\'invalid-tag\\': newTag.invalid}\" ng-disabled=\"disabled\" ti-bind-attrs=\"{type: options.type, placeholder: options.placeholder, tabindex: options.tabindex, spellcheck: options.spellcheck}\" ti-autosize></div></div>'),a.put(\"ngTagsInput/tag-item.html\",'<span ng-bind=\"$getDisplayText()\"></span> <a class=\"remove-button\" ng-click=\"$removeTag()\" ng-bind=\"::$$removeTagSymbol\"></a>'),a.put(\"ngTagsInput/auto-complete.html\",'<div class=\"autocomplete\" ng-if=\"suggestionList.visible\"><ul class=\"suggestion-list\"><li class=\"suggestion-item\" ng-repeat=\"item in suggestionList.items track by track(item)\" ng-class=\"getSuggestionClass(item, $index)\" ng-click=\"addSuggestionByIndex($index)\" ng-mouseenter=\"suggestionList.select($index)\"><ti-autocomplete-match scope=\"templateScope\" data=\"::item\"></ti-autocomplete-match></li></ul></div>'),a.put(\"ngTagsInput/auto-complete-match.html\",'<span ng-bind-html=\"$highlight($getDisplayText())\"></span>')}])}();"],"names":["UserSettingsController","$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","ModalService","$translate","$q","$uibModal","TrackingService","angular","extend","this","passwordPlaceholder","securityService","service","SecurityService","authenticationService","AuthenticationService","securityContextService","SecurityContextService","licenseService","LicenseService","applicationSettingsStorageService","ApplicationSettingsStorageService","navigationContextService","NavigationContextService","themeService","ThemeService","waitBeforeRedirectBack","mode","showWorkbenchSettings","workbenchSettings","getApplicationSettings","selectedThemeMode","themeMode","saveButtonText","instant","pageTitle","grantedAuthorities","READ_REPO","WRITE_REPO","GRAPHQL","loader","noPassword","showCookiePolicyLink","showCookieConsentModal","hasEditRestrictions","isUser","userType","UserType","USER","goBack","previousRoute","getPreviousRoute","navigate","updateCurrentUserData","getCurrentUser","then","authenticatedUser","updateAuthenticatedUser","redirectAdmin","currentUserData","redirectToLogin","submit","ADMIN","openSimpleModal","title","message","warning","result","updateUser","updateUserHttp","user","User","username","password","undefined","appSettings","success","name","setThemeMode","setApplicationSettings","goBackToPreviousView","catch","data","msg","getError","error","finally","validateForm","validatePassword","onDialogClose","showCookiePolicy","$event","preventDefault","history","back","$on","cancel","processUser","principal","getAuthenticatedUser","toUser","confirmpassword","external","getUserType","authorities","toUIModel","customRoles","getCustomRoles","updateLicenseStatus","isTrackingAllowed","module","controller","$inject","b","c","d","directive","e","f","g","h","i","j","a","k","safeToString","displayProperty","length","minLength","maxLength","allowedTagsPattern","test","findInObjectArray","items","keyProperty","when","$tag","promisifyValue","addText","add","replaceSpacesWithDashes","push","trigger","remove","splice","clearSelection","select","index","selected","selectPrior","selectNext","removeSelected","getItems","useStrings","map","indexOf","restrict","require","scope","tags","text","templateScope","tagClass","onTagAdding","onTagAdded","onInvalidTag","onTagRemoving","onTagRemoved","onTagClicked","replace","transclude","templateUrl","events","simplePubSub","load","template","String","type","placeholder","tabindex","Number","removeTagSymbol","fromCharCode","Boolean","addOnEnter","addOnSpace","addOnComma","addOnBlur","addOnPaste","pasteSplitPattern","RegExp","enableEditingLastTag","minTags","maxTags","allowLeftoverText","addFromAutocompleteOnly","spellcheck","tagList","options","handleUndefinedResult","registerAutocomplete","find","addTag","getTags","getCurrentTagText","newTag","getOptions","getTemplateScope","on","registerTagItem","removeTag","disabled","link","l","m","n","o","p","q","$setValidity","hasFocus","focus","$isEmpty","isDefined","invalid","track","getTagClass","$index","$selected","$watch","makeObjectArray","$validate","$observe","eventHandlers","input","keydown","blur","prop","contains","paste","getTextData","clipboardData","originalEvent","getData","host","click","tag","$setDirty","triggerHandler","keyCode","isModifierOn","split","forEach","$$template","$$removeTagSymbol","$getDisplayText","$removeTag","tagsInput","filter","defaultComparer","reset","visible","query","show","selectFirstMatch","debounce","$query","slice","maxResultsToShow","debounceDelay","source","matchClass","highlightMatchedText","loadOnDownArrow","loadOnEmpty","loadOnFocus","suggestionList","registerAutocompleteMatch","getQuery","addSuggestionByIndex","addSuggestion","copy","getSuggestionClass","$match","stopImmediatePropagation","eq","parent","$parent","$highlight","safeHighlight","trustAsHtml","append","getTextAutosizeThreshold","element","css","isString","$parsers","unshift","$formatters","$modelValue","tiBindAttrs","$set","provider","setDefaults","setActiveInterpolation","setTextAutosizeThreshold","$get","parseInt","toLowerCase","newValue","factory","arguments","apply","isArray","isObject","some","encodeHTML","isUndefined","toString","trim","shiftKey","ctrlKey","altKey","metaKey","call","every","run","put"],"ignoreList":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_esm_id__=39874;export const __webpack_esm_ids__=[39874];export const __webpack_esm_modules__={39874(e,t,i){i.r(t),i.d(t,{onto_layout:()=>o});var a=i(55508),s=i(63952),n=i(57154),r=i(79939);const o=class{constructor(e){(0,a.r)(this,e),this.authenticationService=(0,n.service)(n.AuthenticationService),this.authorizationService=(0,n.service)(n.AuthorizationService),this.navigationContextService=(0,n.service)(n.NavigationContextService),this.authStorageService=(0,n.service)(n.AuthenticationStorageService),this.runtimeConfigurationContextService=(0,n.service)(n.RuntimeConfigurationContextService),this.eventService=(0,n.service)(n.EventService),this.applicationLifecycleContextService=(0,n.service)(n.ApplicationLifecycleContextService),this.fullJwtKey=`${n.StorageKey.GLOBAL_NAMESPACE}.${this.authStorageService.NAMESPACE}.${this.authStorageService.jwtKey}`,this.fullAuthenticatedKey=`${n.StorageKey.GLOBAL_NAMESPACE}.${this.authStorageService.NAMESPACE}.${this.authStorageService.authenticatedKey}`,this.authEvents=[this.fullJwtKey,this.fullAuthenticatedKey],this.isLowResolution=!1,this.showHeader=this.isAuthenticatedFully(),this.showNavbar=!1,this.isEmbedded=!1,this.loading=!0,this.subscriptions=new n.SubscriptionList,this.isNavbarCollapsed=!1,this.handleStorageChange=e=>{(0,n.service)(n.LocalStorageSubscriptionHandlerService).handleStorageChange(e),this.handleAuthChange(e.key)},this.windowResizeObserver=(0,s.d)(()=>this.windowResizeHandler(),50),n.WindowService.getWindow().addEventListener("storage",this.handleStorageChange)}componentDidLoad(){this.windowResizeHandler()}connectedCallback(){this.subscribeToSecurityChanges(),this.updateVisibility(),this.subscribeToNavigationEnd(),this.subscribeToRuntimeConfigurationChanges(),this.subscribeToApplicationChange()}disconnectedCallback(){this.subscriptions.unsubscribeAll()}render(){return(0,a.h)(a.a,{key:"b8cbbca1f12bf6af844e18397d2a725d6ab4e1fc",class:{"wb-layout":!0,"is-embedded":this.isEmbedded,"hide-navbar":!this.showNavbar}},(0,a.h)("div",{key:"f2e3b7a238b82536bd7605196966bd758330c521",class:"default-slot-wrapper"},(0,a.h)("slot",{key:"5d391e2f612d9aead6c07b2ef3641b961eddc504",name:"default"})),!this.isEmbedded&&(0,a.h)("header",{key:"e43c5b68d590e12b2b3e95d4c414505f1fc82abb",class:"wb-header"},this.showHeader&&(0,a.h)("onto-header",{key:"21102b279bed2dd3ee857b399683d14c5f3eaf57"})),!this.isEmbedded&&this.showNavbar&&(0,a.h)("nav",{key:"67dcbf444a30ac933ba83f86ae9f8d08fe5f995f",class:"wb-navbar"},(0,a.h)("onto-navbar",{key:"a9816369cbbac4d5b58f607be61277d6074556bd",ref:this.assignNavbarRef(),"navbar-collapsed":this.isLowResolution})),(0,a.h)("div",{key:"f3ff0e1734eecc433dc20717e0b9f2871ea40dae",class:{"main-slot-wrapper":!0,loading:this.loading}},this.loading&&(0,a.h)("div",{key:"17d9a8024d280f70ad8684e5d114c38b184b529d",class:"loader-wrapper"},(0,a.h)("onto-loader",{key:"534a5d8f89b92051822d1d7750ca56894013c142",size:96,messageText:r.T.translate("common.loading")})),(0,a.h)("slot",{key:"bcd21d932551dc6f9b9365ccbbafae690f8b7245",name:"main"})),!this.isEmbedded&&(0,a.h)("footer",{key:"9fcd224439dbb7fd35bb4c277dc343eccab40087",class:"wb-footer"},(0,a.h)("onto-footer",{key:"39d5d1c8275c527ca16aa74f6f15dc3f0cc3686c"})),(0,a.h)("onto-tooltip",{key:"6a70e6d2d67e8a9aa6b8eda66b6768735c0f6dcd"}))}onNavbarToggled(e){this.isNavbarCollapsed=e.detail.payload,this.isNavbarCollapsed?this.hostElement.classList.add("expanded"):this.hostElement.classList.remove("expanded")}onResize(){this.windowResizeObserver()}windowResizeHandler(){this.isLowResolution=n.WindowService.getWindow().innerWidth<=768,this.isLowResolution||this.isNavbarCollapsed?this.hostElement.classList.add("expanded"):this.hostElement.classList.remove("expanded")}handleAuthChange(e){var t;e&&this.authEvents.includes(e)&&(this.authStorageService.isAuthenticated()?(0,n.navigate)(null!==(t=this.navigationContextService.getPreviousRoute())&&void 0!==t?t:"./"):(0,n.navigate)("login"),n.WindowService.getWindow().location.reload())}subscribeToSecurityChanges(){const e=(0,n.service)(n.SecurityContextService);this.subscriptions.add(e.onAuthenticatedUserChanged(e=>{this.authenticatedUser=e,this.updateVisibility()})),this.subscriptions.add(e.onSecurityConfigChanged(e=>{this.securityConfig=e,this.updateVisibility()})),this.subscriptions.add(this.eventService.subscribe(n.EventName.LOGIN,()=>{this.setNavbarItemVisibility(),this.updateVisibility()})),this.subscriptions.add(this.eventService.subscribe(n.EventName.LOGOUT,()=>{this.setNavbarItemVisibility(),this.updateVisibility(),(0,n.navigate)("login")}))}subscribeToRuntimeConfigurationChanges(){this.subscriptions.add(this.runtimeConfigurationContextService.onRuntimeConfigurationChanged(e=>{var t;this.isEmbedded=null!==(t=null==e?void 0:e.isEmbedded)&&void 0!==t&&t}))}updateVisibility(){this.authenticationService.isSecurityEnabled()?(this.showHeader=this.authenticationService.isAuthenticated()||this.authorizationService.hasFreeAccess(),this.showNavbar=this.authenticationService.isAuthenticated()||this.authorizationService.hasFreeAccess()):(this.showNavbar=!0,this.showHeader=!0)}isAuthenticatedFully(){return!this.authenticationService.isSecurityEnabled()||this.authenticationService.isAuthenticated()||this.authorizationService.hasFreeAccess()}shouldShowMenu(e){return this.isAuthenticatedFully()&&this.authorizationService.hasRole(e)}assignNavbarRef(){return e=>{this.navbarRef=e,this.navbarRef&&(this.navbarRef.menuItems=n.WindowService.getWindow().PluginRegistry.get("main.menu"),this.setNavbarItemVisibility())}}setNavbarItemVisibility(){var e,t,i;if(!(null===(e=this.navbarRef)||void 0===e?void 0:e.menuItems))return;const a=e=>{var t;e.shouldShow=this.shouldShowMenu(e.role),(null===(t=e.children)||void 0===t?void 0:t.length)&&e.children.forEach(a)};null===(i=null===(t=this.navbarRef)||void 0===t?void 0:t.menuItems)||void 0===i||i.forEach(e=>{e.items.forEach(a)}),this.navbarRef.menuItems=[...this.navbarRef.menuItems]}subscribeToNavigationEnd(){this.subscriptions.add(this.eventService.subscribe(n.EventName.NAVIGATION_END,e=>{this.navigationContextService.updatePreviousRoute(e.oldUrl)}))}subscribeToApplicationChange(){this.subscriptions.add(this.applicationLifecycleContextService.onApplicationStateBeforeChange(e=>{e&&(this.loading=!0)})),this.subscriptions.add(this.applicationLifecycleContextService.onApplicationStateChange(e=>{e&&(this.loading=!1)}))}get hostElement(){return(0,a.g)(this)}};o.style=':host{display:block;height:100%}.wb-layout{display:grid;grid-template:"header header" auto "nav main" 1fr "nav footer" auto/15rem minmax(200px, 1fr);min-height:100vh;margin:0;}.wb-layout.expanded{grid-template-columns:4.375rem 1fr}.wb-layout.is-embedded{grid-template-columns:1fr;grid-template-areas:"main";padding-top:1rem}.wb-layout.hide-navbar{grid-template:"header" auto "main" 1fr "footer" auto/1fr;}.wb-layout.hide-navbar.expanded{grid-template-columns:1fr}.wb-layout main .main-container{margin-left:0}.wb-layout .main-slot-wrapper .loader-wrapper{flex-grow:1;display:flex;align-items:center;justify-content:center}.wb-layout .main-slot-wrapper.loading{display:flex;flex-direction:column}.wb-layout .main-slot-wrapper.loading .page-content{visibility:hidden}.wb-layout .default-slot-wrapper{display:none}.wb-layout .wb-header{position:sticky;top:0;z-index:999}.wb-layout nav{grid-area:nav}.wb-layout header{grid-area:header}.wb-layout main{grid-area:main}.wb-layout footer{grid-area:footer}'},63952(e,t,i){function a(e,t=300){let i;return(...a)=>{clearTimeout(i),i=setTimeout(()=>e.apply(this,a),t)}}i.d(t,{d:()=>a})},79939(e,t,i){i.d(t,{L:()=>n,T:()=>o,s:()=>s});var a=i(57154);function s(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}class n{static get logger(){return a.Loggers.getLoggerInstance("SharedComponents")}}class r{constructor(){this.languageContextService=a.ServiceProvider.get(a.LanguageContextService),this.translationChangedObservers={},this.logger=n.logger,this.defaultBundle=this.languageContextService.getDefaultBundle(),this.subscribeToBundleChange()}onTranslate(e,t=[],i=()=>{}){this.translationChangedObservers[e]=this.translationChangedObservers[e]||[];const a={parameters:t,callback:i};return this.translationChangedObservers[e].push(a),i(this.translate(e,t)),()=>{const t=this.translationChangedObservers[e].indexOf(a);-1!==t&&this.translationChangedObservers[e].splice(t,1)}}translate(e,t){return this.translateInLocale(e,t)}translateInLocale(e,t){let i=this.translateFromBundle(this.currentBundle,e);return i||(i=this.translateFromBundle(this.defaultBundle,e)),i?(i=this.applyParameters(i,t),s(i)):(this.logger.warn(`Missing translation for key: [${e}]`),e)}translateFromBundle(e,t){if(!e)return;let i=e[t];return"string"!=typeof i&&(i=this.translateAsJsonObject(e,t)),i}translateAsJsonObject(e,t){let i=t.split(".");return this.getTranslation(e,i)}getTranslation(e,t){if(!t||!e)return;const i=e[t.splice(0,1)[0]];return 0===t.length?i:"string"!=typeof i?t.length>0?this.getTranslation(i,t):i:void 0}applyParameters(e,t){return t?t.reduce((e,t)=>r.replaceAll(e,t),e):e}static replaceAll(e,t){return t?e.split(`{{${t.key}}}`).join(t.value):e}notifyTranslationsChanged(){Object.keys(this.translationChangedObservers).forEach(e=>{(this.translationChangedObservers[e]||[]).forEach(t=>t.callback(this.translate(e,t.parameters)))})}subscribeToBundleChange(){this.languageChangeSubscription=this.languageContextService.onLanguageBundleChanged(e=>{e&&(this.currentBundle=e,this.notifyTranslationsChanged())})}destroy(){this.languageChangeSubscription&&this.languageChangeSubscription()}}const o=new r}};
|
|
2
|
-
//# sourceMappingURL=39874.710e94f211579215f997.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"39874.710e94f211579215f997.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-layout.entry.js","webpack://root-config/./packages/shared-components/dist/esm/function-utils-D1ZpXQQS.js","webpack://root-config/./packages/shared-components/dist/esm/translation.service-nljGIprK.js"],"sourcesContent":["import { r as registerInstance, h, a as Host, g as getElement } from './index-CGqARDX4.js';\nimport { d as debounce } from './function-utils-D1ZpXQQS.js';\nimport { service, AuthenticationService, AuthorizationService, NavigationContextService, AuthenticationStorageService, RuntimeConfigurationContextService, EventService, ApplicationLifecycleContextService, StorageKey, SubscriptionList, LocalStorageSubscriptionHandlerService, WindowService, navigate, SecurityContextService, EventName } from '@ontotext/workbench-api';\nimport { T as TranslationService } from './translation.service-nljGIprK.js';\n\nconst RESPONSIVE_BREAKPOINTS = {\n MD: 768};\n/**\n * The width of the window in pixels at which the navbar should collapse.\n */\nconst WINDOW_WIDTH_FOR_COLLAPSED_NAVBAR = RESPONSIVE_BREAKPOINTS.MD;\n\nconst ontoLayoutCss = () => `:host{display:block;height:100%}.wb-layout{display:grid;grid-template:\"header header\" auto \"nav main\" 1fr \"nav footer\" auto/15rem minmax(200px, 1fr);min-height:100vh;margin:0;}.wb-layout.expanded{grid-template-columns:4.375rem 1fr}.wb-layout.is-embedded{grid-template-columns:1fr;grid-template-areas:\"main\";padding-top:1rem}.wb-layout.hide-navbar{grid-template:\"header\" auto \"main\" 1fr \"footer\" auto/1fr;}.wb-layout.hide-navbar.expanded{grid-template-columns:1fr}.wb-layout main .main-container{margin-left:0}.wb-layout .main-slot-wrapper .loader-wrapper{flex-grow:1;display:flex;align-items:center;justify-content:center}.wb-layout .main-slot-wrapper.loading{display:flex;flex-direction:column}.wb-layout .main-slot-wrapper.loading .page-content{visibility:hidden}.wb-layout .default-slot-wrapper{display:none}.wb-layout .wb-header{position:sticky;top:0;z-index:999}.wb-layout nav{grid-area:nav}.wb-layout header{grid-area:header}.wb-layout main{grid-area:main}.wb-layout footer{grid-area:footer}`;\n\nconst OntoLayout = class {\n // ========================\n // Lifecycle methods\n // ========================\n constructor(hostRef) {\n registerInstance(this, hostRef);\n // ========================\n // Services\n // ========================\n this.authenticationService = service(AuthenticationService);\n this.authorizationService = service(AuthorizationService);\n this.navigationContextService = service(NavigationContextService);\n this.authStorageService = service(AuthenticationStorageService);\n this.runtimeConfigurationContextService = service(RuntimeConfigurationContextService);\n this.eventService = service(EventService);\n this.applicationLifecycleContextService = service(ApplicationLifecycleContextService);\n this.fullJwtKey = `${StorageKey.GLOBAL_NAMESPACE}.${this.authStorageService.NAMESPACE}.${this.authStorageService.jwtKey}`;\n this.fullAuthenticatedKey = `${StorageKey.GLOBAL_NAMESPACE}.${this.authStorageService.NAMESPACE}.${this.authStorageService.authenticatedKey}`;\n this.authEvents = [this.fullJwtKey, this.fullAuthenticatedKey];\n this.isLowResolution = false;\n this.showHeader = this.isAuthenticatedFully();\n this.showNavbar = false;\n this.isEmbedded = false;\n this.loading = true;\n // ========================\n // Private\n // ========================\n /**\n * List of subscriptions to manage component lifecycle\n * */\n this.subscriptions = new SubscriptionList();\n this.isNavbarCollapsed = false;\n this.handleStorageChange = (event) => {\n const localStorageSubscriptionHandlerService = service(LocalStorageSubscriptionHandlerService);\n localStorageSubscriptionHandlerService.handleStorageChange(event);\n this.handleAuthChange(event.key);\n };\n this.windowResizeObserver = debounce(() => this.windowResizeHandler(), 50);\n WindowService.getWindow().addEventListener('storage', this.handleStorageChange);\n }\n componentDidLoad() {\n this.windowResizeHandler();\n }\n connectedCallback() {\n this.subscribeToSecurityChanges();\n this.updateVisibility();\n this.subscribeToNavigationEnd();\n this.subscribeToRuntimeConfigurationChanges();\n this.subscribeToApplicationChange();\n }\n /**\n * Lifecycle method called when the component is about to be removed from the DOM.\n * Unsubscribes from all subscriptions to prevent memory leaks.\n */\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n render() {\n return (h(Host, { key: 'b8cbbca1f12bf6af844e18397d2a725d6ab4e1fc', class: {\n 'wb-layout': true,\n 'is-embedded': this.isEmbedded,\n 'hide-navbar': !this.showNavbar\n } }, h(\"div\", { key: 'f2e3b7a238b82536bd7605196966bd758330c521', class: \"default-slot-wrapper\" }, h(\"slot\", { key: '5d391e2f612d9aead6c07b2ef3641b961eddc504', name: \"default\" })), !this.isEmbedded &&\n h(\"header\", { key: 'e43c5b68d590e12b2b3e95d4c414505f1fc82abb', class: \"wb-header\" }, this.showHeader && h(\"onto-header\", { key: '21102b279bed2dd3ee857b399683d14c5f3eaf57' })), !this.isEmbedded && this.showNavbar &&\n h(\"nav\", { key: '67dcbf444a30ac933ba83f86ae9f8d08fe5f995f', class: \"wb-navbar\" }, h(\"onto-navbar\", { key: 'a9816369cbbac4d5b58f607be61277d6074556bd', ref: this.assignNavbarRef(), \"navbar-collapsed\": this.isLowResolution })), h(\"div\", { key: 'f3ff0e1734eecc433dc20717e0b9f2871ea40dae', class: { 'main-slot-wrapper': true, 'loading': this.loading } }, this.loading && h(\"div\", { key: '17d9a8024d280f70ad8684e5d114c38b184b529d', class: \"loader-wrapper\" }, h(\"onto-loader\", { key: '534a5d8f89b92051822d1d7750ca56894013c142', size: 96, messageText: TranslationService.translate('common.loading') })), h(\"slot\", { key: 'bcd21d932551dc6f9b9365ccbbafae690f8b7245', name: \"main\" })), !this.isEmbedded &&\n h(\"footer\", { key: '9fcd224439dbb7fd35bb4c277dc343eccab40087', class: \"wb-footer\" }, h(\"onto-footer\", { key: '39d5d1c8275c527ca16aa74f6f15dc3f0cc3686c' })), h(\"onto-tooltip\", { key: '6a70e6d2d67e8a9aa6b8eda66b6768735c0f6dcd' })));\n }\n // ========================\n // Event Listeners\n // ========================\n /**\n * Event listener for the navbar toggled event. The layout needs to respond properly when the navbar is toggled in\n * order to fit the content.\n * @param event\n */\n onNavbarToggled(event) {\n this.isNavbarCollapsed = event.detail.payload;\n if (this.isNavbarCollapsed) {\n this.hostElement.classList.add('expanded');\n }\n else {\n this.hostElement.classList.remove('expanded');\n }\n }\n /**\n * Event listener for window resize event. We need to handle this in order to allow the navbar to collapse when the\n * window is resized.\n */\n onResize() {\n this.windowResizeObserver();\n }\n // ========================\n // Handlers\n // ========================\n windowResizeHandler() {\n this.isLowResolution = WindowService.getWindow().innerWidth <= WINDOW_WIDTH_FOR_COLLAPSED_NAVBAR;\n if (!this.isLowResolution && !this.isNavbarCollapsed) {\n this.hostElement.classList.remove('expanded');\n }\n else {\n this.hostElement.classList.add('expanded');\n }\n }\n handleAuthChange(changedKey) {\n var _a;\n if (!changedKey) {\n return;\n }\n if (this.authEvents.includes(changedKey)) {\n const authenticated = this.authStorageService.isAuthenticated();\n if (authenticated) {\n navigate((_a = this.navigationContextService.getPreviousRoute()) !== null && _a !== void 0 ? _a : './');\n }\n else {\n navigate('login');\n }\n WindowService.getWindow().location.reload();\n }\n }\n // ========================\n // Security & Permissions\n // ========================\n subscribeToSecurityChanges() {\n const securityContextService = service(SecurityContextService);\n this.subscriptions.add(securityContextService.onAuthenticatedUserChanged((authenticatedUser) => {\n this.authenticatedUser = authenticatedUser;\n this.updateVisibility();\n }));\n this.subscriptions.add(securityContextService.onSecurityConfigChanged((securityConfig) => {\n this.securityConfig = securityConfig;\n this.updateVisibility();\n }));\n this.subscriptions.add(this.eventService.subscribe(EventName.LOGIN, () => {\n this.setNavbarItemVisibility();\n this.updateVisibility();\n }));\n this.subscriptions.add(this.eventService.subscribe(EventName.LOGOUT, () => {\n this.setNavbarItemVisibility();\n this.updateVisibility();\n navigate('login');\n }));\n }\n subscribeToRuntimeConfigurationChanges() {\n this.subscriptions.add(this.runtimeConfigurationContextService.onRuntimeConfigurationChanged((config) => {\n var _a;\n this.isEmbedded = (_a = config === null || config === void 0 ? void 0 : config.isEmbedded) !== null && _a !== void 0 ? _a : false;\n }));\n }\n updateVisibility() {\n if (!this.authenticationService.isSecurityEnabled()) {\n this.showNavbar = true;\n this.showHeader = true;\n }\n else {\n this.showHeader = this.authenticationService.isAuthenticated() || this.authorizationService.hasFreeAccess();\n this.showNavbar = this.authenticationService.isAuthenticated() || this.authorizationService.hasFreeAccess();\n }\n }\n isAuthenticatedFully() {\n return !this.authenticationService.isSecurityEnabled() || this.authenticationService.isAuthenticated() || this.authorizationService.hasFreeAccess();\n }\n shouldShowMenu(role) {\n return this.isAuthenticatedFully() && this.authorizationService.hasRole(role);\n }\n // ========================\n // Navbar logic\n // ========================\n assignNavbarRef() {\n return (navbar) => {\n this.navbarRef = navbar;\n if (!this.navbarRef) {\n return;\n }\n this.navbarRef.menuItems = WindowService.getWindow().PluginRegistry.get('main.menu');\n this.setNavbarItemVisibility();\n };\n }\n setNavbarItemVisibility() {\n var _a, _b, _c;\n if (!((_a = this.navbarRef) === null || _a === void 0 ? void 0 : _a.menuItems)) {\n return;\n }\n // recursively check for children and set their shouldShow property\n const processItem = (item) => {\n var _a;\n item.shouldShow = this.shouldShowMenu(item.role);\n if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {\n item.children.forEach(processItem);\n }\n };\n (_c = (_b = this.navbarRef) === null || _b === void 0 ? void 0 : _b.menuItems) === null || _c === void 0 ? void 0 : _c.forEach(plugin => {\n plugin.items.forEach(processItem);\n });\n // Update the reference to trigger a re-render\n this.navbarRef.menuItems = [...this.navbarRef.menuItems];\n }\n subscribeToNavigationEnd() {\n this.subscriptions.add(this.eventService.subscribe(EventName.NAVIGATION_END, (navigationEndPayload) => {\n this.navigationContextService.updatePreviousRoute(navigationEndPayload.oldUrl);\n }));\n }\n subscribeToApplicationChange() {\n this.subscriptions.add(this.applicationLifecycleContextService.onApplicationStateBeforeChange((state) => {\n if (state) {\n this.loading = true;\n }\n }));\n this.subscriptions.add(this.applicationLifecycleContextService.onApplicationStateChange((state) => {\n if (state) {\n this.loading = false;\n }\n }));\n }\n get hostElement() { return getElement(this); }\n};\nOntoLayout.style = ontoLayoutCss();\n\nexport { OntoLayout as onto_layout };\n","function debounce(func, wait = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\nexport { debounce as d };\n","import { Loggers, ServiceProvider, LanguageContextService } from '@ontotext/workbench-api';\n\nfunction sanitizeHTML(html) {\n const element = document.createElement('textarea');\n element.innerHTML = html;\n return element.value;\n}\n\nconst MODULE_NAME = 'SharedComponents';\n/**\n * Logger for the Shared Components module.\n */\nclass LoggerProvider {\n /**\n * Gets the logger instance for the Shared Components module.\n *\n * @returns LoggerService instance for the Shared Components module\n */\n static get logger() {\n return Loggers.getLoggerInstance(MODULE_NAME);\n }\n}\n\n/**\n * Service responsible for translation operations in the component.\n */\nclass TranslationServiceClassDefinition {\n constructor() {\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.translationChangedObservers = {};\n this.logger = LoggerProvider.logger;\n // log with background color\n this.defaultBundle = this.languageContextService.getDefaultBundle();\n this.subscribeToBundleChange();\n }\n /**\n * Translates the <code>messageLabelKey</code> with <code>translationParameter</code> and call <code>translationCallback</code> with translation of current language.\n * The <code>translationCallback</code> is called upon subscription and whenever the selected language is changed.\n *\n * @param messageLabelKey - The label key for the translation.\n * @param translationParameter - Parameters, if needed, for translation.\n * @param translationCallback - A function to be called when translating the `messageLabelKey`.\n * @returns A function that, when called, unsubscribes the provided callback from further translation updates.\n */\n onTranslate(messageLabelKey, translationParameter = [], translationCallback = () => { }) {\n this.translationChangedObservers[messageLabelKey] = this.translationChangedObservers[messageLabelKey] || [];\n const observer = { parameters: translationParameter, callback: translationCallback };\n this.translationChangedObservers[messageLabelKey].push(observer);\n translationCallback(this.translate(messageLabelKey, translationParameter));\n return () => {\n const index = this.translationChangedObservers[messageLabelKey].indexOf(observer);\n if (index !== -1) {\n this.translationChangedObservers[messageLabelKey].splice(index, 1);\n }\n };\n }\n /**\n * Translates the provided key using the currently selected language by applying the parameters if\n * provided.\n * @param key The key for the label which needs to be translated.\n * @param parameters Optional parameters which to be applied during the translation.\n */\n translate(key, parameters) {\n return this.translateInLocale(key, parameters);\n }\n /**\n * Translates a given key into the specified locale. If parameters are provided,\n * they will be applied to the translation.\n *\n * @param key - The translation key, which can be dot-separated for nested translations.\n * @param parameters - Optional parameters to be substituted into the translation string.\n * @returns The translated string with parameters applied if available, or the key itself if not found.\n */\n translateInLocale(key, parameters) {\n // Attempt to retrieve the translation from the specified locale's bundle.\n let translation = this.translateFromBundle(this.currentBundle, key);\n // If not found, fall back to the default language bundle.\n if (!translation) {\n translation = this.translateFromBundle(this.defaultBundle, key);\n }\n // If translation was found, apply any parameters provided and return the result.\n if (translation) {\n translation = this.applyParameters(translation, parameters);\n return sanitizeHTML(translation);\n }\n this.logger.warn(`Missing translation for key: [${key}]`);\n return key;\n }\n /**\n * Retrieves a translation from a specified translation bundle using the given key.\n * If the key represents a nested JSON path, it attempts to resolve the key as such.\n *\n * @param bundle - The translation bundle for the specified locale.\n * @param key - The key to translate, which may be a simple key or dot-separated for nested keys.\n * @returns The translation string if found, or `undefined` if not available.\n */\n translateFromBundle(bundle, key) {\n if (!bundle) {\n return undefined;\n }\n // Try to retrieve the translation directly if it is defined as a whole string,\n // for instance as \"some_function.btn.label\".\n let translation = bundle[key];\n // If not found, attempt to retrieve the translation if it is defined as a JSON object.\n if (typeof translation !== 'string') {\n translation = this.translateAsJsonObject(bundle, key);\n }\n return translation;\n }\n /**\n * Resolves a nested translation key by treating it as a path in a JSON object.\n * For example, if the key is \"some.key.path\", this method will navigate through\n * the JSON object structure to retrieve the value at that path.\n *\n * @param bundle - The translation bundle containing nested keys.\n * @param key - The dot-separated key representing the path to the translation.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n translateAsJsonObject(bundle, key) {\n let path = key.split('.');\n return this.getTranslation(bundle, path);\n }\n /**\n * Recursively navigates through a JSON object based on a path array to retrieve\n * a translation string. Each element in the path array represents a nested key.\n *\n * @param jsonObject - The current JSON object or nested object being searched.\n * @param path - An array representing the path to the translation, where each element is a key.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n getTranslation(jsonObject, path) {\n // Stop the recursion if path or reach the inner element\n if (!path || !jsonObject) {\n return undefined;\n }\n const jsonOrTranslation = jsonObject[path.splice(0, 1)[0]];\n if (path.length === 0) {\n return jsonOrTranslation;\n }\n if (typeof jsonOrTranslation !== 'string') {\n // continue if the inner element is not reached.\n if (path.length > 0) {\n return this.getTranslation(jsonOrTranslation, path);\n }\n return jsonOrTranslation;\n }\n return undefined;\n }\n applyParameters(translation, parameters) {\n if (parameters) {\n return parameters.reduce(\n // replace all occurrence of parameter key with parameter value.\n (translation, parameter) => TranslationServiceClassDefinition.replaceAll(translation, parameter), translation);\n }\n return translation;\n }\n static replaceAll(translation, parameter) {\n return parameter ? translation.split(`{{${parameter.key}}}`).join(parameter.value) : translation;\n }\n notifyTranslationsChanged() {\n Object.keys(this.translationChangedObservers).forEach((eventName) => {\n const observers = this.translationChangedObservers[eventName] || [];\n observers.forEach((observer) => observer.callback(this.translate(eventName, observer.parameters)));\n });\n }\n subscribeToBundleChange() {\n this.languageChangeSubscription = this.languageContextService.onLanguageBundleChanged((bundle) => {\n if (bundle) {\n this.currentBundle = bundle;\n this.notifyTranslationsChanged();\n }\n });\n }\n destroy() {\n if (this.languageChangeSubscription) {\n this.languageChangeSubscription();\n }\n }\n}\nconst TranslationService = new TranslationServiceClassDefinition();\n\nexport { LoggerProvider as L, TranslationService as T, sanitizeHTML as s };\n"],"names":["OntoLayout","constructor","hostRef","registerInstance","this","authenticationService","service","AuthenticationService","authorizationService","AuthorizationService","navigationContextService","NavigationContextService","authStorageService","AuthenticationStorageService","runtimeConfigurationContextService","RuntimeConfigurationContextService","eventService","EventService","applicationLifecycleContextService","ApplicationLifecycleContextService","fullJwtKey","StorageKey","GLOBAL_NAMESPACE","NAMESPACE","jwtKey","fullAuthenticatedKey","authenticatedKey","authEvents","isLowResolution","showHeader","isAuthenticatedFully","showNavbar","isEmbedded","loading","subscriptions","SubscriptionList","isNavbarCollapsed","handleStorageChange","event","LocalStorageSubscriptionHandlerService","handleAuthChange","key","windowResizeObserver","debounce","windowResizeHandler","WindowService","getWindow","addEventListener","componentDidLoad","connectedCallback","subscribeToSecurityChanges","updateVisibility","subscribeToNavigationEnd","subscribeToRuntimeConfigurationChanges","subscribeToApplicationChange","disconnectedCallback","unsubscribeAll","render","h","Host","class","name","ref","assignNavbarRef","size","messageText","TranslationService","translate","onNavbarToggled","detail","payload","hostElement","classList","add","remove","onResize","innerWidth","changedKey","_a","includes","isAuthenticated","navigate","getPreviousRoute","location","reload","securityContextService","SecurityContextService","onAuthenticatedUserChanged","authenticatedUser","onSecurityConfigChanged","securityConfig","subscribe","EventName","LOGIN","setNavbarItemVisibility","LOGOUT","onRuntimeConfigurationChanged","config","isSecurityEnabled","hasFreeAccess","shouldShowMenu","role","hasRole","navbar","navbarRef","menuItems","PluginRegistry","get","_b","_c","processItem","item","shouldShow","children","length","forEach","plugin","items","NAVIGATION_END","navigationEndPayload","updatePreviousRoute","oldUrl","onApplicationStateBeforeChange","state","onApplicationStateChange","getElement","style","func","wait","timer","args","clearTimeout","setTimeout","apply","sanitizeHTML","html","element","document","createElement","innerHTML","value","LoggerProvider","logger","Loggers","getLoggerInstance","TranslationServiceClassDefinition","languageContextService","ServiceProvider","LanguageContextService","translationChangedObservers","defaultBundle","getDefaultBundle","subscribeToBundleChange","onTranslate","messageLabelKey","translationParameter","translationCallback","observer","parameters","callback","push","index","indexOf","splice","translateInLocale","translation","translateFromBundle","currentBundle","applyParameters","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy"],"ignoreList":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_esm_id__=60560;export const __webpack_esm_ids__=[60560];export const __webpack_esm_modules__={60560(e,t,a){a.r(t),a.d(t,{onto_cookie_consent:()=>s,onto_cookie_policy_dialog:()=>r});var o=a(55508),c=a(79939),i=a(57154),n=a(63952);const s=class{constructor(e){(0,o.r)(this,e),this.consentGiven=(0,o.c)(this,"consentGiven"),this.showModal=!1,this.openModal=e=>{e.preventDefault(),this.showModal=!0},this.handleConsentClick=()=>{this.consentGiven.emit()}}onDialogClose(){this.showModal=!1}render(){return(0,o.h)(o.a,{key:"dba3fc373e9ad60ada7f86d11acbe1b1ed24a92d"},(0,o.h)("div",{key:"8f1dff5a6b271f721d2079ec44a14207eff38025",class:"cookie-consent-banner"},(0,o.h)("section",{key:"93d51c3f88e12ff6fc5a57506eab507eca5420cb",class:"cookie-consent-content"},(0,o.h)("span",{key:"72be975026e8717da4ab4d99d5560f96017d4436"},(0,o.h)("translate-label",{key:"b49c8182a2e94cffb22abb03dd4f2e6c9a7c6b5e",labelKey:"cookie.cookie_consent"}),(0,o.h)("a",{key:"79675cf4d9c026666093ff3205818f48b845083f",id:"cookie-policy-link",href:"#",onClick:this.openModal,class:"btn btn-link p-0"},(0,o.h)("translate-label",{key:"8c83694879ff4fb7cce5aa8f3363220767b54c13",labelKey:"cookie.cookie_policy_url_label"})),"."),(0,o.h)("button",{key:"dfa75c1bd990929564a7b3b61264e1978ea24c95",id:"accept-cookie-policy",class:"onto-btn onto-btn-primary",onClick:this.handleConsentClick},(0,o.h)("translate-label",{key:"7a36cad2b993c7aa29f4d64adcf8e359331bdb28",labelKey:"common.button.ok"})))),this.showModal&&(0,o.h)("onto-cookie-policy-dialog",{key:"1daa9af32d60159763f1ea052c1c87e6f4bfdb3e"}))}};var l;s.style=".cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background-color:var(--gw-dialog-background);box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);padding:20px;z-index:1050;width:100%}.cookie-consent-banner .cookie-consent-content{display:flex;justify-content:center;align-items:center}.cookie-consent-banner .cookie-consent-content button{margin-left:12px}.cookie-policy-modal{padding:24px 40px;overflow-y:auto}.cookie-policy-modal .modal-dialog{width:60% !important;max-width:60% !important}.cookie-policy-modal .title{font-size:xx-large;font-weight:bolder}.cookie-policy-modal .heading{font-size:x-large;font-weight:bolder;margin-top:12px}.cookie-policy-modal .subheading{font-size:large;font-weight:bolder;margin-top:8px}.cookie-policy-modal .text{font-size:math}",function(e){e.THIRD_PARTY="thirdParty",e.STATISTIC="statistic"}(l||(l={}));const r=class{constructor(e){(0,o.r)(this,e),this.closeDialog=(0,o.c)(this,"closeDialog"),this.logger=c.L.logger,this.securityContextService=(0,i.service)(i.SecurityContextService),this.securityService=(0,i.service)(i.SecurityService),this.trackingService=(0,i.service)(i.TrackingService),this.toggleChangedDebounced=(0,n.d)(e=>this.toggleChanged(e),300)}toggleChangeHandler(e){this.toggleChangedDebounced(e)}toggleChanged(e){this.setUserCookieConsent(this.updateCookieConsent(e.detail)),this.securityService.updateAuthenticatedUser(this.user.toUser()).then(()=>this.securityContextService.updateAuthenticatedUser(this.user)).catch(this.logger.error).finally(()=>this.trackingService.applyTrackingConsent())}connectedCallback(){this.user=this.securityContextService.getAuthenticatedUser(),this.cookieConsent=this.trackingService.getCookieConsent()}render(){var e,t;const a={dialogTitle:c.T.translate("cookie.policy.title"),onClose:()=>this.closePolicyDialog(),modalClass:"cookie-policy-modal"};return(0,o.h)("onto-dialog",{key:"bdd402a836636e6c15811b3615703ea1eebd8d7c",config:a},(0,o.h)("div",{key:"1f1b4d80214907ae882b7322c48190f2152e12d9",slot:"body"},(0,o.h)("section",{key:"1b1a59be322de2736ca62ad373a51d18a1a06b79"},(0,o.h)("h4",{key:"dede6b4f005e6a661675479f5531ddad7a0235d4"},(0,o.h)("translate-label",{key:"ee1741896c0ff590ab9efbec9bf0a5025a30909f",labelKey:"cookie.policy.purpose_heading"})),(0,o.h)("p",{key:"e4a5b233c2809f901dd182f8d9aec0de27fc2099"},(0,o.h)("translate-label",{key:"631d8eb62fb92be49d0ded38b6aa1a280948ae19",labelKey:"cookie.policy.purpose_text"})),(0,o.h)("p",{key:"1254f3f2632b00bb296c00454a7df7d5b383ece5"},(0,o.h)("translate-label",{key:"5ceda3dada67081dbd17e1afa867a24a9016a564",labelKey:"cookie.policy.purpose_enterprise_text"}))),(0,o.h)("section",{key:"4796f96a4798348052387f6d379fcb2057c4b660"},(0,o.h)("h4",{key:"2ef14f483c1ff6fd1ecb891f7b9a6ed57b628805"},(0,o.h)("translate-label",{key:"09481c09192b35faa19b2006bdc3b21a9589cbdc",labelKey:"cookie.policy.privacy_commitment_heading"})),(0,o.h)("p",{key:"2cca9fe31f8f315c9ea123240bffc22f43bdfa77"},(0,o.h)("translate-label",{key:"4e8a55d364dffb76ea88c395967abd1681ceeec0",labelKey:"cookie.policy.privacy_commitment_text"})),(0,o.h)("ul",{key:"ceac17908898768e92263452faa0d05b654355aa"},(0,o.h)("li",{key:"c72361f5d3c17e068041f66e1986ba2152153f56"},(0,o.h)("translate-label",{key:"66a3534fd00d05e038c566c47c27a817e0840312",labelKey:"cookie.policy.privacy_commitment_1"})),(0,o.h)("li",{key:"f64a3900424c3df46fabaa81b710626445dd25b9"},(0,o.h)("translate-label",{key:"1e0e45ea0bba3f66f483217514006e685544f7ce",labelKey:"cookie.policy.privacy_commitment_2"})))),(0,o.h)("section",{key:"5046d6f2a87f421da264d8ca56e586c96806c8d2"},(0,o.h)("h4",{key:"f29934a5affad89f5f29bc18aaf4e0a7431a676c"},(0,o.h)("translate-label",{key:"88786391aa0c7dfee08e8a69c44cdc8f2fdf86ba",labelKey:"cookie.policy.cookies_heading"})),(0,o.h)("p",{key:"30445e55fede20a71babaac4656b2aa04bf95029"},(0,o.h)("translate-label",{key:"f0a85e21c58d6192b7173a2fdcdadb0cac500d51",labelKey:"cookie.policy.cookies_text"}))),(0,o.h)("section",{key:"6d63492ca8e98e66ee3dac34a9f2d4804598aae3"},(0,o.h)("h4",{key:"2acb72a66961b4a7669421631c567ae220c37340"},(0,o.h)("translate-label",{key:"150994d027db50124deb8382ff86defd4d9f73ca",labelKey:"cookie.policy.manage_cookies_heading"})),(0,o.h)("onto-toggle-switch",{key:"abe22d435107f38ff392ece9b1e93436b18d8865",class:"statistic-cookies-toggle",checked:null===(e=this.cookieConsent)||void 0===e?void 0:e.statistic,labelKey:"cookie.policy.statistic_cookies",tooltipTranslationKey:"cookie.policy.statistic_tooltip",context:l.STATISTIC}),(0,o.h)("p",{key:"c58bd5346cbf64fc806476af9aca4114ffdf2f19"},(0,o.h)("translate-label",{key:"5494f13d7c4e5e9b8ad1dd2833d61dcf8abbaadb",labelKey:"cookie.policy.statistic_text"})),(0,o.h)("onto-toggle-switch",{key:"a126d4e367ac72f3afabf4cbcad60600c1674256",class:"third-party-cookies-toggle",checked:null===(t=this.cookieConsent)||void 0===t?void 0:t.thirdParty,labelKey:"cookie.policy.third_party_cookies",tooltipTranslationKey:"cookie.policy.third_party_tooltip",context:l.THIRD_PARTY}),(0,o.h)("p",{key:"98eaa1cd8bf32b975fbf6158151c23ecb75ae775"},(0,o.h)("translate-label",{key:"3e3480010862cba108e3b2a2ea132e2ec8f7d38f",labelKey:"cookie.policy.third_party_cookies_text"}))),(0,o.h)("p",{key:"2f229fbfb8e618771c96ff69022bdbe41ae073aa"},(0,o.h)("span",{key:"89601e4bda0080f30395f7ab7717ed2894003df4"},(0,o.h)("translate-label",{key:"7e1c004df16f9c96593bd08ed572f330980f9b1f",labelKey:"cookie.policy.change_cookies"}),(0,o.h)("i",{key:"0b63d510ac728e75687dbfb89baf199a7ff789ac"}," ",(0,o.h)("translate-label",{key:"84ca2e5206973463bb76e464c0de825778b5161c",labelKey:"menu.setup.label"})," > ",(0,o.h)("translate-label",{key:"8cd61ed1aa3b45d15845da57adba70c0136cc465",labelKey:"menu.my.settings.label"})," > ",(0,o.h)("translate-label",{key:"a540e7209ce07f18cade46ca26593c067f0e5967",labelKey:"security.user.settings"})," > ",(0,o.h)("translate-label",{key:"122e0f07061903adb8e68ac632766cdce0544140",labelKey:"cookie.policy.change_cookies_location4"})," ")))))}closePolicyDialog(){this.closeDialog.emit()}updateCookieConsent(e){return this.cookieConsent[e.context]=e.checked,this.cookieConsent.updatedAt=i.DateUtil.now(),this.cookieConsent}setUserCookieConsent(e){this.user.appSettings||this.user.setAppSettings(),this.user.appSettings.COOKIE_CONSENT=e}};r.style="section h4{font-size:x-large;font-weight:bolder;margin-top:12px}"},63952(e,t,a){function o(e,t=300){let a;return(...o)=>{clearTimeout(a),a=setTimeout(()=>e.apply(this,o),t)}}a.d(t,{d:()=>o})},79939(e,t,a){a.d(t,{L:()=>i,T:()=>s,s:()=>c});var o=a(57154);function c(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}class i{static get logger(){return o.Loggers.getLoggerInstance("SharedComponents")}}class n{constructor(){this.languageContextService=o.ServiceProvider.get(o.LanguageContextService),this.translationChangedObservers={},this.logger=i.logger,this.defaultBundle=this.languageContextService.getDefaultBundle(),this.subscribeToBundleChange()}onTranslate(e,t=[],a=()=>{}){this.translationChangedObservers[e]=this.translationChangedObservers[e]||[];const o={parameters:t,callback:a};return this.translationChangedObservers[e].push(o),a(this.translate(e,t)),()=>{const t=this.translationChangedObservers[e].indexOf(o);-1!==t&&this.translationChangedObservers[e].splice(t,1)}}translate(e,t){return this.translateInLocale(e,t)}translateInLocale(e,t){let a=this.translateFromBundle(this.currentBundle,e);return a||(a=this.translateFromBundle(this.defaultBundle,e)),a?(a=this.applyParameters(a,t),c(a)):(this.logger.warn(`Missing translation for key: [${e}]`),e)}translateFromBundle(e,t){if(!e)return;let a=e[t];return"string"!=typeof a&&(a=this.translateAsJsonObject(e,t)),a}translateAsJsonObject(e,t){let a=t.split(".");return this.getTranslation(e,a)}getTranslation(e,t){if(!t||!e)return;const a=e[t.splice(0,1)[0]];return 0===t.length?a:"string"!=typeof a?t.length>0?this.getTranslation(a,t):a:void 0}applyParameters(e,t){return t?t.reduce((e,t)=>n.replaceAll(e,t),e):e}static replaceAll(e,t){return t?e.split(`{{${t.key}}}`).join(t.value):e}notifyTranslationsChanged(){Object.keys(this.translationChangedObservers).forEach(e=>{(this.translationChangedObservers[e]||[]).forEach(t=>t.callback(this.translate(e,t.parameters)))})}subscribeToBundleChange(){this.languageChangeSubscription=this.languageContextService.onLanguageBundleChanged(e=>{e&&(this.currentBundle=e,this.notifyTranslationsChanged())})}destroy(){this.languageChangeSubscription&&this.languageChangeSubscription()}}const s=new n}};
|
|
2
|
-
//# sourceMappingURL=60560.6ba1b091a34af6c00770.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"60560.6ba1b091a34af6c00770.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-cookie-consent_2.entry.js","webpack://root-config/./packages/shared-components/dist/esm/function-utils-D1ZpXQQS.js","webpack://root-config/./packages/shared-components/dist/esm/translation.service-nljGIprK.js"],"sourcesContent":["import { r as registerInstance, c as createEvent, h, a as Host } from './index-CGqARDX4.js';\nimport { L as LoggerProvider, T as TranslationService } from './translation.service-nljGIprK.js';\nimport { service, SecurityContextService, SecurityService, TrackingService, DateUtil } from '@ontotext/workbench-api';\nimport { d as debounce } from './function-utils-D1ZpXQQS.js';\n\nconst ontoCookieConsentCss = () => `.cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background-color:var(--gw-dialog-background);box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);padding:20px;z-index:1050;width:100%}.cookie-consent-banner .cookie-consent-content{display:flex;justify-content:center;align-items:center}.cookie-consent-banner .cookie-consent-content button{margin-left:12px}.cookie-policy-modal{padding:24px 40px;overflow-y:auto}.cookie-policy-modal .modal-dialog{width:60% !important;max-width:60% !important}.cookie-policy-modal .title{font-size:xx-large;font-weight:bolder}.cookie-policy-modal .heading{font-size:x-large;font-weight:bolder;margin-top:12px}.cookie-policy-modal .subheading{font-size:large;font-weight:bolder;margin-top:8px}.cookie-policy-modal .text{font-size:math}`;\n\nconst OntoCookieConsent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.consentGiven = createEvent(this, \"consentGiven\");\n /** State to control the visibility of the cookie policy modal */\n this.showModal = false;\n /**\n * Opens the cookie policy modal.\n * @param {Event} event - The event that triggered the modal opening.\n */\n this.openModal = (event) => {\n event.preventDefault();\n this.showModal = true;\n };\n /**\n * Handles the click event on the consent button.\n * Emits the consentGiven event.\n */\n this.handleConsentClick = () => {\n this.consentGiven.emit();\n };\n }\n /**\n * Listener for the closeDialog event emitted by the cookie policy dialog.\n * Sets the showModal state to false to hide the dialog.\n */\n onDialogClose() {\n this.showModal = false;\n }\n render() {\n return (h(Host, { key: 'dba3fc373e9ad60ada7f86d11acbe1b1ed24a92d' }, h(\"div\", { key: '8f1dff5a6b271f721d2079ec44a14207eff38025', class: \"cookie-consent-banner\" }, h(\"section\", { key: '93d51c3f88e12ff6fc5a57506eab507eca5420cb', class: \"cookie-consent-content\" }, h(\"span\", { key: '72be975026e8717da4ab4d99d5560f96017d4436' }, h(\"translate-label\", { key: 'b49c8182a2e94cffb22abb03dd4f2e6c9a7c6b5e', labelKey: 'cookie.cookie_consent' }), h(\"a\", { key: '79675cf4d9c026666093ff3205818f48b845083f', id: \"cookie-policy-link\", href: \"#\", onClick: this.openModal, class: \"btn btn-link p-0\" }, h(\"translate-label\", { key: '8c83694879ff4fb7cce5aa8f3363220767b54c13', labelKey: 'cookie.cookie_policy_url_label' })), \".\"), h(\"button\", { key: 'dfa75c1bd990929564a7b3b61264e1978ea24c95', id: \"accept-cookie-policy\", class: \"onto-btn onto-btn-primary\", onClick: this.handleConsentClick }, h(\"translate-label\", { key: '7a36cad2b993c7aa29f4d64adcf8e359331bdb28', labelKey: 'common.button.ok' })))), this.showModal && h(\"onto-cookie-policy-dialog\", { key: '1daa9af32d60159763f1ea052c1c87e6f4bfdb3e' })));\n }\n};\nOntoCookieConsent.style = ontoCookieConsentCss();\n\nconst ontoCookiePolicyDialogCss = () => `section h4{font-size:x-large;font-weight:bolder;margin-top:12px}`;\n\nvar CookieType;\n(function (CookieType) {\n CookieType[\"THIRD_PARTY\"] = \"thirdParty\";\n CookieType[\"STATISTIC\"] = \"statistic\";\n})(CookieType || (CookieType = {}));\nconst OntoCookiePolicyDialog = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.closeDialog = createEvent(this, \"closeDialog\");\n this.logger = LoggerProvider.logger;\n this.securityContextService = service(SecurityContextService);\n this.securityService = service(SecurityService);\n this.trackingService = service(TrackingService);\n /**\n * Debounced version of the `toggleChanged` method to prevent rapid consecutive calls when the user toggles cookie\n * consent options multiple times in quick succession.\n * This is needed because the `toggleChanged` method involves adding and removing tracking scripts based on the user's\n * consent, and rapid toggling can lead to multiple unnecessary script manipulations, which can cause performance\n * issues and unintended side effects.\n */\n this.toggleChangedDebounced = debounce((event) => this.toggleChanged(event), 300);\n }\n toggleChangeHandler(event) {\n this.toggleChangedDebounced(event);\n }\n toggleChanged(event) {\n this.setUserCookieConsent(this.updateCookieConsent(event.detail));\n this.securityService.updateAuthenticatedUser(this.user.toUser())\n .then(() => this.securityContextService.updateAuthenticatedUser(this.user))\n .catch(this.logger.error)\n .finally(() => this.trackingService.applyTrackingConsent());\n }\n connectedCallback() {\n this.user = this.securityContextService.getAuthenticatedUser();\n this.cookieConsent = this.trackingService.getCookieConsent();\n }\n render() {\n var _a, _b;\n const config = {\n dialogTitle: TranslationService.translate('cookie.policy.title'),\n onClose: () => this.closePolicyDialog(),\n modalClass: 'cookie-policy-modal',\n };\n return (h(\"onto-dialog\", { key: 'bdd402a836636e6c15811b3615703ea1eebd8d7c', config: config }, h(\"div\", { key: '1f1b4d80214907ae882b7322c48190f2152e12d9', slot: 'body' }, h(\"section\", { key: '1b1a59be322de2736ca62ad373a51d18a1a06b79' }, h(\"h4\", { key: 'dede6b4f005e6a661675479f5531ddad7a0235d4' }, h(\"translate-label\", { key: 'ee1741896c0ff590ab9efbec9bf0a5025a30909f', labelKey: 'cookie.policy.purpose_heading' })), h(\"p\", { key: 'e4a5b233c2809f901dd182f8d9aec0de27fc2099' }, h(\"translate-label\", { key: '631d8eb62fb92be49d0ded38b6aa1a280948ae19', labelKey: 'cookie.policy.purpose_text' })), h(\"p\", { key: '1254f3f2632b00bb296c00454a7df7d5b383ece5' }, h(\"translate-label\", { key: '5ceda3dada67081dbd17e1afa867a24a9016a564', labelKey: 'cookie.policy.purpose_enterprise_text' }))), h(\"section\", { key: '4796f96a4798348052387f6d379fcb2057c4b660' }, h(\"h4\", { key: '2ef14f483c1ff6fd1ecb891f7b9a6ed57b628805' }, h(\"translate-label\", { key: '09481c09192b35faa19b2006bdc3b21a9589cbdc', labelKey: 'cookie.policy.privacy_commitment_heading' })), h(\"p\", { key: '2cca9fe31f8f315c9ea123240bffc22f43bdfa77' }, h(\"translate-label\", { key: '4e8a55d364dffb76ea88c395967abd1681ceeec0', labelKey: 'cookie.policy.privacy_commitment_text' })), h(\"ul\", { key: 'ceac17908898768e92263452faa0d05b654355aa' }, h(\"li\", { key: 'c72361f5d3c17e068041f66e1986ba2152153f56' }, h(\"translate-label\", { key: '66a3534fd00d05e038c566c47c27a817e0840312', labelKey: 'cookie.policy.privacy_commitment_1' })), h(\"li\", { key: 'f64a3900424c3df46fabaa81b710626445dd25b9' }, h(\"translate-label\", { key: '1e0e45ea0bba3f66f483217514006e685544f7ce', labelKey: 'cookie.policy.privacy_commitment_2' })))), h(\"section\", { key: '5046d6f2a87f421da264d8ca56e586c96806c8d2' }, h(\"h4\", { key: 'f29934a5affad89f5f29bc18aaf4e0a7431a676c' }, h(\"translate-label\", { key: '88786391aa0c7dfee08e8a69c44cdc8f2fdf86ba', labelKey: 'cookie.policy.cookies_heading' })), h(\"p\", { key: '30445e55fede20a71babaac4656b2aa04bf95029' }, h(\"translate-label\", { key: 'f0a85e21c58d6192b7173a2fdcdadb0cac500d51', labelKey: 'cookie.policy.cookies_text' }))), h(\"section\", { key: '6d63492ca8e98e66ee3dac34a9f2d4804598aae3' }, h(\"h4\", { key: '2acb72a66961b4a7669421631c567ae220c37340' }, h(\"translate-label\", { key: '150994d027db50124deb8382ff86defd4d9f73ca', labelKey: 'cookie.policy.manage_cookies_heading' })), h(\"onto-toggle-switch\", { key: 'abe22d435107f38ff392ece9b1e93436b18d8865', class: \"statistic-cookies-toggle\", checked: (_a = this.cookieConsent) === null || _a === void 0 ? void 0 : _a.statistic, labelKey: 'cookie.policy.statistic_cookies', tooltipTranslationKey: 'cookie.policy.statistic_tooltip', context: CookieType.STATISTIC }), h(\"p\", { key: 'c58bd5346cbf64fc806476af9aca4114ffdf2f19' }, h(\"translate-label\", { key: '5494f13d7c4e5e9b8ad1dd2833d61dcf8abbaadb', labelKey: 'cookie.policy.statistic_text' })), h(\"onto-toggle-switch\", { key: 'a126d4e367ac72f3afabf4cbcad60600c1674256', class: \"third-party-cookies-toggle\", checked: (_b = this.cookieConsent) === null || _b === void 0 ? void 0 : _b.thirdParty, labelKey: 'cookie.policy.third_party_cookies', tooltipTranslationKey: 'cookie.policy.third_party_tooltip', context: CookieType.THIRD_PARTY }), h(\"p\", { key: '98eaa1cd8bf32b975fbf6158151c23ecb75ae775' }, h(\"translate-label\", { key: '3e3480010862cba108e3b2a2ea132e2ec8f7d38f', labelKey: 'cookie.policy.third_party_cookies_text' }))), h(\"p\", { key: '2f229fbfb8e618771c96ff69022bdbe41ae073aa' }, h(\"span\", { key: '89601e4bda0080f30395f7ab7717ed2894003df4' }, h(\"translate-label\", { key: '7e1c004df16f9c96593bd08ed572f330980f9b1f', labelKey: 'cookie.policy.change_cookies' }), h(\"i\", { key: '0b63d510ac728e75687dbfb89baf199a7ff789ac' }, \"\\u00A0\", h(\"translate-label\", { key: '84ca2e5206973463bb76e464c0de825778b5161c', labelKey: 'menu.setup.label' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: '8cd61ed1aa3b45d15845da57adba70c0136cc465', labelKey: 'menu.my.settings.label' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: 'a540e7209ce07f18cade46ca26593c067f0e5967', labelKey: 'security.user.settings' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: '122e0f07061903adb8e68ac632766cdce0544140', labelKey: 'cookie.policy.change_cookies_location4' }), \"\\u00A0\"))))));\n }\n /**\n * TODO: This is comment from the previous implementation in the legacy and needs to be re-evaluated and updated if necessary.\n *\n * Closes the modal and passes a result to indicate if the page should be reloaded.\n * - The page reloads only if the user has\n * (1) toggled third-party consent multiple times (`didAbusedThirdPartyToggle`),\n * (2) left third-party consent as enabled (`hasThirdPartyConsent`), and\n * (3) previously accepted the overall policy (`hasPolicyAccepted`)\n * - This reload is necessary in cases where multiple third-party consent changes\n * lead to duplicate and redundant tracking data being loaded.\n */\n closePolicyDialog() {\n this.closeDialog.emit();\n }\n updateCookieConsent(payload) {\n // Context is either 'thirdParty' or 'statistic'\n this.cookieConsent[payload.context] = payload.checked;\n this.cookieConsent.updatedAt = DateUtil.now();\n return this.cookieConsent;\n }\n setUserCookieConsent(cookieConsent) {\n if (!this.user.appSettings) {\n this.user.setAppSettings();\n }\n this.user.appSettings.COOKIE_CONSENT = cookieConsent;\n }\n};\nOntoCookiePolicyDialog.style = ontoCookiePolicyDialogCss();\n\nexport { OntoCookieConsent as onto_cookie_consent, OntoCookiePolicyDialog as onto_cookie_policy_dialog };\n","function debounce(func, wait = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\nexport { debounce as d };\n","import { Loggers, ServiceProvider, LanguageContextService } from '@ontotext/workbench-api';\n\nfunction sanitizeHTML(html) {\n const element = document.createElement('textarea');\n element.innerHTML = html;\n return element.value;\n}\n\nconst MODULE_NAME = 'SharedComponents';\n/**\n * Logger for the Shared Components module.\n */\nclass LoggerProvider {\n /**\n * Gets the logger instance for the Shared Components module.\n *\n * @returns LoggerService instance for the Shared Components module\n */\n static get logger() {\n return Loggers.getLoggerInstance(MODULE_NAME);\n }\n}\n\n/**\n * Service responsible for translation operations in the component.\n */\nclass TranslationServiceClassDefinition {\n constructor() {\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.translationChangedObservers = {};\n this.logger = LoggerProvider.logger;\n // log with background color\n this.defaultBundle = this.languageContextService.getDefaultBundle();\n this.subscribeToBundleChange();\n }\n /**\n * Translates the <code>messageLabelKey</code> with <code>translationParameter</code> and call <code>translationCallback</code> with translation of current language.\n * The <code>translationCallback</code> is called upon subscription and whenever the selected language is changed.\n *\n * @param messageLabelKey - The label key for the translation.\n * @param translationParameter - Parameters, if needed, for translation.\n * @param translationCallback - A function to be called when translating the `messageLabelKey`.\n * @returns A function that, when called, unsubscribes the provided callback from further translation updates.\n */\n onTranslate(messageLabelKey, translationParameter = [], translationCallback = () => { }) {\n this.translationChangedObservers[messageLabelKey] = this.translationChangedObservers[messageLabelKey] || [];\n const observer = { parameters: translationParameter, callback: translationCallback };\n this.translationChangedObservers[messageLabelKey].push(observer);\n translationCallback(this.translate(messageLabelKey, translationParameter));\n return () => {\n const index = this.translationChangedObservers[messageLabelKey].indexOf(observer);\n if (index !== -1) {\n this.translationChangedObservers[messageLabelKey].splice(index, 1);\n }\n };\n }\n /**\n * Translates the provided key using the currently selected language by applying the parameters if\n * provided.\n * @param key The key for the label which needs to be translated.\n * @param parameters Optional parameters which to be applied during the translation.\n */\n translate(key, parameters) {\n return this.translateInLocale(key, parameters);\n }\n /**\n * Translates a given key into the specified locale. If parameters are provided,\n * they will be applied to the translation.\n *\n * @param key - The translation key, which can be dot-separated for nested translations.\n * @param parameters - Optional parameters to be substituted into the translation string.\n * @returns The translated string with parameters applied if available, or the key itself if not found.\n */\n translateInLocale(key, parameters) {\n // Attempt to retrieve the translation from the specified locale's bundle.\n let translation = this.translateFromBundle(this.currentBundle, key);\n // If not found, fall back to the default language bundle.\n if (!translation) {\n translation = this.translateFromBundle(this.defaultBundle, key);\n }\n // If translation was found, apply any parameters provided and return the result.\n if (translation) {\n translation = this.applyParameters(translation, parameters);\n return sanitizeHTML(translation);\n }\n this.logger.warn(`Missing translation for key: [${key}]`);\n return key;\n }\n /**\n * Retrieves a translation from a specified translation bundle using the given key.\n * If the key represents a nested JSON path, it attempts to resolve the key as such.\n *\n * @param bundle - The translation bundle for the specified locale.\n * @param key - The key to translate, which may be a simple key or dot-separated for nested keys.\n * @returns The translation string if found, or `undefined` if not available.\n */\n translateFromBundle(bundle, key) {\n if (!bundle) {\n return undefined;\n }\n // Try to retrieve the translation directly if it is defined as a whole string,\n // for instance as \"some_function.btn.label\".\n let translation = bundle[key];\n // If not found, attempt to retrieve the translation if it is defined as a JSON object.\n if (typeof translation !== 'string') {\n translation = this.translateAsJsonObject(bundle, key);\n }\n return translation;\n }\n /**\n * Resolves a nested translation key by treating it as a path in a JSON object.\n * For example, if the key is \"some.key.path\", this method will navigate through\n * the JSON object structure to retrieve the value at that path.\n *\n * @param bundle - The translation bundle containing nested keys.\n * @param key - The dot-separated key representing the path to the translation.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n translateAsJsonObject(bundle, key) {\n let path = key.split('.');\n return this.getTranslation(bundle, path);\n }\n /**\n * Recursively navigates through a JSON object based on a path array to retrieve\n * a translation string. Each element in the path array represents a nested key.\n *\n * @param jsonObject - The current JSON object or nested object being searched.\n * @param path - An array representing the path to the translation, where each element is a key.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n getTranslation(jsonObject, path) {\n // Stop the recursion if path or reach the inner element\n if (!path || !jsonObject) {\n return undefined;\n }\n const jsonOrTranslation = jsonObject[path.splice(0, 1)[0]];\n if (path.length === 0) {\n return jsonOrTranslation;\n }\n if (typeof jsonOrTranslation !== 'string') {\n // continue if the inner element is not reached.\n if (path.length > 0) {\n return this.getTranslation(jsonOrTranslation, path);\n }\n return jsonOrTranslation;\n }\n return undefined;\n }\n applyParameters(translation, parameters) {\n if (parameters) {\n return parameters.reduce(\n // replace all occurrence of parameter key with parameter value.\n (translation, parameter) => TranslationServiceClassDefinition.replaceAll(translation, parameter), translation);\n }\n return translation;\n }\n static replaceAll(translation, parameter) {\n return parameter ? translation.split(`{{${parameter.key}}}`).join(parameter.value) : translation;\n }\n notifyTranslationsChanged() {\n Object.keys(this.translationChangedObservers).forEach((eventName) => {\n const observers = this.translationChangedObservers[eventName] || [];\n observers.forEach((observer) => observer.callback(this.translate(eventName, observer.parameters)));\n });\n }\n subscribeToBundleChange() {\n this.languageChangeSubscription = this.languageContextService.onLanguageBundleChanged((bundle) => {\n if (bundle) {\n this.currentBundle = bundle;\n this.notifyTranslationsChanged();\n }\n });\n }\n destroy() {\n if (this.languageChangeSubscription) {\n this.languageChangeSubscription();\n }\n }\n}\nconst TranslationService = new TranslationServiceClassDefinition();\n\nexport { LoggerProvider as L, TranslationService as T, sanitizeHTML as s };\n"],"names":["OntoCookieConsent","constructor","hostRef","registerInstance","this","consentGiven","createEvent","showModal","openModal","event","preventDefault","handleConsentClick","emit","onDialogClose","render","h","Host","key","class","labelKey","id","href","onClick","CookieType","style","OntoCookiePolicyDialog","closeDialog","logger","LoggerProvider","securityContextService","service","SecurityContextService","securityService","SecurityService","trackingService","TrackingService","toggleChangedDebounced","debounce","toggleChanged","toggleChangeHandler","setUserCookieConsent","updateCookieConsent","detail","updateAuthenticatedUser","user","toUser","then","catch","error","finally","applyTrackingConsent","connectedCallback","getAuthenticatedUser","cookieConsent","getCookieConsent","_a","_b","config","dialogTitle","TranslationService","translate","onClose","closePolicyDialog","modalClass","slot","checked","statistic","tooltipTranslationKey","context","STATISTIC","thirdParty","THIRD_PARTY","payload","updatedAt","DateUtil","now","appSettings","setAppSettings","COOKIE_CONSENT","func","wait","timer","args","clearTimeout","setTimeout","apply","sanitizeHTML","html","element","document","createElement","innerHTML","value","Loggers","getLoggerInstance","TranslationServiceClassDefinition","languageContextService","ServiceProvider","get","LanguageContextService","translationChangedObservers","defaultBundle","getDefaultBundle","subscribeToBundleChange","onTranslate","messageLabelKey","translationParameter","translationCallback","observer","parameters","callback","push","index","indexOf","splice","translateInLocale","translation","translateFromBundle","currentBundle","applyParameters","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","length","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","forEach","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy"],"ignoreList":[],"sourceRoot":""}
|