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":"14874.d6973a34188c0335fa12.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/update-endpoint-request.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/dynamic-form/dynamic-form-field.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/field-type.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/endpoint-generation-report.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/endpoint-info-list.mapper.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/graphql-schema-shapes.mapper.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/services/graphql.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-endpoint-overview-list.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/mappers/dynamic-form-fied-mapper.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/dynamic-form/dynamic-form-model.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/prefix/prefixes.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-endpoint-configuration-setting.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-schema-shapes.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/endpoint-generation-report.mapper.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/graphql.rest.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/prefix-list.mapper.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-endpoints.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/endpoints.mapper.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/mock-backend/graphql-rest-service-mock.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-endpoints-info.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/models/endpoints.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/endpoint-utils.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/shacl-shape-list.mapper.js"],"sourcesContent":["/**\n * @typedef {Object} PartialUpdateEndpointRequest\n * @property {string} [id]\n * @property {string} [label]\n * @property {string} [description]\n * @property {boolean} [active]\n * @property {boolean} [default]\n * @property {GraphqlEndpointConfigurationSettings} [options]\n */\n\n/**\n * A class representing the update endpoint request.\n */\nexport class UpdateEndpointRequest {\n /**\n * @type {string}\n * @private\n */\n _id;\n /**\n * @type {string}\n * @private\n */\n _label;\n /**\n * @type {string}\n * @private\n */\n _description;\n /**\n * @type {boolean}\n * @private\n */\n _active;\n /**\n * @type {boolean}\n * @private\n */\n _default;\n /**\n * @type {GraphqlEndpointConfigurationSettings}\n * @private\n */\n _options\n\n constructor(data) {\n this._id = data.id;\n this._label = data.label;\n this._description = data.description;\n this._active = data.active;\n this._default = data.default;\n this._options = data.options;\n }\n\n /**\n * Builds a request object to update the endpoint default state.\n * @returns {{default: boolean}}\n */\n getUpdateDefaultEndpointRequest() {\n return {\n default: this.default\n };\n }\n\n /**\n * Builds a request object to update the endpoint active state.\n * @returns {{active: boolean}}\n */\n getUpdateEndpointActiveStateRequest() {\n return {\n active: !this.active\n };\n }\n\n /**\n * Builds a request object to update the endpoint settings.\n * @returns {{options: (Object<string, *>|null)}}\n */\n getUpdateEndpointSettingsRequest() {\n return {\n options: this.options ? this.options.toFlatJSON() : null\n };\n }\n\n set id(value) {\n this._id = value;\n }\n\n get id() {\n return this._id;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get label() {\n return this._label;\n }\n\n set description(value) {\n this._description = value;\n }\n\n get description() {\n return this._description;\n }\n\n set active(value) {\n this._active = value;\n }\n\n get active() {\n return this._active;\n }\n\n set default(value) {\n this._default = value;\n }\n\n get default() {\n return this._default;\n }\n\n set options(value) {\n this._options = value;\n }\n\n get options() {\n return this._options;\n }\n}\n","/**\n * A model representing a dynamic form field used by the dynamic form component.\n */\nexport class DynamicFormField {\n /**\n * The unique key of the setting.\n * @type {string}\n * @private\n */\n _key = '';\n /**\n * The label displayed for the setting.\n * @type {string}\n * @private\n */\n _label = '';\n /**\n * The type of the field (e.g., string, boolean, select, etc.).\n * @type {string}\n * @private\n */\n _type = '';\n /**\n * Whether the value is a collection.\n * @type {boolean}\n * @private\n */\n _collection = false;\n /**\n * The current value of the setting.\n * @private\n */\n _value;\n /**\n * The possible values (used for select-type fields).\n * @private\n */\n _values;\n /**\n * A regular expression or its string representation for validating the value.\n * @private\n */\n _regex;\n /**\n * Whether the field is required.\n * @type {boolean}\n * @private\n */\n _required = false;\n /**\n * The group of the setting. Used for grouping settings in the form.\n * @private\n */\n _group;\n /**\n * Whether the setting is hidden.\n * @type {boolean}\n */\n hidden = false;\n\n /**\n * Creates an instance of GraphqlEndpointConfigurationSetting.\n * @param {Object} options - The setting options.\n */\n constructor(options) {\n this._key = options.key;\n this._label = options.label;\n this._type = options.type;\n this._collection = options.collection;\n this._value = options.value;\n this._values = options.values;\n this._regex = typeof options.regex === 'string' ? new RegExp(options.regex) : options.regex;\n this._required = options.required;\n this._group = options.group;\n this.hidden = options.hidden;\n }\n\n get key() {\n return this._key;\n }\n\n set key(value) {\n this._key = value;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get type() {\n return this._type;\n }\n\n set type(value) {\n this._type = value;\n }\n\n get collection() {\n return this._collection;\n }\n\n set collection(value) {\n this._collection = value;\n }\n\n get value() {\n return this._value;\n }\n\n set value(value) {\n this._value = value;\n }\n\n get values() {\n return this._values;\n }\n\n set values(value) {\n this._values = value;\n }\n\n get regex() {\n return this._regex;\n }\n\n set regex(value) {\n this._regex = typeof value === 'string' ? new RegExp(value) : value;\n }\n\n get required() {\n return this._required;\n }\n\n set required(value) {\n this._required = value;\n }\n\n get group() {\n return this._group;\n }\n\n set group(value) {\n this._group = value;\n }\n\n get hidden() {\n return this._hidden;\n }\n\n set hidden(value) {\n this._hidden = value;\n }\n}\n","/**\n * Enum for field types.\n * @readonly\n * @enum {string}\n */\nexport const FIELD_TYPE = {\n STRING: 'string',\n TEXT: 'text',\n BOOLEAN: 'boolean',\n JSON: 'json',\n SELECT: 'select',\n MULTI_SELECT: 'multi_select'\n}\n","export class EndpointGenerationReportList {\n /**\n * @type {EndpointGenerationReport[]}\n * @private\n */\n _reports;\n\n constructor(data) {\n this._reports = data || [];\n }\n\n /**\n * Gets a report by endpoint ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {EndpointGenerationReport}\n */\n getReport(endpointId) {\n return this._reports.find((report) => report.endpointId === endpointId);\n }\n\n get reports() {\n return this._reports;\n }\n\n set reports(value) {\n this._reports = value;\n }\n}\n\nexport class EndpointGenerationReport {\n /**\n * A user-friendly identifier used for visualization.\n * @type {string}\n * @private\n */\n _endpointId;\n /**\n * The relative path to access the GraphQL endpoint.\n * @type {string}\n * @private\n */\n _endpointURI;\n /**\n * Indicates whether the endpoint is currently active.\n * @type {boolean}\n * @private\n */\n _active;\n /**\n * Specifies if this is the default endpoint for the repository.\n * @type {boolean}\n * @private\n */\n _default;\n /**\n * A user-friendly name for the endpoint.\n * @type {string}\n * @private\n */\n _label;\n /**\n * A description of the endpoint.\n * @type {string}\n * @private\n */\n _description;\n /**\n * The last modification date of the endpoint in format: yyyy-MM-dd\n * @type {string}\n * @private\n */\n _lastModified;\n /**\n * The number of objects in the GraphQL schema.\n * @type {number}\n * @private\n */\n _objectsCount;\n /**\n * The number of properties in the GraphQL schema.\n * @type {number}\n * @private\n */\n _propertiesCount;\n /**\n * The total number of warnings in the schema validation.\n * @type {number}\n * @private\n */\n _warnings;\n /**\n * The total number of errors in the schema validation.\n * @type {number}\n * @private\n */\n _errors;\n /**\n * A detailed breakdown of warnings and errors.\n * @type {string[]}\n * @private\n */\n _messages;\n /**\n * Indicates whether the endpoint was created successfully. No errors are found and the endpoint is active.\n * @type {boolean}\n * @private\n */\n _createdSuccessfully;\n\n constructor(data) {\n this._endpointId = data.endpointId || '';\n this._endpointURI = data.endpointURI || '';\n this._active = data.active || false;\n this._default = data.default || false;\n this._label = data.label || '';\n this._description = data.description || '';\n this._lastModified = data.lastModified || '';\n this._objectsCount = data.objectsCount || 0;\n this._propertiesCount = data.propertiesCount || 0;\n this._warnings = data.warnings || 0;\n this._errors = data.errors || 0;\n this._messages = data.messages || [];\n this._createdSuccessfully = this._active && this._errors === 0;\n }\n\n toJSON() {\n return {\n id: this._endpointId,\n active: this._active,\n default: this._default,\n label: this._label,\n description: this._description,\n lastModified: this._lastModified,\n objectsCount: this._objectsCount,\n propertiesCount: this._propertiesCount,\n warnings: this._warnings,\n errors: this._errors,\n messages: this._messages\n };\n }\n\n get endpointId() {\n return this._endpointId;\n }\n\n set endpointId(value) {\n this._endpointId = value;\n }\n\n get endpointURI() {\n return this._endpointURI;\n }\n\n set endpointURI(value) {\n this._endpointURI = value;\n }\n\n get active() {\n return this._active;\n }\n\n set active(value) {\n this._active = value;\n }\n\n get default() {\n return this._default;\n }\n\n set default(value) {\n this._default = value;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get description() {\n return this._description;\n }\n\n set description(value) {\n this._description = value;\n }\n\n get lastModified() {\n return this._lastModified;\n }\n\n set lastModified(value) {\n this._lastModified = value;\n }\n\n get objectsCount() {\n return this._objectsCount;\n }\n\n set objectsCount(value) {\n this._objectsCount = value;\n }\n\n get propertiesCount() {\n return this._propertiesCount;\n }\n\n set propertiesCount(value) {\n this._propertiesCount = value;\n }\n\n get warnings() {\n return this._warnings;\n }\n\n set warnings(value) {\n this._warnings = value;\n }\n\n get errors() {\n return this._errors;\n }\n\n set errors(value) {\n this._errors = value;\n }\n\n get messages() {\n return this._messages;\n }\n\n set messages(value) {\n this._messages = value;\n }\n\n get createdSuccessfully() {\n return this._createdSuccessfully;\n }\n\n set createdSuccessfully(value) {\n this._createdSuccessfully = value;\n }\n}\n","import {GraphqlEndpointInfo, GraphqlEndpointsInfoList} from \"../../models/graphql/graphql-endpoints-info\";\nimport {resolveGraphqlEndpoint} from \"./endpoint-utils\";\n\n/**\n * Maps the response from the server to a GraphqlEndpointsInfoList model.\n * @param {object} data - The response from the server.\n * @param {string} repositoryId - The repository id.\n * @return {GraphqlEndpointsInfoList}\n */\nexport const endpointsInfoListMapper = (data, repositoryId) => {\n if (!data || !data.endpoints) {\n return new GraphqlEndpointsInfoList();\n }\n const endpointModels = data.endpoints.map((endpoint) => endpointInfoModelMapper(endpoint, repositoryId));\n return new GraphqlEndpointsInfoList(endpointModels);\n};\n\n/**\n * Maps the response from the server to a GraphqlEndpointInfo model.\n * @param {*} data - The response from the server.\n * @param {string} repositoryId - The repository id.\n * @return {GraphqlEndpointInfo|undefined}\n */\nexport const endpointInfoModelMapper = (data, repositoryId) => {\n if (!data) {\n return;\n }\n return new GraphqlEndpointInfo({\n endpointId: data.id,\n endpointURI: resolveGraphqlEndpoint(repositoryId, data.id),\n label: data.label,\n description: data.description,\n default: data.default,\n active: data.active,\n lastModified: data.lastModified,\n objectsCount: data.objectsCount,\n propertiesCount: data.propertiesCount,\n warnings: data.warnings,\n errors: data.errors\n });\n};\n","import {GraphqlSchemaShape, GraphqlSchemaShapes} from \"../../models/graphql/graphql-schema-shapes\";\n\n/**\n * Map the GraphQL schema shapes data to the model.\n * @param {*} data The GraphQL schema shapes data as returned from the server.\n * @return {GraphqlSchemaShapes}\n */\nexport const graphqlSchemaShapesMapper = (data) => {\n if (!data || !data.shapes) {\n return new GraphqlSchemaShapes([]);\n }\n const shapeModels = data.shapes.map((shape) => shapeModelMapper(shape));\n return new GraphqlSchemaShapes(shapeModels);\n}\n\n/**\n * Map the GraphQL schema shape data to the model.\n * @param {*} data The GraphQL schema shape data as returned from the server.\n * @returns {GraphqlSchemaShape|undefined}\n */\nexport const shapeModelMapper = (data) => {\n if (!data) {\n return;\n }\n return new GraphqlSchemaShape({\n id: data.id,\n name: data.name,\n label: data.label,\n description: data.description\n });\n}\n","import 'angular/rest/graphql.rest.service';\nimport {endpointListMapper, endpointsToSelectMenuOptionsMapper} from \"../../graphql/services/endpoints.mapper\";\nimport {endpointInfoModelMapper, endpointsInfoListMapper} from \"../../graphql/services/endpoint-info-list.mapper\";\nimport {graphqlSchemaShapesMapper} from \"../../graphql/services/graphql-schema-shapes.mapper\";\nimport {prefixModelToSelectMenuOptionsMapper} from \"../../graphql/services/prefix-list.mapper\";\nimport {\n shaclShapeGraphListOptionsMapper,\n} from \"../../graphql/services/shacl-shape-list.mapper\";\nimport {dynamicFormModelMapper} from \"../../rest/mappers/dynamic-form-fied-mapper\";\nimport {GraphqlEndpointConfigurationSettings} from \"../../models/graphql/graphql-endpoint-configuration-setting\";\nimport {GraphqlEndpointOverviewList} from \"../../models/graphql/graphql-endpoint-overview-list\";\nimport {\n endpointGenerationReportListMapper,\n} from \"../../graphql/services/endpoint-generation-report.mapper\";\n\nconst modules = ['graphdb.framework.rest.graphql.service'];\n\nangular\n .module('graphdb.framework.core.services.graphql-service', modules)\n .factory('GraphqlService', GraphqlService);\n\nGraphqlService.$inject = ['GraphqlRestService'];\n\nfunction GraphqlService(GraphqlRestService) {\n /**\n * Creates a list of GraphQL endpoint overview models from the given data.\n * @param {GraphqlEndpointConfiguration} endpointConfiguration\n * @returns {GraphqlEndpointOverviewList}\n */\n const getGenerateEndpointsOverview = (endpointConfiguration) => {\n if (!endpointConfiguration) {\n return new GraphqlEndpointOverviewList();\n }\n const shapesOverview = endpointConfiguration.getSelectedGraphqlSchemaShapesOverview();\n return new GraphqlEndpointOverviewList(shapesOverview);\n };\n\n /**\n *\n * @param {GraphqlEndpointConfiguration} endpointConfiguration\n */\n const getEndpointsCountToGenerate = (endpointConfiguration) => {\n let count = 0;\n if (!endpointConfiguration) {\n count = 0;\n }\n if (endpointConfiguration.generateFromGraphqlSchemaShapes()) {\n count = endpointConfiguration.getSelectedGraphqlSchemaShapesCount();\n }\n // A single endpoint is generated always when generating from ontologies or\n // shacl shapes.\n if (endpointConfiguration.generateFromShaclShapes()) {\n count = 1;\n }\n return count;\n };\n\n /**\n * Get the GraphQL endpoints model for the given repository.\n * @param {string} repositoryId - The repository id.\n * @return {Promise<GraphqlEndpointList>}\n */\n const getEndpoints = (repositoryId) => {\n return GraphqlRestService.getEndpoints(repositoryId)\n .then((response) => endpointListMapper(response.data));\n };\n\n /**\n * Get the GraphQL endpoints as select menu options for the given repository.\n * @param {string} repositoryId - The repository id.\n * @return {Promise<SelectMenuOptionsModel[]>}\n */\n const getEndpointsAsSelectMenuOptions = (repositoryId) => {\n return GraphqlRestService.getEndpoints(repositoryId)\n .then((response) => {\n return endpointsToSelectMenuOptionsMapper(response.data, repositoryId);\n });\n };\n\n /**\n * Get the GraphQL endpoints info for the given repository.\n * @param {string} repositoryId - The repository id.\n * @return {Promise<GraphqlEndpointsInfoList>}\n */\n const getEndpointsInfo = (repositoryId) => {\n return GraphqlRestService.getEndpointsInfo(repositoryId)\n .then((response) => endpointsInfoListMapper(response.data, repositoryId));\n };\n\n /**\n * Get the GraphQL schema shapes for the given repository.\n * @param {string} repositoryId - The repository id.\n * @returns {Promise<GraphqlSchemaShapes>}\n */\n const getGraphqlSchemaShapes = (repositoryId) => {\n return GraphqlRestService.getGraphqlSchemaShapes(repositoryId)\n .then((response) => graphqlSchemaShapesMapper(response.data));\n };\n\n /**\n * Get the prefix list as select options for the given repository.\n * @param {string} repositoryId - The repository id.\n * @returns {Promise<SelectMenuOptionsModel[]>}\n */\n const getPrefixListAsSelectOptions = (repositoryId) => {\n return GraphqlRestService.getPrefixes(repositoryId)\n .then((response) => prefixModelToSelectMenuOptionsMapper(response.data));\n };\n\n /**\n * Get the SHACL shape graphs for the given repository as list model.\n * @param {string} repositoryId The repository id.\n * @returns {Promise<GraphListOptions>} The SHACL shape graphs list model.\n */\n const getShaclShapeGraphs = (repositoryId) => {\n return GraphqlRestService.getShaclShapeGraphs(repositoryId)\n .then((response) => shaclShapeGraphListOptionsMapper(response.data));\n };\n\n /**\n * Get the GraphQL generation settings. These settings are used to configure the GraphQL endpoint generation.\n * @param selectedSourceRepository - The selected source repository.\n * @returns {Promise<GraphqlEndpointConfigurationSettings>}\n */\n const getGraphqlGenerationSettings = (selectedSourceRepository) => {\n return GraphqlRestService.getGraphqlGenerationSettings(selectedSourceRepository)\n .then((response) => {\n const fieldsModel = dynamicFormModelMapper(response.data);\n return new GraphqlEndpointConfigurationSettings(fieldsModel);\n });\n };\n\n /**\n * Get the GraphQL endpoint configuration settings.\n * @param {string} repositoryId - The repository id.\n * @param {string} endpointId - The endpoint id.\n * @returns {Promise<DynamicFormField[]>}\n */\n const getGraphqlEndpointConfigurationSettings = (repositoryId, endpointId) => {\n return GraphqlRestService.getGraphqlEndpointConfigurationSettings(repositoryId, endpointId)\n .then((response) => {\n const fieldsModel = dynamicFormModelMapper(response.data);\n return new GraphqlEndpointConfigurationSettings(fieldsModel);\n });\n };\n\n /**\n * Gets the GraphQL endpoint configuration.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<unknown>}\n */\n const getEndpointConfiguration = (repositoryId, endpointId) => {\n return GraphqlRestService.getEndpointConfiguration(repositoryId, endpointId);\n };\n\n /**\n * Gets the GraphQL endpoint configuration report.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<EndpointGenerationReportList>}\n */\n const getEndpointConfigurationReport = (repositoryId, endpointId) => {\n return GraphqlRestService.getEndpointConfiguration(repositoryId, endpointId)\n .then((response) => endpointGenerationReportListMapper([response.data], repositoryId));\n };\n\n /**\n * Save the GraphQL endpoint configuration. All of UpdateEndpointRequest properties are optional, so this method\n * can be used to update any of them. The request object should contain only the properties that need to be updated.\n * @param {string} repositoryId - The repository id.\n * @param {string} endpointId - The endpoint id.\n * @param {PartialUpdateEndpointRequest} updateEndpointRequest - The endpoint update request.\n * @returns {Promise<GraphqlEndpointInfo> | *}\n */\n const editEndpointConfiguration = (repositoryId, endpointId, updateEndpointRequest) => {\n return GraphqlRestService.editEndpointConfiguration(repositoryId, endpointId, updateEndpointRequest)\n .then((response) => endpointInfoModelMapper(response.data, repositoryId));\n };\n\n /**\n * Delete the GraphQL endpoint.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<unknown>}\n */\n const deleteEndpoint = (repositoryId, endpointId) => {\n return GraphqlRestService.deleteEndpoint(repositoryId, endpointId);\n };\n\n /**\n * Generate the GraphQL endpoint from the GraphQL shapes.\n * @param {string} repositoryId The current active repository ID.\n * @param {CreateEndpointFromShapesRequest} request The endpoint create request.\n * @returns {Promise<EndpointGenerationReport>}\n */\n const generateEndpointFromGraphqlShapes = (repositoryId, request) => {\n return GraphqlRestService.generateEndpointFromGraphqlShapes(repositoryId, request.toJSON())\n .then((response) => endpointGenerationReportListMapper(response.data, repositoryId));\n };\n\n /**\n * Generate the GraphQL endpoint from the OWL ontology.\n * @param {string} repositoryId The current active repository ID.\n * @param {CreateEndpointFromOwlRequest} request The endpoint create request.\n * @returns {Promise<EndpointGenerationReport>}\n */\n const generateEndpointFromOwl = (repositoryId, request) => {\n return GraphqlRestService.generateEndpointFromOwl(repositoryId, request.toJSON())\n .then((response) => endpointGenerationReportListMapper([response.data], repositoryId));\n };\n\n /**\n * Export the endpoint definition.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<{data: any, filename: string}>}\n */\n const exportEndpointDefinition = (repositoryId, endpointId) => {\n return GraphqlRestService.exportEndpointDefinition(repositoryId, endpointId)\n .then((res) => {\n const data = res.data;\n const headers = res.headers();\n const contentDispositionHeader = headers['content-disposition'];\n let filename = `endpoint-${endpointId}-definition`;\n if (contentDispositionHeader) {\n filename = contentDispositionHeader.split('filename=')[1];\n filename = filename.replace(/\"/g, '');\n }\n return {data, filename};\n });\n };\n\n /**\n * Import endpoint definitions given as payload.\n * @param {string} repositoryId The repository ID.\n * @param {File|FormData} payload The request payload.\n * @returns {Promise<*>|*}\n */\n const importEndpointDefinition = (repositoryId, payload) => {\n return GraphqlRestService.importEndpointDefinition(repositoryId, payload);\n };\n\n /**\n * Deletes the endpoint generation report. This method should be called after the user has reviewed the warnings\n * and accepted them.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<unknown>}\n */\n const deleteEndpointGenerationReport = (repositoryId, endpointId) => {\n return GraphqlRestService.deleteEndpointGenerationReport(repositoryId, endpointId);\n };\n\n return {\n getEndpointsCountToGenerate,\n getGenerateEndpointsOverview,\n getEndpoints,\n getEndpointsAsSelectMenuOptions,\n getEndpointsInfo,\n getGraphqlSchemaShapes,\n getPrefixListAsSelectOptions,\n getShaclShapeGraphs,\n getGraphqlGenerationSettings,\n getGraphqlEndpointConfigurationSettings,\n getEndpointConfiguration,\n getEndpointConfigurationReport,\n editEndpointConfiguration,\n deleteEndpoint,\n generateEndpointFromGraphqlShapes,\n generateEndpointFromOwl,\n exportEndpointDefinition,\n importEndpointDefinition,\n deleteEndpointGenerationReport,\n };\n}\n","export const ENDPOINT_GENERATION_STATUS = {\n NONE: 'NONE',\n SUCCESS: 'SUCCESS',\n ERROR: 'ERROR'\n};\n\nexport class GraphqlEndpointOverviewList {\n /**\n * @type {GraphqlEndpointOverview[]}\n * @private\n */\n _endpointList = [];\n\n constructor(data) {\n this._endpointList = data || [];\n }\n\n get endpointList() {\n return this._endpointList;\n }\n\n set endpointList(value) {\n this._endpointList = value;\n }\n}\n\nexport class GraphqlEndpointOverview {\n /**\n * @type {string}\n * @private\n */\n _label;\n\n /**\n * @type {string}\n * @private\n */\n _uri;\n\n /**\n * @type {string}\n * @private\n */\n _status;\n\n constructor(data) {\n this._label = data.label || '';\n this._uri = data.uri || '';\n this._status = data.status || ENDPOINT_GENERATION_STATUS.NONE;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get uri() {\n return this._uri;\n }\n\n set uri(value) {\n this._uri = value;\n }\n\n get status() {\n return this._status;\n }\n\n set status(value) {\n this._status = value;\n }\n}\n","import {SelectMenuOptionsModel} from \"../../models/form-fields\";\nimport {DynamicFormField} from \"../../models/dynamic-form/dynamic-form-field\";\nimport {CONFIG_TYPE} from \"../../models/graphql/graphql-endpoint-configuration-setting\";\nimport {DynamicFormGroup, DynamicFormModel} from \"../../models/dynamic-form/dynamic-form-model\";\nimport {FIELD_TYPE} from \"../../core/directives/dynamic-form/field-type\";\n\n/**\n * Maps the dynamic form data to the dynamic form model.\n * @param {*} data - The dynamic form data.\n * @returns {DynamicFormModel}\n */\nexport const dynamicFormModelMapper = (data) => {\n if (!data || !data.configs) {\n return new DynamicFormModel();\n }\n const fields = buildFieldModels(data.configs);\n return buildFormModel(fields);\n};\n\n/**\n * Builds the form model from the fields.\n * @param {DynamicFormField[]} fields\n * @returns {DynamicFormModel}\n */\nconst buildFormModel = (fields) => {\n const models = [];\n fields.forEach((field) => {\n if (!field.group) {\n models.push(field);\n return;\n }\n\n let group = models.find((model) => model.groupId === field.group);\n if (!group) {\n group = new DynamicFormGroup({groupId: field.group});\n models.push(group);\n }\n\n const targetCollection = field.hidden ? group.hiddenFields : group.fields;\n targetCollection.push(field);\n });\n return new DynamicFormModel(models);\n}\n\nconst buildFieldModels = (configs) => {\n return configs.map((config) => {\n let type = resolveType(config);\n let mappedValues = config.values;\n let selectedValue = [];\n\n if (type === FIELD_TYPE.MULTI_SELECT || type === FIELD_TYPE.SELECT) {\n mappedValues = mappedValues.map((option) => {\n const isSelected =\n (Array.isArray(config.value) && config.value.indexOf(option) > -1) ||\n (typeof config.value === 'string' && config.value === option);\n\n const menuOption = new SelectMenuOptionsModel({\n label: option,\n value: option,\n selected: isSelected\n });\n\n if (isSelected) {\n selectedValue.push(menuOption);\n }\n return menuOption;\n });\n\n if (type === FIELD_TYPE.SELECT) {\n config.value = selectedValue[0] ? selectedValue[0] : [];\n } else if (type === FIELD_TYPE.MULTI_SELECT) {\n config.value = selectedValue;\n }\n }\n\n // JSON type filed value comes as string, so we don't need to process it because we render it in a text area\n\n return dynamicFormFieldMapper(config, type, mappedValues);\n });\n}\n\nconst dynamicFormFieldMapper = (config, type, mappedValues) => {\n return new DynamicFormField({\n key: config.key,\n label: config.label,\n description: config.description,\n type: type,\n collection: config.collection || false,\n value: config.value,\n values: mappedValues,\n regex: config.regex,\n required: config.required || false,\n group: config.group,\n hidden: config.hidden\n });\n};\n\nconst resolveType = (config) => {\n let type;\n if(config.type === CONFIG_TYPE.TEXT) {\n type = FIELD_TYPE.TEXT;\n } else if (config.type === CONFIG_TYPE.BOOLEAN) {\n type = FIELD_TYPE.BOOLEAN;\n } else if (config.type === CONFIG_TYPE.JSON) {\n type = FIELD_TYPE.JSON;\n } else if (config.type === CONFIG_TYPE.STRING) {\n if (config.values && config.values.length > 0) {\n type = config.collection ? FIELD_TYPE.MULTI_SELECT : FIELD_TYPE.SELECT;\n } else {\n type = FIELD_TYPE.STRING;\n }\n }\n return type;\n};\n","export class DynamicFormModel {\n /**\n * List with all models.\n * @type {DynamicFormGroup[]|DynamicFormField[]}\n * @private\n */\n _models = [];\n\n constructor(data) {\n this._models = data || [];\n }\n\n get models() {\n return this._models;\n }\n\n set models(value) {\n this._models = value;\n }\n}\n\nexport class DynamicFormGroup {\n /**\n * The unique key of the group.\n * @type {string}\n * @private\n */\n _groupId = '';\n /**\n * Fields within the group.\n * @type {DynamicFormField[]}\n * @private\n */\n _fields = [];\n /**\n * Fields that should be hidden.\n * @type {DynamicFormField[]}\n * @private\n */\n _hiddenFields = [];\n\n constructor(data) {\n this._fields = data.fields || [];\n this._hiddenFields = data.hiddenFields || [];\n this._groupId = data.groupId || '';\n }\n\n get fields() {\n return this._fields;\n }\n\n set fields(value) {\n this._fields = value;\n }\n\n get hiddenFields() {\n return this._hiddenFields;\n }\n\n set hiddenFields(value) {\n this._hiddenFields = value;\n }\n\n get groupId() {\n return this._groupId;\n }\n\n set groupId(value) {\n this._groupId = value;\n }\n}\n","export class PrefixList {\n /**\n * @type {Prefix[]}\n * @private\n */\n _prefixes;\n\n constructor(data) {\n this._prefixes = data || [];\n }\n\n get prefixes() {\n return this._prefixes;\n }\n\n set prefixes(value) {\n this._prefixes = value;\n }\n}\n\nexport class Prefix {\n /**\n * @type {string}\n * @private\n */\n _prefix;\n /**\n * @type {string}\n * @private\n */\n _namespace;\n /**\n * @type {string[]}\n * @private\n */\n _sources;\n\n constructor(data) {\n this._prefix = data.prefix;\n this._namespace = data.namespace;\n this._sources = data.sources;\n }\n}\n","import {DynamicFormField} from \"../dynamic-form/dynamic-form-field\";\n\n/**\n * Enum for configuration types.\n * @readonly\n * @enum {string}\n */\nexport const CONFIG_TYPE = {\n STRING: 'string',\n TEXT: 'text',\n BOOLEAN: 'boolean',\n JSON: 'json'\n}\n\nexport class GraphqlEndpointConfigurationSettings {\n /**\n * Endpoint configuration settings model.\n * @type {DynamicFormModel}\n * @private\n */\n _settings;\n\n /**\n * Flag indicating if the settings are present.\n * @private\n */\n _hasSettings;\n\n constructor(data) {\n this._settings = data;\n this._hasSettings = this._settings ? this._settings.models.length > 0 : false;\n }\n\n /**\n * Returns a flat JSON representation of the settings where the keys are the setting keys and the values are the\n * setting values.\n * @returns {Object.<string, *>}\n */\n toFlatJSON() {\n const settings = {};\n\n const processField = (field) => {\n if (field.collection) {\n settings[field.key] = field.value;\n } else if (field.type === 'select') {\n settings[field.key] = field.value.value;\n } else {\n settings[field.key] = field.value;\n }\n // JSON type field value is string, and the backend doesn't expect it to be parsed, so we send it as is\n };\n\n this._settings.models.forEach((model) => {\n if (model instanceof DynamicFormField) {\n processField(model);\n } else {\n // Process both visible and hidden fields\n [...model.fields, ...model.hiddenFields].forEach(processField);\n }\n });\n\n return settings;\n }\n\n get hasSettings() {\n return this._hasSettings;\n }\n\n get settings() {\n return this._settings;\n }\n\n set settings(value) {\n this._settings = value;\n this._hasSettings = this._settings.models.length > 0;\n }\n}\n","export class GraphqlSchemaShapes {\n /**\n * @type {GraphqlSchemaShape[]}\n */\n _shapes;\n /**\n * @type {number}\n * @private\n */\n _size;\n /**\n * @type {boolean}\n * @private\n */\n _isEmpty;\n\n constructor(data) {\n this._shapes = data || [];\n this._size = this.shapes.length;\n this._isEmpty = this.shapes.length === 0;\n }\n\n /**\n * Process the shapes with the given predicate.\n * @param {function} predicate The predicate to apply to each shape.\n * @returns {GraphqlSchemaShape[]}\n */\n processShapes(predicate) {\n return this.shapes.map(predicate);\n }\n\n /**\n * Get the ids of the shapes.\n * @returns {string[]} The ids of the shapes.\n */\n getShapeIds() {\n return this.shapes.map(shape => shape.id);\n }\n\n get isEmpty() {\n return this._isEmpty;\n }\n\n get size() {\n return this._size;\n }\n\n get shapes() {\n return this._shapes;\n }\n\n set shapes(value) {\n this._shapes = value;\n this._size = this.shapes.length;\n this._isEmpty = this.shapes.length === 0;\n }\n\n toJSON() {\n return this.shapes.map(shape => shape.id);\n }\n}\n\nexport class GraphqlSchemaShape {\n /**\n * @type {string}\n */\n _id;\n /**\n * @type {string}\n */\n _name;\n /**\n * @type {string}\n */\n _label;\n /**\n * @type {string}\n */\n _description;\n\n constructor(data) {\n this._id = data.id;\n this._name = data.name;\n this._label = data.label;\n this._description = data.description;\n }\n\n get id() {\n return this._id;\n }\n\n set id(value) {\n this._id = value;\n }\n\n get name() {\n return this._name;\n }\n\n set name(value) {\n this._name = value;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get description() {\n return this._description;\n }\n\n set description(value) {\n this._description = value;\n }\n}\n","import {EndpointGenerationReport, EndpointGenerationReportList} from \"../../models/graphql/endpoint-generation-report\";\nimport {resolveGraphqlEndpoint} from \"./endpoint-utils\";\n\n/**\n * Maps the response from the endpoint generation to a list of endpoint generation reports.\n * @param {*[]} data The response data.\n * @param {string} repositoryId The repository id.\n * @returns {EndpointGenerationReportList}\n */\nexport const endpointGenerationReportListMapper = (data, repositoryId) => {\n if (!data) {\n return new EndpointGenerationReportList();\n }\n\n const reports = data.map((reportResponse) => endpointGenerationReportMapper(reportResponse, repositoryId));\n return new EndpointGenerationReportList(reports);\n}\n\n/**\n * Maps the response data to an endpoint generation report.\n * @param {*} reportResponse The response data.\n * @param {string} repositoryId The repository id.\n * @returns {EndpointGenerationReport} The endpoint generation report.\n */\nexport const endpointGenerationReportMapper = (reportResponse, repositoryId) => {\n return new EndpointGenerationReport({\n endpointId: reportResponse.id,\n endpointURI: resolveGraphqlEndpoint(repositoryId, reportResponse.id),\n active: reportResponse.active,\n default: reportResponse.default,\n label: reportResponse.label,\n description: reportResponse.description,\n lastModified: reportResponse.lastModified,\n objectsCount: reportResponse.objectsCount,\n propertiesCount: reportResponse.propertiesCount,\n warnings: reportResponse.warnings,\n errors: reportResponse.errors,\n messages: reportResponse.messages\n });\n}\n\n/**\n * Maps the endpoint definition import response to an endpoint generation report.\n * @param {*} importResponse The import response.\n * @param {string} endpointId The endpoint id.\n * @param {string} repositoryId The repository id.\n * @returns {EndpointGenerationReport}\n */\nexport const importEndpointDefinitionReportMapper = (importResponse, endpointId, repositoryId) => {\n const errorsCount = importResponse.messages ? importResponse.messages.errors?.length : 0;\n const warningsCount = importResponse.messages ? importResponse.messages.warnings?.length : 0;\n return new EndpointGenerationReport({\n endpointId: importResponse.id,\n endpointURI: resolveGraphqlEndpoint(repositoryId, importResponse.id),\n warnings: warningsCount,\n errors: errorsCount,\n messages: importResponse.messages\n });\n}\n","import {REPOSITORIES_ENDPOINT} from './repositories.rest.service';\nimport {GraphqlRestServiceMock} from \"./mock-backend/graphql-rest-service-mock\";\n\nangular\n .module('graphdb.framework.rest.graphql.service', [])\n .factory('GraphqlRestService', GraphqlRestService);\n\nGraphqlRestService.$inject = ['$http', 'Upload'];\n\n// const DEVELOPMENT = true;\nconst DEVELOPMENT = false;\n\nfunction GraphqlRestService($http, Upload) {\n const _mockBackend = new GraphqlRestServiceMock();\n\n /**\n * Get the GraphQL endpoints for the given repository.\n * @param {string} repositoryId The repository ID.\n * @return {*|Promise<unknown>}\n */\n const getEndpoints = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointsMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/endpoints`);\n };\n\n /**\n * Get the GraphQL endpoints info for the given repository.\n * @param {string} repositoryId The repository ID.\n * @param {string|undefined} lastModified The last modified date.\n * @return {*|Promise<unknown>}\n */\n const getEndpointsInfo = (repositoryId, lastModified) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointsInfoMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/list`);\n };\n\n /**\n * Get the GraphQL schema shapes for the given repository.\n * @param {string} repositoryId The repository ID.\n * @returns {*|Promise<unknown>}\n */\n const getGraphqlSchemaShapes = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getGraphqlSchemaShapesMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/graphql_shapes`);\n };\n\n /**\n * Get the prefixes for the given repository.\n * @param {string} repositoryId The repository ID.\n * @returns {*|Promise<unknown>}\n */\n const getPrefixes = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getPrefixesMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/prefixes`);\n };\n\n /**\n * Get the SHACL shape graphs for the given repository.\n * @param {string} repositoryId The repository ID.\n * @returns {*|Promise<unknown>} The SHACL shape graphs response.\n */\n const getShaclShapeGraphs = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getShaclGraphsMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/shacl_graphs`);\n };\n\n /**\n * Get the GraphQL generation settings from the backend.\n * @param {string} selectedSourceRepository The selected source repository.\n * @returns {*|Promise<unknown>}\n */\n const getGraphqlGenerationSettings = (selectedSourceRepository) => {\n if (DEVELOPMENT) {\n return _mockBackend.getGraphqlGenerationSettingsMock(selectedSourceRepository);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${selectedSourceRepository}/graphql/manage/generate/config`);\n };\n\n /**\n * Get the GraphQL endpoint configuration settings from the backend.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {*|Promise<unknown>}\n */\n const getGraphqlEndpointConfigurationSettings = (repositoryId, endpointId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointConfigurationMock();\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}/config`);\n };\n\n /**\n * Get the GraphQL endpoint configuration from the backend.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {*|Promise<unknown>}\n */\n const getEndpointConfiguration = (repositoryId, endpointId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointConfiguration();\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}`);\n };\n\n /**\n * Edit the GraphQL endpoint configuration.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @param {*} data The request payload.\n * @returns {*|Promise<unknown>}\n */\n const editEndpointConfiguration = (repositoryId, endpointId, data) => {\n if (DEVELOPMENT) {\n return _mockBackend.saveEndpointConfigurationMock();\n }\n return $http.post(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}`, data);\n };\n\n /**\n * Delete the GraphQL endpoint.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {*|Promise<unknown>}\n */\n const deleteEndpoint = (repositoryId, endpointId) => {\n if (DEVELOPMENT) {\n return _mockBackend.deleteEndpointMock(repositoryId, endpointId);\n }\n return $http.delete(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}`);\n };\n\n /**\n * Generate the GraphQL endpoint from the GraphQL schema shapes.\n * @param {string} repositoryId The active repository ID.\n * @param {*} payload The request payload for the generation.\n * @returns {*|Promise<unknown>}\n */\n const generateEndpointFromGraphqlShapes = (repositoryId, payload) => {\n if (DEVELOPMENT) {\n return _mockBackend.generateEndpointFromGraphqlShapesMock(payload);\n }\n return $http.post(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/generate/graphql_shapes`, payload);\n };\n\n /**\n * Generate the GraphQL endpoint from the OWL ontologies.\n * @param {string} repositoryId The active repository ID.\n * @param {*} payload The request payload for the generation.\n * @returns {*|Promise<unknown>}\n */\n const generateEndpointFromOwl = (repositoryId, payload) => {\n if (DEVELOPMENT) {\n return _mockBackend.generateEndpointFromOwl(payload);\n }\n return $http.post(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/generate/owl_shacl`, payload);\n };\n\n /**\n * Export the endpoint definition.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<unknown>} The response from the backend.\n */\n const exportEndpointDefinition = (repositoryId, endpointId) => {\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}/export`, {responseType: 'blob'});\n };\n\n /**\n * Import the endpoint definitions, either as a single file or as multiple files where the file type can be either\n * yaml or zip.\n * @param {string} repositoryId The repository ID.\n * @param {FormData|File} payload The request payload.\n * @returns {Promise<unknown>} The response from the backend.\n */\n const importEndpointDefinition = (repositoryId, payload) => {\n return Upload.http({\n url: `${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/import`,\n data: payload,\n headers: {\n 'Content-Type': undefined,\n },\n });\n };\n\n /**\n * Deletes the endpoint generation report by calling the backend.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<unknown>} The response from the backend.\n */\n const deleteEndpointGenerationReport = (repositoryId, endpointId) => {\n return $http.patch(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}/messages`);\n };\n\n return {\n getEndpoints,\n getEndpointsInfo,\n getGraphqlSchemaShapes,\n getPrefixes,\n getShaclShapeGraphs,\n getGraphqlGenerationSettings,\n getGraphqlEndpointConfigurationSettings,\n getEndpointConfiguration,\n editEndpointConfiguration,\n deleteEndpoint,\n generateEndpointFromGraphqlShapes,\n generateEndpointFromOwl,\n exportEndpointDefinition,\n importEndpointDefinition,\n deleteEndpointGenerationReport,\n };\n}\n","import {Prefix, PrefixList} from \"../../models/prefix/prefixes\";\nimport {SelectMenuOptionsModel} from \"../../models/form-fields\";\n\n/**\n * Maps the prefix list response data to a prefix list model.\n * @param {*} data The prefix list response data.\n * @returns {PrefixList}\n */\nexport const prefixListMapper = (data) => {\n if (!data && !data.prefixes) {\n return new PrefixList();\n }\n const prefixes = data.prefixes.map((endpoint) => prefixModelMapper(endpoint));\n return new PrefixList(prefixes);\n}\n\nconst prefixModelMapper = (data) => {\n if (!data) {\n return;\n }\n return new Prefix({\n prefix: data.prefix,\n namespace: data.namespace,\n sources: data.sources\n });\n}\n\n/**\n * Maps the prefix list to a list of select menu options.\n * @param {*} data The prefix list response data.\n * @returns {SelectMenuOptionsModel[]} The list of select menu options.\n */\nexport const prefixModelToSelectMenuOptionsMapper = (data) => {\n if (!data || !data.prefixes) {\n return [];\n }\n return data.prefixes.map((prefix) => {\n return new SelectMenuOptionsModel({\n value: prefix.prefix,\n label: prefix.prefix,\n selected: false\n });\n });\n}\n","/**\n * Model for a GraphQL endpoint as fetched by the GraphQL service.\n */\nexport class GraphqlEndpoint {\n constructor(data) {\n /**\n * @type {string}\n * @private\n */\n this._endpointId = data.endpointId;\n /**\n * @type {string}\n * @private\n */\n this._endpointURI = data.endpointURI;\n /**\n * @type {boolean}\n * @private\n */\n this._active = data.active;\n /**\n * @type {boolean}\n * @private\n */\n this._default = data.default;\n }\n\n get endpointId() {\n return this._endpointId;\n }\n\n set endpointId(value) {\n this._endpointId = value;\n }\n\n get endpointURI() {\n return this._endpointURI;\n }\n\n set endpointURI(value) {\n this._endpointURI = value;\n }\n\n get default() {\n return this._default;\n }\n\n set default(value) {\n this._default = value;\n }\n\n get active() {\n return this._active;\n }\n\n set active(value) {\n this._active = value;\n }\n}\n\n/**\n * Model for a list of GraphQL endpoints.\n */\nexport class GraphqlEndpointList {\n constructor(endpoints) {\n /**\n * @type {GraphqlEndpoint[]}\n * @private\n */\n this._endpoints = endpoints || [];\n }\n\n get endpoints() {\n return this._endpoints;\n }\n\n set endpoints(value) {\n this._endpoints = value;\n }\n}\n","import {GraphqlEndpoint, GraphqlEndpointList} from \"../../models/graphql/graphql-endpoints\";\nimport {SelectMenuOptionsModel} from \"../../models/form-fields\";\nimport {resolveGraphqlEndpoint} from \"./endpoint-utils\";\n\n/**\n * Maps the response from the server to a GraphqlEndpointList model.\n * @param {object} data - The response from the server.\n * @return {GraphqlEndpointList}\n */\nexport const endpointListMapper = (data) => {\n if (!data || !data.endpoints) {\n return new GraphqlEndpointList();\n }\n const endpointModels = data.endpoints.map((endpoint) => endpointModelMapper(endpoint));\n return new GraphqlEndpointList(endpointModels);\n};\n\n/**\n * Maps the response from the server to a GraphqlEndpoint model.\n * @param {object} data - The response from the server.\n * @return {GraphqlEndpoint}\n */\nexport const endpointModelMapper = (data) => {\n if (!data) {\n return;\n }\n return new GraphqlEndpoint({\n endpointId: data.endpointId,\n endpointURI: data.endpointURI,\n active: data.active,\n default: data.default\n });\n};\n\n/**\n * Maps the response from the server to a SelectMenuOptionsModel array.\n * @param {object} data - The response from the server.\n * @param {string} repositoryId - The repository id.\n * @return {SelectMenuOptionsModel[]}\n */\nexport const endpointsToSelectMenuOptionsMapper = (data, repositoryId) => {\n if (!data || !data.length) {\n return [];\n }\n return data.map((endpoint) => {\n return new SelectMenuOptionsModel({\n value: resolveGraphqlEndpoint(repositoryId, endpoint.id),\n label: endpoint.id,\n selected: endpoint.default,\n data: {\n active: endpoint.active,\n default: endpoint.default\n }\n });\n });\n};\n","import {cloneDeep} from \"lodash\";\n\nconst GET_ENDPOINTS_DELAY = 200;\nconst GET_ENDPOINTS_INFO_DELAY = 200;\n\nexport class GraphqlRestServiceMock {\n getEndpointsMock(repositoryId) {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(endpoints)}), GET_ENDPOINTS_DELAY);\n });\n }\n\n getEndpointsInfoMock(repositoryId) {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(endpointsInfo)}), GET_ENDPOINTS_INFO_DELAY);\n // setTimeout(() => resolve({data: cloneDeep(emptyEndpointsInfo)}), GET_ENDPOINTS_INFO_DELAY);\n });\n }\n\n getGraphqlSchemaShapesMock(repositoryId) {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(graphqlSchemaShapes)}), GET_ENDPOINTS_INFO_DELAY);\n });\n }\n\n getEndpointConfigurationMock() {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(endpointConfiguration)}), GET_ENDPOINTS_INFO_DELAY);\n });\n }\n\n getGraphqlGenerationSettingsMock() {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(configSettingsForRepo)}), GET_ENDPOINTS_INFO_DELAY);\n });\n }\n}\n\nconst endpoints = {\n \"repository\": \"swapi\",\n \"endpoints\": [\n {\n \"id\": \"swapi\",\n \"graphQL\": \"/rest/repositories/swapi/graphql/swapi\",\n \"active\": true,\n \"default\": true,\n },\n {\n \"id\": \"film-restricted\",\n \"graphQL\": \"/rest/repositories/swapi/graphql/film-restricted\",\n \"active\": true,\n \"default\": false,\n },\n {\n \"id\": \"swapi-charcters\",\n \"graphQL\": \"/rest/repositories/swapi/graphql/swapi-charcters\",\n \"active\": false,\n \"default\": false,\n },\n ],\n};\n\n// eslint-disable-next-line no-unused-vars\nconst emptyEndpointsInfo = {\n \"endpoints\": [],\n};\n\nconst endpointsInfo = {\n \"endpoints\": [\n {\n \"id\": \"gqlendpoint1\",\n \"endpointId\": \"swapi\",\n \"endpointURI\": \"/rest/repositories/swapi/graphql/swapi\",\n \"label\": \"SWAPI GraphQL endpoint\",\n \"description\": \"SWAPI GraphQL endpoint description\",\n \"default\": false,\n \"active\": true,\n \"lastModified\": \"2025-01-28\",\n \"objects_count\": 10,\n \"properties_count\": 120,\n \"warnings\": 0,\n \"errors\": 0,\n \"status\": \"\",\n },\n {\n \"id\": \"gqlendpoint2\",\n \"endpointId\": \"film-restricted\",\n \"endpointURI\": \"/rest/repositories/swapi/graphql/film-restricted\",\n \"label\": \"SWAPI GraphQL endpoint with restricted film relations\",\n \"description\": \"SWAPI GraphQL endpoint with restricted film relations description\",\n \"default\": true,\n \"active\": true,\n \"lastModified\": \"2025-01-28\",\n \"objects_count\": 13,\n \"properties_count\": 133,\n \"warnings\": 0,\n \"errors\": 0,\n \"status\": \"\",\n },\n {\n \"id\": \"gqlendpoint3\",\n \"endpointId\": \"swapi-characters\",\n \"endpointURI\": \"/rest/repositories/swapi/graphql/swapi-characters\",\n \"label\": \"SWAPI GraphQL endpoint for swapi characters\",\n \"description\": \"SWAPI GraphQL endpoint for swapi characters description\",\n \"default\": false,\n \"active\": false,\n \"lastModified\": \"2025-01-28\",\n \"objects_count\": 3,\n \"properties_count\": 20,\n \"warnings\": 0,\n \"errors\": 0,\n \"status\": \"\",\n },\n ],\n};\n\nconst graphqlSchemaShapes = {\n \"shapes\": [\n {\n \"id\": \"https://schema.ubs.net/schema/AIModelSchema\",\n \"name\": \"AI Model Schema\",\n \"label\": \"AI Model Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/AIProductSchema\",\n \"name\": \"AI Product Schema\",\n \"label\": \"AI Product Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DatabaseSchema\",\n \"name\": null,\n \"label\": \"Database Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/BbsPermissionSchema\",\n \"name\": null,\n \"label\": \"BBS Permissions\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataProductBasicSchema\",\n \"name\": null,\n \"label\": \"Data Product Basic Schema No Policy and No Provenance\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataQualityMetricSchema\",\n \"name\": null,\n \"label\": \"Data Quality Metric Schema\",\n \"description\": \"This is the basic schema for DQV initiated from Metric class\",\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataQualityObservationSchema\",\n \"name\": null,\n \"label\": \"Data Quality Observation Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DatasetSchema\",\n \"name\": null,\n \"label\": \"Dataset Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/ApplicationSchema\",\n \"name\": null,\n \"label\": \"Application Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/PolicyBasicSchema\",\n \"name\": null,\n \"label\": \"Policy Basic Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataQualityMeasurementSchema\",\n \"name\": null,\n \"label\": \"Data Quality Measurement Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataProductFullSchema\",\n \"name\": null,\n \"label\": \"Data Product Schema where datasets can also be defined\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/ValidationSchema\",\n \"name\": null,\n \"label\": \"Validation Schema\",\n \"description\": null,\n },\n {\n \"id\": \"https://schema.ubs.net/schema/WMAAccountSchema\",\n \"name\": null,\n \"label\": \"WMA Account Schema\",\n \"description\": null,\n },\n ],\n};\n\nconst endpointConfiguration = {\n configs: [\n {\n key: 'str',\n label: 'String',\n type: 'string',\n collection: false,\n value: 'strValue',\n values: [],\n regex: '^(?:ALL:?)?(?:(?:-?[\\\\w]{2}(?:-[\\\\w]*)?~?|-?NONE|ANY|BROWSER)?(?:,(?:-?[\\\\w]{2}(?:-[\\\\w]*)?~?|-?NONE|ANY|BROWSER))*)$',\n },\n {\n key: 'bool',\n label: 'Boolean value',\n description: '',\n type: 'boolean',\n collection: false,\n value: false,\n values: [],\n },\n {\n key: 'select',\n label: 'Select',\n type: '',\n collection: false,\n value: 'Two',\n values: ['One', 'Two', 'Three'],\n },\n {\n key: 'multiselect',\n label: 'Multiselect',\n type: '',\n collection: true,\n value: ['Angular', 'JavaScript'],\n values: ['Angular', 'JavaScript', 'WebDevelopment'],\n },\n {\n key: 'json',\n label: 'JSON',\n type: 'json',\n collection: false,\n value: '{\"foo\": \"bar\"}',\n values: [],\n required: true,\n },\n ],\n};\n\nconst configSettingsForRepo = {\n \"configs\": [\n {\n \"key\": \"stringMode\",\n \"value\": \"stringOrLangString\",\n \"label\": \"stringMode\",\n \"description\": \"Specifies the default string mode for data properties without a range definition\",\n \"type\": \"string\",\n \"collection\": false,\n \"values\": [\n \"string\",\n \"langString\",\n \"stringOrLangString\",\n ],\n \"required\": true,\n \"regex\": null,\n \"group\": \"generic\",\n \"hidden\": false,\n },\n {\n \"key\": \"useUnions\",\n \"value\": true,\n \"label\": \"useUnions\",\n \"description\": \"Should GraphQL Unions be used in the result model\",\n \"type\": \"boolean\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": null,\n \"group\": \"generic\",\n \"hidden\": false,\n },\n {\n \"key\": \"forceInterfaceTypes\",\n \"value\": false,\n \"label\": \"forceInterfaceTypes\",\n \"description\": \"Decide if parent types are always interfaces or split with interface and subclass\",\n \"type\": \"boolean\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": null,\n \"group\": \"generic\",\n \"hidden\": false,\n },\n {\n \"key\": \"defaultMaxCardinality\",\n \"value\": \"inf\",\n \"label\": \"defaultMaxCardinality\",\n \"description\": \"The default maximum cardinality for all values. This defines if properties without explicit cardinality configuration are by default multi or single valued.\",\n \"type\": \"string\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": \"^\\\\d+|inf$\",\n \"group\": \"generic\",\n \"hidden\": false,\n },\n {\n \"key\": \"readShaclPropertyLabels\",\n \"value\": true,\n \"label\": \"readShaclPropertyLabels\",\n \"description\": \"If the labels and description for the sh:PropertyShape should be used over the sh:path label and description\",\n \"type\": \"boolean\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": null,\n \"group\": \"generic\",\n \"hidden\": true,\n },\n {\n \"key\": \"removeUnknownRanges\",\n \"value\": true,\n \"label\": \"removeUnknownRanges\",\n \"description\": \"Should remove the invalid and undefined ranges \",\n \"type\": \"boolean\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": null,\n \"group\": \"dataCleanup\",\n \"hidden\": true,\n },\n {\n \"key\": \"cleanInvalidInverseOf\",\n \"value\": true,\n \"label\": \"cleanInvalidInverseOf\",\n \"description\": \"Try to fix invalid owl:inverseOf relations\",\n \"type\": \"boolean\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": null,\n \"group\": \"dataCleanup\",\n \"hidden\": true,\n },\n {\n \"key\": \"includeDeactivatedShapes\",\n \"value\": false,\n \"label\": \"includeDeactivatedShapes\",\n \"description\": \"Include the sh:deactivated shapes in the model\",\n \"type\": \"boolean\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": null,\n \"group\": \"dataCleanup\",\n \"hidden\": true,\n },\n {\n \"key\": \"readRBACRules\",\n \"value\": true,\n \"label\": \"readRBACRules\",\n \"description\": \"Read RBAC rules from the models\",\n \"type\": \"boolean\",\n \"collection\": false,\n \"values\": null,\n \"required\": false,\n \"regex\": null,\n \"group\": \"enterprise\",\n \"hidden\": true,\n },\n ],\n};\n","import {UpdateEndpointRequest} from \"./update-endpoint-request\";\n\nexport class GraphqlEndpointInfo {\n /**\n * @type {string} - The ID of the endpoint, like \"swapi\".\n * @private\n */\n _endpointId;\n /**\n * @type {string} - The URI of the endpoint, like \"http://swapi.dev/graphql/\".\n * @private\n */\n _endpointURI;\n /**\n * @type {string} - The label of the endpoint.\n * @private\n */\n _label;\n /**\n * @type {string} - The description of the endpoint.\n * @private\n */\n _description;\n /**\n * @type {boolean} - Indicates if the endpoint is the default one.\n * @private\n */\n _default;\n /**\n * @type {boolean} - Indicates if the endpoint is active.\n * @private\n */\n _active;\n /**\n * @type {string} - The last modified date of the endpoint.\n * @private\n */\n _lastModified;\n /**\n * @type {number} - The count of objects in the schema definition describing the endpoint.\n * @private\n */\n _objectsCount;\n /**\n * @type {number} - The count of properties in the schema definition describing the endpoint.\n * @private\n */\n _propertiesCount;\n /**\n * @type {string[]} - The list of warnings occurred during the endpoint creation.\n * @private\n */\n _warnings;\n /**\n * @type {string[]} - The list of errors occurred during the endpoint creation.\n * @private\n */\n _errors;\n\n /**\n * @type {boolean} - Indicates if the endpoint was created successfully\n * @private\n */\n _createdSuccessfully;\n\n constructor(data = {}) {\n this._endpointId = data.endpointId;\n this._endpointURI = data.endpointURI;\n this._label = data.label;\n this._description = data.description;\n this._default = data.default;\n this._active = data.active;\n this._lastModified = data.lastModified;\n this._objectsCount = data.objectsCount;\n this._propertiesCount = data.propertiesCount;\n this._warnings = data.warnings;\n this._errors = data.errors;\n this._createdSuccessfully = this._errors === 0;\n }\n\n /**\n * Converts the endpoint info to an update endpoint request.\n * @param {GraphqlEndpointConfigurationSettings} endpointSettings - The endpoint settings.\n * @returns {UpdateEndpointRequest}\n */\n toUpdateEndpointRequest(endpointSettings) {\n return new UpdateEndpointRequest({\n id: this.endpointId,\n label: this.label,\n description: this.description,\n active: this.active,\n default: this.default,\n options: endpointSettings\n });\n }\n\n get createdSuccessfully() {\n return this._createdSuccessfully;\n }\n\n get endpointId() {\n return this._endpointId;\n }\n\n set endpointId(value) {\n this._endpointId = value;\n }\n\n get endpointURI() {\n return this._endpointURI;\n }\n\n set endpointURI(value) {\n this._endpointURI = value;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get description() {\n return this._description;\n }\n\n set description(value) {\n this._description = value;\n }\n\n get default() {\n return this._default;\n }\n\n set default(value) {\n this._default = value;\n }\n\n get active() {\n return this._active;\n }\n\n set active(value) {\n this._active = value;\n }\n\n get lastModified() {\n return this._lastModified;\n }\n\n set lastModified(value) {\n this._lastModified = value;\n }\n\n get objectsCount() {\n return this._objectsCount;\n }\n\n set objectsCount(value) {\n this._objectsCount = value;\n }\n\n get propertiesCount() {\n return this._propertiesCount;\n }\n\n set propertiesCount(value) {\n this._propertiesCount = value;\n }\n\n get warnings() {\n return this._warnings;\n }\n\n set warnings(value) {\n this._warnings = value;\n }\n\n get errors() {\n return this._errors;\n }\n\n set errors(value) {\n this._errors = value;\n }\n}\n\nexport class GraphqlEndpointsInfoList {\n /**\n * @type {GraphqlEndpointInfo[]} - The original list of endpoints that should remain unchanged.\n * @private\n */\n _originalEndpointsList;\n /**\n * @type {GraphqlEndpointInfo[]} - The filtered list of endpoints.\n * @private\n */\n _endpoints;\n\n constructor(endpoints) {\n this._originalEndpointsList = endpoints || [];\n this._endpoints = endpoints || [];\n }\n\n /**\n * Updates a specific endpoint in the list.\n * @param {GraphqlEndpointInfo} endpointInfo - The endpoint info to update.\n */\n updateEndpoint(endpointInfo) {\n const index = this._endpoints.findIndex((endpoint) => endpoint.endpointId === endpointInfo.endpointId);\n if (index !== -1) {\n this._endpoints[index] = endpointInfo;\n }\n }\n\n /**\n * Filters the endpoints by the given term.\n * @param {string} filterTerm - The term to filter by.\n */\n filter(filterTerm) {\n this._endpoints = this._originalEndpointsList\n .filter((endpoint) => {\n return endpoint.endpointId.toLowerCase().includes(filterTerm.toLowerCase()) ||\n endpoint.label?.toLowerCase().includes(filterTerm.toLowerCase());\n });\n }\n\n /**\n * Finds the default endpoint.\n * @returns {GraphqlEndpointInfo|undefined} - The default endpoint if any.\n */\n findDefaultEndpoint() {\n return this._endpoints.find((endpoint) => endpoint.default);\n }\n\n get endpoints() {\n return this._endpoints;\n }\n\n set endpoints(value) {\n this._endpoints = value;\n }\n}\n","/**\n * Constants for the view URLs.\n * @type {{[string]: string}}\n */\nexport const endpointUrl = {\n PLAYGROUND: 'graphql/playground',\n CREATE_ENDPOINT: 'graphql/endpoint/create',\n ENDPOINT_MANAGEMENT: 'graphql/endpoints'\n};\n","import {endpointUrl} from \"../models/endpoints\";\nimport {REPOSITORIES_ENDPOINT} from \"../../rest/repositories.rest.service\";\n\n/**\n * Utility function to resolve the GraphQL endpoint URL based on the active repository and the actual graphql endpoint IDs.\n * @param {string} repositoryId The active repository ID.\n * @param {string} graphqlEndpointId The GraphQL endpoint ID.\n * @returns {`rest/repositories/${string}/graphql/${string}`}\n */\nexport const resolveGraphqlEndpoint = (repositoryId, graphqlEndpointId) => {\n return `${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/${graphqlEndpointId}`;\n}\n\n/**\n * Resolves the playground URL with the given endpoint ID as a query parameter.\n * @param {string} endpointId - The endpoint ID.\n * @returns {`/graphql/playground?endpointId=${string}`}\n */\nexport const resolvePlaygroundUrlWithEndpoint = (endpointId) => {\n return `${endpointUrl.PLAYGROUND}?endpointId=${endpointId}`;\n}\n","import {GraphListOptions, GraphOption} from \"../../models/graphs/graph-list-options\";\n\n/**\n * Maps the response data to a GraphList.\n * @param {*} data The shacl shape graphs response data.\n * @returns {GraphListOptions} The mapped shacl shape graph list.\n */\nexport const shaclShapeGraphListOptionsMapper = (data) => {\n if (!data || !data.shacl_graphs) {\n return new GraphListOptions();\n }\n const graphModels = data.shacl_graphs.map((graph) => {\n return new GraphOption({\n uri: graph,\n label: graph,\n id: graph\n });\n });\n return new GraphListOptions(graphModels);\n}\n"],"names":["UpdateEndpointRequest","_id","_label","_description","_active","_default","_options","constructor","data","this","id","label","description","active","default","options","getUpdateDefaultEndpointRequest","getUpdateEndpointActiveStateRequest","getUpdateEndpointSettingsRequest","toFlatJSON","value","DynamicFormField","_key","_type","_collection","_value","_values","_regex","_required","_group","hidden","key","type","collection","values","regex","RegExp","required","group","_hidden","FIELD_TYPE","STRING","TEXT","BOOLEAN","JSON","SELECT","MULTI_SELECT","EndpointGenerationReportList","_reports","getReport","endpointId","find","report","reports","EndpointGenerationReport","_endpointId","_endpointURI","_lastModified","_objectsCount","_propertiesCount","_warnings","_errors","_messages","_createdSuccessfully","endpointURI","lastModified","objectsCount","propertiesCount","warnings","errors","messages","toJSON","createdSuccessfully","endpointsInfoListMapper","repositoryId","endpoints","GraphqlEndpointsInfoList","endpointModels","map","endpoint","endpointInfoModelMapper","GraphqlEndpointInfo","resolveGraphqlEndpoint","graphqlSchemaShapesMapper","shapes","GraphqlSchemaShapes","shapeModels","shape","shapeModelMapper","GraphqlSchemaShape","name","GraphqlService","GraphqlRestService","getEndpointsCountToGenerate","endpointConfiguration","count","generateFromGraphqlSchemaShapes","getSelectedGraphqlSchemaShapesCount","generateFromShaclShapes","getGenerateEndpointsOverview","GraphqlEndpointOverviewList","shapesOverview","getSelectedGraphqlSchemaShapesOverview","getEndpoints","then","response","endpointListMapper","getEndpointsAsSelectMenuOptions","endpointsToSelectMenuOptionsMapper","getEndpointsInfo","getGraphqlSchemaShapes","getPrefixListAsSelectOptions","getPrefixes","prefixModelToSelectMenuOptionsMapper","getShaclShapeGraphs","shaclShapeGraphListOptionsMapper","getGraphqlGenerationSettings","selectedSourceRepository","fieldsModel","dynamicFormModelMapper","GraphqlEndpointConfigurationSettings","getGraphqlEndpointConfigurationSettings","getEndpointConfiguration","getEndpointConfigurationReport","endpointGenerationReportListMapper","editEndpointConfiguration","updateEndpointRequest","deleteEndpoint","generateEndpointFromGraphqlShapes","request","generateEndpointFromOwl","exportEndpointDefinition","res","contentDispositionHeader","headers","filename","split","replace","importEndpointDefinition","payload","deleteEndpointGenerationReport","angular","module","factory","$inject","ENDPOINT_GENERATION_STATUS","NONE","SUCCESS","ERROR","_endpointList","endpointList","GraphqlEndpointOverview","_uri","_status","uri","status","configs","DynamicFormModel","fields","buildFieldModels","buildFormModel","models","forEach","field","push","model","groupId","DynamicFormGroup","hiddenFields","config","resolveType","mappedValues","selectedValue","option","isSelected","Array","isArray","indexOf","menuOption","SelectMenuOptionsModel","selected","dynamicFormFieldMapper","CONFIG_TYPE","length","_models","_groupId","_fields","_hiddenFields","PrefixList","_prefixes","prefixes","Prefix","_prefix","_namespace","_sources","prefix","namespace","sources","_settings","_hasSettings","settings","processField","hasSettings","_shapes","_size","_isEmpty","processShapes","predicate","getShapeIds","isEmpty","size","_name","reportResponse","endpointGenerationReportMapper","importEndpointDefinitionReportMapper","importResponse","errorsCount","warningsCount","DEVELOPMENT","$http","Upload","_mockBackend","GraphqlRestServiceMock","getEndpointsMock","get","REPOSITORIES_ENDPOINT","getEndpointsInfoMock","getGraphqlSchemaShapesMock","getPrefixesMock","getShaclGraphsMock","getGraphqlGenerationSettingsMock","getEndpointConfigurationMock","saveEndpointConfigurationMock","post","deleteEndpointMock","delete","generateEndpointFromGraphqlShapesMock","responseType","http","url","undefined","patch","prefixListMapper","prefixModelMapper","GraphqlEndpoint","GraphqlEndpointList","_endpoints","endpointModelMapper","GET_ENDPOINTS_INFO_DELAY","Promise","resolve","setTimeout","cloneDeep","endpointsInfo","graphqlSchemaShapes","configSettingsForRepo","toUpdateEndpointRequest","endpointSettings","_originalEndpointsList","updateEndpoint","endpointInfo","index","findIndex","filter","filterTerm","toLowerCase","includes","findDefaultEndpoint","endpointUrl","PLAYGROUND","CREATE_ENDPOINT","ENDPOINT_MANAGEMENT","graphqlEndpointId","resolvePlaygroundUrlWithEndpoint","shacl_graphs","GraphListOptions","graphModels","graph","GraphOption"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=15535;export const __webpack_ids__=[15535];export const __webpack_modules__={15535:(e,t,s)=>{s.r(t),s.d(t,{default:()=>a});const a='<script type="text/ng-template" id="popover-content-user.html"> <h5>{{\'security.user.may\' | translate}}</h5>\n\t<ul>\n <li>{{\'security.use.gdb\' | translate}}</li>\n\t <li>{{\'security.grant.read.access\' | translate}}</li>\n\t\t<li>{{\'security.grant.read.write.access\' | translate}}</li>\n </ul> <\/script> <script type="text/ng-template" id="popover-content-repo-manager.html"> <h5>{{\'security.repo.manager.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t</ul> <\/script> <script type="text/ng-template" id="popover-content-admin.html"> <h5>{{\'security.admin.may\' | translate}}</h5>\n\t<ul>\n\t\t<li>{{\'security.use.gdb\' | translate}}</li>\n\t\t<li>{{\'security.read.write.all.repos\' | translate}}</li>\n\t\t<li>{{\'security.create.edit.delete.repos\' | translate}}</li>\n\t\t<li>{{\'security.access.monitoring\' | translate}}</li>\n\t\t<li>{{\'security.attach.remote.locations\' | translate}}</li>\n\t\t<li>{{\'security.manage.users.access\' | translate}}</li>\n\t\t<li>{{\'security.manage.cluster\' | translate}}</li>\n\t\t<li>{{\'security.view.sys.info\' | translate}}</li>\n\t</ul> <\/script> <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=3.2.0-TR1" rel="stylesheet"/> <link href="css/user.css?v=3.2.0-TR1" rel="stylesheet"/> <h1> {{pageTitle}} <page-info-tooltip></page-info-tooltip> </h1> <div id="wb-user" class="wb-user" ng-hide="loader"> <form name="form" class="form newUserForm userForm editUserContainer" ng-submit="submit()" novalidate> <div class="row"> <div class="col-md-6 us-left-col"> <div class="card login-credentials" ng-hide="isOverrideAuth() || !isLocalAuthentication()"> <div class="card-block"> <h3>{{\'view.login.title\' | translate}}</h3> <div class="form-group" ng-class="{\'has-danger\': usernameError}"> <div class="input-group"> <span class="input-group-addon" gdb-tooltip="{{\'security.table.username\' | translate}}"><i class="fa-solid fa-user text-muted"></i></span> <input id="wb-user-username" placeholder="{{\'security.table.username\' | translate}}" name="username" class="form-control form-control-lg" type="text" ng-model="user.username" ng-readonly="mode !== \'add\'"> </div> <div ng-show="usernameError" class="form-control-feedback">{{usernameError}}</div> </div> <div class="form-group" ng-class="{\'has-danger\': passwordError}"> <div class="input-group"> <span class="input-group-addon" gdb-tooltip="{{\'security.password.placeholder\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span> <input id="wb-user-password" placeholder="{{passwordPlaceholder | translate}}" name="password" class="form-control form-control-lg" type="password" ng-model="user.password" ng-hide="user.external || hasExternalAuthUser()" ng-readonly="noPassword"> <span ng-show="user.external || hasExternalAuthUser()">{{\'security.auth.from.external.module\' | translate}}</span> </div> <div ng-show="passwordError" class="form-control-feedback">{{passwordError}}</div> </div> <div class="form-group" ng-class="{\'has-danger\': confirmPasswordError}" ng-hide="user.external || hasExternalAuthUser()"> <div class="input-group"> <span class="input-group-addon" gdb-tooltip="{{\'security.password.confirm\' | translate}}"><em class="icon-lock icon-2x text-muted"></em></span> <input id="wb-user-confirmpassword" placeholder="{{\'security.password.confirm\' | translate}}" name="password_confirm" class="form-control form-control-lg" type="password" ng-model="user.confirmpassword" ng-readonly="noPassword"> </div> <div ng-show="confirmPasswordError" class="form-control-feedback">{{confirmPasswordError}}</div> </div> <div> <label class="d-block"> <input type="checkbox" id="noPassword" ng-model="noPassword" ng-change="setNoPassword()"> <span ng-show="mode === \'add\'">{{\'security.dont.set.password\' | translate}} </span> <span ng-show="mode !== \'add\'">{{\'security.unset.password\' | translate}} </span> </label> </div> </div> </div> <div class="card sparql-editor-settings" id="user-settings"> <div class="card-block"> <h3>{{\'security.user.settings\' | translate}}</h3> <div id="sameas-on" class="mb-1"> <span class="sameas-label"> {{\'security.expand.sameAs.is\' | translate}} <span class="tag {{user.appSettings.DEFAULT_SAMEAS ? \'tag-primary\' : \'tag-default\'}}"> {{user.appSettings.DEFAULT_SAMEAS ? \'common.on.btn\' : \'common.off.btn\' | translate}} </span> </span> <span gdb-tooltip="{{shouldDisableSameAs() ? \'core.require.inferred\' : \'security.tooltip.click.me\' | translate}}" tooltip-placement="top" ng-click="user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS" class="switch mr-0"> <input id="sameAsCheck" type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_SAMEAS" ng-disabled="shouldDisableSameAs()"/> <label for="sameas-on"></label> </span> {{\'security.default.editor.graph\' | translate}} </div> <div id="inference-on" class="mb-1"> <span class="inference-label"> {{\'security.inference.is\' | translate}} <span class="tag {{user.appSettings.DEFAULT_INFERENCE ? \'tag-primary\' : \'tag-default\'}}"> {{user.appSettings.DEFAULT_INFERENCE ? \'common.on.btn\' : \'common.off.btn\' | translate}} </span> </span> <span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top" ng-click="user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE" class="switch mr-0"> <input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_INFERENCE"/> <label for="inference-on"></label> </span> {{\'security.default.editor.graph\' | translate}} </div> <div id="schema-on" class="mb-1"> <span class="schema-label"> {{\'security.show.schema\' | translate}} <span class="tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'tag-primary\' : \'tag-default\'}}"> {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? \'common.on.btn\' : \'common.off.btn\' | translate}} </span> <span gdb-tooltip="{{\'security.tooltip.click.me\' | translate}}" tooltip-placement="top" ng-click="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA" class="switch mr-0"> <input type="checkbox" class="switch" ng-checked="user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA"/> <label for="schema-on"></label> </span> {{\'security.default.visual.graph\' | translate}} </span> </div> <label class="d-block"> <input type="checkbox" ng-model="user.appSettings.EXECUTE_COUNT" id="defaultCount" checked="appSettings.EXECUTE_COUNT"> {{\'security.count.total.results\' | translate}} </label> <label class="d-block"> <input type="checkbox" ng-model="user.appSettings.IGNORE_SHARED_QUERIES" id="ignore-shared" checked="appSettings.IGNORE_SHARED_QUERIES"> {{\'security.ignore.shared.queries\' | translate}} </label> <label class="d-block" ng-if="showCookiePolicyLink"> <button class="btn btn-secondary show-cookie-policy-btn" ng-click="showCookiePolicy($event)">{{\'cookie.cookie_policy_url_label\' | translate}}</button> </label> </div> </div> <div class="card" id="workbench-settings" ng-if="showWorkbenchSettings"> <div class="card-block"> <h3>{{\'security.workbench.settings.title\' | translate}} <em class="icon-info text-tertiary small" gdb-tooltip="{{\'security.workbench.settings.theme.tooltip\' | translate}}"></em></h3> <div> <div class="form-group"> <label class="col-lg-2">{{\'security.workbench.settings.theme.label\' | translate}}</label> <div class="btn-group theme-selector-dropdown" uib-dropdown> <button type="button" class="btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn" uib-dropdown-toggle> {{selectedTheme.label}} </button> <ul class="dropdown-menu" role="menu"> <li ng-repeat="theme in themes"> <a ng-click="setTheme(theme)" class="dropdown-item">{{theme.label}}</a> </li> </ul> </div> </div> <div class="form-group"> <label class="col-lg-2">{{\'security.workbench.settings.theme.mode.label\' | translate}}</label> <div class="radio"> <label class="px-1"> <input type="radio" value="light" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/> {{\'security.workbench.settings.theme.mode.light\' | translate}} </label> <label class="px-1"> <input type="radio" value="dark" ng-model="workbenchSettings.mode" ng-change="setThemeMode()"/> {{\'security.workbench.settings.theme.mode.dark\' | translate}} </label> </div> </div> </div> </div> </div> </div> <div class="col-md-6 us-right-col" ng-hide="!isLocalAuthentication()"> <div class="card user-role" id="user-roles"> <div class="card-block"> <h3>{{\'security.user.role\' | translate}}</h3> <label class="mr-1" uib-popover-template="\'popover-content-user.html\'" popover-trigger="mouseenter" popover-placement="bottom"> <input type="radio" ng-model="userType" id="roleUser" value="user" ng-disabled="hasEditRestrictions()"> {{\'security.user.label\' | translate}} </label> <label class="mr-1" uib-popover-template="\'popover-content-repo-manager.html\'" popover-trigger="mouseenter" popover-placement="bottom"> <input type="radio" ng-model="userType" id="roleRepoAdmin" value="repoManager" ng-disabled="hasEditRestrictions()"> {{\'security.repo.manager.label\' | translate}} </label> <label uib-popover-template="\'popover-content-admin.html\'" popover-trigger="mouseenter" popover-placement="bottom"> <input type="radio" ng-model="userType" id="roleAdmin" value="admin" ng-disabled="hasEditRestrictions()"> {{\'security.admin.label\' | translate}} </label> </div> </div> <div class="card user-custom-roles" id="user-custom-roles"> <div class="card-block"> <h3>{{\'security.user.custom_role\' | translate}}</h3> <div class="input-group"> <tags-input name="customRoleTag" class="wb-tags-input" ng-model="customRoles" min-length="1" ng-disabled="!isUser() || mode === \'settings\'" use-strings="true" add-on-space="true" add-on-comma="true" add-on-paste="true" replace-spaces-with-dashes="false" paste-split-pattern="[\\s+]" on-tag-adding="isCustomRoleValid($tag)" on-tag-added="addCustomRole($tag)" ng-keydown="checkUserInput($event)" ng-cut="removeErrorOnCut()" placeholder="{{\'security.user.add.custom_role.msg\' | translate}}" custom-prefix-tags-input></tags-input> <div class="small" ng-hide="isRoleValid"> <small>{{\'security.user.role.too.short\' | translate}}</small> </div> <div class="small prefix-warning" ng-if="form.customRoleTag.$warning"> <small>{{\'acl_management.rulestable.custom_prefix_warning.text\' | translate}}</small> </div> </div> </div> </div> <div id="user-repos" class="card user-repositories"> <div class="card-block"> <h3>{{\'security.repo.rights\' | translate}}</h3> <div class="has-danger"> <p ng-show="repositoryCheckError" class="form-control-feedback"> {{\'security.user.rights\' | translate}} </p> </div> <div class="scrollable-table"> <table class="table table-hover table-sm table-fixed bordered-table" aria-describedby="User rights table"> <thead> <tr> <th id="repositoryIdColumn" class="repository-column auth-column">{{\'security.repository.title\' | translate}}</th> <th id="readRightsColumn" class="text-xs-center read-column auth-column"><span class="auth-column-label">{{\'security.label.read\' | translate}}</span><em class="icon-eye icon-lg" gdb-tooltip="{{\'security.tooltip.read\' | translate}}"></em></th> <th id="writeRightColumn" class="text-xs-center write-column auth-column"><span class="auth-column-label">{{\'security.label.write\' | translate}}</span><em class="icon-edit icon-lg" gdb-tooltip="{{\'security.tooltip.write\' | translate}}"></em></th> <th id="graphql" class="text-xs-center auth-column graphql-column"><span class="auth-column-label">{{\'security.label.graphql\' | translate}}</span></th> </tr> <tr> <th>{{\'security.any.data.repo\' | translate}} <em class="icon-info text-tertiary" gdb-tooltip="{{\'security.data.repos\' | translate}}"></em> </th> <th class="text-xs-center"> <span ng-click="setGrantedAuthorities()"> <input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[\'*\']" ng-checked="hasReadPermission(\'*\')" ng-disabled="readCheckDisabled(\'*\')"> </span> </th> <th class="text-xs-center write-any"> <span ng-click="setGrantedAuthorities()"> <input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[\'*\']" ng-checked="hasWritePermission(\'*\')" ng-disabled="writeCheckDisabled(\'*\')"> </span> </th> <th class="text-xs-center"> <span ng-click="setGrantedAuthorities()"> <input class="graphql" type="checkbox" ng-model="grantedAuthorities.GRAPHQL[\'*\']" ng-checked="hasGraphqlPermission(\'*\')" ng-disabled="graphqlCheckDisabled(\'*\')"> </span> </th> </tr> </thead> <tbody> <div> <tr ng-repeat="repository in getReadableRepositories() | orderBy: [\'location\', \'id\']"> <td class="repository-name">{{repository.id}}<small><em ng-if="(hasGraphqlPermission(repository) || hasGraphqlPermission(\'*\')) && (hasReadPermission(repository) || hasReadPermission(\'*\') || hasWritePermission(repository) || hasWritePermission(\'*\'))" class="fa-kit fa-gdb-graphql graphql-icon text-info" gdb-tooltip="{{\'security.tooltip.graphql\' | translate}}"></em> &middot; {{repository.location ? repository.location : \'repo.local\' | translate}}</small></td> <td class="text-xs-center read-rights"> <span ng-click="setGrantedAuthorities()"> <input class="read" type="checkbox" ng-model="grantedAuthorities.READ_REPO[createUniqueKey(repository)]" ng-checked="hasReadPermission(repository)" ng-disabled="readCheckDisabled(repository)"> </span> </td> <td class="text-xs-center write-rights"> <span ng-click="setGrantedAuthorities()"> <input class="write" type="checkbox" ng-model="grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]" ng-checked="hasWritePermission(repository)" ng-disabled="writeCheckDisabled(repository)"> </span> </td> <td class="text-xs-center graphql-rights"> <span ng-click="setGrantedAuthorities()"> <input class="graphql" type="checkbox" ng-model="grantedAuthorities.GRAPHQL[createUniqueKey(repository)]" ng-checked="hasGraphqlPermission(repository)" ng-disabled="graphqlCheckDisabled(repository)"> </span> </td> </tr> </div> </tbody> </table> </div> </div> </div> </div> </div> <div class="text-right"> <button id="wb-user-goBack" class="btn btn-secondary" type="button" ng-click="goBack()">{{\'common.cancel.btn\' | translate}}</button> <button id="wb-user-submit" class="btn btn-primary" type="submit" ng-disabled="!isRoleValid">{{saveButtonText}}</button> </div> </form> </div> <div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="loader"></div> '}};
2
+ //# sourceMappingURL=15535.ce8d657c04f3401b9539.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"15535.ce8d657c04f3401b9539.bundle.js","mappings":"uJAwBA,QAvBW,+vc","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/security/templates/user.html"],"sourcesContent":["// Module\nvar code = `${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-user.html\"> <h5>{{'security.user.may' | translate}}</h5>\n\t<ul>\n <li>{{'security.use.gdb' | translate}}</li>\n\t <li>{{'security.grant.read.access' | translate}}</li>\n\t\t<li>{{'security.grant.read.write.access' | translate}}</li>\n </ul> ${\"<\" + \"/script\"}> ${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-repo-manager.html\"> <h5>{{'security.repo.manager.may' | translate}}</h5>\n\t<ul>\n\t\t<li>{{'security.use.gdb' | translate}}</li>\n\t\t<li>{{'security.read.write.all.repos' | translate}}</li>\n\t\t<li>{{'security.create.edit.delete.repos' | translate}}</li>\n\t\t<li>{{'security.access.monitoring' | translate}}</li>\n\t</ul> ${\"<\" + \"/script\"}> ${\"<\" + \"script\"} type=\"text/ng-template\" id=\"popover-content-admin.html\"> <h5>{{'security.admin.may' | translate}}</h5>\n\t<ul>\n\t\t<li>{{'security.use.gdb' | translate}}</li>\n\t\t<li>{{'security.read.write.all.repos' | translate}}</li>\n\t\t<li>{{'security.create.edit.delete.repos' | translate}}</li>\n\t\t<li>{{'security.access.monitoring' | translate}}</li>\n\t\t<li>{{'security.attach.remote.locations' | translate}}</li>\n\t\t<li>{{'security.manage.users.access' | translate}}</li>\n\t\t<li>{{'security.manage.cluster' | translate}}</li>\n\t\t<li>{{'security.view.sys.info' | translate}}</li>\n\t</ul> ${\"<\" + \"/script\"}> <link href=\"css/lib/ng-tags-input/ng-tags-input.min.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <link href=\"css/user.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <h1> {{pageTitle}} <page-info-tooltip></page-info-tooltip> </h1> <div id=\"wb-user\" class=\"wb-user\" ng-hide=\"loader\"> <form name=\"form\" class=\"form newUserForm userForm editUserContainer\" ng-submit=\"submit()\" novalidate> <div class=\"row\"> <div class=\"col-md-6 us-left-col\"> <div class=\"card login-credentials\" ng-hide=\"isOverrideAuth() || !isLocalAuthentication()\"> <div class=\"card-block\"> <h3>{{'view.login.title' | translate}}</h3> <div class=\"form-group\" ng-class=\"{'has-danger': usernameError}\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.table.username' | translate}}\"><i class=\"fa-solid fa-user text-muted\"></i></span> <input id=\"wb-user-username\" placeholder=\"{{'security.table.username' | translate}}\" name=\"username\" class=\"form-control form-control-lg\" type=\"text\" ng-model=\"user.username\" ng-readonly=\"mode !== 'add'\"> </div> <div ng-show=\"usernameError\" class=\"form-control-feedback\">{{usernameError}}</div> </div> <div class=\"form-group\" ng-class=\"{'has-danger': passwordError}\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.password.placeholder' | translate}}\"><em class=\"icon-lock icon-2x text-muted\"></em></span> <input id=\"wb-user-password\" placeholder=\"{{passwordPlaceholder | translate}}\" name=\"password\" class=\"form-control form-control-lg\" type=\"password\" ng-model=\"user.password\" ng-hide=\"user.external || hasExternalAuthUser()\" ng-readonly=\"noPassword\"> <span ng-show=\"user.external || hasExternalAuthUser()\">{{'security.auth.from.external.module' | translate}}</span> </div> <div ng-show=\"passwordError\" class=\"form-control-feedback\">{{passwordError}}</div> </div> <div class=\"form-group\" ng-class=\"{'has-danger': confirmPasswordError}\" ng-hide=\"user.external || hasExternalAuthUser()\"> <div class=\"input-group\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{'security.password.confirm' | translate}}\"><em class=\"icon-lock icon-2x text-muted\"></em></span> <input id=\"wb-user-confirmpassword\" placeholder=\"{{'security.password.confirm' | translate}}\" name=\"password_confirm\" class=\"form-control form-control-lg\" type=\"password\" ng-model=\"user.confirmpassword\" ng-readonly=\"noPassword\"> </div> <div ng-show=\"confirmPasswordError\" class=\"form-control-feedback\">{{confirmPasswordError}}</div> </div> <div> <label class=\"d-block\"> <input type=\"checkbox\" id=\"noPassword\" ng-model=\"noPassword\" ng-change=\"setNoPassword()\"> <span ng-show=\"mode === 'add'\">{{'security.dont.set.password' | translate}} </span> <span ng-show=\"mode !== 'add'\">{{'security.unset.password' | translate}} </span> </label> </div> </div> </div> <div class=\"card sparql-editor-settings\" id=\"user-settings\"> <div class=\"card-block\"> <h3>{{'security.user.settings' | translate}}</h3> <div id=\"sameas-on\" class=\"mb-1\"> <span class=\"sameas-label\"> {{'security.expand.sameAs.is' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_SAMEAS ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_SAMEAS ? 'common.on.btn' : 'common.off.btn' | translate}} </span> </span> <span gdb-tooltip=\"{{shouldDisableSameAs() ? 'core.require.inferred' : 'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_SAMEAS = !user.appSettings.DEFAULT_SAMEAS\" class=\"switch mr-0\"> <input id=\"sameAsCheck\" type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_SAMEAS\" ng-disabled=\"shouldDisableSameAs()\"/> <label for=\"sameas-on\"></label> </span> {{'security.default.editor.graph' | translate}} </div> <div id=\"inference-on\" class=\"mb-1\"> <span class=\"inference-label\"> {{'security.inference.is' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_INFERENCE ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_INFERENCE ? 'common.on.btn' : 'common.off.btn' | translate}} </span> </span> <span gdb-tooltip=\"{{'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_INFERENCE = !user.appSettings.DEFAULT_INFERENCE\" class=\"switch mr-0\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_INFERENCE\"/> <label for=\"inference-on\"></label> </span> {{'security.default.editor.graph' | translate}} </div> <div id=\"schema-on\" class=\"mb-1\"> <span class=\"schema-label\"> {{'security.show.schema' | translate}} <span class=\"tag {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? 'tag-primary' : 'tag-default'}}\"> {{user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA ? 'common.on.btn' : 'common.off.btn' | translate}} </span> <span gdb-tooltip=\"{{'security.tooltip.click.me' | translate}}\" tooltip-placement=\"top\" ng-click=\"user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA = !user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA\" class=\"switch mr-0\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA\"/> <label for=\"schema-on\"></label> </span> {{'security.default.visual.graph' | translate}} </span> </div> <label class=\"d-block\"> <input type=\"checkbox\" ng-model=\"user.appSettings.EXECUTE_COUNT\" id=\"defaultCount\" checked=\"appSettings.EXECUTE_COUNT\"> {{'security.count.total.results' | translate}} </label> <label class=\"d-block\"> <input type=\"checkbox\" ng-model=\"user.appSettings.IGNORE_SHARED_QUERIES\" id=\"ignore-shared\" checked=\"appSettings.IGNORE_SHARED_QUERIES\"> {{'security.ignore.shared.queries' | translate}} </label> <label class=\"d-block\" ng-if=\"showCookiePolicyLink\"> <button class=\"btn btn-secondary show-cookie-policy-btn\" ng-click=\"showCookiePolicy(\\$event)\">{{'cookie.cookie_policy_url_label' | translate}}</button> </label> </div> </div> <div class=\"card\" id=\"workbench-settings\" ng-if=\"showWorkbenchSettings\"> <div class=\"card-block\"> <h3>{{'security.workbench.settings.title' | translate}} <em class=\"icon-info text-tertiary small\" gdb-tooltip=\"{{'security.workbench.settings.theme.tooltip' | translate}}\"></em></h3> <div> <div class=\"form-group\"> <label class=\"col-lg-2\">{{'security.workbench.settings.theme.label' | translate}}</label> <div class=\"btn-group theme-selector-dropdown\" uib-dropdown> <button type=\"button\" class=\"btn btn-sm btn-secondary dropdown-toggle theme-selector-dropdown-btn\" uib-dropdown-toggle> {{selectedTheme.label}} </button> <ul class=\"dropdown-menu\" role=\"menu\"> <li ng-repeat=\"theme in themes\"> <a ng-click=\"setTheme(theme)\" class=\"dropdown-item\">{{theme.label}}</a> </li> </ul> </div> </div> <div class=\"form-group\"> <label class=\"col-lg-2\">{{'security.workbench.settings.theme.mode.label' | translate}}</label> <div class=\"radio\"> <label class=\"px-1\"> <input type=\"radio\" value=\"light\" ng-model=\"workbenchSettings.mode\" ng-change=\"setThemeMode()\"/> {{'security.workbench.settings.theme.mode.light' | translate}} </label> <label class=\"px-1\"> <input type=\"radio\" value=\"dark\" ng-model=\"workbenchSettings.mode\" ng-change=\"setThemeMode()\"/> {{'security.workbench.settings.theme.mode.dark' | translate}} </label> </div> </div> </div> </div> </div> </div> <div class=\"col-md-6 us-right-col\" ng-hide=\"!isLocalAuthentication()\"> <div class=\"card user-role\" id=\"user-roles\"> <div class=\"card-block\"> <h3>{{'security.user.role' | translate}}</h3> <label class=\"mr-1\" uib-popover-template=\"'popover-content-user.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleUser\" value=\"user\" ng-disabled=\"hasEditRestrictions()\"> {{'security.user.label' | translate}} </label> <label class=\"mr-1\" uib-popover-template=\"'popover-content-repo-manager.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleRepoAdmin\" value=\"repoManager\" ng-disabled=\"hasEditRestrictions()\"> {{'security.repo.manager.label' | translate}} </label> <label uib-popover-template=\"'popover-content-admin.html'\" popover-trigger=\"mouseenter\" popover-placement=\"bottom\"> <input type=\"radio\" ng-model=\"userType\" id=\"roleAdmin\" value=\"admin\" ng-disabled=\"hasEditRestrictions()\"> {{'security.admin.label' | translate}} </label> </div> </div> <div class=\"card user-custom-roles\" id=\"user-custom-roles\"> <div class=\"card-block\"> <h3>{{'security.user.custom_role' | translate}}</h3> <div class=\"input-group\"> <tags-input name=\"customRoleTag\" class=\"wb-tags-input\" ng-model=\"customRoles\" min-length=\"1\" ng-disabled=\"!isUser() || mode === 'settings'\" use-strings=\"true\" add-on-space=\"true\" add-on-comma=\"true\" add-on-paste=\"true\" replace-spaces-with-dashes=\"false\" paste-split-pattern=\"[\\\\s+]\" on-tag-adding=\"isCustomRoleValid(\\$tag)\" on-tag-added=\"addCustomRole(\\$tag)\" ng-keydown=\"checkUserInput(\\$event)\" ng-cut=\"removeErrorOnCut()\" placeholder=\"{{'security.user.add.custom_role.msg' | translate}}\" custom-prefix-tags-input></tags-input> <div class=\"small\" ng-hide=\"isRoleValid\"> <small>{{'security.user.role.too.short' | translate}}</small> </div> <div class=\"small prefix-warning\" ng-if=\"form.customRoleTag.\\$warning\"> <small>{{'acl_management.rulestable.custom_prefix_warning.text' | translate}}</small> </div> </div> </div> </div> <div id=\"user-repos\" class=\"card user-repositories\"> <div class=\"card-block\"> <h3>{{'security.repo.rights' | translate}}</h3> <div class=\"has-danger\"> <p ng-show=\"repositoryCheckError\" class=\"form-control-feedback\"> {{'security.user.rights' | translate}} </p> </div> <div class=\"scrollable-table\"> <table class=\"table table-hover table-sm table-fixed bordered-table\" aria-describedby=\"User rights table\"> <thead> <tr> <th id=\"repositoryIdColumn\" class=\"repository-column auth-column\">{{'security.repository.title' | translate}}</th> <th id=\"readRightsColumn\" class=\"text-xs-center read-column auth-column\"><span class=\"auth-column-label\">{{'security.label.read' | translate}}</span><em class=\"icon-eye icon-lg\" gdb-tooltip=\"{{'security.tooltip.read' | translate}}\"></em></th> <th id=\"writeRightColumn\" class=\"text-xs-center write-column auth-column\"><span class=\"auth-column-label\">{{'security.label.write' | translate}}</span><em class=\"icon-edit icon-lg\" gdb-tooltip=\"{{'security.tooltip.write' | translate}}\"></em></th> <th id=\"graphql\" class=\"text-xs-center auth-column graphql-column\"><span class=\"auth-column-label\">{{'security.label.graphql' | translate}}</span></th> </tr> <tr> <th>{{'security.any.data.repo' | translate}} <em class=\"icon-info text-tertiary\" gdb-tooltip=\"{{'security.data.repos' | translate}}\"></em> </th> <th class=\"text-xs-center\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"read\" type=\"checkbox\" ng-model=\"grantedAuthorities.READ_REPO['*']\" ng-checked=\"hasReadPermission('*')\" ng-disabled=\"readCheckDisabled('*')\"> </span> </th> <th class=\"text-xs-center write-any\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"write\" type=\"checkbox\" ng-model=\"grantedAuthorities.WRITE_REPO['*']\" ng-checked=\"hasWritePermission('*')\" ng-disabled=\"writeCheckDisabled('*')\"> </span> </th> <th class=\"text-xs-center\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"graphql\" type=\"checkbox\" ng-model=\"grantedAuthorities.GRAPHQL['*']\" ng-checked=\"hasGraphqlPermission('*')\" ng-disabled=\"graphqlCheckDisabled('*')\"> </span> </th> </tr> </thead> <tbody> <div> <tr ng-repeat=\"repository in getReadableRepositories() | orderBy: ['location', 'id']\"> <td class=\"repository-name\">{{repository.id}}<small><em ng-if=\"(hasGraphqlPermission(repository) || hasGraphqlPermission('*')) && (hasReadPermission(repository) || hasReadPermission('*') || hasWritePermission(repository) || hasWritePermission('*'))\" class=\"fa-kit fa-gdb-graphql graphql-icon text-info\" gdb-tooltip=\"{{'security.tooltip.graphql' | translate}}\"></em> &middot; {{repository.location ? repository.location : 'repo.local' | translate}}</small></td> <td class=\"text-xs-center read-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"read\" type=\"checkbox\" ng-model=\"grantedAuthorities.READ_REPO[createUniqueKey(repository)]\" ng-checked=\"hasReadPermission(repository)\" ng-disabled=\"readCheckDisabled(repository)\"> </span> </td> <td class=\"text-xs-center write-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"write\" type=\"checkbox\" ng-model=\"grantedAuthorities.WRITE_REPO[createUniqueKey(repository)]\" ng-checked=\"hasWritePermission(repository)\" ng-disabled=\"writeCheckDisabled(repository)\"> </span> </td> <td class=\"text-xs-center graphql-rights\"> <span ng-click=\"setGrantedAuthorities()\"> <input class=\"graphql\" type=\"checkbox\" ng-model=\"grantedAuthorities.GRAPHQL[createUniqueKey(repository)]\" ng-checked=\"hasGraphqlPermission(repository)\" ng-disabled=\"graphqlCheckDisabled(repository)\"> </span> </td> </tr> </div> </tbody> </table> </div> </div> </div> </div> </div> <div class=\"text-right\"> <button id=\"wb-user-goBack\" class=\"btn btn-secondary\" type=\"button\" ng-click=\"goBack()\">{{'common.cancel.btn' | translate}}</button> <button id=\"wb-user-submit\" class=\"btn btn-primary\" type=\"submit\" ng-disabled=\"!isRoleValid\">{{saveButtonText}}</button> </div> </form> </div> <div class=\"ot-loader ot-main-loader\" onto-loader size=\"50\" ng-show=\"loader\"></div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=16162;export const __webpack_ids__=[16162];export const __webpack_modules__={16162:(t,n,e)=>{e.r(n),e.d(n,{default:()=>a});const a='<link href="css/graphql/graphql-endpoint-management.css?v=3.2.0-TR1" rel="stylesheet"/> <div class="graphql-endpoint-management-view"> <h1 id="title-container"> <span id="graphql-endpoint-management-title-label">{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div onto-loader-new ng-show="loadingEndpointsInfo" class="graphql-endpoint-management-page-loader" size="100"> </div> <div ng-if="getActiveRepository() && !loadingEndpointsInfo" class="endpoint-management-container"> <div class="toolbar"> <div class="endpoints-filter"> <input type="text" ng-if="hasEndpoints" class="form-control endpoints-filter-field" placeholder="{{\'graphql.endpoints_management.toolbar.endpoints_filter.placeholder\' | translate}}" ng-model="filterTerm" ng-change="onEndpointsFilter(filterTerm)" aria-label="Filter endpoints" autocomplete="off"> </div> <div class="actions"> <button class="btn btn-primary create-endpoint-btn" ng-click="startCreateEndpointWizard()" gdb-tooltip="{{\'graphql.endpoints_management.toolbar.create_endpoint.tooltip\' | translate}}"> <span class="fa-kit fa-gdb-graphql"></span>&nbsp; <span>{{\'graphql.endpoints_management.toolbar.create_endpoint.label\' | translate}}</span> </button> <button class="btn btn-secondary import-schema-definition-btn ml-1" ng-click="importSchema()" gdb-tooltip="{{\'graphql.endpoints_management.toolbar.import_schema.tooltip\' | translate}}"> <span class="fa fa-upload"></span>&nbsp; <span>{{\'graphql.endpoints_management.toolbar.import_schema.label\' | translate}}</span> </button> </div> </div> <div ng-if="!hasEndpoints" class="alert alert-info no-endpoints mt-2"> <span>{{\'graphql.endpoints_management.table.messages.no_endpoints_in_repository\' | translate}}</span> </div> <table ng-if="hasEndpoints" class="endpoints-info-table table mt-1" aria-describedby="GraphQL endpoints info table"> <thead> <tr> <th scope="col" class="toggle-col"></th> <th scope="col" class="status-col"></th> <th scope="col" class="endpoint-id-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.id.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.id.label\' | translate}} </span> </th> <th scope="col" class="endpoint-label-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.label.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.label.label\' | translate}} </span> </th> <th scope="col" class="endpoint-is-default-col text-center"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.is_default.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.is_default.label\' | translate}} </span> </th> <th scope="col" class="endpoint-is-active-col text-center"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.is_active.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.is_active.label\' | translate}} </span> </th> <th scope="col" class="endpoint-modified-on-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.modified_on.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.modified_on.label\' | translate}} </span> </th> <th scope="col" class="endpoint-types-count-col numeric"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.types_count.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.types_count.label\' | translate}} </span> </th> <th scope="col" class="endpoint-props-count-col numeric"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.props_count.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.props_count.label\' | translate}} </span> </th> <th scope="col" class="endpoint-actions-col"> <span gdb-tooltip="{{\'graphql.endpoints_management.table.column.actions.tooltip\' | translate}}"> {{\'graphql.endpoints_management.table.column.actions.label\' | translate}} </span> </th> </tr> </thead> <tr ng-if="operationInProgress" class="overlay-row"> <td colspan="9"> <div class="endpoint-operation-progress" onto-loader-fancy size="100" hide-message="true"></div> </td> </tr> <tbody> <tr ng-repeat-start="endpoint in endpointsInfoList.endpoints track by endpoint.endpointId"> <td class="toggle-row"> <a href="#" ng-click="toggleRow($event, $index)"> <i class="fa fa-chevron-right" ng-if="expandedRow !== $index"></i> <i class="fa fa-chevron-down" ng-if="expandedRow === $index"></i> </a> </td> <td class="status-cell"> <a href="#" ng-if="endpoint.errors > 0 || endpoint.warnings > 0" ng-click="onShowEndpointReport(endpoint)" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.view_report.tooltip\' | translate}}" class="endpoint-report-link btn btn-link"> <i ng-if="!endpoint.createdSuccessfully" class="fa-regular fa-circle-xmark status-failed"></i> <i ng-if="endpoint.createdSuccessfully" class="fa-regular fa-circle-check status-success"></i> </a> </td> <td> <span ng-if="!endpoint.active" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.explore_endpoint.inactive.tooltip\' | translate}}" class="endpoint-id">{{endpoint.endpointId}}</span> <a ng-if="endpoint.active" href="#" ng-click="onExploreEndpoint(endpoint)" gdb-tooltip="{{\'graphql.endpoints_management.table.actions.explore_endpoint.active.tooltip\' | translate}}" class="endpoint-link">{{endpoint.endpointId}}</a> </td> <td>{{endpoint.label}}</td> <td class="default-endpoint-selector"> <label class="endpoint-default-state"> <input type="radio" ng-model="selectedDefaultEndpoint.default" ng-value="endpoint.default" ng-disabled="!endpoint.createdSuccessfully" ng-change="setEndpointAsDefault(endpoint)"/> </label> </td> <td class="active-endpoint-selector"> <span ng-click="!endpoint.createdSuccessfully || toggleEndpointActiveState(endpoint)" class="toggle-active-state"> <input type="checkbox" class="switch" ng-checked="endpoint.active" ng-disabled="!endpoint.createdSuccessfully"/> <label></label> </span> </td> <td title="{{endpoint.lastModified}}">{{endpoint.lastModified | date: \'yyyy-MM-dd\'}}</td> <td class="objects-count numeric">{{endpoint.objectsCount}}</td> <td class="properties-count numeric">{{endpoint.propertiesCount}}</td> <td class="endpoint-actions"> <div class="btn-group"> <button class="btn btn-link secondary btn-sm open-endpoint-actions-btn" data-toggle="dropdown" aria-expanded="false" ng-if="true" ng-disabled="false"> <i class="fa fa-ellipsis"></i> </button> <div class="dropdown-menu dropdown-menu-right endpoint-actions-menu"> <button class="dropdown-item export-schema-btn" type="button" ng-click="onExportSchema(endpoint)"> <i class="fa fa-arrow-down-to-line"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.export_schema.label\' | translate}}</span> </button> <button class="dropdown-item configure-endpoint-btn" type="button" ng-click="onConfigureEndpoint(endpoint)"> <i class="fa fa-gear"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.configure_endpoint.label\' | translate}}</span> </button> <div class="dropdown-divider"></div> <button class="dropdown-item delete-endpoint-btn" type="button" ng-click="onDeleteEndpoint(endpoint)"> <i class="fa fa-trash-can"></i>&nbsp; <span>{{\'graphql.endpoints_management.table.actions.delete_endpoint.label\' | translate}}</span> </button> </div> </div> </td> </tr> <tr ng-repeat-end ng-if="expandedRow === $index" class="endpoint-description-row"> <td></td> <td colspan="8"> <strong>{{\'graphql.endpoints_management.table.labels.description\' | translate}}</strong> <div class="endpoint-description">{{endpoint.description}}</div> </td> </tr> <tr ng-if="endpointsInfoList.endpoints.length === 0" class="no-results"> <td colspan="9"> <div class="alert alert-info"> <span>{{\'graphql.endpoints_management.table.messages.endpoints_filter_no_result\' | translate}}</span> </div> </td></tr> </tbody> </table> </div> </div> '}};
2
+ //# sourceMappingURL=16162.8f482628d1b34d41d496.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"16162.8f482628d1b34d41d496.bundle.js","mappings":"uJAGA,QAFW,mrP","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/graphql-endpoint-management.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/graphql-endpoint-management.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <div class=\"graphql-endpoint-management-view\"> <h1 id=\"title-container\"> <span id=\"graphql-endpoint-management-title-label\">{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div core-errors></div> <div onto-loader-new ng-show=\"loadingEndpointsInfo\" class=\"graphql-endpoint-management-page-loader\" size=\"100\"> </div> <div ng-if=\"getActiveRepository() && !loadingEndpointsInfo\" class=\"endpoint-management-container\"> <div class=\"toolbar\"> <div class=\"endpoints-filter\"> <input type=\"text\" ng-if=\"hasEndpoints\" class=\"form-control endpoints-filter-field\" placeholder=\"{{'graphql.endpoints_management.toolbar.endpoints_filter.placeholder' | translate}}\" ng-model=\"filterTerm\" ng-change=\"onEndpointsFilter(filterTerm)\" aria-label=\"Filter endpoints\" autocomplete=\"off\"> </div> <div class=\"actions\"> <button class=\"btn btn-primary create-endpoint-btn\" ng-click=\"startCreateEndpointWizard()\" gdb-tooltip=\"{{'graphql.endpoints_management.toolbar.create_endpoint.tooltip' | translate}}\"> <span class=\"fa-kit fa-gdb-graphql\"></span>&nbsp; <span>{{'graphql.endpoints_management.toolbar.create_endpoint.label' | translate}}</span> </button> <button class=\"btn btn-secondary import-schema-definition-btn ml-1\" ng-click=\"importSchema()\" gdb-tooltip=\"{{'graphql.endpoints_management.toolbar.import_schema.tooltip' | translate}}\"> <span class=\"fa fa-upload\"></span>&nbsp; <span>{{'graphql.endpoints_management.toolbar.import_schema.label' | translate}}</span> </button> </div> </div> <div ng-if=\"!hasEndpoints\" class=\"alert alert-info no-endpoints mt-2\"> <span>{{'graphql.endpoints_management.table.messages.no_endpoints_in_repository' | translate}}</span> </div> <table ng-if=\"hasEndpoints\" class=\"endpoints-info-table table mt-1\" aria-describedby=\"GraphQL endpoints info table\"> <thead> <tr> <th scope=\"col\" class=\"toggle-col\"></th> <th scope=\"col\" class=\"status-col\"></th> <th scope=\"col\" class=\"endpoint-id-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.id.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.id.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-label-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.label.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.label.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-is-default-col text-center\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.is_default.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.is_default.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-is-active-col text-center\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.is_active.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.is_active.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-modified-on-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.modified_on.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.modified_on.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-types-count-col numeric\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.types_count.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.types_count.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-props-count-col numeric\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.props_count.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.props_count.label' | translate}} </span> </th> <th scope=\"col\" class=\"endpoint-actions-col\"> <span gdb-tooltip=\"{{'graphql.endpoints_management.table.column.actions.tooltip' | translate}}\"> {{'graphql.endpoints_management.table.column.actions.label' | translate}} </span> </th> </tr> </thead> <tr ng-if=\"operationInProgress\" class=\"overlay-row\"> <td colspan=\"9\"> <div class=\"endpoint-operation-progress\" onto-loader-fancy size=\"100\" hide-message=\"true\"></div> </td> </tr> <tbody> <tr ng-repeat-start=\"endpoint in endpointsInfoList.endpoints track by endpoint.endpointId\"> <td class=\"toggle-row\"> <a href=\"#\" ng-click=\"toggleRow(\\$event, \\$index)\"> <i class=\"fa fa-chevron-right\" ng-if=\"expandedRow !== \\$index\"></i> <i class=\"fa fa-chevron-down\" ng-if=\"expandedRow === \\$index\"></i> </a> </td> <td class=\"status-cell\"> <a href=\"#\" ng-if=\"endpoint.errors > 0 || endpoint.warnings > 0\" ng-click=\"onShowEndpointReport(endpoint)\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.view_report.tooltip' | translate}}\" class=\"endpoint-report-link btn btn-link\"> <i ng-if=\"!endpoint.createdSuccessfully\" class=\"fa-regular fa-circle-xmark status-failed\"></i> <i ng-if=\"endpoint.createdSuccessfully\" class=\"fa-regular fa-circle-check status-success\"></i> </a> </td> <td> <span ng-if=\"!endpoint.active\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.explore_endpoint.inactive.tooltip' | translate}}\" class=\"endpoint-id\">{{endpoint.endpointId}}</span> <a ng-if=\"endpoint.active\" href=\"#\" ng-click=\"onExploreEndpoint(endpoint)\" gdb-tooltip=\"{{'graphql.endpoints_management.table.actions.explore_endpoint.active.tooltip' | translate}}\" class=\"endpoint-link\">{{endpoint.endpointId}}</a> </td> <td>{{endpoint.label}}</td> <td class=\"default-endpoint-selector\"> <label class=\"endpoint-default-state\"> <input type=\"radio\" ng-model=\"selectedDefaultEndpoint.default\" ng-value=\"endpoint.default\" ng-disabled=\"!endpoint.createdSuccessfully\" ng-change=\"setEndpointAsDefault(endpoint)\"/> </label> </td> <td class=\"active-endpoint-selector\"> <span ng-click=\"!endpoint.createdSuccessfully || toggleEndpointActiveState(endpoint)\" class=\"toggle-active-state\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"endpoint.active\" ng-disabled=\"!endpoint.createdSuccessfully\"/> <label></label> </span> </td> <td title=\"{{endpoint.lastModified}}\">{{endpoint.lastModified | date: 'yyyy-MM-dd'}}</td> <td class=\"objects-count numeric\">{{endpoint.objectsCount}}</td> <td class=\"properties-count numeric\">{{endpoint.propertiesCount}}</td> <td class=\"endpoint-actions\"> <div class=\"btn-group\"> <button class=\"btn btn-link secondary btn-sm open-endpoint-actions-btn\" data-toggle=\"dropdown\" aria-expanded=\"false\" ng-if=\"true\" ng-disabled=\"false\"> <i class=\"fa fa-ellipsis\"></i> </button> <div class=\"dropdown-menu dropdown-menu-right endpoint-actions-menu\"> <button class=\"dropdown-item export-schema-btn\" type=\"button\" ng-click=\"onExportSchema(endpoint)\"> <i class=\"fa fa-arrow-down-to-line\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.export_schema.label' | translate}}</span> </button> <button class=\"dropdown-item configure-endpoint-btn\" type=\"button\" ng-click=\"onConfigureEndpoint(endpoint)\"> <i class=\"fa fa-gear\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.configure_endpoint.label' | translate}}</span> </button> <div class=\"dropdown-divider\"></div> <button class=\"dropdown-item delete-endpoint-btn\" type=\"button\" ng-click=\"onDeleteEndpoint(endpoint)\"> <i class=\"fa fa-trash-can\"></i>&nbsp; <span>{{'graphql.endpoints_management.table.actions.delete_endpoint.label' | translate}}</span> </button> </div> </div> </td> </tr> <tr ng-repeat-end ng-if=\"expandedRow === \\$index\" class=\"endpoint-description-row\"> <td></td> <td colspan=\"8\"> <strong>{{'graphql.endpoints_management.table.labels.description' | translate}}</strong> <div class=\"endpoint-description\">{{endpoint.description}}</div> </td> </tr> <tr ng-if=\"endpointsInfoList.endpoints.length === 0\" class=\"no-results\"> <td colspan=\"9\"> <div class=\"alert alert-info\"> <span>{{'graphql.endpoints_management.table.messages.endpoints_filter_no_result' | translate}}</span> </div> </td></tr> </tbody> </table> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- export const __webpack_id__=18961;export const __webpack_ids__=[18961];export const __webpack_modules__={18961:(o,t,n)=>{n.r(t),n.d(t,{onto_dropdown:()=>s});var e=n(87848),i=n(77050),r=n(28499),d=n(37792),l=n(44123);n(57154);const s=class{constructor(o){(0,e.r)(this,o),this.valueChanged=(0,e.c)(this,"valueChanged"),this.GUIDE_SELECTOR_ATTR="guide-selector",this.open=!1,this.buttonTooltipContent="",this.dropdownTooltipTrigger="manual",this.iconClass="",this.tooltipPlacement=l.O.LEFT,this.dropdownAlignment=r.D.LEFT,this.autoClose=!0,this.toggleButtonClickHandler=()=>{d.T.destroyTooltip(this.dropdownButtonElement),this.buttonTooltipContent="",this.toggleComponent()}}keydownListener(o){"Escape"===o.key&&this.closeMenu()}mouseClickListener(o){const t=o.target;this.autoClose&&!this.hostElement.contains(t)&&this.closeMenu()}componentDidUpdate(){this.dropdownButtonElement&&(this.buttonTooltipContent&&""!==this.buttonTooltipContent?d.T.updateTooltipContent(this.dropdownButtonElement,this.buttonTooltipContent):d.T.destroyTooltip(this.dropdownButtonElement))}render(){var o,t;const n=this.dropdownAlignment===r.D.RIGHT?"onto-dropdown-right-item-alignment":"onto-dropdown-left-item-alignment",i="function"==typeof this.tooltipPlacement?this.tooltipPlacement(this.open):this.tooltipPlacement;return(0,e.h)("div",{key:"942c4ef2b310ba3919fb8c2f45a23c08baae3e0c",class:"onto-dropdown "+(this.open?"open":"closed")},(0,e.h)("button",Object.assign({key:"c8a99d149031b6eed3e588bb0a5701c423709b42",class:"onto-dropdown-button",ref:o=>this.dropdownButtonElement=o},this.dropdownButtonGuideSelector?{[this.GUIDE_SELECTOR_ATTR]:this.dropdownButtonGuideSelector}:{},{"tooltip-placement":i,"tooltip-trigger":this.dropdownTooltipTrigger,"tooltip-content":this.buttonTooltipContent},this.tooltipTheme?{"tooltip-theme":this.tooltipTheme}:{},{onMouseEnter:this.setDropdownButtonTooltip(),onClick:this.toggleButtonClickHandler}),this.iconClass?(0,e.h)("i",{class:"button-icon "+this.iconClass}):"",(0,e.h)("span",{key:"3bf548f42fcd7bc6d41e4c1418c2dc2f69f2aea6",class:"button-name"},null!==(o=this.dropdownButtonName)&&void 0!==o?o:this.translate(this.dropdownButtonNameLabelKey)),(0,e.h)("i",{key:"d83fb64fcf1b06ed61d8dcde8830641ede615274",class:"fa-light fa-angle-down "+(this.open?"fa-rotate-180":"")})),(0,e.h)("div",{key:"7d2b9d955ce207afd7e37c8e21b4488fa2a07ba8",class:"onto-dropdown-menu "+n},null===(t=this.items)||void 0===t?void 0:t.map(o=>{var t;return(0,e.h)("button",Object.assign({class:"onto-dropdown-menu-item "+o.cssClass},o.guideSelector?{[this.GUIDE_SELECTOR_ATTR]:o.guideSelector}:{},{"tooltip-placement":l.O.LEFT,"tooltip-trigger":o.dropdownTooltipTrigger},this.tooltipTheme?{"tooltip-theme":this.tooltipTheme}:{},{onMouseEnter:this.setDropdownItemTooltip(o),onClick:this.itemClickHandler(o.value)}),o.iconClass?(0,e.h)("span",{class:"onto-dropdown-option-icon "+o.iconClass}):"",(0,e.h)("span",null,null!==(t=o.name)&&void 0!==t?t:this.translate(o.nameLabelKey)))})))}setDropdownButtonTooltip(){return async()=>{var o;let t;t="function"==typeof this.dropdownButtonTooltip?await this.getTooltipContent(this.dropdownButtonTooltip):null!==(o=this.dropdownButtonTooltip)&&void 0!==o?o:this.translate(this.dropdownButtonTooltipLabelKey),this.buttonTooltipContent=t}}setDropdownItemTooltip(o){return async t=>{var n;const e=t.currentTarget;if("function"==typeof o.tooltip){let t=await this.getTooltipContent(o.tooltip);e.setAttribute("tooltip-content",t)}else e.setAttribute("tooltip-content",null!==(n=o.tooltip)&&void 0!==n?n:this.translate(o.tooltipLabelKey))}}itemClickHandler(o){return()=>this.onSelect(o)}translate(o){return o?i.T.translate(o):""}onSelect(o){this.open=!1,this.valueChanged.emit(o)}toggleComponent(){this.open=!this.open}closeMenu(){this.open=!1}async getTooltipContent(o){let t="";try{t=await o()}catch(o){console.error(o)}return t}get hostElement(){return(0,e.g)(this)}};s.style=":root{--onto-dropdown-button-color:var(--secondary-color, #373a3c);--onto-dropdown-button-background-color:var(--primary-color, #ac2925);--onto-dropdown-item-hover:var(--primary-color-dark, #ac2925);--onto-dropdown-button-icon-color:var(--primary-color, #ac2925);--onto-dropdown-button-open-icon-color:var(--icon-on-primary-color, rgba(255, 255, 255, 0.8));--onto-dropdown-color:#FFFFFF}:host{display:block}.onto-dropdown{position:relative;width:fit-content}.onto-dropdown.closed .onto-dropdown-menu{display:none}.onto-dropdown.closed .button-icon{color:var(--onto-dropdown-button-icon-color)}.onto-dropdown.closed .button-name{color:var(--onto-dropdown-button-color)}.onto-dropdown.open{background-color:var(--onto-dropdown-button-icon-color);color:#FFFFFF;height:2rem}.onto-dropdown.open .button-icon{color:var(--onto-dropdown-button-open-icon-color)}.onto-dropdown .onto-dropdown-button{display:flex;flex-direction:row;gap:0.3em;align-items:center;font-size:1rem;font-weight:400;padding:0.4em 1rem;line-height:1.5;border:1px solid transparent;outline:none;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);transition:all 0.15s ease-out}.onto-dropdown .onto-dropdown-button .button-icon{font-size:1.4em}.onto-dropdown .onto-dropdown-button .fa-angle-down{color:rgba(0, 0, 0, 0.35);font-size:1.1em;transition:all 0.2s ease-in}.onto-dropdown .onto-dropdown-menu{position:absolute;margin:0;padding:0;z-index:1000;overflow-y:auto;max-height:340px;min-width:100%}.onto-dropdown .onto-dropdown-menu-item{display:block;text-decoration:none;font-size:1rem;font-weight:400;padding:0.5em 1.2em;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);text-align:end;white-space:nowrap;border:none;outline:none;width:100%}.onto-dropdown .onto-dropdown-menu-item:hover{cursor:pointer;background-color:var(--onto-dropdown-item-hover)}.onto-dropdown .onto-dropdown-button:hover{cursor:pointer}.onto-dropdown .onto-dropdown-button:hover .button-icon{transform:scale(1.2)}.onto-dropdown .onto-dropdown-option-icon{margin-right:0.2em}.onto-dropdown .onto-dropdown-right-item-alignment{right:0;left:auto}"},28499:(o,t,n)=>{var e;n.d(t,{D:()=>e}),function(o){o.RIGHT="right",o.LEFT="left"}(e||(e={}))}};
2
- //# sourceMappingURL=18961.d83ba5fd0855f3cfa7d7.bundle.js.map
1
+ export const __webpack_id__=18961;export const __webpack_ids__=[18961];export const __webpack_modules__={18961:(o,t,n)=>{n.r(t),n.d(t,{onto_dropdown:()=>s});var e=n(87848),i=n(77050),r=n(28499),d=n(90835),l=n(44123);n(57154);const s=class{constructor(o){(0,e.r)(this,o),this.valueChanged=(0,e.c)(this,"valueChanged"),this.GUIDE_SELECTOR_ATTR="guide-selector",this.open=!1,this.buttonTooltipContent="",this.dropdownTooltipTrigger="manual",this.iconClass="",this.tooltipPlacement=l.O.LEFT,this.dropdownAlignment=r.D.LEFT,this.autoClose=!1,this.toggleButtonClickHandler=()=>{d.T.destroyTooltip(this.dropdownButtonElement),this.buttonTooltipContent="",this.toggleComponent()}}keydownListener(o){"Escape"===o.key&&this.closeMenu()}mouseClickListener(o){const t=o.target;this.autoClose&&!this.hostElement.contains(t)&&this.closeMenu()}componentDidUpdate(){this.dropdownButtonElement&&(this.buttonTooltipContent&&""!==this.buttonTooltipContent?d.T.updateTooltipContent(this.dropdownButtonElement,this.buttonTooltipContent):d.T.destroyTooltip(this.dropdownButtonElement))}render(){var o,t;const n=this.dropdownAlignment===r.D.RIGHT?"onto-dropdown-right-item-alignment":"onto-dropdown-left-item-alignment",i="function"==typeof this.tooltipPlacement?this.tooltipPlacement(this.open):this.tooltipPlacement;return(0,e.h)("div",{key:"e4996c54c5dc7b3686f6282ec7d318ca22ffa581",class:"onto-dropdown "+(this.open?"open":"closed")},(0,e.h)("button",Object.assign({key:"4cacba07d1f592851e389b39df5f48a6d4ef2bf6",class:"onto-dropdown-button",ref:o=>this.dropdownButtonElement=o},this.dropdownButtonGuideSelector?{[this.GUIDE_SELECTOR_ATTR]:this.dropdownButtonGuideSelector}:{},{"tooltip-placement":i,"tooltip-trigger":this.dropdownTooltipTrigger,"tooltip-content":this.buttonTooltipContent},this.tooltipTheme?{"tooltip-theme":this.tooltipTheme}:{},{onMouseEnter:this.setDropdownButtonTooltip(),onClick:this.toggleButtonClickHandler}),this.iconClass?(0,e.h)("i",{class:"button-icon "+this.iconClass}):"",(0,e.h)("span",{key:"7a281a842edc21e0602ad9d3773c04eab66956c2",class:"button-name"},null!==(o=this.dropdownButtonName)&&void 0!==o?o:this.translate(this.dropdownButtonNameLabelKey)),(0,e.h)("i",{key:"64dc597c9655fee83daa044090051ff0b273c5ac",class:"fa-light fa-angle-down "+(this.open?"fa-rotate-180":"")})),(0,e.h)("div",{key:"9c6e420756b9f6b854ed7da1a6ce666abef37108",class:"onto-dropdown-menu "+n},null===(t=this.items)||void 0===t?void 0:t.map(o=>{var t;return(0,e.h)("button",Object.assign({class:"onto-dropdown-menu-item "+o.cssClass},o.guideSelector?{[this.GUIDE_SELECTOR_ATTR]:o.guideSelector}:{},{"tooltip-placement":l.O.LEFT,"tooltip-trigger":o.dropdownTooltipTrigger},this.tooltipTheme?{"tooltip-theme":this.tooltipTheme}:{},{onMouseEnter:this.setDropdownItemTooltip(o),onClick:this.itemClickHandler(o.value)}),o.iconClass?(0,e.h)("span",{class:"onto-dropdown-option-icon "+o.iconClass}):"",(0,e.h)("span",null,null!==(t=o.name)&&void 0!==t?t:this.translate(o.nameLabelKey)))})))}setDropdownButtonTooltip(){return async()=>{var o;let t;t="function"==typeof this.dropdownButtonTooltip?await this.getTooltipContent(this.dropdownButtonTooltip):null!==(o=this.dropdownButtonTooltip)&&void 0!==o?o:this.translate(this.dropdownButtonTooltipLabelKey),this.buttonTooltipContent=t}}setDropdownItemTooltip(o){return async t=>{var n;const e=t.currentTarget;if("function"==typeof o.tooltip){let t=await this.getTooltipContent(o.tooltip);e.setAttribute("tooltip-content",t)}else e.setAttribute("tooltip-content",null!==(n=o.tooltip)&&void 0!==n?n:this.translate(o.tooltipLabelKey))}}itemClickHandler(o){return()=>this.onSelect(o)}translate(o){return o?i.T.translate(o):""}onSelect(o){this.open=!1,this.valueChanged.emit(o)}toggleComponent(){this.open=!this.open}closeMenu(){this.open=!1}async getTooltipContent(o){let t="";try{t=await o()}catch(o){console.error(o)}return t}get hostElement(){return(0,e.g)(this)}};s.style=":root{--onto-dropdown-button-color:var(--secondary-color, #373a3c);--onto-dropdown-button-background-color:var(--primary-color, #ac2925);--onto-dropdown-item-hover:var(--primary-color-dark, #ac2925);--onto-dropdown-button-icon-color:var(--primary-color, #ac2925);--onto-dropdown-button-open-icon-color:var(--icon-on-primary-color, rgba(255, 255, 255, 0.8));--onto-dropdown-color:#FFFFFF}:host{display:block}.onto-dropdown{position:relative;width:fit-content}.onto-dropdown.closed .onto-dropdown-menu{display:none}.onto-dropdown.closed .button-icon{color:var(--onto-dropdown-button-icon-color)}.onto-dropdown.closed .button-name{color:var(--onto-dropdown-button-color)}.onto-dropdown.open{background-color:var(--onto-dropdown-button-icon-color);color:#FFFFFF;height:2rem}.onto-dropdown.open .button-icon{color:var(--onto-dropdown-button-open-icon-color)}.onto-dropdown .onto-dropdown-button{display:flex;flex-direction:row;gap:0.3em;align-items:center;font-size:1rem;font-weight:400;padding:0.4em 1rem;line-height:1.5;border:1px solid transparent;outline:none;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);transition:all 0.15s ease-out}.onto-dropdown .onto-dropdown-button .button-icon{font-size:1.4em}.onto-dropdown .onto-dropdown-button .fa-angle-down{color:rgba(0, 0, 0, 0.35);font-size:1.1em;transition:all 0.2s ease-in}.onto-dropdown .onto-dropdown-menu{position:absolute;margin:0;padding:0;z-index:1000;overflow-y:auto;max-height:340px;min-width:100%}.onto-dropdown .onto-dropdown-menu-item{display:block;text-decoration:none;font-size:1rem;font-weight:400;padding:0.5em 1.2em;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);text-align:end;white-space:nowrap;border:none;outline:none;width:100%}.onto-dropdown .onto-dropdown-menu-item:hover{cursor:pointer;background-color:var(--onto-dropdown-item-hover)}.onto-dropdown .onto-dropdown-button:hover{cursor:pointer}.onto-dropdown .onto-dropdown-button:hover .button-icon{transform:scale(1.2)}.onto-dropdown .onto-dropdown-option-icon{margin-right:0.2em}.onto-dropdown .onto-dropdown-right-item-alignment{right:0;left:auto}"},28499:(o,t,n)=>{var e;n.d(t,{D:()=>e}),function(o){o.RIGHT="right",o.LEFT="left"}(e||(e={}))}};
2
+ //# sourceMappingURL=18961.c6505525fb0491b48f8b.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"18961.d83ba5fd0855f3cfa7d7.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-dropdown.entry.js","webpack://root-config/./packages/shared-components/dist/esm/dropdown-item-alignment-DghTf3pJ.js"],"sourcesContent":["import { r as registerInstance, c as createEvent, h, g as getElement } from './index-I_gcXFWK.js';\nimport { T as TranslationService } from './translation.service-Hf6024E7.js';\nimport { D as DropdownItemAlignment } from './dropdown-item-alignment-DghTf3pJ.js';\nimport { T as TooltipUtil } from './tooltip-util-C1So-qrf.js';\nimport { O as OntoTooltipPlacement } from './onto-tooltip-placement-D_J2-9CG.js';\nimport '@ontotext/workbench-api';\n\nconst ontoDropdownCss = \":root{--onto-dropdown-button-color:var(--secondary-color, #373a3c);--onto-dropdown-button-background-color:var(--primary-color, #ac2925);--onto-dropdown-item-hover:var(--primary-color-dark, #ac2925);--onto-dropdown-button-icon-color:var(--primary-color, #ac2925);--onto-dropdown-button-open-icon-color:var(--icon-on-primary-color, rgba(255, 255, 255, 0.8));--onto-dropdown-color:#FFFFFF}:host{display:block}.onto-dropdown{position:relative;width:fit-content}.onto-dropdown.closed .onto-dropdown-menu{display:none}.onto-dropdown.closed .button-icon{color:var(--onto-dropdown-button-icon-color)}.onto-dropdown.closed .button-name{color:var(--onto-dropdown-button-color)}.onto-dropdown.open{background-color:var(--onto-dropdown-button-icon-color);color:#FFFFFF;height:2rem}.onto-dropdown.open .button-icon{color:var(--onto-dropdown-button-open-icon-color)}.onto-dropdown .onto-dropdown-button{display:flex;flex-direction:row;gap:0.3em;align-items:center;font-size:1rem;font-weight:400;padding:0.4em 1rem;line-height:1.5;border:1px solid transparent;outline:none;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);transition:all 0.15s ease-out}.onto-dropdown .onto-dropdown-button .button-icon{font-size:1.4em}.onto-dropdown .onto-dropdown-button .fa-angle-down{color:rgba(0, 0, 0, 0.35);font-size:1.1em;transition:all 0.2s ease-in}.onto-dropdown .onto-dropdown-menu{position:absolute;margin:0;padding:0;z-index:1000;overflow-y:auto;max-height:340px;min-width:100%}.onto-dropdown .onto-dropdown-menu-item{display:block;text-decoration:none;font-size:1rem;font-weight:400;padding:0.5em 1.2em;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);text-align:end;white-space:nowrap;border:none;outline:none;width:100%}.onto-dropdown .onto-dropdown-menu-item:hover{cursor:pointer;background-color:var(--onto-dropdown-item-hover)}.onto-dropdown .onto-dropdown-button:hover{cursor:pointer}.onto-dropdown .onto-dropdown-button:hover .button-icon{transform:scale(1.2)}.onto-dropdown .onto-dropdown-option-icon{margin-right:0.2em}.onto-dropdown .onto-dropdown-right-item-alignment{right:0;left:auto}\";\n\nconst OntoDropdown = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.valueChanged = createEvent(this, \"valueChanged\");\n this.GUIDE_SELECTOR_ATTR = 'guide-selector';\n /**\n * Indicates whether the dropdown menu is open.\n */\n this.open = false;\n /**\n * Holds the content of the tooltip\n */\n this.buttonTooltipContent = '';\n /**\n * Specifies the events that trigger the dropdown button tooltip to appear. Multiple event names should be separated by spaces.\n */\n this.dropdownTooltipTrigger = 'manual';\n /**\n * Icon class for the main dropdown button.\n */\n this.iconClass = '';\n /**\n * Specifies the items tooltip placement. Accepts a string of the placement or a function that returns the placement.\n * The function takes the isOpen parameter as a boolean and returns the placement as a string.\n * If not provided, the tooltip will be placed to the left.\n *\n */\n this.tooltipPlacement = OntoTooltipPlacement.LEFT;\n /**\n * Specifies the dropdown items' alignment. If not provided, the items and the dropdown button will be aligned to the left.\n *\n */\n this.dropdownAlignment = DropdownItemAlignment.LEFT;\n /**\n * Flag to determine if the dropdown should close automatically when a click occurs outside the dropdown.\n */\n this.autoClose = true;\n this.toggleButtonClickHandler = () => {\n TooltipUtil.destroyTooltip(this.dropdownButtonElement);\n this.buttonTooltipContent = '';\n this.toggleComponent();\n };\n }\n /**\n * Listens for the Escape key keydown event globally.\n * Closes the dropdown menu if the Escape key is pressed.\n *\n * @param ev The keyboard event triggered by the Escape key.\n */\n keydownListener(ev) {\n if (ev.key === 'Escape') {\n this.closeMenu();\n }\n }\n /**\n * Listens for mouse click events globally.\n * Closes the dropdown menu if the click occurs outside the dropdown.\n *\n * @param ev The mouse event triggered by a click.\n */\n mouseClickListener(ev) {\n const target = ev.target;\n if (this.autoClose && !this.hostElement.contains(target)) {\n this.closeMenu();\n }\n }\n componentDidUpdate() {\n if (this.dropdownButtonElement) {\n if (this.buttonTooltipContent && this.buttonTooltipContent !== '') {\n TooltipUtil.updateTooltipContent(this.dropdownButtonElement, this.buttonTooltipContent);\n }\n else {\n TooltipUtil.destroyTooltip(this.dropdownButtonElement);\n }\n }\n }\n render() {\n var _a, _b;\n const dropdownAlignmentClass = this.dropdownAlignment === DropdownItemAlignment.RIGHT\n ? 'onto-dropdown-right-item-alignment' : 'onto-dropdown-left-item-alignment';\n const tooltipPlacement = typeof this.tooltipPlacement === 'function' ? this.tooltipPlacement(this.open) : this.tooltipPlacement;\n return (h(\"div\", { key: '942c4ef2b310ba3919fb8c2f45a23c08baae3e0c', class: `onto-dropdown ${this.open ? 'open' : 'closed'}` }, h(\"button\", Object.assign({ key: 'c8a99d149031b6eed3e588bb0a5701c423709b42', class: \"onto-dropdown-button\", ref: (el) => this.dropdownButtonElement = el }, (this.dropdownButtonGuideSelector ? { [this.GUIDE_SELECTOR_ATTR]: this.dropdownButtonGuideSelector } : {}), { \"tooltip-placement\": tooltipPlacement, \"tooltip-trigger\": this.dropdownTooltipTrigger, \"tooltip-content\": this.buttonTooltipContent }, (this.tooltipTheme ? { 'tooltip-theme': this.tooltipTheme } : {}), { onMouseEnter: this.setDropdownButtonTooltip(), onClick: this.toggleButtonClickHandler }), this.iconClass ? h(\"i\", { class: 'button-icon ' + this.iconClass }) : '', h(\"span\", { key: '3bf548f42fcd7bc6d41e4c1418c2dc2f69f2aea6', class: 'button-name' }, (_a = this.dropdownButtonName) !== null && _a !== void 0 ? _a : this.translate(this.dropdownButtonNameLabelKey)), h(\"i\", { key: 'd83fb64fcf1b06ed61d8dcde8830641ede615274', class: `fa-light fa-angle-down ${this.open ? 'fa-rotate-180' : ''}` })), h(\"div\", { key: '7d2b9d955ce207afd7e37c8e21b4488fa2a07ba8', class: 'onto-dropdown-menu ' + dropdownAlignmentClass }, (_b = this.items) === null || _b === void 0 ? void 0 : _b.map((item) => {\n var _a;\n return h(\"button\", Object.assign({ class: 'onto-dropdown-menu-item ' + item.cssClass }, (item.guideSelector ? { [this.GUIDE_SELECTOR_ATTR]: item.guideSelector } : {}), { \"tooltip-placement\": OntoTooltipPlacement.LEFT, \"tooltip-trigger\": item.dropdownTooltipTrigger }, (this.tooltipTheme ? { 'tooltip-theme': this.tooltipTheme } : {}), { onMouseEnter: this.setDropdownItemTooltip(item), onClick: this.itemClickHandler(item.value) }), item.iconClass ? h(\"span\", { class: 'onto-dropdown-option-icon ' + item.iconClass }) : '', h(\"span\", null, (_a = item.name) !== null && _a !== void 0 ? _a : this.translate(item.nameLabelKey)));\n }))));\n }\n setDropdownButtonTooltip() {\n return async () => {\n var _a;\n let tooltipContent;\n if (typeof this.dropdownButtonTooltip === 'function') {\n tooltipContent = await this.getTooltipContent(this.dropdownButtonTooltip);\n }\n else {\n tooltipContent = (_a = this.dropdownButtonTooltip) !== null && _a !== void 0 ? _a : this.translate(this.dropdownButtonTooltipLabelKey);\n }\n this.buttonTooltipContent = tooltipContent;\n };\n }\n setDropdownItemTooltip(item) {\n return async (event) => {\n var _a;\n const target = event.currentTarget;\n if (typeof item.tooltip === 'function') {\n let tooltipContent = await this.getTooltipContent(item.tooltip);\n target.setAttribute('tooltip-content', tooltipContent);\n }\n else {\n target.setAttribute('tooltip-content', (_a = item.tooltip) !== null && _a !== void 0 ? _a : this.translate(item.tooltipLabelKey));\n }\n };\n }\n itemClickHandler(value) {\n return () => this.onSelect(value);\n }\n translate(key) {\n return key ? TranslationService.translate(key) : '';\n }\n onSelect(value) {\n this.open = false;\n this.valueChanged.emit(value);\n }\n toggleComponent() {\n this.open = !this.open;\n }\n closeMenu() {\n this.open = false;\n }\n async getTooltipContent(tooltipFunction) {\n let tooltipContent = '';\n try {\n tooltipContent = await tooltipFunction();\n }\n catch (error) {\n console.error(error);\n }\n return tooltipContent;\n }\n get hostElement() { return getElement(this); }\n};\nOntoDropdown.style = ontoDropdownCss;\n\nexport { OntoDropdown as onto_dropdown };\n","var DropdownItemAlignment;\n(function (DropdownItemAlignment) {\n DropdownItemAlignment[\"RIGHT\"] = \"right\";\n DropdownItemAlignment[\"LEFT\"] = \"left\";\n})(DropdownItemAlignment || (DropdownItemAlignment = {}));\n\nexport { DropdownItemAlignment as D };\n"],"names":["OntoDropdown","constructor","hostRef","registerInstance","this","valueChanged","createEvent","GUIDE_SELECTOR_ATTR","open","buttonTooltipContent","dropdownTooltipTrigger","iconClass","tooltipPlacement","OntoTooltipPlacement","LEFT","dropdownAlignment","DropdownItemAlignment","autoClose","toggleButtonClickHandler","TooltipUtil","destroyTooltip","dropdownButtonElement","toggleComponent","keydownListener","ev","key","closeMenu","mouseClickListener","target","hostElement","contains","componentDidUpdate","updateTooltipContent","render","_a","_b","dropdownAlignmentClass","RIGHT","h","class","Object","assign","ref","el","dropdownButtonGuideSelector","tooltipTheme","onMouseEnter","setDropdownButtonTooltip","onClick","dropdownButtonName","translate","dropdownButtonNameLabelKey","items","map","item","cssClass","guideSelector","setDropdownItemTooltip","itemClickHandler","value","name","nameLabelKey","async","tooltipContent","dropdownButtonTooltip","getTooltipContent","dropdownButtonTooltipLabelKey","event","currentTarget","tooltip","setAttribute","tooltipLabelKey","onSelect","TranslationService","emit","tooltipFunction","error","console","getElement","style"],"sourceRoot":""}
1
+ {"version":3,"file":"18961.c6505525fb0491b48f8b.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-dropdown.entry.js","webpack://root-config/./packages/shared-components/dist/esm/dropdown-item-alignment-DghTf3pJ.js"],"sourcesContent":["import { r as registerInstance, c as createEvent, h, g as getElement } from './index-I_gcXFWK.js';\nimport { T as TranslationService } from './translation.service-Hf6024E7.js';\nimport { D as DropdownItemAlignment } from './dropdown-item-alignment-DghTf3pJ.js';\nimport { T as TooltipUtil } from './tooltip-util-BqOc8q8q.js';\nimport { O as OntoTooltipPlacement } from './onto-tooltip-placement-D_J2-9CG.js';\nimport '@ontotext/workbench-api';\n\nconst ontoDropdownCss = \":root{--onto-dropdown-button-color:var(--secondary-color, #373a3c);--onto-dropdown-button-background-color:var(--primary-color, #ac2925);--onto-dropdown-item-hover:var(--primary-color-dark, #ac2925);--onto-dropdown-button-icon-color:var(--primary-color, #ac2925);--onto-dropdown-button-open-icon-color:var(--icon-on-primary-color, rgba(255, 255, 255, 0.8));--onto-dropdown-color:#FFFFFF}:host{display:block}.onto-dropdown{position:relative;width:fit-content}.onto-dropdown.closed .onto-dropdown-menu{display:none}.onto-dropdown.closed .button-icon{color:var(--onto-dropdown-button-icon-color)}.onto-dropdown.closed .button-name{color:var(--onto-dropdown-button-color)}.onto-dropdown.open{background-color:var(--onto-dropdown-button-icon-color);color:#FFFFFF;height:2rem}.onto-dropdown.open .button-icon{color:var(--onto-dropdown-button-open-icon-color)}.onto-dropdown .onto-dropdown-button{display:flex;flex-direction:row;gap:0.3em;align-items:center;font-size:1rem;font-weight:400;padding:0.4em 1rem;line-height:1.5;border:1px solid transparent;outline:none;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);transition:all 0.15s ease-out}.onto-dropdown .onto-dropdown-button .button-icon{font-size:1.4em}.onto-dropdown .onto-dropdown-button .fa-angle-down{color:rgba(0, 0, 0, 0.35);font-size:1.1em;transition:all 0.2s ease-in}.onto-dropdown .onto-dropdown-menu{position:absolute;margin:0;padding:0;z-index:1000;overflow-y:auto;max-height:340px;min-width:100%}.onto-dropdown .onto-dropdown-menu-item{display:block;text-decoration:none;font-size:1rem;font-weight:400;padding:0.5em 1.2em;color:var(--onto-dropdown-color);background-color:var(--onto-dropdown-button-background-color);text-align:end;white-space:nowrap;border:none;outline:none;width:100%}.onto-dropdown .onto-dropdown-menu-item:hover{cursor:pointer;background-color:var(--onto-dropdown-item-hover)}.onto-dropdown .onto-dropdown-button:hover{cursor:pointer}.onto-dropdown .onto-dropdown-button:hover .button-icon{transform:scale(1.2)}.onto-dropdown .onto-dropdown-option-icon{margin-right:0.2em}.onto-dropdown .onto-dropdown-right-item-alignment{right:0;left:auto}\";\n\nconst OntoDropdown = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.valueChanged = createEvent(this, \"valueChanged\");\n this.GUIDE_SELECTOR_ATTR = 'guide-selector';\n /**\n * Indicates whether the dropdown menu is open.\n */\n this.open = false;\n /**\n * Holds the content of the tooltip\n */\n this.buttonTooltipContent = '';\n /**\n * Specifies the events that trigger the dropdown button tooltip to appear. Multiple event names should be separated by spaces.\n */\n this.dropdownTooltipTrigger = 'manual';\n /**\n * Icon class for the main dropdown button.\n */\n this.iconClass = '';\n /**\n * Specifies the items tooltip placement. Accepts a string of the placement or a function that returns the placement.\n * The function takes the isOpen parameter as a boolean and returns the placement as a string.\n * If not provided, the tooltip will be placed to the left.\n *\n */\n this.tooltipPlacement = OntoTooltipPlacement.LEFT;\n /**\n * Specifies the dropdown items' alignment. If not provided, the items and the dropdown button will be aligned to the left.\n *\n */\n this.dropdownAlignment = DropdownItemAlignment.LEFT;\n /**\n * Flag to determine if the dropdown should close automatically when a click occurs outside the dropdown.\n */\n this.autoClose = false;\n this.toggleButtonClickHandler = () => {\n TooltipUtil.destroyTooltip(this.dropdownButtonElement);\n this.buttonTooltipContent = '';\n this.toggleComponent();\n };\n }\n /**\n * Listens for the Escape key keydown event globally.\n * Closes the dropdown menu if the Escape key is pressed.\n *\n * @param ev The keyboard event triggered by the Escape key.\n */\n keydownListener(ev) {\n if (ev.key === 'Escape') {\n this.closeMenu();\n }\n }\n /**\n * Listens for mouse click events globally.\n * Closes the dropdown menu if the click occurs outside the dropdown.\n *\n * @param ev The mouse event triggered by a click.\n */\n mouseClickListener(ev) {\n const target = ev.target;\n if (this.autoClose && !this.hostElement.contains(target)) {\n this.closeMenu();\n }\n }\n componentDidUpdate() {\n if (this.dropdownButtonElement) {\n if (this.buttonTooltipContent && this.buttonTooltipContent !== '') {\n TooltipUtil.updateTooltipContent(this.dropdownButtonElement, this.buttonTooltipContent);\n }\n else {\n TooltipUtil.destroyTooltip(this.dropdownButtonElement);\n }\n }\n }\n render() {\n var _a, _b;\n const dropdownAlignmentClass = this.dropdownAlignment === DropdownItemAlignment.RIGHT\n ? 'onto-dropdown-right-item-alignment' : 'onto-dropdown-left-item-alignment';\n const tooltipPlacement = typeof this.tooltipPlacement === 'function' ? this.tooltipPlacement(this.open) : this.tooltipPlacement;\n return (h(\"div\", { key: 'e4996c54c5dc7b3686f6282ec7d318ca22ffa581', class: `onto-dropdown ${this.open ? 'open' : 'closed'}` }, h(\"button\", Object.assign({ key: '4cacba07d1f592851e389b39df5f48a6d4ef2bf6', class: \"onto-dropdown-button\", ref: (el) => this.dropdownButtonElement = el }, (this.dropdownButtonGuideSelector ? { [this.GUIDE_SELECTOR_ATTR]: this.dropdownButtonGuideSelector } : {}), { \"tooltip-placement\": tooltipPlacement, \"tooltip-trigger\": this.dropdownTooltipTrigger, \"tooltip-content\": this.buttonTooltipContent }, (this.tooltipTheme ? { 'tooltip-theme': this.tooltipTheme } : {}), { onMouseEnter: this.setDropdownButtonTooltip(), onClick: this.toggleButtonClickHandler }), this.iconClass ? h(\"i\", { class: 'button-icon ' + this.iconClass }) : '', h(\"span\", { key: '7a281a842edc21e0602ad9d3773c04eab66956c2', class: 'button-name' }, (_a = this.dropdownButtonName) !== null && _a !== void 0 ? _a : this.translate(this.dropdownButtonNameLabelKey)), h(\"i\", { key: '64dc597c9655fee83daa044090051ff0b273c5ac', class: `fa-light fa-angle-down ${this.open ? 'fa-rotate-180' : ''}` })), h(\"div\", { key: '9c6e420756b9f6b854ed7da1a6ce666abef37108', class: 'onto-dropdown-menu ' + dropdownAlignmentClass }, (_b = this.items) === null || _b === void 0 ? void 0 : _b.map((item) => {\n var _a;\n return h(\"button\", Object.assign({ class: 'onto-dropdown-menu-item ' + item.cssClass }, (item.guideSelector ? { [this.GUIDE_SELECTOR_ATTR]: item.guideSelector } : {}), { \"tooltip-placement\": OntoTooltipPlacement.LEFT, \"tooltip-trigger\": item.dropdownTooltipTrigger }, (this.tooltipTheme ? { 'tooltip-theme': this.tooltipTheme } : {}), { onMouseEnter: this.setDropdownItemTooltip(item), onClick: this.itemClickHandler(item.value) }), item.iconClass ? h(\"span\", { class: 'onto-dropdown-option-icon ' + item.iconClass }) : '', h(\"span\", null, (_a = item.name) !== null && _a !== void 0 ? _a : this.translate(item.nameLabelKey)));\n }))));\n }\n setDropdownButtonTooltip() {\n return async () => {\n var _a;\n let tooltipContent;\n if (typeof this.dropdownButtonTooltip === 'function') {\n tooltipContent = await this.getTooltipContent(this.dropdownButtonTooltip);\n }\n else {\n tooltipContent = (_a = this.dropdownButtonTooltip) !== null && _a !== void 0 ? _a : this.translate(this.dropdownButtonTooltipLabelKey);\n }\n this.buttonTooltipContent = tooltipContent;\n };\n }\n setDropdownItemTooltip(item) {\n return async (event) => {\n var _a;\n const target = event.currentTarget;\n if (typeof item.tooltip === 'function') {\n let tooltipContent = await this.getTooltipContent(item.tooltip);\n target.setAttribute('tooltip-content', tooltipContent);\n }\n else {\n target.setAttribute('tooltip-content', (_a = item.tooltip) !== null && _a !== void 0 ? _a : this.translate(item.tooltipLabelKey));\n }\n };\n }\n itemClickHandler(value) {\n return () => this.onSelect(value);\n }\n translate(key) {\n return key ? TranslationService.translate(key) : '';\n }\n onSelect(value) {\n this.open = false;\n this.valueChanged.emit(value);\n }\n toggleComponent() {\n this.open = !this.open;\n }\n closeMenu() {\n this.open = false;\n }\n async getTooltipContent(tooltipFunction) {\n let tooltipContent = '';\n try {\n tooltipContent = await tooltipFunction();\n }\n catch (error) {\n console.error(error);\n }\n return tooltipContent;\n }\n get hostElement() { return getElement(this); }\n};\nOntoDropdown.style = ontoDropdownCss;\n\nexport { OntoDropdown as onto_dropdown };\n","var DropdownItemAlignment;\n(function (DropdownItemAlignment) {\n DropdownItemAlignment[\"RIGHT\"] = \"right\";\n DropdownItemAlignment[\"LEFT\"] = \"left\";\n})(DropdownItemAlignment || (DropdownItemAlignment = {}));\n\nexport { DropdownItemAlignment as D };\n"],"names":["OntoDropdown","constructor","hostRef","registerInstance","this","valueChanged","createEvent","GUIDE_SELECTOR_ATTR","open","buttonTooltipContent","dropdownTooltipTrigger","iconClass","tooltipPlacement","OntoTooltipPlacement","LEFT","dropdownAlignment","DropdownItemAlignment","autoClose","toggleButtonClickHandler","TooltipUtil","destroyTooltip","dropdownButtonElement","toggleComponent","keydownListener","ev","key","closeMenu","mouseClickListener","target","hostElement","contains","componentDidUpdate","updateTooltipContent","render","_a","_b","dropdownAlignmentClass","RIGHT","h","class","Object","assign","ref","el","dropdownButtonGuideSelector","tooltipTheme","onMouseEnter","setDropdownButtonTooltip","onClick","dropdownButtonName","translate","dropdownButtonNameLabelKey","items","map","item","cssClass","guideSelector","setDropdownItemTooltip","itemClickHandler","value","name","nameLabelKey","async","tooltipContent","dropdownButtonTooltip","getTooltipContent","dropdownButtonTooltipLabelKey","event","currentTarget","tooltip","setAttribute","tooltipLabelKey","onSelect","TranslationService","emit","tooltipFunction","error","console","getElement","style"],"sourceRoot":""}