graphdb-workbench 3.3.2-TR1 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/13231.d7107e7549453805e13a.bundle.js +2 -0
- package/dist/13231.d7107e7549453805e13a.bundle.js.map +1 -0
- package/dist/{20694.a738f5634ec09369dc85.bundle.js → 20694.4becb7771236462dcc5a.bundle.js} +2 -2
- package/dist/20694.4becb7771236462dcc5a.bundle.js.map +1 -0
- package/dist/21015.ea34b563b4149ad0975e.bundle.js +2 -0
- package/dist/21015.ea34b563b4149ad0975e.bundle.js.map +1 -0
- package/dist/38644.0e8652c647a0f341abd7.bundle.js +2 -0
- package/dist/38644.0e8652c647a0f341abd7.bundle.js.map +1 -0
- package/dist/39518.4d72b74fffba395c6b2a.bundle.js +2 -0
- package/dist/{39518.2871b32c37b20075dba3.bundle.js.map → 39518.4d72b74fffba395c6b2a.bundle.js.map} +1 -1
- package/dist/39874.710e94f211579215f997.bundle.js +2 -0
- package/dist/39874.710e94f211579215f997.bundle.js.map +1 -0
- package/dist/60560.6ba1b091a34af6c00770.bundle.js +2 -0
- package/dist/60560.6ba1b091a34af6c00770.bundle.js.map +1 -0
- package/dist/67888.41803878170b6c7a5ca5.bundle.js +2 -0
- package/dist/67888.41803878170b6c7a5ca5.bundle.js.map +1 -0
- package/dist/7815.2aec5ebbcd434f5582ff.bundle.js +2 -0
- package/dist/7815.2aec5ebbcd434f5582ff.bundle.js.map +1 -0
- package/dist/78681.9e1d4e064e9e1fb5fb21.bundle.js +2 -0
- package/dist/78681.9e1d4e064e9e1fb5fb21.bundle.js.map +1 -0
- package/dist/{82926.99231caacc379c66487a.bundle.js → 82926.ce1d6bf65b09288a2b10.bundle.js} +2 -2
- package/dist/{82926.99231caacc379c66487a.bundle.js.map → 82926.ce1d6bf65b09288a2b10.bundle.js.map} +1 -1
- package/dist/94229.47dbdba202106c61dff1.bundle.js.map +1 -1
- package/dist/99448.2a87f387a8062617d893.bundle.js +2 -0
- package/dist/99448.2a87f387a8062617d893.bundle.js.map +1 -0
- package/dist/api/models/cookie/cookie-options.d.ts +17 -0
- package/dist/api/models/cookie/index.d.ts +1 -1
- package/dist/api/models/security/authenticated-user.d.ts +2 -0
- package/dist/api/models/tracking/cookie-consent.d.ts +39 -0
- package/dist/api/models/tracking/index.d.ts +1 -0
- package/dist/api/models/users/app-settings.d.ts +2 -2
- package/dist/api/ontotext-workbench-api.d.ts +3 -1
- package/dist/api/ontotext-workbench-api.js +1 -1
- package/dist/api/ontotext-workbench-api.js.map +1 -1
- package/dist/api/services/cookie/browser-cookie-store.d.ts +19 -0
- package/dist/api/services/cookie/cookie-builder.d.ts +77 -0
- package/dist/api/services/cookie/cookie-store.d.ts +16 -0
- package/dist/api/services/cookie/cookie.service.d.ts +34 -7
- package/dist/api/services/cookie/error/invalid-cookie-expiration.d.ts +8 -0
- package/dist/api/services/cookie/index.d.ts +3 -0
- package/dist/api/services/cookie/test/cookie-builder.spec.d.ts +1 -0
- package/dist/api/services/cookie/test/in-memory-cookie-store.d.ts +11 -0
- 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 +6 -0
- package/dist/api/services/tracking/google-analytics-cookie.service.d.ts +50 -0
- package/dist/api/services/tracking/index.d.ts +4 -0
- package/dist/api/services/tracking/installation-cookie.service.d.ts +37 -0
- package/dist/api/services/tracking/test/tracking-storage.service.spec.d.ts +1 -0
- package/dist/api/services/tracking/test/tracking.service.spec.d.ts +1 -0
- package/dist/api/services/tracking/tracking-storage.service.d.ts +27 -0
- package/dist/api/services/tracking/tracking.service.d.ts +56 -0
- package/dist/api/services/users/response/user-response.d.ts +1 -1
- package/dist/api/services/utils/date-util.d.ts +11 -0
- package/dist/api/services/utils/index.d.ts +1 -0
- package/dist/api/services/window/window.service.d.ts +6 -0
- package/dist/assets/i18n/fr.json +1 -1
- 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 +5 -2
- 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.40eba9e09196e1483221.js +3 -0
- package/dist/{legacyWorkbench.88e1d4d209e51c6f9b65.js.map → legacyWorkbench.40eba9e09196e1483221.js.map} +1 -1
- package/dist/license-checker-static.json +0 -7
- package/dist/{main.1be0fc11ab24b99f8800.js → main.14f083264cd64618d96a.js} +3 -3
- package/dist/main.14f083264cd64618d96a.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/function-utils-WB47AWpR.js +1 -0
- 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/onto-test-context.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/esm/function-utils-D1ZpXQQS.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/onto-test-context.entry.js +1 -1
- package/dist/shared-components/esm/shared-components.js +1 -1
- package/dist/shared-components/shared-components/{p-279a026b.entry.js → p-5886e663.entry.js} +1 -1
- package/dist/shared-components/shared-components/p-598d33d7.entry.js +1 -0
- package/dist/shared-components/shared-components/p-6d34b2cb.entry.js +1 -0
- package/dist/shared-components/shared-components/p-74888633.entry.js +1 -0
- package/dist/shared-components/shared-components/p-D1ZpXQQS.js +1 -0
- package/dist/shared-components/shared-components/p-b5d4081d.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 +31 -7
- 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 +9 -2
- package/dist/shared-components/types/components.d.ts +17 -8
- package/dist/shared-components/types/models/dialog/dialog-handler.d.ts +4 -0
- package/package.json +1 -1
- package/dist/13231.9b625e487e6385faa36f.bundle.js +0 -2
- package/dist/13231.9b625e487e6385faa36f.bundle.js.map +0 -1
- package/dist/20694.a738f5634ec09369dc85.bundle.js.map +0 -1
- package/dist/21015.68c7c667ef64ad8e8e0d.bundle.js +0 -2
- package/dist/21015.68c7c667ef64ad8e8e0d.bundle.js.map +0 -1
- package/dist/38644.37a8cd71112da94401d9.bundle.js +0 -2
- package/dist/38644.37a8cd71112da94401d9.bundle.js.map +0 -1
- package/dist/39518.2871b32c37b20075dba3.bundle.js +0 -2
- package/dist/39874.47a6948df3520a7bf37a.bundle.js +0 -2
- package/dist/39874.47a6948df3520a7bf37a.bundle.js.map +0 -1
- package/dist/60560.275a89ab1375e91de0aa.bundle.js +0 -2
- package/dist/60560.275a89ab1375e91de0aa.bundle.js.map +0 -1
- package/dist/67888.b75d9678cf65cd82f065.bundle.js +0 -2
- package/dist/67888.b75d9678cf65cd82f065.bundle.js.map +0 -1
- package/dist/7815.f09f8d6953d2c964e04d.bundle.js +0 -2
- package/dist/7815.f09f8d6953d2c964e04d.bundle.js.map +0 -1
- package/dist/78681.0cfa1e86d4dac1b7e7e8.bundle.js +0 -2
- package/dist/78681.0cfa1e86d4dac1b7e7e8.bundle.js.map +0 -1
- package/dist/99448.272a4ba1ce8032167bea.bundle.js +0 -2
- package/dist/99448.272a4ba1ce8032167bea.bundle.js.map +0 -1
- package/dist/api/models/cookie/cookie-consent.d.ts +0 -14
- package/dist/legacyWorkbench.88e1d4d209e51c6f9b65.js +0 -3
- package/dist/main.1be0fc11ab24b99f8800.js.map +0 -1
- package/dist/shared-components/collection/models/dialog/onto-dialog.js +0 -1
- package/dist/shared-components/shared-components/p-2075209c.entry.js +0 -1
- package/dist/shared-components/shared-components/p-30e4880f.entry.js +0 -1
- package/dist/shared-components/shared-components/p-413b3789.entry.js +0 -1
- package/dist/shared-components/shared-components/p-67199a46.entry.js +0 -1
- package/dist/shared-components/types/models/dialog/onto-dialog.d.ts +0 -4
- /package/dist/{legacyWorkbench.88e1d4d209e51c6f9b65.js.LICENSE.txt → legacyWorkbench.40eba9e09196e1483221.js.LICENSE.txt} +0 -0
- /package/dist/{main.1be0fc11ab24b99f8800.js.LICENSE.txt → main.14f083264cd64618d96a.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20694.a738f5634ec09369dc85.bundle.js","mappings":"oMA8HIA,EAAK,CACR,uBAAwB,eACxB,sBAAuB,cACvB,wBAAyB,gBACzBC,OA/HgB,CAChB,OAAU,SACVC,OAAQ,CACPC,GAAI,KACJC,MAAO,SAERC,QAAS,cA0HT,iBAAkB,MAClB,qBAAsB,UACtB,6BAA8B,kBAC9B,iCAAkC,sBAClC,6BAA8B,kBAC9B,wBAAyB,aACzB,oBAAqB,SACrB,qBAAsB,UACtB,iCAAkC,sBAClC,gCAAiC,qBACjC,4BAA6B,sCAC7B,wBAAyB,yCACzB,oCAAqC,oCACrC,0BAA2B,2CAC3B,gCAAiC,iCACjC,uBAAwB,SACxB,mBAAoB,QACpB,iBAAkB,MAClB,kBAAmB,qBACnB,0BAA2B,eAC3B,2BAA4B,iBAC5B,8BAA+B,mBAC/B,yBAA0B,cAC1B,qBAAsB,UACtB,wBAAyB,aACzB,wBAAyB,aACzB,0BAA2B,eAC3B,kBAAmB,OACnB,6BAA8B,mBAC9B,qBAAsB,UACtB,kBAAmB,OACnB,gCAAiC,qBACjC,sBAAuB,WACvB,2BAA4B,gBAC5B,uBAAwB,YACxB,qBAAsB,UACtB,oBAAqB,qBACrB,qBAAsB,UACtB,qBAAsB,UACtB,yCAA0C,sBAC1C,gCAAiC,qBACjC,qBAAsB,eACtB,sBAAuB,WACvBC,kBAnK2B,CAC3BC,YAAa,CACZC,MAAO,kBACPC,QAAS,6BAEVC,SAAU,CACTV,GAAI,CACHQ,MAAO,sBACPC,QAAS,CACRE,SAAU,mBACVC,aAAc,+BAGhBC,GAAI,CACHL,MAAO,uBACPC,QAAS,CACRE,SAAU,mBACVC,aAAc,oCAmJjB,sBAAuB,CACvBE,IAAK,CACJC,OAAQ,oBACRC,gBAAiB,8BAElBP,QAAS,CACRQ,WAAY,aACZC,SAAU,WACVC,MAAO,QACPC,KAAM,OACNC,MAAO,CACNC,QAAS,UACTC,OAAQ,SACRC,MAAO,QACPC,KAAM,OACNC,QAAS,WAEVC,OAAQ,SACRC,SAAU,CACTC,KAAM,OACNC,MAAO,QACPC,WAAY,cAEb,kBAAmB,CAClBC,MAAO,mBACPC,SAAU,WACVC,SAAU,WACVC,gBAAiB,sCAInBC,cA7KuB,CACvB5B,MAAO,mBACP6B,eAAgB,uBA4KhBC,OA1KgB,CAChB9B,MAAO,CACN+B,oBAAqB,yBAyKtBC,kBAtK2B,CAC3BC,gBAAiB,qFACjBC,4BAA6B,iEAqK7BC,OAnKgB,CAChBC,eAAgB,qKAChBC,wBAAyB,gBACzBC,OAAQ,CACPC,MAAO,iBACPC,gBAAiB,UACjBC,aAAc,oIACdC,wBAAyB,2IACzBC,2BAA4B,8BAC5BC,wBAAyB,+GACzBC,qBAAsB,2EACtBC,qBAAsB,wEACtBC,gBAAiB,UACjBC,aAAc,4aACdC,uBAAwB,iBACxBC,kBAAmB,4BACnBC,kBAAmB,mCACnBC,eAAgB,2SAChBC,oBAAqB,sBACrBC,oBAAqB,6BACrBC,yBAA0B,whBAC1BC,eAAgB,wDAChBC,yBAA0B,kBA8I3BC,SA3IkB,CAClBC,KAAM,CACLC,SAAU,kBA0IXC,wBAvIiC,CACjCC,MAAO,CACNC,QAAS,kBACTC,QAAS,kBACTC,QAAS,kBACTC,0BAA2B,kBAC3BC,2BAA4B,mBAC5BC,gCAAiC,wBACjCC,iCAAkC,yBAClCC,QAAS,UACTC,WAAY,aACZC,YAAa,cACbC,kBAAmB,sBA4HpBC,UAzHmB,CACnBC,YAAa,cACbC,OAAQ,SACRC,MAAO,SAuHPC,WArHoB,CACpBC,OAAQ,CACPC,OAAQ,uBACRC,KAAM,mDAEPC,QAAS,CACRC,MAAO,QACPC,OAAQ,UAETC,SAAU,CACTC,kBAAmB,eACnBC,MAAO,SAERC,OAAQ,CACPC,kBAAmB,wEACnBC,oBAAqB,qDACrBC,YAAa,+BACbC,YAAa,gBAqGdC,OAlGgB,CAChBC,OAAQ,CACPvD,MAAO,+BACPwD,aAAc,kCACdC,mBAAoB,qBACpBC,sBAAuB,+CACvBC,qBAAsB,4CACtBC,eAAgB,mCAyNd9F,EAAK,CACR,uBAAwB,eACxB,sBAAuB,qBACvB,wBAAyB,kBACzBZ,OA/Hc,CACd,OAAU,WACVC,OAAQ,CACPC,GAAI,WACJC,MAAO,UAERC,QAAS,iBA0HT,iBAAkB,MAClB,qBAAsB,WACtB,6BAA8B,qBAC9B,iCAAkC,8BAClC,6BAA8B,yBAC9B,wBAAyB,aACzB,oBAAqB,SACrB,qBAAsB,aACtB,iCAAkC,2BAClC,gCAAiC,6BACjC,4BAA6B,2CAC7B,wBAAyB,iFACzB,oCAAqC,qEACrC,0BAA2B,mFAC3B,gCAAiC,oCACjC,uBAAwB,UACxB,mBAAoB,aACpB,iBAAkB,cAClB,kBAAmB,wBACnB,0BAA2B,SAC3B,2BAA4B,cAC5B,8BAA+B,wBAC/B,yBAA0B,iBAC1B,qBAAsB,UACtB,wBAAyB,cACzB,wBAAyB,kBACzB,0BAA2B,iBAC3B,kBAAmB,OACnB,6BAA8B,iBAC9B,qBAAsB,UACtB,kBAAmB,OACnB,gCAAiC,8BACjC,sBAAuB,WACvB,2BAA4B,gBAC5B,uBAAwB,YACxB,qBAAsB,UACtB,oBAAqB,qBACrB,qBAAsB,UACtB,qBAAsB,UACtB,yCAA0C,oCAC1C,gCAAiC,qBACjC,qBAAsB,mBACtB,sBAAuB,WACvBC,kBAnKyB,CACzBC,YAAa,CACZC,MAAO,yBACPC,QAAS,6BAEVC,SAAU,CACTV,GAAI,CACHQ,MAAO,sBACPC,QAAS,CACRE,SAAU,kBACVC,aAAc,iCAGhBC,GAAI,CACHL,MAAO,uBACPC,QAAS,CACRE,SAAU,kBACVC,aAAc,oCAmJjB,sBAAuB,CACvBE,IAAK,CACJC,OAAQ,sBACRC,gBAAiB,0BAElBP,QAAS,CACRQ,WAAY,QACZC,SAAU,gBACVC,MAAO,QACPC,KAAM,OACNC,MAAO,CACNC,QAAS,UACTC,OAAQ,UACRC,MAAO,QACPC,KAAM,OACNC,QAAS,WAEVC,OAAQ,UACRC,SAAU,CACTC,KAAM,OACNC,MAAO,SACPC,WAAY,eAEb,kBAAmB,CAClBC,MAAO,yBACPC,SAAU,YACVC,SAAU,SACVC,gBAAiB,wCAInBC,cA7KqB,CACrB5B,MAAO,wBACP6B,eAAgB,mCA4KhBC,OA1Kc,CACd9B,MAAO,CACN+B,oBAAqB,0BAyKtBC,kBAtKyB,CACzBC,gBAAiB,mHACjBC,4BAA6B,2FAqK7BC,OAnKc,CACdC,eAAgB,uOAChBC,wBAAyB,uBACzBC,OAAQ,CACPC,MAAO,uBACPC,gBAAiB,WACjBC,aAAc,8JACdC,wBAAyB,4JACzBC,2BAA4B,2CAC5BC,wBAAyB,4HACzBC,qBAAsB,8FACtBC,qBAAsB,8FACtBC,gBAAiB,UACjBC,aAAc,iiBACdC,uBAAwB,oBACxBC,kBAAmB,4BACnBC,kBAAmB,mDACnBC,eAAgB,uXAChBC,oBAAqB,gBACrBC,oBAAqB,uCACrBC,yBAA0B,mtBAC1BC,eAAgB,qEAChBC,yBAA0B,yBA8I3BC,SA3IgB,CAChBC,KAAM,CACLC,SAAU,gCA0IXC,wBAvI+B,CAC/BC,MAAO,CACNC,QAAS,wBACTC,QAAS,4BACTC,QAAS,2BACTC,0BAA2B,kCAC3BC,2BAA4B,sCAC5BC,gCAAiC,wCACjCC,iCAAkC,4CAClCC,QAAS,cACTC,WAAY,wBACZC,YAAa,gBACbC,kBAAmB,wBA4HpBC,UAzHiB,CACjBC,YAAa,iBACbC,OAAQ,cACRC,MAAO,gBAuHPC,WArHkB,CAClBC,OAAQ,CACPC,OAAQ,gCACRC,KAAM,2DAEPC,QAAS,CACRC,MAAO,UACPC,OAAQ,UAETC,SAAU,CACTC,kBAAmB,sBACnBC,MAAO,SAERC,OAAQ,CACPC,kBAAmB,4FACnBC,oBAAqB,6EACrBC,YAAa,8CACbC,YAAa,mBAqGdC,OAlGc,CACdC,OAAQ,CACPvD,MAAO,qCACPwD,aAAc,gDACdC,mBAAoB,qBACpBC,sBAAuB,iEACvBC,qBAAsB,sDACtBC,eAAgB,2CA8FlB,MAAMC,EAAkB,MACpBC,WAAAA,CAAYC,IACRC,EAAAA,EAAAA,GAAiBC,KAAMF,GACvBE,KAAKC,QAAU,CAAEjH,KAAIa,MACrBmG,KAAKE,aAAe,IAAIC,EAAAA,aACxBH,KAAKI,oBACLJ,KAAKK,kBAAkB,CAAEC,SAAS,EAAOC,WAAY,CAAED,SAAS,IACpE,CASAE,wBAAAA,CAAyBC,GAErB,OADAC,EAAAA,gBAAgBC,IAAIC,EAAAA,6BAA6BC,+BAA+BJ,GACzEK,QAAQC,SACnB,CAUAC,aAAAA,CAAcC,GAEV,OADAP,EAAAA,gBAAgBC,IAAIO,EAAAA,uBAAuBC,qBAAqBF,GACzDH,QAAQC,SACnB,CAUAK,iBAAAA,CAAkBC,GAEd,OADAX,EAAAA,gBAAgBC,IAAIW,EAAAA,2BAA2BF,kBAAkBC,GAC1DP,QAAQC,SACnB,CAIAQ,gBAAAA,GAII,OAHAb,EAAAA,gBAAgBC,IAAIa,EAAAA,mBAAmBC,kBAAkBC,KAAMC,IAC3DjB,EAAAA,gBAAgBC,IAAIiB,EAAAA,0BAA0BC,qBAAqBF,KAEhEb,QAAQC,SACnB,CAOAe,oBAAAA,CAAqB3E,GAEjB,MAAM4E,EAAY5E,GACZ6E,EAAAA,EAAAA,qCAAoC7E,QACpC8E,EAGN,OAFAvB,EAAAA,gBAAgBC,IAAIuB,EAAAA,wBAAwBC,wBAAwBJ,GACpErB,EAAAA,gBAAgBC,IAAIyB,EAAAA,8BAA8BC,aAAa,SACxDvB,QAAQC,SACnB,CAOAV,iBAAAA,CAAkBiC,GACd,MAAMC,EAASvC,KAAKwC,qBAAqBF,GAGzC,OAFA5B,EAAAA,gBAAgBC,IAAIuB,EAAAA,wBAAwBO,qBAAqBF,GACjEvC,KAAK0C,gBAAgBH,GACdzB,QAAQC,SACnB,CASA1C,KAAAA,CAAMsE,EAAUC,GAEZ,OADoBlC,EAAAA,gBAAgBC,IAAIkC,EAAAA,uBACrBxE,MAAMsE,EAAUC,EACvC,CAYAE,cAAAA,CAAepJ,GAEX,OADAgH,EAAAA,gBAAgBC,IAAIoC,EAAAA,wBAAwBC,qBAAqBhD,KAAKC,QAAQvG,IACvEoH,QAAQC,SACnB,CAMAkC,oBAAAA,CAAqBC,EAAQC,GAEzB,OADAzC,EAAAA,gBAAgBC,IAAIyC,EAAAA,cAAcC,KAAK,IAAIC,EAAAA,cAAcJ,EAAQC,IAC1DrC,QAAQC,SACnB,CAQAwC,wBAAAA,CAAyBC,GAErB,OADA9C,EAAAA,gBAAgBC,IAAIiB,EAAAA,0BAA0B2B,yBAAyBC,GAChE1C,QAAQC,SACnB,CAQA0C,uCAAAA,CAAwCC,GAEpC,OADAhD,EAAAA,gBAAgBC,IAAIgD,EAAAA,kCAAkCC,gBAAgBF,GAC/D5C,QAAQC,SACnB,CAOA8C,SAAAA,CAAUC,GAEN,OADA9D,KAAKE,aAAamD,KAAK,CAAEU,KAAMC,EAAAA,mBAAoBC,QAAS,IAAIC,EAAAA,aAAaJ,EAAM1J,KAAM0J,EAAMK,WACxFrD,QAAQC,SACnB,CAKAqD,eAAAA,CAAgBC,GAIZ,OAFAC,EAAAA,EAAAA,SAAQC,EAAAA,oBACRC,EAAAA,EAAAA,QAAOH,GACAvD,QAAQC,SACnB,CAMA0D,eAAAA,CAAgBnE,GAEZ,OADAI,EAAAA,gBAAgBC,IAAI+D,EAAAA,4BAA4BC,0BAA0BrE,GACnEQ,QAAQC,SACnB,CAOA6D,gBAAAA,CAAiBC,GAEb,OADAnE,EAAAA,gBAAgBC,IAAImE,EAAAA,0BAA0BF,iBAAiB,IAAIG,EAAAA,aAAaF,IACzE/D,QAAQC,SACnB,CAOAX,iBAAAA,GACIM,EAAAA,gBAAgBC,IAAIoC,EAAAA,wBAAwBiC,0BAA2BC,IAC/DA,GACAjF,KAAK8C,eAAemC,IAGhC,CAUAvC,eAAAA,CAAgBJ,GACZ,MAAM4C,EAA+BxE,EAAAA,gBAAgBC,IAAIyB,EAAAA,8BACnD+C,EAAyBzE,EAAAA,gBAAgBC,IAAIuB,EAAAA,wBAC7CkD,EAAuB1E,EAAAA,gBAAgBC,IAAI0E,EAAAA,sBACjDH,EAA6BI,kBACAhB,EAAAA,EAAAA,SAAQiB,EAAAA,sBACKC,gBAAgBlD,GAC7CmD,aAAa/D,KAAMgE,IAC5BP,EAAuBQ,iBAAiBD,GACnCA,IACGN,EAAqBQ,gBACrBR,EAAqBS,uBAEhBvD,EAAewD,mBACpBV,EAAqBW,2BAIrC,CAUAvD,oBAAAA,CAAqBwD,GACjB,MAAMzD,EAAS0D,OAAOC,OAAO,CAAE5F,SAAS,EAAM6F,cAAc,EAAOC,sBAAsB,EAAOC,eAAe,EAAO9F,WAAY,CAAC,EAAG+F,aAAc,CAAC,GAAKN,GAC1J,OAAO,IAAIO,EAAAA,eAAehE,EAC9B,E","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-test-context.entry.js"],"sourcesContent":["import { r as registerInstance } from './index-CGqARDX4.js';\nimport { EventEmitter, ServiceProvider, ConfigurationContextService, LicenseContextService, ProductInfoContextService, RepositoryService, RepositoryContextService, mapAuthenticatedUserResponseToModel, SecurityContextService, AuthenticationStorageService, AuthenticationService, LanguageContextService, EventService, NavigationEnd, RepositoryLocationContextService, ToastMessage, CREATE_TOAST_EVENT, service, OntoToastrService, notify, AutocompleteContextService, NamespacesContextService, NamespaceMap, AuthorizationService, AuthStrategyResolver, SecurityConfig } from '@ontotext/workbench-api';\n\nconst common$1 = {\n\t\"import\": \"Import\",\n\tbutton: {\n\t\tok: \"OK\",\n\t\tclose: \"Close\"\n\t},\n\tloading: \"Loading...\"\n};\nconst language_selector$1 = {\n\ttoggle_menu: {\n\t\tlabel: \"Select language\",\n\t\ttooltip: \"Current language: English\"\n\t},\n\tlanguage: {\n\t\ten: {\n\t\t\tlabel: \"en · English\",\n\t\t\ttooltip: {\n\t\t\t\tselected: \"Current language\",\n\t\t\t\tnot_selected: \"Change language to English\"\n\t\t\t}\n\t\t},\n\t\tfr: {\n\t\t\tlabel: \"fr · Français\",\n\t\t\ttooltip: {\n\t\t\t\tselected: \"Current language\",\n\t\t\t\tnot_selected: \"Changer la langue en Français\"\n\t\t\t}\n\t\t}\n\t}\n};\nconst license_alert$1 = {\n\tlabel: \"No valid license\",\n\tno_license_set: \"No license was set.\"\n};\nconst footer$1 = {\n\tlabel: {\n\t\tall_rights_reserved: \"All rights reserved.\"\n\t}\n};\nconst permission_banner$1 = {\n\tno_access_error: \"You have no permission to access this functionality with your current credentials.\",\n\tchange_menu_or_user_warning: \"Please choose another menu item or login as a different user.\"\n};\nconst cookie$1 = {\n\tcookie_consent: \"We may use cookies to help us improve GraphDB and develop better features. No personal or sensitive information is collected. By clicking “OK” you consent to our \",\n\tcookie_policy_url_label: \"Cookie Policy\",\n\tpolicy: {\n\t\ttitle: \"Cookies Policy\",\n\t\tpurpose_heading: \"Purpose\",\n\t\tpurpose_text: \"This Cookies Policy explains the data Ontotext collects and uses when you use our GraphDB product, specifically the Free Edition.\",\n\t\tpurpose_enterprise_text: \"Note that if you upgrade to the commercial GraphDB Enterprise Edition, no cookies will be stored on your device, regardless of settings.\",\n\t\tprivacy_commitment_heading: \"Ontotext privacy commitment\",\n\t\tprivacy_commitment_text: \"We are committed to not collecting any personal data or information when you use GraphDB Free. Additionally:\",\n\t\tprivacy_commitment_1: \"We will not sell or rent the technical information we collect to others.\",\n\t\tprivacy_commitment_2: \"We strive to maximize the protection of all technical data collected.\",\n\t\tcookies_heading: \"Cookies\",\n\t\tcookies_text: \"When you use GraphDB Free Edition, Ontotext will store cookies on your device to collect anonymous information about how you interact with the product. This technical data helps us improve and refine our software. Importantly, we cannot link this information to you personally or to any identifiable data. These cookies are solely intended to help us understand user interactions and identify potential issues within GraphDB.\",\n\t\tmanage_cookies_heading: \"Manage cookies\",\n\t\tstatistic_cookies: \"GraphDB analytics cookies\",\n\t\tstatistic_tooltip: \"Toggle GraphDB analytics cookies\",\n\t\tstatistic_text: \"These cookies help us understand how users interact with different aspects of GraphDB by collecting and reporting information anonymously. This data allows us to improve the overall product experience and develop features based on how GraphDB is used, without collecting any personal information.\",\n\t\tthird_party_cookies: \"Third-party cookies\",\n\t\tthird_party_tooltip: \"Toggle Third-party cookies\",\n\t\tthird_party_cookies_text: \"We use Google Analytics 4 (GA4) cookies to help us recognize unique users and sessions, track interactions, and collect data such as page views, session duration, and engagement. These cookies are managed by Google, meaning we do not control their operation. IP anonymization is enabled by default in GA4, so it cannot store IP addresses or track users personally. No data is shared between GA4 and other Google products, and processing occurs globally, primarily in the USA, without breaching GDPR, as no personal data is collected.\",\n\t\tchange_cookies: \"You can change your cookie preferences at any time in\",\n\t\tchange_cookies_location4: \"Cookie policy\"\n\t}\n};\nconst security$1 = {\n\tuser: {\n\t\tsettings: \"User settings\"\n\t}\n};\nconst operations_notification$1 = {\n\tlinks: {\n\t\tqueries: \"Running queries\",\n\t\tupdates: \"Running updates\",\n\t\timports: \"Running imports\",\n\t\tCREATE_BACKUP_IN_PROGRESS: \"Creating backup\",\n\t\tRESTORE_BACKUP_IN_PROGRESS: \"Restoring backup\",\n\t\tCREATE_CLOUD_BACKUP_IN_PROGRESS: \"Creating cloud backup\",\n\t\tRESTORE_CLOUD_BACKUP_IN_PROGRESS: \"Restoring cloud backup\",\n\t\tIN_SYNC: \"In sync\",\n\t\tRECOVERING: \"Recovering\",\n\t\tOUT_OF_SYNC: \"Out of sync\",\n\t\tUNAVAILABLE_NODES: \"Unavailable nodes\"\n\t}\n};\nconst user_menu$1 = {\n\tmy_settings: \"My settings\",\n\tlogout: \"Logout\",\n\tlogin: \"Login\"\n};\nconst rdf_search$1 = {\n\tlabels: {\n\t\tsearch: \"Search RDF resources\",\n\t\thint: \"Hint: \\\"abC\\\" matches \\\"abC*\\\", \\\"ab c*\\\" and \\\"ab-c*\\\"\"\n\t},\n\tbuttons: {\n\t\ttable: \"Table\",\n\t\tvisual: \"Visual\"\n\t},\n\ttooltips: {\n\t\tclose_search_area: \"Close search\",\n\t\tclear: \"Clear\"\n\t},\n\ttoasts: {\n\t\tuse_view_resource: \"<b>Search RDF resources</b></br>Use <b>View resource</b> on this page\",\n\t\tautocomplete_is_off: \"Autocomplete is OFF<br>Go to Setup -> Autocomplete\",\n\t\tempty_input: \"Please fill the input field!\",\n\t\tinvalid_uri: \"Invalid IRI\"\n\t}\n};\nconst openid$1 = {\n\terrors: {\n\t\ttitle: \"OpenID Authentication Failed\",\n\t\tunknown_flow: \"Unknown auth flow: {{authFlow}}\",\n\t\tinvalid_pkce_state: \"Invalid PKCE state\",\n\t\tcannot_retrieve_token: \"Cannot retrieve token after login: {{error}}\",\n\t\tcannot_refresh_token: \"Could not refresh OpenID token: {{error}}\",\n\t\tuser_no_access: \"User has no access to GraphDB\"\n\t}\n};\nvar en = {\n\t\"menu.logo.link.title\": \"GraphDB logo\",\n\t\"menu.buttons.expand\": \"Expand menu\",\n\t\"menu.buttons.collapse\": \"Collapse menu\",\n\tcommon: common$1,\n\t\"menu.rdf.label\": \"RDF\",\n\t\"menu.explore.label\": \"Explore\",\n\t\"menu.graphs.overview.label\": \"Graphs overview\",\n\t\"menu.class.relationships.label\": \"Class relationships\",\n\t\"menu.class.hierarchy.label\": \"Class hierarchy\",\n\t\"menu.similarity.label\": \"Similarity\",\n\t\"menu.sparql.label\": \"SPARQL\",\n\t\"menu.monitor.label\": \"Monitor\",\n\t\"menu.queries.and.updates.label\": \"Queries and Updates\",\n\t\"menu.backup_and_restore.label\": \"Backup and Restore\",\n\t\"menu.enableFtsIndex.label\": \"Enable full-text search (FTS) index\",\n\t\"menu.ftsIndexes.label\": \"FTS indexes to build (comma delimited)\",\n\t\"menu.ftsStringLiteralsIndex.label\": \"FTS index for xsd:string literals\",\n\t\"menu.ftsIrisIndex.label\": \"FTS index for full-text indexing of IRIs\",\n\t\"menu.ftsDefaultAnalyzer.label\": \"Analyzer for the default index\",\n\t\"menu.resources.label\": \"System\",\n\t\"menu.setup.label\": \"Setup\",\n\t\"menu.lab.label\": \"Lab\",\n\t\"menu.ttyg.label\": \"Talk to Your Graph\",\n\t\"menu.repositories.label\": \"Repositories\",\n\t\"menu.aclmanagement.label\": \"ACL Management\",\n\t\"menu.users.and.access.label\": \"Users and Access\",\n\t\"menu.my.settings.label\": \"My Settings\",\n\t\"menu.cluster.label\": \"Cluster\",\n\t\"menu.connectors.label\": \"Connectors\",\n\t\"menu.namespaces.label\": \"Namespaces\",\n\t\"menu.autocomplete.label\": \"Autocomplete\",\n\t\"menu.jdbc.label\": \"JDBC\",\n\t\"menu.sparql.template.label\": \"SPARQL Templates\",\n\t\"menu.license.label\": \"License\",\n\t\"menu.help.label\": \"Help\",\n\t\"menu.system.information.label\": \"System information\",\n\t\"menu.rest.api.label\": \"REST API\",\n\t\"menu.documentation.label\": \"Documentation\",\n\t\"menu.tutorials.label\": \"Tutorials\",\n\t\"menu.support.label\": \"Support\",\n\t\"menu.guides.label\": \"Interactive guides\",\n\t\"menu.plugins.label\": \"Plugins\",\n\t\"menu.graphql.label\": \"GraphQL\",\n\t\"menu.graphql-endpoint-management.label\": \"Endpoint Management\",\n\t\"menu.graphql-playground.label\": \"GraphQL Playground\",\n\t\"visual.graph.label\": \"Visual graph\",\n\t\"view.rdf.rank.title\": \"RDF Rank\",\n\tlanguage_selector: language_selector$1,\n\t\"repository-selector\": {\n\tbtn: {\n\t\ttoggle: \"Choose repository\",\n\t\tno_repositories: \"No accessible repositories\"\n\t},\n\ttooltip: {\n\t\trepository: \"Repository\",\n\t\tlocation: \"Location\",\n\t\tlocal: \"Local\",\n\t\ttype: \"Type\",\n\t\ttypes: {\n\t\t\tgraphdb: \"Graphdb\",\n\t\t\tsystem: \"System\",\n\t\t\tontop: \"Ontop\",\n\t\t\tfedx: \"FedX\",\n\t\t\tunknown: \"Unknown\"\n\t\t},\n\t\taccess: \"Access\",\n\t\taccesses: {\n\t\t\tread: \"Read\",\n\t\t\twrite: \"Write\",\n\t\t\tread_write: \"Read/Write\"\n\t\t},\n\t\t\"repository-size\": {\n\t\t\ttotal: \"Total statements\",\n\t\t\texplicit: \"Explicit\",\n\t\t\tinferred: \"Inferred\",\n\t\t\texpansion_ratio: \"Expansion ratio (total/explicit)\"\n\t\t}\n\t}\n},\n\tlicense_alert: license_alert$1,\n\tfooter: footer$1,\n\tpermission_banner: permission_banner$1,\n\tcookie: cookie$1,\n\tsecurity: security$1,\n\toperations_notification: operations_notification$1,\n\tuser_menu: user_menu$1,\n\trdf_search: rdf_search$1,\n\topenid: openid$1\n};\n\nconst common = {\n\t\"import\": \"Importer\",\n\tbutton: {\n\t\tok: \"D'accord\",\n\t\tclose: \"Fermer\"\n\t},\n\tloading: \"Chargement...\"\n};\nconst language_selector = {\n\ttoggle_menu: {\n\t\tlabel: \"Sélectionner la langue\",\n\t\ttooltip: \"Langue actuelle : Anglais\"\n\t},\n\tlanguage: {\n\t\ten: {\n\t\t\tlabel: \"en · Anglais\",\n\t\t\ttooltip: {\n\t\t\t\tselected: \"Langue actuelle\",\n\t\t\t\tnot_selected: \"Changer la langue en Anglais\"\n\t\t\t}\n\t\t},\n\t\tfr: {\n\t\t\tlabel: \"fr · Français\",\n\t\t\ttooltip: {\n\t\t\t\tselected: \"Langue actuelle\",\n\t\t\t\tnot_selected: \"Changer la langue en Français\"\n\t\t\t}\n\t\t}\n\t}\n};\nconst license_alert = {\n\tlabel: \"Aucune licence valide\",\n\tno_license_set: \"Aucune licence n'a été définie.\"\n};\nconst footer = {\n\tlabel: {\n\t\tall_rights_reserved: \"Tous droits réservés.\"\n\t}\n};\nconst permission_banner = {\n\tno_access_error: \"Vous n'avez pas la permission d'accéder à cette fonctionnalité avec vos informations d'identification actuelles.\",\n\tchange_menu_or_user_warning: \"Veuillez choisir un autre élément du menu ou vous connecter comme un autre utilisateur.\"\n};\nconst cookie = {\n\tcookie_consent: \"Nous pouvons utiliser des cookies pour nous aider à améliorer GraphDB et développer de meilleures fonctionnalités. Aucune information personnelle ou sensible n'est collectée. En cliquant sur « D'accord », vous consentez à notre \",\n\tcookie_policy_url_label: \"politique de cookies\",\n\tpolicy: {\n\t\ttitle: \"Politique de cookies\",\n\t\tpurpose_heading: \"Objectif\",\n\t\tpurpose_text: \"Cette politique de cookies explique les données qu'Ontotext collecte et utilise lorsque vous utilisez notre produit GraphDB, en particulier l'édition Free.\",\n\t\tpurpose_enterprise_text: \"Veuillez noter que si vous passez à l'édition commerciale GraphDB Enterprise, aucun cookie ne sera stocké sur votre appareil, quel que soit le paramètre.\",\n\t\tprivacy_commitment_heading: \"Engagement de confidentialité d'Ontotext\",\n\t\tprivacy_commitment_text: \"Nous nous engageons à ne collecter aucune donnée personnelle ou information lorsque vous utilisez GraphDB Free. De plus :\",\n\t\tprivacy_commitment_1: \"Nous ne vendrons ni ne louerons à d'autres les informations techniques que nous collectons.\",\n\t\tprivacy_commitment_2: \"Nous nous efforçons de maximiser la protection de toutes les données techniques collectées.\",\n\t\tcookies_heading: \"Cookies\",\n\t\tcookies_text: \"Lorsque vous utilisez l'édition GraphDB Free, Ontotext stockera des cookies sur votre appareil pour collecter des informations anonymes sur la façon dont vous interagissez avec le produit. Ces données techniques nous aident à améliorer et affiner notre produit. Il est important de noter que nous ne pouvons pas relier ces informations à vous personnellement ni à aucune donnée identifiable. Ces cookies ont uniquement pour but de nous aider à comprendre les interactions des utilisateurs et à identifier les éventuels problèmes dans GraphDB.\",\n\t\tmanage_cookies_heading: \"Gérer les cookies\",\n\t\tstatistic_cookies: \"Cookies d'analyse GraphDB\",\n\t\tstatistic_tooltip: \"Activer/désactiver les cookies d'analyse GraphDB\",\n\t\tstatistic_text: \"Ces cookies nous aident à comprendre comment les utilisateurs interagissent avec différents aspects de GraphDB en collectant et en rapportant des informations de manière anonyme. Ces données nous permettent d'améliorer l'expérience globale du produit et de développer des fonctionnalités en fonction de l'utilisation de GraphDB, sans collecter d'informations personnelles.\",\n\t\tthird_party_cookies: \"Cookies tiers\",\n\t\tthird_party_tooltip: \"Activer/désactiver les cookies tiers\",\n\t\tthird_party_cookies_text: \"Nous utilisons les cookies Google Analytics 4 (GA4) pour nous aider à reconnaître les utilisateurs et sessions uniques, à suivre les interactions et à collecter des données telles que les pages consultées, la durée des sessions et l'engagement. Ces cookies sont gérés par Google, ce qui signifie que nous n'avons pas de contrôle sur leur fonctionnement. L'anonymisation IP est activée par défaut dans GA4, de sorte qu'il ne peut ni stocker les adresses IP ni suivre les utilisateurs personnellement. Aucune donnée n'est partagée entre GA4 et d'autres produits Google, et le traitement s'effectue à l'échelle mondiale, principalement aux États-Unis, sans enfreindre le RGPD, car aucune donnée personnelle n'est collectée.\",\n\t\tchange_cookies: \"Vous pouvez modifier vos préférences de cookies à tout moment dans\",\n\t\tchange_cookies_location4: \"Politique de cookies\"\n\t}\n};\nconst security = {\n\tuser: {\n\t\tsettings: \"Paramètres de l'utilisateur\"\n\t}\n};\nconst operations_notification = {\n\tlinks: {\n\t\tqueries: \"Exécution de requêtes\",\n\t\tupdates: \"Exécution de mises à jour\",\n\t\timports: \"Exécution d'importations\",\n\t\tCREATE_BACKUP_IN_PROGRESS: \"Création de sauvegarde en cours\",\n\t\tRESTORE_BACKUP_IN_PROGRESS: \"Restauration de sauvegarde en cours\",\n\t\tCREATE_CLOUD_BACKUP_IN_PROGRESS: \"Création de sauvegarde cloud en cours\",\n\t\tRESTORE_CLOUD_BACKUP_IN_PROGRESS: \"Restauration de sauvegarde cloud en cours\",\n\t\tIN_SYNC: \"Synchronisé\",\n\t\tRECOVERING: \"Récupération en cours\",\n\t\tOUT_OF_SYNC: \"Désynchronisé\",\n\t\tUNAVAILABLE_NODES: \"Nœuds indisponibles\"\n\t}\n};\nconst user_menu = {\n\tmy_settings: \"Mes paramètres\",\n\tlogout: \"Déconnexion\",\n\tlogin: \"Se connecter\"\n};\nconst rdf_search = {\n\tlabels: {\n\t\tsearch: \"Rechercher des ressources RDF\",\n\t\thint: \"Indice : \\\"abC\\\" correspond à \\\"abC*\\\", \\\"ab c*\\\" et \\\"ab-c*\\\".\"\n\t},\n\tbuttons: {\n\t\ttable: \"Tableau\",\n\t\tvisual: \"Visuel\"\n\t},\n\ttooltips: {\n\t\tclose_search_area: \"Fermer la recherche\",\n\t\tclear: \"Clair\"\n\t},\n\ttoasts: {\n\t\tuse_view_resource: \"<b>Rechercher des ressources RDF</b></br>Utilisez <b>Voir la ressource</b> sur cette page\",\n\t\tautocomplete_is_off: \"L'autocomplétion est désactivée<br>Aller à Configuration -> Autocomplétion\",\n\t\tempty_input: \"S'il vous plaît remplir le champ de saisie!\",\n\t\tinvalid_uri: \"IRI non valide\"\n\t}\n};\nconst openid = {\n\terrors: {\n\t\ttitle: \"Échec de l'authentification OpenID\",\n\t\tunknown_flow: \"Flux d'authentification inconnu: {{authFlow}}\",\n\t\tinvalid_pkce_state: \"État PKCE invalide\",\n\t\tcannot_retrieve_token: \"Impossible de récupérer le jeton après la connexion: {{error}}\",\n\t\tcannot_refresh_token: \"Impossible de rafraîchir le jeton OpenID: {{error}}\",\n\t\tuser_no_access: \"L'utilisateur n'a pas accès à GraphDB\"\n\t}\n};\nvar fr = {\n\t\"menu.logo.link.title\": \"Logo GraphDB\",\n\t\"menu.buttons.expand\": \"Développer le menu\",\n\t\"menu.buttons.collapse\": \"Réduire le menu\",\n\tcommon: common,\n\t\"menu.rdf.label\": \"RDF\",\n\t\"menu.explore.label\": \"Explorez\",\n\t\"menu.graphs.overview.label\": \"Aperçu des graphes\",\n\t\"menu.class.relationships.label\": \"Relations entre les classes\",\n\t\"menu.class.hierarchy.label\": \"Hiérarchie des classes\",\n\t\"menu.similarity.label\": \"Similarité\",\n\t\"menu.sparql.label\": \"SPARQL\",\n\t\"menu.monitor.label\": \"Surveiller\",\n\t\"menu.queries.and.updates.label\": \"Requêtes et mises à jour\",\n\t\"menu.backup_and_restore.label\": \"Sauvegarde et Restauration\",\n\t\"menu.enableFtsIndex.label\": \"Activer l'index de recherche plein texte\",\n\t\"menu.ftsIndexes.label\": \"Index de recherche en texte intégral à construire (délimités par des virgules)\",\n\t\"menu.ftsStringLiteralsIndex.label\": \"Index de recherche en texte intégral pour les littéraux xsd:string\",\n\t\"menu.ftsIrisIndex.label\": \"Index de recherche en texte intégral pour l'indexation en texte intégral des IRI\",\n\t\"menu.ftsDefaultAnalyzer.label\": \"Analyseur pour l'index par défaut\",\n\t\"menu.resources.label\": \"Système\",\n\t\"menu.setup.label\": \"Configurer\",\n\t\"menu.lab.label\": \"Laboratoire\",\n\t\"menu.ttyg.label\": \"Parlez à votre graphe\",\n\t\"menu.repositories.label\": \"Dépôts\",\n\t\"menu.aclmanagement.label\": \"Gestion ACL\",\n\t\"menu.users.and.access.label\": \"Utilisateurs et accès\",\n\t\"menu.my.settings.label\": \"Mes paramètres\",\n\t\"menu.cluster.label\": \"Cluster\",\n\t\"menu.connectors.label\": \"Connecteurs\",\n\t\"menu.namespaces.label\": \"Espaces de noms\",\n\t\"menu.autocomplete.label\": \"Autocomplétion\",\n\t\"menu.jdbc.label\": \"JDBC\",\n\t\"menu.sparql.template.label\": \"Modèles SPARQL\",\n\t\"menu.license.label\": \"Licence\",\n\t\"menu.help.label\": \"Aide\",\n\t\"menu.system.information.label\": \"Informations sur le système\",\n\t\"menu.rest.api.label\": \"API REST\",\n\t\"menu.documentation.label\": \"Documentation\",\n\t\"menu.tutorials.label\": \"Tutoriels\",\n\t\"menu.support.label\": \"Support\",\n\t\"menu.guides.label\": \"Guides interactifs\",\n\t\"menu.plugins.label\": \"Plugins\",\n\t\"menu.graphql.label\": \"GraphQL\",\n\t\"menu.graphql-endpoint-management.label\": \"Gestion des points de terminaison\",\n\t\"menu.graphql-playground.label\": \"GraphQL Playground\",\n\t\"visual.graph.label\": \"Graphique visuel\",\n\t\"view.rdf.rank.title\": \"Rang RDF\",\n\tlanguage_selector: language_selector,\n\t\"repository-selector\": {\n\tbtn: {\n\t\ttoggle: \"Choisissez le dépôt\",\n\t\tno_repositories: \"Aucun dépôt accessible\"\n\t},\n\ttooltip: {\n\t\trepository: \"Dépôt\",\n\t\tlocation: \"L'emplacement\",\n\t\tlocal: \"Local\",\n\t\ttype: \"Type\",\n\t\ttypes: {\n\t\t\tgraphdb: \"Graphdb\",\n\t\t\tsystem: \"Système\",\n\t\t\tontop: \"Ontop\",\n\t\t\tfedx: \"FedX\",\n\t\t\tunknown: \"Inconnu\"\n\t\t},\n\t\taccess: \"Accéder\",\n\t\taccesses: {\n\t\t\tread: \"Lire\",\n\t\t\twrite: \"Écrire\",\n\t\t\tread_write: \"Lire/Écrire\"\n\t\t},\n\t\t\"repository-size\": {\n\t\t\ttotal: \"Total des déclarations\",\n\t\t\texplicit: \"Explicite\",\n\t\t\tinferred: \"Déduit\",\n\t\t\texpansion_ratio: \"Taux d'expansion (total/explicite)\"\n\t\t}\n\t}\n},\n\tlicense_alert: license_alert,\n\tfooter: footer,\n\tpermission_banner: permission_banner,\n\tcookie: cookie,\n\tsecurity: security,\n\toperations_notification: operations_notification,\n\tuser_menu: user_menu,\n\trdf_search: rdf_search,\n\topenid: openid\n};\n\nconst OntoTestContext = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.bundles = { en, fr };\n this.eventEmitter = new EventEmitter();\n this.onLanguageChanged();\n this.setSecurityConfig({ enabled: false, freeAccess: { enabled: false } });\n }\n /**\n * Initializes the application configuration context.\n *\n * This method uses the ConfigurationContextService to update the application\n * configuration and returns a resolved Promise once the operation is complete.\n * @param configuration - The new Configuration object to be set.\n * @returns A Promise that resolves when the configuration update is complete.\n */\n initConfigurationContext(configuration) {\n ServiceProvider.get(ConfigurationContextService).updateApplicationConfiguration(configuration);\n return Promise.resolve();\n }\n /**\n * Updates the license information in the context.\n *\n * This method uses the LicenseContextService to update the license\n * and returns a resolved Promise once the operation is complete.\n *\n * @param license - The new License object to be set.\n * @returns A Promise that resolves when the license update is complete.\n */\n updateLicense(license) {\n ServiceProvider.get(LicenseContextService).updateGraphdbLicense(license);\n return Promise.resolve();\n }\n /**\n * Updates the product information in the context.\n *\n * This method uses the ProductInfoContextService to update the product information\n * and returns a resolved Promise once the operation is complete.\n *\n * @param productInfo - The new ProductInfo object to be set.\n * @returns A Promise that resolves when the product information update is complete.\n */\n updateProductInfo(productInfo) {\n ServiceProvider.get(ProductInfoContextService).updateProductInfo(productInfo);\n return Promise.resolve();\n }\n /**\n * Loads the repositories in the application.\n */\n loadRepositories() {\n ServiceProvider.get(RepositoryService).getRepositories().then((repositories) => {\n ServiceProvider.get(RepositoryContextService).updateRepositoryList(repositories);\n });\n return Promise.resolve();\n }\n /**\n * Sets the authenticated user in the application context.\n *\n * @param user - The AuthenticatedUser object containing the user's authentication information.\n * @returns A Promise that resolves when the authenticated user has been successfully updated\n */\n setAuthenticatedUser(user) {\n // Don't map if undefined is passed. This allows to clear the user in context\n const userModel = user\n ? mapAuthenticatedUserResponseToModel(user)\n : undefined;\n ServiceProvider.get(SecurityContextService).updateAuthenticatedUser(userModel);\n ServiceProvider.get(AuthenticationStorageService).setAuthToken('token');\n return Promise.resolve();\n }\n /**\n * Sets the security configuration in the application context.\n *\n * @param securityConfig - The SecurityConfig object containing the new security settings to be applied.\n * @returns A Promise that resolves when the security configuration has been successfully updated.\n */\n setSecurityConfig(securityConfig) {\n const config = this.createSecurityConfig(securityConfig);\n ServiceProvider.get(SecurityContextService).updateSecurityConfig(config);\n this.setAuthStrategy(config);\n return Promise.resolve();\n }\n /**\n * Logs in a user with the provided username and password.\n *\n * This method uses the AuthenticationService to perform the login operation.\n * It returns a Promise that resolves when the login process is complete.\n * @param username\n * @param password\n */\n login(username, password) {\n const authService = ServiceProvider.get(AuthenticationService);\n return authService.login(username, password);\n }\n /**\n * Changes the application's language by updating the language bundle.\n *\n * This method uses the LanguageContextService to update the language bundle\n * based on the provided language code. It retrieves the corresponding bundle\n * from the predefined bundles object and updates the context.\n *\n * @param language - The language code (e.g., 'en' for English, 'fr' for French)\n * representing the desired language to switch to.\n * @returns A Promise that resolves when the language update is complete.\n */\n changeLanguage(language) {\n ServiceProvider.get(LanguageContextService).updateLanguageBundle(this.bundles[language]);\n return Promise.resolve();\n }\n /**\n * Emits {@see NavigationEnd} event with <code>oldUrl</code> and <code>newUrl</code>.\n * @param oldUrl - the value will be used as old url in the event payload.\n * @param newUrl - the value will be used as new url in the event payload.\n */\n emitNavigateEndEvent(oldUrl, newUrl) {\n ServiceProvider.get(EventService).emit(new NavigationEnd(oldUrl, newUrl));\n return Promise.resolve();\n }\n /**\n * Updates the selected repository in the application context.\n *\n * @method updateSelectedRepository\n * @param repositoryReference - The RepositoryReference object representing the repository to select.\n * @returns A Promise that resolves when the selected repository has been updated.\n */\n updateSelectedRepository(repositoryReference) {\n ServiceProvider.get(RepositoryContextService).updateSelectedRepository(repositoryReference);\n return Promise.resolve();\n }\n /**\n * Updates whether the active repository request is in a loading state.\n *\n * @param isLoading - A boolean value indicating whether the repository location is in a loading state.\n * True indicates request is in progress, false indicates loading is complete.\n * @returns A Promise that resolves when the loading state update is complete.\n */\n updateIsLoadingActiveRepositoryLocation(isLoading) {\n ServiceProvider.get(RepositoryLocationContextService).updateIsLoading(isLoading);\n return Promise.resolve();\n }\n /**\n * Adds a toast notification to the application.\n *\n * @param toast - The ToastMessage object containing the notification details\n * such as message content, type, and display options.\n */\n addToastr(toast) {\n this.eventEmitter.emit({ NAME: CREATE_TOAST_EVENT, payload: new ToastMessage(toast.type, toast.message) });\n return Promise.resolve();\n }\n /**\n * Adds a notification to the application.\n * @param notification - The Notification object containing the notification details.\n */\n addNotification(notification) {\n // create the toastr service, which starts listening for notifications\n service(OntoToastrService);\n notify(notification);\n return Promise.resolve();\n }\n /**\n * Sets the autocomplete status in the context.\n *\n * @param enabled whether autocomplete is enabled or disabled.\n */\n setAutocomplete(enabled) {\n ServiceProvider.get(AutocompleteContextService).updateAutocompleteEnabled(enabled);\n return Promise.resolve();\n }\n /**\n * Sets the namespace map in the application context.\n *\n * @param rawNamespaces - The namespace map containing prefix-to-URI mappings to be used throughout the application\n * @returns A Promise that resolves when the namespace map has been successfully updated\n */\n updateNamespaces(rawNamespaces) {\n ServiceProvider.get(NamespacesContextService).updateNamespaces(new NamespaceMap(rawNamespaces));\n return Promise.resolve();\n }\n /**\n * Sets up a listener for language changes and updates the application language accordingly.\n *\n * This private method subscribes to language change events using the LanguageContextService.\n * When a new language is selected, it calls the changeLanguage method to update the application's language.\n */\n onLanguageChanged() {\n ServiceProvider.get(LanguageContextService).onSelectedLanguageChanged((languageCode) => {\n if (languageCode) {\n this.changeLanguage(languageCode);\n }\n });\n }\n /**\n * Configures the authentication strategy based on the provided security configuration.\n *\n * This private method retrieves the AuthenticationService and sets the authentication strategy\n * according to the given SecurityConfig. It ensures that the application uses the correct\n * authentication mechanism as specified in the security settings.\n *\n * @param securityConfig - The SecurityConfig object containing the security settings to be applied.\n */\n setAuthStrategy(securityConfig) {\n const authenticationStorageService = ServiceProvider.get(AuthenticationStorageService);\n const securityContextService = ServiceProvider.get(SecurityContextService);\n const authorizationService = ServiceProvider.get(AuthorizationService);\n authenticationStorageService.clearAuthToken();\n const authStrategyResolver = service(AuthStrategyResolver);\n const authStrategy = authStrategyResolver.resolveStrategy(securityConfig);\n authStrategy.initialize().then((isLoggedIn) => {\n securityContextService.updateIsLoggedIn(isLoggedIn);\n if (!isLoggedIn) {\n if (authorizationService.hasFreeAccess()) {\n authorizationService.initializeFreeAccess();\n }\n else if (securityConfig.hasOverrideAuth()) {\n authorizationService.initializeOverrideAuth();\n }\n }\n });\n }\n /**\n * Creates a SecurityConfig instance, merging default values with any provided overrides.\n *\n * This private method constructs a SecurityConfig object by combining default settings\n * with any specified overrides. It ensures that all necessary properties are set,\n * providing a complete configuration for security-related operations.\n * @param overrides\n * @private\n */\n createSecurityConfig(overrides) {\n const config = Object.assign({ enabled: true, userLoggedIn: false, passwordLoginEnabled: false, openIdEnabled: false, freeAccess: {}, overrideAuth: {} }, overrides);\n return new SecurityConfig(config);\n }\n};\n\nexport { OntoTestContext as onto_test_context };\n"],"names":["en","common","button","ok","close","loading","language_selector","toggle_menu","label","tooltip","language","selected","not_selected","fr","btn","toggle","no_repositories","repository","location","local","type","types","graphdb","system","ontop","fedx","unknown","access","accesses","read","write","read_write","total","explicit","inferred","expansion_ratio","license_alert","no_license_set","footer","all_rights_reserved","permission_banner","no_access_error","change_menu_or_user_warning","cookie","cookie_consent","cookie_policy_url_label","policy","title","purpose_heading","purpose_text","purpose_enterprise_text","privacy_commitment_heading","privacy_commitment_text","privacy_commitment_1","privacy_commitment_2","cookies_heading","cookies_text","manage_cookies_heading","statistic_cookies","statistic_tooltip","statistic_text","third_party_cookies","third_party_tooltip","third_party_cookies_text","change_cookies","change_cookies_location4","security","user","settings","operations_notification","links","queries","updates","imports","CREATE_BACKUP_IN_PROGRESS","RESTORE_BACKUP_IN_PROGRESS","CREATE_CLOUD_BACKUP_IN_PROGRESS","RESTORE_CLOUD_BACKUP_IN_PROGRESS","IN_SYNC","RECOVERING","OUT_OF_SYNC","UNAVAILABLE_NODES","user_menu","my_settings","logout","login","rdf_search","labels","search","hint","buttons","table","visual","tooltips","close_search_area","clear","toasts","use_view_resource","autocomplete_is_off","empty_input","invalid_uri","openid","errors","unknown_flow","invalid_pkce_state","cannot_retrieve_token","cannot_refresh_token","user_no_access","OntoTestContext","constructor","hostRef","registerInstance","this","bundles","eventEmitter","EventEmitter","onLanguageChanged","setSecurityConfig","enabled","freeAccess","initConfigurationContext","configuration","ServiceProvider","get","ConfigurationContextService","updateApplicationConfiguration","Promise","resolve","updateLicense","license","LicenseContextService","updateGraphdbLicense","updateProductInfo","productInfo","ProductInfoContextService","loadRepositories","RepositoryService","getRepositories","then","repositories","RepositoryContextService","updateRepositoryList","setAuthenticatedUser","userModel","mapAuthenticatedUserResponseToModel","undefined","SecurityContextService","updateAuthenticatedUser","AuthenticationStorageService","setAuthToken","securityConfig","config","createSecurityConfig","updateSecurityConfig","setAuthStrategy","username","password","AuthenticationService","changeLanguage","LanguageContextService","updateLanguageBundle","emitNavigateEndEvent","oldUrl","newUrl","EventService","emit","NavigationEnd","updateSelectedRepository","repositoryReference","updateIsLoadingActiveRepositoryLocation","isLoading","RepositoryLocationContextService","updateIsLoading","addToastr","toast","NAME","CREATE_TOAST_EVENT","payload","ToastMessage","message","addNotification","notification","service","OntoToastrService","notify","setAutocomplete","AutocompleteContextService","updateAutocompleteEnabled","updateNamespaces","rawNamespaces","NamespacesContextService","NamespaceMap","onSelectedLanguageChanged","languageCode","authenticationStorageService","securityContextService","authorizationService","AuthorizationService","clearAuthToken","AuthStrategyResolver","resolveStrategy","initialize","isLoggedIn","updateIsLoggedIn","hasFreeAccess","initializeFreeAccess","hasOverrideAuth","initializeOverrideAuth","overrides","Object","assign","userLoggedIn","passwordLoginEnabled","openIdEnabled","overrideAuth","SecurityConfig"],"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),o=n(62072);function s(e,t,n,s,u,c,l,g,d,p,f,m){angular.extend(this,l("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"}));const h=(0,a.service)(a.SecurityService),v=(0,a.service)(a.AuthenticationService),T=(0,a.service)(a.SecurityContextService),y=(0,a.service)(a.LicenseService),$=(0,a.service)(a.ApplicationSettingsStorageService),w=(0,a.service)(a.NavigationContextService),S=(0,a.service)(a.ThemeService);let x;e.mode="settings",e.showWorkbenchSettings=!0,e.workbenchSettings=$.getApplicationSettings(),e.selectedThemeMode=e.workbenchSettings.themeMode,e.saveButtonText=d.instant("common.save.btn"),e.pageTitle=d.instant("view.settings.title"),e.passwordPlaceholder=d.instant("security.new.password"),e.grantedAuthorities={[r.aj]:{},[r.DX]:{},[r.w0]:{}},e.loader=!1,e.noPassword=!1,e.showCookiePolicyLink=!1,e.hasEditRestrictions=function(){return!0},e.isUser=function(){return e.userType===i.ut.USER},e.goBack=function(){const e=w.getPreviousRoute();(0,a.navigate)(e??"./")},e.updateCurrentUserData=function(){v.getCurrentUser().then(e=>T.updateAuthenticatedUser(e))},e.redirectAdmin=function(){e.currentUserData||c.redirectToLogin()},e.submit=function(){e.noPassword&&e.userType===i.ut.ADMIN?g.openSimpleModal({title:d.instant("security.save.admin.settings"),message:d.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});h.updateAuthenticatedUser(n).then(()=>{t.success(d.instant("security.user.updated",{name:e.user.username})),e.updateCurrentUserData(),S.setThemeMode(e.selectedThemeMode),$.setApplicationSettings(e.workbenchSettings),b()}).catch(e=>{const n=getError(e);t.error(n,d.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.showCookiePolicy=e=>{e.preventDefault(),f.open({templateUrl:"js/angular/core/templates/cookie-policy/cookie-policy.html",controller:o.O,backdrop:"static",keyboard:!1,windowClass:"cookie-policy-modal",resolve:{data:()=>m.getCookieConsent().then(e=>({cookieConsent:e}))}}).result.then(e=>{e&&n.location.reload()})};const b=()=>{x=s(function(){e.loader=!1,n.history.back()},2e3)};e.$on("$destroy",function(){s.cancel(x)}),(()=>{const t=T.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(),y.updateLicenseStatus().then(()=>{e.showCookiePolicyLink=m.isTrackingAllowed()})}angular.module("graphdb.framework.security.controllers.user-settings",["graphdb.framework.core.services.security-service"]).controller("UserSettingsController",s),s.$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.68c7c667ef64ad8e8e0d.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"21015.68c7c667ef64ad8e8e0d.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';\nimport {CookiePolicyModalController} from '../../core/directives/cookie-policy/cookie-policy-modal-controller';\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 // =========================\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 $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\n $uibModal.open({\n templateUrl: 'js/angular/core/templates/cookie-policy/cookie-policy.html',\n controller: CookiePolicyModalController,\n backdrop: 'static',\n keyboard: false,\n windowClass: 'cookie-policy-modal',\n resolve: {\n data: () => {\n return TrackingService.getCookieConsent()\n .then((consent) => {\n return {\n cookieConsent: consent,\n };\n });\n },\n },\n })\n // If the modal returns `shouldReload` as true, we reload the page.\n // Reloading is crucial here due to potential memory leaks that arise from dynamically\n // adding and removing Google Tag Manager (GTM) scripts based on the user's consent choice.\n // See the comments within `CookiePolicyModalController`.\n .result.then((shouldReload) => {\n if (shouldReload) {\n $window.location.reload();\n }\n });\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","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","showCookiePolicy","$event","preventDefault","open","templateUrl","controller","CookiePolicyModalController","backdrop","keyboard","windowClass","resolve","getCookieConsent","consent","cookieConsent","shouldReload","location","reload","history","back","$on","cancel","processUser","principal","getAuthenticatedUser","toUser","confirmpassword","external","getUserType","authorities","toUIModel","customRoles","getCustomRoles","updateLicenseStatus","isTrackingAllowed","module","$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","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__=38644;export const __webpack_esm_ids__=[38644];export const __webpack_esm_modules__={38644(t,e,r){var a=r(88141),n=r(19935),o=(r(32150),r(93462));function s(t,e,r,s,c,i,l,d,p,u,f,g,h){return{restrict:"AE",template:'<div id="domain-range"></div>',scope:{showPredicatesInfoPanel:"=",selectedPredicate:"=",collapseEdges:"="},link:function(u){const f=d(function(){!function(u){var f=1200,y=f/18,x=f/110,m=x/2,v=f/90,b=1.2,k=o.select("#domain-range").append("svg").attr("viewBox","0 0 1200 600").attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null),w=o.forceSimulation(),E=o.drag().subject(function(t){return t}).on("start",function(t,e){w.stop(),e.fx=t.x,e.fy=t.y,o.select(this).classed("selected",!0)}).on("end",function(t,e){e.fx=null,e.fy=null,o.select(this).classed("selected",!1),C?(w.alpha(.2).restart(),C=!1):w.restart()}).on("drag",function(t,e){C=!0,w.alphaTarget(0).restart(),e.fx=t.x,e.fy=t.y}),N=k.append("defs");N.append("marker").attrs({id:"arrow",viewBox:"0 -5 10 10",refX:10,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"collapsed-arrow",viewBox:"0 -5 10 10",refX:9,refY:0,markerUnits:"strokeWidth",markerWidth:4,markerHeight:4,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"arrow-loop",viewBox:"0 -5 10 10",refX:7,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),o.select("#download-svg").on("mouseover",function(){var t=a.A.Export.getCSSRules("css/domain-range-graph.css?v=3.3.2-TR1");$("defs").append('<style type="text/css"><![CDATA['+t+"]]></style>");var e=a.A.Export.generateBase64ImageSource("#domain-range svg");o.select(this).attrs({href:e,download:"domain-range-graph-"+r.getActiveRepository()+".svg"})}),function(){var t=f/7,e=205.7142857142857,r=o.select(".legend-container").append("svg").attr("viewBox","0 0 "+t+" "+e).attr("preserveAspectRatio","xMidYMid meet");r.append("rect").attrs({width:t,height:e}).style("fill","rgba(235, 235, 235, 0.9)");var a=16,n=42.66666666666667,s=n+f/90,i=v/1.1,l=(r.append("circle").attrs({class:"legend-class-node",cx:29.333333333333336,cy:30,r:y/4.5}),30+f/370);r.append("text").attrs({x:s,y:l}).style("font-size",i+"px").text("main class node"),r.append("circle").attrs({class:"legend-object-node",cx:29.333333333333336,cy:70,r:8.727272727272727});var d=l+40;r.append("text").attrs({x:s,y:d}).style("font-size",i+"px").text("class node");var p=70+f/45;r.append("circle").attrs({class:"legend-datatype-node",cx:29.333333333333336,cy:p,r:m});var u=d+f/45;r.append("text").attrs({x:s,y:u}).style("font-size",i+"px").text("datatype node");var g=123.33333333333334;r.append("line").attrs({class:"property-arrow",x1:a,y1:g,x2:n,y2:g}).style("stroke-width",b).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:126.57657657657658}).style("font-size",i+"px").text("explicit property");var h=150;r.append("line").attrs({class:"implicit-property-arrow",x1:a,y1:h,x2:n,y2:h}).style("stroke-width",b).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:153.24324324324326}).style("font-size",i+"px").text("implicit property");var x=176.66666666666666;r.append("line").attrs({class:"collapsed-property-arrow",x1:a,y1:x,x2:n,y2:x}).style("stroke-width",2).attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)"),r.append("text").attrs({x:s,y:179.9099099099099}).style("font-size",i+"px").text("collapsed property")}();var R=c.search().uri,A=c.search().name;const L=c.search().collapsed;(function(t,e){s.getDomainRangeData(t,e).success(function(t,e,r){u.domainRangeGraphData=t}).error(function(t){p.error("Request for "+A+" failed!")})})(R,L),$(window).on("popstate",function(){i.set(l.DOMAIN_RANGE_WENT_BACK,!0)}),e.onpopstate=function(e){e.state&&t.$broadcast("changeCollapsedEdgesState",e.state.collapsed)},u.$watch("collapseEdges",function(){angular.isUndefined(u.collapseEdges)||(i.set(l.DOMAIN_RANGE_COLLAPSE_EDGES,u.collapseEdges),"true"!==i.get(l.DOMAIN_RANGE_WENT_BACK)&&function(e){t.$broadcast("switchEdgeMode",{uri:R,name:A,collapsed:e})}(u.collapseEdges),i.remove(l.DOMAIN_RANGE_WENT_BACK))}),u.$watch("domainRangeGraphData",function(){if(u.domainRangeGraphData){var r=_.cloneDeep(u.domainRangeGraphData);const S=r.nodes,I=r.links;w.nodes(S).force("x",o.forceX(600)).force("y",o.forceY(300)).force("charge",o.forceManyBody().strength(-800)).force("link",o.forceLink(I).distance(f/3.5));var a=k.selectAll(".link").data(I).enter().append("g");function B(t){t.style("stroke",g),t.style("stroke-width",2),t.attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)")}var s,i,l=0;a.each(function(t){if(t.objectPropNodeClassUri!==R)s=a.append("line").attrs({class:"link","marker-end":"url("+c.absUrl()+"#arrow)"}).style("stroke-width",b).each(function(t){switch(t.propertyType){case"objectLeft":t.targetRadius=y;break;case"objectRight":t.targetRadius=x;break;case"datatype":t.targetRadius=m;break;default:t.targetRadius=0}var e=o.select(this);t.targetNodeEdgeCount>1?B(e):t.implicit&&e.style("stroke-dasharray","3, 3")});else{if(angular.isUndefined(i)){var e=y/2;i=o.select(this).append("path").attrs({d:"M 0 0 A "+e+" "+e+" 0 1 1 0 "+e,class:"loop-link",fill:"none","marker-end":"url("+c.absUrl()+"#arrow-loop)"}).style("stroke-width",b)}(l+=t.targetNodeEdgeCount)>1&&B(o.select(".loop-link"))}});var p={};function G(){$.isEmptyObject(p)||(p.text.style("fill","black"),p.background.style("fill","#f0f0f0"))}function W(t,e){G(),p.text=o.select(this),p.background=o.select(this.previousSibling),p.text.style("fill","white"),p.background.style("fill",g),d(function(){u.showPredicatesInfoPanel=!0,u.selectedPredicate=e}),t.stopPropagation()}$("document").ready(function(){$("#domain-range").bind("click",G)});var N=a.append("text").attr("class",function(t){return t.objectPropNodeClassUri===R?"loop-link-property-name":"property-name"}).attr("dx",function(t){return y/2*("objectLeft"===t.propertyType?1:-1)}).style("text-anchor",function(t){return"objectLeft"===t.propertyType?"end":"start"}).style("font-size",v).text(function(t){return t.targetNodeEdgeCount>1?t.targetNodeEdgeCount+" predicates":t.name});N.each(function(t){var r=o.select(this);/\d\spredicates/.test(r.text())?r.style("font-weight","bold").on("click",W):r.on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.uri),"_blank")})});var L=a.append("rect").attr("class",function(t){return t.objectPropNodeClassUri!==R?"link-background":"loop-link-background"}).attr("width",function(t){return t.calculatedWidth=this.previousSibling.getBBox().width,t.calculatedWidth+4}).attr("height",function(t){return t.calculatedHeight=this.previousSibling.getBBox().height,t.calculatedHeight+2}).attr("transform",function(t){var e=2-y/2*("objectLeft"===t.propertyType?1:-1);return"objectLeft"===t.propertyType&&(e+=t.calculatedWidth),"translate(-"+e+",-"+(2+t.calculatedHeight/2)+")"}).on("click",function(t){t.stopPropagation()}),C=k.selectAll(".node").data(S).enter().append("g"),P=C.filter(function(t){return t.objectPropClassUri!==R}).append("circle").each(function(t){var e=o.select(this);"main"===t.classPosition?e.attrs({class:"class-node",r:y}).attr("marker-end","url("+c.absUrl()+"#loop-link)"):null===t.objectPropClassName?e.attrs({class:"datatype-node",r:m}):e.attrs({class:"object-prop-node",r:x})}).call(E);function z(e,r,a){u.$apply(function(){t.$broadcast("reloadDomainRangeGraphView",r,a)})}o.selectAll(".object-prop-node").on("dblclick",z),C.filter(function(t){return t.objectPropClassName&&t.objectPropClassUri!==R}).append("text").attr("class",function(t){return t.classPosition+"-class-label"}).style("font-size",v).text(function(t){return t.objectPropClassName}).on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.objectPropClassUri),"_blank")});var U=C.select("text");k.select(".class-node").each(function(){o.select(this.parentNode).append("text").attr("class","rdf-class-label").style("font-size",function(t){return n.A.Text.calcFontSize(A,y)}).text(A).on("click",function(){e.open("resource?uri="+encodeURIComponent(R),"_blank")})});var j=k.select(".class-node + text"),T=o.select(".class-node"),M=o.selectAll(".loop-link-background"),O=o.selectAll(".loop-link-property-name");if(N=o.selectAll(".property-name"),!angular.isUndefined(i)){var D=[];M.each(function(t,e){o.select(this),D.push({idx:e,width:t.calculatedWidth,height:t.calculatedHeight})})}function F(t){var e=8*w.alpha();function r(t){var e=t.x+2*y,r=t.y-35.08771929824562;var a=[];M.each(function(n,s){a.push(n),s<h?function(a,n){var o=$.grep(D,function(t){return t.idx==n});n>0&&(e+=parseFloat(n*(o[0].height/(n/1.4)))),a.attrs({transform:"rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")",width:o[0].height,height:o[0].width})}(o.select(this),s):o.select(this).remove()}),function(t){var e;o.select(".view-more-preds-label").style("font-weight","bold").each(function(r){r.target.allEdges=t,e=this.getComputedTextLength()}).on("click",W),o.select(".view-more-preds-rect").attr("height",e+4)}(a)}s.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x1",function(t){return t.source.x}).attr("y1",function(t){return t.source.y}).attr("x2",function(t){return t.targetX}).attr("y2",function(t){return t.targetY}).each(function(t){!function(t){"objectLeft"===t.propertyType?(t.source.x-=8*e,t.source.y-=e/9):(t.target.x+=8*e,t.target.y-=e/9)}(t);var r=Math.atan2(t.target.y-t.source.y,t.target.x-t.source.x);t.targetX=t.target.x-Math.cos(r)*t.targetRadius,t.targetY=t.target.y-Math.sin(r)*t.targetRadius}),P.each(function(t){"main"!==t.classPosition||angular.isUndefined(i)||(function(t){var e=t.x+64,r=t.y-y/5.7-5;i.attr("transform","rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")")}(t),function(t){function e(e,r){var a=$.grep(D,function(t){return t.idx==r}),n=0;r>0&&(n=parseFloat(2*r*(a[0].height/1.4)));var o=t.x,s=t.y-2.1*y-n;e.attrs({x:o,y:s}).moveToFront()}O.each(function(t,r){var a=o.select(this),n=O.size()-h;n<0?e(a,r):(0==r&&!u.collapseEdges&&n>1&&(function(t,e,r){t.classed("view-more-preds-label",!0).text(r+" predicates more ..."),null!==this.nextSibling&&e.classed("view-more-preds-rect",!0)}(a,o.select(this.nextSibling),n),e(a,r)),r<h?e(a,r):a.remove())})}(t),r(t)),t.objectPropClassUri!==R&&o.select(this).attr("cx",function(t){return"main"===t.classPosition?function(t){!window.ActiveXObject&&"ActiveXObject"in window&&(Math.log10=function(t){return Math.log(t)/Math.LN10});var e=T.attr("cx")-600,r=.5*Math.log10(Math.abs(e));return t.x+=e>0?-r:r,t.x}(t):t.x}).attr("cy",function(t){return t.y})}),j.attr("x",function(t){return t.x}).attr("y",function(t){return t.y}).moveToFront(),L.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),N.attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),U.attr("x",function(t){return"right"===t.classPosition?t.x+13.09090909090909:t.x-13.09090909090909}).attr("y",function(t){return t.y}).moveToFront()}w.on("tick",F)}});let C=!1}(u)},50);u.$on("$destroy",function(){d.cancel(f)})}}}angular.module("graphdb.framework.graphexplore.directives.domainrange",["graphdb.framework.graphexplore.controllers.domainrange","graphdb.framework.utils.localstorageadapter"]).constant("ONTO_RED","var(--gw-primary-base)").constant("ONTO_GREEN","var(--gw-tertiary-base)").constant("ONTO_BLUE","var(--gw-secondary-base)").constant("NON_COLLAPSED_REFLEXIVE_LINK_LIMIT",6).directive("domainRangeGraph",s),s.$inject=["$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT"]}};
|
|
2
|
-
//# sourceMappingURL=38644.37a8cd71112da94401d9.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"38644.37a8cd71112da94401d9.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"sourcesContent":["import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\nimport * as d3 from 'd3';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', 'var(--gw-primary-base)')\n .constant('ONTO_GREEN', 'var(--gw-tertiary-base)')\n .constant('ONTO_BLUE', 'var(--gw-secondary-base)')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var force = d3.forceSimulation();\n\n var drag = d3.drag()\n .subject(function (d) {\n return d;\n })\n .on(\"start\", dragStart)\n .on(\"end\", dragEnd)\n .on(\"drag\", dragged);\n\n var defs = svg.append(\"defs\");\n generateMarkers(defs);\n\n function generateMarkers(defElement) {\n defs.append(\"marker\")\n .attrs({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n }\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=3.3.2-TR1\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource(\"#domain-range svg\");\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attrs({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n generateLegend();\n\n function generateLegend() {\n // start of code for legend\n\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attrs({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n }\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n const collapsed = $location.search().collapsed;\n\n getDomainRangeData(selectedRdfUri, collapsed);\n\n function getDomainRangeData(selectedRdfUri, collapsed) {\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n }\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = _.cloneDeep(scope.domainRangeGraphData);\n\n const nodes = graph.nodes;\n const links = graph.links;\n\n force.nodes(nodes)\n .force('x', d3.forceX(width / 2))\n .force('y', d3.forceY(height / 2))\n .force(\"charge\", d3.forceManyBody().strength(-800))\n .force(\"link\", d3.forceLink(links).distance(width / 3.5))\n\n var linkGroup = svg.selectAll(\".link\")\n .data(links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attrs({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attrs({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(event, d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (event) {\n event.stopPropagation();\n });\n\n\n var nodeGroup = svg.selectAll(\".node\")\n .data(nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attrs({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attrs({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attrs({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(event, d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n svg.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function () {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = svg.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * force.alpha();\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attrs({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attrs({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n force.on(\"tick\", tick)\n\n }\n });\n\n let isDragged = false;\n\n function dragStart(event, d) {\n force.stop();\n d.fx = event.x;\n d.fy = event.y;\n d3.select(this).classed(\"selected\", true);\n\n }\n\n // Update the subject (dragged node) position during drag.\n function dragged(event, d) {\n isDragged = true;\n\n force.alphaTarget(0).restart();\n d.fx = event.x;\n d.fy = event.y;\n }\n\n // Restore the target alpha so the simulation cools after dragging ends.\n // Unfix the subject position now that it’s no longer being dragged.\n function dragEnd(event, d) {\n d.fx = null;\n d.fy = null;\n d3.select(this).classed(\"selected\", false);\n if (isDragged) {\n force.alpha(0.2).restart();\n isDragged = false;\n } else {\n force.restart();\n }\n }\n\n }\n}\n"],"names":["domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","width","mainClassSize","otherClassSize","datatypeSize","labelFontSize","basicArrowStrokeWidth","svg","d3","append","attr","on","force","drag","subject","d","event","stop","fx","x","fy","y","this","classed","isDragged","alpha","restart","alphaTarget","defs","attrs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","cssRules","SVG","Export","getCSSRules","$","imgSrc","generateBase64ImageSource","href","download","getActiveRepository","legendBackgroundWidth","legendBackgroundHeight","legendCellGroup","height","style","sourceX","targetX","legendTextX","legendLabelFontSize","classNodeTextY","cx","cy","r","text","classNodeY","objectNodeTextY","datatypeNodeY","datatypeNodeTextY","basicPropertyArrowY","x1","y1","x2","y2","absUrl","implicitPropArrowY","collapsedPropArrowY","generateLegend","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","window","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","_","cloneDeep","nodes","links","strength","distance","linkGroup","selectAll","data","enter","styleArrowsInCollapsedMode","sel","loopLink","loopLinkEdgeCount","each","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","loopLinkSize","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","encodeURIComponent","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","node","filter","objectPropClassUri","classPosition","objectPropClassName","call","reloadDomainRangeGraphView","$apply","select","parentNode","D3","Text","calcFontSize","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","tick","e","k","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","Math","atan2","cos","sin","loopTranslateX","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","moveToFront","predicatesLeft","size","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","ActiveXObject","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"ignoreList":[],"sourceRoot":""}
|