graphdb-workbench 3.3.2-TR1 → 3.3.3-TR1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/13231.8bbbe30c10e6c0dfdba3.bundle.js +2 -0
  2. package/dist/13231.8bbbe30c10e6c0dfdba3.bundle.js.map +1 -0
  3. package/dist/{20694.a738f5634ec09369dc85.bundle.js → 20694.4becb7771236462dcc5a.bundle.js} +2 -2
  4. package/dist/20694.4becb7771236462dcc5a.bundle.js.map +1 -0
  5. package/dist/21015.6db2b66597f78d4b83cc.bundle.js +2 -0
  6. package/dist/21015.6db2b66597f78d4b83cc.bundle.js.map +1 -0
  7. package/dist/2975.c5ebc3e3ad52df3ab907.bundle.js +2 -0
  8. package/dist/2975.c5ebc3e3ad52df3ab907.bundle.js.map +1 -0
  9. package/dist/{38644.37a8cd71112da94401d9.bundle.js → 38644.cc471c67239fa24901cc.bundle.js} +2 -2
  10. package/dist/{38644.37a8cd71112da94401d9.bundle.js.map → 38644.cc471c67239fa24901cc.bundle.js.map} +1 -1
  11. package/dist/{39518.2871b32c37b20075dba3.bundle.js → 39518.1c641a7dc1c50a526845.bundle.js} +2 -2
  12. package/dist/{39518.2871b32c37b20075dba3.bundle.js.map → 39518.1c641a7dc1c50a526845.bundle.js.map} +1 -1
  13. package/dist/39874.710e94f211579215f997.bundle.js +2 -0
  14. package/dist/39874.710e94f211579215f997.bundle.js.map +1 -0
  15. package/dist/60560.6ba1b091a34af6c00770.bundle.js +2 -0
  16. package/dist/60560.6ba1b091a34af6c00770.bundle.js.map +1 -0
  17. package/dist/{64118.b06aebc9f8d7e822244f.bundle.js → 64118.177457589341de779668.bundle.js} +2 -2
  18. package/dist/64118.177457589341de779668.bundle.js.map +1 -0
  19. package/dist/{67888.b75d9678cf65cd82f065.bundle.js → 67888.7224e1b2689d73c4d468.bundle.js} +2 -2
  20. package/dist/{67888.b75d9678cf65cd82f065.bundle.js.map → 67888.7224e1b2689d73c4d468.bundle.js.map} +1 -1
  21. package/dist/71099.ba1073458b96d9789756.bundle.js +2 -0
  22. package/dist/71099.ba1073458b96d9789756.bundle.js.map +1 -0
  23. package/dist/75881.148ce498d06784abfd6c.bundle.js +2 -0
  24. package/dist/75881.148ce498d06784abfd6c.bundle.js.map +1 -0
  25. package/dist/78070.d54ede951a08e1c8689d.bundle.js +2 -0
  26. package/dist/78070.d54ede951a08e1c8689d.bundle.js.map +1 -0
  27. package/dist/7815.2aec5ebbcd434f5582ff.bundle.js +2 -0
  28. package/dist/7815.2aec5ebbcd434f5582ff.bundle.js.map +1 -0
  29. package/dist/78681.9e1d4e064e9e1fb5fb21.bundle.js +2 -0
  30. package/dist/78681.9e1d4e064e9e1fb5fb21.bundle.js.map +1 -0
  31. package/dist/{82926.99231caacc379c66487a.bundle.js → 82926.bbdac6a7e9eb883ae97b.bundle.js} +2 -2
  32. package/dist/{82926.99231caacc379c66487a.bundle.js.map → 82926.bbdac6a7e9eb883ae97b.bundle.js.map} +1 -1
  33. package/dist/{94229.47dbdba202106c61dff1.bundle.js → 94229.5a853fae006f6ef633af.bundle.js} +2 -2
  34. package/dist/94229.5a853fae006f6ef633af.bundle.js.map +1 -0
  35. package/dist/95953.1350a9dc14b22372b4e2.bundle.js +2 -0
  36. package/dist/95953.1350a9dc14b22372b4e2.bundle.js.map +1 -0
  37. package/dist/98268.a1bd17e40ede031a0a00.bundle.js +2 -0
  38. package/dist/98268.a1bd17e40ede031a0a00.bundle.js.map +1 -0
  39. package/dist/{99448.272a4ba1ce8032167bea.bundle.js → 99448.b9922814bd15808a9d1c.bundle.js} +2 -2
  40. package/dist/{99448.272a4ba1ce8032167bea.bundle.js.map → 99448.b9922814bd15808a9d1c.bundle.js.map} +1 -1
  41. package/dist/api/models/cookie/cookie-options.d.ts +17 -0
  42. package/dist/api/models/cookie/index.d.ts +1 -1
  43. package/dist/api/models/security/authenticated-user.d.ts +2 -0
  44. package/dist/api/models/tracking/cookie-consent.d.ts +39 -0
  45. package/dist/api/models/tracking/index.d.ts +1 -0
  46. package/dist/api/models/users/app-settings.d.ts +2 -2
  47. package/dist/api/ontotext-workbench-api.d.ts +3 -1
  48. package/dist/api/ontotext-workbench-api.js +1 -1
  49. package/dist/api/ontotext-workbench-api.js.map +1 -1
  50. package/dist/api/services/cookie/browser-cookie-store.d.ts +19 -0
  51. package/dist/api/services/cookie/cookie-builder.d.ts +77 -0
  52. package/dist/api/services/cookie/cookie-store.d.ts +16 -0
  53. package/dist/api/services/cookie/cookie.service.d.ts +34 -7
  54. package/dist/api/services/cookie/error/invalid-cookie-expiration.d.ts +8 -0
  55. package/dist/api/services/cookie/index.d.ts +3 -0
  56. package/dist/api/services/cookie/test/cookie-builder.spec.d.ts +1 -0
  57. package/dist/api/services/cookie/test/in-memory-cookie-store.d.ts +11 -0
  58. package/dist/api/services/security/auth-strategies/tests/provider-response-mocks.d.ts +2 -2
  59. package/dist/api/services/security/security-context.service.d.ts +6 -0
  60. package/dist/api/services/tracking/google-analytics-cookie.service.d.ts +50 -0
  61. package/dist/api/services/tracking/index.d.ts +4 -0
  62. package/dist/api/services/tracking/installation-cookie.service.d.ts +37 -0
  63. package/dist/api/services/tracking/test/tracking-storage.service.spec.d.ts +1 -0
  64. package/dist/api/services/tracking/test/tracking.service.spec.d.ts +1 -0
  65. package/dist/api/services/tracking/tracking-storage.service.d.ts +27 -0
  66. package/dist/api/services/tracking/tracking.service.d.ts +56 -0
  67. package/dist/api/services/users/response/user-response.d.ts +1 -1
  68. package/dist/api/services/utils/date-util.d.ts +11 -0
  69. package/dist/api/services/utils/index.d.ts +1 -0
  70. package/dist/api/services/window/window.service.d.ts +6 -0
  71. package/dist/assets/i18n/fr.json +1 -1
  72. package/dist/index.html +9 -9
  73. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  74. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  75. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  76. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  77. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  78. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  79. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +2 -2
  80. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  81. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  82. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  83. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  84. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  85. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  86. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  87. package/dist/js/angular/graphql/templates/graphql-playground.html +2 -2
  88. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  89. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  90. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  91. package/dist/js/angular/security/templates/user.html +5 -2
  92. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  93. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  94. package/dist/js/angular/ttyg/templates/chat-item-detail.html +3 -2
  95. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  96. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  97. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  98. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +3 -3
  99. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  100. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  101. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  102. package/dist/legacyWorkbench.4d8a4e8dde83fc9ac427.js +3 -0
  103. package/dist/{legacyWorkbench.88e1d4d209e51c6f9b65.js.map → legacyWorkbench.4d8a4e8dde83fc9ac427.js.map} +1 -1
  104. package/dist/license-checker-static.json +0 -7
  105. package/dist/{main.1be0fc11ab24b99f8800.js → main.14f083264cd64618d96a.js} +3 -3
  106. package/dist/main.14f083264cd64618d96a.js.map +1 -0
  107. package/dist/pages/aclmanagement.html +1 -1
  108. package/dist/pages/autocomplete.html +1 -1
  109. package/dist/pages/choose-repository-type.html +1 -1
  110. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  111. package/dist/pages/create-index.html +1 -1
  112. package/dist/pages/dependencies.html +1 -1
  113. package/dist/pages/domainRangeInfo.html +2 -2
  114. package/dist/pages/edit.html +1 -1
  115. package/dist/pages/explore.html +1 -1
  116. package/dist/pages/export.html +1 -1
  117. package/dist/pages/find.html +1 -1
  118. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  119. package/dist/pages/graphs-visualizations.html +7 -7
  120. package/dist/pages/guides.html +1 -1
  121. package/dist/pages/home.html +1 -1
  122. package/dist/pages/import.html +2 -2
  123. package/dist/pages/jdbc-create.html +1 -1
  124. package/dist/pages/jdbc.html +1 -1
  125. package/dist/pages/monitor/backup-and-restore.html +1 -1
  126. package/dist/pages/monitor/queries.html +1 -1
  127. package/dist/pages/monitor/resources.html +1 -1
  128. package/dist/pages/namespaces.html +2 -2
  129. package/dist/pages/plugins.html +1 -1
  130. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  131. package/dist/pages/rdfrank.html +2 -2
  132. package/dist/pages/repositories.html +1 -1
  133. package/dist/pages/repository.html +1 -1
  134. package/dist/pages/similarity-indexes.html +1 -1
  135. package/dist/pages/sparql-editor.html +1 -1
  136. package/dist/pages/sparql-template-create.html +1 -1
  137. package/dist/pages/sparql-templates.html +1 -1
  138. package/dist/pages/ux-test1.html +2 -2
  139. package/dist/pages/webapi.html +4 -3
  140. package/dist/res/swagger5/index.html +11 -11
  141. package/dist/res/swagger5/swagger-initializer.js +1 -1
  142. package/dist/shared-components/cjs/function-utils-WB47AWpR.js +1 -0
  143. package/dist/shared-components/cjs/loader.cjs.js +1 -1
  144. package/dist/shared-components/cjs/onto-cookie-consent_2.cjs.entry.js +1 -1
  145. package/dist/shared-components/cjs/onto-dialog_2.cjs.entry.js +1 -1
  146. package/dist/shared-components/cjs/onto-footer_5.cjs.entry.js +1 -1
  147. package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
  148. package/dist/shared-components/cjs/onto-test-context.cjs.entry.js +1 -1
  149. package/dist/shared-components/cjs/shared-components.cjs.js +1 -1
  150. package/dist/shared-components/collection/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.js +1 -1
  151. package/dist/shared-components/collection/components/dialogs/onto-dialog.js +1 -1
  152. package/dist/shared-components/collection/components/onto-cookie-consent/onto-cookie-consent.css +1 -1
  153. package/dist/shared-components/collection/components/onto-cookie-consent/onto-cookie-consent.js +1 -1
  154. package/dist/shared-components/collection/components/onto-footer/onto-footer.js +1 -1
  155. package/dist/shared-components/esm/function-utils-D1ZpXQQS.js +1 -0
  156. package/dist/shared-components/esm/loader.js +1 -1
  157. package/dist/shared-components/esm/onto-cookie-consent_2.entry.js +1 -1
  158. package/dist/shared-components/esm/onto-dialog_2.entry.js +1 -1
  159. package/dist/shared-components/esm/onto-footer_5.entry.js +1 -1
  160. package/dist/shared-components/esm/onto-layout.entry.js +1 -1
  161. package/dist/shared-components/esm/onto-test-context.entry.js +1 -1
  162. package/dist/shared-components/esm/shared-components.js +1 -1
  163. package/dist/shared-components/shared-components/{p-279a026b.entry.js → p-5886e663.entry.js} +1 -1
  164. package/dist/shared-components/shared-components/p-598d33d7.entry.js +1 -0
  165. package/dist/shared-components/shared-components/p-6d34b2cb.entry.js +1 -0
  166. package/dist/shared-components/shared-components/p-74888633.entry.js +1 -0
  167. package/dist/shared-components/shared-components/p-D1ZpXQQS.js +1 -0
  168. package/dist/shared-components/shared-components/p-b5d4081d.entry.js +1 -0
  169. package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
  170. package/dist/shared-components/types/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.d.ts +31 -7
  171. package/dist/shared-components/types/components/onto-cookie-consent/onto-cookie-consent.d.ts +2 -2
  172. package/dist/shared-components/types/components/onto-footer/onto-footer.d.ts +9 -2
  173. package/dist/shared-components/types/components.d.ts +17 -8
  174. package/dist/shared-components/types/models/dialog/dialog-handler.d.ts +4 -0
  175. package/package.json +1 -1
  176. package/dist/13231.9b625e487e6385faa36f.bundle.js +0 -2
  177. package/dist/13231.9b625e487e6385faa36f.bundle.js.map +0 -1
  178. package/dist/20694.a738f5634ec09369dc85.bundle.js.map +0 -1
  179. package/dist/21015.68c7c667ef64ad8e8e0d.bundle.js +0 -2
  180. package/dist/21015.68c7c667ef64ad8e8e0d.bundle.js.map +0 -1
  181. package/dist/2975.8be1a79816fd811be223.bundle.js +0 -2
  182. package/dist/2975.8be1a79816fd811be223.bundle.js.map +0 -1
  183. package/dist/39874.47a6948df3520a7bf37a.bundle.js +0 -2
  184. package/dist/39874.47a6948df3520a7bf37a.bundle.js.map +0 -1
  185. package/dist/60560.275a89ab1375e91de0aa.bundle.js +0 -2
  186. package/dist/60560.275a89ab1375e91de0aa.bundle.js.map +0 -1
  187. package/dist/64118.b06aebc9f8d7e822244f.bundle.js.map +0 -1
  188. package/dist/71099.ca7720893604e9d908d6.bundle.js +0 -2
  189. package/dist/71099.ca7720893604e9d908d6.bundle.js.map +0 -1
  190. package/dist/75881.54dc716f79b6fe29232a.bundle.js +0 -2
  191. package/dist/75881.54dc716f79b6fe29232a.bundle.js.map +0 -1
  192. package/dist/78070.13538271878de6a98862.bundle.js +0 -2
  193. package/dist/78070.13538271878de6a98862.bundle.js.map +0 -1
  194. package/dist/7815.f09f8d6953d2c964e04d.bundle.js +0 -2
  195. package/dist/7815.f09f8d6953d2c964e04d.bundle.js.map +0 -1
  196. package/dist/78681.0cfa1e86d4dac1b7e7e8.bundle.js +0 -2
  197. package/dist/78681.0cfa1e86d4dac1b7e7e8.bundle.js.map +0 -1
  198. package/dist/94229.47dbdba202106c61dff1.bundle.js.map +0 -1
  199. package/dist/95953.ec1b9d5e568d43ec3dcf.bundle.js +0 -2
  200. package/dist/95953.ec1b9d5e568d43ec3dcf.bundle.js.map +0 -1
  201. package/dist/98268.86ff371dde616b4e2a76.bundle.js +0 -2
  202. package/dist/98268.86ff371dde616b4e2a76.bundle.js.map +0 -1
  203. package/dist/api/models/cookie/cookie-consent.d.ts +0 -14
  204. package/dist/legacyWorkbench.88e1d4d209e51c6f9b65.js +0 -3
  205. package/dist/main.1be0fc11ab24b99f8800.js.map +0 -1
  206. package/dist/shared-components/collection/models/dialog/onto-dialog.js +0 -1
  207. package/dist/shared-components/shared-components/p-2075209c.entry.js +0 -1
  208. package/dist/shared-components/shared-components/p-30e4880f.entry.js +0 -1
  209. package/dist/shared-components/shared-components/p-413b3789.entry.js +0 -1
  210. package/dist/shared-components/shared-components/p-67199a46.entry.js +0 -1
  211. package/dist/shared-components/types/models/dialog/onto-dialog.d.ts +0 -4
  212. /package/dist/{legacyWorkbench.88e1d4d209e51c6f9b65.js.LICENSE.txt → legacyWorkbench.4d8a4e8dde83fc9ac427.js.LICENSE.txt} +0 -0
  213. /package/dist/{main.1be0fc11ab24b99f8800.js.LICENSE.txt → main.14f083264cd64618d96a.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- import{r as e}from"./p-CGqARDX4.js";import{EventEmitter as t,ServiceProvider as o,ConfigurationContextService as n,LicenseContextService as s,ProductInfoContextService as i,RepositoryService as a,RepositoryContextService as r,mapAuthenticatedUserResponseToModel as l,SecurityContextService as u,AuthenticationStorageService as c,AuthenticationService as p,LanguageContextService as d,EventService as m,NavigationEnd as g,RepositoryLocationContextService as h,ToastMessage as _,CREATE_TOAST_EVENT as b,service as f,OntoToastrService as y,notify as v,AutocompleteContextService as k,NamespacesContextService as x,NamespaceMap as C,AuthorizationService as R,AuthStrategyResolver as A,SecurityConfig as S}from"@ontotext/workbench-api";var E={"menu.logo.link.title":"GraphDB logo","menu.buttons.expand":"Expand menu","menu.buttons.collapse":"Collapse menu",common:{import:"Import",button:{ok:"OK",close:"Close"},loading:"Loading..."},"menu.rdf.label":"RDF","menu.explore.label":"Explore","menu.graphs.overview.label":"Graphs overview","menu.class.relationships.label":"Class relationships","menu.class.hierarchy.label":"Class hierarchy","menu.similarity.label":"Similarity","menu.sparql.label":"SPARQL","menu.monitor.label":"Monitor","menu.queries.and.updates.label":"Queries and Updates","menu.backup_and_restore.label":"Backup and Restore","menu.enableFtsIndex.label":"Enable full-text search (FTS) index","menu.ftsIndexes.label":"FTS indexes to build (comma delimited)","menu.ftsStringLiteralsIndex.label":"FTS index for xsd:string literals","menu.ftsIrisIndex.label":"FTS index for full-text indexing of IRIs","menu.ftsDefaultAnalyzer.label":"Analyzer for the default index","menu.resources.label":"System","menu.setup.label":"Setup","menu.lab.label":"Lab","menu.ttyg.label":"Talk to Your Graph","menu.repositories.label":"Repositories","menu.aclmanagement.label":"ACL Management","menu.users.and.access.label":"Users and Access","menu.my.settings.label":"My Settings","menu.cluster.label":"Cluster","menu.connectors.label":"Connectors","menu.namespaces.label":"Namespaces","menu.autocomplete.label":"Autocomplete","menu.jdbc.label":"JDBC","menu.sparql.template.label":"SPARQL Templates","menu.license.label":"License","menu.help.label":"Help","menu.system.information.label":"System information","menu.rest.api.label":"REST API","menu.documentation.label":"Documentation","menu.tutorials.label":"Tutorials","menu.support.label":"Support","menu.guides.label":"Interactive guides","menu.plugins.label":"Plugins","menu.graphql.label":"GraphQL","menu.graphql-endpoint-management.label":"Endpoint Management","menu.graphql-playground.label":"GraphQL Playground","visual.graph.label":"Visual graph","view.rdf.rank.title":"RDF Rank",language_selector:{toggle_menu:{label:"Select language",tooltip:"Current language: English"},language:{en:{label:"en &middot; English",tooltip:{selected:"Current language",not_selected:"Change language to English"}},fr:{label:"fr &middot; Français",tooltip:{selected:"Current language",not_selected:"Changer la langue en Français"}}}},"repository-selector":{btn:{toggle:"Choose repository",no_repositories:"No accessible repositories"},tooltip:{repository:"Repository",location:"Location",local:"Local",type:"Type",types:{graphdb:"Graphdb",system:"System",ontop:"Ontop",fedx:"FedX",unknown:"Unknown"},access:"Access",accesses:{read:"Read",write:"Write",read_write:"Read/Write"},"repository-size":{total:"Total statements",explicit:"Explicit",inferred:"Inferred",expansion_ratio:"Expansion ratio (total/explicit)"}}},license_alert:{label:"No valid license",no_license_set:"No license was set."},footer:{label:{all_rights_reserved:"All rights reserved."}},permission_banner:{no_access_error:"You have no permission to access this functionality with your current credentials.",change_menu_or_user_warning:"Please choose another menu item or login as a different user."},cookie:{cookie_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 ",cookie_policy_url_label:"Cookie Policy",policy:{title:"Cookies Policy",purpose_heading:"Purpose",purpose_text:"This Cookies Policy explains the data Ontotext collects and uses when you use our GraphDB product, specifically the Free Edition.",purpose_enterprise_text:"Note that if you upgrade to the commercial GraphDB Enterprise Edition, no cookies will be stored on your device, regardless of settings.",privacy_commitment_heading:"Ontotext privacy commitment",privacy_commitment_text:"We are committed to not collecting any personal data or information when you use GraphDB Free. Additionally:",privacy_commitment_1:"We will not sell or rent the technical information we collect to others.",privacy_commitment_2:"We strive to maximize the protection of all technical data collected.",cookies_heading:"Cookies",cookies_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.",manage_cookies_heading:"Manage cookies",statistic_cookies:"GraphDB analytics cookies",statistic_tooltip:"Toggle GraphDB analytics cookies",statistic_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.",third_party_cookies:"Third-party cookies",third_party_tooltip:"Toggle Third-party cookies",third_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.",change_cookies:"You can change your cookie preferences at any time in",change_cookies_location4:"Cookie policy"}},security:{user:{settings:"User settings"}},operations_notification:{links:{queries:"Running queries",updates:"Running updates",imports:"Running imports",CREATE_BACKUP_IN_PROGRESS:"Creating backup",RESTORE_BACKUP_IN_PROGRESS:"Restoring backup",CREATE_CLOUD_BACKUP_IN_PROGRESS:"Creating cloud backup",RESTORE_CLOUD_BACKUP_IN_PROGRESS:"Restoring cloud backup",IN_SYNC:"In sync",RECOVERING:"Recovering",OUT_OF_SYNC:"Out of sync",UNAVAILABLE_NODES:"Unavailable nodes"}},user_menu:{my_settings:"My settings",logout:"Logout",login:"Login"},rdf_search:{labels:{search:"Search RDF resources",hint:'Hint: "abC" matches "abC*", "ab c*" and "ab-c*"'},buttons:{table:"Table",visual:"Visual"},tooltips:{close_search_area:"Close search",clear:"Clear"},toasts:{use_view_resource:"<b>Search RDF resources</b></br>Use <b>View resource</b> on this page",autocomplete_is_off:"Autocomplete is OFF<br>Go to Setup -> Autocomplete",empty_input:"Please fill the input field!",invalid_uri:"Invalid IRI"}},openid:{errors:{title:"OpenID Authentication Failed",unknown_flow:"Unknown auth flow: {{authFlow}}",invalid_pkce_state:"Invalid PKCE state",cannot_retrieve_token:"Cannot retrieve token after login: {{error}}",cannot_refresh_token:"Could not refresh OpenID token: {{error}}",user_no_access:"User has no access to GraphDB"}}},G={"menu.logo.link.title":"Logo GraphDB","menu.buttons.expand":"Développer le menu","menu.buttons.collapse":"Réduire le menu",common:{import:"Importer",button:{ok:"D'accord",close:"Fermer"},loading:"Chargement..."},"menu.rdf.label":"RDF","menu.explore.label":"Explorez","menu.graphs.overview.label":"Aperçu des graphes","menu.class.relationships.label":"Relations entre les classes","menu.class.hierarchy.label":"Hiérarchie des classes","menu.similarity.label":"Similarité","menu.sparql.label":"SPARQL","menu.monitor.label":"Surveiller","menu.queries.and.updates.label":"Requêtes et mises à jour","menu.backup_and_restore.label":"Sauvegarde et Restauration","menu.enableFtsIndex.label":"Activer l'index de recherche plein texte","menu.ftsIndexes.label":"Index de recherche en texte intégral à construire (délimités par des virgules)","menu.ftsStringLiteralsIndex.label":"Index de recherche en texte intégral pour les littéraux xsd:string","menu.ftsIrisIndex.label":"Index de recherche en texte intégral pour l'indexation en texte intégral des IRI","menu.ftsDefaultAnalyzer.label":"Analyseur pour l'index par défaut","menu.resources.label":"Système","menu.setup.label":"Configurer","menu.lab.label":"Laboratoire","menu.ttyg.label":"Parlez à votre graphe","menu.repositories.label":"Dépôts","menu.aclmanagement.label":"Gestion ACL","menu.users.and.access.label":"Utilisateurs et accès","menu.my.settings.label":"Mes paramètres","menu.cluster.label":"Cluster","menu.connectors.label":"Connecteurs","menu.namespaces.label":"Espaces de noms","menu.autocomplete.label":"Autocomplétion","menu.jdbc.label":"JDBC","menu.sparql.template.label":"Modèles SPARQL","menu.license.label":"Licence","menu.help.label":"Aide","menu.system.information.label":"Informations sur le système","menu.rest.api.label":"API REST","menu.documentation.label":"Documentation","menu.tutorials.label":"Tutoriels","menu.support.label":"Support","menu.guides.label":"Guides interactifs","menu.plugins.label":"Plugins","menu.graphql.label":"GraphQL","menu.graphql-endpoint-management.label":"Gestion des points de terminaison","menu.graphql-playground.label":"GraphQL Playground","visual.graph.label":"Graphique visuel","view.rdf.rank.title":"Rang RDF",language_selector:{toggle_menu:{label:"Sélectionner la langue",tooltip:"Langue actuelle : Anglais"},language:{en:{label:"en &middot; Anglais",tooltip:{selected:"Langue actuelle",not_selected:"Changer la langue en Anglais"}},fr:{label:"fr &middot; Français",tooltip:{selected:"Langue actuelle",not_selected:"Changer la langue en Français"}}}},"repository-selector":{btn:{toggle:"Choisissez le dépôt",no_repositories:"Aucun dépôt accessible"},tooltip:{repository:"Dépôt",location:"L'emplacement",local:"Local",type:"Type",types:{graphdb:"Graphdb",system:"Système",ontop:"Ontop",fedx:"FedX",unknown:"Inconnu"},access:"Accéder",accesses:{read:"Lire",write:"Écrire",read_write:"Lire/Écrire"},"repository-size":{total:"Total des déclarations",explicit:"Explicite",inferred:"Déduit",expansion_ratio:"Taux d'expansion (total/explicite)"}}},license_alert:{label:"Aucune licence valide",no_license_set:"Aucune licence n'a été définie."},footer:{label:{all_rights_reserved:"Tous droits réservés."}},permission_banner:{no_access_error:"Vous n'avez pas la permission d'accéder à cette fonctionnalité avec vos informations d'identification actuelles.",change_menu_or_user_warning:"Veuillez choisir un autre élément du menu ou vous connecter comme un autre utilisateur."},cookie:{cookie_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 ",cookie_policy_url_label:"politique de cookies",policy:{title:"Politique de cookies",purpose_heading:"Objectif",purpose_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.",purpose_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.",privacy_commitment_heading:"Engagement de confidentialité d'Ontotext",privacy_commitment_text:"Nous nous engageons à ne collecter aucune donnée personnelle ou information lorsque vous utilisez GraphDB Free. De plus :",privacy_commitment_1:"Nous ne vendrons ni ne louerons à d'autres les informations techniques que nous collectons.",privacy_commitment_2:"Nous nous efforçons de maximiser la protection de toutes les données techniques collectées.",cookies_heading:"Cookies",cookies_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.",manage_cookies_heading:"Gérer les cookies",statistic_cookies:"Cookies d'analyse GraphDB",statistic_tooltip:"Activer/désactiver les cookies d'analyse GraphDB",statistic_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.",third_party_cookies:"Cookies tiers",third_party_tooltip:"Activer/désactiver les cookies tiers",third_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.",change_cookies:"Vous pouvez modifier vos préférences de cookies à tout moment dans",change_cookies_location4:"Politique de cookies"}},security:{user:{settings:"Paramètres de l'utilisateur"}},operations_notification:{links:{queries:"Exécution de requêtes",updates:"Exécution de mises à jour",imports:"Exécution d'importations",CREATE_BACKUP_IN_PROGRESS:"Création de sauvegarde en cours",RESTORE_BACKUP_IN_PROGRESS:"Restauration de sauvegarde en cours",CREATE_CLOUD_BACKUP_IN_PROGRESS:"Création de sauvegarde cloud en cours",RESTORE_CLOUD_BACKUP_IN_PROGRESS:"Restauration de sauvegarde cloud en cours",IN_SYNC:"Synchronisé",RECOVERING:"Récupération en cours",OUT_OF_SYNC:"Désynchronisé",UNAVAILABLE_NODES:"Nœuds indisponibles"}},user_menu:{my_settings:"Mes paramètres",logout:"Déconnexion",login:"Se connecter"},rdf_search:{labels:{search:"Rechercher des ressources RDF",hint:'Indice : "abC" correspond à "abC*", "ab c*" et "ab-c*".'},buttons:{table:"Tableau",visual:"Visuel"},tooltips:{close_search_area:"Fermer la recherche",clear:"Clair"},toasts:{use_view_resource:"<b>Rechercher des ressources RDF</b></br>Utilisez <b>Voir la ressource</b> sur cette page",autocomplete_is_off:"L'autocomplétion est désactivée<br>Aller à Configuration -> Autocomplétion",empty_input:"S'il vous plaît remplir le champ de saisie!",invalid_uri:"IRI non valide"}},openid:{errors:{title:"Échec de l'authentification OpenID",unknown_flow:"Flux d'authentification inconnu: {{authFlow}}",invalid_pkce_state:"État PKCE invalide",cannot_retrieve_token:"Impossible de récupérer le jeton après la connexion: {{error}}",cannot_refresh_token:"Impossible de rafraîchir le jeton OpenID: {{error}}",user_no_access:"L'utilisateur n'a pas accès à GraphDB"}}};const I=class{constructor(o){e(this,o),this.bundles={en:E,fr:G},this.eventEmitter=new t,this.onLanguageChanged(),this.setSecurityConfig({enabled:!1,freeAccess:{enabled:!1}})}initConfigurationContext(e){return o.get(n).updateApplicationConfiguration(e),Promise.resolve()}updateLicense(e){return o.get(s).updateGraphdbLicense(e),Promise.resolve()}updateProductInfo(e){return o.get(i).updateProductInfo(e),Promise.resolve()}loadRepositories(){return o.get(a).getRepositories().then(e=>{o.get(r).updateRepositoryList(e)}),Promise.resolve()}setAuthenticatedUser(e){const t=e?l(e):void 0;return o.get(u).updateAuthenticatedUser(t),o.get(c).setAuthToken("token"),Promise.resolve()}setSecurityConfig(e){const t=this.createSecurityConfig(e);return o.get(u).updateSecurityConfig(t),this.setAuthStrategy(t),Promise.resolve()}login(e,t){return o.get(p).login(e,t)}changeLanguage(e){return o.get(d).updateLanguageBundle(this.bundles[e]),Promise.resolve()}emitNavigateEndEvent(e,t){return o.get(m).emit(new g(e,t)),Promise.resolve()}updateSelectedRepository(e){return o.get(r).updateSelectedRepository(e),Promise.resolve()}updateIsLoadingActiveRepositoryLocation(e){return o.get(h).updateIsLoading(e),Promise.resolve()}addToastr(e){return this.eventEmitter.emit({NAME:b,payload:new _(e.type,e.message)}),Promise.resolve()}addNotification(e){return f(y),v(e),Promise.resolve()}setAutocomplete(e){return o.get(k).updateAutocompleteEnabled(e),Promise.resolve()}updateNamespaces(e){return o.get(x).updateNamespaces(new C(e)),Promise.resolve()}onLanguageChanged(){o.get(d).onSelectedLanguageChanged(e=>{e&&this.changeLanguage(e)})}setAuthStrategy(e){const t=o.get(c),n=o.get(u),s=o.get(R);t.clearAuthToken(),f(A).resolveStrategy(e).initialize().then(t=>{n.updateIsLoggedIn(t),t||(s.hasFreeAccess()?s.initializeFreeAccess():e.hasOverrideAuth()&&s.initializeOverrideAuth())})}createSecurityConfig(e){const t=Object.assign({enabled:!0,userLoggedIn:!1,passwordLoginEnabled:!1,openIdEnabled:!1,freeAccess:{},overrideAuth:{}},e);return new S(t)}};export{I as onto_test_context};
