graphdb-workbench 3.1.1 → 3.2.0-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 (353) hide show
  1. package/README.md +45 -0
  2. package/dist/10142.f47cd2aec05492fce7ce.bundle.js +2 -0
  3. package/dist/10142.f47cd2aec05492fce7ce.bundle.js.map +1 -0
  4. package/dist/10406.52677950658780fd8859.bundle.js +2 -0
  5. package/dist/{10406.7fed4b667b0d2813b305.bundle.js.map → 10406.52677950658780fd8859.bundle.js.map} +1 -1
  6. package/dist/12358.2061f29dc113149946a3.bundle.js +3 -0
  7. package/dist/12358.2061f29dc113149946a3.bundle.js.map +1 -0
  8. package/dist/12396.4c26c8da50c790b0f39a.bundle.js +2 -0
  9. package/dist/12396.4c26c8da50c790b0f39a.bundle.js.map +1 -0
  10. package/dist/14874.d6973a34188c0335fa12.bundle.js +2 -0
  11. package/dist/14874.d6973a34188c0335fa12.bundle.js.map +1 -0
  12. package/dist/15535.ce8d657c04f3401b9539.bundle.js +2 -0
  13. package/dist/15535.ce8d657c04f3401b9539.bundle.js.map +1 -0
  14. package/dist/16162.8f482628d1b34d41d496.bundle.js +2 -0
  15. package/dist/16162.8f482628d1b34d41d496.bundle.js.map +1 -0
  16. package/dist/{18961.d83ba5fd0855f3cfa7d7.bundle.js → 18961.c6505525fb0491b48f8b.bundle.js} +2 -2
  17. package/dist/{18961.d83ba5fd0855f3cfa7d7.bundle.js.map → 18961.c6505525fb0491b48f8b.bundle.js.map} +1 -1
  18. package/dist/19968.fdb823f9a12e11a633ec.bundle.js +2 -0
  19. package/dist/19968.fdb823f9a12e11a633ec.bundle.js.map +1 -0
  20. package/dist/20287.c42f9d1d913c36e46931.bundle.js +2 -0
  21. package/dist/20287.c42f9d1d913c36e46931.bundle.js.map +1 -0
  22. package/dist/20694.70b6e390d6397249c72d.bundle.js.map +1 -1
  23. package/dist/21136.199caea09a1c9ad90393.bundle.js +2 -0
  24. package/dist/21136.199caea09a1c9ad90393.bundle.js.map +1 -0
  25. package/dist/21142.b690e00c8884fddb2bb3.bundle.js +2 -0
  26. package/dist/21142.b690e00c8884fddb2bb3.bundle.js.map +1 -0
  27. package/dist/21170.d5e3041241741d21080c.bundle.js +2 -0
  28. package/dist/21170.d5e3041241741d21080c.bundle.js.map +1 -0
  29. package/dist/21195.267abc9d42b711d0f17a.bundle.js +2 -0
  30. package/dist/21195.267abc9d42b711d0f17a.bundle.js.map +1 -0
  31. package/dist/25747.4e00941ec221c4d6ce8f.bundle.js +2 -0
  32. package/dist/25747.4e00941ec221c4d6ce8f.bundle.js.map +1 -0
  33. package/dist/27580.f71ebbc69dd1c7785ef3.bundle.js +2 -0
  34. package/dist/27580.f71ebbc69dd1c7785ef3.bundle.js.map +1 -0
  35. package/dist/28050.8ca1fa760c892bfc5466.bundle.js +2 -0
  36. package/dist/28050.8ca1fa760c892bfc5466.bundle.js.map +1 -0
  37. package/dist/31636.e34ccc2d6f2dec577446.bundle.js +2 -0
  38. package/dist/31636.e34ccc2d6f2dec577446.bundle.js.map +1 -0
  39. package/dist/32489.97fac2c3daa49b143d13.bundle.js +2 -0
  40. package/dist/32489.97fac2c3daa49b143d13.bundle.js.map +1 -0
  41. package/dist/32534.fb6ef715bfb44761ec63.bundle.js +2 -0
  42. package/dist/32534.fb6ef715bfb44761ec63.bundle.js.map +1 -0
  43. package/dist/34495.cfa15bda8009fa37c6ff.bundle.js +2 -0
  44. package/dist/34495.cfa15bda8009fa37c6ff.bundle.js.map +1 -0
  45. package/dist/{38360.437a12fa59878d1d43b9.bundle.js → 38360.0a90e77042876c86b279.bundle.js} +2 -2
  46. package/dist/38360.0a90e77042876c86b279.bundle.js.map +1 -0
  47. package/dist/38412.fa86361561ffa367709f.bundle.js +2 -0
  48. package/dist/38412.fa86361561ffa367709f.bundle.js.map +1 -0
  49. package/dist/38644.3a0954c798ec413a3810.bundle.js +2 -0
  50. package/dist/38644.3a0954c798ec413a3810.bundle.js.map +1 -0
  51. package/dist/38843.5ef7a063337524ce3bb2.bundle.js +2 -0
  52. package/dist/38843.5ef7a063337524ce3bb2.bundle.js.map +1 -0
  53. package/dist/39518.4199684f3273d29d9105.bundle.js +2 -0
  54. package/dist/{39518.0ee809a85c83dba1f56a.bundle.js.map → 39518.4199684f3273d29d9105.bundle.js.map} +1 -1
  55. package/dist/39539.c23e4878044d73f2505b.bundle.js +2 -0
  56. package/dist/39539.c23e4878044d73f2505b.bundle.js.map +1 -0
  57. package/dist/{39874.c2d7cab1a65e5a869e78.bundle.js → 39874.f94a5059e1ae4f4a87e9.bundle.js} +2 -2
  58. package/dist/39874.f94a5059e1ae4f4a87e9.bundle.js.map +1 -0
  59. package/dist/41453.8bb4c783da2c5077a6e9.bundle.js +2 -0
  60. package/dist/41453.8bb4c783da2c5077a6e9.bundle.js.map +1 -0
  61. package/dist/42129.f44b7b20f9cd376c6e59.bundle.js +2 -0
  62. package/dist/42129.f44b7b20f9cd376c6e59.bundle.js.map +1 -0
  63. package/dist/44444.ad66c8256bc5b653de1a.bundle.js +2 -0
  64. package/dist/44444.ad66c8256bc5b653de1a.bundle.js.map +1 -0
  65. package/dist/44874.5854c207bbe2c4f2438e.bundle.js +2 -0
  66. package/dist/44874.5854c207bbe2c4f2438e.bundle.js.map +1 -0
  67. package/dist/45149.2f77aa736bbfb13fd987.bundle.js +2 -0
  68. package/dist/45149.2f77aa736bbfb13fd987.bundle.js.map +1 -0
  69. package/dist/45758.6ceb731cbe0576149f31.bundle.js +2 -0
  70. package/dist/45758.6ceb731cbe0576149f31.bundle.js.map +1 -0
  71. package/dist/{46591.ac9d19fd699104a9ed9b.bundle.js → 46591.0b142aa76a8991a89848.bundle.js} +2 -2
  72. package/dist/46591.0b142aa76a8991a89848.bundle.js.map +1 -0
  73. package/dist/55862.1fb5abd075ba11a7e93c.bundle.js +2 -0
  74. package/dist/55862.1fb5abd075ba11a7e93c.bundle.js.map +1 -0
  75. package/dist/58306.ba9545cbaee021ebcbce.bundle.js +2 -0
  76. package/dist/58306.ba9545cbaee021ebcbce.bundle.js.map +1 -0
  77. package/dist/{60560.024578077d95b851beea.bundle.js → 60560.37740d97b418899a5d21.bundle.js} +2 -2
  78. package/dist/{60560.024578077d95b851beea.bundle.js.map → 60560.37740d97b418899a5d21.bundle.js.map} +1 -1
  79. package/dist/67232.e76f40f9d09e64ebb365.bundle.js.map +1 -1
  80. package/dist/67888.7d4966e0a22ba655f1b8.bundle.js +2 -0
  81. package/dist/67888.7d4966e0a22ba655f1b8.bundle.js.map +1 -0
  82. package/dist/72379.bac50d0011665a85b6cd.bundle.js +2 -0
  83. package/dist/72379.bac50d0011665a85b6cd.bundle.js.map +1 -0
  84. package/dist/73667.3dd4f377e7ef54fd8758.bundle.js +2 -0
  85. package/dist/73667.3dd4f377e7ef54fd8758.bundle.js.map +1 -0
  86. package/dist/73779.193df86f08e3a1d06d67.bundle.js +2 -0
  87. package/dist/73779.193df86f08e3a1d06d67.bundle.js.map +1 -0
  88. package/dist/73793.6d80d47c26ed60a587fd.bundle.js +2 -0
  89. package/dist/73793.6d80d47c26ed60a587fd.bundle.js.map +1 -0
  90. package/dist/75282.88819e851ed18720b275.bundle.js +2 -0
  91. package/dist/75282.88819e851ed18720b275.bundle.js.map +1 -0
  92. package/dist/75849.51ade15bf0074eab76f3.bundle.js +2 -0
  93. package/dist/75849.51ade15bf0074eab76f3.bundle.js.map +1 -0
  94. package/dist/78013.e32fade7ad42b64c8122.bundle.js +2 -0
  95. package/dist/78013.e32fade7ad42b64c8122.bundle.js.map +1 -0
  96. package/dist/78250.6db42146a120459280e4.bundle.js +2 -0
  97. package/dist/78250.6db42146a120459280e4.bundle.js.map +1 -0
  98. package/dist/{78681.e44a1eb1dce4a8a29f57.bundle.js → 78681.39694d37c0f75ea04df6.bundle.js} +2 -2
  99. package/dist/{78681.e44a1eb1dce4a8a29f57.bundle.js.map → 78681.39694d37c0f75ea04df6.bundle.js.map} +1 -1
  100. package/dist/79329.5a5cbfa466d1c62af915.bundle.js +2 -0
  101. package/dist/79329.5a5cbfa466d1c62af915.bundle.js.map +1 -0
  102. package/dist/82206.8ec983edcf675cfd4531.bundle.js +2 -0
  103. package/dist/82206.8ec983edcf675cfd4531.bundle.js.map +1 -0
  104. package/dist/82896.9aed45baf67510717c6f.bundle.js +2 -0
  105. package/dist/82896.9aed45baf67510717c6f.bundle.js.map +1 -0
  106. package/dist/{82926.f625cc022724426fb8fb.bundle.js → 82926.93dbf44f2bcccba34e9b.bundle.js} +2 -2
  107. package/dist/{82926.f625cc022724426fb8fb.bundle.js.map → 82926.93dbf44f2bcccba34e9b.bundle.js.map} +1 -1
  108. package/dist/85281.27b5a1eb8e7ac2cf8459.bundle.js +2 -0
  109. package/dist/85281.27b5a1eb8e7ac2cf8459.bundle.js.map +1 -0
  110. package/dist/{88206.fbbcf8ccd9460c579e87.bundle.js → 88206.28c337e2edbf17928836.bundle.js} +2 -2
  111. package/dist/88206.28c337e2edbf17928836.bundle.js.map +1 -0
  112. package/dist/9062.d9049833d076191d3e1a.bundle.js +2 -0
  113. package/dist/9062.d9049833d076191d3e1a.bundle.js.map +1 -0
  114. package/dist/99379.be6c85ef305af6667dc1.bundle.js +2 -0
  115. package/dist/99379.be6c85ef305af6667dc1.bundle.js.map +1 -0
  116. package/dist/99448.314018d0afb1af150ddf.bundle.js +2 -0
  117. package/dist/99448.314018d0afb1af150ddf.bundle.js.map +1 -0
  118. package/dist/api/error/error-base.d.ts +1 -1
  119. package/dist/api/ontotext-workbench-api.js +1 -1
  120. package/dist/api/ontotext-workbench-api.js.map +1 -1
  121. package/dist/i18n/locale-en.json +31 -0
  122. package/dist/i18n/locale-fr.json +31 -0
  123. package/dist/index.html +8 -8
  124. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  125. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  126. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  127. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  128. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  129. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  130. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  131. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  132. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  133. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  134. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  135. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  136. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +4 -3
  137. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  138. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  139. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  140. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  141. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  142. package/dist/js/angular/security/templates/user.html +2 -2
  143. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  144. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  145. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  146. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  147. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  148. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  149. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +2 -2
  150. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  151. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  152. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  153. package/dist/legacyWorkbench.57fc12c172f6350ac4c5.js +3 -0
  154. package/dist/{legacyWorkbench.ad1d42d21ac42beabeb4.js.map → legacyWorkbench.57fc12c172f6350ac4c5.js.map} +1 -1
  155. package/dist/{main.400f2248f076a2d31d80.js → main.b9a83da68ffc43c91de0.js} +3 -3
  156. package/dist/{main.400f2248f076a2d31d80.js.map → main.b9a83da68ffc43c91de0.js.map} +1 -1
  157. package/dist/pages/aclmanagement.html +2 -2
  158. package/dist/pages/autocomplete.html +1 -1
  159. package/dist/pages/choose-repository-type.html +1 -1
  160. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  161. package/dist/pages/create-index.html +1 -1
  162. package/dist/pages/dependencies.html +1 -1
  163. package/dist/pages/domainRangeInfo.html +2 -2
  164. package/dist/pages/edit.html +1 -1
  165. package/dist/pages/explore.html +1 -1
  166. package/dist/pages/export.html +1 -1
  167. package/dist/pages/find.html +1 -1
  168. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  169. package/dist/pages/graphs-visualizations.html +7 -7
  170. package/dist/pages/guides.html +1 -1
  171. package/dist/pages/import.html +2 -2
  172. package/dist/pages/jdbc-create.html +1 -1
  173. package/dist/pages/login.html +1 -1
  174. package/dist/pages/monitor/backup-and-restore.html +1 -1
  175. package/dist/pages/monitor/queries.html +1 -1
  176. package/dist/pages/monitor/resources.html +1 -1
  177. package/dist/pages/namespaces.html +2 -2
  178. package/dist/pages/plugins.html +1 -1
  179. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  180. package/dist/pages/rdfrank.html +2 -2
  181. package/dist/pages/repositories.html +1 -1
  182. package/dist/pages/repository.html +1 -1
  183. package/dist/pages/similarity-indexes.html +1 -1
  184. package/dist/pages/sparql-editor.html +1 -1
  185. package/dist/pages/sparql-template-create.html +1 -1
  186. package/dist/pages/ux-test1.html +2 -2
  187. package/dist/pages/webapi.html +2 -2
  188. package/dist/plugins.js +1 -1
  189. package/dist/res/swagger5/css/onto-theme.css +1 -1
  190. package/dist/res/swagger5/index.html +11 -11
  191. package/dist/shared-components/cjs/onto-cookie-consent_2.cjs.entry.js +1 -1
  192. package/dist/shared-components/cjs/onto-dialog_2.cjs.entry.js +1 -1
  193. package/dist/shared-components/cjs/onto-dropdown.cjs.entry.js +1 -1
  194. package/dist/shared-components/cjs/onto-footer_6.cjs.entry.js +1 -1
  195. package/dist/shared-components/cjs/onto-language-selector_9.cjs.entry.js +1 -1
  196. package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
  197. package/dist/shared-components/cjs/translate-label.cjs.entry.js +1 -1
  198. package/dist/shared-components/collection/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.js +1 -1
  199. package/dist/shared-components/collection/components/dialogs/onto-dialog.js +1 -1
  200. package/dist/shared-components/collection/components/onto-cookie-consent/onto-cookie-consent.js +1 -1
  201. package/dist/shared-components/collection/components/onto-dropdown/onto-dropdown.js +1 -1
  202. package/dist/shared-components/collection/components/onto-footer/onto-footer.js +1 -1
  203. package/dist/shared-components/collection/components/onto-header/onto-header.js +1 -1
  204. package/dist/shared-components/collection/components/onto-language-selector/onto-language-selector.js +1 -1
  205. package/dist/shared-components/collection/components/onto-layout/onto-layout.js +1 -1
  206. package/dist/shared-components/collection/components/onto-navbar/navbar-model.js +1 -1
  207. package/dist/shared-components/collection/components/onto-navbar/navbar-service.js +1 -1
  208. package/dist/shared-components/collection/components/onto-operations-notification/onto-operations-notification.js +1 -1
  209. package/dist/shared-components/collection/components/onto-rdf-search/onto-rdf-search.js +1 -1
  210. package/dist/shared-components/collection/components/onto-repository-selector/onto-repository-selector.js +1 -1
  211. package/dist/shared-components/collection/components/onto-search-icon/onto-search-icon.js +1 -1
  212. package/dist/shared-components/collection/components/onto-search-resource-input/onto-search-resource-input.js +1 -1
  213. package/dist/shared-components/collection/components/onto-toastr/onto-toastr.js +1 -1
  214. package/dist/shared-components/collection/components/onto-toggle-switch/onto-toggle-switch.js +1 -1
  215. package/dist/shared-components/collection/components/onto-tooltip/onto-tooltip.js +1 -1
  216. package/dist/shared-components/collection/components/translate-label/translate-label.js +1 -1
  217. package/dist/shared-components/esm/onto-cookie-consent_2.entry.js +1 -1
  218. package/dist/shared-components/esm/onto-dialog_2.entry.js +1 -1
  219. package/dist/shared-components/esm/onto-dropdown.entry.js +1 -1
  220. package/dist/shared-components/esm/onto-footer_6.entry.js +1 -1
  221. package/dist/shared-components/esm/onto-language-selector_9.entry.js +1 -1
  222. package/dist/shared-components/esm/onto-layout.entry.js +1 -1
  223. package/dist/shared-components/esm/translate-label.entry.js +1 -1
  224. package/dist/shared-components/shared-components/p-17bac1e3.entry.js +1 -0
  225. package/dist/shared-components/shared-components/p-1bc2ac8e.entry.js +1 -0
  226. package/dist/shared-components/shared-components/p-2433b25f.entry.js +1 -0
  227. package/dist/shared-components/shared-components/p-25fa0ee5.entry.js +1 -0
  228. package/dist/shared-components/shared-components/{p-a4e82a3f.entry.js → p-6266be98.entry.js} +1 -1
  229. package/dist/shared-components/shared-components/{p-eed8b067.entry.js → p-91ad7f7f.entry.js} +1 -1
  230. package/dist/shared-components/shared-components/p-aef0b970.entry.js +1 -0
  231. package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
  232. package/dist/shared-components/types/components/onto-dropdown/onto-dropdown.d.ts +2 -2
  233. package/dist/shared-components/types/components/onto-navbar/navbar-model.d.ts +4 -1
  234. package/dist/shared-components/types/components/onto-navbar/navbar-toggled-event.d.ts +1 -1
  235. package/dist/shared-components/types/components/onto-navbar/onto-navbar.d.ts +2 -2
  236. package/dist/shared-components/types/components/onto-test-context/onto-test-context.d.ts +23 -23
  237. package/dist/shared-components/types/components/onto-tooltip/models/onto-tooltip-configuration.d.ts +1 -2
  238. package/dist/shared-components/types/components.d.ts +4 -4
  239. package/dist/shared-components/types/models/component-event.d.ts +1 -1
  240. package/dist/shared-components/types/utils/function-utils.d.ts +1 -1
  241. package/dist/shared-components/types/utils/tooltip-util.d.ts +2 -2
  242. package/dist/workbench/workbench/workbenchApp.js +1 -1
  243. package/package.json +8 -2
  244. package/dist/10142.6a276ff32f58aa4d1b72.bundle.js +0 -2
  245. package/dist/10142.6a276ff32f58aa4d1b72.bundle.js.map +0 -1
  246. package/dist/10153.1532fddd43604bf408c3.bundle.js +0 -2
  247. package/dist/10153.1532fddd43604bf408c3.bundle.js.map +0 -1
  248. package/dist/10406.7fed4b667b0d2813b305.bundle.js +0 -2
  249. package/dist/12358.736ea9c178c92655de3a.bundle.js +0 -3
  250. package/dist/12358.736ea9c178c92655de3a.bundle.js.map +0 -1
  251. package/dist/12396.47201b3f37dcfe963353.bundle.js +0 -2
  252. package/dist/12396.47201b3f37dcfe963353.bundle.js.map +0 -1
  253. package/dist/14874.17bc671b6ff6123b9eb1.bundle.js +0 -2
  254. package/dist/14874.17bc671b6ff6123b9eb1.bundle.js.map +0 -1
  255. package/dist/15535.e3d3f8071a4cc462b5eb.bundle.js +0 -2
  256. package/dist/15535.e3d3f8071a4cc462b5eb.bundle.js.map +0 -1
  257. package/dist/16162.bc70365c3f546e70a3e9.bundle.js +0 -2
  258. package/dist/16162.bc70365c3f546e70a3e9.bundle.js.map +0 -1
  259. package/dist/20287.c3d0095a3a5f18cd0087.bundle.js +0 -2
  260. package/dist/20287.c3d0095a3a5f18cd0087.bundle.js.map +0 -1
  261. package/dist/21136.fb6d69cd9e6dd31a65b2.bundle.js +0 -2
  262. package/dist/21136.fb6d69cd9e6dd31a65b2.bundle.js.map +0 -1
  263. package/dist/21142.0589f58f1a3b49b4fcfa.bundle.js +0 -2
  264. package/dist/21142.0589f58f1a3b49b4fcfa.bundle.js.map +0 -1
  265. package/dist/21170.8126948c956555b4f9ff.bundle.js +0 -2
  266. package/dist/21170.8126948c956555b4f9ff.bundle.js.map +0 -1
  267. package/dist/21195.77df14ed68c1f286839a.bundle.js +0 -2
  268. package/dist/21195.77df14ed68c1f286839a.bundle.js.map +0 -1
  269. package/dist/25747.612b1bce6250300d137f.bundle.js +0 -2
  270. package/dist/25747.612b1bce6250300d137f.bundle.js.map +0 -1
  271. package/dist/27580.88bc1444d863327a3697.bundle.js +0 -2
  272. package/dist/27580.88bc1444d863327a3697.bundle.js.map +0 -1
  273. package/dist/28050.1359d262b2e2c497ad6d.bundle.js +0 -2
  274. package/dist/28050.1359d262b2e2c497ad6d.bundle.js.map +0 -1
  275. package/dist/31636.625df78d380dadd69c07.bundle.js +0 -2
  276. package/dist/31636.625df78d380dadd69c07.bundle.js.map +0 -1
  277. package/dist/32489.5f438460389d65300913.bundle.js +0 -2
  278. package/dist/32489.5f438460389d65300913.bundle.js.map +0 -1
  279. package/dist/32534.73081e468e918a03bd70.bundle.js +0 -2
  280. package/dist/32534.73081e468e918a03bd70.bundle.js.map +0 -1
  281. package/dist/32606.376e14770ba6e81b7159.bundle.js +0 -2
  282. package/dist/32606.376e14770ba6e81b7159.bundle.js.map +0 -1
  283. package/dist/34495.e0f8e26f32d7d8def627.bundle.js +0 -2
  284. package/dist/34495.e0f8e26f32d7d8def627.bundle.js.map +0 -1
  285. package/dist/38360.437a12fa59878d1d43b9.bundle.js.map +0 -1
  286. package/dist/38412.85b4c12f5ed5ffb6e4dd.bundle.js +0 -2
  287. package/dist/38412.85b4c12f5ed5ffb6e4dd.bundle.js.map +0 -1
  288. package/dist/38644.6e82d4276df028701834.bundle.js +0 -2
  289. package/dist/38644.6e82d4276df028701834.bundle.js.map +0 -1
  290. package/dist/38843.428e7caf2e6805840b83.bundle.js +0 -2
  291. package/dist/38843.428e7caf2e6805840b83.bundle.js.map +0 -1
  292. package/dist/39518.0ee809a85c83dba1f56a.bundle.js +0 -2
  293. package/dist/39539.2a03bf4161ee846817d3.bundle.js +0 -2
  294. package/dist/39539.2a03bf4161ee846817d3.bundle.js.map +0 -1
  295. package/dist/39874.c2d7cab1a65e5a869e78.bundle.js.map +0 -1
  296. package/dist/41453.5370acf9540ff5382268.bundle.js +0 -2
  297. package/dist/41453.5370acf9540ff5382268.bundle.js.map +0 -1
  298. package/dist/42129.02f0b477c276dceb732c.bundle.js +0 -2
  299. package/dist/42129.02f0b477c276dceb732c.bundle.js.map +0 -1
  300. package/dist/44444.57b74adca89db793b77c.bundle.js +0 -2
  301. package/dist/44444.57b74adca89db793b77c.bundle.js.map +0 -1
  302. package/dist/44874.60bab9adf89019b35654.bundle.js +0 -2
  303. package/dist/44874.60bab9adf89019b35654.bundle.js.map +0 -1
  304. package/dist/45758.4e363b98020c3460b4ff.bundle.js +0 -2
  305. package/dist/45758.4e363b98020c3460b4ff.bundle.js.map +0 -1
  306. package/dist/46591.ac9d19fd699104a9ed9b.bundle.js.map +0 -1
  307. package/dist/55862.81467f263f3c46d9d889.bundle.js +0 -2
  308. package/dist/55862.81467f263f3c46d9d889.bundle.js.map +0 -1
  309. package/dist/58163.747b20ea052b22b24bd0.bundle.js +0 -2
  310. package/dist/58163.747b20ea052b22b24bd0.bundle.js.map +0 -1
  311. package/dist/58306.0ca44cc562ab1135c44b.bundle.js +0 -2
  312. package/dist/58306.0ca44cc562ab1135c44b.bundle.js.map +0 -1
  313. package/dist/67888.cc78716f885f98366859.bundle.js +0 -2
  314. package/dist/67888.cc78716f885f98366859.bundle.js.map +0 -1
  315. package/dist/72379.4023fb8f5c0dd8f32faa.bundle.js +0 -2
  316. package/dist/72379.4023fb8f5c0dd8f32faa.bundle.js.map +0 -1
  317. package/dist/73667.6925315f2649c49bade2.bundle.js +0 -2
  318. package/dist/73667.6925315f2649c49bade2.bundle.js.map +0 -1
  319. package/dist/73779.c4608b73b63083cb3352.bundle.js +0 -2
  320. package/dist/73779.c4608b73b63083cb3352.bundle.js.map +0 -1
  321. package/dist/73793.0cd99844e3792d5beb8c.bundle.js +0 -2
  322. package/dist/73793.0cd99844e3792d5beb8c.bundle.js.map +0 -1
  323. package/dist/75282.1005c493f43b9d6dcc5a.bundle.js +0 -2
  324. package/dist/75282.1005c493f43b9d6dcc5a.bundle.js.map +0 -1
  325. package/dist/75849.39b30ee4eb2f1b35f762.bundle.js +0 -2
  326. package/dist/75849.39b30ee4eb2f1b35f762.bundle.js.map +0 -1
  327. package/dist/78250.8462f5662da1fd9ece0b.bundle.js +0 -2
  328. package/dist/78250.8462f5662da1fd9ece0b.bundle.js.map +0 -1
  329. package/dist/79329.cd81f51fd3aed8ca8359.bundle.js +0 -2
  330. package/dist/79329.cd81f51fd3aed8ca8359.bundle.js.map +0 -1
  331. package/dist/82206.b3b37c3e0cc1aa18148c.bundle.js +0 -2
  332. package/dist/82206.b3b37c3e0cc1aa18148c.bundle.js.map +0 -1
  333. package/dist/85281.049ddec87de0b8b07e79.bundle.js +0 -2
  334. package/dist/85281.049ddec87de0b8b07e79.bundle.js.map +0 -1
  335. package/dist/88206.fbbcf8ccd9460c579e87.bundle.js.map +0 -1
  336. package/dist/9062.2b577ad9fc05b48b64a3.bundle.js +0 -2
  337. package/dist/9062.2b577ad9fc05b48b64a3.bundle.js.map +0 -1
  338. package/dist/99379.d5dffb14dd46150e91f9.bundle.js +0 -2
  339. package/dist/99379.d5dffb14dd46150e91f9.bundle.js.map +0 -1
  340. package/dist/99448.98a68cbf8bf84857b615.bundle.js +0 -2
  341. package/dist/99448.98a68cbf8bf84857b615.bundle.js.map +0 -1
  342. package/dist/legacyWorkbench.ad1d42d21ac42beabeb4.js +0 -3
  343. package/dist/shared-components/shared-components/p-106d7df8.entry.js +0 -1
  344. package/dist/shared-components/shared-components/p-17ce51bb.entry.js +0 -1
  345. package/dist/shared-components/shared-components/p-306527cc.entry.js +0 -1
  346. package/dist/shared-components/shared-components/p-96e87635.entry.js +0 -1
  347. package/dist/shared-components/shared-components/p-af359495.entry.js +0 -1
  348. /package/dist/{12358.736ea9c178c92655de3a.bundle.js.LICENSE.txt → 12358.2061f29dc113149946a3.bundle.js.LICENSE.txt} +0 -0
  349. /package/dist/{legacyWorkbench.ad1d42d21ac42beabeb4.js.LICENSE.txt → legacyWorkbench.57fc12c172f6350ac4c5.js.LICENSE.txt} +0 -0
  350. /package/dist/{main.400f2248f076a2d31d80.js.LICENSE.txt → main.b9a83da68ffc43c91de0.js.LICENSE.txt} +0 -0
  351. /package/dist/shared-components/cjs/{tooltip-util-CmDLnWqH.js → tooltip-util-CnEXLMnw.js} +0 -0
  352. /package/dist/shared-components/esm/{tooltip-util-C1So-qrf.js → tooltip-util-BqOc8q8q.js} +0 -0
  353. /package/dist/shared-components/shared-components/{p-Bisudk7O.js → p-DzOPDgzQ.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"46591.0b142aa76a8991a89848.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/controllers/manage-remote-location-dialog.controller.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/repository.constants.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/utils/url-utils.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/validate-url.directive.js"],"sourcesContent":["import {RemoteLocationAuthType, RemoteLocationModel, RemoteLocationType} from \"../../models/repository/remote-location.model\";\nimport 'angular/core/directives/validate-url.directive';\n\nconst modules = [\n 'graphdb.framework.core.directives.validate-url'\n];\n\nangular.module('graphdb.framework.repositories.controllers.manage-remote-location-dialog', modules)\n .controller('ManageRemoteLocationDialogController', ManageRemoteLocationDialogController);\n\nManageRemoteLocationDialogController.$inject = ['$scope', '$uibModalInstance', 'productInfo', 'data'];\n\n/**\n * Controller for managing the remote location dialog, which handles both creation and editing of remote locations.\n *\n * @param {Object} $scope\n * @param {Object} $uibModalInstance\n * @param {Object} productInfo\n * @param {Object} data - Data passed to the dialog:\n * - If `data.remoteLocation` is provided, the dialog is in edit mode\n * and the remote location object is initialized with the provided data.\n * - If `data.remoteLocation` is not provided, the dialog is in create mode\n * and a new `RemoteLocationModel` instance is initialized.\n *\n * @constructor\n */\nfunction ManageRemoteLocationDialogController($scope, $uibModalInstance, productInfo, data) {\n\n $scope.RemoteLocationType = RemoteLocationType;\n $scope.RemoteLocationAuthType = RemoteLocationAuthType;\n $scope.isEdit = !!data.remoteLocation;\n\n /**\n * @type {RemoteLocationModel}\n */\n $scope.remoteLocation = data.remoteLocation ? new RemoteLocationModel({...data.remoteLocation}) : new RemoteLocationModel();\n $scope.docBase = `https://graphdb.ontotext.com/documentation/${productInfo.productShortVersion}`;\n\n $scope.ok = () => {\n if ($scope.remoteLocationForm.$pristine || $scope.remoteLocationForm.$invalid) {\n return;\n }\n $uibModalInstance.close($scope.remoteLocation);\n };\n\n $scope.cancel = () => {\n $uibModalInstance.dismiss('cancel');\n };\n\n $scope.onLocationTypeChanged = () => {\n if ([RemoteLocationType.ONTOPIC, RemoteLocationType.SPARQL].includes($scope.remoteLocation.locationType)) {\n $scope.remoteLocation.authType = RemoteLocationAuthType.BASIC;\n } else {\n $scope.remoteLocation.authType = RemoteLocationAuthType.NONE;\n }\n }\n}\n","export const STATIC_RULESETS = [\n {id: 'empty', name: 'No inference'},\n {id: 'rdfs-optimized', name: 'RDFS (Optimized)'},\n {id: 'rdfs', name: 'RDFS'},\n {id: 'rdfsplus-optimized', name: 'RDFS-Plus (Optimized)'},\n {id: 'owl-horst-optimized', name: 'OWL-Horst (Optimized)'},\n {id: 'owl-horst', name: 'OWL-Horst'},\n {id: 'owl2-ql-optimized', name: 'OWL2-QL (Optimized)'},\n {id: 'owl2-ql', name: 'OWL2-QL'},\n {id: 'owl-max-optimized', name: 'OWL-Max (Optimized)'},\n {id: 'owl-max', name: 'OWL-Max'},\n {id: 'owl2-rl-optimized', name: 'OWL2-RL (Optimized)'},\n {id: 'owl2-rl', name: 'OWL2-RL'},\n\n];\n\nexport const REPOSITORY_TYPES = {graphdbRepo: 'graphdb', free: 'free', eeWorker: 'worker', eeMaster: 'master', ontop: 'ontop', se: 'se', fedx: 'fedx'};\nexport const FILENAME_PATTERN = new RegExp('^[a-zA-Z0-9-_]+$');\nexport const NUMBER_PATTERN = new RegExp('^[0-9]+$');\n","const httpRegex = /^(h|ht|htt|http|https|http:|https:|http:\\/|https:\\/|http:\\/\\/|https:\\/\\/|https?:\\/\\/[\\S]*)$/i;\nconst ftpRegex = /^(f|ft|ftp|ftps|ftp:|ftps:|ftp:\\/|ftps:\\/|ftp:\\/\\/|ftps:\\/\\/[\\S]*)$/i;\n\n\n/**\n * Utilities for URL manipulation, validation, etc.\n */\nexport class UrlUtils {\n /**\n * Validates whether the given string is a valid URL or a partial URL that follows the rules.\n *\n * @param {string} url - The URL string to validate.\n * @return {boolean} True if the URL is valid or a valid partial URL, false otherwise.\n */\n static isValidUrl(url) {\n return httpRegex.test(url) || ftpRegex.test(url);\n }\n\n /**\n * Checks if the URL contains an excluded substring.\n *\n * @param {string} url - The URL string to check.\n * @param {string} exclude - The substring to exclude.\n * @return {boolean} True if the URL does not contain the substring, false if it does.\n */\n static doesNotContain(url, exclude) {\n return !new RegExp(exclude).test(url);\n }\n\n /**\n * Checks if the URL uses an excluded protocol.\n *\n * @param {string} url - The URL string to check.\n * @param {Array<string>} excludedProtocols - The protocols to exclude.\n * @return {boolean} True if the URL does not use the excluded protocols, false if it does.\n */\n static doesNotUseProtocol(url, excludedProtocols) {\n const protocolPattern = new RegExp('^(' + excludedProtocols.join('|') + ')://', 'i');\n return !protocolPattern.test(url);\n }\n}\n","import {\n FILENAME_PATTERN,\n NUMBER_PATTERN,\n REPOSITORY_TYPES,\n STATIC_RULESETS,\n} from \"./repository.constants\";\nimport {decodeHTML} from \"../../../app\";\nimport './controllers/manage-remote-location-dialog.controller';\nimport {RemoteLocationType} from \"../models/repository/remote-location.model\";\n\nconst ENTITY_INDEX_SIZE_MIN = 10000;\n\nexport const getFileName = function(path) {\n let lastIdx = path.lastIndexOf('/');\n if (lastIdx === -1) {\n lastIdx = path.lastIndexOf('\\\\');\n }\n let name = path;\n if (lastIdx !== -1) {\n name = name.substring(lastIdx + 1);\n }\n return name;\n};\n\nconst parseNumberParamsIfNeeded = function(params) {\n if (!params) {\n return;\n }\n\n Object.keys(params).forEach((key) => {\n const param = params[key];\n if (param && typeof param.value === 'string') {\n const possibleNumber = parseFloat(params[key].value);\n if (!isNaN(possibleNumber) && numberParamToErrorKey[key]) {\n params[key].value = Number.isInteger(possibleNumber) ? parseInt(param.value, 10) : possibleNumber;\n // internal prop to indicate number value and save extra checks\n param.isNumber = true;\n }\n }\n });\n};\n\nconst parseMemberParamIfNeeded = function(param) {\n if (param && param.member) {\n param.member.value = [];\n }\n};\n\nconst getShaclOptionsClass = function() {\n const optionsModule = document.getElementById('shaclOptions');\n\n if (optionsModule) {\n const isAriaExpanded = optionsModule.getAttribute('aria-expanded');\n if (isAriaExpanded && isAriaExpanded === 'true') {\n return 'fa fa-angle-down';\n }\n }\n return 'fa fa-angle-right';\n};\n\nconst numberParamToErrorKey = {\n queryLimitResults: 'invalid.query.limit',\n queryTimeout: 'invalid.query.timeout',\n validationResultsLimitTotal: 'invalid.validation.results.limit.total',\n validationResultsLimitPerConstraint: 'invalid.validation.results.limit.per.constraint',\n joinWorkerThreads: 'invalid.join.worker.threads',\n leftJoinWorkerThreads: 'invalid.left.join.worker.threads',\n unionWorkerThreads: 'invalid.union.worker.threads',\n boundJoinBlockSize: 'invalid.bound.join.block.size',\n entityIndexSize: 'invalid.entity.index.size',\n};\n\nconst getNumberFormatError = function(params, $translate) {\n if (!params) {\n return '';\n }\n\n const errorEntry = Object.keys(params).find((key) => {\n const param = params[key];\n return param.isNumber && !NUMBER_PATTERN.test(param.value);\n });\n\n return errorEntry && numberParamToErrorKey[errorEntry]\n ? $translate.instant(numberParamToErrorKey[errorEntry])\n : '';\n};\n\nconst getDocBase = function(productInfo) {\n return `https://graphdb.ontotext.com/documentation/${productInfo.productShortVersion}`;\n};\nconst filterLocations = function(result) {\n return result.filter((location) => location.isGraphDBLocation() && !location.errorMsg && !location.degradedReason);\n};\n\n/**\n * Gets the remote locations that are error free, without degraded reason and is not of type Ontopic\n * @param {*} $repositories the repositories service\n * @return {[] | Promise} returns the locations as array or a promise of the array\n */\nconst getFilteredLocations = function($repositories) {\n // Don't allow the user to create repository on location with error or degradeded reason\n return $repositories.getLocations().then((locations) => filterLocations(locations));\n};\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.utils.localstorageadapter',\n 'toastr',\n 'ngFileUpload',\n 'graphdb.framework.repositories.controllers.manage-remote-location-dialog',\n];\n\nangular.module('graphdb.framework.repositories.controllers', modules)\n .controller('LocationsAndRepositoriesCtrl', LocationsAndRepositoriesCtrl)\n .controller('AddLocationCtrl', AddLocationCtrl)\n .controller('EditLocationCtrl', EditLocationCtrl)\n .controller('ChooseRepositoryCtrl', ChooseRepositoryCtrl)\n .controller('AddRepositoryCtrl', AddRepositoryCtrl)\n .controller('EditRepositoryCtrl', EditRepositoryCtrl)\n .controller('EditRepositoryFileCtrl', EditRepositoryFileCtrl)\n .controller('UploadRepositoryConfigCtrl', UploadRepositoryConfigCtrl);\n\nLocationsAndRepositoriesCtrl.$inject = ['$scope', '$rootScope', '$uibModal', 'toastr', '$repositories', 'ModalService', 'AuthTokenService', 'LocationsRestService',\n 'LocalStorageAdapter', '$interval', '$translate', '$q', 'GuidesService'];\n\nfunction LocationsAndRepositoriesCtrl($scope, $rootScope, $uibModal, toastr, $repositories, ModalService, AuthTokenService, LocationsRestService,\n LocalStorageAdapter, $interval, $translate, $q, GuidesService) {\n $scope.RemoteLocationType = RemoteLocationType;\n $scope.loader = true;\n /**\n * @type {RemoteLocationModel[]}\n */\n $scope.locations = [];\n\n $scope.isLocationInactive = function(location) {\n return !location.active || !$scope.hasActiveLocation();\n };\n\n const getLocationsAbortRequestPromise = $q.defer();\n //Get locations\n function getLocations() {\n return $repositories.getLocations(getLocationsAbortRequestPromise)\n .then((locations) => {\n $scope.locations = locations;\n return locations;\n })\n .finally(() => $scope.loader = false);\n }\n\n $scope.getLocalLocation = (local, locationType) => {\n const remoteLocationModel = $scope.locations.filter((location) => {\n let locationTypeCheck = true;\n if (locationType) {\n locationTypeCheck = location.locationType === locationType;\n }\n return locationTypeCheck && location.local === local;\n });\n return remoteLocationModel;\n };\n\n $scope.hasAnyRemoteLocation = (local, locationTypes) => {\n return locationTypes.some((locationType) => $scope.getLocalLocation(local, locationType).length > 0);\n };\n\n $scope.hasActiveLocation = function() {\n return $repositories.hasActiveLocation();\n };\n\n $scope.getActiveLocation = function() {\n return $repositories.getActiveLocation();\n };\n\n $scope.getLocationError = function() {\n return $repositories.getLocationError();\n };\n\n $scope.getDegradedReason = function() {\n return $repositories.getDegradedReason();\n };\n\n $scope.getRepositories = function() {\n return $repositories.getRepositories();\n };\n\n $scope.isRepoActive = function(repo) {\n return $repositories.isRepoActive(repo);\n };\n\n //Delete location\n $scope.deleteLocation = function(uri) {\n ModalService.openSimpleModal({\n title: $translate.instant('location.confirm.detach'),\n message: $translate.instant('location.confirm.detach.warning', {uri: uri}),\n warning: true,\n }).result\n .then(function() {\n $scope.loader = true;\n $repositories.deleteLocation(uri).finally(() => getLocations());\n });\n };\n\n //Add new location\n $scope.addLocationHttp = function(dataAddLocation) {\n $scope.loader = true;\n LocationsRestService.addLocation(dataAddLocation)\n .success(function() {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n $scope.addLocation = () => {\n $scope.openRemoteLocationDialog();\n };\n\n $scope.editLocation = (remoteLocation) => {\n if (remoteLocation.locationType === undefined) {\n // for backward compatibility. The old instances this property not exist so we assume it is GraphDB instance.\n remoteLocation.locationType = RemoteLocationType.GRAPH_DB;\n }\n $scope.openRemoteLocationDialog(remoteLocation);\n };\n\n /**\n * Opens the location dialog.\n * @param {RemoteLocationModel} remoteLocation (optional) If a location is passed, the dialog will open for editing; otherwise, it will open for registering a new one.\n */\n $scope.openRemoteLocationDialog = (remoteLocation) => {\n $uibModal.open({\n templateUrl: 'js/angular/repositories/templates/manage-remote-location-dialog.template.html',\n windowClass: 'addLocationDialog',\n controller: 'ManageRemoteLocationDialogController',\n resolve: {\n data: () => {\n return {\n remoteLocation,\n };\n },\n },\n }).result.then((dataAddLocation) => {\n if (remoteLocation) {\n $scope.editLocationHttp(dataAddLocation);\n } else {\n $scope.addLocationHttp(dataAddLocation);\n }\n });\n };\n\n //Edit location\n $scope.editLocationHttp = function(dataEditLocation) {\n $scope.loader = true;\n LocationsRestService.editLocation(dataEditLocation)\n .success(function() {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n //Change repository\n $scope.setRepository = function(repo) {\n $repositories.setRepository(repo);\n };\n\n //Delete repository\n $scope.deleteRepository = function(repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: decodeHTML($translate.instant('delete.repo.warning.msg', {repositoryId: repository.id})),\n warning: true,\n }).result\n .then(function() {\n $scope.loader = true;\n $repositories.deleteRepository(repository)\n .finally(() => {\n getLocations();\n $scope.loader = false;\n });\n removeCachedGraphsOnDelete(repository);\n });\n };\n\n $scope.restartRepository = function(repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.restart.repo'),\n message: decodeHTML($translate.instant('confirm.restart.repo.warning.msg', {repositoryId: repository.id})),\n warning: true,\n }).result\n .then(function() {\n $scope.loader = true;\n $repositories.restartRepository(repository).finally(() => getLocations());\n });\n };\n\n $scope.toggleDefaultRepository = function(repositoryId) {\n if ($scope.getDefaultRepository() === repositoryId) {\n // unset\n $repositories.setDefaultRepository(null);\n } else {\n // set\n $repositories.setDefaultRepository(repositoryId);\n }\n };\n\n $scope.getDefaultRepository = function() {\n return $repositories.getDefaultRepository();\n };\n\n /* Unused, data urls don't behave well in all browsers, avoid them when possible\n $scope.getRepoTurtleConfig = function (repository) {\n function downloadRepoConfig(repoTurtleConfig, repository) {\n $('.download-turtle-config')\n .mouseup(function () {\n $(this)\n .attr('href', repoTurtleConfig)\n .attr('download', repository.id + '-config.ttl')\n });\n }\n\n $repositories.getRepositoryTurtleConfig(repository)\n .success(function (response) {\n var repoTurtleConfigDownload = 'data:application/octet-stream;charset=utf-8;base64,'\n + btoa(unescape(encodeURIComponent(response)));\n downloadRepoConfig(repoTurtleConfigDownload, repository);\n })\n .error(function () {\n toastr.error('Error getting repository configuration for '' + repository.id + ''');\n });\n };\n */\n\n $scope.getRepositoryDownloadLink = function(repository) {\n let url = `rest/repositories/${repository.id}${(repository.type === REPOSITORY_TYPES.ontop ? '/download-zip'\n : '/download-ttl')}?location=${repository.location}`;\n const token = AuthTokenService.getAuthToken();\n if (token) {\n url = `${url}&authToken=${encodeURIComponent(token)}`;\n }\n return url;\n };\n\n ///Copy to clipboard popover options\n $scope.copyToClipboard = function(uri) {\n ModalService.openCopyToClipboardModal(uri);\n };\n\n $scope.fromFile = function() {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/upload-repository-config.html',\n controller: 'UploadRepositoryConfigCtrl',\n });\n modalInstance.result.then(function() {\n $repositories.init();\n });\n };\n\n //Delete repository\n $scope.openActiveLocationSettings = function() {\n $uibModal.open({\n templateUrl: 'js/angular/settings/modal/location-settings.html',\n controller: 'ActiveLocationSettingsCtrl',\n });\n };\n\n getLocations();\n const timer = $interval(function() {\n if (GuidesService.isActive() && !$rootScope.guidePaused) {\n // Don't refresh list while a guide is active\n return;\n }\n\n // Update repositories state\n $repositories.initQuick();\n getLocations();\n }, 5000);\n\n $scope.$on('$destroy', function() {\n $interval.cancel(timer);\n // If there is a getLocations request in progress, abort it so the service can properly clear flags\n if (getLocationsAbortRequestPromise) {\n getLocationsAbortRequestPromise.resolve();\n }\n });\n\n function removeCachedGraphsOnDelete(repo) {\n const cashedDependenciesGraphPrefix = `dependencies-selectedGraph-${repo.id}`;\n const cashedClassHierarchyGraphPrefix = `classHierarchy-selectedGraph-${repo.id}`;\n angular.forEach(LocalStorageAdapter.keys(), function(key) {\n // remove everything but the hide prefixes setting, it should always persist\n if (key.startsWith(cashedClassHierarchyGraphPrefix) || key.startsWith(cashedDependenciesGraphPrefix)) {\n LocalStorageAdapter.remove(key);\n }\n });\n }\n\n $scope.getRepositoriesFromLocation = function(locationId) {\n return $repositories.getRepositoriesFromLocation(locationId);\n };\n}\n\nUploadRepositoryConfigCtrl.$inject = ['$scope', '$uibModalInstance', 'Upload', 'toastr', '$translate'];\n\nfunction UploadRepositoryConfigCtrl($scope, $uibModalInstance, Upload, toastr, $translate) {\n $scope.upload = function(files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n }\n };\n $scope.ok = function() {\n if ($scope.uploadFile) {\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories',\n method: 'POST',\n data: {config: $scope.uploadFile},\n })\n .success(function() {\n $scope.uploadFileLoader = false;\n $uibModalInstance.close();\n })\n .error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFileLoader = false;\n });\n }\n };\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nAddLocationCtrl.$inject = ['$scope', '$uibModalInstance', 'toastr', 'productInfo', '$translate'];\n\nfunction AddLocationCtrl($scope, $uibModalInstance, toastr, productInfo, $translate) {\n $scope.newLocation = {\n 'uri': '',\n 'authType': 'none',\n 'username': '',\n 'password': '',\n 'active': false,\n };\n $scope.docBase = getDocBase(productInfo);\n\n $scope.isValidLocation = function() {\n return ($scope.newLocation.uri.length < 6 ||\n $scope.newLocation.uri.indexOf('http:') === 0 || $scope.newLocation.uri.indexOf('https:') === 0)\n && $scope.newLocation.uri.indexOf('/repositories') <= -1;\n };\n\n $scope.ok = function() {\n if (!$scope.newLocation) {\n toastr.error($translate.instant('location.cannot.be.empty.error'));\n return;\n }\n $uibModalInstance.close($scope.newLocation);\n };\n\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nEditLocationCtrl.$inject = ['$scope', '$uibModalInstance', 'location', 'productInfo'];\n\nfunction EditLocationCtrl($scope, $uibModalInstance, location, productInfo) {\n $scope.editedLocation = _.cloneDeep(location);\n $scope.docBase = getDocBase(productInfo);\n\n $scope.ok = function() {\n $uibModalInstance.close($scope.editedLocation);\n };\n\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nChooseRepositoryCtrl.$inject = ['$scope', '$location'];\n\nfunction ChooseRepositoryCtrl($scope, $location) {\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.chooseRepositoryType = function(repoType) {\n $location.path(`${$location.path()}/${repoType}`);\n };\n}\n\nAddRepositoryCtrl.$inject = ['$rootScope', '$scope', 'toastr', '$repositories', '$location', '$timeout', 'Upload', '$routeParams',\n 'RepositoriesRestService', '$translate'];\n\nfunction AddRepositoryCtrl($rootScope, $scope, toastr, $repositories, $location, $timeout, Upload, $routeParams, RepositoriesRestService, $translate) {\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.params = $routeParams;\n $scope.repositoryType = $routeParams.repositoryType;\n $scope.enable = true;\n $scope.entityIndexSizeMin = ENTITY_INDEX_SIZE_MIN;\n\n $scope.loader = true;\n $scope.pageTitle = $translate.instant('view.create.repo.title');\n $scope.repositoryInfo = {\n id: '',\n params: {},\n title: '',\n type: '',\n location: '',\n };\n\n getFilteredLocations($repositories)\n .then((locations) => {\n $scope.locations = locations;\n });\n\n $scope.changedLocation = function() {\n $scope.$broadcast('changedLocation');\n };\n\n function isValidEERepository(repositoryType) {\n return $scope.isEnterprise() && (repositoryType === REPOSITORY_TYPES.graphdbRepo);\n }\n\n function isValidSERepository(repositoryType) {\n return !$scope.isFreeEdition() && !$scope.isEnterprise() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidFRRepository(repositoryType) {\n return $scope.isFreeEdition() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidOntopRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.ontop;\n }\n\n function isValidFedXRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.fedx;\n }\n\n function isRepositoryTypeValid(repositoryType) {\n return isValidEERepository(repositoryType) || isValidSERepository(repositoryType)\n || isValidFRRepository(repositoryType) || isValidOntopRepository(repositoryType)\n || isValidFedXRepository(repositoryType);\n }\n\n function setPageTitle(repositoryType) {\n switch (repositoryType) {\n case REPOSITORY_TYPES.graphdbRepo:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'GraphDB'});\n break;\n case REPOSITORY_TYPES.ontop:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'Ontop Virtual SPARQL'});\n break;\n case REPOSITORY_TYPES.fedx:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'FedX Virtual SPARQL'});\n break;\n }\n }\n\n $scope.getConfig = function(repoType) {\n RepositoriesRestService.getRepositoryConfiguration(repoType).then(function(resp) {\n const data = resp.data;\n $scope.repositoryInfo.params = data.params;\n $scope.repositoryInfo.type = data.type;\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n parseMemberParamIfNeeded($scope.repositoryInfo.params);\n $scope.loader = false;\n // The clean way is the \"autofocus\" attribute and we use it but it doesn't seem to\n // work in all browsers because of the way dynamic content is handled so give it another\n // try here.\n $timeout(function() {\n // Focus the ID field\n angular.element(document).find('#id').focus();\n }, 50);\n }).catch(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n if ($scope.repositoryType && isRepositoryTypeValid($scope.repositoryType)) {\n $scope.repositoryInfo.type = $scope.repositoryType;\n $scope.getConfig($scope.repositoryType);\n setPageTitle($scope.repositoryType);\n } else {\n $location.path('/repository/create');\n }\n\n $scope.hasActiveLocation = function() {\n return $repositories.hasActiveLocation();\n };\n\n $scope.activeLocation = function() {\n return $repositories.getActiveLocation();\n };\n\n let isInvalidPieFile = false;\n $scope.uploadRuleset = function(files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/ruleset/upload',\n data: {ruleset: $scope.uploadFile, location: $scope.repositoryInfo.location},\n }).progress(function(evt) {\n /*\t\t\t\t\t\tvar progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);*/\n }).success(function(data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n isInvalidPieFile = true;\n $scope.uploadFile = '';\n } else {\n isInvalidPieFile = false;\n const fileName = $scope.uploadFile.name;\n const newValue = {id: data.fileLocation, name: 'Custom: ' + fileName};\n if ($scope.rulesetPie) {\n // file was previously uploaded\n $scope.rulesets[0] = newValue;\n } else {\n // file uploaded for the first time\n $scope.rulesets.unshift(newValue);\n }\n $scope.rulesetPie = data.fileLocation;\n $scope.rulesetPieFile = fileName;\n $scope.repositoryInfo.params.ruleset.value = $scope.rulesetPie;\n }\n $scope.uploadFileLoader = false;\n }).error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n isInvalidPieFile = true;\n });\n }\n };\n\n $scope.noMembersError = function() {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.goBackToPreviousLocation = function() {\n const previous = $location.search().previous;\n if (previous) {\n $location.search('previous', null);\n const isAbsolute = typeof previous === 'string' && previous.charAt(0) === '/';\n const target = isAbsolute ? previous : '/' + previous;\n $location.url(target);\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.createRepoHttp = function() {\n $scope.loader = true;\n RepositoriesRestService.createRepository($scope.repositoryInfo)\n .then(function() {\n toastr.success($translate.instant('created.repo.success.msg', {repoId: $scope.repositoryInfo.id}));\n return $repositories.init();\n })\n .then(() => $scope.goBackToPreviousLocation())\n .catch(function(error) {\n const msg = getError(error.data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => {\n $scope.loader = false;\n });\n };\n\n $scope.createRepo = function() {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n $scope.isInvalidEntityIndexSizeMin = $scope.repositoryInfo.params.entityIndexSize?.value < ENTITY_INDEX_SIZE_MIN;\n const numberFormatError = getNumberFormatError($scope.repositoryInfo.params, $translate);\n\n if (isInvalidPieFile) {\n toastr.error($translate.instant('invalid.ruleset.file.error'));\n } else if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (numberFormatError) {\n toastr.error(numberFormatError);\n } else if ($scope.isInvalidEntityIndexSizeMin) {\n toastr.error($translate.instant('repo.error.entityIndex.min'));\n } else {\n $scope.createRepoHttp();\n }\n };\n\n $scope.rulesetWarning = function() {\n const pp = $scope.repositoryInfo.params;\n if (pp === undefined || pp.ruleset === undefined || pp.disableSameAs === undefined) {\n return '';\n }\n\n if (pp.ruleset.value.indexOf('owl') === 0 && pp.disableSameAs.value === 'true') {\n return $translate.instant('repoTooltips.rulesetWarnings.needsSameAs');\n } else if (pp.ruleset.value.indexOf('rdfs') === 0 && pp.disableSameAs.value === 'false') {\n return $translate.instant('repoTooltips.rulesetWarnings.doesntNeedSameAs');\n } else if (pp.ruleset.value === $scope.rulesetPie) {\n return $translate.instant('repoTooltips.rulesetWarnings.customRuleset');\n } else {\n return '';\n }\n };\n\n $scope.getShaclOptionsClass = function() {\n return getShaclOptionsClass();\n };\n //TODO - check if repositoryID exist\n\n // Request auto-focus of the ID input when creating a repo (but not when editing)\n $scope.autofocusId = 'autofocus';\n\n const languageChangedSubscription = $rootScope.$on('$translateChangeSuccess', () => {\n setPageTitle($scope.repositoryType);\n });\n $scope.$on('$destroy', () => {\n languageChangedSubscription();\n });\n}\n\nEditRepositoryFileCtrl.$inject = ['$scope', '$uibModalInstance', 'RepositoriesRestService', 'file', 'toastr', '$translate', 'dialogTitle', 'location'];\n\nfunction EditRepositoryFileCtrl($scope, $uibModalInstance, RepositoriesRestService, file, toastr, $translate, dialogTitle, location) {\n $scope.dialogTitle = dialogTitle ? dialogTitle : $translate.instant('update.file.content.header');\n if (file) {\n RepositoriesRestService.getRepositoryFileContent(file, location).success(function(data) {\n $scope.fileContent = data;\n }).error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n $scope.ok = function() {\n $uibModalInstance.close({\n content: $scope.fileContent,\n fileLocation: file,\n });\n };\n\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nEditRepositoryCtrl.$inject = ['$rootScope', '$scope', '$routeParams', 'toastr', '$repositories', '$location', 'ModalService', 'RepositoriesRestService',\n '$translate', 'MonitoringRestService'];\n\nfunction EditRepositoryCtrl($rootScope, $scope, $routeParams, toastr, $repositories, $location, ModalService, RepositoriesRestService, $translate, MonitoringRestService) {\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.entityIndexSizeMin = ENTITY_INDEX_SIZE_MIN;\n\n $scope.editRepoPage = true;\n $scope.canEditRepoId = false;\n $scope.isRepoInCluster = true;\n $scope.params = $routeParams;\n $scope.loader = true;\n $scope.repositoryInfo = {};\n $scope.repositoryInfo.id = $scope.params.repositoryId;\n $scope.repositoryInfo.location = $scope.params.location;\n $scope.repositoryInfo.restartRequested = false;\n $scope.repositoryType = '';\n $scope.saveRepoId = $scope.params.repositoryId;\n $scope.pageTitle = $translate.instant('view.edit.repo.title', {repositoryId: $scope.params.repositoryId});\n $scope.hasActiveLocation = function() {\n return $repositories.hasActiveLocation();\n };\n\n const loadRepositoryData = () => {\n return getFilteredLocations($repositories).then((locations) => {\n $scope.locations = locations;\n return RepositoriesRestService.getRepository($scope.repositoryInfo);\n });\n };\n\n const initView = (repositoryInfoResponse) => {\n const repositoryInfo = repositoryInfoResponse.data;\n if (angular.isDefined(repositoryInfo.params.ruleset)) {\n let ifRulesetExists = false;\n angular.forEach($scope.rulesets, function(item) {\n if (item.id === repositoryInfo.params.ruleset.value) {\n ifRulesetExists = true;\n }\n });\n if (repositoryInfo.params.ruleset && !ifRulesetExists) {\n const name = getFileName(repositoryInfo.params.ruleset.value);\n $scope.rulesets.unshift({id: repositoryInfo.params.ruleset.value, name: 'Custom: ' + name});\n }\n }\n $scope.repositoryInfo = repositoryInfo;\n $scope.setRepositoryType(repositoryInfo.type);\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n $scope.repositoryInfo.saveId = $scope.saveRepoId;\n $scope.loader = false;\n };\n\n $scope.$watch($scope.hasActiveLocation, function() {\n if ($scope.hasActiveLocation) {\n // Should get locations before getting repository info\n let repositoryInfoResponse;\n loadRepositoryData().then((repositoryInfo) => {\n repositoryInfoResponse = repositoryInfo;\n return MonitoringRestService.monitorActiveOperations($scope.repositoryInfo.id);\n }).then((monitoringResponse) => {\n $scope.isRepoInCluster = monitoringResponse.hasClusterOperation();\n }).catch((error) => {\n if (!repositoryInfoResponse) {\n $scope.repositoryInfo = undefined;\n return Promise.reject(error);\n }\n // the monitoring request failed, but we can still continue\n return Promise.resolve();\n }).then(() => {\n initView(repositoryInfoResponse);\n }).catch((response) => {\n const data = response.data;\n const status = response.status;\n const repositoryId = $routeParams.repositoryId;\n let toastrMsg;\n\n if (status === 404 && repositoryId !== 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.repo.error.not.exists', {repositoryId}));\n } else if (status === 404 && repositoryId === 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.system.repo.warning'));\n } else {\n toastrMsg = getError(data);\n }\n\n toastr.error(toastrMsg, $translate.instant('common.error'), {allowHtml: true});\n\n if (status === 404) {\n setTimeout(function() {\n $scope.loader = false;\n $location.path('repository');\n }, 1000);\n } else {\n $scope.loader = false;\n }\n });\n }\n });\n\n $scope.setRepositoryType = function(type) {\n $scope.repositoryType = type;\n };\n\n $scope.noMembersError = function() {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.editRepoHttp = function() {\n $scope.loader = true;\n RepositoriesRestService.editRepository($scope.repositoryInfo.saveId, $scope.repositoryInfo)\n .success(function() {\n toastr.success($translate.instant('edit.repo.success.msg', {saveId: $scope.repositoryInfo.saveId}));\n $repositories.init().finally(() => $scope.goBackToPreviousLocation());\n if ($scope.repositoryInfo.saveId === $scope.repositoryInfo.id && $scope.repositoryInfo.restartRequested) {\n $repositories.restartRepository($scope.repositoryInfo);\n }\n }).error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.editRepository = function() {\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n $scope.isInvalidEntityIndexSizeMin = $scope.repositoryInfo.params.entityIndexSize?.value < ENTITY_INDEX_SIZE_MIN;\n const numberFormatError = getNumberFormatError($scope.repositoryInfo.params, $translate);\n let modalMsg = decodeHTML($translate.instant('edit.repo.save.changes.msg', {repoId: $scope.repositoryInfo.id}));\n if ($scope.repositoryInfo.saveId !== $scope.repositoryInfo.id) {\n modalMsg += decodeHTML($translate.instant('edit.repo.rename.changes.msg'));\n } else if ($scope.repositoryInfo.restartRequested) {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.requested.msg'));\n } else {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.needed.msg'));\n }\n if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (numberFormatError) {\n toastr.error(numberFormatError);\n } else if ($scope.isInvalidEntityIndexSizeMin) {\n toastr.error($translate.instant('repo.error.entityIndex.min'));\n } else {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.save'),\n message: modalMsg,\n warning: true,\n }).result\n .then(function() {\n $scope.editRepoHttp();\n });\n }\n };\n\n $scope.editRepositoryId = function() {\n const msg = decodeHTML($translate.instant('edit.repo.id.warning.msg'));\n\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.enable.edit'),\n message: msg,\n warning: true,\n }).result.then(function() {\n $scope.canEditRepoId = true;\n });\n };\n\n $scope.goBackToPreviousLocation = function() {\n if (angular.isDefined($routeParams.previous)) {\n delete $location.$$search.previous;\n $location.path('/');\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.getShaclOptionsClass = function() {\n return getShaclOptionsClass();\n };\n\n const languageChangedSubscription = $rootScope.$on('$translateChangeSuccess', () => {\n $scope.pageTitle = $translate.instant('view.edit.repo.title', {repositoryId: $scope.params.repositoryId});\n });\n $scope.$on('$destroy', () => {\n languageChangedSubscription();\n });\n}\n","/**\n * @ngdoc directive\n * @name validateUrl\n * @module graphdb.framework.core.directives.validate-url\n * @restrict A\n *\n * @description\n * This directive validates the URL input field based on a specified pattern.\n * It ensures that the input URL adheres to standard URL formats and provides\n * visual feedback to the user if the URL is invalid.\n *\n * The directive can also be configured to exclude certain substrings or protocols from valid URLs,\n * and to control whether empty input values are considered valid.\n *\n * @example\n * <pre>\n * <form name=\"myForm\">\n * <!-- Basic URL validation -->\n * <input type=\"text\" name=\"urlField\" ng-model=\"url\" validate-url/>\n * <div ng-show=\"myForm.urlField.$error.validUrl\">\n * Invalid URL format.\n * </div>\n *\n * <!-- URL validation excluding a specific substring -->\n * <input type=\"text\" name=\"urlFieldWithExclusion\" ng-model=\"url\" validate-url exclude=\"/repositories\"/>\n * <div ng-show=\"myForm.urlFieldWithExclusion.$error.validUrl\">\n * Invalid URL format or contains excluded substring.\n * </div>\n *\n * <!-- URL validation excluding a specific protocol -->\n * <input type=\"text\" name=\"urlFieldWithProtocolExclusion\" ng-model=\"url\" validate-url exclude-protocol=\"ftp\"/>\n * <div ng-show=\"myForm.urlFieldWithProtocolExclusion.$error.validUrl\">\n * Invalid URL format or uses an excluded protocol.\n * </div>\n *\n * <!-- URL validation that does not allow empty values -->\n * <input type=\"text\" name=\"urlFieldNoEmpty\" ng-model=\"url\" validate-url allow-empty=\"false\"/>\n * <div ng-show=\"myForm.urlFieldNoEmpty.$error.validUrl\">\n * Invalid URL format or empty value not allowed.\n * </div>\n *\n * <!-- URL validation with both substring and protocol exclusions, and empty values not allowed -->\n * <input type=\"text\" name=\"urlFieldFullValidation\" ng-model=\"url\" validate-url exclude=\"/repositories\" exclude-protocol=\"ftp\" allow-empty=\"false\"/>\n * <div ng-show=\"myForm.urlFieldFullValidation.$error.validUrl\">\n * Invalid URL format, contains excluded substring, uses an excluded protocol, or empty value not allowed.\n * </div>\n * </form>\n * </pre>\n *\n * @usage\n * This directive can be added as an attribute to any input field where URL validation is required.\n * It will automatically validate the input value.\n *\n * Optional attributes:\n * - `exclude`: A string specifying a substring that must not be present in the URL.\n * - `exclude-protocol`: A comma-separated list of protocols (e.g., `ftp,http`) that must not be used in the URL.\n * - `allow-empty`: A boolean attribute (`true` by default). If set to `false`, empty values are considered invalid.\n */\n\nimport {UrlUtils} from \"../../utils/url-utils\";\n\nconst modules = [];\n\nangular\n .module('graphdb.framework.core.directives.validate-url', modules)\n .directive('validateUrl', validateUrl);\n\nfunction validateUrl() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$validators.validUrl = function (modelValue, viewValue) {\n // Check if empty values should be allowed\n if (ctrl.$isEmpty(viewValue)) {\n return attr.allowEmpty !== 'false';\n }\n\n if (!UrlUtils.isValidUrl(viewValue)) {\n return false;\n }\n\n if (attr.exclude && !UrlUtils.doesNotContain(viewValue, attr.exclude)) {\n return false;\n }\n\n if (attr.excludeProtocol) {\n const excludedProtocols = attr.excludeProtocol.split(',');\n if (!UrlUtils.doesNotUseProtocol(viewValue, excludedProtocols)) {\n return false;\n }\n }\n return true;\n };\n }\n };\n}\n"],"names":["ManageRemoteLocationDialogController","$scope","$uibModalInstance","productInfo","data","RemoteLocationType","RemoteLocationAuthType","isEdit","remoteLocation","RemoteLocationModel","docBase","productShortVersion","ok","remoteLocationForm","$pristine","$invalid","close","cancel","dismiss","onLocationTypeChanged","ONTOPIC","SPARQL","includes","locationType","authType","BASIC","NONE","angular","module","controller","$inject","STATIC_RULESETS","id","name","REPOSITORY_TYPES","graphdbRepo","free","eeWorker","eeMaster","ontop","se","fedx","FILENAME_PATTERN","RegExp","NUMBER_PATTERN","httpRegex","ftpRegex","UrlUtils","isValidUrl","url","test","doesNotContain","exclude","doesNotUseProtocol","excludedProtocols","join","ENTITY_INDEX_SIZE_MIN","getFileName","path","lastIdx","lastIndexOf","substring","parseNumberParamsIfNeeded","params","Object","keys","forEach","key","param","value","possibleNumber","parseFloat","isNaN","numberParamToErrorKey","Number","isInteger","parseInt","isNumber","getShaclOptionsClass","optionsModule","document","getElementById","isAriaExpanded","getAttribute","queryLimitResults","queryTimeout","validationResultsLimitTotal","validationResultsLimitPerConstraint","joinWorkerThreads","leftJoinWorkerThreads","unionWorkerThreads","boundJoinBlockSize","entityIndexSize","getNumberFormatError","$translate","errorEntry","find","instant","getDocBase","getFilteredLocations","$repositories","getLocations","then","locations","filter","location","isGraphDBLocation","errorMsg","degradedReason","LocationsAndRepositoriesCtrl","$rootScope","$uibModal","toastr","ModalService","AuthTokenService","LocationsRestService","LocalStorageAdapter","$interval","$q","GuidesService","loader","isLocationInactive","active","hasActiveLocation","getLocationsAbortRequestPromise","defer","finally","getLocalLocation","local","locationTypeCheck","hasAnyRemoteLocation","locationTypes","some","length","getActiveLocation","getLocationError","getDegradedReason","getRepositories","isRepoActive","repo","deleteLocation","uri","openSimpleModal","title","message","warning","result","addLocationHttp","dataAddLocation","addLocation","success","init","error","msg","getError","openRemoteLocationDialog","editLocation","undefined","GRAPH_DB","open","templateUrl","windowClass","resolve","editLocationHttp","dataEditLocation","setRepository","deleteRepository","repository","decodeHTML","repositoryId","cashedDependenciesGraphPrefix","cashedClassHierarchyGraphPrefix","startsWith","remove","removeCachedGraphsOnDelete","restartRepository","toggleDefaultRepository","getDefaultRepository","setDefaultRepository","getRepositoryDownloadLink","type","token","getAuthToken","encodeURIComponent","copyToClipboard","openCopyToClipboardModal","fromFile","openActiveLocationSettings","timer","isActive","guidePaused","initQuick","$on","getRepositoriesFromLocation","locationId","UploadRepositoryConfigCtrl","Upload","upload","files","uploadFile","uploadFileLoader","method","config","AddLocationCtrl","newLocation","isValidLocation","indexOf","EditLocationCtrl","editedLocation","_","cloneDeep","ChooseRepositoryCtrl","$location","repositoryTypes","chooseRepositoryType","repoType","AddRepositoryCtrl","$timeout","$routeParams","RepositoriesRestService","setPageTitle","repositoryType","pageTitle","rulesets","slice","enable","entityIndexSizeMin","repositoryInfo","changedLocation","$broadcast","getConfig","getRepositoryConfiguration","resp","member","element","focus","catch","isEnterprise","isValidEERepository","isFreeEdition","isValidSERepository","isValidFRRepository","isValidOntopRepository","isValidFedXRepository","activeLocation","isInvalidPieFile","uploadRuleset","ruleset","progress","evt","fileName","newValue","fileLocation","rulesetPie","unshift","rulesetPieFile","errorMessage","noMembersError","goBackToPreviousLocation","previous","search","target","charAt","createRepoHttp","createRepository","repoId","createRepo","isInvalidRepoName","isInvalidEntityIndexSizeMin","numberFormatError","rulesetWarning","pp","disableSameAs","autofocusId","languageChangedSubscription","EditRepositoryFileCtrl","file","dialogTitle","getRepositoryFileContent","fileContent","content","EditRepositoryCtrl","MonitoringRestService","editRepoPage","canEditRepoId","isRepoInCluster","restartRequested","saveRepoId","$watch","repositoryInfoResponse","getRepository","monitorActiveOperations","monitoringResponse","hasClusterOperation","Promise","reject","isDefined","ifRulesetExists","item","setRepositoryType","saveId","initView","response","status","toastrMsg","allowHtml","setTimeout","editRepoHttp","editRepository","modalMsg","editRepositoryId","$$search","directive","restrict","require","link","scope","attr","ctrl","$validators","validUrl","modelValue","viewValue","$isEmpty","allowEmpty","excludeProtocol","split"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=55862;export const __webpack_ids__=[55862];export const __webpack_modules__={55862:(e,r,n)=>{n.r(r),n.d(r,{default:()=>t});const t='<link href="css/graphql/endpoint-generation-failure-result-modal.css?v=3.2.0-TR1" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h3 class="modal-title"> {{\'graphql.endpoints_management.generation_failure_report_modal.title\' | translate}}</h3> </div> <div class="modal-body endpoint-generation-failure-result-modal-body"> <div ng-if="endpointReport.errors > 0" class="alert alert-danger"> {{\'graphql.endpoints_management.generation_failure_report_modal.failing_reason_message\' | translate}} </div> <div ng-if="endpointReport.warnings > 0 && endpointReport.errors === 0" class="alert alert-info"> {{\'graphql.endpoints_management.generation_failure_report_modal.warning_reason_message\' | translate}} </div> <table class="report table table-bordered" aria-label="Endpoint generation failure report table"> <thead> <tr class="labels-row"> <th scope="col"> <strong class="errors-count mr-2">{{\'graphql.endpoints_management.generation_failure_report_modal.errors\' | translate: {errorCount: endpointReport.errors} }}</strong> <strong class="warnings-count">{{\'graphql.endpoints_management.generation_failure_report_modal.warnings\' | translate: {warningCount: endpointReport.warnings} }}</strong> </th> </tr> </thead> <tbody> <tr ng-repeat="error in endpointReport.messages.errors" class="error-row"> <td> <div class="alert alert-danger">{{error}}</div> </td> </tr> <tr ng-repeat="warning in endpointReport.messages.warnings" class="warning-row"> <td> <div class="alert alert-warning">{{warning}}</div> </td> </tr> </tbody> </table> </div> <div class="modal-footer mt-0"> <button id="download-failure-report" class="btn btn-secondary mr-1" ng-click="downloadReport()"> <i class="fa fa-arrow-down-to-line"></i> <span>{{\'graphql.endpoints_management.generation_failure_report_modal.actions.download_report.label\' | translate}}</span> </button> <button ng-if="endpointReport.errors === 0 && endpointReport.warnings > 0" id="delete-warnings" class="btn btn-primary" ng-click="deleteReport()"> <span>{{\'graphql.endpoints_management.generation_failure_report_modal.actions.delete_report.label\' | translate}}</span> </button> </div> '}};
2
+ //# sourceMappingURL=55862.1fb5abd075ba11a7e93c.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"55862.1fb5abd075ba11a7e93c.bundle.js","mappings":"uJAGA,QAFW,spE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/endpoint-generation-failure-result-modal.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h3 class=\"modal-title\"> {{'graphql.endpoints_management.generation_failure_report_modal.title' | translate}}</h3> </div> <div class=\"modal-body endpoint-generation-failure-result-modal-body\"> <div ng-if=\"endpointReport.errors > 0\" class=\"alert alert-danger\"> {{'graphql.endpoints_management.generation_failure_report_modal.failing_reason_message' | translate}} </div> <div ng-if=\"endpointReport.warnings > 0 && endpointReport.errors === 0\" class=\"alert alert-info\"> {{'graphql.endpoints_management.generation_failure_report_modal.warning_reason_message' | translate}} </div> <table class=\"report table table-bordered\" aria-label=\"Endpoint generation failure report table\"> <thead> <tr class=\"labels-row\"> <th scope=\"col\"> <strong class=\"errors-count mr-2\">{{'graphql.endpoints_management.generation_failure_report_modal.errors' | translate: {errorCount: endpointReport.errors} }}</strong> <strong class=\"warnings-count\">{{'graphql.endpoints_management.generation_failure_report_modal.warnings' | translate: {warningCount: endpointReport.warnings} }}</strong> </th> </tr> </thead> <tbody> <tr ng-repeat=\"error in endpointReport.messages.errors\" class=\"error-row\"> <td> <div class=\"alert alert-danger\">{{error}}</div> </td> </tr> <tr ng-repeat=\"warning in endpointReport.messages.warnings\" class=\"warning-row\"> <td> <div class=\"alert alert-warning\">{{warning}}</div> </td> </tr> </tbody> </table> </div> <div class=\"modal-footer mt-0\"> <button id=\"download-failure-report\" class=\"btn btn-secondary mr-1\" ng-click=\"downloadReport()\"> <i class=\"fa fa-arrow-down-to-line\"></i> <span>{{'graphql.endpoints_management.generation_failure_report_modal.actions.download_report.label' | translate}}</span> </button> <button ng-if=\"endpointReport.errors === 0 && endpointReport.warnings > 0\" id=\"delete-warnings\" class=\"btn btn-primary\" ng-click=\"deleteReport()\"> <span>{{'graphql.endpoints_management.generation_failure_report_modal.actions.delete_report.label' | translate}}</span> </button> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=58306;export const __webpack_ids__=[58306];export const __webpack_modules__={58306:(t,e,s)=>{s.r(e),s.d(e,{default:()=>n});const n='<link href="css/ttyg/ttyg.css?v=3.2.0-TR1" rel="stylesheet"/> <div class="ttyg-view" ng-class="{\'help-visible\': isHelpVisible}"> <h1 id="ttyg-view-title"> {{ title }} <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div uib-collapse="!isHelpVisible" class="alert alert-info"> <button type="button" ng-click="isHelpVisible = false" gdb-tooltip="{{\'common.close\' | translate}}" class="close" aria-label="Close"></button> <div ng-include="helpTemplateUrl"></div> </div> <div onto-loader-new ng-show="loadingAgents" class="ttyg-page-loader" size="100"> </div> <no-agents-view ng-cloak ng-if="initialized && getActiveRepository() && !loadingAgents && !reloadingAgents && (!agents || agents.isEmpty())"></no-agents-view> <div id="ttyg-container" class="ttyg-container" ng-show="getActiveRepository() && !loadingAgents && agents && !agents.isEmpty()"> <div id="left-sidebar" class="left-sidebar sidebar" ng-class="showChats ? \'expanded\' : \'collapsed\'"> <div class="toolbar"> <button class="btn btn-link btn-sm toggle-chats-sidebar-btn" ng-if="true" ng-click="toggleChatsListSidebar()" ng-disabled="false" gdb-tooltip="{{\'ttyg.chat.btn.\' + (showChats ? \'close_sidebar\' : \'open_sidebar\') + \'.tooltip\' | translate}}"> <i class="fa fa-sidebar"></i> </button> <button class="btn btn-link btn-sm create-chat-btn" guide-selector="create-chat-btn" ng-if="chats && !chats.isEmpty()" ng-click="startNewChat()" ng-disabled="false" gdb-tooltip="{{\'ttyg.chat.btn.create_chat.tooltip\' | translate}}"> <i class="fa fa-pen-to-square"></i> </button> </div> <pageslide ps-class="chat-list-panel slide-panel" ps-container="left-sidebar" ps-open="showChats" onopen="onopen" onclose="onclose" ps-side="left" ps-click-outside="false" ps-size="80vw"> <div class="sidebar-content"> <chat-list ng-if="chats"></chat-list> <div class="chat-list-panel-loader" ng-if="!chats && loadingChats"> <div onto-loader-fancy message="{{\'ttyg.chat.loading_chats\' | translate}}" size="25"></div> </div> </div> </pageslide> </div> <div class="chat-content"> <div class="chat"> <div class="toolbar mb-2"> <agent-select-menu class="mr-1"></agent-select-menu> <button class="btn btn-link btn-sm edit-current-agent-btn mr-1" guide-selector="edit-current-agent" ng-if="selectedAgent" ng-click="onOpenAgentSettings()" ng-disabled="!canModifyAgent" gdb-tooltip="{{ (canModifyAgent ? \'ttyg.agent.btn.edit_agent.tooltip\' : \'ttyg.agent.btn.edit_agent.tooltip_disabled\') | translate}}"> <i class="icon-settings"></i> </button> </div> <div uib-collapse="!isCollapsed" id="ot-help-text" class="alert alert-info"> <button type="button" ng-click="isCollapsed = false" gdb-tooltip="{{\'common.close\' | translate}}" class="close" aria-label="Close"></button> <div ng-include="helpTemplateUrl"></div> </div> <chat-panel class="selected-chat-panel"></chat-panel> </div> </div> <div id="right-sidebar" class="right-sidebar sidebar" ng-class="showAgents ? \'expanded\' : \'collapsed\'"> <div class="toolbar"> <button class="btn btn-link btn-sm help-btn" ng-if="true" ng-click="onToggleHelp()" ng-disabled="false" gdb-tooltip="{{\'ttyg.help.btn.show_help.tooltip\' | translate}}"> <i class="icon-help"></i> </button> <button class="btn btn-link btn-sm create-agent-btn" ng-disabled="!canModifyAgent" ng-click="onOpenNewAgentSettings()" ng-disabled="false" gdb-tooltip="{{ (canModifyAgent ? \'ttyg.agent.btn.create_agent.tooltip\' : \'ttyg.agent.btn.create_agent.tooltip_disabled\') | translate}}" guide-selector="create-agent-btn"> <i class="icon-plus"></i> </button> <button class="btn btn-link btn-sm toggle-agents-sidebar-btn" ng-if="!showAgents" ng-click="toggleAgentsListSidebar()" ng-disabled="!canModifyAgent" gdb-tooltip="{{\'ttyg.agent.btn.open_sidebar.\' + (canModifyAgent ? \'tooltip\' : \'tooltip_disabled\') | translate}}"> <i class="fa fa-message-bot"></i> </button> <button class="btn btn-link btn-sm toggle-agents-sidebar-btn" ng-if="showAgents" ng-click="toggleAgentsListSidebar()" ng-disabled="false" gdb-tooltip="{{\'ttyg.agent.btn.close_sidebar\' + \'.tooltip\' | translate}}"> <i class="icon-close"></i> </button> </div> <pageslide ps-class="agent-list-panel slide-panel" ps-container="right-sidebar" ps-open="showAgents" onopen="onopen" onclose="onclose" ps-side="right" ps-click-outside="false" ps-size="80vw"> <div class="sidebar-content"> <agent-list ng-if="agents && agentListFilterModel.length && !reloadingAgents" agent-list="agents" agent-list-filter-model="agentListFilterModel"></agent-list> <div ng-if="reloadingAgents" onto-loader-fancy message="{{\'ttyg.agent.loading_agents\' | translate}}" class="agent-list-loader" size="25" style="display:flex"></div> </div> </pageslide> </div> </div> </div> '}};
2
+ //# sourceMappingURL=58306.ba9545cbaee021ebcbce.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"58306.ba9545cbaee021ebcbce.bundle.js","mappings":"uJAGA,QAFW,smJ","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/ttyg.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/ttyg.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <div class=\"ttyg-view\" ng-class=\"{'help-visible': isHelpVisible}\"> <h1 id=\"ttyg-view-title\"> {{ title }} <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div uib-collapse=\"!isHelpVisible\" class=\"alert alert-info\"> <button type=\"button\" ng-click=\"isHelpVisible = false\" gdb-tooltip=\"{{'common.close' | translate}}\" class=\"close\" aria-label=\"Close\"></button> <div ng-include=\"helpTemplateUrl\"></div> </div> <div onto-loader-new ng-show=\"loadingAgents\" class=\"ttyg-page-loader\" size=\"100\"> </div> <no-agents-view ng-cloak ng-if=\"initialized && getActiveRepository() && !loadingAgents && !reloadingAgents && (!agents || agents.isEmpty())\"></no-agents-view> <div id=\"ttyg-container\" class=\"ttyg-container\" ng-show=\"getActiveRepository() && !loadingAgents && agents && !agents.isEmpty()\"> <div id=\"left-sidebar\" class=\"left-sidebar sidebar\" ng-class=\"showChats ? 'expanded' : 'collapsed'\"> <div class=\"toolbar\"> <button class=\"btn btn-link btn-sm toggle-chats-sidebar-btn\" ng-if=\"true\" ng-click=\"toggleChatsListSidebar()\" ng-disabled=\"false\" gdb-tooltip=\"{{'ttyg.chat.btn.' + (showChats ? 'close_sidebar' : 'open_sidebar') + '.tooltip' | translate}}\"> <i class=\"fa fa-sidebar\"></i> </button> <button class=\"btn btn-link btn-sm create-chat-btn\" guide-selector=\"create-chat-btn\" ng-if=\"chats && !chats.isEmpty()\" ng-click=\"startNewChat()\" ng-disabled=\"false\" gdb-tooltip=\"{{'ttyg.chat.btn.create_chat.tooltip' | translate}}\"> <i class=\"fa fa-pen-to-square\"></i> </button> </div> <pageslide ps-class=\"chat-list-panel slide-panel\" ps-container=\"left-sidebar\" ps-open=\"showChats\" onopen=\"onopen\" onclose=\"onclose\" ps-side=\"left\" ps-click-outside=\"false\" ps-size=\"80vw\"> <div class=\"sidebar-content\"> <chat-list ng-if=\"chats\"></chat-list> <div class=\"chat-list-panel-loader\" ng-if=\"!chats && loadingChats\"> <div onto-loader-fancy message=\"{{'ttyg.chat.loading_chats' | translate}}\" size=\"25\"></div> </div> </div> </pageslide> </div> <div class=\"chat-content\"> <div class=\"chat\"> <div class=\"toolbar mb-2\"> <agent-select-menu class=\"mr-1\"></agent-select-menu> <button class=\"btn btn-link btn-sm edit-current-agent-btn mr-1\" guide-selector=\"edit-current-agent\" ng-if=\"selectedAgent\" ng-click=\"onOpenAgentSettings()\" ng-disabled=\"!canModifyAgent\" gdb-tooltip=\"{{ (canModifyAgent ? 'ttyg.agent.btn.edit_agent.tooltip' : 'ttyg.agent.btn.edit_agent.tooltip_disabled') | translate}}\"> <i class=\"icon-settings\"></i> </button> </div> <div uib-collapse=\"!isCollapsed\" id=\"ot-help-text\" class=\"alert alert-info\"> <button type=\"button\" ng-click=\"isCollapsed = false\" gdb-tooltip=\"{{'common.close' | translate}}\" class=\"close\" aria-label=\"Close\"></button> <div ng-include=\"helpTemplateUrl\"></div> </div> <chat-panel class=\"selected-chat-panel\"></chat-panel> </div> </div> <div id=\"right-sidebar\" class=\"right-sidebar sidebar\" ng-class=\"showAgents ? 'expanded' : 'collapsed'\"> <div class=\"toolbar\"> <button class=\"btn btn-link btn-sm help-btn\" ng-if=\"true\" ng-click=\"onToggleHelp()\" ng-disabled=\"false\" gdb-tooltip=\"{{'ttyg.help.btn.show_help.tooltip' | translate}}\"> <i class=\"icon-help\"></i> </button> <button class=\"btn btn-link btn-sm create-agent-btn\" ng-disabled=\"!canModifyAgent\" ng-click=\"onOpenNewAgentSettings()\" ng-disabled=\"false\" gdb-tooltip=\"{{ (canModifyAgent ? 'ttyg.agent.btn.create_agent.tooltip' : 'ttyg.agent.btn.create_agent.tooltip_disabled') | translate}}\" guide-selector=\"create-agent-btn\"> <i class=\"icon-plus\"></i> </button> <button class=\"btn btn-link btn-sm toggle-agents-sidebar-btn\" ng-if=\"!showAgents\" ng-click=\"toggleAgentsListSidebar()\" ng-disabled=\"!canModifyAgent\" gdb-tooltip=\"{{'ttyg.agent.btn.open_sidebar.' + (canModifyAgent ? 'tooltip' : 'tooltip_disabled') | translate}}\"> <i class=\"fa fa-message-bot\"></i> </button> <button class=\"btn btn-link btn-sm toggle-agents-sidebar-btn\" ng-if=\"showAgents\" ng-click=\"toggleAgentsListSidebar()\" ng-disabled=\"false\" gdb-tooltip=\"{{'ttyg.agent.btn.close_sidebar' + '.tooltip' | translate}}\"> <i class=\"icon-close\"></i> </button> </div> <pageslide ps-class=\"agent-list-panel slide-panel\" ps-container=\"right-sidebar\" ps-open=\"showAgents\" onopen=\"onopen\" onclose=\"onclose\" ps-side=\"right\" ps-click-outside=\"false\" ps-size=\"80vw\"> <div class=\"sidebar-content\"> <agent-list ng-if=\"agents && agentListFilterModel.length && !reloadingAgents\" agent-list=\"agents\" agent-list-filter-model=\"agentListFilterModel\"></agent-list> <div ng-if=\"reloadingAgents\" onto-loader-fancy message=\"{{'ttyg.agent.loading_agents' | translate}}\" class=\"agent-list-loader\" size=\"25\" style=\"display:flex\"></div> </div> </pageslide> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- export const __webpack_id__=60560;export const __webpack_ids__=[60560];export const __webpack_modules__={60560:(e,a,t)=>{t.r(a),t.d(a,{onto_cookie_consent:()=>n,onto_cookie_policy_dialog:()=>s});var o=t(87848),c=t(77050),i=t(57154);const n=class{constructor(e){(0,o.r)(this,e),this.consentGiven=(0,o.c)(this,"consentGiven"),this.showModal=!1,this.openModal=e=>{e.preventDefault(),this.showModal=!0},this.handleConsentClick=()=>{this.consentGiven.emit()}}onDialogClose(){this.showModal=!1}render(){return(0,o.h)(o.a,{key:"dba3fc373e9ad60ada7f86d11acbe1b1ed24a92d"},(0,o.h)("div",{key:"414c970a3a4b263e8f3f5d066dc8bb22b8194c48",class:"cookie-consent-modal"},(0,o.h)("section",{key:"6a1cccadb167b301738fb6a453b7d300e93ba18b",class:"cookie-consent-content"},(0,o.h)("span",{key:"1b60fbb2c50049e568ac0cc34875a0df388ea176"},(0,o.h)("translate-label",{key:"f64506a6ea5d01ac231a3f06377c84654cf8e0c7",labelKey:"cookie.cookie_consent"}),(0,o.h)("a",{key:"bd467bae7911ec9248f6296a655651fee07db73c",id:"cookie-policy-link",href:"#",onClick:this.openModal,class:"btn btn-link p-0"},(0,o.h)("translate-label",{key:"3c43ff2eb701200253fffb1c17f53355f52af11a",labelKey:"cookie.cookie_policy_url_label"})),"."),(0,o.h)("button",{key:"6a6c6029a325cd39fbdf0b74c3bd2ca6157f81ae",id:"accept-cookie-policy",class:"onto-btn onto-btn-primary",onClick:this.handleConsentClick},(0,o.h)("translate-label",{key:"b7dfb20b211927f2aec4199beb35e582768db96c",labelKey:"common.button.ok"})))),this.showModal&&(0,o.h)("onto-cookie-policy-dialog",{key:"b3a905894b4683b6b7b45809f1e97139cd998088",dialogHandler:this}))}};var l;n.style=".cookie-consent-modal{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);padding:20px;z-index:1050;width:100%}.cookie-consent-content{display:flex;justify-content:center;align-items:center}.cookie-consent-content button{margin-left:12px}.cookie-policy-modal{padding:24px 40px;overflow-y:auto}.cookie-policy-modal .modal-dialog{width:60% !important;max-width:60% !important}.cookie-policy-modal .title{font-size:xx-large;font-weight:bolder}.cookie-policy-modal .heading{font-size:x-large;font-weight:bolder;margin-top:12px}.cookie-policy-modal .subheading{font-size:large;font-weight:bolder;margin-top:8px}.cookie-policy-modal .text{font-size:math}",function(e){e.THIRD_PARTY="thirdParty",e.STATISTIC="statistic"}(l||(l={}));const s=class{constructor(e){(0,o.r)(this,e),this.user=i.ServiceProvider.get(i.SecurityContextService).getAuthenticatedUser(),this.securityService=i.ServiceProvider.get(i.SecurityService)}toggleChanged(e){this.setUserCookieConsent(this.updateCookieConsent(e.detail)),this.securityService.updateUserData(this.user).catch(console.error)}render(){var e,a;const t={dialogTitle:c.T.translate("cookie.policy.title"),onClose:()=>this.dialogHandler.onDialogClose(),modalClass:"cookie-policy-modal"},n=new i.CookieConsent(null===(a=null===(e=this.user)||void 0===e?void 0:e.appSettings)||void 0===a?void 0:a.COOKIE_CONSENT);return(0,o.h)("onto-dialog",{key:"5c9716eebf02b30a51d90af98775d7e183618290",config:t},(0,o.h)("div",{key:"afdaebff817f24cfda4bafbcc386a741f7907674",slot:"body"},(0,o.h)("section",{key:"5387b27738aaba232f3646a1a71fbe1bc7b5332f"},(0,o.h)("h4",{key:"ab64a92c9e72bfa48868b5e8e8055eb674e40eda"},(0,o.h)("translate-label",{key:"b7f62e750e65a6d354e2f3bc9bfaf6d5eca304d4",labelKey:"cookie.policy.purpose_heading"})),(0,o.h)("p",{key:"0354cbaf054caa4680d548f33434bbee4527c40e"},(0,o.h)("translate-label",{key:"69c60946be613dea36d2690d287e645edb71483a",labelKey:"cookie.policy.purpose_text"})),(0,o.h)("p",{key:"055e50c6a516413f46a35c7b85952e4aa1a9f9df"},(0,o.h)("translate-label",{key:"70857b357e74bb7dfb8c384883668c8b2482ca4a",labelKey:"cookie.policy.purpose_enterprise_text"}))),(0,o.h)("section",{key:"6e71eb5aae17c6da27bf257cae2a0760860df5d1"},(0,o.h)("h4",{key:"83b3b663f46498e43c7ab30410de8f074243c3ae"},(0,o.h)("translate-label",{key:"2f6b5c9c10ace40140ecafbcd7d10709df14b1ab",labelKey:"cookie.policy.privacy_commitment_heading"})),(0,o.h)("p",{key:"09f6d19d59629866fa3b21842831d392b9e555ec"},(0,o.h)("translate-label",{key:"4c8f23a3c88299a4fd5d390eaa4a7afa5862d9ad",labelKey:"cookie.policy.privacy_commitment_text"})),(0,o.h)("ul",{key:"09b90acc150cf43a9e59297b34657d9c0d6f58cf"},(0,o.h)("li",{key:"703ef7e25fb39d5d42980653b1fcf86d8a94557c"},(0,o.h)("translate-label",{key:"df7d2a7233e3c18a068fa9058c3c193d3cd29aa9",labelKey:"cookie.policy.privacy_commitment_1"})),(0,o.h)("li",{key:"8d31ea369caab98410d1ca4d10ca56acbf712b4d"},(0,o.h)("translate-label",{key:"4cf9f87d207ae4a56f5ef25ad5e61ae49229a66d",labelKey:"cookie.policy.privacy_commitment_2"})))),(0,o.h)("section",{key:"11a8ff13f5ccf5ce1ee72a6ddd14f7a15aaf28a8"},(0,o.h)("h4",{key:"05c721ac41e0ce384336f36efbed649cdf3c8521"},(0,o.h)("translate-label",{key:"0311734172a238e9a34d5b646ce7226146ca4fb4",labelKey:"cookie.policy.cookies_heading"})),(0,o.h)("p",{key:"9b6348c8749b252e1308c2217753333d7f34510d"},(0,o.h)("translate-label",{key:"ec1a61b4d8c13ade4a3596818916bd4fb0ea9250",labelKey:"cookie.policy.cookies_text"}))),(0,o.h)("section",{key:"0a56afdf911e56f1e857bd9c8141214b841cfab6"},(0,o.h)("h4",{key:"1aab64214b9a77114cd6a57ad32386dcc7361f92"},(0,o.h)("translate-label",{key:"124cd6d94ab003ee056b8f57a1550604500d2af8",labelKey:"cookie.policy.manage_cookies_heading"})),(0,o.h)("onto-toggle-switch",{key:"d5e9c3008e8286bc6223fe46d955b8f40e229401",checked:null==n?void 0:n.statistic,labelKey:"cookie.policy.statistic_cookies",tooltipTranslationKey:"cookie.policy.statistic_tooltip",context:l.STATISTIC}),(0,o.h)("p",{key:"950ed4231c70d11951d75d5c7e2f4baa3b037a29"},(0,o.h)("translate-label",{key:"89d34f7bdedcb706c873f14d7cab5cc3d7c02f24",labelKey:"cookie.policy.statistic_text"})),(0,o.h)("onto-toggle-switch",{key:"ec5ad346c46f236b53738df40661b39581441c76",checked:null==n?void 0:n.thirdParty,labelKey:"cookie.policy.third_party_cookies",tooltipTranslationKey:"cookie.policy.third_party_tooltip",context:l.THIRD_PARTY}),(0,o.h)("p",{key:"dcb9444ad459d3ae88200c4d6aabb60ac32ac0b2"},(0,o.h)("translate-label",{key:"7f8f517ed2b9eb396cda52247f93e2269e081169",labelKey:"cookie.policy.third_party_cookies_text"}))),(0,o.h)("p",{key:"bd784e85cfbd3189e52ce75159a7c2727c8b71bc"},(0,o.h)("span",{key:"5cd30d116bf907e58ee72b5b9d87c46895287085"},(0,o.h)("translate-label",{key:"bc7ef9a8f755ec932c93eb6f37f47646c3d9d4db",labelKey:"cookie.policy.change_cookies"}),(0,o.h)("i",{key:"f77778f441780569f9519112b54827f64ef45c4b"}," ",(0,o.h)("translate-label",{key:"327b6accb62caf5075e2d7d5191b55a375cbd7e8",labelKey:"menu.setup.label"})," > ",(0,o.h)("translate-label",{key:"f4d1aa6a0ff386f5dcc91644c444c0cbdb31de93",labelKey:"menu.my.settings.label"})," > ",(0,o.h)("translate-label",{key:"6addb466067cca060041f13085d1bad6d8dada18",labelKey:"security.user.settings"})," > ",(0,o.h)("translate-label",{key:"40348ad073e5b407aa077a64ac19c4a4fcd5deec",labelKey:"cookie.policy.change_cookies_location4"})," ")))))}updateCookieConsent(e){var a,t;const o=new i.CookieConsent(null===(t=null===(a=this.user)||void 0===a?void 0:a.appSettings)||void 0===t?void 0:t.COOKIE_CONSENT);return o[e.context]=e.checked,o.updatedAt=(new Date).getTime(),o}setUserCookieConsent(e){this.user.appSettings||(this.user.appSettings={}),this.user.appSettings.COOKIE_CONSENT=e}};s.style="section h4{font-size:x-large;font-weight:bolder;margin-top:12px}"},77050:(e,a,t)=>{t.d(a,{T:()=>n,s:()=>c});var o=t(57154);function c(e){const a=document.createElement("textarea");return a.innerHTML=e,a.value}class i{constructor(){this.languageContextService=o.ServiceProvider.get(o.LanguageContextService),this.translationChangedObservers={},this.defaultBundle=this.languageContextService.getDefaultBundle(),this.subscribeToBundleChange()}onTranslate(e,a=[],t=()=>{}){this.translationChangedObservers[e]=this.translationChangedObservers[e]||[];const o={parameters:a,callback:t};return this.translationChangedObservers[e].push(o),t(this.translate(e,a)),()=>{const a=this.translationChangedObservers[e].indexOf(o);-1!==a&&this.translationChangedObservers[e].splice(a,1)}}translate(e,a){return this.translateInLocale(e,a)}translateInLocale(e,a){let t=this.translateFromBundle(this.currentBundle,e);return t||(t=this.translateFromBundle(this.defaultBundle,e)),t?(t=this.applyParameters(t,a),c(t)):(console.warn(`Missing translation for key: [${e}]`),e)}translateFromBundle(e,a){if(!e)return;let t=e[a];return"string"!=typeof t&&(t=this.translateAsJsonObject(e,a)),t}translateAsJsonObject(e,a){let t=a.split(".");return this.getTranslation(e,t)}getTranslation(e,a){if(!a||!e)return;const t=e[a.splice(0,1)[0]];return 0===a.length?t:"string"!=typeof t?a.length>0?this.getTranslation(t,a):t:void 0}applyParameters(e,a){return a?a.reduce((e,a)=>i.replaceAll(e,a),e):e}static replaceAll(e,a){return a?e.split(`{{${a.key}}}`).join(a.value):e}notifyTranslationsChanged(){Object.keys(this.translationChangedObservers).forEach(e=>{(this.translationChangedObservers[e]||[]).forEach(a=>a.callback(this.translate(e,a.parameters)))})}subscribeToBundleChange(){this.languageChangeSubscription=this.languageContextService.onLanguageBundleChanged(e=>{e&&(this.currentBundle=e,this.notifyTranslationsChanged())})}destroy(){this.languageChangeSubscription&&this.languageChangeSubscription()}}const n=new i}};
2
- //# sourceMappingURL=60560.024578077d95b851beea.bundle.js.map
1
+ export const __webpack_id__=60560;export const __webpack_ids__=[60560];export const __webpack_modules__={60560:(e,a,t)=>{t.r(a),t.d(a,{onto_cookie_consent:()=>n,onto_cookie_policy_dialog:()=>s});var o=t(87848),i=t(77050),c=t(57154);const n=class{constructor(e){(0,o.r)(this,e),this.consentGiven=(0,o.c)(this,"consentGiven"),this.showModal=!1,this.openModal=e=>{e.preventDefault(),this.showModal=!0},this.handleConsentClick=()=>{this.consentGiven.emit()}}onDialogClose(){this.showModal=!1}render(){return(0,o.h)(o.a,{key:"dba3fc373e9ad60ada7f86d11acbe1b1ed24a92d"},(0,o.h)("div",{key:"414c970a3a4b263e8f3f5d066dc8bb22b8194c48",class:"cookie-consent-modal"},(0,o.h)("section",{key:"6a1cccadb167b301738fb6a453b7d300e93ba18b",class:"cookie-consent-content"},(0,o.h)("span",{key:"aa62410b522125feeb48eaa568a78c761e6b9596"},(0,o.h)("translate-label",{key:"0696068c1aa8738bb3ddf0e548d9140ba12609e1",labelKey:"cookie.cookie_consent"}),(0,o.h)("a",{key:"efd9792a6a424b86606b3904615c53f19a2cdb6e",id:"cookie-policy-link",href:"#",onClick:this.openModal,class:"btn btn-link p-0"},(0,o.h)("translate-label",{key:"12e95d1446f81b47c973e285ee71da5fbfa4934f",labelKey:"cookie.cookie_policy_url_label"})),"."),(0,o.h)("button",{key:"a91e7d9e7eddef1b50d82570f4211a0e1e1ae7b0",id:"accept-cookie-policy",class:"onto-btn onto-btn-primary",onClick:this.handleConsentClick},(0,o.h)("translate-label",{key:"5ca81d4f299a7b7f13ed0f77ac7d1ceaeaad318a",labelKey:"common.button.ok"})))),this.showModal&&(0,o.h)("onto-cookie-policy-dialog",{key:"e54d3f134771ff5f59a288d0d6c9949c6f59567f",dialogHandler:this}))}};var l;n.style=".cookie-consent-modal{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);padding:20px;z-index:1050;width:100%}.cookie-consent-content{display:flex;justify-content:center;align-items:center}.cookie-consent-content button{margin-left:12px}.cookie-policy-modal{padding:24px 40px;overflow-y:auto}.cookie-policy-modal .modal-dialog{width:60% !important;max-width:60% !important}.cookie-policy-modal .title{font-size:xx-large;font-weight:bolder}.cookie-policy-modal .heading{font-size:x-large;font-weight:bolder;margin-top:12px}.cookie-policy-modal .subheading{font-size:large;font-weight:bolder;margin-top:8px}.cookie-policy-modal .text{font-size:math}",function(e){e.THIRD_PARTY="thirdParty",e.STATISTIC="statistic"}(l||(l={}));const s=class{constructor(e){(0,o.r)(this,e),this.user=c.ServiceProvider.get(c.SecurityContextService).getAuthenticatedUser(),this.securityService=c.ServiceProvider.get(c.SecurityService)}toggleChanged(e){this.setUserCookieConsent(this.updateCookieConsent(e.detail)),this.securityService.updateUserData(this.user).catch(console.error)}render(){var e,a;const t={dialogTitle:i.T.translate("cookie.policy.title"),onClose:()=>this.dialogHandler.onDialogClose(),modalClass:"cookie-policy-modal"},n=new c.CookieConsent(null===(a=null===(e=this.user)||void 0===e?void 0:e.appSettings)||void 0===a?void 0:a.COOKIE_CONSENT);return(0,o.h)("onto-dialog",{key:"5c9716eebf02b30a51d90af98775d7e183618290",config:t},(0,o.h)("div",{key:"afdaebff817f24cfda4bafbcc386a741f7907674",slot:"body"},(0,o.h)("section",{key:"5387b27738aaba232f3646a1a71fbe1bc7b5332f"},(0,o.h)("h4",{key:"ab64a92c9e72bfa48868b5e8e8055eb674e40eda"},(0,o.h)("translate-label",{key:"b7f62e750e65a6d354e2f3bc9bfaf6d5eca304d4",labelKey:"cookie.policy.purpose_heading"})),(0,o.h)("p",{key:"0354cbaf054caa4680d548f33434bbee4527c40e"},(0,o.h)("translate-label",{key:"69c60946be613dea36d2690d287e645edb71483a",labelKey:"cookie.policy.purpose_text"})),(0,o.h)("p",{key:"055e50c6a516413f46a35c7b85952e4aa1a9f9df"},(0,o.h)("translate-label",{key:"70857b357e74bb7dfb8c384883668c8b2482ca4a",labelKey:"cookie.policy.purpose_enterprise_text"}))),(0,o.h)("section",{key:"6e71eb5aae17c6da27bf257cae2a0760860df5d1"},(0,o.h)("h4",{key:"83b3b663f46498e43c7ab30410de8f074243c3ae"},(0,o.h)("translate-label",{key:"2f6b5c9c10ace40140ecafbcd7d10709df14b1ab",labelKey:"cookie.policy.privacy_commitment_heading"})),(0,o.h)("p",{key:"09f6d19d59629866fa3b21842831d392b9e555ec"},(0,o.h)("translate-label",{key:"4c8f23a3c88299a4fd5d390eaa4a7afa5862d9ad",labelKey:"cookie.policy.privacy_commitment_text"})),(0,o.h)("ul",{key:"09b90acc150cf43a9e59297b34657d9c0d6f58cf"},(0,o.h)("li",{key:"703ef7e25fb39d5d42980653b1fcf86d8a94557c"},(0,o.h)("translate-label",{key:"df7d2a7233e3c18a068fa9058c3c193d3cd29aa9",labelKey:"cookie.policy.privacy_commitment_1"})),(0,o.h)("li",{key:"8d31ea369caab98410d1ca4d10ca56acbf712b4d"},(0,o.h)("translate-label",{key:"4cf9f87d207ae4a56f5ef25ad5e61ae49229a66d",labelKey:"cookie.policy.privacy_commitment_2"})))),(0,o.h)("section",{key:"11a8ff13f5ccf5ce1ee72a6ddd14f7a15aaf28a8"},(0,o.h)("h4",{key:"05c721ac41e0ce384336f36efbed649cdf3c8521"},(0,o.h)("translate-label",{key:"0311734172a238e9a34d5b646ce7226146ca4fb4",labelKey:"cookie.policy.cookies_heading"})),(0,o.h)("p",{key:"9b6348c8749b252e1308c2217753333d7f34510d"},(0,o.h)("translate-label",{key:"ec1a61b4d8c13ade4a3596818916bd4fb0ea9250",labelKey:"cookie.policy.cookies_text"}))),(0,o.h)("section",{key:"0a56afdf911e56f1e857bd9c8141214b841cfab6"},(0,o.h)("h4",{key:"1aab64214b9a77114cd6a57ad32386dcc7361f92"},(0,o.h)("translate-label",{key:"124cd6d94ab003ee056b8f57a1550604500d2af8",labelKey:"cookie.policy.manage_cookies_heading"})),(0,o.h)("onto-toggle-switch",{key:"5cd4f7185729ac4741a1128b9be06d31ac7d7779",checked:null==n?void 0:n.statistic,labelKey:"cookie.policy.statistic_cookies",tooltipTranslationKey:"cookie.policy.statistic_tooltip",context:l.STATISTIC}),(0,o.h)("p",{key:"e4605b7731672924542ff9578bb7a4d631822927"},(0,o.h)("translate-label",{key:"3f119b863505286c2627a4f40327f81173c7df09",labelKey:"cookie.policy.statistic_text"})),(0,o.h)("onto-toggle-switch",{key:"12b41157eced1f90357f3e9780cd36694f2903e7",checked:null==n?void 0:n.thirdParty,labelKey:"cookie.policy.third_party_cookies",tooltipTranslationKey:"cookie.policy.third_party_tooltip",context:l.THIRD_PARTY}),(0,o.h)("p",{key:"1c93b76d442412854746e6aa75891a4a26664d88"},(0,o.h)("translate-label",{key:"52f2a72c222f2195b034c9e082b3848638382663",labelKey:"cookie.policy.third_party_cookies_text"}))),(0,o.h)("p",{key:"0a5b47d04abdec566b262fe469c30586f24f1b3e"},(0,o.h)("span",{key:"aabe70fb4f363aa7e1ce8db10c38215bc61ddbb9"},(0,o.h)("translate-label",{key:"b05702891f3c98aa7a404171a7db2fa77748d789",labelKey:"cookie.policy.change_cookies"}),(0,o.h)("i",{key:"24915a3359d6dfe55ff690035a2065f11178344a"}," ",(0,o.h)("translate-label",{key:"1e2318b63e72bc275ae3f6622a7a194d9d0b643e",labelKey:"menu.setup.label"})," > ",(0,o.h)("translate-label",{key:"24003f231854abb864c935f2931439dcf87c715f",labelKey:"menu.my.settings.label"})," > ",(0,o.h)("translate-label",{key:"b6dd2de94d005f6b6ad6495d680b66b11c02a035",labelKey:"security.user.settings"})," > ",(0,o.h)("translate-label",{key:"259fe2888ca703acc53ca90036686f8ba5cbc25d",labelKey:"cookie.policy.change_cookies_location4"})," ")))))}updateCookieConsent(e){var a,t;const o=new c.CookieConsent(null===(t=null===(a=this.user)||void 0===a?void 0:a.appSettings)||void 0===t?void 0:t.COOKIE_CONSENT);return o[e.context]=e.checked,o.updatedAt=(new Date).getTime(),o}setUserCookieConsent(e){this.user.appSettings||(this.user.appSettings={}),this.user.appSettings.COOKIE_CONSENT=e}};s.style="section h4{font-size:x-large;font-weight:bolder;margin-top:12px}"},77050:(e,a,t)=>{t.d(a,{T:()=>n,s:()=>i});var o=t(57154);function i(e){const a=document.createElement("textarea");return a.innerHTML=e,a.value}class c{constructor(){this.languageContextService=o.ServiceProvider.get(o.LanguageContextService),this.translationChangedObservers={},this.defaultBundle=this.languageContextService.getDefaultBundle(),this.subscribeToBundleChange()}onTranslate(e,a=[],t=()=>{}){this.translationChangedObservers[e]=this.translationChangedObservers[e]||[];const o={parameters:a,callback:t};return this.translationChangedObservers[e].push(o),t(this.translate(e,a)),()=>{const a=this.translationChangedObservers[e].indexOf(o);-1!==a&&this.translationChangedObservers[e].splice(a,1)}}translate(e,a){return this.translateInLocale(e,a)}translateInLocale(e,a){let t=this.translateFromBundle(this.currentBundle,e);return t||(t=this.translateFromBundle(this.defaultBundle,e)),t?(t=this.applyParameters(t,a),i(t)):(console.warn(`Missing translation for key: [${e}]`),e)}translateFromBundle(e,a){if(!e)return;let t=e[a];return"string"!=typeof t&&(t=this.translateAsJsonObject(e,a)),t}translateAsJsonObject(e,a){let t=a.split(".");return this.getTranslation(e,t)}getTranslation(e,a){if(!a||!e)return;const t=e[a.splice(0,1)[0]];return 0===a.length?t:"string"!=typeof t?a.length>0?this.getTranslation(t,a):t:void 0}applyParameters(e,a){return a?a.reduce((e,a)=>c.replaceAll(e,a),e):e}static replaceAll(e,a){return a?e.split(`{{${a.key}}}`).join(a.value):e}notifyTranslationsChanged(){Object.keys(this.translationChangedObservers).forEach(e=>{(this.translationChangedObservers[e]||[]).forEach(a=>a.callback(this.translate(e,a.parameters)))})}subscribeToBundleChange(){this.languageChangeSubscription=this.languageContextService.onLanguageBundleChanged(e=>{e&&(this.currentBundle=e,this.notifyTranslationsChanged())})}destroy(){this.languageChangeSubscription&&this.languageChangeSubscription()}}const n=new c}};
2
+ //# sourceMappingURL=60560.37740d97b418899a5d21.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"60560.024578077d95b851beea.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-cookie-consent_2.entry.js","webpack://root-config/./packages/shared-components/dist/esm/translation.service-Hf6024E7.js"],"sourcesContent":["import { r as registerInstance, c as createEvent, h, a as Host } from './index-I_gcXFWK.js';\nimport { T as TranslationService } from './translation.service-Hf6024E7.js';\nimport { ServiceProvider, SecurityContextService, SecurityService, CookieConsent } from '@ontotext/workbench-api';\n\nconst ontoCookieConsentCss = \".cookie-consent-modal{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);padding:20px;z-index:1050;width:100%}.cookie-consent-content{display:flex;justify-content:center;align-items:center}.cookie-consent-content button{margin-left:12px}.cookie-policy-modal{padding:24px 40px;overflow-y:auto}.cookie-policy-modal .modal-dialog{width:60% !important;max-width:60% !important}.cookie-policy-modal .title{font-size:xx-large;font-weight:bolder}.cookie-policy-modal .heading{font-size:x-large;font-weight:bolder;margin-top:12px}.cookie-policy-modal .subheading{font-size:large;font-weight:bolder;margin-top:8px}.cookie-policy-modal .text{font-size:math}\";\n\nconst OntoCookieConsent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.consentGiven = createEvent(this, \"consentGiven\");\n /** State to control the visibility of the cookie policy modal */\n this.showModal = false;\n /**\n * Opens the cookie policy modal.\n * @param {Event} event - The event that triggered the modal opening.\n */\n this.openModal = (event) => {\n event.preventDefault();\n this.showModal = true;\n };\n /**\n * Handles the click event on the consent button.\n * Emits the consentGiven event.\n */\n this.handleConsentClick = () => {\n this.consentGiven.emit();\n };\n }\n /**\n * Closes the cookie policy dialog.\n * This method is called when the dialog is closed.\n */\n // eslint-disable-next-line @stencil-community/own-methods-must-be-private\n onDialogClose() {\n this.showModal = false;\n }\n render() {\n return (h(Host, { key: 'dba3fc373e9ad60ada7f86d11acbe1b1ed24a92d' }, h(\"div\", { key: '414c970a3a4b263e8f3f5d066dc8bb22b8194c48', class: \"cookie-consent-modal\" }, h(\"section\", { key: '6a1cccadb167b301738fb6a453b7d300e93ba18b', class: \"cookie-consent-content\" }, h(\"span\", { key: '1b60fbb2c50049e568ac0cc34875a0df388ea176' }, h(\"translate-label\", { key: 'f64506a6ea5d01ac231a3f06377c84654cf8e0c7', labelKey: 'cookie.cookie_consent' }), h(\"a\", { key: 'bd467bae7911ec9248f6296a655651fee07db73c', id: \"cookie-policy-link\", href: \"#\", onClick: this.openModal, class: \"btn btn-link p-0\" }, h(\"translate-label\", { key: '3c43ff2eb701200253fffb1c17f53355f52af11a', labelKey: 'cookie.cookie_policy_url_label' })), \".\"), h(\"button\", { key: '6a6c6029a325cd39fbdf0b74c3bd2ca6157f81ae', id: \"accept-cookie-policy\", class: \"onto-btn onto-btn-primary\", onClick: this.handleConsentClick }, h(\"translate-label\", { key: 'b7dfb20b211927f2aec4199beb35e582768db96c', labelKey: 'common.button.ok' })))), this.showModal && h(\"onto-cookie-policy-dialog\", { key: 'b3a905894b4683b6b7b45809f1e97139cd998088', dialogHandler: this })));\n }\n};\nOntoCookieConsent.style = ontoCookieConsentCss;\n\nconst ontoCookiePolicyDialogCss = \"section h4{font-size:x-large;font-weight:bolder;margin-top:12px}\";\n\nvar CookieType;\n(function (CookieType) {\n CookieType[\"THIRD_PARTY\"] = \"thirdParty\";\n CookieType[\"STATISTIC\"] = \"statistic\";\n})(CookieType || (CookieType = {}));\nconst OntoCookiePolicyDialog = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.user = ServiceProvider.get(SecurityContextService).getAuthenticatedUser();\n this.securityService = ServiceProvider.get(SecurityService);\n }\n toggleChanged(event) {\n this.setUserCookieConsent(this.updateCookieConsent(event.detail));\n this.securityService.updateUserData(this.user)\n .catch(console.error);\n }\n render() {\n var _a, _b;\n const config = {\n dialogTitle: TranslationService.translate('cookie.policy.title'),\n onClose: () => this.dialogHandler.onDialogClose(),\n modalClass: 'cookie-policy-modal',\n };\n const cookieConsent = new CookieConsent((_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.appSettings) === null || _b === void 0 ? void 0 : _b.COOKIE_CONSENT);\n return (h(\"onto-dialog\", { key: '5c9716eebf02b30a51d90af98775d7e183618290', config: config }, h(\"div\", { key: 'afdaebff817f24cfda4bafbcc386a741f7907674', slot: 'body' }, h(\"section\", { key: '5387b27738aaba232f3646a1a71fbe1bc7b5332f' }, h(\"h4\", { key: 'ab64a92c9e72bfa48868b5e8e8055eb674e40eda' }, h(\"translate-label\", { key: 'b7f62e750e65a6d354e2f3bc9bfaf6d5eca304d4', labelKey: 'cookie.policy.purpose_heading' })), h(\"p\", { key: '0354cbaf054caa4680d548f33434bbee4527c40e' }, h(\"translate-label\", { key: '69c60946be613dea36d2690d287e645edb71483a', labelKey: 'cookie.policy.purpose_text' })), h(\"p\", { key: '055e50c6a516413f46a35c7b85952e4aa1a9f9df' }, h(\"translate-label\", { key: '70857b357e74bb7dfb8c384883668c8b2482ca4a', labelKey: 'cookie.policy.purpose_enterprise_text' }))), h(\"section\", { key: '6e71eb5aae17c6da27bf257cae2a0760860df5d1' }, h(\"h4\", { key: '83b3b663f46498e43c7ab30410de8f074243c3ae' }, h(\"translate-label\", { key: '2f6b5c9c10ace40140ecafbcd7d10709df14b1ab', labelKey: 'cookie.policy.privacy_commitment_heading' })), h(\"p\", { key: '09f6d19d59629866fa3b21842831d392b9e555ec' }, h(\"translate-label\", { key: '4c8f23a3c88299a4fd5d390eaa4a7afa5862d9ad', labelKey: 'cookie.policy.privacy_commitment_text' })), h(\"ul\", { key: '09b90acc150cf43a9e59297b34657d9c0d6f58cf' }, h(\"li\", { key: '703ef7e25fb39d5d42980653b1fcf86d8a94557c' }, h(\"translate-label\", { key: 'df7d2a7233e3c18a068fa9058c3c193d3cd29aa9', labelKey: 'cookie.policy.privacy_commitment_1' })), h(\"li\", { key: '8d31ea369caab98410d1ca4d10ca56acbf712b4d' }, h(\"translate-label\", { key: '4cf9f87d207ae4a56f5ef25ad5e61ae49229a66d', labelKey: 'cookie.policy.privacy_commitment_2' })))), h(\"section\", { key: '11a8ff13f5ccf5ce1ee72a6ddd14f7a15aaf28a8' }, h(\"h4\", { key: '05c721ac41e0ce384336f36efbed649cdf3c8521' }, h(\"translate-label\", { key: '0311734172a238e9a34d5b646ce7226146ca4fb4', labelKey: 'cookie.policy.cookies_heading' })), h(\"p\", { key: '9b6348c8749b252e1308c2217753333d7f34510d' }, h(\"translate-label\", { key: 'ec1a61b4d8c13ade4a3596818916bd4fb0ea9250', labelKey: 'cookie.policy.cookies_text' }))), h(\"section\", { key: '0a56afdf911e56f1e857bd9c8141214b841cfab6' }, h(\"h4\", { key: '1aab64214b9a77114cd6a57ad32386dcc7361f92' }, h(\"translate-label\", { key: '124cd6d94ab003ee056b8f57a1550604500d2af8', labelKey: 'cookie.policy.manage_cookies_heading' })), h(\"onto-toggle-switch\", { key: 'd5e9c3008e8286bc6223fe46d955b8f40e229401', checked: cookieConsent === null || cookieConsent === void 0 ? void 0 : cookieConsent.statistic, labelKey: 'cookie.policy.statistic_cookies', tooltipTranslationKey: 'cookie.policy.statistic_tooltip', context: CookieType.STATISTIC }), h(\"p\", { key: '950ed4231c70d11951d75d5c7e2f4baa3b037a29' }, h(\"translate-label\", { key: '89d34f7bdedcb706c873f14d7cab5cc3d7c02f24', labelKey: 'cookie.policy.statistic_text' })), h(\"onto-toggle-switch\", { key: 'ec5ad346c46f236b53738df40661b39581441c76', checked: cookieConsent === null || cookieConsent === void 0 ? void 0 : cookieConsent.thirdParty, labelKey: 'cookie.policy.third_party_cookies', tooltipTranslationKey: 'cookie.policy.third_party_tooltip', context: CookieType.THIRD_PARTY }), h(\"p\", { key: 'dcb9444ad459d3ae88200c4d6aabb60ac32ac0b2' }, h(\"translate-label\", { key: '7f8f517ed2b9eb396cda52247f93e2269e081169', labelKey: 'cookie.policy.third_party_cookies_text' }))), h(\"p\", { key: 'bd784e85cfbd3189e52ce75159a7c2727c8b71bc' }, h(\"span\", { key: '5cd30d116bf907e58ee72b5b9d87c46895287085' }, h(\"translate-label\", { key: 'bc7ef9a8f755ec932c93eb6f37f47646c3d9d4db', labelKey: 'cookie.policy.change_cookies' }), h(\"i\", { key: 'f77778f441780569f9519112b54827f64ef45c4b' }, \"\\u00A0\", h(\"translate-label\", { key: '327b6accb62caf5075e2d7d5191b55a375cbd7e8', labelKey: 'menu.setup.label' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: 'f4d1aa6a0ff386f5dcc91644c444c0cbdb31de93', labelKey: 'menu.my.settings.label' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: '6addb466067cca060041f13085d1bad6d8dada18', labelKey: 'security.user.settings' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: '40348ad073e5b407aa077a64ac19c4a4fcd5deec', labelKey: 'cookie.policy.change_cookies_location4' }), \"\\u00A0\"))))));\n }\n updateCookieConsent(payload) {\n var _a, _b;\n const cookieConsent = new CookieConsent((_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.appSettings) === null || _b === void 0 ? void 0 : _b.COOKIE_CONSENT);\n // Context is either 'thirdParty' or 'statistic'\n cookieConsent[payload.context] = payload.checked;\n cookieConsent.updatedAt = new Date().getTime();\n return cookieConsent;\n }\n setUserCookieConsent(cookieConsent) {\n if (!this.user.appSettings) {\n this.user.appSettings = {};\n }\n this.user.appSettings.COOKIE_CONSENT = cookieConsent;\n }\n};\nOntoCookiePolicyDialog.style = ontoCookiePolicyDialogCss;\n\nexport { OntoCookieConsent as onto_cookie_consent, OntoCookiePolicyDialog as onto_cookie_policy_dialog };\n","import { ServiceProvider, LanguageContextService } from '@ontotext/workbench-api';\n\nfunction sanitizeHTML(html) {\n const element = document.createElement('textarea');\n element.innerHTML = html;\n return element.value;\n}\n\n/**\n * Service responsible for translation operations in the component.\n */\nclass TranslationServiceClassDefinition {\n constructor() {\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.translationChangedObservers = {};\n // log with background color\n this.defaultBundle = this.languageContextService.getDefaultBundle();\n this.subscribeToBundleChange();\n }\n /**\n * Translates the <code>messageLabelKey</code> with <code>translationParameter</code> and call <code>translationCallback</code> with translation of current language.\n * The <code>translationCallback</code> is called upon subscription and whenever the selected language is changed.\n *\n * @param messageLabelKey - The label key for the translation.\n * @param translationParameter - Parameters, if needed, for translation.\n * @param translationCallback - A function to be called when translating the `messageLabelKey`.\n * @returns A function that, when called, unsubscribes the provided callback from further translation updates.\n */\n onTranslate(messageLabelKey, translationParameter = [], translationCallback = () => { }) {\n this.translationChangedObservers[messageLabelKey] = this.translationChangedObservers[messageLabelKey] || [];\n const observer = { parameters: translationParameter, callback: translationCallback };\n this.translationChangedObservers[messageLabelKey].push(observer);\n translationCallback(this.translate(messageLabelKey, translationParameter));\n return () => {\n const index = this.translationChangedObservers[messageLabelKey].indexOf(observer);\n if (index !== -1) {\n this.translationChangedObservers[messageLabelKey].splice(index, 1);\n }\n };\n }\n /**\n * Translates the provided key using the currently selected language by applying the parameters if\n * provided.\n * @param key The key for the label which needs to be translated.\n * @param parameters Optional parameters which to be applied during the translation.\n */\n translate(key, parameters) {\n return this.translateInLocale(key, parameters);\n }\n /**\n * Translates a given key into the specified locale. If parameters are provided,\n * they will be applied to the translation.\n *\n * @param key - The translation key, which can be dot-separated for nested translations.\n * @param parameters - Optional parameters to be substituted into the translation string.\n * @returns The translated string with parameters applied if available, or the key itself if not found.\n */\n translateInLocale(key, parameters) {\n // Attempt to retrieve the translation from the specified locale's bundle.\n let translation = this.translateFromBundle(this.currentBundle, key);\n // If not found, fall back to the default language bundle.\n if (!translation) {\n translation = this.translateFromBundle(this.defaultBundle, key);\n }\n // If translation was found, apply any parameters provided and return the result.\n if (translation) {\n translation = this.applyParameters(translation, parameters);\n return sanitizeHTML(translation);\n }\n console.warn(`Missing translation for key: [${key}]`);\n return key;\n }\n /**\n * Retrieves a translation from a specified translation bundle using the given key.\n * If the key represents a nested JSON path, it attempts to resolve the key as such.\n *\n * @param bundle - The translation bundle for the specified locale.\n * @param key - The key to translate, which may be a simple key or dot-separated for nested keys.\n * @returns The translation string if found, or `undefined` if not available.\n */\n translateFromBundle(bundle, key) {\n if (!bundle) {\n return undefined;\n }\n // Try to retrieve the translation directly if it is defined as a whole string,\n // for instance as \"some_function.btn.label\".\n let translation = bundle[key];\n // If not found, attempt to retrieve the translation if it is defined as a JSON object.\n if (typeof translation !== 'string') {\n translation = this.translateAsJsonObject(bundle, key);\n }\n return translation;\n }\n /**\n * Resolves a nested translation key by treating it as a path in a JSON object.\n * For example, if the key is \"some.key.path\", this method will navigate through\n * the JSON object structure to retrieve the value at that path.\n *\n * @param bundle - The translation bundle containing nested keys.\n * @param key - The dot-separated key representing the path to the translation.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n translateAsJsonObject(bundle, key) {\n let path = key.split('.');\n return this.getTranslation(bundle, path);\n }\n /**\n * Recursively navigates through a JSON object based on a path array to retrieve\n * a translation string. Each element in the path array represents a nested key.\n *\n * @param jsonObject - The current JSON object or nested object being searched.\n * @param path - An array representing the path to the translation, where each element is a key.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n getTranslation(jsonObject, path) {\n // Stop the recursion if path or reach the inner element\n if (!path || !jsonObject) {\n return undefined;\n }\n const jsonOrTranslation = jsonObject[path.splice(0, 1)[0]];\n if (path.length === 0) {\n return jsonOrTranslation;\n }\n if (typeof jsonOrTranslation !== 'string') {\n // continue if the inner element is not reached.\n if (path.length > 0) {\n return this.getTranslation(jsonOrTranslation, path);\n }\n return jsonOrTranslation;\n }\n return undefined;\n }\n applyParameters(translation, parameters) {\n if (parameters) {\n return parameters.reduce(\n // replace all occurrence of parameter key with parameter value.\n (translation, parameter) => TranslationServiceClassDefinition.replaceAll(translation, parameter), translation);\n }\n return translation;\n }\n static replaceAll(translation, parameter) {\n return parameter ? translation.split(`{{${parameter.key}}}`).join(parameter.value) : translation;\n }\n notifyTranslationsChanged() {\n Object.keys(this.translationChangedObservers).forEach((eventName) => {\n const observers = this.translationChangedObservers[eventName] || [];\n observers.forEach((observer) => observer.callback(this.translate(eventName, observer.parameters)));\n });\n }\n subscribeToBundleChange() {\n this.languageChangeSubscription = this.languageContextService.onLanguageBundleChanged((bundle) => {\n if (bundle) {\n this.currentBundle = bundle;\n this.notifyTranslationsChanged();\n }\n });\n }\n destroy() {\n if (this.languageChangeSubscription) {\n this.languageChangeSubscription();\n }\n }\n}\nconst TranslationService = new TranslationServiceClassDefinition();\n\nexport { TranslationService as T, sanitizeHTML as s };\n"],"names":["OntoCookieConsent","constructor","hostRef","registerInstance","this","consentGiven","createEvent","showModal","openModal","event","preventDefault","handleConsentClick","emit","onDialogClose","render","h","Host","key","class","labelKey","id","href","onClick","dialogHandler","CookieType","style","OntoCookiePolicyDialog","user","ServiceProvider","get","SecurityContextService","getAuthenticatedUser","securityService","SecurityService","toggleChanged","setUserCookieConsent","updateCookieConsent","detail","updateUserData","catch","console","error","_a","_b","config","dialogTitle","TranslationService","translate","onClose","modalClass","cookieConsent","CookieConsent","appSettings","COOKIE_CONSENT","slot","checked","statistic","tooltipTranslationKey","context","STATISTIC","thirdParty","THIRD_PARTY","payload","updatedAt","Date","getTime","sanitizeHTML","html","element","document","createElement","innerHTML","value","TranslationServiceClassDefinition","languageContextService","LanguageContextService","translationChangedObservers","defaultBundle","getDefaultBundle","subscribeToBundleChange","onTranslate","messageLabelKey","translationParameter","translationCallback","observer","parameters","callback","push","index","indexOf","splice","translateInLocale","translation","translateFromBundle","currentBundle","applyParameters","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","length","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","forEach","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy"],"sourceRoot":""}
1
+ {"version":3,"file":"60560.37740d97b418899a5d21.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-cookie-consent_2.entry.js","webpack://root-config/./packages/shared-components/dist/esm/translation.service-Hf6024E7.js"],"sourcesContent":["import { r as registerInstance, c as createEvent, h, a as Host } from './index-I_gcXFWK.js';\nimport { T as TranslationService } from './translation.service-Hf6024E7.js';\nimport { ServiceProvider, SecurityContextService, SecurityService, CookieConsent } from '@ontotext/workbench-api';\n\nconst ontoCookieConsentCss = \".cookie-consent-modal{position:fixed;bottom:0;left:0;right:0;background-color:#fff;box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1);padding:20px;z-index:1050;width:100%}.cookie-consent-content{display:flex;justify-content:center;align-items:center}.cookie-consent-content button{margin-left:12px}.cookie-policy-modal{padding:24px 40px;overflow-y:auto}.cookie-policy-modal .modal-dialog{width:60% !important;max-width:60% !important}.cookie-policy-modal .title{font-size:xx-large;font-weight:bolder}.cookie-policy-modal .heading{font-size:x-large;font-weight:bolder;margin-top:12px}.cookie-policy-modal .subheading{font-size:large;font-weight:bolder;margin-top:8px}.cookie-policy-modal .text{font-size:math}\";\n\nconst OntoCookieConsent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.consentGiven = createEvent(this, \"consentGiven\");\n /** State to control the visibility of the cookie policy modal */\n this.showModal = false;\n /**\n * Opens the cookie policy modal.\n * @param {Event} event - The event that triggered the modal opening.\n */\n this.openModal = (event) => {\n event.preventDefault();\n this.showModal = true;\n };\n /**\n * Handles the click event on the consent button.\n * Emits the consentGiven event.\n */\n this.handleConsentClick = () => {\n this.consentGiven.emit();\n };\n }\n /**\n * Closes the cookie policy dialog.\n * This method is called when the dialog is closed.\n */\n // eslint-disable-next-line @stencil-community/own-methods-must-be-private\n onDialogClose() {\n this.showModal = false;\n }\n render() {\n return (h(Host, { key: 'dba3fc373e9ad60ada7f86d11acbe1b1ed24a92d' }, h(\"div\", { key: '414c970a3a4b263e8f3f5d066dc8bb22b8194c48', class: \"cookie-consent-modal\" }, h(\"section\", { key: '6a1cccadb167b301738fb6a453b7d300e93ba18b', class: \"cookie-consent-content\" }, h(\"span\", { key: 'aa62410b522125feeb48eaa568a78c761e6b9596' }, h(\"translate-label\", { key: '0696068c1aa8738bb3ddf0e548d9140ba12609e1', labelKey: 'cookie.cookie_consent' }), h(\"a\", { key: 'efd9792a6a424b86606b3904615c53f19a2cdb6e', id: \"cookie-policy-link\", href: \"#\", onClick: this.openModal, class: \"btn btn-link p-0\" }, h(\"translate-label\", { key: '12e95d1446f81b47c973e285ee71da5fbfa4934f', labelKey: 'cookie.cookie_policy_url_label' })), \".\"), h(\"button\", { key: 'a91e7d9e7eddef1b50d82570f4211a0e1e1ae7b0', id: \"accept-cookie-policy\", class: \"onto-btn onto-btn-primary\", onClick: this.handleConsentClick }, h(\"translate-label\", { key: '5ca81d4f299a7b7f13ed0f77ac7d1ceaeaad318a', labelKey: 'common.button.ok' })))), this.showModal && h(\"onto-cookie-policy-dialog\", { key: 'e54d3f134771ff5f59a288d0d6c9949c6f59567f', dialogHandler: this })));\n }\n};\nOntoCookieConsent.style = ontoCookieConsentCss;\n\nconst ontoCookiePolicyDialogCss = \"section h4{font-size:x-large;font-weight:bolder;margin-top:12px}\";\n\nvar CookieType;\n(function (CookieType) {\n CookieType[\"THIRD_PARTY\"] = \"thirdParty\";\n CookieType[\"STATISTIC\"] = \"statistic\";\n})(CookieType || (CookieType = {}));\nconst OntoCookiePolicyDialog = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.user = ServiceProvider.get(SecurityContextService).getAuthenticatedUser();\n this.securityService = ServiceProvider.get(SecurityService);\n }\n toggleChanged(event) {\n this.setUserCookieConsent(this.updateCookieConsent(event.detail));\n this.securityService.updateUserData(this.user)\n .catch(console.error);\n }\n render() {\n var _a, _b;\n const config = {\n dialogTitle: TranslationService.translate('cookie.policy.title'),\n onClose: () => this.dialogHandler.onDialogClose(),\n modalClass: 'cookie-policy-modal',\n };\n const cookieConsent = new CookieConsent((_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.appSettings) === null || _b === void 0 ? void 0 : _b.COOKIE_CONSENT);\n return (h(\"onto-dialog\", { key: '5c9716eebf02b30a51d90af98775d7e183618290', config: config }, h(\"div\", { key: 'afdaebff817f24cfda4bafbcc386a741f7907674', slot: 'body' }, h(\"section\", { key: '5387b27738aaba232f3646a1a71fbe1bc7b5332f' }, h(\"h4\", { key: 'ab64a92c9e72bfa48868b5e8e8055eb674e40eda' }, h(\"translate-label\", { key: 'b7f62e750e65a6d354e2f3bc9bfaf6d5eca304d4', labelKey: 'cookie.policy.purpose_heading' })), h(\"p\", { key: '0354cbaf054caa4680d548f33434bbee4527c40e' }, h(\"translate-label\", { key: '69c60946be613dea36d2690d287e645edb71483a', labelKey: 'cookie.policy.purpose_text' })), h(\"p\", { key: '055e50c6a516413f46a35c7b85952e4aa1a9f9df' }, h(\"translate-label\", { key: '70857b357e74bb7dfb8c384883668c8b2482ca4a', labelKey: 'cookie.policy.purpose_enterprise_text' }))), h(\"section\", { key: '6e71eb5aae17c6da27bf257cae2a0760860df5d1' }, h(\"h4\", { key: '83b3b663f46498e43c7ab30410de8f074243c3ae' }, h(\"translate-label\", { key: '2f6b5c9c10ace40140ecafbcd7d10709df14b1ab', labelKey: 'cookie.policy.privacy_commitment_heading' })), h(\"p\", { key: '09f6d19d59629866fa3b21842831d392b9e555ec' }, h(\"translate-label\", { key: '4c8f23a3c88299a4fd5d390eaa4a7afa5862d9ad', labelKey: 'cookie.policy.privacy_commitment_text' })), h(\"ul\", { key: '09b90acc150cf43a9e59297b34657d9c0d6f58cf' }, h(\"li\", { key: '703ef7e25fb39d5d42980653b1fcf86d8a94557c' }, h(\"translate-label\", { key: 'df7d2a7233e3c18a068fa9058c3c193d3cd29aa9', labelKey: 'cookie.policy.privacy_commitment_1' })), h(\"li\", { key: '8d31ea369caab98410d1ca4d10ca56acbf712b4d' }, h(\"translate-label\", { key: '4cf9f87d207ae4a56f5ef25ad5e61ae49229a66d', labelKey: 'cookie.policy.privacy_commitment_2' })))), h(\"section\", { key: '11a8ff13f5ccf5ce1ee72a6ddd14f7a15aaf28a8' }, h(\"h4\", { key: '05c721ac41e0ce384336f36efbed649cdf3c8521' }, h(\"translate-label\", { key: '0311734172a238e9a34d5b646ce7226146ca4fb4', labelKey: 'cookie.policy.cookies_heading' })), h(\"p\", { key: '9b6348c8749b252e1308c2217753333d7f34510d' }, h(\"translate-label\", { key: 'ec1a61b4d8c13ade4a3596818916bd4fb0ea9250', labelKey: 'cookie.policy.cookies_text' }))), h(\"section\", { key: '0a56afdf911e56f1e857bd9c8141214b841cfab6' }, h(\"h4\", { key: '1aab64214b9a77114cd6a57ad32386dcc7361f92' }, h(\"translate-label\", { key: '124cd6d94ab003ee056b8f57a1550604500d2af8', labelKey: 'cookie.policy.manage_cookies_heading' })), h(\"onto-toggle-switch\", { key: '5cd4f7185729ac4741a1128b9be06d31ac7d7779', checked: cookieConsent === null || cookieConsent === void 0 ? void 0 : cookieConsent.statistic, labelKey: 'cookie.policy.statistic_cookies', tooltipTranslationKey: 'cookie.policy.statistic_tooltip', context: CookieType.STATISTIC }), h(\"p\", { key: 'e4605b7731672924542ff9578bb7a4d631822927' }, h(\"translate-label\", { key: '3f119b863505286c2627a4f40327f81173c7df09', labelKey: 'cookie.policy.statistic_text' })), h(\"onto-toggle-switch\", { key: '12b41157eced1f90357f3e9780cd36694f2903e7', checked: cookieConsent === null || cookieConsent === void 0 ? void 0 : cookieConsent.thirdParty, labelKey: 'cookie.policy.third_party_cookies', tooltipTranslationKey: 'cookie.policy.third_party_tooltip', context: CookieType.THIRD_PARTY }), h(\"p\", { key: '1c93b76d442412854746e6aa75891a4a26664d88' }, h(\"translate-label\", { key: '52f2a72c222f2195b034c9e082b3848638382663', labelKey: 'cookie.policy.third_party_cookies_text' }))), h(\"p\", { key: '0a5b47d04abdec566b262fe469c30586f24f1b3e' }, h(\"span\", { key: 'aabe70fb4f363aa7e1ce8db10c38215bc61ddbb9' }, h(\"translate-label\", { key: 'b05702891f3c98aa7a404171a7db2fa77748d789', labelKey: 'cookie.policy.change_cookies' }), h(\"i\", { key: '24915a3359d6dfe55ff690035a2065f11178344a' }, \"\\u00A0\", h(\"translate-label\", { key: '1e2318b63e72bc275ae3f6622a7a194d9d0b643e', labelKey: 'menu.setup.label' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: '24003f231854abb864c935f2931439dcf87c715f', labelKey: 'menu.my.settings.label' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: 'b6dd2de94d005f6b6ad6495d680b66b11c02a035', labelKey: 'security.user.settings' }), \"\\u00A0>\\u00A0\", h(\"translate-label\", { key: '259fe2888ca703acc53ca90036686f8ba5cbc25d', labelKey: 'cookie.policy.change_cookies_location4' }), \"\\u00A0\"))))));\n }\n updateCookieConsent(payload) {\n var _a, _b;\n const cookieConsent = new CookieConsent((_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.appSettings) === null || _b === void 0 ? void 0 : _b.COOKIE_CONSENT);\n // Context is either 'thirdParty' or 'statistic'\n cookieConsent[payload.context] = payload.checked;\n cookieConsent.updatedAt = new Date().getTime();\n return cookieConsent;\n }\n setUserCookieConsent(cookieConsent) {\n if (!this.user.appSettings) {\n this.user.appSettings = {};\n }\n this.user.appSettings.COOKIE_CONSENT = cookieConsent;\n }\n};\nOntoCookiePolicyDialog.style = ontoCookiePolicyDialogCss;\n\nexport { OntoCookieConsent as onto_cookie_consent, OntoCookiePolicyDialog as onto_cookie_policy_dialog };\n","import { ServiceProvider, LanguageContextService } from '@ontotext/workbench-api';\n\nfunction sanitizeHTML(html) {\n const element = document.createElement('textarea');\n element.innerHTML = html;\n return element.value;\n}\n\n/**\n * Service responsible for translation operations in the component.\n */\nclass TranslationServiceClassDefinition {\n constructor() {\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.translationChangedObservers = {};\n // log with background color\n this.defaultBundle = this.languageContextService.getDefaultBundle();\n this.subscribeToBundleChange();\n }\n /**\n * Translates the <code>messageLabelKey</code> with <code>translationParameter</code> and call <code>translationCallback</code> with translation of current language.\n * The <code>translationCallback</code> is called upon subscription and whenever the selected language is changed.\n *\n * @param messageLabelKey - The label key for the translation.\n * @param translationParameter - Parameters, if needed, for translation.\n * @param translationCallback - A function to be called when translating the `messageLabelKey`.\n * @returns A function that, when called, unsubscribes the provided callback from further translation updates.\n */\n onTranslate(messageLabelKey, translationParameter = [], translationCallback = () => { }) {\n this.translationChangedObservers[messageLabelKey] = this.translationChangedObservers[messageLabelKey] || [];\n const observer = { parameters: translationParameter, callback: translationCallback };\n this.translationChangedObservers[messageLabelKey].push(observer);\n translationCallback(this.translate(messageLabelKey, translationParameter));\n return () => {\n const index = this.translationChangedObservers[messageLabelKey].indexOf(observer);\n if (index !== -1) {\n this.translationChangedObservers[messageLabelKey].splice(index, 1);\n }\n };\n }\n /**\n * Translates the provided key using the currently selected language by applying the parameters if\n * provided.\n * @param key The key for the label which needs to be translated.\n * @param parameters Optional parameters which to be applied during the translation.\n */\n translate(key, parameters) {\n return this.translateInLocale(key, parameters);\n }\n /**\n * Translates a given key into the specified locale. If parameters are provided,\n * they will be applied to the translation.\n *\n * @param key - The translation key, which can be dot-separated for nested translations.\n * @param parameters - Optional parameters to be substituted into the translation string.\n * @returns The translated string with parameters applied if available, or the key itself if not found.\n */\n translateInLocale(key, parameters) {\n // Attempt to retrieve the translation from the specified locale's bundle.\n let translation = this.translateFromBundle(this.currentBundle, key);\n // If not found, fall back to the default language bundle.\n if (!translation) {\n translation = this.translateFromBundle(this.defaultBundle, key);\n }\n // If translation was found, apply any parameters provided and return the result.\n if (translation) {\n translation = this.applyParameters(translation, parameters);\n return sanitizeHTML(translation);\n }\n console.warn(`Missing translation for key: [${key}]`);\n return key;\n }\n /**\n * Retrieves a translation from a specified translation bundle using the given key.\n * If the key represents a nested JSON path, it attempts to resolve the key as such.\n *\n * @param bundle - The translation bundle for the specified locale.\n * @param key - The key to translate, which may be a simple key or dot-separated for nested keys.\n * @returns The translation string if found, or `undefined` if not available.\n */\n translateFromBundle(bundle, key) {\n if (!bundle) {\n return undefined;\n }\n // Try to retrieve the translation directly if it is defined as a whole string,\n // for instance as \"some_function.btn.label\".\n let translation = bundle[key];\n // If not found, attempt to retrieve the translation if it is defined as a JSON object.\n if (typeof translation !== 'string') {\n translation = this.translateAsJsonObject(bundle, key);\n }\n return translation;\n }\n /**\n * Resolves a nested translation key by treating it as a path in a JSON object.\n * For example, if the key is \"some.key.path\", this method will navigate through\n * the JSON object structure to retrieve the value at that path.\n *\n * @param bundle - The translation bundle containing nested keys.\n * @param key - The dot-separated key representing the path to the translation.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n translateAsJsonObject(bundle, key) {\n let path = key.split('.');\n return this.getTranslation(bundle, path);\n }\n /**\n * Recursively navigates through a JSON object based on a path array to retrieve\n * a translation string. Each element in the path array represents a nested key.\n *\n * @param jsonObject - The current JSON object or nested object being searched.\n * @param path - An array representing the path to the translation, where each element is a key.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n getTranslation(jsonObject, path) {\n // Stop the recursion if path or reach the inner element\n if (!path || !jsonObject) {\n return undefined;\n }\n const jsonOrTranslation = jsonObject[path.splice(0, 1)[0]];\n if (path.length === 0) {\n return jsonOrTranslation;\n }\n if (typeof jsonOrTranslation !== 'string') {\n // continue if the inner element is not reached.\n if (path.length > 0) {\n return this.getTranslation(jsonOrTranslation, path);\n }\n return jsonOrTranslation;\n }\n return undefined;\n }\n applyParameters(translation, parameters) {\n if (parameters) {\n return parameters.reduce(\n // replace all occurrence of parameter key with parameter value.\n (translation, parameter) => TranslationServiceClassDefinition.replaceAll(translation, parameter), translation);\n }\n return translation;\n }\n static replaceAll(translation, parameter) {\n return parameter ? translation.split(`{{${parameter.key}}}`).join(parameter.value) : translation;\n }\n notifyTranslationsChanged() {\n Object.keys(this.translationChangedObservers).forEach((eventName) => {\n const observers = this.translationChangedObservers[eventName] || [];\n observers.forEach((observer) => observer.callback(this.translate(eventName, observer.parameters)));\n });\n }\n subscribeToBundleChange() {\n this.languageChangeSubscription = this.languageContextService.onLanguageBundleChanged((bundle) => {\n if (bundle) {\n this.currentBundle = bundle;\n this.notifyTranslationsChanged();\n }\n });\n }\n destroy() {\n if (this.languageChangeSubscription) {\n this.languageChangeSubscription();\n }\n }\n}\nconst TranslationService = new TranslationServiceClassDefinition();\n\nexport { TranslationService as T, sanitizeHTML as s };\n"],"names":["OntoCookieConsent","constructor","hostRef","registerInstance","this","consentGiven","createEvent","showModal","openModal","event","preventDefault","handleConsentClick","emit","onDialogClose","render","h","Host","key","class","labelKey","id","href","onClick","dialogHandler","CookieType","style","OntoCookiePolicyDialog","user","ServiceProvider","get","SecurityContextService","getAuthenticatedUser","securityService","SecurityService","toggleChanged","setUserCookieConsent","updateCookieConsent","detail","updateUserData","catch","console","error","_a","_b","config","dialogTitle","TranslationService","translate","onClose","modalClass","cookieConsent","CookieConsent","appSettings","COOKIE_CONSENT","slot","checked","statistic","tooltipTranslationKey","context","STATISTIC","thirdParty","THIRD_PARTY","payload","updatedAt","Date","getTime","sanitizeHTML","html","element","document","createElement","innerHTML","value","TranslationServiceClassDefinition","languageContextService","LanguageContextService","translationChangedObservers","defaultBundle","getDefaultBundle","subscribeToBundleChange","onTranslate","messageLabelKey","translationParameter","translationCallback","observer","parameters","callback","push","index","indexOf","splice","translateInLocale","translation","translateFromBundle","currentBundle","applyParameters","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","length","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","forEach","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"file":"67232.e76f40f9d09e64ebb365.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/core/plugin.js"],"sourcesContent":["const BASIC_STEP = {\n title: '',\n content: '',\n elementSelector: undefined,\n placement: 'bottom',\n url: undefined,\n type: 'read-only-element',\n maxWaitTime: 3,\n canBePaused: true,\n onNextClick: undefined,\n disablePreviousFlow: true,\n onNextValidate: () => Promise.resolve(true),\n onPreviousClick: undefined,\n skipPoint: false,\n class: ''\n};\n\n/**\n * This function will be called before show a step. Step will be shown after promise is resolve. It waits element of step to be visible on the page.\n * @param {*} services\n * @param {string} elementSelector\n * @param {number} maxWaitTime\n * @return {function(): *}\n */\nconst beforeShowPromise = (services, elementSelector, maxWaitTime) => {\n return () => {\n return services.GuideUtils.waitFor(elementSelector, maxWaitTime)\n .catch((error) => {\n // error is caught just to show notification in generic way.\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n // throw the error, otherwise guide will continue with the next step.\n throw error;\n });\n };\n};\n\nconst createCopyToInputListener = (elementSelector, text) => {\n return (event) => {\n event.preventDefault();\n const inputElement = document.querySelector(elementSelector);\n inputElement.value = text;\n inputElement.dispatchEvent(new Event('input', {bubbles: true}));\n };\n};\n\n/**\n * List of common DOM events to consider for interaction control.\n * @type {string[]}\n */\nconst COMMON_DOM_EVENTS = [\n 'click',\n 'dblclick',\n 'keydown',\n 'keypress',\n 'keyup',\n 'input',\n 'submit',\n 'scroll',\n 'wheel'\n]\nconst SCROLL_EVENTS = ['scroll', 'wheel'];\n\n/**\n * Configures an element interactability, by consuming events and preventing them from propagating.\n * This allows to keep scrolling, while disallowing interaction with other elements\n * (such as clicking buttons).\n * @param {string[]} allowedEvents - List of event types to allow.\n * @param interactable - true to make the element interactable, false to make it non interactable\n * @param elementSelector - the elementSelector\n * @param services - The services object\n */\nconst _configureInteractions = (allowedEvents, interactable, elementSelector, services) => () => {\n if (!elementSelector) {\n return;\n }\n\n services.GuideUtils.getOrWaitFor(elementSelector)\n .then((element) => {\n const eventsToPrevent = COMMON_DOM_EVENTS.filter(event => !allowedEvents.includes(event));\n if (interactable) {\n eventsToPrevent.forEach((event) => element.removeEventListener(event, preventDefault, true));\n } else {\n eventsToPrevent.forEach((event) => element.addEventListener(event, preventDefault, true));\n }\n })\n}\n\n/**\n * Enables all interactions on the specified element.\n *\n * @param {string} elementSelector - A CSS selector identifying the target element.\n * @param {Object} services - An object containing utility services, including GuideUtils.\n */\nconst allowAll = (elementSelector, services) => _configureInteractions([], true, elementSelector, services);\n\n/**\n * Restricts the specified element to only process events listed in <code>allowedEvents</code>.\n *\n * @param {string[]} allowedEvents - An array of event types that should remain enabled.\n * @param {string} elementSelector - A CSS selector identifying the target element.\n * @param {Object} services - An object containing utility services, including GuideUtils.\n */\nconst allowEvents = (allowedEvents, elementSelector, services) => _configureInteractions(allowedEvents, false, elementSelector, services);\n\n/**\n * Prevents the default action of an event and stops its propagation.\n * @param {Event} event - The event to prevent.\n */\nconst preventDefault = (event) => {\n event.preventDefault();\n event.stopPropagation();\n}\n\nPluginRegistry.add('guide.step', [\n {\n // An element which is expected to be clicked. If onNextClick is not defined, it will automatically click on the element on next button press\n guideBlockName: 'clickable-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'clickable'\n };\n\n const stepDescription = angular.extend({}, BASIC_STEP, {\n advanceOn: {\n selector: options.clickableElementSelector || options.elementSelector,\n event: 'click'\n },\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n // An element which is expected to be focused. It allows user interaction.\n guideBlockName: 'focus-element',\n getStep: (options, services) => {\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n // An element which is expected to be focused, but interactions are disabled.\n guideBlockName: 'read-only-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n },\n options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n guideBlockName: 'scroll-only-element',\n getStep: (options, services) => {\n const stepDescription = {\n ...BASIC_STEP,\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n show: () => allowEvents(SCROLL_EVENTS, options.elementSelector, services),\n hide: () => allowAll(options.elementSelector, services),\n ...options\n };\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n guideBlockName: 'input-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'input'\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n guideBlockName: 'copy-text-element',\n getSteps: (options, services) => {\n const $translate = services.$translate;\n const GuideUtils = services.GuideUtils;\n\n const text = options.text;\n const code = document.createElement('code');\n code.innerText = text;\n\n const copy = document.createElement('button');\n const copyToInputQueryButtonClass = 'guide-copy-to-input-query-button';\n copy.className = `btn btn-sm btn-secondary ${copyToInputQueryButtonClass}`;\n copy.innerText = $translate.instant('guide.step_plugin.core-steps.copy-text-element.copy-to-input');\n\n\n let stepHTMLElement;\n const copyToInputListener = createCopyToInputListener(GuideUtils.getElementSelector(options.elementSelector), text);\n\n return [\n {\n guideBlockName: 'input-element',\n options: {\n ...options,\n content: 'guide.step_plugin.core-steps.copy-text-element.content',\n textAsHtmlCodeElement: '<div class=\"shepherd-code\">' + code.outerHTML + copy.outerHTML + '</div>',\n show: (_guide) => () => {\n stepHTMLElement = _guide.currentStep.el.querySelector(`.${copyToInputQueryButtonClass}`);\n stepHTMLElement.addEventListener('click', copyToInputListener);\n },\n hide: () => () => {\n if (stepHTMLElement) {\n stepHTMLElement.removeEventListener('click', copyToInputListener);\n }\n },\n }\n }\n ]\n }\n },\n {\n guideBlockName: 'info-message',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'hold-and-wait-until-hidden',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n onNextValidate: () => Promise.resolve(!services.GuideUtils.isVisible(options.elementSelectorToWait)),\n show: () => allowEvents(SCROLL_EVENTS, options.elementSelector, services),\n hide: () => allowAll(options.elementSelector, services)\n }, options);\n }\n },\n {\n guideBlockName: 'hold-and-wait-until-shown',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n onNextValidate: () => Promise.resolve(services.GuideUtils.isVisible(options.elementSelectorToWait))\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'wait-for-element-to-hide',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.waitUntilHidden(options.elementSelectorToHide, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide)\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next())\n }\n }, options);\n }\n },\n {\n guideBlockName: 'wait-for-element-to-show',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.getOrWaitFor(options.elementSelectorToShow, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide)\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next())\n }\n }, options);\n }\n },\n {\n guideBlockName: 'guide-end',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly',\n title: options.title || 'guide.step_plugin.guide-ended.title',\n content: options.content || 'guide.step_plugin.guide-ended.content',\n lastStep: true\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n }\n }\n]);\n"],"names":["BASIC_STEP","title","content","elementSelector","undefined","placement","url","type","maxWaitTime","canBePaused","onNextClick","disablePreviousFlow","onNextValidate","Promise","resolve","onPreviousClick","skipPoint","class","beforeShowPromise","services","GuideUtils","waitFor","catch","error","toastr","$translate","instant","COMMON_DOM_EVENTS","SCROLL_EVENTS","_configureInteractions","allowedEvents","interactable","getOrWaitFor","then","element","eventsToPrevent","filter","event","includes","forEach","removeEventListener","preventDefault","addEventListener","allowAll","allowEvents","stopPropagation","PluginRegistry","add","guideBlockName","getStep","options","stepDescription","angular","extend","advanceOn","selector","clickableElementSelector","initPreviousStep","defaultInitPreviousStep","show","hide","getSteps","text","code","document","createElement","innerText","copy","copyToInputQueryButtonClass","stepHTMLElement","className","copyToInputListener","createCopyToInputListener","inputElement","querySelector","value","dispatchEvent","Event","bubbles","getElementSelector","textAsHtmlCodeElement","outerHTML","_guide","currentStep","el","isVisible","elementSelectorToWait","guide","waitUntilHidden","elementSelectorToHide","timeToWait","ShepherdService","_abortGuide","setTimeout","next","elementSelectorToShow","notOverridable","lastStep"],"sourceRoot":""}
1
+ {"version":3,"file":"67232.e76f40f9d09e64ebb365.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/core/plugin.js"],"sourcesContent":["const BASIC_STEP = {\n title: '',\n content: '',\n elementSelector: undefined,\n placement: 'bottom',\n url: undefined,\n type: 'read-only-element',\n maxWaitTime: 3,\n canBePaused: true,\n onNextClick: undefined,\n disablePreviousFlow: true,\n onNextValidate: () => Promise.resolve(true),\n onPreviousClick: undefined,\n skipPoint: false,\n class: '',\n};\n\n/**\n * This function will be called before show a step. Step will be shown after promise is resolve. It waits element of step to be visible on the page.\n * @param {*} services\n * @param {string} elementSelector\n * @param {number} maxWaitTime\n * @return {function(): *}\n */\nconst beforeShowPromise = (services, elementSelector, maxWaitTime) => {\n return () => {\n return services.GuideUtils.waitFor(elementSelector, maxWaitTime)\n .catch((error) => {\n // error is caught just to show notification in generic way.\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n // throw the error, otherwise guide will continue with the next step.\n throw error;\n });\n };\n};\n\nconst createCopyToInputListener = (elementSelector, text) => {\n return (event) => {\n event.preventDefault();\n const inputElement = document.querySelector(elementSelector);\n inputElement.value = text;\n inputElement.dispatchEvent(new Event('input', {bubbles: true}));\n };\n};\n\n/**\n * List of common DOM events to consider for interaction control.\n * @type {string[]}\n */\nconst COMMON_DOM_EVENTS = [\n 'click',\n 'dblclick',\n 'keydown',\n 'keypress',\n 'keyup',\n 'input',\n 'submit',\n 'scroll',\n 'wheel',\n];\nconst SCROLL_EVENTS = ['scroll', 'wheel'];\n\n/**\n * Configures an element interactability, by consuming events and preventing them from propagating.\n * This allows to keep scrolling, while disallowing interaction with other elements\n * (such as clicking buttons).\n * @param {string[]} allowedEvents - List of event types to allow.\n * @param interactable - true to make the element interactable, false to make it non interactable\n * @param elementSelector - the elementSelector\n * @param services - The services object\n */\nconst _configureInteractions = (allowedEvents, interactable, elementSelector, services) => () => {\n if (!elementSelector) {\n return;\n }\n\n services.GuideUtils.getOrWaitFor(elementSelector)\n .then((element) => {\n const eventsToPrevent = COMMON_DOM_EVENTS.filter((event) => !allowedEvents.includes(event));\n if (interactable) {\n eventsToPrevent.forEach((event) => element.removeEventListener(event, preventDefault, true));\n } else {\n eventsToPrevent.forEach((event) => element.addEventListener(event, preventDefault, true));\n }\n });\n};\n\n/**\n * Enables all interactions on the specified element.\n *\n * @param {string} elementSelector - A CSS selector identifying the target element.\n * @param {Object} services - An object containing utility services, including GuideUtils.\n */\nconst allowAll = (elementSelector, services) => _configureInteractions([], true, elementSelector, services);\n\n/**\n * Restricts the specified element to only process events listed in <code>allowedEvents</code>.\n *\n * @param {string[]} allowedEvents - An array of event types that should remain enabled.\n * @param {string} elementSelector - A CSS selector identifying the target element.\n * @param {Object} services - An object containing utility services, including GuideUtils.\n */\nconst allowEvents = (allowedEvents, elementSelector, services) => _configureInteractions(allowedEvents, false, elementSelector, services);\n\n/**\n * Prevents the default action of an event and stops its propagation.\n * @param {Event} event - The event to prevent.\n */\nconst preventDefault = (event) => {\n event.preventDefault();\n event.stopPropagation();\n};\n\nPluginRegistry.add('guide.step', [\n {\n // An element which is expected to be clicked. If onNextClick is not defined, it will automatically click on the element on next button press\n guideBlockName: 'clickable-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'clickable',\n };\n\n const stepDescription = angular.extend({}, BASIC_STEP, {\n advanceOn: {\n selector: options.clickableElementSelector || options.elementSelector,\n event: 'click',\n },\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n }, options, notOverridable);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n },\n },\n {\n // An element which is expected to be focused. It allows user interaction.\n guideBlockName: 'focus-element',\n getStep: (options, services) => {\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n }, options);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n },\n },\n {\n // An element which is expected to be focused, but interactions are disabled.\n guideBlockName: 'read-only-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly',\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n },\n options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n },\n },\n {\n guideBlockName: 'scroll-only-element',\n getStep: (options, services) => {\n const stepDescription = {\n ...BASIC_STEP,\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n show: () => allowEvents(SCROLL_EVENTS, options.elementSelector, services),\n hide: () => allowAll(options.elementSelector, services),\n ...options,\n };\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n },\n },\n {\n guideBlockName: 'input-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'input',\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n }, options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n },\n },\n {\n guideBlockName: 'copy-text-element',\n getSteps: (options, services) => {\n const $translate = services.$translate;\n const GuideUtils = services.GuideUtils;\n\n const text = options.text;\n const code = document.createElement('code');\n code.innerText = text;\n\n const copy = document.createElement('button');\n const copyToInputQueryButtonClass = 'guide-copy-to-input-query-button';\n copy.className = `btn btn-sm btn-secondary ${copyToInputQueryButtonClass}`;\n copy.innerText = $translate.instant('guide.step_plugin.core-steps.copy-text-element.copy-to-input');\n\n\n let stepHTMLElement;\n const copyToInputListener = createCopyToInputListener(GuideUtils.getElementSelector(options.elementSelector), text);\n\n return [\n {\n guideBlockName: 'input-element',\n options: {\n ...options,\n content: 'guide.step_plugin.core-steps.copy-text-element.content',\n textAsHtmlCodeElement: '<div class=\"shepherd-code\">' + code.outerHTML + copy.outerHTML + '</div>',\n show: (_guide) => () => {\n stepHTMLElement = _guide.currentStep.el.querySelector(`.${copyToInputQueryButtonClass}`);\n stepHTMLElement.addEventListener('click', copyToInputListener);\n },\n hide: () => () => {\n if (stepHTMLElement) {\n stepHTMLElement.removeEventListener('click', copyToInputListener);\n }\n },\n },\n },\n ];\n },\n },\n {\n guideBlockName: 'info-message',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly',\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n }, options, notOverridable);\n },\n },\n {\n guideBlockName: 'hold-and-wait-until-hidden',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n onNextValidate: () => Promise.resolve(!services.GuideUtils.isVisible(options.elementSelectorToWait)),\n show: () => allowEvents(SCROLL_EVENTS, options.elementSelector, services),\n hide: () => allowAll(options.elementSelector, services),\n }, options);\n },\n },\n {\n guideBlockName: 'hold-and-wait-until-shown',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly',\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n onNextValidate: () => Promise.resolve(services.GuideUtils.isVisible(options.elementSelectorToWait)),\n }, options, notOverridable);\n },\n },\n {\n guideBlockName: 'wait-for-element-to-hide',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.waitUntilHidden(options.elementSelectorToHide, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide);\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next());\n },\n }, options);\n },\n },\n {\n guideBlockName: 'wait-for-element-to-show',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.getOrWaitFor(options.elementSelectorToShow, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide);\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next());\n },\n }, options);\n },\n },\n {\n guideBlockName: 'guide-end',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly',\n title: options.title || 'guide.step_plugin.guide-ended.title',\n content: options.content || 'guide.step_plugin.guide-ended.content',\n lastStep: true,\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n }, options, notOverridable);\n },\n },\n]);\n"],"names":["BASIC_STEP","title","content","elementSelector","undefined","placement","url","type","maxWaitTime","canBePaused","onNextClick","disablePreviousFlow","onNextValidate","Promise","resolve","onPreviousClick","skipPoint","class","beforeShowPromise","services","GuideUtils","waitFor","catch","error","toastr","$translate","instant","COMMON_DOM_EVENTS","SCROLL_EVENTS","_configureInteractions","allowedEvents","interactable","getOrWaitFor","then","element","eventsToPrevent","filter","event","includes","forEach","removeEventListener","preventDefault","addEventListener","allowAll","allowEvents","stopPropagation","PluginRegistry","add","guideBlockName","getStep","options","stepDescription","angular","extend","advanceOn","selector","clickableElementSelector","initPreviousStep","defaultInitPreviousStep","show","hide","getSteps","text","code","document","createElement","innerText","copy","copyToInputQueryButtonClass","stepHTMLElement","className","copyToInputListener","createCopyToInputListener","inputElement","querySelector","value","dispatchEvent","Event","bubbles","getElementSelector","textAsHtmlCodeElement","outerHTML","_guide","currentStep","el","isVisible","elementSelectorToWait","guide","waitUntilHidden","elementSelectorToHide","timeToWait","ShepherdService","_abortGuide","setTimeout","next","elementSelectorToShow","notOverridable","lastStep"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=67888;export const __webpack_ids__=[9717,67888,73702,82926,96248];export const __webpack_modules__={9717:()=>{function e(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-status-info.html",scope:{resource:"="},link:o=>{const t=[];o.popoverTemplate="resourceStatusInfoTemplate.html",o.popoverIsOpen=!1,o.context=o.resource.importResource.context,o.replaceGraphs=o.resource.importResource.replaceGraphs,o.baseUrl=decodeURIComponent(o.resource.importResource.baseURI),o.forceSerial=o.resource.importResource.forceSerial,o.importedOn=o.resource.importResource.importedOn,o.parserSettings=o.resource.importResource.parserSettings,o.open=()=>{o.closeAllDialogs(),o.popoverIsOpen=!0},o.closeAllDialogs=()=>{e.$broadcast("closePopovers")},o.close=()=>{o.popoverIsOpen=!1};const s=e=>{"Escape"===e.key&&o.$apply(()=>{o.close()})};t.push(o.$on("closePopovers",o.close)),r.on("keydown",s),o.$on("$destroy",()=>{r.off("keydown",s),t.forEach(e=>e())})}}}angular.module("graphdb.framework.import.directives.import-resource-status-info",[]).directive("importResourceStatusInfo",e),e.$inject=["$rootScope","$document"]},54419:(e,r,o)=>{o.r(r),o(96248);var t=o(28847),s=o(78618);function c(e){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-message.html",scope:{resource:"="},link:r=>{r.ImportResourceStatus=t.ImportResourceStatus,r.toTitleCase=e=>s.toTitleCase(e),r.showMessage=r=>{e.open({templateUrl:"js/angular/import/templates/import-resource-message-dialog.html",controller:"ImportResourceMessageDialogController",size:"lg",windowClass:"import-resource-message-dialog",backdrop:"static",resolve:{message:function(){return r?r.importResource.message:""}}})}}}}angular.module("graphdb.framework.import.directives.import-resource-message",["graphdb.framework.impex.import.controllers.import-resource-message-dialog"]).directive("importResourceMessage",c),c.$inject=["$uibModal"]},67888:(e,r,o)=>{o.r(r),o(82493),o(5687),o(39324),o(73702),o(82926),o(83136),o(76933),o(47195),o(56669),angular.module("graphdb.framework.impex.import",["toastr","ngRoute","ngFileUpload","ui.bootstrap","graphdb.framework.impex.import.controllers","graphdb.framework.core.services.repositories","graphdb.framework.import.directives.validate-uri","graphdb.framework.import.directives.import-progress-indicator","graphdb.framework.import.directives.import-resource-tree"])},73702:()=>{function e(e){return{restrict:"A",require:"ngModel",link:function(r,o,t,s){s.$parsers.unshift(function(r){if(s.$setValidity("validateUri",!0),!s.$isEmpty(r)){const o=e.isValidIri(r,r.toString());s.$setValidity("validateUri",o)}return r})}}}angular.module("graphdb.framework.import.directives.validate-uri",[]).directive("validateUri",e),e.$inject=["UriUtils"]},82926:()=>{function e(){return{link:function(e,r,o){e.$watch("file.status",function(){"IMPORTING"!==e.file.status&&"UPLOADING"!==e.file.status||!$(r).has("object").length>0&&$(r).append('<object width="'+o.size+'" height="'+o.size+'" data="js/angular/templates/loader/ot-loader.svg?v=3.2.0-TR1">{{\'common.loading\' | translate}}</object>')})}}}angular.module("graphdb.framework.import.directives.import-progress-indicator",[]).directive("ImportProgressIndicator",e),e.$inject=[]},83136:(e,r,o)=>{o.r(r);var t=o(28847),s=(o(54419),o(9717),o(18025)),c=o(57436),i=o(7796),a=o(56636),l=o(25079);const p={FILE:"FILE",DIRECTORY:"DIRECTORY",ALL:"ALL"},u={ALL:"ALL",NONE:"NONE",IMPORTED:"IMPORTED",NOT_IMPORTED:"NOT_IMPORTED"};function n(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-tree.html",scope:{columnKeys:"=",showTypeFilter:"=",sortBy:"=",asc:"=",onImport:"&",onImportAll:"&",onReset:"&",onRemove:"&",onStopImport:"&",onEditResource:"&"},link:(o,n,m)=>{o.resources=new c.ImportResourceTreeElement,o.displayResources=[],o.TYPE_FILTER_OPTIONS=p,o.filterByType=p.ALL,o.filterByFileName="",o.STATUS_OPTIONS=u,o.selectedByStatus=void 0,o.areAllDisplayedImportResourcesSelected=!1,o.areAllDisplayedImportResourcesPartialSelected=!1,o.ImportResourceStatus=t.ImportResourceStatus,o.canRemoveResource=angular.isDefined(m.onRemove),o.canResetSelectedResources=!1,o.SORTING_TYPES=s.SortingType,o.sortAsc=!angular.isDefined(m.asc)||o.asc,o.sortedBy=o.sortBy,o.showLoader=r.getShowLoader(),o.hasSelection=!1,o.selectionChanged=e=>{e.setSelection(e.selected),I(),d(),g()},o.selectResourceWithStatus=e=>{o.selectedByStatus=e,o.resources.setSelection(!1),u.ALL===o.selectedByStatus?o.resources.setSelection(!0):u.IMPORTED===o.selectedByStatus?o.resources.selectAllWithStatus([t.ImportResourceStatus.DONE]):u.NOT_IMPORTED===o.selectedByStatus&&o.resources.selectAllWithStatus([t.ImportResourceStatus.IMPORTING,t.ImportResourceStatus.NONE,t.ImportResourceStatus.ERROR,t.ImportResourceStatus.PENDING,t.ImportResourceStatus.INTERRUPTING]),R(),d()},o.filterByTypeChanged=e=>{o.filterByType=e,R()},o.filterByFileNameChanged=e=>{o.filterByFileName=e,N(R,100)},o.onResetStatus=()=>{const e=o.resources.getAllSelected().map(e=>e.path);e.length>0&&o.onReset({resources:e})},o.resetStatus=e=>{o.onReset({resources:[e.path]})},o.onRemoveResources=()=>{const e=o.resources.getAllSelected();e&&e.length>0&&o.onRemove({resources:e})},o.removeResource=e=>{o.onRemove({resources:[e]})},o.importAll=e=>{const r=o.resources.getAllSelectedForImport();r.length>0&&o.onImportAll({selectedResources:r,withoutChangingSettings:e})},o.stopImport=e=>{o.onStopImport({resource:e})},o.sort=e=>{o.sortedBy===e?o.sortAsc=!o.sortAsc:o.sortAsc=!0,o.sortedBy=e,R()},o.editResource=e=>{o.onEditResource({resource:e})};const d=()=>{o.canResetSelectedResources=o.resources.getSelectedImportedResources()},R=()=>{o.resources.getRoot().updateSelectionState(),S(),o.displayResources=o.resources.toList().filter(E).filter(A),g(),I()},g=()=>{const e=o.resources.getAllSelectedFilesNames();o.hasSelection=e.length>0,r.updateSelectedFilesNames(e)},I=()=>{const e=o.displayResources.some(e=>!e.selected),r=o.displayResources.some(e=>e.selected);o.areAllDisplayedImportResourcesSelected=r&&!e,o.areAllDisplayedImportResourcesPartialSelected=r&&e},S=()=>{s.SortingType.NAME===o.sortedBy?o.resources.sort(y(o.sortAsc)):s.SortingType.SIZE===o.sortedBy?o.resources.sort(T(o.sortAsc)):s.SortingType.MODIFIED===o.sortedBy?o.resources.sort(f(o.sortAsc)):s.SortingType.IMPORTED===o.sortedBy?o.resources.sort(h(o.sortAsc)):s.SortingType.CONTEXT===o.sortedBy&&o.resources.sort(v(o.sortAsc))},y=e=>(r,o)=>e?r.importResource.name.localeCompare(o.importResource.name):o.importResource.name.localeCompare(r.importResource.name),T=e=>(r,o)=>{const t=(0,l.convertToBytes)(r.importResource.size),s=(0,l.convertToBytes)(o.importResource.size);return e?t-s:s-t},f=e=>(r,o)=>{const t=r.importResource.modifiedOn||Number.MAX_VALUE,s=o.importResource.modifiedOn||Number.MAX_VALUE;return e?t-s:s-t},h=e=>(r,o)=>{const t=r.importResource.importedOn||Number.MAX_VALUE,s=o.importResource.importedOn||Number.MAX_VALUE;return e?t-s:s-t},v=e=>(r,o)=>e?r.importResource.context.localeCompare(o.importResource.context):o.importResource.context.localeCompare(r.importResource.context),E=e=>p.ALL===o.filterByType||(o.filterByType===p.FILE?e.isFile():o.filterByType===p.DIRECTORY&&e.isDirectory()),A=e=>!o.filterByFileName||(o.filterByType===p.DIRECTORY?e.hasTextInDirectoriesName(o.filterByFileName):o.filterByType===p.FILE?e.hasTextInFilesName(o.filterByFileName):e.hasTextInResourcesName(o.filterByFileName));let O;const N=(r,o)=>{O&&e.cancel(O),O=e(r,o)},b=[];b.push(r.onResourcesUpdated((e=[])=>{const t=i.TABS.USER===r.getActiveTabId();o.resources.isEmpty()?(o.resources=a.ImportResourceTreeService.toImportResourceTree(e,t),t&&(o.sortedBy=s.SortingType.MODIFIED)):a.ImportResourceTreeService.mergeResourceTree(o.resources,e,t),a.ImportResourceTreeService.calculateElementIndent(o.resources),a.ImportResourceTreeService.setupAfterTreeInitProperties(o.resources),R(),d()})),b.push(r.onShowLoaderUpdated(e=>o.showLoader=e)),b.push(r.onActiveTabIdUpdated(()=>o.resources=new c.ImportResourceTreeElement)),o.$on("$destroy",()=>{b.forEach(e=>e())})}}}angular.module("graphdb.framework.import.directives.import-resource-tree",["graphdb.framework.import.directives.import-resource-message","graphdb.framework.import.directives.import-resource-status-info"]).directive("importResourceTree",n),n.$inject=["$timeout","ImportContextService"]},96248:()=>{function e(e,r,o,t,s){e.message=s,e.close=()=>{r.dismiss()},e.copyToClipboard=()=>{navigator.clipboard.writeText(e.message).then(()=>{t.success(o.instant("import.help.messages.copied_to_clipboard")),e.close()},e=>{console.error("Could not copy text: ",e)})}}angular.module("graphdb.framework.impex.import.controllers.import-resource-message-dialog",[]).controller("ImportResourceMessageDialogController",e),e.$inject=["$scope","$uibModalInstance","$translate","toastr","message"]}};
2
+ //# sourceMappingURL=67888.7d4966e0a22ba655f1b8.bundle.js.map