1
+ import{r as e}from"./p-CGqARDX4.js";import{EventEmitter as t,ServiceProvider as o,ConfigurationContextService as n,LicenseContextService as s,ProductInfoContextService as a,RepositoryService as i,RepositoryContextService as r,mapAuthenticatedUserResponseToModel as l,SecurityContextService as u,AuthenticationStorageService as c,AuthenticationService as p,LanguageContextService as d,EventService as m,NavigationEnd as g,RepositoryLocationContextService as h,ToastMessage as _,CREATE_TOAST_EVENT as b,service as f,OntoToastrService as y,notify as v,AutocompleteContextService as k,NamespacesContextService as x,NamespaceMap as C,AuthorizationService as R,AuthStrategyResolver as A,SecurityConfig as S}from"@ontotext/workbench-api";var E={"menu.logo.link.title":"GraphDB logo","menu.buttons.expand":"Expand menu","menu.buttons.collapse":"Collapse menu",common:{import:"Import",button:{ok:"OK",close:"Close"},loading:"Loading..."},"menu.rdf.label":"RDF","menu.explore.label":"Explore","menu.graphs.overview.label":"Graphs overview","menu.class.relationships.label":"Class relationships","menu.class.hierarchy.label":"Class hierarchy","menu.similarity.label":"Similarity","menu.sparql.label":"SPARQL","menu.monitor.label":"Monitor","menu.queries.and.updates.label":"Queries and Updates","menu.backup_and_restore.label":"Backup and Restore","menu.enableFtsIndex.label":"Enable full-text search (FTS) index","menu.ftsIndexes.label":"FTS indexes to build (comma delimited)","menu.ftsStringLiteralsIndex.label":"FTS index for xsd:string literals","menu.ftsIrisIndex.label":"FTS index for full-text indexing of IRIs","menu.ftsDefaultAnalyzer.label":"Analyzer for the default index","menu.resources.label":"System","menu.setup.label":"Setup","menu.lab.label":"Lab","menu.ttyg.label":"Talk to Your Graph","menu.repositories.label":"Repositories","menu.aclmanagement.label":"ACL Management","menu.users.and.access.label":"Users and Access","menu.my.settings.label":"My Settings","menu.cluster.label":"Cluster","menu.connectors.label":"Connectors","menu.namespaces.label":"Namespaces","menu.autocomplete.label":"Autocomplete","menu.jdbc.label":"JDBC","menu.sparql.template.label":"SPARQL Templates","menu.license.label":"License","menu.help.label":"Help","menu.system.information.label":"System information","menu.rest.api.label":"REST API","menu.documentation.label":"Documentation","menu.tutorials.label":"Tutorials","menu.support.label":"Support","menu.guides.label":"Interactive guides","menu.plugins.label":"Plugins","menu.graphql.label":"GraphQL","menu.graphql-endpoint-management.label":"Endpoint Management","menu.graphql-playground.label":"GraphQL Playground","visual.graph.label":"Visual graph","view.rdf.rank.title":"RDF Rank",language_selector:{toggle_menu:{label:"Select language",tooltip:"Current language: English"},language:{en:{label:"en &middot; English",tooltip:{selected:"Current language",not_selected:"Change language to English"}},fr:{label:"fr &middot; Français",tooltip:{selected:"Current language",not_selected:"Changer la langue en Français"}}}},"repository-selector":{btn:{toggle:"Choose repository",no_repositories:"No accessible repositories"},tooltip:{repository:"Repository",location:"Location",local:"Local",type:"Type",types:{graphdb:"Graphdb",system:"System",ontop:"Ontop",fedx:"FedX",unknown:"Unknown"},access:"Access",accesses:{read:"Read",write:"Write",read_write:"Read/Write"},"repository-size":{total:"Total statements",explicit:"Explicit",inferred:"Inferred",expansion_ratio:"Expansion ratio (total/explicit)"}}},license_alert:{label:"No valid license",no_license_set:"No license was set."},footer:{label:{all_rights_reserved:"All rights reserved."}},permission_banner:{no_access_error:"You have no permission to access this functionality with your current credentials.",change_menu_or_user_warning:"Please choose another menu item or login as a different user."},cookie:{cookie_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 ",cookie_policy_url_label:"Cookie Policy",policy:{title:"Cookies Policy",purpose_heading:"Purpose",purpose_text:"This Cookies Policy explains the data Ontotext collects and uses when you use our GraphDB product, specifically the Free Edition.",purpose_enterprise_text:"Note that if you upgrade to the commercial GraphDB Enterprise Edition, no cookies will be stored on your device, regardless of settings.",privacy_commitment_heading:"Ontotext privacy commitment",privacy_commitment_text:"We are committed to not collecting any personal data or information when you use GraphDB Free. Additionally:",privacy_commitment_1:"We will not sell or rent the technical information we collect to others.",privacy_commitment_2:"We strive to maximize the protection of all technical data collected.",cookies_heading:"Cookies",cookies_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.",manage_cookies_heading:"Manage cookies",statistic_cookies:"GraphDB analytics cookies",statistic_tooltip:"Toggle GraphDB analytics cookies",statistic_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.",third_party_cookies:"Third-party cookies",third_party_tooltip:"Toggle Third-party cookies",third_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.",change_cookies:"You can change your cookie preferences at any time in",change_cookies_location4:"Cookie policy"}},security:{user:{settings:"User settings"}},operations_notification:{links:{queries:"Running queries",updates:"Running updates",imports:"Running imports",CREATE_BACKUP_IN_PROGRESS:"Creating backup",RESTORE_BACKUP_IN_PROGRESS:"Restoring backup",CREATE_CLOUD_BACKUP_IN_PROGRESS:"Creating cloud backup",RESTORE_CLOUD_BACKUP_IN_PROGRESS:"Restoring cloud backup",IN_SYNC:"In sync",RECOVERING:"Recovering",OUT_OF_SYNC:"Out of sync",UNAVAILABLE_NODES:"Unavailable nodes"}},user_menu:{my_settings:"My settings",logout:"Logout",login:"Login"},rdf_search:{labels:{search:"Search RDF resources",hint:'Hint: "abC" matches "abC*", "ab c*" and "ab-c*"'},buttons:{table:"Table",visual:"Visual"},tooltips:{close_search_area:"Close search",clear:"Clear"},toasts:{use_view_resource:"<b>Search RDF resources</b></br>Use <b>View resource</b> on this page",autocomplete_is_off:"Autocomplete is OFF<br>Go to Setup -> Autocomplete",empty_input:"Please fill the input field!",invalid_uri:"Invalid IRI"}},openid:{errors:{title:"OpenID Authentication Failed",unknown_flow:"Unknown auth flow: {{authFlow}}",invalid_pkce_state:"Invalid PKCE state",cannot_retrieve_token:"Cannot retrieve token after login: {{error}}",cannot_refresh_token:"Could not refresh OpenID token: {{error}}",user_no_access:"User has no access to GraphDB"}}},G={"menu.logo.link.title":"Logo GraphDB","menu.buttons.expand":"Développer le menu","menu.buttons.collapse":"Réduire le menu",common:{import:"Importer",button:{ok:"D'accord",close:"Fermer"},loading:"Chargement..."},"menu.rdf.label":"RDF","menu.explore.label":"Explorez","menu.graphs.overview.label":"Aperçu des graphes","menu.class.relationships.label":"Relations entre les classes","menu.class.hierarchy.label":"Hiérarchie des classes","menu.similarity.label":"Similarité","menu.sparql.label":"SPARQL","menu.monitor.label":"Surveiller","menu.queries.and.updates.label":"Requêtes et mises à jour","menu.backup_and_restore.label":"Sauvegarde et Restauration","menu.enableFtsIndex.label":"Activer l'index de recherche plein texte","menu.ftsIndexes.label":"Index de recherche en texte intégral à construire (délimités par des virgules)","menu.ftsStringLiteralsIndex.label":"Index de recherche en texte intégral pour les littéraux xsd:string","menu.ftsIrisIndex.label":"Index de recherche en texte intégral pour l'indexation en texte intégral des IRI","menu.ftsDefaultAnalyzer.label":"Analyseur pour l'index par défaut","menu.resources.label":"Système","menu.setup.label":"Configurer","menu.lab.label":"Laboratoire","menu.ttyg.label":"Parlez à votre graphe","menu.repositories.label":"Dépôts","menu.aclmanagement.label":"Gestion ACL","menu.users.and.access.label":"Utilisateurs et accès","menu.my.settings.label":"Mes paramètres","menu.cluster.label":"Cluster","menu.connectors.label":"Connecteurs","menu.namespaces.label":"Espaces de noms","menu.autocomplete.label":"Autocomplétion","menu.jdbc.label":"JDBC","menu.sparql.template.label":"Modèles SPARQL","menu.license.label":"Licence","menu.help.label":"Aide","menu.system.information.label":"Informations sur le système","menu.rest.api.label":"API REST","menu.documentation.label":"Documentation","menu.tutorials.label":"Tutoriels","menu.support.label":"Support","menu.guides.label":"Guides interactifs","menu.plugins.label":"Plugins","menu.graphql.label":"GraphQL","menu.graphql-endpoint-management.label":"Gestion des points de terminaison","menu.graphql-playground.label":"GraphQL Playground","visual.graph.label":"Graphique visuel","view.rdf.rank.title":"Rang RDF",language_selector:{toggle_menu:{label:"Sélectionner la langue",tooltip:"Langue actuelle : Français"},language:{en:{label:"en &middot; Anglais",tooltip:{selected:"Langue actuelle",not_selected:"Changer la langue en Anglais"}},fr:{label:"fr &middot; Français",tooltip:{selected:"Langue actuelle",not_selected:"Changer la langue en Français"}}}},"repository-selector":{btn:{toggle:"Choisissez le dépôt",no_repositories:"Aucun dépôt accessible"},tooltip:{repository:"Dépôt",location:"L'emplacement",local:"Local",type:"Type",types:{graphdb:"Graphdb",system:"Système",ontop:"Ontop",fedx:"FedX",unknown:"Inconnu"},access:"Accéder",accesses:{read:"Lire",write:"Écrire",read_write:"Lire/Écrire"},"repository-size":{total:"Total des déclarations",explicit:"Explicite",inferred:"Déduit",expansion_ratio:"Taux d'expansion (total/explicite)"}}},license_alert:{label:"Aucune licence valide",no_license_set:"Aucune licence n'a été définie."},footer:{label:{all_rights_reserved:"Tous droits réservés."}},permission_banner:{no_access_error:"Vous n'avez pas la permission d'accéder à cette fonctionnalité avec vos informations d'identification actuelles.",change_menu_or_user_warning:"Veuillez choisir un autre élément du menu ou vous connecter comme un autre utilisateur."},cookie:{cookie_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 ",cookie_policy_url_label:"politique de cookies",policy:{title:"Politique de cookies",purpose_heading:"Objectif",purpose_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.",purpose_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.",privacy_commitment_heading:"Engagement de confidentialité d'Ontotext",privacy_commitment_text:"Nous nous engageons à ne collecter aucune donnée personnelle ou information lorsque vous utilisez GraphDB Free. De plus :",privacy_commitment_1:"Nous ne vendrons ni ne louerons à d'autres les informations techniques que nous collectons.",privacy_commitment_2:"Nous nous efforçons de maximiser la protection de toutes les données techniques collectées.",cookies_heading:"Cookies",cookies_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.",manage_cookies_heading:"Gérer les cookies",statistic_cookies:"Cookies d'analyse GraphDB",statistic_tooltip:"Activer/désactiver les cookies d'analyse GraphDB",statistic_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.",third_party_cookies:"Cookies tiers",third_party_tooltip:"Activer/désactiver les cookies tiers",third_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.",change_cookies:"Vous pouvez modifier vos préférences de cookies à tout moment dans",change_cookies_location4:"Politique de cookies"}},security:{user:{settings:"Paramètres de l'utilisateur"}},operations_notification:{links:{queries:"Exécution de requêtes",updates:"Exécution de mises à jour",imports:"Exécution d'importations",CREATE_BACKUP_IN_PROGRESS:"Création de sauvegarde en cours",RESTORE_BACKUP_IN_PROGRESS:"Restauration de sauvegarde en cours",CREATE_CLOUD_BACKUP_IN_PROGRESS:"Création de sauvegarde cloud en cours",RESTORE_CLOUD_BACKUP_IN_PROGRESS:"Restauration de sauvegarde cloud en cours",IN_SYNC:"Synchronisé",RECOVERING:"Récupération en cours",OUT_OF_SYNC:"Désynchronisé",UNAVAILABLE_NODES:"Nœuds indisponibles"}},user_menu:{my_settings:"Mes paramètres",logout:"Déconnexion",login:"Se connecter"},rdf_search:{labels:{search:"Rechercher des ressources RDF",hint:'Indice : "abC" correspond à "abC*", "ab c*" et "ab-c*".'},buttons:{table:"Tableau",visual:"Visuel"},tooltips:{close_search_area:"Fermer la recherche",clear:"Clair"},toasts:{use_view_resource:"<b>Rechercher des ressources RDF</b></br>Utilisez <b>Voir la ressource</b> sur cette page",autocomplete_is_off:"L'autocomplétion est désactivée<br>Aller à Configuration -> Autocomplétion",empty_input:"S'il vous plaît remplir le champ de saisie!",invalid_uri:"IRI non valide"}},openid:{errors:{title:"Échec de l'authentification OpenID",unknown_flow:"Flux d'authentification inconnu: {{authFlow}}",invalid_pkce_state:"État PKCE invalide",cannot_retrieve_token:"Impossible de récupérer le jeton après la connexion: {{error}}",cannot_refresh_token:"Impossible de rafraîchir le jeton OpenID: {{error}}",user_no_access:"L'utilisateur n'a pas accès à GraphDB"}}};const I=class{constructor(o){e(this,o),this.bundles={en:E,fr:G},this.eventEmitter=new t,this.onLanguageChanged(),this.setSecurityConfig({enabled:!1,freeAccess:{enabled:!1}})}initConfigurationContext(e){return o.get(n).updateApplicationConfiguration(e),Promise.resolve()}updateLicense(e){return o.get(s).updateGraphdbLicense(e),Promise.resolve()}updateProductInfo(e){return o.get(a).updateProductInfo(e),Promise.resolve()}loadRepositories(){return o.get(i).getRepositories().then(e=>{o.get(r).updateRepositoryList(e)}),Promise.resolve()}setAuthenticatedUser(e){const t=e?l(e):void 0;return o.get(u).updateAuthenticatedUser(t),o.get(c).setAuthToken("token"),Promise.resolve()}setSecurityConfig(e){const t=this.createSecurityConfig(e);return o.get(u).updateSecurityConfig(t),this.setAuthStrategy(t),Promise.resolve()}login(e,t){return o.get(p).login(e,t)}changeLanguage(e){return o.get(d).updateLanguageBundle(this.bundles[e]),Promise.resolve()}emitNavigateEndEvent(e,t){return o.get(m).emit(new g(e,t)),Promise.resolve()}updateSelectedRepository(e){return o.get(r).updateSelectedRepository(e),Promise.resolve()}updateIsLoadingActiveRepositoryLocation(e){return o.get(h).updateIsLoading(e),Promise.resolve()}addToastr(e){return this.eventEmitter.emit({NAME:b,payload:new _(e.type,e.message)}),Promise.resolve()}addNotification(e){return f(y),v(e),Promise.resolve()}setAutocomplete(e){return o.get(k).updateAutocompleteEnabled(e),Promise.resolve()}updateNamespaces(e){return o.get(x).updateNamespaces(new C(e)),Promise.resolve()}onLanguageChanged(){o.get(d).onSelectedLanguageChanged(e=>{e&&this.changeLanguage(e)})}setAuthStrategy(e){const t=o.get(c),n=o.get(u),s=o.get(R);t.clearAuthToken(),f(A).resolveStrategy(e).initialize().then(t=>{n.updateIsLoggedIn(t),t||(s.hasFreeAccess()?s.initializeFreeAccess():e.hasOverrideAuth()&&s.initializeOverrideAuth())})}createSecurityConfig(e){const t=Object.assign({enabled:!0,userLoggedIn:!1,passwordLoginEnabled:!1,openIdEnabled:!1,freeAccess:{},overrideAuth:{}},e);return new S(t)}};export{I as onto_test_context};
@@ -0,0 +1 @@
1
+ import{r as e,h as t,a as o,g as a,c as i}from"./p-CGqARDX4.js";import{H as n}from"./p-C8DO915D.js";import{T as s}from"./p-nljGIprK.js";import{O as c}from"./p-D_J2-9CG.js";import"@ontotext/workbench-api";const r=class{constructor(t){e(this,t),this.handleClose=e=>{this.config.onClose(e)}}componentDidLoad(){this.documentOverflow=n.hideDocumentBodyOverflow(),this.hostElement.addEventListener("keydown",this.preventLeavingDialog.bind(this)),this.closeButton.focus()}disconnectedCallback(){this.hostElement.removeEventListener("keydown",this.preventLeavingDialog.bind(this)),n.setDocumentBodyOverflow(this.documentOverflow)}render(){return t(o,{key:"eeffeaac1aa5b80b89d0d176d89dc44291fd0cbb",tabindex:"-1"},t("div",{key:"2ba8415fa038ad2666cc0b340a3ceba6f0919bc6",class:`dialog-overlay ${this.config.modalClass?this.config.modalClass:""}`},t("dialog",{key:"39b9fc94944e12e8dcae98a65e74593dc173b336",class:"dialog"},t("header",{key:"183327aad084ff6fd619d204a537871cace84684",class:"dialog-header"},t("h3",{key:"ae4c514e0f75e46d5787d284154392de808100ca",class:"dialog-title"},this.config.dialogTitle)),t("main",{key:"dc991f0ef3baa22f42f683528a4ca67ab8d5e7f4",class:"dialog-body"},t("slot",{key:"ddc1c5176d976f5a518fed1d2faa138d0bc5082a",name:"body"})),t("footer",{key:"b3cb9449b54583a7b5489b7d56fa084e456b4d75",class:"dialog-footer"},t("slot",{key:"b3bc85bdfe12da62019be2e542737e5b6f7db4f6",name:"footer"}),t("button",{key:"8b4ae467782cf8ba05f06a11850c5681a056b50a",class:"onto-btn onto-btn-primary close-btn",onClick:this.handleClose,ref:e=>this.closeButton=e},t("translate-label",{key:"7cba2bef0bdd569c25ec0df321345ec1cc2d9f74",labelKey:"common.button.close"}))))))}preventLeavingDialog(e){n.preventLeavingDialog(this.hostElement,e)}get hostElement(){return a(this)}};r.style=".dialog-overlay{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:9998;margin-left:-10px;background-color:rgba(0, 0, 0, 0.5);font-family:var(--main-font), sans-serif;font-weight:var(--main-font-weight);color:var(--gw-secondary-base, var(--base-text-color))}.dialog{z-index:1001;max-width:60vw;max-height:90vh;font-family:inherit;font-weight:inherit;display:flex;flex-direction:column;position:relative;justify-content:space-between;border:none;color:var(--gw-dialog-color);background-color:var(--gw-dialog-background);box-shadow:0 5px 15px rgba(0, 0, 0, 0.5)}.dialog .dialog-header{display:flex;justify-content:space-between;padding:15px;font-size:20px}.dialog .dialog-header .dialog-title{margin:0.5rem 0;font-weight:400}.dialog .dialog-body{padding:0 15px 15px;overflow:auto}.dialog .dialog-footer{display:flex;justify-content:flex-end;padding:15px}";class l{static deepEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if("object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++)if(!l.deepEqual(e[o],t[o]))return!1;return!0}if(!Array.isArray(e)&&!Array.isArray(t)){const o=Object.keys(e),a=Object.keys(t);if(o.length!==a.length)return!1;for(const a of o)if(!(a in t)||!l.deepEqual(e[a],t[a]))return!1;return!0}return!1}return!1}static deepCopy(e){if("object"!=typeof e||null==e||"function"==typeof e)return e;if(l.hasCopyMethod(e))return e.copy();const t=l.copyBuiltInType(e);return null!==t?t:l.copyPlainObject(e)}static copyBuiltInType(e){return Array.isArray(e)?e.map(e=>l.deepCopy(e)):e instanceof Date?new Date(e.getTime()):e instanceof RegExp?new RegExp(e.source,e.flags):e instanceof Map?new Map(Array.from(e.entries()).map(([e,t])=>[l.deepCopy(e),l.deepCopy(t)])):e instanceof Set?new Set(Array.from(e.values()).map(e=>l.deepCopy(e))):null}static copyPlainObject(e){const t=Object.create(Object.getPrototypeOf(e));for(const o of Object.keys(e))t[o]=l.deepCopy(e[o]);return t}static hasCopyMethod(e){return"object"==typeof e&&null!==e&&Object.prototype.hasOwnProperty.call(e,"copy")&&"function"==typeof e.copy}}l.isNullOrUndefined=e=>null==e;class d{copy(){return l.deepCopy(this)}}class b extends d{constructor(e=[]){super(),this.items=e}size(){return this.items.length}getItems(){return this.items}getFirstItem(){return this.items[0]}sort(e){this.items.sort(e)}filter(e){return this.items.filter(e)}find(e){return this.items.find(e)}isEmpty(){return 0===this.items.length}addToStart(e){this.items.unshift(e)}addItems(e){this.items.push(...e)}remove(e){const t=this.items.indexOf(e);-1!==t&&this.items.splice(t,1)}}class h extends b{constructor(e){super(e)}add(e){this.items.push(e)}addAll(e){this.items.push(...e)}unsubscribeAll(){this.items.forEach(e=>e()),this.items=[]}}const f=class{constructor(t){e(this,t),this.toggleChanged=i(this,"toggleChanged"),this.subscriptions=new h,this.checked=!1,this.toggle=()=>{this.checked=!this.checked,this.toggleChanged.emit({checked:this.checked,context:this.context})}}subscribeToLanguageChange(){this.tooltipTranslationKey&&this.subscriptions.add(s.onTranslate(this.tooltipTranslationKey,[],e=>{this.tooltipLabel=e}))}disconnectedCallback(){this.subscriptions.unsubscribeAll()}connectedCallback(){this.subscribeToLanguageChange()}render(){return t("section",{key:"3afb9d800ec06e6cac57d65eab4059bc7db42535"},this.labelKey&&t("label",{key:"90ae5f881975462da986f65fdce7b0548d9afa2d"},t("strong",{key:"ce8ca2e649681a874585835b35554dd9920f0aef"},t("translate-label",{key:"601a0371d31081ce5a84b824ddb43536c3e87405",labelKey:this.labelKey})," ")),t("button",{key:"90ea147e6e350461cdd74ccacf2dfe86cf875925",class:"toggle-switch",onClick:this.toggle,"tooltip-append-to":"parent","tooltip-content":this.tooltipLabel,"tooltip-placement":c.TOP},t("input",{key:"e7ae6a6c71a0fe9decebb559ed601998b6ee8bac",type:"checkbox",checked:this.checked}),t("label",{key:"02d328613d9e7c675e6531a1777ae7cf9a2d16b1"})))}};f.style='.toggle-switch{all:unset;clear:both;margin:0 5px;width:36px}.toggle-switch:focus{outline:none;box-shadow:none}.toggle-switch:focus-visible{outline:none;box-shadow:none}.toggle-switch input:empty{display:none}.toggle-switch input:empty~label{position:relative;cursor:pointer;user-select:none;margin:0.05em 0.6em -0.05em 0;vertical-align:text-bottom}.toggle-switch input:empty~label:before{display:block;content:" ";width:2.2em;height:1.25em;background-color:var(--gw-toggleswitch-background);border-radius:10em;transition:all 100ms ease-in}.toggle-switch input:empty~label:after{position:absolute;display:block;top:0.08em;left:0.1em;content:" ";width:0.9em;height:0.9em;background-color:var(--gw-toggleswitch-handle-background);border:1px solid var(--gw-toggleswitch-background);border-radius:50%;transition:all 100ms ease-in}.toggle-switch input:checked~label:before{background-color:var(--gw-toggleswitch-checked-background)}.toggle-switch input:checked~label:after{left:1em;background-color:var(--gw-toggleswitch-handle-checked-background);border:1px solid var(--gw-toggleswitch-checked-background)}';export{r as onto_dialog,f as onto_toggle_switch};
@@ -0,0 +1 @@
1
+ import{r as t,h as i,a as e,g as a}from"./p-CGqARDX4.js";import{d as s}from"./p-D1ZpXQQS.js";import{service as h,AuthenticationService as d,AuthorizationService as o,NavigationContextService as n,AuthenticationStorageService as r,RuntimeConfigurationContextService as l,EventService as b,ApplicationLifecycleContextService as c,StorageKey as f,SubscriptionList as u,LocalStorageSubscriptionHandlerService as p,WindowService as m,navigate as y,SecurityContextService as g,EventName as v}from"@ontotext/workbench-api";import{T as w}from"./p-nljGIprK.js";const k=class{constructor(e){t(this,e),this.authenticationService=h(d),this.authorizationService=h(o),this.navigationContextService=h(n),this.authStorageService=h(r),this.runtimeConfigurationContextService=h(l),this.eventService=h(b),this.applicationLifecycleContextService=h(c),this.fullJwtKey=`${f.GLOBAL_NAMESPACE}.${this.authStorageService.NAMESPACE}.${this.authStorageService.jwtKey}`,this.fullAuthenticatedKey=`${f.GLOBAL_NAMESPACE}.${this.authStorageService.NAMESPACE}.${this.authStorageService.authenticatedKey}`,this.authEvents=[this.fullJwtKey,this.fullAuthenticatedKey],this.isLowResolution=!1,this.showHeader=this.isAuthenticatedFully(),this.showNavbar=!1,this.isEmbedded=!1,this.loading=!0,this.subscriptions=new u,this.isNavbarCollapsed=!1,this.handleStorageChange=e=>{h(p).handleStorageChange(e),this.handleAuthChange(e.key)},this.windowResizeObserver=s(()=>this.windowResizeHandler(),50),m.getWindow().addEventListener("storage",this.handleStorageChange)}componentDidLoad(){this.windowResizeHandler()}connectedCallback(){this.subscribeToSecurityChanges(),this.updateVisibility(),this.subscribeToNavigationEnd(),this.subscribeToRuntimeConfigurationChanges(),this.subscribeToApplicationChange()}disconnectedCallback(){this.subscriptions.unsubscribeAll()}render(){return i(e,{key:"b8cbbca1f12bf6af844e18397d2a725d6ab4e1fc",class:{"wb-layout":!0,"is-embedded":this.isEmbedded,"hide-navbar":!this.showNavbar}},i("div",{key:"f2e3b7a238b82536bd7605196966bd758330c521",class:"default-slot-wrapper"},i("slot",{key:"5d391e2f612d9aead6c07b2ef3641b961eddc504",name:"default"})),!this.isEmbedded&&i("header",{key:"e43c5b68d590e12b2b3e95d4c414505f1fc82abb",class:"wb-header"},this.showHeader&&i("onto-header",{key:"21102b279bed2dd3ee857b399683d14c5f3eaf57"})),!this.isEmbedded&&this.showNavbar&&i("nav",{key:"67dcbf444a30ac933ba83f86ae9f8d08fe5f995f",class:"wb-navbar"},i("onto-navbar",{key:"a9816369cbbac4d5b58f607be61277d6074556bd",ref:this.assignNavbarRef(),"navbar-collapsed":this.isLowResolution})),i("div",{key:"f3ff0e1734eecc433dc20717e0b9f2871ea40dae",class:{"main-slot-wrapper":!0,loading:this.loading}},this.loading&&i("div",{key:"17d9a8024d280f70ad8684e5d114c38b184b529d",class:"loader-wrapper"},i("onto-loader",{key:"534a5d8f89b92051822d1d7750ca56894013c142",size:96,messageText:w.translate("common.loading")})),i("slot",{key:"bcd21d932551dc6f9b9365ccbbafae690f8b7245",name:"main"})),!this.isEmbedded&&i("footer",{key:"9fcd224439dbb7fd35bb4c277dc343eccab40087",class:"wb-footer"},i("onto-footer",{key:"39d5d1c8275c527ca16aa74f6f15dc3f0cc3686c"})),i("onto-tooltip",{key:"6a70e6d2d67e8a9aa6b8eda66b6768735c0f6dcd"}))}onNavbarToggled(e){this.isNavbarCollapsed=e.detail.payload,this.isNavbarCollapsed?this.hostElement.classList.add("expanded"):this.hostElement.classList.remove("expanded")}onResize(){this.windowResizeObserver()}windowResizeHandler(){this.isLowResolution=m.getWindow().innerWidth<=768,this.isLowResolution||this.isNavbarCollapsed?this.hostElement.classList.add("expanded"):this.hostElement.classList.remove("expanded")}handleAuthChange(e){var i;if(e&&this.authEvents.includes(e)){const e=this.authStorageService.isAuthenticated();y(e?null!==(i=this.navigationContextService.getPreviousRoute())&&void 0!==i?i:"./":"login"),m.getWindow().location.reload()}}subscribeToSecurityChanges(){const e=h(g);this.subscriptions.add(e.onAuthenticatedUserChanged(e=>{this.authenticatedUser=e,this.updateVisibility()})),this.subscriptions.add(e.onSecurityConfigChanged(e=>{this.securityConfig=e,this.updateVisibility()})),this.subscriptions.add(this.eventService.subscribe(v.LOGIN,()=>{this.setNavbarItemVisibility(),this.updateVisibility()})),this.subscriptions.add(this.eventService.subscribe(v.LOGOUT,()=>{this.setNavbarItemVisibility(),this.updateVisibility(),y("login")}))}subscribeToRuntimeConfigurationChanges(){this.subscriptions.add(this.runtimeConfigurationContextService.onRuntimeConfigurationChanged(e=>{var i;this.isEmbedded=null!==(i=null==e?void 0:e.isEmbedded)&&void 0!==i&&i}))}updateVisibility(){this.authenticationService.isSecurityEnabled()?(this.showHeader=this.authenticationService.isAuthenticated()||this.authorizationService.hasFreeAccess(),this.showNavbar=this.authenticationService.isAuthenticated()||this.authorizationService.hasFreeAccess()):(this.showNavbar=!0,this.showHeader=!0)}isAuthenticatedFully(){return!this.authenticationService.isSecurityEnabled()||this.authenticationService.isAuthenticated()||this.authorizationService.hasFreeAccess()}shouldShowMenu(e){return this.isAuthenticatedFully()&&this.authorizationService.hasRole(e)}assignNavbarRef(){return e=>{this.navbarRef=e,this.navbarRef&&(this.navbarRef.menuItems=m.getWindow().PluginRegistry.get("main.menu"),this.setNavbarItemVisibility())}}setNavbarItemVisibility(){var e,i,t;if(!(null===(e=this.navbarRef)||void 0===e?void 0:e.menuItems))return;const a=e=>{var i;e.shouldShow=this.shouldShowMenu(e.role),(null===(i=e.children)||void 0===i?void 0:i.length)&&e.children.forEach(a)};null===(t=null===(i=this.navbarRef)||void 0===i?void 0:i.menuItems)||void 0===t||t.forEach(e=>{e.items.forEach(a)}),this.navbarRef.menuItems=[...this.navbarRef.menuItems]}subscribeToNavigationEnd(){this.subscriptions.add(this.eventService.subscribe(v.NAVIGATION_END,e=>{this.navigationContextService.updatePreviousRoute(e.oldUrl)}))}subscribeToApplicationChange(){this.subscriptions.add(this.applicationLifecycleContextService.onApplicationStateBeforeChange(e=>{e&&(this.loading=!0)})),this.subscriptions.add(this.applicationLifecycleContextService.onApplicationStateChange(e=>{e&&(this.loading=!1)}))}get hostElement(){return a(this)}};k.style=':host{display:block;height:100%}.wb-layout{display:grid;grid-template:"header header" auto "nav main" 1fr "nav footer" auto/15rem minmax(200px, 1fr);min-height:100vh;margin:0;}.wb-layout.expanded{grid-template-columns:4.375rem 1fr}.wb-layout.is-embedded{grid-template-columns:1fr;grid-template-areas:"main";padding-top:1rem}.wb-layout.hide-navbar{grid-template:"header" auto "main" 1fr "footer" auto/1fr;}.wb-layout.hide-navbar.expanded{grid-template-columns:1fr}.wb-layout main .main-container{margin-left:0}.wb-layout .main-slot-wrapper .loader-wrapper{flex-grow:1;display:flex;align-items:center;justify-content:center}.wb-layout .main-slot-wrapper.loading{display:flex;flex-direction:column}.wb-layout .main-slot-wrapper.loading .page-content{visibility:hidden}.wb-layout .default-slot-wrapper{display:none}.wb-layout .wb-header{position:sticky;top:0;z-index:999}.wb-layout nav{grid-area:nav}.wb-layout header{grid-area:header}.wb-layout main{grid-area:main}.wb-layout footer{grid-area:footer}';export{k as onto_layout};
@@ -0,0 +1 @@
1
+ import{r as e,h as t,a as i,c as n,F as o,g as s}from"./p-CGqARDX4.js";import{SubscriptionList as a,service as r,ProductInfoContextService as l,SecurityContextService as h,LicenseContextService as c,TrackingService as m,FibonacciGenerator as g,ServiceProvider as d,MonitoringService as I,RepositoryContextService as u,RepositoryLocationContextService as b,RepositoryService as p,OntoToastrService as v,NamespacesService as A,NamespacesContextService as C,LanguageService as y,AuthenticationService as f,AuthorizationService as w,EventService as j,ConfigurationContextService as Z,RuntimeConfigurationContextService as k,isHomePage as D,getCurrentRoute as M,navigateTo as S,EventName as z,LanguageContextService as N,RepositoryList as x,WindowService as W,ObjectUtil as G,getPathName as T,UriUtil as O,REPOSITORY_ID_PARAM as P,openInNewTab as R,navigate as Y}from"@ontotext/workbench-api";import{L as V,T as L}from"./p-nljGIprK.js";import{H}from"./p-C8DO915D.js";import{R as U,D as X}from"./p-CapzAxJp.js";import{T as B}from"./p-CpZ0MtJX.js";import"./p-D_J2-9CG.js";const J=class{constructor(t){e(this,t),this.subscriptions=new a,this.currentYear=(new Date).getFullYear(),this.productInfoContextService=r(l),this.securityContextService=r(h),this.licenseContextService=r(c),this.trackingService=r(m)}handleConsentGiven(){this.trackingService.acceptCookiePolicy().then(()=>this.shouldShowCookieConsent=!1)}render(){var e,o,n,s;return t(i,{key:"3f96199693937a11390b2c72f33548c5398217d0"},t("div",{key:"9a08d6c8fdc0030e8e4acb1e6a7f1869ceae9c76",class:"footer-component"},t("a",{key:"34a0bf88e8a9ecb75c381816cfd97f0f39103a4f",href:"http://graphdb.ontotext.com",target:"_blank",rel:"noopener noreferrer"},"GraphDB")," ",null===(e=this.productInfo)||void 0===e?void 0:e.productVersion," • ",t("a",{key:"cedb54fd1e5c8f44d3c2241606fba3786c2c6f08",href:"http://rdf4j.org",target:"_blank",rel:"noopener noreferrer"},"RDF4J")," ",null===(o=this.productInfo)||void 0===o?void 0:o.sesame," • Connectors ",null===(n=this.productInfo)||void 0===n?void 0:n.connectors," • Workbench ",null===(s=this.productInfo)||void 0===s?void 0:s.workbench," • © 2002–",this.currentYear," ",t("a",{key:"d5b24d86dcf3feb2178795d2018e8b093f862ade",href:"http://ontotext.com",target:"_blank",rel:"noopener noreferrer"},"Ontotext AD"),". ",t("translate-label",{key:"4ac76d6de5e9999490eda3235ec204a82d1e456c",labelKey:"footer.label.all_rights_reserved"})),this.shouldShowCookieConsent&&t("onto-cookie-consent",{key:"a7c7a7d8432a4848ddde8f9651380d4520059fd3"}))}connectedCallback(){this.subscribeToProductInfoChange(),this.subscribeToUserChange(),this.subscribeToLicenseChange(),this.subscribeToUserLoginStatusChange()}disconnectedCallback(){this.subscriptions.unsubscribeAll()}subscribeToProductInfoChange(){this.subscriptions.add(this.productInfoContextService.onProductInfoChanged(e=>{this.productInfo=e}))}subscribeToUserChange(){this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(()=>{this.setCookieConsentVisibility()}))}subscribeToUserLoginStatusChange(){this.subscriptions.add(this.securityContextService.onUserLoginStatusChanged(()=>{this.setCookieConsentVisibility()}))}setCookieConsentVisibility(){var e,t;if(!this.trackingService.isTrackingAllowed())return void(this.shouldShowCookieConsent=!1);const i=this.securityContextService.getIsLoggedIn(),o=null!==(t=null===(e=this.securityContextService.getSecurityConfig())||void 0===e?void 0:e.isFreeAccessEnabled())&&void 0!==t&&t,n=this.trackingService.getCookieConsent();n&&(this.shouldShowCookieConsent=!n.policyAccepted&&(o||i))}subscribeToLicenseChange(){this.subscriptions.add(this.licenseContextService.onLicenseChanged(()=>{this.setCookieConsentVisibility()}))}};J.style=":host{display:block}.footer-component{padding-left:var(--main-content-rl-padding);height:1.875rem}";const F=({repository:e})=>t("div",{class:"repository-selector-dropdown-item"},t("i",{class:"item-icon icon-repo-"+e.type}),t("div",{class:"item-label"},t("div",{class:"repository-id"},e.id),t("div",{class:"repository-location"},e.location?e.location:"Local"))),E="menu.logo.link.title",K=class{constructor(t){e(this,t),this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL=2e3,this.fibonacciGenerator=new g,this.monitoringService=d.get(I),this.repositoryContextService=d.get(u),this.repositoryLocationContextService=d.get(b),this.repositoryService=d.get(p),this.securityContextService=d.get(h),this.toastrService=d.get(v),this.namespacesService=d.get(A),this.namespaceContextService=d.get(C),this.languageService=d.get(y),this.authService=d.get(f),this.authorizationService=d.get(w),this.eventService=d.get(j),this.configurationContextService=d.get(Z),this.runtimeConfigurationContextService=d.get(k),this.logger=V.logger,this.shouldShowSearch=!0,this.isHomePage=D(),this.showUserMenu=!1,this.showLoginButton=!1,this.isActiveLocationLoading=!1,this.repositoryItems=[],this.subscriptions=new a,this.skipUpdateActiveOperationsTimes=0,this.labels={[E]:L.translate(E)},this.canWriteRepo=e=>this.canWriteRepoInLocation(e),this.repositorySizeInfoFetcher=e=>this.repositoryService.getRepositorySizeInfo(e),this.showViewResourceMessage=e=>{e.stopPropagation(),this.toastrService.info(L.translate("rdf_search.toasts.use_view_resource")),this.shouldShowSearch=!1,H.focusElement("#search-resource-input-home input"),this.eventService.emit({NAME:U.RDF_SEARCH_ICON_CLICKED})}}disconnectedCallback(){this.subscriptions.unsubscribeAll(),this.stopOperationPolling()}connectedCallback(){this.currentRepository=this.repositoryContextService.getSelectedRepository(),this.setupTotalRepositoryFormater(),this.setupExpansionRatioFormater(),this.subscribeToEvents(),this.currentRoute=M(),this.startOperationPolling(),this.onTranslate(E)}render(){var e,o;return t(i,{key:"1a0ea30540103e48f24febbb1b019da6ec16fb54"},t("div",{key:"70c90aa8e0c4eca71330a5623d3faebe3d08bb89",class:"header-component"},t("div",{key:"30782ae29482fd29245adb62141dd77dec07e20e",class:"left-section brand"},t("a",{key:"e7f7bff0928fd057806c9017dbe5ba61ec5767ee",class:"home-page",onClick:S("./")},t("img",{key:"1f1327dd2cd85fe3c6f7871f168205f4feefec2e",src:this.applicationLogoPath,class:"big-logo",alt:this.labels[E]}))),t("div",{key:"e1cf9275d74d4216f795255e47b4f5243d794cf7",class:"right-section"},t("onto-search-icon",{key:"3fa41c9db75a0e1ccb386d2f9a824fe27e8fa19c",class:"rdf-search-button",onClick:this.showViewResourceMessage,"data-test":"onto-show-view-resource-message",style:{display:this.shouldShowSearch&&this.isHomePage?"block":"none"}}),t("onto-rdf-search",{key:"70c901d032cd529ee87ce797b55d29ad65565ec3","data-test":"onto-open-rdf-search-button",style:{display:this.shouldShowSearch&&!this.isHomePage?"block":"none"}}),(null===(e=this.activeOperations)||void 0===e?void 0:e.allRunningOperations.getItems().length)?t("onto-operations-notification",{activeOperations:this.activeOperations}):"",this.license&&!(null===(o=this.license)||void 0===o?void 0:o.valid)?t("onto-license-alert",{license:this.license}):"",t("onto-repository-selector",{key:"ca880c7c438c32db63317d3447ddf89740ed273c",currentRepository:this.currentRepository,items:this.repositoryItems,repositorySizeInfoFetcher:this.repositorySizeInfoFetcher,totalTripletsFormatter:this.totalTripletsFormatter,expansionRatioFormatter:this.expansionRatioFormatter,canWriteRepo:this.canWriteRepo}),t("onto-language-selector",{key:"abc09868343581be4724d897fc5caa51cd7e3265","dropdown-alignment":"right"}),this.showUserMenu&&this.user?t("onto-user-menu",{user:this.user,securityConfig:this.securityConfig}):"",this.showLoginButton?t("onto-user-login",null):"")))}subscribeToEvents(){this.subscribeToSecurityContextChange(),this.subscribeToRepositoryListChanged(),this.subscribeToLicenseChange(),this.subscribeToRepositoryChange(),this.subscribeToActiveRepositoryLocationChange(),this.subscribeToActiveRepoLoadingChange(),this.subscribeToNavigationEnd(),this.subscribeToLanguageChanged(),this.subscribeToAuthenticatedUserChange(),this.subscribeToThemeModeChange()}subscribeToThemeModeChange(){this.subscriptions.add(this.runtimeConfigurationContextService.onThemeModeChanged(e=>{this.applicationLogoPath=this.configurationContextService.getApplicationLogoPath(e)}))}subscribeToRepositoryListChanged(){return this.repositoryContextService.onRepositoryListChanged(e=>{(null==e?void 0:e.getItems().length)?this.initOnRepositoryListChanged(e):this.resetOnMissingRepositories()})}subscribeToLicenseChange(){this.subscriptions.add(d.get(c).onLicenseChanged(e=>{this.license=e}))}subscribeToRepositoryChange(){this.subscriptions.add(this.repositoryContextService.onSelectedRepositoryChanged(e=>{this.currentRepository=this.repositoryContextService.findRepository(e),this.shouldShowSearch=this.shouldShowRdfSearch(),this.loadNamespaces(),this.updateRepositoryItems()}))}subscribeToSecurityContextChange(){this.subscriptions.add(this.securityContextService.onSecurityConfigChanged(e=>{this.securityConfig=e,setTimeout(()=>{this.updateVisibility()})}))}subscribeToAuthenticatedUserChange(){this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(e=>{this.user=e,this.updateRepositoryItems(),this.updateVisibility()}))}subscribeToActiveRepositoryLocationChange(){this.subscriptions.add(this.repositoryLocationContextService.onActiveLocationChanged(()=>{this.shouldShowSearch=this.shouldShowRdfSearch()}))}subscribeToActiveRepoLoadingChange(){this.subscriptions.add(this.repositoryLocationContextService.onIsLoadingChanged(e=>{this.isActiveLocationLoading=e,this.shouldShowSearch=this.shouldShowRdfSearch()}))}subscribeToNavigationEnd(){this.subscriptions.add(this.eventService.subscribe(z.NAVIGATION_END,()=>{this.shouldShowSearch=this.shouldShowRdfSearch(),this.isHomePage=D(),this.currentRoute=M(),this.updateVisibility()}))}subscribeToLanguageChanged(){this.subscriptions.add(d.get(N).onSelectedLanguageChanged(e=>{this.setupTotalRepositoryFormater(e),this.setupExpansionRatioFormater(e)}))}onTranslate(e){this.subscriptions.add(L.onTranslate(e,[],t=>{this.labels[e]=t}))}resetOnMissingRepositories(){this.repositoryItems=[],this.repositoryList=new x,this.currentRepository=void 0}initOnRepositoryListChanged(e){this.repositoryList=e,this.updateRepositoryItems()}updateRepositoryItems(){this.repositoryItems=this.getRepositoriesDropdownItems()}getRepositoriesDropdownItems(){var e;if(!(null===(e=this.repositoryList)||void 0===e?void 0:e.getItems().length))return[];let i;return this.repositoryList.sortByLocationAndId(),i=this.currentRepository?this.repositoryList.filterByRepository([this.currentRepository]):this.repositoryList.getItems(),i.filter(e=>this.authorizationService.canReadRepo(e)||this.authorizationService.canReadGqlRepo(e)).map(e=>(new X).setName(t(F,{repository:e})).setValue(e).setGuideSelector(`repository-id-${e.id}`))}canWriteRepoInLocation(e){return!0}loadNamespaces(){this.currentRepository&&this.authorizationService.canReadRepo(this.currentRepository)&&this.namespacesService.getNamespaces(this.currentRepository.id).then(e=>this.namespaceContextService.updateNamespaces(e))}updateVisibility(){var e,t,i;const o=null===(e=this.securityConfig)||void 0===e?void 0:e.enabled,n=this.authService.isLoggedIn();let s=!1;try{s=this.authService.isAuthenticated()}catch(e){s=!1}const r=null===(i=null===(t=this.securityConfig)||void 0===t?void 0:t.freeAccess)||void 0===i?void 0:i.enabled;this.showLoginButton=o&&r&&!n&&"login"!==this.currentRoute,this.showUserMenu=o&&s&&n,this.shouldShowSearch=this.shouldShowRdfSearch()}startOperationPolling(){clearInterval(this.pollingInterval),this.pollingInterval=W.getWindow().setInterval(()=>{this.authService.isAuthenticated()?this.skipUpdateActiveOperationsTimes>0?this.skipUpdateActiveOperationsTimes--:this.currentRepository&&this.monitoringService.getOperations(this.currentRepository.id).then(e=>{G.deepEqual(this.activeOperations,e)||(this.activeOperations=e),this.fibonacciGenerator.reset(),this.skipUpdateActiveOperationsTimes=0}).catch(e=>{this.logger.error("Error fetching active operations",e),this.activeOperations=void 0,this.skipUpdateActiveOperationsTimes=this.fibonacciGenerator.next()}):this.activeOperations=void 0},this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL)}stopOperationPolling(){clearInterval(this.pollingInterval),this.activeOperations=void 0}shouldShowRdfSearch(){return!!this.currentRepository&&(!this.isActiveLocationLoading||"/repository"===T())&&this.authorizationService.canReadRepo(this.currentRepository)}setupTotalRepositoryFormater(e){e||(e=this.languageService.getDefaultLanguage()),this.totalTripletsFormatter=new Intl.NumberFormat(e,{style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0})}setupExpansionRatioFormater(e){e||(e=this.languageService.getDefaultLanguage()),this.expansionRatioFormatter=new Intl.NumberFormat(e,{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2})}};K.style=":host{display:block}.header-component{display:flex;gap:0.25em;padding:0.3em 1em;font-size:1.1em;background-color:var(--gw-topnav-background)}.header-component .left-section{display:flex;align-items:center;justify-content:center;margin-right:auto}.header-component .right-section{display:flex;align-items:center;justify-content:center;gap:0.3em}.header-component .big-logo{width:180px;height:50px;cursor:pointer}";const Q=class{constructor(t){e(this,t),this.size=100,this.messageText="",this.rawSvg=atob("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZGR0Ij4KPHN2ZwogICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICAgICAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgICAgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgICAgICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4iCiAgICAgICAgdmlld0JveD0iMCAwIDUwIDUwIgogICAgICAgIGlkPSJzdmcyIgogICAgICAgIHZlcnNpb249IjEuMSIKICAgICAgICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ4LjAgcjk2NTQiCiAgICAgICAgc29kaXBvZGk6ZG9jbmFtZT0ibmFtZXN2Zy5zdmciPgogICAgPGNpcmNsZSBjeD0iMjEuNSIgY3k9IjcuNSIgcj0iMS41IiBmaWxsPSIjZmYzOTAwIj4KICAgICAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIycyIgYmVnaW49IjBzIgogICAgICAgICAgICAgICAgIHZhbHVlcz0iMS41OyAzOyAxLjU7IDEuNTsgMS41OyAxLjU7IDEuNTsgMS41OyAxLjU7IDEuNTsgMS41OyAxLjU7IDEuNSIgYXR0cmlidXRlVHlwZT0iWE1MIgogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9InIiLz4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iMzEiIGN5PSIxMCIgcj0iNCIgZmlsbD0iI2ZmMzkwMCI+CiAgICAgICAgPGFuaW1hdGUgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMnMiIGJlZ2luPSIwLjE1cyIgdmFsdWVzPSI0OyA4OyA0OyA0OyA0OyA0OyA0OyA0OyA0OyA0OyA0OyA0OyA0IgogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVR5cGU9IlhNTCIgYXR0cmlidXRlTmFtZT0iciIvPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSIzNyIgY3k9IjE1IiByPSIyIiBmaWxsPSIjZmYzOTAwIj4KICAgICAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIycyIgYmVnaW49IjAuM3MiIHZhbHVlcz0iMjsgNDsgMjsgMjsgMjsgMjsgMjsgMjsgMjsgMjsgMjsgMjsgMiIKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVUeXBlPSJYTUwiIGF0dHJpYnV0ZU5hbWU9InIiLz4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iNDAuNSIgY3k9IjIzLjUiIHI9IjQuNSIgZmlsbD0iI2ZmMzkwMCI+CiAgICAgICAgPGFuaW1hdGUgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMnMiIGJlZ2luPSIwLjQ1cyIKICAgICAgICAgICAgICAgICB2YWx1ZXM9IjQuNTsgOTsgNC41OyA0LjU7IDQuNTsgNC41OyA0LjU7IDQuNTsgNC41OyA0LjU7IDQuNTsgNC41OyA0LjUiIGF0dHJpYnV0ZVR5cGU9IlhNTCIKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJyIi8+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjM5IiBjeT0iMzMiIHI9IjMiIGZpbGw9IiNmZjM5MDAiPgogICAgICAgIDxhbmltYXRlIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjJzIiBiZWdpbj0iMC42cyIgdmFsdWVzPSIzOyA2OyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzIgogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVR5cGU9IlhNTCIgYXR0cmlidXRlTmFtZT0iciIvPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSIzNC41IiBjeT0iMzguNSIgcj0iMS41IiBmaWxsPSIjZmYzOTAwIj4KICAgICAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIycyIgYmVnaW49IjAuNzVzIgogICAgICAgICAgICAgICAgIHZhbHVlcz0iMS41OyAzOyAxLjU7IDEuNTsgMS41OyAxLjU7IDEuNTsgMS41OyAxLjU7IDEuNTsgMS41OyAxLjU7IDEuNSIgYXR0cmlidXRlVHlwZT0iWE1MIgogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9InIiLz4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iMjkiIGN5PSI0MiIgcj0iMiIgZmlsbD0iI2ZmMzkwMCI+CiAgICAgICAgPGFuaW1hdGUgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMnMiIGJlZ2luPSIwLjlzIiB2YWx1ZXM9IjI7IDQ7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDIiCiAgICAgICAgICAgICAgICAgYXR0cmlidXRlVHlwZT0iWE1MIiBhdHRyaWJ1dGVOYW1lPSJyIi8+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjIxLjUiIGN5PSI0Mi41IiByPSIyLjUiIGZpbGw9IiNmZjM5MDAiPgogICAgICAgIDxhbmltYXRlIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjJzIiBiZWdpbj0iMS4wNXMiCiAgICAgICAgICAgICAgICAgdmFsdWVzPSIyLjU7IDU7IDIuNTsgMi41OyAyLjU7IDIuNTsgMi41OyAyLjU7IDIuNTsgMi41OyAyLjU7IDIuNTsgMi41IiBhdHRyaWJ1dGVUeXBlPSJYTUwiCiAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT0iciIvPgogICAgPC9jaXJjbGU+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjM5IiByPSI0IiBmaWxsPSIjZmYzOTAwIj4KICAgICAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIycyIgYmVnaW49IjEuMnMiIHZhbHVlcz0iNDsgODsgNDsgNDsgNDsgNDsgNDsgNDsgNDsgNDsgNDsgNDsgNCIKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVUeXBlPSJYTUwiIGF0dHJpYnV0ZU5hbWU9InIiLz4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iNyIgY3k9IjMyIiByPSIyIiBmaWxsPSIjZmYzOTAwIj4KICAgICAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIycyIgYmVnaW49IjEuMzVzIiB2YWx1ZXM9IjI7IDQ7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDI7IDIiCiAgICAgICAgICAgICAgICAgYXR0cmlidXRlVHlwZT0iWE1MIiBhdHRyaWJ1dGVOYW1lPSJyIi8+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjI1LjUiIHI9IjIuNSIgZmlsbD0iI2ZmMzkwMCI+CiAgICAgICAgPGFuaW1hdGUgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMnMiIGJlZ2luPSIxLjVzIgogICAgICAgICAgICAgICAgIHZhbHVlcz0iMi41OyA1OyAyLjU7IDIuNTsgMi41OyAyLjU7IDIuNTsgMi41OyAyLjU7IDIuNTsgMi41OyAyLjU7IDIuNSIgYXR0cmlidXRlVHlwZT0iWE1MIgogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9InIiLz4KICAgIDwvY2lyY2xlPgogICAgPGNpcmNsZSBjeD0iOCIgY3k9IjE2IiByPSI0IiBmaWxsPSIjZmYzOTAwIj4KICAgICAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIycyIgYmVnaW49IjEuNjVzIiB2YWx1ZXM9IjQ7IDg7IDQ7IDQ7IDQ7IDQ7IDQ7IDQ7IDQ7IDQ7IDQ7IDQ7IDQiCiAgICAgICAgICAgICAgICAgYXR0cmlidXRlVHlwZT0iWE1MIiBhdHRyaWJ1dGVOYW1lPSJyIi8+CiAgICA8L2NpcmNsZT4KICAgIDxjaXJjbGUgY3g9IjE0IiBjeT0iMTAiIHI9IjMiIGZpbGw9IiNmZjM5MDAiPgogICAgICAgIDxhbmltYXRlIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjJzIiBiZWdpbj0iMS44cyIgdmFsdWVzPSIzOyA2OyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzOyAzIgogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZVR5cGU9IlhNTCIgYXR0cmlidXRlTmFtZT0iciIvPgogICAgPC9jaXJjbGU+Cjwvc3ZnPgo=".split(",")[1])}render(){return t(i,{key:"f0eb18975fbbde62c4b50add16b772672a1fbb5b"},t("div",{key:"c36d32d9d10e7fba7d9599a00046dbd78b846b78",class:"onto-loader","guide-selector":"onto-loader"},t("div",{key:"950cb6d4fe083c94a4a03c4564d19becc43597ee",class:"loader-spinner",style:{width:this.size+"px",height:this.size+"px"},innerHTML:this.rawSvg}),this.messageText&&t("div",{key:"2626f0e91e01349384cb0d963a39c6075972c4fd",class:"loader-message",style:{"font-size":this.size/4+"px"}},this.messageText)))}};Q.style=":host{display:block}:host .onto-loader{white-space:nowrap;width:fit-content}:host .onto-loader .loader-spinner{margin-left:auto;margin-right:auto}:host .onto-loader .loader-spinner circle{fill:var(--gw-loader-color)}:host .onto-loader .loader-message{text-align:center}";class _{constructor(e){this.type="navbarToggled",this.payload=e}}class ${constructor(e=[]){this._items=e}hasParent(e){return this._items.some(t=>e===t.label)}getModel(){const e=t=>{const i=t.children.map(e);return new q(Object.assign(Object.assign({},t),{children:i}))};return this._items.map(e)}addItem(e){this._items.push(e)}getSelectedRootItem(){return this._items.find(e=>e.selected)}isParentOpened(e){var t;return!!(null===(t=this.getParentItem(e))||void 0===t?void 0:t.open)}getTopLevelItem(e){return this._items.find(t=>t.label===e)}getParentItem(e){return this._items.find(t=>t.label===e.parent)}deselectAll(){this.walk(e=>{e.selected=!1})}closeAll(){this.walk(e=>{this.setOpen(e,!1)})}deselectItem(e){e.selected=!1}selectItem(e){e.label?e.selected=!0:this.selectItem(e.parentModel)}hasSelectedSubmenu(e){return!!e.children&&e.children.some(e=>this.hasSelection(e))}hasSelection(e){return!!e.selected||!!e.children&&e.children.some(e=>this.hasSelection(e))}closeOpened(){const e=this._items.find(e=>e.open);e&&(this.hasSelectedSubmenu(e)&&this.selectItem(e),this.setOpen(e,!1))}open(e){this.walk(e=>{this.setOpen(e,!1)}),this.openItemAndParent(e)}openItemAndParent(e){e.parentModel&&this.openItemAndParent(e.parentModel),this.setOpen(e,!0)}closeOtherParents(e){const t=e.parent;this.walk(e=>{e.label!==t&&this.setOpen(e,!1)})}setOpen(e,t){e.open=t}highlightSelected(){const e=this.getSelectedItem();(null==e?void 0:e.hasParent)&&this.selectItem(this.getParentItem(e))}unhighlightSelected(){const e=this.getSelectedRootItem();e&&e.children.length&&e.open&&this.deselectItem(e)}getSelectedItem(){let e=null;const t=i=>{if(i.selected)return e=i,!0;if(i.children)for(const e of i.children)if(t(e))return!0;return!1};return this._items.some(t),e}expandSelected(){const e=this.getSelectedItem();e&&this.open(e.hasParent?this.getParentItem(e):e)}initSelected(e){this.walk(t=>{var i;let o=e;(null===(i=t.href)||void 0===i?void 0:i.includes("*"))&&(o=this.getWildcardPath(e,t.href));const n=t.href.search(/[?]/);o===(-1===n?t.href:t.href.substring(0,n))&&(t.hasParent&&this.open(t),this.selectItem(t))})}getWildcardPath(e,t){const i=e.split("/"),o=t.split("/");if(i.length!==o.length)return e;const n=[];for(let t=0;t<o.length;t++)if("*"===o[t])n.push("*");else{if(o[t]!==i[t])return e;n.push(o[t])}return n.join("/")}sorted(){return this._items.filter(e=>e.children).forEach(e=>{e.children.sort($.compare)}),this._items.sort($.compare),this}static compare(e,t){return e.order-t.order}walk(e){this.walkRecursively(this.items,e)}walkRecursively(e,t){e.forEach(e=>{var i;t(e),(null===(i=e.children)||void 0===i?void 0:i.length)&&this.walkRecursively(e.children,t)})}get items(){return this._items}}class q{constructor(e){var t;this._selected=!1,this._open=!1,this._order=e.order,this._label=e.label,this._labelKey=e.labelKey,this._href=e.href,this._children=[...null!==(t=e.children)&&void 0!==t?t:[]],this._hasParent=e.hasParent,this._parent=e.parent,this._selected=e.selected,this._open=e.open,this._documentationHref=e.documentationHref,this._hrefFun=e.hrefFun,this._editions=e.editions,this._icon=e.icon,this._role=e.role,this._guideSelector=e.guideSelector,this._testSelector=e.testSelector,this._shouldShow=e.shouldShow,this._parentModel=e.parentModel}addChild(e){this.children.push(e),e.setParent(this)}addChildren(...e){e.forEach(e=>{this.addChild(e)})}hasSubmenus(){return"#"===this._href}get parent(){return this._parent}set parent(e){this._parent=e}get order(){return this._order}set order(e){this._order=e}get label(){return this._label}set label(e){this._label=e}get labelKey(){return this._labelKey}set labelKey(e){this._labelKey=e}get documentationHref(){return this._documentationHref}set documentationHref(e){this._documentationHref=e}get href(){return this._href}set href(e){this._href=e}get children(){return this._children}set children(e){this._children=e}get hasParent(){return this._hasParent}set hasParent(e){this._hasParent=e}get selected(){return this._selected}set selected(e){this._selected=e}get open(){return this._open}set open(e){this._open=e}get hrefFun(){return this._hrefFun}set hrefFun(e){this._hrefFun=e}get editions(){return this._editions}set editions(e){this._editions=e}get icon(){return this._icon}set icon(e){this._icon=e}get role(){return this._role}set role(e){this._role=e}get guideSelector(){return this._guideSelector}set guideSelector(e){this._guideSelector=e}get testSelector(){return this._testSelector}set testSelector(e){this._testSelector=e}get parentModel(){return this._parentModel}set parentModel(e){this._parentModel=e}get shouldShow(){return this._shouldShow}set shouldShow(e){this._shouldShow=e}setParent(e){this.parentModel=e,this.hasParent=!!e}}const ee=V.logger;class te{static map(e,t,i,o){const n=new $;return te.setTopLevelMenuItems(e,n,t),te.setSubmenuItems(e,n,t),i&&te.addRepositoryIdToHrefAttributes(n,i,o),n.sorted()}static addRepositoryIdToHrefAttributes(e,t,i){e.items.forEach(e=>{e.children&&e.children.length>0?e.children.filter(e=>!e.documentationHref).forEach(e=>{e.href=`${e.href}?${i}=${t}`}):e.href=`${e.href}?${i}=${t}`})}static setTopLevelMenuItems(e,t,i){e.forEach(e=>{e.items.filter(e=>!e.parent&&e.shouldShow).forEach(e=>{t.hasParent(e.label)?ee.warn("Doubled parent definition: ",e):t.addItem(this.toMenuItemModel(e,void 0,i,e.children))})})}static setSubmenuItems(e,t,i){e.forEach(e=>{e.items.filter(e=>e.parent&&e.shouldShow).forEach(e=>{const o=t.getTopLevelItem(e.parent);null==o||o.addChildren(this.toMenuItemModel(e,o,i,e.children))})})}static toMenuItemModel(e,t,i,o=[]){let n;e.documentationHref&&(n=O.resolveDocumentationUrl(null==i?void 0:i.shortVersion,e.documentationHref));const s=new q({label:e.label,labelKey:e.labelKey,href:n||e.href,documentationHref:e.documentationHref,hrefFun:e.hrefFun,order:e.order,role:e.role,editions:e.editions,icon:e.icon,guideSelector:e.guideSelector,hasParent:!!t,parentModel:t,parent:e.parent,selected:!1,shouldShow:e.shouldShow,testSelector:e.testSelector}),r=o.map(e=>this.toMenuItemModel(e,s,i,e.children));return s.addChildren(...r),s}}const ie="menu.buttons.expand",ne="menu.buttons.collapse",oe=class{constructor(t){e(this,t),this.navbarToggled=n(this,"navbarToggled"),this.productInfoContextService=r(l),this.repositoryContextService=r(u),this.subscriptions=new a,this.resizeHandler=()=>this.adjustAllSubmenus(this.hostElement),this.SUBMENU_VERTICAL_MARGIN=8,this.MIN_SUBMENU_HEIGHT=100,this.labels={[ie]:L.translate(ie),[ne]:L.translate(ne)},this.isCollapsedByUser=!1,this.isFirstRepositoryChange=!0,this.isCollapsed=!1}navbarCollapsedChange(e){this.isCollapsed=!e,this.isCollapsed&&!this.isCollapsedByUser?this.expandNavbar():this.collapseNavbar(),this.navbarToggled.emit(new _(this.isCollapsed))}menuItemsChanged(e){this.init(e)}init(e){const t=this.repositoryContextService.getSelectedRepository(),i=te.map(e||[],this.productInfo,null==t?void 0:t.id,P);i.initSelected(M()),this.menuModel=i}select(e,t){e.preventDefault(),this.clearAllOpenedSubmenuStyles(),t.hasSubmenus()||(e.ctrlKey?R(t.href):Y(t.href)),t.children.length?t.open?(this.menuModel.closeAll(),this.menuModel.hasSelectedSubmenu(t)&&this.menuModel.selectItem(t)):(this.menuModel.closeOpened(),this.menuModel.open(t),this.menuModel.hasSelectedSubmenu(t)&&this.menuModel.deselectItem(t)):this.menuModel.closeOtherParents(t),this.isCollapsed&&this.menuModel.isParentOpened(t)&&this.menuModel.closeOpened(),this.refreshNavbar(),this.adjustAllSubmenus(this.hostElement)}subscribeToNavigationEnd(){this.subscriptions.add(d.get(j).subscribe(z.NAVIGATION_END,()=>{this.selectItemByUrl()}))}selectItemByUrl(){this.menuModel&&(this.menuModel.deselectAll(),this.menuModel.closeAll(),D()||this.menuModel.initSelected(M()),this.refreshNavbar(),this.adjustAllSubmenus(this.hostElement))}toggleNavbar(){this.isCollapsed?(this.isCollapsedByUser=!1,this.menuModel.expandSelected(),this.menuModel.unhighlightSelected(),this.expandNavbar(),this.clearAllOpenedSubmenuStyles()):(this.isCollapsedByUser=!0,this.menuModel.highlightSelected(),this.menuModel.closeOpened(),this.collapseNavbar(),this.clearAllOpenedSubmenuStyles()),this.refreshNavbar(),this.adjustAllSubmenus(this.hostElement),this.navbarToggled.emit(new _(this.isCollapsed))}collapseNavbar(){this.hostElement.querySelector(".navbar-component").classList.add("collapsed"),this.isCollapsed=!0}expandNavbar(){this.isCollapsedByUser||(this.hostElement.querySelector(".navbar-component").classList.remove("collapsed"),this.isCollapsed=!1)}refreshNavbar(){var e;(null===(e=this.menuModel)||void 0===e?void 0:e.items)&&(this.menuModel=new $(this.menuModel.items))}onLanguageChanged(){this.refreshNavbar()}onTranslate(e){this.subscriptions.add(L.onTranslate(e,[],t=>{this.labels[e]=t,this.onLanguageChanged()}))}toggleNavbarHandler(){return()=>this.toggleNavbar()}adjustSubmenuMaxHeight(e,t=this.SUBMENU_VERTICAL_MARGIN){if(!e||"function"!=typeof e.getBoundingClientRect)return;const i=e.closest(".menu-element");if(!i)return;const o=e.getBoundingClientRect(),n=i.getBoundingClientRect(),s=window.innerHeight,r=n.top-t+n.height,a=s-n.bottom+n.height-t;let l,c=!1;a>=o.height?l=a:r>=o.height?(l=r,c=!0):a>r?(l=a,c=!1):(l=r,c=!0),c?(e.style.bottom="0",e.style.top="auto"):(e.style.top="0",e.style.bottom="auto"),e.style.maxHeight=`${Math.max(this.MIN_SUBMENU_HEIGHT,l)}px`,e.style.overflowY="auto"}adjustAllSubmenus(e,t=this.SUBMENU_VERTICAL_MARGIN){requestAnimationFrame(()=>{e&&"function"==typeof e.querySelectorAll&&this.getAllOpenedSubmenus(e).forEach(e=>this.adjustSubmenuMaxHeight(e,t))})}getAllOpenedSubmenus(e){return Array.from(e.querySelectorAll(".navbar-component.collapsed .menu-element.open .sub-menu"))}getAllSubmenus(e){return Array.from(e.querySelectorAll(".navbar-component .menu-element .sub-menu"))}clearAllOpenedSubmenuStyles(){this.getAllSubmenus(this.hostElement).forEach(e=>{e.style.maxHeight="",e.style.overflowY="",e.style.top="",e.style.bottom=""})}componentWillLoad(){this.init(this.menuItems)}connectedCallback(){this.subscribeToNavigationEnd(),this.subscribeToProductInfoChanges(),this.subscribeToRepositoryChange(),this.onTranslate(ie),this.onTranslate(ne),window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){this.subscriptions.unsubscribeAll(),window.removeEventListener("resize",this.resizeHandler)}handleSelectMenuItem(e){return t=>{this.select(t,e)}}render(){if(this.menuModel)return t(i,null,t("ul",{class:"navbar-component"},t("li",{class:"navbar-toggle"},t("a",{class:"toggle-menu no-underline",title:this.isCollapsed?this.labels[ie]:this.labels[ne],onClick:this.toggleNavbarHandler()},t("em",{class:this.isCollapsed?"ri-arrow-right-s-line":"ri-arrow-left-s-line"}))),this.menuModel.items.map(e=>t("li",{key:e.labelKey,class:{"menu-element":!0,open:e.open},"data-test":e.testSelector,"guide-selector":e.guideSelector},e.children.length>0&&t(o,null,t("div",{class:{"menu-element-root":!0,active:e.selected},onClick:this.handleSelectMenuItem(e)},t("span",{class:`menu-item-icon ${e.icon}`})," ",t("translate-label",{class:"menu-item",labelKey:e.labelKey})),t("ul",{class:"sub-menu"},t("li",{key:e.labelKey,class:"submenu-title"},t("translate-label",{labelKey:e.labelKey})),e.children.map(e=>t("li",{key:e.labelKey,class:{"sub-menu-item":!0,active:e.selected},"data-test":e.testSelector,"guide-selector":e.guideSelector},t("a",e.documentationHref?{class:"sub-menu-link external-link",href:e.href,target:"_blank",rel:"noopener noreferrer"}:{class:"sub-menu-link",href:e.href,onClick:this.handleSelectMenuItem(e)},t("translate-label",{class:"menu-item",labelKey:e.labelKey}),e.icon&&t("span",{class:`text-muted ${e.icon}`})))))),0===e.children.length&&t("a",{class:{"menu-element-root":!0,active:e.selected},href:e.href,onClick:this.handleSelectMenuItem(e)},t("span",{class:`menu-item-icon ${e.icon}`})," ",t("translate-label",{class:"menu-item",labelKey:e.labelKey}))))))}subscribeToProductInfoChanges(){this.subscriptions.add(this.productInfoContextService.onProductInfoChanged(e=>this.productInfo=e))}subscribeToRepositoryChange(){this.subscriptions.add(this.repositoryContextService.onSelectedRepositoryChanged(()=>{this.isFirstRepositoryChange?this.isFirstRepositoryChange=!1:this.init(this.menuItems)}))}get hostElement(){return s(this)}static get watchers(){return{navbarCollapsed:[{navbarCollapsedChange:0}],menuItems:[{menuItemsChanged:0}]}}};oe.style=':host{display:block}.navbar-component{width:15rem;position:fixed;font-weight:400;z-index:1010;margin:0;padding:0;-moz-transition:width 0.2s ease-in;-o-transition:width 0.2s ease-in;-webkit-transition:width 0.2s ease-in;transition:width 0.2s ease-in;height:calc(100% - 60px);overflow-y:auto;overflow-x:hidden}@media screen and (max-height: 475px){.navbar-component.collapsed{position:absolute}}.navbar-component li{list-style:none;cursor:pointer}.navbar-component li a{text-decoration:none}.navbar-component li a.sub-menu-link:not([href=""]):not([tabindex]):hover{text-decoration:none !important}.navbar-component .sub-menu-item a.sub-menu-link:not([href]) translate-label.menu-item{padding-right:3.5px}.navbar-component a.sub-menu-link:not([href]):hover .menu-item,.navbar-component a.sub-menu-link[href=""]:hover .menu-item{text-decoration-line:underline !important}.navbar-component li .menu-element-root:hover,.navbar-component .sub-menu li:hover{text-decoration-line:none !important}.navbar-component li .menu-element-root:hover .menu-item-icon,.navbar-component .menu-element.open .menu-item-icon{transform:scale(1.1)}.navbar-component .menu-element.open .sub-menu .menu-item-icon{transform:scale(0.5)}.navbar-component .menu-element{position:relative}.navbar-component .menu-element-root{padding:0.8em 2.5em 0.8em 0.8em;display:block;line-height:2.5rem;position:relative;z-index:100;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.navbar-component .menu-item-icon{font-size:1.6rem;width:2.5rem;vertical-align:middle;text-align:center;transform:scale(0.9);display:inline-block;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;pointer-events:none}.navbar-component .menu-element-root .menu-item{pointer-events:none}.navbar-component :not(.brand) .menu-element-root{font-size:1.1rem}.navbar-component .brand a{display:block;position:relative;z-index:5}.navbar-component .sub-menu{position:relative;padding:0;z-index:110}.navbar-component .sub-menu li{display:none}.navbar-component .sub-menu li a{padding:0.5em 0.8em 0.5em 1.3em;display:block}.navbar-component .sub-menu li.active a{font-weight:500}.navbar-component .menu-element.open ul li{display:block}.navbar-component .menu-element ul:before{font-family:"icomoon", sans-serif !important;content:"\\e91b";display:block;font-size:1.5em;position:absolute;top:-3.3rem;right:1rem;-moz-transition:all 0.2s ease-in;-o-transition:all 0.2s ease-in;-webkit-transition:all 0.2s ease-in;transition:all 0.2s ease-in;pointer-events:none}.navbar-component .menu-element.open ul:before,.rdf-list ul.open.datasource:before{transform:rotate(90deg)}.navbar-component.collapsed{width:4.375rem;overflow:visible;height:auto}.navbar-component.collapsed .menu-element.open .sub-menu{position:absolute;top:0;left:4.375rem;width:15rem}.navbar-component.collapsed .menu-element .menu-item,.navbar-component.collapsed .menu-element .sub-menu li{display:none}.navbar-component.collapsed .menu-element.open .menu-item,.navbar-component.collapsed .menu-element.open .sub-menu li{display:block}.navbar-component.collapsed .menu-element.open .menu-element-root .menu-item{display:none}.navbar-component.collapsed .menu-element.open .sub-menu-item .sub-menu-link{background-color:var(--gw-sidenav-submenuitem-open-background)}.navbar-component.collapsed .menu-element-root{overflow:visible}.navbar-component .menu-element.open ul li.submenu-title,.navbar-component .submenu-title{display:none}.navbar-component.collapsed .menu-element.open ul li.submenu-title{display:block;font-size:1.2em;font-weight:500;text-overflow:ellipsis;overflow:hidden;padding:0.5em 0.8rem 0.7em 0.8rem;background-color:var(--gw-sidenav-submenuitem-open-background)}.navbar-component.collapsed .menu-element.open .sub-menu.align-bottom{bottom:0;top:auto}.navbar-component.collapsed .menu-element ul:before{display:none}.navbar-toggle{padding:0.3em 0}.toggle-menu{display:flex;flex-direction:column;align-items:flex-end;font-size:0.8em;line-height:1.5;padding:0 0.3em;z-index:101;cursor:pointer;background-color:var(--gw-sidenav-togglebutton-background);color:var(--gw-sidenav-togglebutton-color)}.toggle-menu:hover{color:var(--gw-sidenav-togglebutton-hover-color);background-color:var(--gw-sidenav-togglebutton-hover-background)}.toggle-menu [class^=icon-]{transition:all 0.2s ease-in;display:inline-block}.toggle-menu:hover [class^=icon-]{transform:scale(1.1)}.navbar-component{background-color:var(--gw-sidenav-background)}.navbar-component .menu-element .menu-element-root:not(.active){background-color:var(--gw-sidenav-menuitem-background);color:var(--gw-sidenav-menuitem-color)}.navbar-component .menu-element .menu-element-root .menu-item-icon,.navbar-component .menu-element .menu-element-root .menu-item{color:var(--gw-sidenav-menuitem-icon-color)}.navbar-component .menu-element .menu-element-root:hover,.navbar-component .menu-element .menu-element-root:hover .menu-item{background-color:var(--gw-sidenav-menuitem-hover-background);color:var(--gw-sidenav-menuitem-hover-color)}.navbar-component .menu-element .menu-element-root:hover .menu-item-icon{color:var(--gw-sidenav-menuitem-hover-icon-color)}.navbar-component .menu-element:not(.open):has(.menu-element-root.active){background-color:var(--gw-sidenav-menuitem-selected-background);color:var(--gw-sidenav-menuitem-selected-color);border-right:0.25em solid var(--gw-border-color-primary)}.navbar-component .menu-element .menu-element-root.active .menu-item,.navbar-component .menu-element .menu-element-root.active .menu-item-icon{color:var(--gw-sidenav-menuitem-selected-color)}.navbar-component .menu-element .menu-element-root.active .menu-item{color:var(--gw-sidenav-menuitem-selected-icon-color)}.navbar-component .menu-element.open,.navbar-component .menu-element.open .menu-element-root{background-color:var(--gw-sidenav-menuitem-open-background);color:var(--gw-sidenav-menuitem-open-color)}.navbar-component .menu-element:has(.menu-element-root.active) .menu-item-icon,.navbar-component .menu-element:has(.menu-element-root.active) .menu-item{color:var(--gw-sidenav-menuitem-selected-icon-color)}.navbar-component .menu-element .sub-menu-item .menu-item{color:var(--gw-sidenav-submenuitem-color);font-weight:400}.navbar-component .menu-element .sub-menu-item:hover .menu-item{color:var(--gw-sidenav-submenuitem-hover-color)}.navbar-component .menu-element .sub-menu-item.active{color:var(--gw-sidenav-submenuitem-selected-color);background-color:var(--gw-sidenav-submenuitem-selected-background);border-right:0.25em solid var(--gw-border-color-primary)}.navbar-component .menu-element .sub-menu-item.active .menu-item{color:var(--gw-sidenav-submenuitem-selected-color)}';const se=class{constructor(t){e(this,t),this.clearTooltipsForRemovedElements=e=>{for(const t of e)for(const e of Array.from(t.removedNodes))if(this.removeTooltipFromNode(e))return},this.removeTooltipFromNode=e=>{if(e instanceof HTMLElement){if(B.getTooltipInstance(e))return B.destroyTooltip(e),!0;e.childNodes.forEach(this.removeTooltipFromNode)}return!1}}onMouseover(e){const t=B.getTooltipTarget(e.target);t&&this.handleTooltipTargetShow(t);const i=B.getTooltip(e.target);i&&this.handleTooltipShow(i)}handleTooltipShow(e){const t=e.tooltipTarget;t&&this.handleTooltipTargetShow(t)}handleTooltipTargetShow(e){B.getOrCreateTooltipInstance(e).show()}onMouseout(e){const t=B.getTooltipTarget(e.target);t&&this.handleTooltipTargetHide(t,e.relatedTarget);const i=B.getTooltip(e.target);i&&this.handleTooltipHide(i,e.relatedTarget)}handleTooltipHide(e,t){const i=e.tooltipTarget;i&&(t&&e.contains(t)||this.handleTooltipTargetHide(i,t))}handleTooltipTargetHide(e,t){t&&(null==e?void 0:e.contains(t))||B.getTooltipInstance(e)&&B.destroyTooltip(e)}connectedCallback(){this.handleRemovedNodes()}disconnectedCallback(){var e;null===(e=this.observer)||void 0===e||e.disconnect()}render(){return t(i,{key:"341f9ff6313750adc5b8583a8fa3e3ed8c2f98d9"})}handleRemovedNodes(){this.observer=new MutationObserver(this.clearTooltipsForRemovedElements),this.observer.observe(document.body,{childList:!0,subtree:!0})}};se.style=':host{display:block}.tooltip-box{width:max-content;font-size:0.875rem;font-weight:400;line-height:1.5;max-width:var(--gw-tooltip-max-width);pointer-events:auto;opacity:1 !important;color:var(--gw-tooltip-color) !important;background-color:var(--gw-tooltip-background) !important;border-radius:var(--gw-tooltip-border-radius) !important}.tooltip-box .tooltip-arrow{width:10px;height:10px}.tooltip-box .tooltip-arrow::before{content:"";position:absolute;width:10px;height:10px;background-color:var(--gw-tooltip-background);transform:rotate(45deg)}.tooltip-box .tooltip-arrow[data-placement=top]::before{border-bottom-color:transparent;border-right-color:transparent}.tooltip-box .tooltip-arrow[data-placement=bottom]::before{border-top-color:transparent;border-left-color:transparent}.tooltip-box .tooltip-arrow[data-placement=right]::before{border-bottom-color:transparent;border-left-color:transparent}.tooltip-box .tooltip-arrow[data-placement=left]::before{border-top-color:transparent;border-right-color:transparent}.tooltip-box .tooltip-content{position:relative;z-index:1;padding:var(--gw-tooltip-padding)}';export{J as onto_footer,K as onto_header,Q as onto_loader,oe as onto_navbar,se as onto_tooltip};
@@ -0,0 +1 @@
1
+ function t(t,e=300){let i;return(...o)=>{clearTimeout(i),i=setTimeout(()=>t.apply(this,o),e)}}export{t as d};
@@ -0,0 +1 @@
1
+ import{r as e,c as a,h as o,a as c}from"./p-CGqARDX4.js";import{L as t,T as i}from"./p-nljGIprK.js";import{service as l,SecurityContextService as d,SecurityService as b,TrackingService as s,DateUtil as n}from"@ontotext/workbench-api";import{d as f}from"./p-D1ZpXQQS.js";const y=class{constructor(o){e(this,o),this.consentGiven=a(this,"consentGiven"),this.showModal=!1,this.openModal=e=>{e.preventDefault(),this.showModal=!0},this.handleConsentClick=()=>{this.consentGiven.emit()}}onDialogClose(){this.showModal=!1}render(){return o(c,{key:"dba3fc373e9ad60ada7f86d11acbe1b1ed24a92d"},o("div",{key:"8f1dff5a6b271f721d2079ec44a14207eff38025",class:"cookie-consent-banner"},o("section",{key:"93d51c3f88e12ff6fc5a57506eab507eca5420cb",class:"cookie-consent-content"},o("span",{key:"72be975026e8717da4ab4d99d5560f96017d4436"},o("translate-label",{key:"b49c8182a2e94cffb22abb03dd4f2e6c9a7c6b5e",labelKey:"cookie.cookie_consent"}),o("a",{key:"79675cf4d9c026666093ff3205818f48b845083f",id:"cookie-policy-link",href:"#",onClick:this.openModal,class:"btn btn-link p-0"},o("translate-label",{key:"8c83694879ff4fb7cce5aa8f3363220767b54c13",labelKey:"cookie.cookie_policy_url_label"})),"."),o("button",{key:"dfa75c1bd990929564a7b3b61264e1978ea24c95",id:"accept-cookie-policy",class:"onto-btn onto-btn-primary",onClick:this.handleConsentClick},o("translate-label",{key:"7a36cad2b993c7aa29f4d64adcf8e359331bdb28",labelKey:"common.button.ok"})))),this.showModal&&o("onto-cookie-policy-dialog",{key:"1daa9af32d60159763f1ea052c1c87e6f4bfdb3e"}))}};var k;y.style=".cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background-color:var(--gw-dialog-background);box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);padding:20px;z-index:1050;width:100%}.cookie-consent-banner .cookie-consent-content{display:flex;justify-content:center;align-items:center}.cookie-consent-banner .cookie-consent-content button{margin-left:12px}.cookie-policy-modal{padding:24px 40px;overflow-y:auto}.cookie-policy-modal .modal-dialog{width:60% !important;max-width:60% !important}.cookie-policy-modal .title{font-size:xx-large;font-weight:bolder}.cookie-policy-modal .heading{font-size:x-large;font-weight:bolder;margin-top:12px}.cookie-policy-modal .subheading{font-size:large;font-weight:bolder;margin-top:8px}.cookie-policy-modal .text{font-size:math}",function(e){e.THIRD_PARTY="thirdParty",e.STATISTIC="statistic"}(k||(k={}));const r=class{constructor(o){e(this,o),this.closeDialog=a(this,"closeDialog"),this.logger=t.logger,this.securityContextService=l(d),this.securityService=l(b),this.trackingService=l(s),this.toggleChangedDebounced=f(e=>this.toggleChanged(e),300)}toggleChangeHandler(e){this.toggleChangedDebounced(e)}toggleChanged(e){this.setUserCookieConsent(this.updateCookieConsent(e.detail)),this.securityService.updateAuthenticatedUser(this.user.toUser()).then(()=>this.securityContextService.updateAuthenticatedUser(this.user)).catch(this.logger.error).finally(()=>this.trackingService.applyTrackingConsent())}connectedCallback(){this.user=this.securityContextService.getAuthenticatedUser(),this.cookieConsent=this.trackingService.getCookieConsent()}render(){var e,a;const t={dialogTitle:i.translate("cookie.policy.title"),onClose:()=>this.closePolicyDialog(),modalClass:"cookie-policy-modal"};return o("onto-dialog",{key:"bdd402a836636e6c15811b3615703ea1eebd8d7c",config:t},o("div",{key:"1f1b4d80214907ae882b7322c48190f2152e12d9",slot:"body"},o("section",{key:"1b1a59be322de2736ca62ad373a51d18a1a06b79"},o("h4",{key:"dede6b4f005e6a661675479f5531ddad7a0235d4"},o("translate-label",{key:"ee1741896c0ff590ab9efbec9bf0a5025a30909f",labelKey:"cookie.policy.purpose_heading"})),o("p",{key:"e4a5b233c2809f901dd182f8d9aec0de27fc2099"},o("translate-label",{key:"631d8eb62fb92be49d0ded38b6aa1a280948ae19",labelKey:"cookie.policy.purpose_text"})),o("p",{key:"1254f3f2632b00bb296c00454a7df7d5b383ece5"},o("translate-label",{key:"5ceda3dada67081dbd17e1afa867a24a9016a564",labelKey:"cookie.policy.purpose_enterprise_text"}))),o("section",{key:"4796f96a4798348052387f6d379fcb2057c4b660"},o("h4",{key:"2ef14f483c1ff6fd1ecb891f7b9a6ed57b628805"},o("translate-label",{key:"09481c09192b35faa19b2006bdc3b21a9589cbdc",labelKey:"cookie.policy.privacy_commitment_heading"})),o("p",{key:"2cca9fe31f8f315c9ea123240bffc22f43bdfa77"},o("translate-label",{key:"4e8a55d364dffb76ea88c395967abd1681ceeec0",labelKey:"cookie.policy.privacy_commitment_text"})),o("ul",{key:"ceac17908898768e92263452faa0d05b654355aa"},o("li",{key:"c72361f5d3c17e068041f66e1986ba2152153f56"},o("translate-label",{key:"66a3534fd00d05e038c566c47c27a817e0840312",labelKey:"cookie.policy.privacy_commitment_1"})),o("li",{key:"f64a3900424c3df46fabaa81b710626445dd25b9"},o("translate-label",{key:"1e0e45ea0bba3f66f483217514006e685544f7ce",labelKey:"cookie.policy.privacy_commitment_2"})))),o("section",{key:"5046d6f2a87f421da264d8ca56e586c96806c8d2"},o("h4",{key:"f29934a5affad89f5f29bc18aaf4e0a7431a676c"},o("translate-label",{key:"88786391aa0c7dfee08e8a69c44cdc8f2fdf86ba",labelKey:"cookie.policy.cookies_heading"})),o("p",{key:"30445e55fede20a71babaac4656b2aa04bf95029"},o("translate-label",{key:"f0a85e21c58d6192b7173a2fdcdadb0cac500d51",labelKey:"cookie.policy.cookies_text"}))),o("section",{key:"6d63492ca8e98e66ee3dac34a9f2d4804598aae3"},o("h4",{key:"2acb72a66961b4a7669421631c567ae220c37340"},o("translate-label",{key:"150994d027db50124deb8382ff86defd4d9f73ca",labelKey:"cookie.policy.manage_cookies_heading"})),o("onto-toggle-switch",{key:"abe22d435107f38ff392ece9b1e93436b18d8865",class:"statistic-cookies-toggle",checked:null===(e=this.cookieConsent)||void 0===e?void 0:e.statistic,labelKey:"cookie.policy.statistic_cookies",tooltipTranslationKey:"cookie.policy.statistic_tooltip",context:k.STATISTIC}),o("p",{key:"c58bd5346cbf64fc806476af9aca4114ffdf2f19"},o("translate-label",{key:"5494f13d7c4e5e9b8ad1dd2833d61dcf8abbaadb",labelKey:"cookie.policy.statistic_text"})),o("onto-toggle-switch",{key:"a126d4e367ac72f3afabf4cbcad60600c1674256",class:"third-party-cookies-toggle",checked:null===(a=this.cookieConsent)||void 0===a?void 0:a.thirdParty,labelKey:"cookie.policy.third_party_cookies",tooltipTranslationKey:"cookie.policy.third_party_tooltip",context:k.THIRD_PARTY}),o("p",{key:"98eaa1cd8bf32b975fbf6158151c23ecb75ae775"},o("translate-label",{key:"3e3480010862cba108e3b2a2ea132e2ec8f7d38f",labelKey:"cookie.policy.third_party_cookies_text"}))),o("p",{key:"2f229fbfb8e618771c96ff69022bdbe41ae073aa"},o("span",{key:"89601e4bda0080f30395f7ab7717ed2894003df4"},o("translate-label",{key:"7e1c004df16f9c96593bd08ed572f330980f9b1f",labelKey:"cookie.policy.change_cookies"}),o("i",{key:"0b63d510ac728e75687dbfb89baf199a7ff789ac"}," ",o("translate-label",{key:"84ca2e5206973463bb76e464c0de825778b5161c",labelKey:"menu.setup.label"})," > ",o("translate-label",{key:"8cd61ed1aa3b45d15845da57adba70c0136cc465",labelKey:"menu.my.settings.label"})," > ",o("translate-label",{key:"a540e7209ce07f18cade46ca26593c067f0e5967",labelKey:"security.user.settings"})," > ",o("translate-label",{key:"122e0f07061903adb8e68ac632766cdce0544140",labelKey:"cookie.policy.change_cookies_location4"})," ")))))}closePolicyDialog(){this.closeDialog.emit()}updateCookieConsent(e){return this.cookieConsent[e.context]=e.checked,this.cookieConsent.updatedAt=n.now(),this.cookieConsent}setUserCookieConsent(e){this.user.appSettings||this.user.setAppSettings(),this.user.appSettings.COOKIE_CONSENT=e}};r.style="section h4{font-size:x-large;font-weight:bolder;margin-top:12px}";export{y as onto_cookie_consent,r as onto_cookie_policy_dialog};
@@ -1 +1 @@
1
- import{p as o,H as e,b as t}from"./p-CGqARDX4.js";export{s as setNonce}from"./p-CGqARDX4.js";import{g as n}from"./p-DQuL1Twl.js";var a=o=>{const e=o.cloneNode;o.cloneNode=function(o){if("TEMPLATE"===this.nodeName)return e.call(this,o);const t=e.call(this,!1),n=this.childNodes;if(o)for(let o=0;o<n.length;o++)2!==n[o].nodeType&&t.appendChild(n[o].cloneNode(!0));return t}};(()=>{a(e.prototype);const t=import.meta.url,n={};return""!==t&&(n.resourcesUrl=new URL(".",t).href),o(n)})().then(async o=>(await n(),t([["p-67199a46",[[260,"onto-layout",{authenticatedUser:[32],authToken:[32],securityConfig:[32],isLowResolution:[32],showHeader:[32],showNavbar:[32],isEmbedded:[32],loading:[32]},[[0,"navbarToggled","onNavbarToggled"],[9,"resize","onResize"]]]]],["p-7e47d850",[[0,"onto-permission-banner"]]],["p-279a026b",[[0,"onto-test-context",{initConfigurationContext:[64],updateLicense:[64],updateProductInfo:[64],loadRepositories:[64],setAuthenticatedUser:[64],setSecurityConfig:[64],login:[64],changeLanguage:[64],emitNavigateEndEvent:[64],updateSelectedRepository:[64],updateIsLoadingActiveRepositoryLocation:[64],addToastr:[64],addNotification:[64],setAutocomplete:[64],updateNamespaces:[64]}]]],["p-9b2c6e80",[[0,"onto-toastr",{toasts:[32]},[[16,"create-toast-event","handleToastCreate"]]]]],["p-c27fe716",[[0,"onto-dropdown",{dropdownButtonName:[1,"dropdown-button-name"],dropdownButtonNameLabelKey:[1,"dropdown-button-name-label-key"],dropdownButtonGuideSelector:[1,"dropdown-button-guide-selector"],dropdownButtonTooltip:[1,"dropdown-button-tooltip"],dropdownButtonTooltipLabelKey:[1,"dropdown-button-tooltip-label-key"],iconClass:[1,"icon-class"],items:[16],tooltipTheme:[1,"tooltip-theme"],tooltipPlacement:[1,"tooltip-placement"],dropdownAlignment:[1,"dropdown-alignment"],autoClose:[4,"auto-close"],open:[32],buttonTooltipContent:[32]},[[8,"keydown","keydownListener"],[8,"click","mouseClickListener"]]]]],["p-b754971e",[[0,"translate-label",{labelKey:[1,"label-key"],translationParameters:[16],translatedLabel:[32]}]]],["p-2075209c",[[260,"onto-dialog",{config:[16]}],[0,"onto-toggle-switch",{checked:[1028],labelKey:[1,"label-key"],tooltipTranslationKey:[1,"tooltip-translation-key"],context:[1],tooltipLabel:[32]}]]],["p-30e4880f",[[0,"onto-cookie-consent",{showModal:[32]}],[0,"onto-cookie-policy-dialog",{dialogHandler:[16]},[[0,"toggleChanged","toggleChanged"]]]]],["p-9214bb16",[[0,"onto-rdf-search",{isOpen:[32],buttonConfig:[32]},[[8,"click","handleClick"]]],[0,"onto-language-selector",{dropdownAlignment:[1,"dropdown-alignment"],currentLanguage:[32]}],[0,"onto-license-alert",{license:[16]}],[0,"onto-operations-notification",{activeOperations:[16],isOpen:[32]},[[8,"click","handleOutsideClick"]]],[0,"onto-repository-selector",{currentRepository:[16],items:[16],repositorySizeInfoFetcher:[16],totalTripletsFormatter:[16],expansionRatioFormatter:[16],canWriteRepo:[16],defaultToggleButtonName:[32],noRepositoriesButtonMessage:[32]},null,{items:[{onItemsChanged:0}]}],[0,"onto-user-login"],[0,"onto-user-menu",{user:[16],securityConfig:[16],isOpen:[32]}],[0,"onto-search-icon",{tooltipLabel:[32]}],[0,"onto-search-resource-input",{context:[1],skipValidation:[4,"skip-validation"],preserveSearch:[4,"preserve-search"],isHidden:[4,"is-hidden"],buttonConfig:[16],inputValue:[32],searchResult:[32],isAutocompleteEnabled:[32]},null,{isHidden:[{onVisibilityChange:0}]}]]],["p-413b3789",[[0,"onto-header",{activeOperations:[32],license:[32],isFreeAccessEnabled:[32],shouldShowSearch:[32],isHomePage:[32],repositoryList:[32],currentRoute:[32],currentRepository:[32],securityConfig:[32],user:[32],showUserMenu:[32],showLoginButton:[32],applicationLogoPath:[32]}],[0,"onto-footer",{productInfo:[32],shouldShowCookieConsent:[32]},[[0,"consentGiven","handleConsentGiven"]]],[0,"onto-navbar",{navbarCollapsed:[4,"navbar-collapsed"],menuItems:[16],menuModel:[32],isCollapsed:[32]},null,{navbarCollapsed:[{navbarCollapsedChange:0}],menuItems:[{menuItemsChanged:0}]}],[1,"onto-loader",{size:[2],messageText:[1,"message-text"]}],[0,"onto-tooltip",null,[[5,"mouseover","onMouseover"],[5,"mouseout","onMouseout"]]]]]],o)));
1
+ import{p as o,H as e,b as t}from"./p-CGqARDX4.js";export{s as setNonce}from"./p-CGqARDX4.js";import{g as n}from"./p-DQuL1Twl.js";var a=o=>{const e=o.cloneNode;o.cloneNode=function(o){if("TEMPLATE"===this.nodeName)return e.call(this,o);const t=e.call(this,!1),n=this.childNodes;if(o)for(let o=0;o<n.length;o++)2!==n[o].nodeType&&t.appendChild(n[o].cloneNode(!0));return t}};(()=>{a(e.prototype);const t=import.meta.url,n={};return""!==t&&(n.resourcesUrl=new URL(".",t).href),o(n)})().then(async o=>(await n(),t([["p-6d34b2cb",[[260,"onto-layout",{authenticatedUser:[32],authToken:[32],securityConfig:[32],isLowResolution:[32],showHeader:[32],showNavbar:[32],isEmbedded:[32],loading:[32]},[[0,"navbarToggled","onNavbarToggled"],[9,"resize","onResize"]]]]],["p-7e47d850",[[0,"onto-permission-banner"]]],["p-5886e663",[[0,"onto-test-context",{initConfigurationContext:[64],updateLicense:[64],updateProductInfo:[64],loadRepositories:[64],setAuthenticatedUser:[64],setSecurityConfig:[64],login:[64],changeLanguage:[64],emitNavigateEndEvent:[64],updateSelectedRepository:[64],updateIsLoadingActiveRepositoryLocation:[64],addToastr:[64],addNotification:[64],setAutocomplete:[64],updateNamespaces:[64]}]]],["p-9b2c6e80",[[0,"onto-toastr",{toasts:[32]},[[16,"create-toast-event","handleToastCreate"]]]]],["p-c27fe716",[[0,"onto-dropdown",{dropdownButtonName:[1,"dropdown-button-name"],dropdownButtonNameLabelKey:[1,"dropdown-button-name-label-key"],dropdownButtonGuideSelector:[1,"dropdown-button-guide-selector"],dropdownButtonTooltip:[1,"dropdown-button-tooltip"],dropdownButtonTooltipLabelKey:[1,"dropdown-button-tooltip-label-key"],iconClass:[1,"icon-class"],items:[16],tooltipTheme:[1,"tooltip-theme"],tooltipPlacement:[1,"tooltip-placement"],dropdownAlignment:[1,"dropdown-alignment"],autoClose:[4,"auto-close"],open:[32],buttonTooltipContent:[32]},[[8,"keydown","keydownListener"],[8,"click","mouseClickListener"]]]]],["p-b754971e",[[0,"translate-label",{labelKey:[1,"label-key"],translationParameters:[16],translatedLabel:[32]}]]],["p-598d33d7",[[260,"onto-dialog",{config:[16]}],[0,"onto-toggle-switch",{checked:[1028],labelKey:[1,"label-key"],tooltipTranslationKey:[1,"tooltip-translation-key"],context:[1],tooltipLabel:[32]}]]],["p-b5d4081d",[[0,"onto-cookie-consent",{showModal:[32]},[[0,"closeDialog","onDialogClose"]]],[0,"onto-cookie-policy-dialog",null,[[0,"toggleChanged","toggleChangeHandler"]]]]],["p-9214bb16",[[0,"onto-rdf-search",{isOpen:[32],buttonConfig:[32]},[[8,"click","handleClick"]]],[0,"onto-language-selector",{dropdownAlignment:[1,"dropdown-alignment"],currentLanguage:[32]}],[0,"onto-license-alert",{license:[16]}],[0,"onto-operations-notification",{activeOperations:[16],isOpen:[32]},[[8,"click","handleOutsideClick"]]],[0,"onto-repository-selector",{currentRepository:[16],items:[16],repositorySizeInfoFetcher:[16],totalTripletsFormatter:[16],expansionRatioFormatter:[16],canWriteRepo:[16],defaultToggleButtonName:[32],noRepositoriesButtonMessage:[32]},null,{items:[{onItemsChanged:0}]}],[0,"onto-user-login"],[0,"onto-user-menu",{user:[16],securityConfig:[16],isOpen:[32]}],[0,"onto-search-icon",{tooltipLabel:[32]}],[0,"onto-search-resource-input",{context:[1],skipValidation:[4,"skip-validation"],preserveSearch:[4,"preserve-search"],isHidden:[4,"is-hidden"],buttonConfig:[16],inputValue:[32],searchResult:[32],isAutocompleteEnabled:[32]},null,{isHidden:[{onVisibilityChange:0}]}]]],["p-74888633",[[0,"onto-header",{activeOperations:[32],license:[32],isFreeAccessEnabled:[32],shouldShowSearch:[32],isHomePage:[32],repositoryList:[32],currentRoute:[32],currentRepository:[32],securityConfig:[32],user:[32],showUserMenu:[32],showLoginButton:[32],applicationLogoPath:[32]}],[0,"onto-footer",{productInfo:[32],shouldShowCookieConsent:[32]},[[0,"consentGiven","handleConsentGiven"]]],[0,"onto-navbar",{navbarCollapsed:[4,"navbar-collapsed"],menuItems:[16],menuModel:[32],isCollapsed:[32]},null,{navbarCollapsed:[{navbarCollapsedChange:0}],menuItems:[{menuItemsChanged:0}]}],[1,"onto-loader",{size:[2],messageText:[1,"message-text"]}],[0,"onto-tooltip",null,[[5,"mouseover","onMouseover"],[5,"mouseout","onMouseout"]]]]]],o)));
@@ -1,16 +1,40 @@
1
- import { DialogHandler } from '../../../models/dialog/dialog-handler';
2
- import { OntoDialog } from '../../../models/dialog/onto-dialog';
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
3
2
  import { ToggleEventPayload } from '../../../models/toggle-switch/toggle-event-payload';
4
- export declare class OntoCookiePolicyDialog implements OntoDialog {
3
+ export declare class OntoCookiePolicyDialog {
5
4
  private readonly logger;
6
- private readonly user;
5
+ private readonly securityContextService;
7
6
  private readonly securityService;
7
+ private readonly trackingService;
8
+ private user;
9
+ private cookieConsent;
8
10
  /**
9
- * The dialog handler for managing the dialog's behavior.
11
+ * Debounced version of the `toggleChanged` method to prevent rapid consecutive calls when the user toggles cookie
12
+ * consent options multiple times in quick succession.
13
+ * This is needed because the `toggleChanged` method involves adding and removing tracking scripts based on the user's
14
+ * consent, and rapid toggling can lead to multiple unnecessary script manipulations, which can cause performance
15
+ * issues and unintended side effects.
10
16
  */
11
- dialogHandler: DialogHandler;
12
- toggleChanged(event: CustomEvent<ToggleEventPayload>): void;
17
+ private readonly toggleChangedDebounced;
18
+ /**
19
+ * Event emitted when the dialog is closed, allowing parent components to react accordingly.
20
+ */
21
+ closeDialog: EventEmitter<void>;
22
+ toggleChangeHandler(event: CustomEvent<ToggleEventPayload>): void;
23
+ private toggleChanged;
24
+ connectedCallback(): void;
13
25
  render(): any;
26
+ /**
27
+ * TODO: This is comment from the previous implementation in the legacy and needs to be re-evaluated and updated if necessary.
28
+ *
29
+ * Closes the modal and passes a result to indicate if the page should be reloaded.
30
+ * - The page reloads only if the user has
31
+ * (1) toggled third-party consent multiple times (`didAbusedThirdPartyToggle`),
32
+ * (2) left third-party consent as enabled (`hasThirdPartyConsent`), and
33
+ * (3) previously accepted the overall policy (`hasPolicyAccepted`)
34
+ * - This reload is necessary in cases where multiple third-party consent changes
35
+ * lead to duplicate and redundant tracking data being loaded.
36
+ */
37
+ private closePolicyDialog;
14
38
  private updateCookieConsent;
15
39
  private setUserCookieConsent;
16
40
  }
@@ -11,8 +11,8 @@ export declare class OntoCookieConsent implements DialogHandler {
11
11
  /** Event emitter for when consent is given */
12
12
  consentGiven: EventEmitter<void>;
13
13
  /**
14
- * Closes the cookie policy dialog.
15
- * This method is called when the dialog is closed.
14
+ * Listener for the closeDialog event emitted by the cookie policy dialog.
15
+ * Sets the showModal state to false to hide the dialog.
16
16
  */
17
17
  onDialogClose(): void;
18
18
  render(): any;
@@ -12,16 +12,23 @@ export declare class OntoFooter {
12
12
  private readonly subscriptions;
13
13
  /** Current year for copyright display */
14
14
  private readonly currentYear;
15
+ private readonly productInfoContextService;
15
16
  private readonly securityContextService;
16
17
  private readonly licenseContextService;
17
- private readonly cookieService;
18
+ private readonly trackingService;
18
19
  handleConsentGiven(): void;
19
20
  render(): any;
20
21
  connectedCallback(): void;
21
22
  disconnectedCallback(): void;
22
23
  private subscribeToProductInfoChange;
23
- private isTrackingAllowed;
24
24
  private subscribeToUserChange;
25
+ private subscribeToUserLoginStatusChange;
26
+ /**
27
+ * Determines whether the cookie consent banner should be shown based on the user's authentication status, license
28
+ * type, and cookie consent status.
29
+ * The banner is shown if the user has not accepted the cookie policy and either has free access or is logged in,
30
+ * provided that tracking is allowed by the license. Otherwise, the banner is hidden.
31
+ */
25
32
  private setCookieConsentVisibility;
26
33
  private subscribeToLicenseChange;
27
34
  }
@@ -5,7 +5,6 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
- import { DialogHandler } from "./models/dialog/dialog-handler";
9
8
  import { DialogConfig } from "./components/dialogs/onto-dialog";
10
9
  import { AuthenticatedUser, AuthenticatedUserResponse, Awaitable, Configuration, ExternalMenuModel, License, Notification, OperationStatusSummary, ProductInfo, Repository, RepositoryReference, RepositorySizeInfo, SearchButtonConfig, SecurityConfig, ToastMessage, TranslationParameter, User } from "../../api/dist/ontotext-workbench-api.d";
11
10
  import { DropdownItem } from "./models/dropdown/dropdown-item";
@@ -13,7 +12,6 @@ import { OntoTooltipPlacement } from "./components/onto-tooltip/models/onto-tool
13
12
  import { DropdownItemAlignment } from "./models/dropdown/dropdown-item-alignment";
14
13
  import { NavbarToggledEvent } from "./components/onto-navbar/navbar-toggled-event";
15
14
  import { ToggleEventPayload } from "./models/toggle-switch/toggle-event-payload";
16
- export { DialogHandler } from "./models/dialog/dialog-handler";
17
15
  export { DialogConfig } from "./components/dialogs/onto-dialog";
18
16
  export { AuthenticatedUser, AuthenticatedUserResponse, Awaitable, Configuration, ExternalMenuModel, License, Notification, OperationStatusSummary, ProductInfo, Repository, RepositoryReference, RepositorySizeInfo, SearchButtonConfig, SecurityConfig, ToastMessage, TranslationParameter, User } from "../../api/dist/ontotext-workbench-api.d";
19
17
  export { DropdownItem } from "./models/dropdown/dropdown-item";
@@ -30,10 +28,6 @@ export namespace Components {
30
28
  interface OntoCookieConsent {
31
29
  }
32
30
  interface OntoCookiePolicyDialog {
33
- /**
34
- * The dialog handler for managing the dialog's behavior.
35
- */
36
- "dialogHandler": DialogHandler;
37
31
  }
38
32
  interface OntoDialog {
39
33
  /**
@@ -378,6 +372,10 @@ export interface OntoCookieConsentCustomEvent<T> extends CustomEvent<T> {
378
372
  detail: T;
379
373
  target: HTMLOntoCookieConsentElement;
380
374
  }
375
+ export interface OntoCookiePolicyDialogCustomEvent<T> extends CustomEvent<T> {
376
+ detail: T;
377
+ target: HTMLOntoCookiePolicyDialogElement;
378
+ }
381
379
  export interface OntoDropdownCustomEvent<T> extends CustomEvent<T> {
382
380
  detail: T;
383
381
  target: HTMLOntoDropdownElement;
@@ -413,7 +411,18 @@ declare global {
413
411
  prototype: HTMLOntoCookieConsentElement;
414
412
  new (): HTMLOntoCookieConsentElement;
415
413
  };
414
+ interface HTMLOntoCookiePolicyDialogElementEventMap {
415
+ "closeDialog": void;
416
+ }
416
417
  interface HTMLOntoCookiePolicyDialogElement extends Components.OntoCookiePolicyDialog, HTMLStencilElement {
418
+ addEventListener<K extends keyof HTMLOntoCookiePolicyDialogElementEventMap>(type: K, listener: (this: HTMLOntoCookiePolicyDialogElement, ev: OntoCookiePolicyDialogCustomEvent<HTMLOntoCookiePolicyDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
419
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
420
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
421
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
422
+ removeEventListener<K extends keyof HTMLOntoCookiePolicyDialogElementEventMap>(type: K, listener: (this: HTMLOntoCookiePolicyDialogElement, ev: OntoCookiePolicyDialogCustomEvent<HTMLOntoCookiePolicyDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
423
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
424
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
425
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
417
426
  }
418
427
  var HTMLOntoCookiePolicyDialogElement: {
419
428
  prototype: HTMLOntoCookiePolicyDialogElement;
@@ -670,9 +679,9 @@ declare namespace LocalJSX {
670
679
  }
671
680
  interface OntoCookiePolicyDialog {
672
681
  /**
673
- * The dialog handler for managing the dialog's behavior.
682
+ * Event emitted when the dialog is closed, allowing parent components to react accordingly.
674
683
  */
675
- "dialogHandler": DialogHandler;
684
+ "onCloseDialog"?: (event: OntoCookiePolicyDialogCustomEvent<void>) => void;
676
685
  }
677
686
  interface OntoDialog {
678
687
  /**
@@ -1,3 +1,7 @@
1
1
  export interface DialogHandler {
2
+ /**
3
+ * A method annotated with `@Listen` to handle the close event emitted by the dialog component.
4
+ * This method should be implemented by any component that uses a dialog and needs to react to its closure.
5
+ */
2
6
  onDialogClose: () => void;
3
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphdb-workbench",
3
- "version": "3.3.2-TR1",
3
+ "version": "3.3.3-TR1",
4
4
  "description": "The web application for GraphDB APIs",
5
5
  "engines": {
6
6
  "node": ">=22.17"
@@ -1,2 +0,0 @@
1
- export const __webpack_esm_id__=13231;export const __webpack_esm_ids__=[13231,33760];export const __webpack_esm_modules__={13231(e,t,r){r(2243);var s=r(33760),n=r(92900),o=r(57154),i=r(62072);function a(e,t,r,a,c,u,d,l,p,m,g,h){angular.extend(this,d("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"}));const w=(0,o.service)(o.SecurityService),S=(0,o.service)(o.AuthenticationService),v=(0,o.service)(o.SecurityContextService),_=(0,o.service)(o.LicenseService),U=(0,o.service)(o.ApplicationSettingsStorageService),k=(0,o.service)(o.NavigationContextService),A=(0,o.service)(o.ThemeService);let y;e.mode="settings",e.showWorkbenchSettings=!0,e.workbenchSettings=U.getApplicationSettings(),e.selectedThemeMode=e.workbenchSettings.themeMode,e.saveButtonText=p.instant("common.save.btn"),e.pageTitle=p.instant("view.settings.title"),e.passwordPlaceholder=p.instant("security.new.password"),e.grantedAuthorities={[s.aj]:{},[s.DX]:{},[s.w0]:{}},e.loader=!1,e.noPassword=!1,e.showCookiePolicyLink=!1,e.hasEditRestrictions=function(){return!0},e.isUser=function(){return e.userType===n.ut.USER},e.goBack=function(){const e=k.getPreviousRoute();(0,o.navigate)(e??"./")},e.updateCurrentUserData=function(){S.getCurrentUser().then(e=>v.updateAuthenticatedUser(e))},e.redirectAdmin=function(){e.currentUserData||u.redirectToLogin()},e.submit=function(){e.noPassword&&e.userType===n.ut.ADMIN?l.openSimpleModal({title:p.instant("security.save.admin.settings"),message:p.instant("security.admin.pass.unset"),warning:!0}).result.then(function(){e.updateUser()}):e.updateUser()},e.updateUserHttp=function(){e.loader=!0;const r=new o.User({username:e.user.username,password:e.noPassword?"":e.user.password||void 0,appSettings:e.user.appSettings});w.updateAuthenticatedUser(r).then(()=>{t.success(p.instant("security.user.updated",{name:e.user.username})),e.updateCurrentUserData(),A.setThemeMode(e.selectedThemeMode),U.setApplicationSettings(e.workbenchSettings),T()}).catch(e=>{const r=getError(e);t.error(r,p.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(),g.open({templateUrl:"js/angular/core/templates/cookie-policy/cookie-policy.html",controller:i.O,backdrop:"static",keyboard:!1,windowClass:"cookie-policy-modal",resolve:{data:()=>h.getCookieConsent().then(e=>({cookieConsent:e}))}}).result.then(e=>{e&&r.location.reload()})};const T=()=>{y=a(function(){e.loader=!1,r.history.back()},2e3)};e.$on("$destroy",function(){a.cancel(y)}),(()=>{const t=v.getAuthenticatedUser();e.currentUserData=t.toUser(),e.redirectAdmin(),e.user={username:e.currentUserData.username},e.user.password="",e.user.confirmpassword="",e.user.external=e.currentUserData.external,e.user.appSettings=e.currentUserData.appSettings,void 0===e.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA&&(e.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA=!0),e.userType=e.currentUserData.getUserType(),e.grantedAuthorities=e.currentUserData.authorities.toUIModel(),e.customRoles=e.currentUserData.authorities.getCustomRoles()})(),e.setThemeMode(),_.updateLicenseStatus().then(()=>{e.showCookiePolicyLink=h.isTrackingAllowed()})}angular.module("graphdb.framework.security.controllers.user-settings",["graphdb.framework.core.services.security-service"]).controller("UserSettingsController",a),a.$inject=["$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","ModalService","$translate","$q","$uibModal","TrackingService"]},33760(e,t,r){r.d(t,{B1:()=>u,DX:()=>i,_5:()=>c,aj:()=>n,n5:()=>s,w0:()=>a,xF:()=>o});const s="SYSTEM",n="READ_REPO",o="READ_REPO_",i="WRITE_REPO",a="GRAPHQL",c="WRITE_REPO_",u="GRAPHQL_"}};
2
- //# sourceMappingURL=13231.9b625e487e6385faa36f.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"13231.9b625e487e6385faa36f.bundle.js","mappings":"gMAsCA,SAASA,EAAuBC,EAAQC,EAAQC,EAASC,EAAUC,EAAUC,EAAYC,EAAaC,EAAcC,EAAYC,EAAIC,EAAWC,GAC3IC,QAAQC,OAAOC,KAAMR,EAAY,iBAAkB,CAACN,OAAQA,EAAQe,oBAAqB,2BAKzF,MAAMC,GAAkBC,EAAAA,EAAAA,SAAQC,EAAAA,iBAC1BC,GAAwBF,EAAAA,EAAAA,SAAQG,EAAAA,uBAChCC,GAAyBJ,EAAAA,EAAAA,SAAQK,EAAAA,wBACjCC,GAAiBN,EAAAA,EAAAA,SAAQO,EAAAA,gBAEzBC,GAAoCR,EAAAA,EAAAA,SAAQS,EAAAA,mCAC5CC,GAA2BV,EAAAA,EAAAA,SAAQW,EAAAA,0BACnCC,GAAeZ,EAAAA,EAAAA,SAAQa,EAAAA,cAM7B,IAAIC,EAMJ/B,EAAOgC,KAAO,WACdhC,EAAOiC,uBAAwB,EAI/BjC,EAAOkC,kBAAoBT,EAAkCU,yBAC7DnC,EAAOoC,kBAAoBpC,EAAOkC,kBAAkBG,UACpDrC,EAAOsC,eAAiB9B,EAAW+B,QAAQ,mBAC3CvC,EAAOwC,UAAYhC,EAAW+B,QAAQ,uBACtCvC,EAAOe,oBAAsBP,EAAW+B,QAAQ,yBAChDvC,EAAOyC,mBAAqB,CACxB,CAACC,EAAAA,IAAY,CAAC,EACd,CAACC,EAAAA,IAAa,CAAC,EACf,CAACC,EAAAA,IAAU,CAAC,GAEhB5C,EAAO6C,QAAS,EAKhB7C,EAAO8C,YAAa,EAKpB9C,EAAO+C,sBAAuB,EAM9B/C,EAAOgD,oBAAsB,WACzB,OAAO,CACX,EAEAhD,EAAOiD,OAAS,WACZ,OAAOjD,EAAOkD,WAAaC,EAAAA,GAASC,IACxC,EAEApD,EAAOqD,OAAS,WACZ,MAAMC,EAAgB3B,EAAyB4B,oBAC/CC,EAAAA,EAAAA,UAASF,GAAiB,KAC9B,EAEAtD,EAAOyD,sBAAwB,WAC3BtC,EAAsBuC,iBACjBC,KAAMC,GAAsBvC,EAAuBwC,wBAAwBD,GACpF,EAEA5D,EAAO8D,cAAgB,WACd9D,EAAO+D,iBACR1D,EAAW2D,iBAEnB,EAEAhE,EAAOiE,OAAS,WACRjE,EAAO8C,YAAc9C,EAAOkD,WAAaC,EAAAA,GAASe,MAClD3D,EAAa4D,gBAAgB,CACzBC,MAAO5D,EAAW+B,QAAQ,gCAC1B8B,QAAS7D,EAAW+B,QAAQ,6BAC5B+B,SAAS,IACVC,OAAOZ,KAAK,WACX3D,EAAOwE,YACX,GAEAxE,EAAOwE,YAEf,EAEAxE,EAAOyE,eAAiB,WACpBzE,EAAO6C,QAAS,EAChB,MAAM6B,EAAO,IAAIC,EAAAA,KAAK,CAClBC,SAAU5E,EAAO0E,KAAKE,SACtBC,SAAU7E,EAAO8C,WAAa,GAAK9C,EAAO0E,KAAKG,eAAYC,EAC3DC,YAAa/E,EAAO0E,KAAKK,cAE7B/D,EAAgB6C,wBAAwBa,GACnCf,KAAK,KACF1D,EAAO+E,QAAQxE,EAAW+B,QAAQ,wBAAyB,CAAC0C,KAAMjF,EAAO0E,KAAKE,YAC9E5E,EAAOyD,wBACP5B,EAAaqD,aAAalF,EAAOoC,mBACjCX,EAAkC0D,uBAAuBnF,EAAOkC,mBAChEkD,MACDC,MAAOC,IACN,MAAMC,EAAMC,SAASF,GACrBrF,EAAOwF,MAAMF,EAAK/E,EAAW+B,QAAQ,mBAExCmD,QAAQ,KACL1F,EAAO6C,QAAS,GAE5B,EAEA7C,EAAOwE,WAAa,WAChB,IAAKxE,EAAO2F,eACR,OAAO,EAEX3F,EAAOyE,gBACX,EAEAzE,EAAO2F,aAAe,WAClB,OAAO3F,EAAO4F,kBAClB,EAEA5F,EAAOkF,aAAe,WAClBlF,EAAOoC,kBAAoBpC,EAAOkC,kBAAkBG,SACxD,EAEArC,EAAO6F,iBAAoBC,IAGvBA,EAAOC,iBAEPrF,EAAUsF,KAAK,CACXC,YAAa,6DACbC,WAAYC,EAAAA,EACZC,SAAU,SACVC,UAAU,EACVC,YAAa,sBACbC,QAAS,CACLjB,KAAMA,IACK3E,EAAgB6F,mBAClB7C,KAAM8C,IACI,CACHC,cAAeD,QAUlClC,OAAOZ,KAAMgD,IACVA,GACAzG,EAAQ0G,SAASC,YAS5B,MAMKzB,EAAuBA,KACzBrD,EAAyB5B,EAAS,WAC9BH,EAAO6C,QAAS,EAChB3C,EAAQ4G,QAAQC,MACpB,EAAG,MA8BP/G,EAAOgH,IAAI,WAAY,WACnB7G,EAAS8G,OAAOlF,EACpB,GAboBmF,MAChB,MAAMC,EAAY9F,EAAuB+F,uBACzCpH,EAAO+D,gBAAkBoD,EAAUE,SACnCrH,EAAO8D,gBAjBP9D,EAAO0E,KAAO,CAACE,SAAU5E,EAAO+D,gBAAgBa,UAChD5E,EAAO0E,KAAKG,SAAW,GACvB7E,EAAO0E,KAAK4C,gBAAkB,GAC9BtH,EAAO0E,KAAK6C,SAAWvH,EAAO+D,gBAAgBwD,SAC9CvH,EAAO0E,KAAKK,YAAc/E,EAAO+D,gBAAgBgB,iBAEWD,IAAxD9E,EAAO0E,KAAKK,YAAsC,2BAClD/E,EAAO0E,KAAKK,YAAsC,0BAAI,GAE1D/E,EAAOkD,SAAWlD,EAAO+D,gBAAgByD,cACzCxH,EAAOyC,mBAAqBzC,EAAO+D,gBAAgB0D,YAAYC,YAC/D1H,EAAO2H,YAAc3H,EAAO+D,gBAAgB0D,YAAYG,kBAuBxDV,GACAlH,EAAOkF,eAjDN3D,EAAesG,sBAAsBlE,KAAK,KACvC3D,EAAO+C,qBAAuBpC,EAAgBmH,qBAqD1D,CArPAlH,QACKmH,OAAO,uDAAwD,CAC5D,qDAEH7B,WAAW,yBAA0BnG,GAE1CA,EAAuBiI,QAAU,CAC7B,SACA,SACA,UACA,WACA,WACA,aACA,cACA,eACA,aACA,KACA,YACA,kB,uFCnCG,MAAMC,EAAc,SACdvF,EAAY,YACZwF,EAAmB,aACnBvF,EAAa,aACbC,EAAU,UACVuF,EAAoB,cACpBC,EAAiB,U","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/security/controllers/user-settings.controller.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/security/services/constants.js"],"sourcesContent":["import 'angular/core/services/security.service';\nimport {GRAPHQL, READ_REPO, WRITE_REPO} from '../services/constants';\nimport {UserType} from 'angular/utils/user-utils';\nimport {\n navigate,\n ThemeService,\n ApplicationSettingsStorageService,\n NavigationContextService,\n SecurityService,\n AuthenticationService,\n SecurityContextService,\n LicenseService,\n service,\n User,\n} from '@ontotext/workbench-api';\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","export const SYSTEM_REPO = 'SYSTEM';\nexport const READ_REPO = 'READ_REPO';\nexport const READ_REPO_PREFIX = 'READ_REPO_';\nexport const WRITE_REPO = 'WRITE_REPO';\nexport const GRAPHQL = 'GRAPHQL';\nexport const WRITE_REPO_PREFIX = 'WRITE_REPO_';\nexport const GRAPHQL_PREFIX = 'GRAPHQL_';\nexport const GRAPHQL_SUFFIX = 'GRAPHQL';\nexport const SUFFIX_DELIMITER = ':';\nexport const GRAPHQL_SUFFIX_WITH_DELIMITER = SUFFIX_DELIMITER + GRAPHQL_SUFFIX;\nexport const CUSTOM_PREFIX = 'CUSTOM_'\n"],"names":["UserSettingsController","$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","ModalService","$translate","$q","$uibModal","TrackingService","angular","extend","this","passwordPlaceholder","securityService","service","SecurityService","authenticationService","AuthenticationService","securityContextService","SecurityContextService","licenseService","LicenseService","applicationSettingsStorageService","ApplicationSettingsStorageService","navigationContextService","NavigationContextService","themeService","ThemeService","waitBeforeRedirectBack","mode","showWorkbenchSettings","workbenchSettings","getApplicationSettings","selectedThemeMode","themeMode","saveButtonText","instant","pageTitle","grantedAuthorities","READ_REPO","WRITE_REPO","GRAPHQL","loader","noPassword","showCookiePolicyLink","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","SYSTEM_REPO","READ_REPO_PREFIX","WRITE_REPO_PREFIX","GRAPHQL_PREFIX"],"ignoreList":[],"sourceRoot":""}