graphdb-workbench 3.1.0-TR12 → 3.1.0-TR13

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 (252) hide show
  1. package/dist/{12396.fcc54d85460017a32ca1.bundle.js → 12396.a4cb05c47cf17cbfd891.bundle.js} +2 -2
  2. package/dist/{12396.fcc54d85460017a32ca1.bundle.js.map → 12396.a4cb05c47cf17cbfd891.bundle.js.map} +1 -1
  3. package/dist/{13486.58f89862c40c0f84cb09.bundle.js → 13486.b4c8bf17c522084e59fb.bundle.js} +2 -2
  4. package/dist/13486.b4c8bf17c522084e59fb.bundle.js.map +1 -0
  5. package/dist/13813.84b8832e83dec53d66b9.bundle.js +2 -0
  6. package/dist/13813.84b8832e83dec53d66b9.bundle.js.map +1 -0
  7. package/dist/{15535.4f5aebf06ef94d0d730c.bundle.js → 15535.aa936791f2b5dd74f7ee.bundle.js} +2 -2
  8. package/dist/{15535.4f5aebf06ef94d0d730c.bundle.js.map → 15535.aa936791f2b5dd74f7ee.bundle.js.map} +1 -1
  9. package/dist/{16162.93e0b5dcd33d9227fd60.bundle.js → 16162.dca58b88b4d145a7fcf7.bundle.js} +2 -2
  10. package/dist/{16162.93e0b5dcd33d9227fd60.bundle.js.map → 16162.dca58b88b4d145a7fcf7.bundle.js.map} +1 -1
  11. package/dist/{20287.c6714e25dfba36a7abff.bundle.js → 20287.22c94209c4a5b0aa569b.bundle.js} +2 -2
  12. package/dist/{20287.c6714e25dfba36a7abff.bundle.js.map → 20287.22c94209c4a5b0aa569b.bundle.js.map} +1 -1
  13. package/dist/{21136.92d89e72506eccad7d06.bundle.js → 21136.b0b60f89d0aecc146390.bundle.js} +2 -2
  14. package/dist/{21136.92d89e72506eccad7d06.bundle.js.map → 21136.b0b60f89d0aecc146390.bundle.js.map} +1 -1
  15. package/dist/{21142.3f3aa7d3ef22074e49a3.bundle.js → 21142.c1026a9490be83c3be64.bundle.js} +2 -2
  16. package/dist/{21142.3f3aa7d3ef22074e49a3.bundle.js.map → 21142.c1026a9490be83c3be64.bundle.js.map} +1 -1
  17. package/dist/{21170.43dc0783a81039cd2eca.bundle.js → 21170.4f1089c6ecb858d32307.bundle.js} +2 -2
  18. package/dist/{21170.43dc0783a81039cd2eca.bundle.js.map → 21170.4f1089c6ecb858d32307.bundle.js.map} +1 -1
  19. package/dist/{21195.e4da0e7735e18c1c24d7.bundle.js → 21195.4025ee868703a7826ae6.bundle.js} +2 -2
  20. package/dist/{21195.e4da0e7735e18c1c24d7.bundle.js.map → 21195.4025ee868703a7826ae6.bundle.js.map} +1 -1
  21. package/dist/24785.ff0689efffa1540e2904.bundle.js +2 -0
  22. package/dist/24785.ff0689efffa1540e2904.bundle.js.map +1 -0
  23. package/dist/25090.a073fc84568f38c40d67.bundle.js +2 -0
  24. package/dist/25090.a073fc84568f38c40d67.bundle.js.map +1 -0
  25. package/dist/{25747.5c8e79ac3088d275e4f6.bundle.js → 25747.d8d9c4a6472dddad834f.bundle.js} +2 -2
  26. package/dist/{25747.5c8e79ac3088d275e4f6.bundle.js.map → 25747.d8d9c4a6472dddad834f.bundle.js.map} +1 -1
  27. package/dist/{27580.70186989dfc08ef0506b.bundle.js → 27580.af47ce7d030e916c7a4e.bundle.js} +2 -2
  28. package/dist/{27580.70186989dfc08ef0506b.bundle.js.map → 27580.af47ce7d030e916c7a4e.bundle.js.map} +1 -1
  29. package/dist/{31636.4e5d6e986e990a12facf.bundle.js → 31636.fbeed6706183663eeee2.bundle.js} +2 -2
  30. package/dist/{31636.4e5d6e986e990a12facf.bundle.js.map → 31636.fbeed6706183663eeee2.bundle.js.map} +1 -1
  31. package/dist/{32489.ca36d6c8822d9a770a8b.bundle.js → 32489.fafc19e8e0eb964a3ec5.bundle.js} +2 -2
  32. package/dist/{32489.ca36d6c8822d9a770a8b.bundle.js.map → 32489.fafc19e8e0eb964a3ec5.bundle.js.map} +1 -1
  33. package/dist/34330.298b3fb714ce7fc0bda1.bundle.js +2 -0
  34. package/dist/34330.298b3fb714ce7fc0bda1.bundle.js.map +1 -0
  35. package/dist/{34495.7b0a4828632863d0fdd4.bundle.js → 34495.bcc635daf309f60ba23b.bundle.js} +2 -2
  36. package/dist/{34495.7b0a4828632863d0fdd4.bundle.js.map → 34495.bcc635daf309f60ba23b.bundle.js.map} +1 -1
  37. package/dist/36737.9d37e743918e6d45c10b.bundle.js +2 -0
  38. package/dist/36737.9d37e743918e6d45c10b.bundle.js.map +1 -0
  39. package/dist/{38360.1361bf281a19ba415d10.bundle.js → 38360.55d84891b7ad65b37108.bundle.js} +2 -2
  40. package/dist/{38360.1361bf281a19ba415d10.bundle.js.map → 38360.55d84891b7ad65b37108.bundle.js.map} +1 -1
  41. package/dist/{38644.d90ed562660e1bfeddd3.bundle.js → 38644.62bda02822616b30f0c7.bundle.js} +2 -2
  42. package/dist/{38644.d90ed562660e1bfeddd3.bundle.js.map → 38644.62bda02822616b30f0c7.bundle.js.map} +1 -1
  43. package/dist/{38843.297cc7a018bd4df634e8.bundle.js → 38843.28a56aadf139c5f83a07.bundle.js} +2 -2
  44. package/dist/{38843.297cc7a018bd4df634e8.bundle.js.map → 38843.28a56aadf139c5f83a07.bundle.js.map} +1 -1
  45. package/dist/39448.10bcf72a104ce8276328.bundle.js +2 -0
  46. package/dist/39448.10bcf72a104ce8276328.bundle.js.map +1 -0
  47. package/dist/{39518.8547d972593f8717ee28.bundle.js → 39518.24cdd6c870b5b026f43b.bundle.js} +2 -2
  48. package/dist/{39518.8547d972593f8717ee28.bundle.js.map → 39518.24cdd6c870b5b026f43b.bundle.js.map} +1 -1
  49. package/dist/{39539.9693149f20106d3b0884.bundle.js → 39539.cb091b6ad5074999b72d.bundle.js} +2 -2
  50. package/dist/{39539.9693149f20106d3b0884.bundle.js.map → 39539.cb091b6ad5074999b72d.bundle.js.map} +1 -1
  51. package/dist/{39874.6ca23ead080b52dc1bc6.bundle.js → 39874.ff510b958fcdbda4db58.bundle.js} +2 -2
  52. package/dist/39874.ff510b958fcdbda4db58.bundle.js.map +1 -0
  53. package/dist/4125.fd7946ca01aa51acba15.bundle.js +2 -0
  54. package/dist/4125.fd7946ca01aa51acba15.bundle.js.map +1 -0
  55. package/dist/{41453.f28b2cc3e8e80afc8871.bundle.js → 41453.b696ac82dcadda585f04.bundle.js} +2 -2
  56. package/dist/{41453.f28b2cc3e8e80afc8871.bundle.js.map → 41453.b696ac82dcadda585f04.bundle.js.map} +1 -1
  57. package/dist/{41621.d1b7d799116c07df17d1.bundle.js → 41621.68c5ebc2104a62e2b41d.bundle.js} +2 -2
  58. package/dist/41621.68c5ebc2104a62e2b41d.bundle.js.map +1 -0
  59. package/dist/{42129.64ead03391752af23325.bundle.js → 42129.f9f2bafc4520aad7f942.bundle.js} +2 -2
  60. package/dist/{42129.64ead03391752af23325.bundle.js.map → 42129.f9f2bafc4520aad7f942.bundle.js.map} +1 -1
  61. package/dist/42143.1483a9470e09485cc4e4.bundle.js +2 -0
  62. package/dist/42143.1483a9470e09485cc4e4.bundle.js.map +1 -0
  63. package/dist/{44444.77a79ddd001ef03216fc.bundle.js → 44444.153ba656276a2f1bfdc3.bundle.js} +2 -2
  64. package/dist/{44444.77a79ddd001ef03216fc.bundle.js.map → 44444.153ba656276a2f1bfdc3.bundle.js.map} +1 -1
  65. package/dist/{45843.49565fdfa9b426eeb208.bundle.js → 45843.2fb1782023f0992f82c1.bundle.js} +2 -2
  66. package/dist/{45843.49565fdfa9b426eeb208.bundle.js.map → 45843.2fb1782023f0992f82c1.bundle.js.map} +1 -1
  67. package/dist/51087.2e79fab6ad7c1282ee52.bundle.js +2 -0
  68. package/dist/51087.2e79fab6ad7c1282ee52.bundle.js.map +1 -0
  69. package/dist/{55862.9f799792bc876532e44f.bundle.js → 55862.88796a9db69e193b8b83.bundle.js} +2 -2
  70. package/dist/{55862.9f799792bc876532e44f.bundle.js.map → 55862.88796a9db69e193b8b83.bundle.js.map} +1 -1
  71. package/dist/57952.b096d19a802e06030ef0.bundle.js +2 -0
  72. package/dist/57952.b096d19a802e06030ef0.bundle.js.map +1 -0
  73. package/dist/{58306.2a9393e91eef386c5162.bundle.js → 58306.f76e839a5a73f4f4e23a.bundle.js} +2 -2
  74. package/dist/{58306.2a9393e91eef386c5162.bundle.js.map → 58306.f76e839a5a73f4f4e23a.bundle.js.map} +1 -1
  75. package/dist/{59718.f1ae3d1480c7179c57f0.bundle.js → 59718.dfd5982de2b39ccaa2ee.bundle.js} +2 -2
  76. package/dist/59718.dfd5982de2b39ccaa2ee.bundle.js.map +1 -0
  77. package/dist/67232.5a23ef1e641a2ca030c6.bundle.js +2 -0
  78. package/dist/67232.5a23ef1e641a2ca030c6.bundle.js.map +1 -0
  79. package/dist/{67888.da842e9221435c4ce47f.bundle.js → 67888.1537da0fa115fd7a2f06.bundle.js} +2 -2
  80. package/dist/{67888.da842e9221435c4ce47f.bundle.js.map → 67888.1537da0fa115fd7a2f06.bundle.js.map} +1 -1
  81. package/dist/68685.3ec66ceae3e494eba19b.bundle.js +2 -0
  82. package/dist/68685.3ec66ceae3e494eba19b.bundle.js.map +1 -0
  83. package/dist/{69112.817cf7b4d2911108c736.bundle.js → 69112.82e4d57df53e40b54050.bundle.js} +2 -2
  84. package/dist/69112.82e4d57df53e40b54050.bundle.js.map +1 -0
  85. package/dist/{70938.aee60e09777981a03d4c.bundle.js → 70938.fd6dd4e05b512128a074.bundle.js} +2 -2
  86. package/dist/{70938.aee60e09777981a03d4c.bundle.js.map → 70938.fd6dd4e05b512128a074.bundle.js.map} +1 -1
  87. package/dist/{72379.6eecf9bfd4bd4c65b659.bundle.js → 72379.207930bac55b212354ae.bundle.js} +2 -2
  88. package/dist/{72379.6eecf9bfd4bd4c65b659.bundle.js.map → 72379.207930bac55b212354ae.bundle.js.map} +1 -1
  89. package/dist/{73667.942b41c1d4ad078e2a6a.bundle.js → 73667.f42971a7477d6744c54c.bundle.js} +2 -2
  90. package/dist/{73667.942b41c1d4ad078e2a6a.bundle.js.map → 73667.f42971a7477d6744c54c.bundle.js.map} +1 -1
  91. package/dist/{73793.67628222a731868e5ddc.bundle.js → 73793.adf7b10d53a8ee7fa07c.bundle.js} +2 -2
  92. package/dist/{73793.67628222a731868e5ddc.bundle.js.map → 73793.adf7b10d53a8ee7fa07c.bundle.js.map} +1 -1
  93. package/dist/74106.f94ca66e9fc021789d6a.bundle.js +2 -0
  94. package/dist/74106.f94ca66e9fc021789d6a.bundle.js.map +1 -0
  95. package/dist/{75282.eae2387932c55dc997e3.bundle.js → 75282.f097da30576bae97c906.bundle.js} +2 -2
  96. package/dist/{75282.eae2387932c55dc997e3.bundle.js.map → 75282.f097da30576bae97c906.bundle.js.map} +1 -1
  97. package/dist/{75849.f5d1a50a8b03fb10008f.bundle.js → 75849.9c78b9889eccbaee7ae0.bundle.js} +2 -2
  98. package/dist/{75849.f5d1a50a8b03fb10008f.bundle.js.map → 75849.9c78b9889eccbaee7ae0.bundle.js.map} +1 -1
  99. package/dist/{78250.52061302438b3c0323d3.bundle.js → 78250.9f4b0c688bdb06967ed6.bundle.js} +2 -2
  100. package/dist/{78250.52061302438b3c0323d3.bundle.js.map → 78250.9f4b0c688bdb06967ed6.bundle.js.map} +1 -1
  101. package/dist/79329.69815208f7a0b1678dc2.bundle.js +2 -0
  102. package/dist/79329.69815208f7a0b1678dc2.bundle.js.map +1 -0
  103. package/dist/{82926.32c69a801c99f029c69f.bundle.js → 82926.ce06c4bb3d76b9fe5fa9.bundle.js} +2 -2
  104. package/dist/{82926.32c69a801c99f029c69f.bundle.js.map → 82926.ce06c4bb3d76b9fe5fa9.bundle.js.map} +1 -1
  105. package/dist/86142.3f4acbd124c99af11e48.bundle.js +2 -0
  106. package/dist/86142.3f4acbd124c99af11e48.bundle.js.map +1 -0
  107. package/dist/86639.5584db5b403656b75ad4.bundle.js +2 -0
  108. package/dist/86639.5584db5b403656b75ad4.bundle.js.map +1 -0
  109. package/dist/89695.9a36bd7b51d76634b902.bundle.js +2 -0
  110. package/dist/89695.9a36bd7b51d76634b902.bundle.js.map +1 -0
  111. package/dist/{9062.8a9659bd978a5ac7a1e2.bundle.js → 9062.91ba683ec5a6cb53c23f.bundle.js} +2 -2
  112. package/dist/{9062.8a9659bd978a5ac7a1e2.bundle.js.map → 9062.91ba683ec5a6cb53c23f.bundle.js.map} +1 -1
  113. package/dist/94519.1b7b699d10f1278380c3.bundle.js +2 -0
  114. package/dist/94519.1b7b699d10f1278380c3.bundle.js.map +1 -0
  115. package/dist/{95953.f930b9ba889a452ca771.bundle.js → 95953.4ea6a7c68a22779ba299.bundle.js} +2 -2
  116. package/dist/95953.4ea6a7c68a22779ba299.bundle.js.map +1 -0
  117. package/dist/98860.5ade579c8f05a0df416b.bundle.js +2 -0
  118. package/dist/98860.5ade579c8f05a0df416b.bundle.js.map +1 -0
  119. package/dist/{99448.66df63e0704114d6127a.bundle.js → 99448.b2524aa8fdf2f3aee82a.bundle.js} +2 -2
  120. package/dist/{99448.66df63e0704114d6127a.bundle.js.map → 99448.b2524aa8fdf2f3aee82a.bundle.js.map} +1 -1
  121. package/dist/api/ontotext-workbench-api.js +1 -1
  122. package/dist/api/ontotext-workbench-api.js.map +1 -1
  123. package/dist/css/ttyg/agent-settings-modal.css +1 -1
  124. package/dist/i18n/locale-en.json +1 -0
  125. package/dist/i18n/locale-fr.json +1 -0
  126. package/dist/index.html +8 -8
  127. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  128. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  129. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  130. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  131. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  132. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  133. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  134. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  135. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  136. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  137. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  138. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  139. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  140. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  141. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  142. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  143. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  144. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  145. package/dist/js/angular/security/templates/user.html +2 -2
  146. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  147. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  148. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  149. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  150. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  151. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  152. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +4 -3
  153. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  154. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  155. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  156. package/dist/{legacyWorkbench.a918490fca19fd205bef.js → legacyWorkbench.c5245455051fd0bab730.js} +3 -3
  157. package/dist/{legacyWorkbench.a918490fca19fd205bef.js.map → legacyWorkbench.c5245455051fd0bab730.js.map} +1 -1
  158. package/dist/{main.5a06ce3271fcd9cb93e7.js → main.fa0b99f721588e894d1d.js} +3 -3
  159. package/dist/{main.5a06ce3271fcd9cb93e7.js.map → main.fa0b99f721588e894d1d.js.map} +1 -1
  160. package/dist/pages/aclmanagement.html +2 -2
  161. package/dist/pages/autocomplete.html +1 -1
  162. package/dist/pages/choose-repository-type.html +1 -1
  163. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  164. package/dist/pages/create-index.html +1 -1
  165. package/dist/pages/dependencies.html +1 -1
  166. package/dist/pages/domainRangeInfo.html +2 -2
  167. package/dist/pages/edit.html +1 -1
  168. package/dist/pages/explore.html +1 -1
  169. package/dist/pages/export.html +1 -1
  170. package/dist/pages/find.html +1 -1
  171. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  172. package/dist/pages/graphs-visualizations.html +7 -7
  173. package/dist/pages/guides.html +1 -1
  174. package/dist/pages/import.html +2 -2
  175. package/dist/pages/jdbc-create.html +1 -1
  176. package/dist/pages/login.html +1 -1
  177. package/dist/pages/monitor/backup-and-restore.html +1 -1
  178. package/dist/pages/monitor/queries.html +1 -1
  179. package/dist/pages/monitor/resources.html +1 -1
  180. package/dist/pages/namespaces.html +2 -2
  181. package/dist/pages/plugins.html +1 -1
  182. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  183. package/dist/pages/rdfrank.html +2 -2
  184. package/dist/pages/repositories.html +1 -1
  185. package/dist/pages/repository.html +1 -1
  186. package/dist/pages/similarity-indexes.html +1 -1
  187. package/dist/pages/sparql-editor.html +1 -1
  188. package/dist/pages/sparql-template-create.html +1 -1
  189. package/dist/pages/ux-test1.html +2 -2
  190. package/dist/pages/webapi.html +2 -2
  191. package/dist/plugins.js +1 -1
  192. package/dist/res/swagger5/index.html +11 -11
  193. package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
  194. package/dist/shared-components/cjs/onto-layout.cjs.entry.js.map +1 -1
  195. package/dist/shared-components/cjs/onto-layout.entry.cjs.js.map +1 -1
  196. package/dist/shared-components/collection/components/onto-layout/onto-layout.js +1 -1
  197. package/dist/shared-components/collection/components/onto-layout/onto-layout.js.map +1 -1
  198. package/dist/shared-components/esm/onto-layout.entry.js +1 -1
  199. package/dist/shared-components/esm/onto-layout.entry.js.map +1 -1
  200. package/dist/shared-components/shared-components/onto-layout.entry.esm.js.map +1 -1
  201. package/dist/shared-components/shared-components/p-504c7e8e.entry.js +1 -0
  202. package/dist/shared-components/shared-components/p-504c7e8e.entry.js.map +1 -0
  203. package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
  204. package/package.json +1 -1
  205. package/dist/13486.58f89862c40c0f84cb09.bundle.js.map +0 -1
  206. package/dist/13813.a49f3fcf17ecd10c738e.bundle.js +0 -2
  207. package/dist/13813.a49f3fcf17ecd10c738e.bundle.js.map +0 -1
  208. package/dist/24785.07db24a70db7d20d268a.bundle.js +0 -2
  209. package/dist/24785.07db24a70db7d20d268a.bundle.js.map +0 -1
  210. package/dist/25090.8336e69433235ea3dfc6.bundle.js +0 -2
  211. package/dist/25090.8336e69433235ea3dfc6.bundle.js.map +0 -1
  212. package/dist/34330.a2a4211b14d118bd4c03.bundle.js +0 -2
  213. package/dist/34330.a2a4211b14d118bd4c03.bundle.js.map +0 -1
  214. package/dist/36737.0f3e0ff6942f79d49804.bundle.js +0 -2
  215. package/dist/36737.0f3e0ff6942f79d49804.bundle.js.map +0 -1
  216. package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js +0 -2
  217. package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js.map +0 -1
  218. package/dist/39874.6ca23ead080b52dc1bc6.bundle.js.map +0 -1
  219. package/dist/4125.28d3c85c122f270c9b2c.bundle.js +0 -2
  220. package/dist/4125.28d3c85c122f270c9b2c.bundle.js.map +0 -1
  221. package/dist/41621.d1b7d799116c07df17d1.bundle.js.map +0 -1
  222. package/dist/42143.87a6b0a089da7a2318dd.bundle.js +0 -2
  223. package/dist/42143.87a6b0a089da7a2318dd.bundle.js.map +0 -1
  224. package/dist/51087.8bc01b7861b40bc7082d.bundle.js +0 -2
  225. package/dist/51087.8bc01b7861b40bc7082d.bundle.js.map +0 -1
  226. package/dist/57952.afa9e0608388e5bae876.bundle.js +0 -2
  227. package/dist/57952.afa9e0608388e5bae876.bundle.js.map +0 -1
  228. package/dist/59718.f1ae3d1480c7179c57f0.bundle.js.map +0 -1
  229. package/dist/67232.ca7667a39c74efdb90e1.bundle.js +0 -2
  230. package/dist/67232.ca7667a39c74efdb90e1.bundle.js.map +0 -1
  231. package/dist/68685.314faeaa55a342568c0b.bundle.js +0 -2
  232. package/dist/68685.314faeaa55a342568c0b.bundle.js.map +0 -1
  233. package/dist/69112.817cf7b4d2911108c736.bundle.js.map +0 -1
  234. package/dist/74106.82ee18377b0ae14c6a7f.bundle.js +0 -2
  235. package/dist/74106.82ee18377b0ae14c6a7f.bundle.js.map +0 -1
  236. package/dist/79329.d966e9755b8abe0219dc.bundle.js +0 -2
  237. package/dist/79329.d966e9755b8abe0219dc.bundle.js.map +0 -1
  238. package/dist/86142.ed366f6953d750eb99b8.bundle.js +0 -2
  239. package/dist/86142.ed366f6953d750eb99b8.bundle.js.map +0 -1
  240. package/dist/86639.6cf8f34680ceacc7298d.bundle.js +0 -2
  241. package/dist/86639.6cf8f34680ceacc7298d.bundle.js.map +0 -1
  242. package/dist/89695.2d49f93862aee2cf23af.bundle.js +0 -2
  243. package/dist/89695.2d49f93862aee2cf23af.bundle.js.map +0 -1
  244. package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js +0 -2
  245. package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js.map +0 -1
  246. package/dist/95953.f930b9ba889a452ca771.bundle.js.map +0 -1
  247. package/dist/98860.30ea9a212cf6e622ec36.bundle.js +0 -2
  248. package/dist/98860.30ea9a212cf6e622ec36.bundle.js.map +0 -1
  249. package/dist/shared-components/shared-components/p-28a4ce8f.entry.js +0 -1
  250. package/dist/shared-components/shared-components/p-28a4ce8f.entry.js.map +0 -1
  251. /package/dist/{legacyWorkbench.a918490fca19fd205bef.js.LICENSE.txt → legacyWorkbench.c5245455051fd0bab730.js.LICENSE.txt} +0 -0
  252. /package/dist/{main.5a06ce3271fcd9cb93e7.js.LICENSE.txt → main.fa0b99f721588e894d1d.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=42143;export const __webpack_ids__=[42143];export const __webpack_modules__={42143:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"import-rdf-file",getSteps:(e,t)=>{const i=t.GuideUtils,o=t.toastr,l=t.$translate,r=t.$interpolate,n=t.EventEmitterService;e.mainAction="import-file";const c=[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"import",showIntro:!0},e)}];e.resourcePath&&c.push({guideBlockName:"download-guide-resource",options:angular.extend({},{title:""},e)});const s=i.getGuideElementSelector("import-settings-import-button");let a;return c.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.content",url:"/import",elementSelector:i.getGuideElementSelector("uploadRdfFileButton"),class:"upload-rdf-file-button-guide-dialog",advanceOn:void 0,show:t=>()=>{a=n.subscribe("filesForUploadSelected",o=>{(o.files||[]).some(t=>t.name===e.resourceFile)?i.isVisible(i.getGuideElementSelector("import-file-"+e.resourceFile))?i.getOrWaitFor(".confirm-duplicate-files-dialog").then(()=>t.next()):i.getOrWaitFor(s).then(()=>t.next()):o.cancel=!0})},hide:()=>()=>{a&&a()},onNextValidate:()=>Promise.allSettled([i.getOrWaitFor(".confirm-duplicate-files-dialog"),i.getOrWaitFor(i.getGuideElementSelector("import-file-"+e.resourceFile))]).then(([t,n])=>"rejected"!==t.status||"rejected"!==n.status||(i.noNextErrorToast(o,l,r,"guide.step_plugin.import_rdf_file.file-must-be-uploaded",e),!1)),onNextClick:t=>{i.getOrWaitFor(i.getGuideElementSelector("import-file-"+e.resourceFile)).then(e=>{e.click()}).catch(e=>{console.log(e)}).finally(()=>t.next())}},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.confirm_duplicate_files_dialog.content",elementSelector:i.getElementSelector(".confirm-duplicate-files-dialog .confirm-overwrite-btn"),url:"/import",placement:"bottom",class:"import-file-button-guide-dialog",skipFromHistory:!0,showOn:()=>i.isVisible(i.getElementSelector(".confirm-duplicate-files-dialog")),onNextClick:()=>i.clickOnElement(".confirm-duplicate-files-dialog .confirm-overwrite-btn")(),onPreviousClick:()=>i.isVisible(i.getElementSelector(".confirm-duplicate-files-dialog"))?i.clickOnElement(".confirm-duplicate-files-dialog .cancel-btn"):Promise.resolve()},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.import-settings.import.button.content",elementSelector:s,placement:"top",class:"import-settings-import-file-button-guide-dialog",onPreviousClick:()=>new Promise(function(e){i.clickOnGuideElement("import-settings-cancel-button")().then(()=>e())}),beforeShowPromise:()=>t.GuideUtils.deferredShow(300)().then(()=>i.getOrWaitFor(s,3).catch(e=>(t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),Promise.reject(e)))),onNextClick:()=>i.clickOnGuideElement("import-settings-import-button")(),canBePaused:!1},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.import_status_info.content",url:"/import",elementSelector:".import-resource-message",class:"import-status-info-guide-dialog",beforeShowPromise:()=>i.isVisible(".import-resource-message")?Promise.resolve():i.waitFor(".import-resource-message",10),onPreviousClick:()=>i.getOrWaitFor(i.getGuideElementSelector("import-file-"+e.resourceFile),10).then(e=>{e.click()})},e)}),c}}])}};
2
- //# sourceMappingURL=42143.87a6b0a089da7a2318dd.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"42143.87a6b0a089da7a2318dd.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/import-rdf-file/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'import-rdf-file',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const toastr = services.toastr;\n const $translate = services.$translate;\n const $interpolate = services.$interpolate;\n const EventEmitterService = services.EventEmitterService;\n options.mainAction = 'import-file';\n\n const steps = [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'import',\n showIntro: true\n }, options)\n }\n ];\n\n if (options.resourcePath) {\n steps.push(\n {\n guideBlockName: 'download-guide-resource',\n options: angular.extend({}, {\n title: ''\n }, options)\n }\n );\n }\n\n const importSettingsButtonSelector = GuideUtils.getGuideElementSelector('import-settings-import-button');\n let filesForUploadSelectedSubscription;\n steps.push(...[\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.content',\n url: '/import',\n elementSelector: GuideUtils.getGuideElementSelector('uploadRdfFileButton'),\n class: 'upload-rdf-file-button-guide-dialog',\n // Disable default behavior of service when element is clicked.\n advanceOn: undefined,\n show: (guide) => () => {\n // Subscribes to event \"filesForUploadSelected\", when the step is showing, this will give opportunity\n // to canceling uploading if user not choose correct file.\n filesForUploadSelectedSubscription = EventEmitterService.subscribe('filesForUploadSelected', ((eventData) => {\n const uploadedFiles = eventData.files || [];\n if (uploadedFiles.some((uploadedFile) => uploadedFile.name === options.resourceFile)) {\n // When tha correct file is selected, the guide can continue.\n\n // Check for duplicated name, if import button for guide rdf data exist.\n if (GuideUtils.isVisible(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile))) {\n GuideUtils.getOrWaitFor('.confirm-duplicate-files-dialog')\n .then(() => guide.next());\n } else {\n GuideUtils.getOrWaitFor(importSettingsButtonSelector)\n .then(() => guide.next());\n }\n } else {\n // Canceling the automatically uploading of files because the guide rdf file is not selected.\n eventData.cancel = true;\n }\n }));\n },\n hide: () => () => {\n if (filesForUploadSelectedSubscription) {\n filesForUploadSelectedSubscription();\n }\n },\n onNextValidate: () => {\n return Promise.allSettled([GuideUtils.getOrWaitFor('.confirm-duplicate-files-dialog'), GuideUtils.getOrWaitFor(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile))])\n .then(([confirmDialogPromise, importButtonPromise]) => {\n // There are two ways to exit this step: if the duplication dialog is opened or if the import button for the guide file is displayed.\n // The first scenario indicates that the user is trying to upload the same file,\n // while the second scenario suggests that the guide has been started more than once.\n if ('rejected' === confirmDialogPromise.status && 'rejected' === importButtonPromise.status) {\n GuideUtils.noNextErrorToast(toastr, $translate, $interpolate, 'guide.step_plugin.import_rdf_file.file-must-be-uploaded', options);\n return false;\n }\n return true;\n });\n },\n onNextClick: (guide) => {\n GuideUtils.getOrWaitFor(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile))\n .then((element) => {\n // if we have file import button for the guide rdf file, this indicates that we go through this step for second time.\n // This can happen if user start guide for second time.\n element.click();\n })\n .catch((error) => {\n // This shouldn't be happening.\n console.log(error);\n })\n .finally(() => guide.next());\n }\n }, options)\n },\n // This step is optional and will only appear if the file we want to upload has already been uploaded.\n // If the file is already uploaded, a confirmation dialog will be opened, and this step will display the confirm button of the dialog.\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.confirm_duplicate_files_dialog.content',\n elementSelector: GuideUtils.getElementSelector('.confirm-duplicate-files-dialog .confirm-overwrite-btn'),\n url: '/import',\n placement: 'bottom',\n class: 'import-file-button-guide-dialog',\n skipFromHistory: true,\n // Checks whether the confirm dialog is currently open.\n showOn: () => GuideUtils.isVisible(GuideUtils.getElementSelector('.confirm-duplicate-files-dialog')),\n onNextClick: () => GuideUtils.clickOnElement('.confirm-duplicate-files-dialog .confirm-overwrite-btn')(),\n onPreviousClick: () => {\n if (GuideUtils.isVisible(GuideUtils.getElementSelector('.confirm-duplicate-files-dialog'))) {\n return GuideUtils.clickOnElement('.confirm-duplicate-files-dialog .cancel-btn');\n }\n return Promise.resolve();\n }\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.import-settings.import.button.content',\n elementSelector: importSettingsButtonSelector,\n placement: 'top',\n class: 'import-settings-import-file-button-guide-dialog',\n onPreviousClick: () => new Promise(function (resolve) {\n GuideUtils.clickOnGuideElement('import-settings-cancel-button')()\n .then(() => resolve());\n }),\n beforeShowPromise: () => services.GuideUtils.deferredShow(300)()\n .then(() => GuideUtils.getOrWaitFor(importSettingsButtonSelector, 3)\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n return Promise.reject(error);\n })\n ),\n onNextClick: () => GuideUtils.clickOnGuideElement('import-settings-import-button')(),\n canBePaused: false\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_status_info.content',\n url: '/import',\n elementSelector: '.import-resource-message',\n class: 'import-status-info-guide-dialog',\n beforeShowPromise: () => {\n if (GuideUtils.isVisible('.import-resource-message')) {\n return Promise.resolve();\n }\n return GuideUtils.waitFor('.import-resource-message', 10);\n },\n onPreviousClick: () => GuideUtils.getOrWaitFor(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile), 10)\n .then((element) => { element.click() })\n }, options)\n }\n ]);\n\n return steps;\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","toastr","$translate","$interpolate","EventEmitterService","mainAction","steps","angular","extend","menu","showIntro","resourcePath","push","title","importSettingsButtonSelector","getGuideElementSelector","filesForUploadSelectedSubscription","content","url","elementSelector","class","advanceOn","undefined","show","guide","subscribe","eventData","files","some","uploadedFile","name","resourceFile","isVisible","getOrWaitFor","then","next","cancel","hide","onNextValidate","Promise","allSettled","confirmDialogPromise","importButtonPromise","status","noNextErrorToast","onNextClick","element","click","catch","error","console","log","finally","getElementSelector","placement","skipFromHistory","showOn","clickOnElement","onPreviousClick","resolve","clickOnGuideElement","beforeShowPromise","deferredShow","instant","reject","canBePaused","waitFor"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=51087;export const __webpack_ids__=[51087];export const __webpack_modules__={51087:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"ask-ttyg-agent",getSteps:(t,n)=>{const o=n.GuideUtils;t.mainAction="ask-ttyg-agent",t.maxWaitTime=10,t.forceReload=!1;const i=t.explain,l=t.explainMore,a=t.exploreSparql,s=[{guideBlockName:"input-element",options:angular.extend({},{skipPoint:!0,content:"guide.step_plugin.ask-ttyg-agent.input-question",class:"input-question-guide-dialog",url:"/ttyg",elementSelector:o.getGuideElementSelector("question-input"),show:e=>()=>{const t=o.getGuideElementSelector("contenteditable");$(t).on("keydown",n=>{!$(t).text()||"Enter"!==n.key||n.shiftKey||n.ctrlKey||e.next()})},hide:()=>()=>{const e=o.getGuideElementSelector("contenteditable");$(e).off("keydown")},disablePreviousFlow:!0,disableNextFlow:!0},t)},e(o,t)];if(i){const n=o.getLastGuideElementSelector("explain-response-btn"),i=o.getLastGuideElementSelector("chat-item",n);s.push({guideBlockName:"info-message",options:angular.extend({},{url:"/ttyg",beforeShowPromise:(e,t)=>o.waitFor(i,1).then(()=>{setTimeout(()=>e.next())}).catch(()=>{const n=t.id;setTimeout(()=>e.show(n+3))})},t)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.ask-ttyg-agent.explain-answer",class:"explain-answer-guide-dialog",url:"/ttyg",elementSelector:i,disablePreviousFlow:!0,disableNextFlow:!0},t)},e(o,t))}if(i&&a){const e=o.getLastGuideElementSelector("open-in-sparql-editor-btn"),n=o.getLastGuideElementSelector("chat-item",e);s.push({guideBlockName:"info-message",options:angular.extend({},{url:"/ttyg",beforeShowPromise:(e,t)=>o.waitFor(n,1).then(()=>{setTimeout(()=>e.next())}).catch(()=>{const n=t.id;setTimeout(()=>e.show(n+2))})},t)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.ask-ttyg-agent.explore-sparql",class:"explore-sparql-guide-dialog",url:"/ttyg",disablePreviousFlow:!0,disableNextFlow:!0,elementSelector:n},t)})}if(i&&l){const n=o.getLastGuideElementSelector("how-derive-answer-btn"),i=o.getLastGuideElementSelector("chat-item",n);s.push({guideBlockName:"info-message",options:angular.extend({},{url:"/ttyg",beforeShowPromise:(e,t)=>o.waitFor(i,1).then(()=>{setTimeout(()=>e.next())}).catch(()=>{const n=t.id;setTimeout(()=>e.show(n+3))}),disablePreviousFlow:!0},t)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.ask-ttyg-agent.explain-answer-more",class:"input-agent-name-guide-dialog",url:"/ttyg",elementSelector:i,show:e=>()=>{$(i).on("click",()=>{e.next()})},hide:()=>()=>{$(i).off("click")},disableNextFlow:!0},t)},e(o,t))}return s}}]);const e=(e,t)=>({guideBlockName:"hold-and-wait-until-hidden",options:angular.extend({},{content:"guide.step_plugin.ask-ttyg-agent.wait-for-answer",class:"wait-for-answer-guide-dialog",url:"/ttyg",placement:"left",elementSelector:e.getGuideElementSelector("chat-details"),elementSelectorToWait:e.getGuideElementSelector("question-loader")},t)})}};
2
- //# sourceMappingURL=51087.8bc01b7861b40bc7082d.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"51087.8bc01b7861b40bc7082d.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/ask-ttyg-agent/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'ask-ttyg-agent',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'ask-ttyg-agent';\n options.maxWaitTime = 10;\n options.forceReload = false;\n\n const explain = options.explain;\n const explainMore = options.explainMore;\n const exploreSparql = options.exploreSparql;\n\n const steps = [\n {\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n skipPoint: true,\n content: `guide.step_plugin.ask-ttyg-agent.input-question`,\n class: 'input-question-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('question-input'),\n show: (guide) => () => {\n const elementSelector = GuideUtils.getGuideElementSelector('contenteditable');\n\n // Add \"keydown\" listener to the element. The question-input directive listens for keypress of enter to trigger question asking.\n // When enter is pressed, proceed with next step. Using 'keydown' to trigger before the directive 'keypress', which clears the value.\n $(elementSelector).on('keydown', (event) => {\n const value = $(elementSelector).text();\n\n if (value && event.key === 'Enter' && !event.shiftKey && !event.ctrlKey) {\n guide.next();\n }\n });\n },\n hide: () => () => {\n const elementSelector = GuideUtils.getGuideElementSelector('contenteditable');\n // Remove the \"keydown\" listener of element. It is important when step is hidden.\n $(elementSelector).off('keydown');\n },\n disablePreviousFlow: true,\n disableNextFlow: true\n }, options)\n },\n getWaitForAnswerStep(GuideUtils, options)\n ];\n\n if (explain) {\n const explainBtnSelector = GuideUtils.getLastGuideElementSelector('explain-response-btn');\n const elementSelector = GuideUtils.getLastGuideElementSelector('chat-item', explainBtnSelector);\n\n steps.push(\n {\n // If button is not visible for some reason, skip the whole step\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n url: '/ttyg',\n beforeShowPromise: (guide, currentStep) => GuideUtils.waitFor(elementSelector, 1)\n .then(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n })\n .catch(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId + 3))\n }),\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.explain-answer',\n class: 'explain-answer-guide-dialog',\n url: '/ttyg',\n elementSelector,\n disablePreviousFlow: true,\n disableNextFlow: true\n }, options)\n },\n getWaitForAnswerStep(GuideUtils, options)\n )\n }\n\n if (explain && exploreSparql) {\n const exploreSparqlBtnSelector = GuideUtils.getLastGuideElementSelector('open-in-sparql-editor-btn');\n const elementSelector = GuideUtils.getLastGuideElementSelector('chat-item', exploreSparqlBtnSelector);\n\n steps.push(\n {\n // If button is not visible for some reason, skip the whole step\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n url: '/ttyg',\n beforeShowPromise: (guide, currentStep) => GuideUtils.waitFor(elementSelector, 1)\n .then(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n })\n .catch(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId + 2))\n }),\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.explore-sparql',\n class: 'explore-sparql-guide-dialog',\n url: '/ttyg',\n disablePreviousFlow: true,\n disableNextFlow: true,\n elementSelector\n }, options)\n }\n )\n }\n\n if (explain && explainMore) {\n const explainMoreBtnSelector = GuideUtils.getLastGuideElementSelector('how-derive-answer-btn');\n const elementSelector = GuideUtils.getLastGuideElementSelector('chat-item', explainMoreBtnSelector);\n\n steps.push(\n {\n // If button is not visible for some reason, skip the whole step\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n url: '/ttyg',\n beforeShowPromise: (guide, currentStep) => {\n return GuideUtils.waitFor(elementSelector, 1)\n .then(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n })\n .catch(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId + 3))\n })\n },\n disablePreviousFlow: true\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.explain-answer-more',\n class: 'input-agent-name-guide-dialog',\n url: '/ttyg',\n elementSelector,\n show: (guide) => () => {\n // Add \"click\" listener to the element. Upon clicking the element is hidden and this breaks the default flow of the guide.\n // Adding a handler to proceed to next step\n $(elementSelector).on('click', () => {\n guide.next()\n });\n },\n hide: () => () => {\n // Remove the \"click\" listener of element. It is important when step is hidden.\n $(elementSelector).off('click');\n },\n disableNextFlow: true\n }, options)\n },\n getWaitForAnswerStep(GuideUtils, options)\n )\n }\n\n return steps;\n }\n }\n]);\n\nconst getWaitForAnswerStep = (GuideUtils, options) => {\n return {\n guideBlockName: 'hold-and-wait-until-hidden',\n options: angular.extend({}, {\n content: 'guide.step_plugin.ask-ttyg-agent.wait-for-answer',\n class: 'wait-for-answer-guide-dialog',\n url: '/ttyg',\n placement: 'left',\n elementSelector: GuideUtils.getGuideElementSelector('chat-details'),\n elementSelectorToWait: GuideUtils.getGuideElementSelector('question-loader'),\n }, options)\n }\n}\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","maxWaitTime","forceReload","explain","explainMore","exploreSparql","steps","angular","extend","skipPoint","content","class","url","elementSelector","getGuideElementSelector","show","guide","$","on","event","text","key","shiftKey","ctrlKey","next","hide","off","disablePreviousFlow","disableNextFlow","getWaitForAnswerStep","explainBtnSelector","getLastGuideElementSelector","push","beforeShowPromise","currentStep","waitFor","then","setTimeout","catch","stepId","id","exploreSparqlBtnSelector","explainMoreBtnSelector","placement","elementSelectorToWait"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=57952;export const __webpack_ids__=[48581,57952,70962];export const __webpack_modules__={57952:(t,e,n)=>{n.r(e),n.d(e,{ARROW_CONFIG:()=>R,addArrowHead:()=>T,createClusterSvgElement:()=>u,createClusterZone:()=>O,createHexagon:()=>G,createLinks:()=>C,createNodes:()=>f,moveElement:()=>_,positionNodesOnClusterZone:()=>L,removeEventListeners:()=>D,setArrowLink:()=>m,setCreateClusterZone:()=>S,setLinkColor:()=>v,setLinkStyle:()=>x,updateClusterZoneLabels:()=>E,updateLinks:()=>g,updateNodes:()=>h});var o=n(70962),r=n(98980),a=n(93462);const s={line:a.line,select:a.select},i={ontoOrange:"var(--primary-color)",ontoBlue:"var(--secondary-color)",ontoGreen:"var(--tertiary-color)",ontoGrey:"var(--gray-color)"},c={[o.LinkState.IN_SYNC]:i.ontoBlue,[o.LinkState.SYNCING]:i.ontoBlue,[o.LinkState.OUT_OF_SYNC]:i.ontoGrey,[o.LinkState.RECEIVING_SNAPSHOT]:i.ontoBlue},d={[o.LinkState.IN_SYNC]:"none",[o.LinkState.SYNCING]:"10 10",[o.LinkState.OUT_OF_SYNC]:"10 10",[o.LinkState.RECEIVING_SNAPSHOT]:"10 10"},l={FONT_AWESOME:"FONT_AWESOME",ICOMOON:"ICOMOON"},N=40;function u(t){return s.select(t).append("svg").classed("cluster-diagram",!0)}function O(t){const e=t.append("g");return e.append("circle").classed("cluster-zone",!0).style("fill","transparent").style("stroke-width","4"),e}function S(t,e,n,o=!1){if(e.select(".cluster-zone").classed("no-cluster",!t).classed("has-access",o),t)e.selectAll("#no-cluster-zone").remove();else{const t=e.append("g").attr("id","no-cluster-zone");t.append("text").attr("id","no-cluster-label").text(n.no_cluster_configured).attr("y",-50).classed("h2",!0).style("text-anchor","middle"),o&&t.append("text").attr("id","create-cluster-label").classed("h3",!0).text(n.create_cluster_btn).style("text-anchor","middle"),t.append("text").attr("y",130).attr("class","icon-any repo").attr("fill",i.ontoOrange).style("text-anchor","middle").classed("settings-icon",!0).text("")}}function E(t,e,n){t||(e.select("#no-cluster-zone #no-cluster-label").text(n.no_cluster_configured),e.select("#no-cluster-zone #create-cluster-label").text(n.create_cluster_btn))}function _(t,e,n){t.attr("transform",()=>`translate(${e}, ${n})`)}function f(t,e,n){const o=t.enter().append("g").attr("id","node-group").classed("legend",n),r=o.merge(t).attr("id","node-group").classed("legend",n);return G(o,e),t.exit().remove(),o.append("text").attr("class","icon-any node-icon"),n||function(t,e){const n=t.append("g");n.append("rect").attr("class","id-host-background").attr("rx",6),n.append("rect").attr("class","node-info-background").attr("rx",6),n.append("text").attr("y",e+25).attr("class","id id-host"),n.append("text").attr("y",e+55).attr("class","node-info-text")}(o,e),r}function h(t){!function(t){t.select(".node-icon").each(function(t){const e=(n=t,(0,r.isEmpty)(n.recoveryStatus)?function(t){return I[t.nodeState]||{icon:"",font:""}}(t):function(t){const e=t.recoveryStatus;return e&&e.state&&p[e.state]||{icon:"",font:""}}(t));var n;s.select(this).classed("icon-any",e.font===l.ICOMOON).classed("fa-d3",e.font===l.FONT_AWESOME).text(e.icon)})}(t),function(t){t.select(".node.member").classed("leader",t=>t.nodeState===o.NodeState.LEADER).classed("follower",t=>t.nodeState===o.NodeState.FOLLOWER).classed("candidate",t=>t.nodeState===o.NodeState.CANDIDATE).classed("other",t=>t.nodeState!==o.NodeState.LEADER&&t.nodeState!==o.NodeState.FOLLOWER&&t.nodeState!==o.NodeState.CANDIDATE)}(t),function(t){t.select(".id.id-host").each(function(t){t.labelNode=this}).text(function(t){return t.hostname}),t.select(".id-host-background").attr("width",function(t){return s.select(t.labelNode).node().getBBox().width+10}).attr("height",function(t){return s.select(t.labelNode).node().getBBox().height+10}).attr("x",function(t){return s.select(t.labelNode).node().getBBox().x-5}).attr("y",function(t){return s.select(t.labelNode).node().getBBox().y-5})}(t),function(t){let e,n;t.select(".node-info-text").each(function(t){t.infoNode=this}).select(function(){return this.parentNode}).append("foreignObject").attr("width",function(t){if((0,r.isEmpty)(t.recoveryStatus))return 0;const o=A(y(t));return e=o.height,n=o.width,n}).attr("height",function(t){return(0,r.isEmpty)(t.recoveryStatus)?0:e}).attr("x",function(t){return-n/2}).attr("y",function(t){return 78}).classed("hidden",function(t){return(0,r.isEmpty)(t.recoveryStatus)}).style("font-size","12px").style("font-weight","400").style("text-align","center").style("padding","4px").style("background","#EEEEEE").style("border-radius","6px").attr("class","node-info-fo").append("xhtml:div").html(function(t){return y(t)}),t.select(".node-info-text").remove(),function(t){t.select(".node-info-fo").each(function(t){const e=s.select(this);if((0,r.isEmpty)(t.recoveryStatus))return void e.attr("width",0);const n=y(t),o=t.recoveryStatus.message&&t.recoveryStatus.message.length>N&&n!==t.recoveryStatus.message,a=o?n:t.recoveryStatus.message,i=A(n),c=A(t.recoveryStatus.message);e.on(".tooltip",null),o&&function(t,e,n,o,r){t.on("mouseover.tooltip",()=>{t.attr("width",r.width).attr("height",r.height).attr("x",-r.width/2).html(`<div>${e}</div>`)}),t.on("mouseout.tooltip",()=>{t.attr("width",n.width).attr("height",n.height).attr("x",-n.width/2).html(`<div>${o}</div>`)})}(e,t.recoveryStatus.message,i,a,c),e.attr("width",i.width).attr("height",i.height).attr("x",-i.width/2).html(`<div>${a}</div>`)})}(t)}(t)}const p={[o.RecoveryState.SEARCHING_FOR_NODE]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.WAITING_FOR_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.RECEIVING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.APPLYING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.BUILDING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.SENDING_SNAPSHOT]:{icon:"",font:l.FONT_AWESOME},[o.RecoveryState.RECOVERY_OPERATION_FAILURE_WARNING]:{icon:"",font:l.ICOMOON}},I={[o.NodeState.CANDIDATE]:{icon:"",font:l.ICOMOON},[o.NodeState.NO_CONNECTION]:{icon:"",font:l.ICOMOON},[o.NodeState.OUT_OF_SYNC]:{icon:"",font:l.ICOMOON},[o.NodeState.READ_ONLY]:{icon:"",font:l.ICOMOON},[o.NodeState.RESTRICTED]:{icon:"",font:l.ICOMOON}};function y(t){return t.recoveryStatus.message&&t.recoveryStatus.message.length>N?t.recoveryStatus.message.substring(0,N)+"...":t.recoveryStatus.message||""}function A(t){const e=document.createElement("div");e.innerHTML=t,e.style.padding="4px",e.style.position="absolute",e.style.visibility="hidden",e.style.fontSize="12px",e.style.fontWeight="400",e.style.textAlign="center",e.style.height="auto",e.style.width="auto",e.style.whiteSpace="nowrap",document.body.appendChild(e);const n=e.getBoundingClientRect(),o=n.height,r=n.width;return document.body.removeChild(e),{height:o,width:r}}function C(t){t.enter().append("path").classed("link",!0),t.exit().remove()}function g(t,e){t.attr("class",t=>`link ${t.id.replaceAll(":","-")}`).attr("stroke",v).style("stroke-dasharray",x).style("marker-mid",t=>m(t,R.BIG)).attr("d",t=>function(t,e){const n=e.find(e=>e.address===t.source),o=e.find(e=>e.address===t.target),r=o.x-n.x,a=o.y-n.y,s=Math.sqrt(r*r+a*a),i=r/s,c=a/s,d=n.x+55*i,l=n.y+55*c,N=o.x-55*i,u=o.y-55*c;return"M"+d+","+l+"L"+(d+N)/2+","+(l+u)/2+"L"+N+","+u}(t,e))}const R={SMALL:{name:"small",size:3},BIG:{name:"big",size:5}};function T(t,e){t.append("svg:defs").append("svg:marker").attr("id",`arrowhead_${e.name}`).attr("viewBox",`0 0 ${2*e.size} ${2*e.size}`).attr("refX",e.size).attr("refY",e.size).attr("markerWidth",e.size).attr("markerHeight",e.size).attr("orient","auto-start-reverse").append("path").attr("d",`M 0 0 L ${2*e.size} ${e.size} L 0 ${2*e.size} z`).style("fill","var(--secondary-color)")}function m(t,e){if(t.status===o.LinkState.RECEIVING_SNAPSHOT)return`url(#arrowhead_${e.name})`}function v(t){return c[t.status]||"none"}function x(t){return d[t.status]||"none"}function L(t,e,n,o){t.attr("transform",(r,a)=>{const s=2*Math.PI*a/t.size(),i=e+Math.cos(s)*o,c=n+Math.sin(s)*o;return r.x=i,r.y=c,`translate(${i}, ${c})`})}function G(t,e){const n=Math.sqrt(3)/2,o=[[e+0,0],[e/2+0,e*n+0],[-e/2+0,e*n+0],[0-e,0],[-e/2+0,-e*n+0],[e/2+0,-e*n+0],[e+0,0],[e/2+0,e*n+0]];return t.selectAll("path.area").data([o]).enter().append("path").attr("class","node member").attr("stroke-width","10").attr("stroke-linejoin","round").attr("d",s.line())}function D(){s.select(document).selectAll(".node-info-fo").on(".tooltip",null)}},70962:(t,e,n)=>{n.r(e),n.d(e,{LinkState:()=>a,NodeState:()=>o,RecoveryState:()=>r,TopologyState:()=>s});const o={LEADER:"LEADER",FOLLOWER:"FOLLOWER",CANDIDATE:"CANDIDATE",OUT_OF_SYNC:"OUT_OF_SYNC",NO_CONNECTION:"NO_CONNECTION",READ_ONLY:"READ_ONLY",RESTRICTED:"RESTRICTED",NO_CLUSTER:"NO_CLUSTER"},r={SEARCHING_FOR_NODE:"SEARCHING_FOR_NODE",WAITING_FOR_SNAPSHOT:"WAITING_FOR_SNAPSHOT",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT",APPLYING_SNAPSHOT:"APPLYING_SNAPSHOT",BUILDING_SNAPSHOT:"BUILDING_SNAPSHOT",SENDING_SNAPSHOT:"SENDING_SNAPSHOT",RECOVERY_OPERATION_FAILURE_WARNING:"RECOVERY_OPERATION_FAILURE_WARNING"},a={IN_SYNC:"IN_SYNC",OUT_OF_SYNC:"OUT_OF_SYNC",SYNCING:"SYNCING",NO_CONNECTION:"NO_CONNECTION",RECEIVING_SNAPSHOT:"RECEIVING_SNAPSHOT"},s={PRIMARY_NODE:"PRIMARY_NODE",SECONDARY_NODE:"SECONDARY_NODE"}}};
2
- //# sourceMappingURL=57952.afa9e0608388e5bae876.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"57952.afa9e0608388e5bae876.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/clustermanagement/services/cluster-drawing.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/clustermanagement/states.js"],"sourcesContent":["import {LinkState, NodeState, RecoveryState} from \"../../models/clustermanagement/states\";\nimport {isEmpty} from \"lodash\";\nimport {select, line} from 'd3';\n\nconst d3 = {\n line,\n select\n};\n\nconst clusterColors = {\n ontoOrange: 'var(--primary-color)',\n ontoBlue: 'var(--secondary-color)',\n ontoGreen: 'var(--tertiary-color)',\n ontoGrey: 'var(--gray-color)'\n};\n\nconst linkStateColors = {\n [LinkState.IN_SYNC]: clusterColors.ontoBlue,\n [LinkState.SYNCING]: clusterColors.ontoBlue,\n [LinkState.OUT_OF_SYNC]: clusterColors.ontoGrey,\n [LinkState.RECEIVING_SNAPSHOT]: clusterColors.ontoBlue\n};\n\nconst linkStateStyle = {\n // solid line\n [LinkState.IN_SYNC]: 'none',\n // dashed line\n [LinkState.SYNCING]: '10 10',\n // dashed line\n [LinkState.OUT_OF_SYNC]: '10 10',\n // dashed line\n [LinkState.RECEIVING_SNAPSHOT]: '10 10'\n};\n\nconst font = {\n FONT_AWESOME: 'FONT_AWESOME',\n ICOMOON: 'ICOMOON'\n};\n\nconst shortMessageLimit = 40;\n\nexport function createClusterSvgElement(element) {\n return d3.select(element)\n .append('svg')\n .classed('cluster-diagram', true);\n}\n\nexport function createClusterZone(parent) {\n const clusterZone = parent.append('g');\n clusterZone\n .append(\"circle\")\n .classed('cluster-zone', true)\n .style('fill', 'transparent')\n .style('stroke-width', '4');\n return clusterZone;\n}\n\nexport function setCreateClusterZone(hasCluster, clusterZone, translationsMap, hasAccess = false) {\n clusterZone\n .select('.cluster-zone')\n .classed('no-cluster', !hasCluster)\n .classed('has-access', hasAccess);\n\n if (hasCluster) {\n clusterZone.selectAll('#no-cluster-zone').remove();\n } else {\n const textGroup = clusterZone\n .append('g')\n .attr(\"id\", \"no-cluster-zone\");\n textGroup\n .append('text')\n .attr('id', 'no-cluster-label')\n .text(translationsMap.no_cluster_configured)\n .attr('y', -50)\n .classed('h2', true)\n .style('text-anchor', \"middle\");\n if (hasAccess) {\n textGroup.append('text')\n .attr('id', 'create-cluster-label')\n .classed('h3', true)\n .text(translationsMap.create_cluster_btn)\n .style('text-anchor', \"middle\");\n }\n textGroup.append('text')\n .attr('y', 130)\n .attr('class', 'icon-any repo')\n .attr('fill', clusterColors.ontoOrange)\n .style('text-anchor', \"middle\")\n .classed('settings-icon', true)\n .text(\"\\ue92b\");\n }\n}\n\nexport function updateClusterZoneLabels(hasCluster, clusterZone, translationsMap) {\n if (hasCluster) {\n return;\n }\n clusterZone.select('#no-cluster-zone #no-cluster-label')\n .text(translationsMap.no_cluster_configured);\n clusterZone.select('#no-cluster-zone #create-cluster-label')\n .text(translationsMap.create_cluster_btn);\n}\n\nexport function moveElement(element, x, y) {\n element.attr('transform', () => {\n return `translate(${x}, ${y})`;\n });\n}\n\nexport function createNodes(nodesDataBinding, nodeRadius, isLegend) {\n const nodeGroup = nodesDataBinding.enter()\n .append('g')\n .attr('id', 'node-group')\n .classed('legend', isLegend);\n\n const nodeUpdateElements = nodeGroup\n .merge(nodesDataBinding)\n .attr('id', 'node-group')\n .classed('legend', isLegend);\n\n createHexagon(nodeGroup, nodeRadius);\n nodesDataBinding.exit().remove();\n\n nodeGroup\n .append('text')\n .attr('class', 'icon-any node-icon');\n\n if (!isLegend) {\n addHostnameToNodes(nodeGroup, nodeRadius, isLegend);\n }\n return nodeUpdateElements;\n}\n\nfunction addHostnameToNodes(nodeElements, nodeRadius) {\n const nodeTextHost = nodeElements.append('g');\n\n nodeTextHost\n .append('rect')\n .attr('class', 'id-host-background')\n .attr('rx', 6);\n\n nodeTextHost\n .append('rect')\n .attr('class', 'node-info-background')\n .attr('rx', 6);\n\n nodeTextHost\n .append('text')\n .attr('y', nodeRadius + 25)\n .attr('class', 'id id-host');\n\n nodeTextHost\n .append('text')\n .attr('y', nodeRadius + 55)\n .attr('class', 'node-info-text');\n}\n\nexport function updateNodes(nodes) {\n updateNodesIcon(nodes);\n updateNodesClasses(nodes);\n updateNodesHostnameText(nodes);\n updateNodesInfoText(nodes);\n}\n\nfunction updateNodesClasses(nodes) {\n nodes\n .select('.node.member')\n .classed('leader', (node) => node.nodeState === NodeState.LEADER)\n .classed('follower', (node) => node.nodeState === NodeState.FOLLOWER)\n .classed('candidate', (node) => node.nodeState === NodeState.CANDIDATE)\n .classed('other', (node) => {\n return node.nodeState !== NodeState.LEADER &&\n node.nodeState !== NodeState.FOLLOWER &&\n node.nodeState !== NodeState.CANDIDATE;\n });\n}\n\nfunction updateNodesIcon(nodes) {\n nodes.select('.node-icon')\n .each(function (d) {\n const iconType = hasRecoveryState(d) ? getNodeInfoIconType(d) : getNodeIconType(d);\n d3.select(this)\n .classed('icon-any', iconType.font === font.ICOMOON)\n .classed('fa-d3', iconType.font === font.FONT_AWESOME)\n .text(iconType.icon);\n });\n}\n\nfunction hasRecoveryState(node) {\n return !isEmpty(node.recoveryStatus);\n}\n\nconst iconMap = {\n [RecoveryState.SEARCHING_FOR_NODE]: {icon: '\\uf29c', font: font.FONT_AWESOME},\n [RecoveryState.WAITING_FOR_SNAPSHOT]: {icon: '\\uf017', font: font.FONT_AWESOME},\n [RecoveryState.RECEIVING_SNAPSHOT]: {icon: '\\uf0ed', font: font.FONT_AWESOME},\n [RecoveryState.APPLYING_SNAPSHOT]: {icon: '\\uf050', font: font.FONT_AWESOME},\n [RecoveryState.BUILDING_SNAPSHOT]: {icon: '\\uf187', font: font.FONT_AWESOME},\n [RecoveryState.SENDING_SNAPSHOT]: {icon: '\\uf0ee', font: font.FONT_AWESOME},\n [RecoveryState.RECOVERY_OPERATION_FAILURE_WARNING]: {icon: '\\ue920', font: font.ICOMOON}\n};\n\nconst nodeStateIcons = {\n [NodeState.CANDIDATE]: {icon: '\\ue914', font: font.ICOMOON},\n [NodeState.NO_CONNECTION]: {icon: '\\ue931', font: font.ICOMOON},\n [NodeState.OUT_OF_SYNC]: {icon: '\\ue920', font: font.ICOMOON},\n [NodeState.READ_ONLY]: {icon: '\\ue95c', font: font.ICOMOON},\n [NodeState.RESTRICTED]: {icon: '\\ue933', font: font.ICOMOON}\n};\n\nfunction getNodeInfoIconType(node) {\n const status = node.recoveryStatus;\n\n if (!status || !status.state) {\n return {icon: '', font: ''};\n }\n\n return iconMap[status.state] || {icon: '', font: ''};\n}\n\nfunction getNodeIconType(node) {\n const iconType = nodeStateIcons[node.nodeState];\n return iconType ? iconType : {icon: '', font: ''};\n}\n\nfunction updateNodesInfoText(nodes) {\n let objectHeight;\n let objectWidth;\n // Set initial text element\n nodes.select('.node-info-text')\n .each(function (d) {\n d.infoNode = this;\n })\n .select(function () {\n return this.parentNode;\n })\n .append('foreignObject')\n .attr('width', function (d) {\n if (isEmpty(d.recoveryStatus)) {\n return 0;\n }\n const shortMessage = extractShortMessageFromNode(d);\n const rect = calculateElementSizeByText(shortMessage);\n objectHeight = rect.height;\n objectWidth = rect.width;\n return objectWidth;\n })\n .attr('height', function (d) {\n if (isEmpty(d.recoveryStatus)) {\n return 0;\n }\n return objectHeight;\n })\n .attr('x', function (d) {\n return -(objectWidth / 2);\n })\n .attr('y', function (d) {\n return 78;\n })\n .classed('hidden', function (d) {\n return isEmpty(d.recoveryStatus);\n })\n .style('font-size', '12px')\n .style('font-weight', '400')\n .style('text-align', 'center')\n .style('padding', '4px')\n .style('background', '#EEEEEE')\n .style('border-radius', '6px')\n .attr('class', 'node-info-fo')\n .append('xhtml:div')\n .html(function (d) {\n return extractShortMessageFromNode(d);\n });\n\n // Remove the original text elements, as they are now replaced by foreignObjects\n nodes.select('.node-info-text').remove();\n\n resizeLabelDynamic(nodes);\n}\n\nfunction extractShortMessageFromNode(node) {\n return node.recoveryStatus.message && node.recoveryStatus.message.length > shortMessageLimit ?\n node.recoveryStatus.message.substring(0, shortMessageLimit) + '...' : node.recoveryStatus.message || '';\n}\n\nfunction calculateElementSizeByText(text) {\n const tmp = document.createElement('div');\n tmp.innerHTML = text;\n tmp.style.padding = '4px';\n tmp.style.position = 'absolute';\n tmp.style.visibility = 'hidden';\n tmp.style.fontSize = '12px';\n tmp.style.fontWeight = '400';\n tmp.style.textAlign = 'center';\n tmp.style.height = 'auto';\n tmp.style.width = 'auto';\n tmp.style.whiteSpace = 'nowrap';\n\n document.body.appendChild(tmp);\n const rect = tmp.getBoundingClientRect();\n const height = rect.height;\n const width = rect.width;\n document.body.removeChild(tmp);\n\n return {height, width};\n}\n\nfunction addRecoveryLabelListeners(object, message, truncatedSize, displayMessage, fullSize) {\n object.on('mouseover.tooltip', () => {\n object\n .attr('width', fullSize.width)\n .attr('height', fullSize.height)\n .attr('x', -fullSize.width / 2)\n .html(`<div>${message}</div>`);\n });\n object.on('mouseout.tooltip', () => {\n object\n .attr('width', truncatedSize.width)\n .attr('height', truncatedSize.height)\n .attr('x', -truncatedSize.width / 2)\n .html(`<div>${displayMessage}</div>`);\n });\n}\n\nfunction resizeLabelDynamic(nodes) {\n nodes.select('.node-info-fo')\n .each(function (d) {\n const object = d3.select(this);\n if (isEmpty(d.recoveryStatus)) {\n object.attr('width', 0);\n return;\n }\n const shortMessage = extractShortMessageFromNode(d);\n const isShorten = d.recoveryStatus.message && d.recoveryStatus.message.length > shortMessageLimit && shortMessage !== d.recoveryStatus.message;\n const displayMessage = isShorten ? shortMessage : d.recoveryStatus.message;\n const truncatedSize = calculateElementSizeByText(shortMessage);\n const fullSize = calculateElementSizeByText(d.recoveryStatus.message);\n object.on('.tooltip', null);\n\n if (isShorten) {\n addRecoveryLabelListeners(object, d.recoveryStatus.message, truncatedSize, displayMessage, fullSize);\n }\n\n // Set initial size and text\n object\n .attr('width', truncatedSize.width)\n .attr('height', truncatedSize.height)\n .attr('x', -truncatedSize.width / 2)\n .html(`<div>${displayMessage}</div>`);\n });\n}\n\nfunction updateNodesHostnameText(nodes) {\n nodes\n .select('.id.id-host')\n .each(function (d) {\n d.labelNode = this;\n })\n .text(function (d) {\n return d.hostname;\n });\n\n // Add padding styling to text background. left/right/top/bottom +5\n nodes\n .select('.id-host-background')\n .attr('width', function (d) {\n return d3.select(d.labelNode).node().getBBox().width + 10;\n })\n .attr('height', function (d) {\n return d3.select(d.labelNode).node().getBBox().height + 10;\n })\n .attr('x', function (d) {\n return d3.select(d.labelNode).node().getBBox().x - 5;\n })\n .attr('y', function (d) {\n return d3.select(d.labelNode).node().getBBox().y - 5;\n });\n}\n\nexport function createLinks(linksDataBinding) {\n linksDataBinding.enter()\n .append('path')\n .classed('link', true);\n\n linksDataBinding.exit().remove();\n}\n\nexport function updateLinks(linksDataBinding, nodes) {\n linksDataBinding\n .attr('class', (link) => {\n // add the link id as a css class for testing purposes\n const idClass = link.id.replaceAll(':', '-');\n return `link ${idClass}`;\n })\n .attr('stroke', setLinkColor)\n .style('stroke-dasharray', setLinkStyle)\n .style(\"marker-mid\", (link) => setArrowLink(link, ARROW_CONFIG.BIG))\n .attr('d', (link) => getLinkCoordinates(link, nodes));\n}\n\nexport const ARROW_CONFIG = {\n SMALL: {name: 'small', size: 3},\n BIG: {name: 'big', size: 5}\n};\n\nexport function addArrowHead(svg, config) {\n svg.append(\"svg:defs\").append(\"svg:marker\")\n .attr(\"id\", `arrowhead_${config.name}`)\n .attr(\"viewBox\", `0 0 ${config.size * 2} ${config.size * 2}`)\n .attr(\"refX\", config.size)\n .attr(\"refY\", config.size)\n .attr(\"markerWidth\", config.size)\n .attr(\"markerHeight\", config.size)\n .attr(\"orient\", \"auto-start-reverse\")\n .append(\"path\")\n .attr(\"d\", `M 0 0 L ${config.size * 2} ${config.size} L 0 ${config.size * 2} z`)\n .style(\"fill\", \"var(--secondary-color)\");\n}\n\nexport function setArrowLink(link, config) {\n if (link.status === LinkState.RECEIVING_SNAPSHOT) {\n return `url(#arrowhead_${config.name})`;\n }\n}\n\nexport function setLinkColor(link) {\n const linkColor = linkStateColors[link.status];\n return linkColor || 'none';\n}\n\nexport function setLinkStyle(link) {\n const linkStyle = linkStateStyle[link.status];\n return linkStyle || 'none';\n}\n\nfunction getLinkCoordinates(link, nodes) {\n const source = nodes.find((node) => node.address === link.source);\n const target = nodes.find((node) => node.address === link.target);\n const deltaX = target.x - source.x;\n const deltaY = target.y - source.y;\n const dist = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const normX = deltaX / dist;\n const normY = deltaY / dist;\n // Padding from node center point\n const sourcePadding = 55;\n const targetPadding = 55;\n const sourceX = source.x + (sourcePadding * normX);\n const sourceY = source.y + (sourcePadding * normY);\n const targetX = target.x - (targetPadding * normX);\n const targetY = target.y - (targetPadding * normY);\n // Calculate midpoint\n const midpointX = (sourceX + targetX) / 2;\n const midpointY = (sourceY + targetY) / 2;\n // In order to draw an arrowhead in the middle of a line, the line needs to be composed by\n // two segments, otherwise the arrowhead won't show up.\n return 'M' + sourceX + ',' + sourceY + 'L' + midpointX + ',' + midpointY +\n 'L' + targetX + ',' + targetY;\n}\n\nexport function positionNodesOnClusterZone(nodeElements, clusterZoneX, clusterZoneY, clusterZoneRadius) {\n nodeElements\n .attr('transform', (node, index) => {\n // Calculate initial positions for the new nodes based on\n // spreading them evenly on a circle around the center of the page.\n const theta = 2 * Math.PI * index / nodeElements.size();\n const x = clusterZoneX + Math.cos(theta) * clusterZoneRadius;\n const y = clusterZoneY + Math.sin(theta) * clusterZoneRadius;\n node.x = x;\n node.y = y;\n return `translate(${x}, ${y})`;\n });\n}\n\nexport function createHexagon(nodeGroup, radius) {\n const _s32 = (Math.sqrt(3) / 2);\n const xDiff = 0;\n const yDiff = 0;\n const points = [[radius + xDiff, yDiff], [radius / 2 + xDiff, radius * _s32 + yDiff], [-radius / 2 + xDiff, radius * _s32 + yDiff],\n [-radius + xDiff, yDiff],\n [-radius / 2 + xDiff, -radius * _s32 + yDiff], [radius / 2 + xDiff, -radius * _s32 + yDiff], [radius + xDiff, yDiff],\n [radius / 2 + xDiff, radius * _s32 + yDiff]];\n return nodeGroup\n .selectAll(\"path.area\")\n .data([points])\n .enter()\n .append(\"path\")\n .attr('class', 'node member')\n .attr(\"stroke-width\", \"10\")\n .attr(\"stroke-linejoin\", \"round\")\n .attr(\"d\", d3.line());\n}\n\nexport function removeEventListeners() {\n d3.select(document).selectAll('.node-info-fo').on('.tooltip', null);\n}\n","export const NodeState = {\n LEADER: 'LEADER',\n FOLLOWER: 'FOLLOWER',\n CANDIDATE: 'CANDIDATE',\n OUT_OF_SYNC: 'OUT_OF_SYNC',\n NO_CONNECTION: 'NO_CONNECTION',\n READ_ONLY: 'READ_ONLY',\n RESTRICTED: 'RESTRICTED',\n NO_CLUSTER: 'NO_CLUSTER'\n};\n\nexport const RecoveryState = {\n SEARCHING_FOR_NODE: 'SEARCHING_FOR_NODE',\n WAITING_FOR_SNAPSHOT: 'WAITING_FOR_SNAPSHOT',\n RECEIVING_SNAPSHOT: 'RECEIVING_SNAPSHOT',\n APPLYING_SNAPSHOT: 'APPLYING_SNAPSHOT',\n BUILDING_SNAPSHOT: 'BUILDING_SNAPSHOT',\n SENDING_SNAPSHOT: 'SENDING_SNAPSHOT',\n RECOVERY_OPERATION_FAILURE_WARNING: 'RECOVERY_OPERATION_FAILURE_WARNING'\n};\n\nexport const LinkState = {\n IN_SYNC: 'IN_SYNC',\n OUT_OF_SYNC: 'OUT_OF_SYNC',\n SYNCING: 'SYNCING',\n NO_CONNECTION: 'NO_CONNECTION',\n // complimentary state, built based on the recovery state of two nodes when one is receiving snapshot to the other\n RECEIVING_SNAPSHOT: 'RECEIVING_SNAPSHOT'\n};\n\nexport const TopologyState = {\n PRIMARY_NODE: 'PRIMARY_NODE',\n SECONDARY_NODE: 'SECONDARY_NODE'\n};\n"],"names":["d3","line","select","clusterColors","ontoOrange","ontoBlue","ontoGreen","ontoGrey","linkStateColors","LinkState","IN_SYNC","SYNCING","OUT_OF_SYNC","RECEIVING_SNAPSHOT","linkStateStyle","font","FONT_AWESOME","ICOMOON","shortMessageLimit","createClusterSvgElement","element","append","classed","createClusterZone","parent","clusterZone","style","setCreateClusterZone","hasCluster","translationsMap","hasAccess","selectAll","remove","textGroup","attr","text","no_cluster_configured","create_cluster_btn","updateClusterZoneLabels","moveElement","x","y","createNodes","nodesDataBinding","nodeRadius","isLegend","nodeGroup","enter","nodeUpdateElements","merge","createHexagon","exit","nodeElements","nodeTextHost","addHostnameToNodes","updateNodes","nodes","each","d","iconType","node","isEmpty","recoveryStatus","nodeStateIcons","nodeState","icon","getNodeIconType","status","state","iconMap","getNodeInfoIconType","this","updateNodesIcon","NodeState","LEADER","FOLLOWER","CANDIDATE","updateNodesClasses","labelNode","hostname","getBBox","width","height","updateNodesHostnameText","objectHeight","objectWidth","infoNode","parentNode","rect","calculateElementSizeByText","extractShortMessageFromNode","html","object","shortMessage","isShorten","message","length","displayMessage","truncatedSize","fullSize","on","addRecoveryLabelListeners","resizeLabelDynamic","updateNodesInfoText","RecoveryState","SEARCHING_FOR_NODE","WAITING_FOR_SNAPSHOT","APPLYING_SNAPSHOT","BUILDING_SNAPSHOT","SENDING_SNAPSHOT","RECOVERY_OPERATION_FAILURE_WARNING","NO_CONNECTION","READ_ONLY","RESTRICTED","substring","tmp","document","createElement","innerHTML","padding","position","visibility","fontSize","fontWeight","textAlign","whiteSpace","body","appendChild","getBoundingClientRect","removeChild","createLinks","linksDataBinding","updateLinks","link","id","replaceAll","setLinkColor","setLinkStyle","setArrowLink","ARROW_CONFIG","BIG","source","find","address","target","deltaX","deltaY","dist","Math","sqrt","normX","normY","sourceX","sourceY","targetX","targetY","getLinkCoordinates","SMALL","name","size","addArrowHead","svg","config","positionNodesOnClusterZone","clusterZoneX","clusterZoneY","clusterZoneRadius","index","theta","PI","cos","sin","radius","_s32","points","data","removeEventListeners","NO_CLUSTER","TopologyState","PRIMARY_NODE","SECONDARY_NODE"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"59718.f1ae3d1480c7179c57f0.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,uBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAG5B,OAFAF,EAAQG,WAAa,uBAEd,CACH,CACIL,eAAgB,YAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,MAAO,2CACPC,QAAS,6CACTC,IAAK,QACLC,kBAAmBA,CAACC,EAAOC,IAEhBT,EAAWU,QAAQ,iBAAkB,GACvCC,KAAMC,IACCA,EAAQC,OAAOC,SAAS,0BAExBL,EAAuBM,YAAeP,IAClCA,EAAMQ,YAIVC,WAAW,KACPT,EAAMU,WAIjBC,MAAM,KAGHF,WAAW,KACPT,EAAMU,YAIvBpB,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/common/end-on-api-key-error/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'end-on-api-key-error',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'end-on-api-key-error';\n\n return [\n {\n guideBlockName: 'guide-end',\n options: angular.extend({}, {\n title: 'guide.step_plugin.ttyg.missing-key.title',\n content: 'guide.step_plugin.ttyg.missing-key.content',\n url: '/ttyg',\n beforeShowPromise: (guide, currentStepDescription) => {\n // Check if error toast is visible waiting for 1 seconds\n return GuideUtils.waitFor('.toast-message', 1)\n .then((element) => {\n if (element.text().includes('graphdb.openai.api-key')) {\n // Error toast is visible, show this step and complete on next click\n currentStepDescription.onNextClick = (guide) => {\n guide.complete();\n };\n } else {\n // Toast is not visible, but not the correct, so we go on\n setTimeout(() => {\n guide.next();\n });\n }\n })\n .catch(() => {\n // Error toast is not visible, skip this step and move to next one\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => {\n guide.next();\n });\n });\n }\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","angular","extend","title","content","url","beforeShowPromise","guide","currentStepDescription","waitFor","then","element","text","includes","onNextClick","complete","setTimeout","next","catch"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=67232;export const __webpack_ids__=[67232];export const __webpack_modules__={67232:()=>{const e={title:"",content:"",elementSelector:void 0,placement:"bottom",url:void 0,type:"read-only-element",maxWaitTime:3,canBePaused:!0,onNextClick:void 0,onNextValidate:()=>Promise.resolve(!0),onPreviousClick:void 0,skipPoint:!1,class:""},t=(e,t,i)=>()=>e.GuideUtils.waitFor(t,i).catch(t=>{throw e.toastr.error(e.$translate.instant("guide.unexpected.error.message")),t});PluginRegistry.add("guide.step",[{guideBlockName:"clickable-element",getStep:(i,o)=>{const l=angular.extend({},e,{advanceOn:{selector:i.clickableElementSelector||i.elementSelector,event:"click"},initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i,{type:"clickable"});return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"focus-element",getStep:(i,o)=>{const l=angular.extend({},e,{initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i);return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"read-only-element",getStep:(i,o)=>{const l=angular.extend({},e,{initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i,{type:"readonly"});return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"input-element",getStep:(i,o)=>{const l=angular.extend({},e,{initPreviousStep:o.GuideUtils.defaultInitPreviousStep},i,{type:"input"});return l.beforeShowPromise||(l.beforeShowPromise=t(o,l.elementSelector,l.maxWaitTime)),l}},{guideBlockName:"info-message",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep},t,{type:"readonly"})},{guideBlockName:"hold-and-wait-until-hidden",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,disablePreviousFlow:!0,onNextValidate:()=>Promise.resolve(!i.GuideUtils.isVisible(t.elementSelectorToWait))},t,{type:"readonly"})},{guideBlockName:"hold-and-wait-until-shown",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,disablePreviousFlow:!0,onNextValidate:()=>Promise.resolve(i.GuideUtils.isVisible(t.elementSelectorToWait))},t,{type:"readonly"})},{guideBlockName:"wait-for-element-to-hide",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,beforeShowPromise:e=>i.GuideUtils.waitUntilHidden(t.elementSelectorToHide,t.timeToWait||2).catch(()=>{i.ShepherdService._abortGuide(e)}),show:e=>()=>{setTimeout(()=>e.next())}},t)},{guideBlockName:"wait-for-element-to-show",getStep:(t,i)=>angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep,beforeShowPromise:e=>i.GuideUtils.getOrWaitFor(t.elementSelectorToShow,t.timeToWait||2).catch(()=>{i.ShepherdService._abortGuide(e)}),show:e=>()=>{setTimeout(()=>e.next())}},t)},{guideBlockName:"guide-end",getStep:(t,i)=>{const o={type:"readonly",title:t.title||"guide.step_plugin.guide-ended.title",content:t.content||"guide.step_plugin.guide-ended.content",lastStep:!0};return angular.extend({},e,{initPreviousStep:i.GuideUtils.defaultInitPreviousStep},t,o)}}])}};
2
- //# sourceMappingURL=67232.ca7667a39c74efdb90e1.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"67232.ca7667a39c74efdb90e1.bundle.js","mappings":"oHAAA,MAAMA,EAAa,CACfC,MAAO,GACPC,QAAS,GACTC,qBAAiBC,EACjBC,UAAW,SACXC,SAAKF,EACLG,KAAM,oBACNC,YAAa,EACbC,aAAa,EACbC,iBAAaN,EACbO,eAAgBA,IAAMC,QAAQC,SAAQ,GACtCC,qBAAiBV,EACjBW,WAAW,EACXC,MAAO,IAULC,EAAoBA,CAACC,EAAUf,EAAiBK,IAC3C,IACIU,EAASC,WAAWC,QAAQjB,EAAiBK,GAC/Ca,MAAOC,IAIJ,MAFAJ,EAASK,OAAOD,MAAMJ,EAASM,WAAWC,QAAQ,mCAE5CH,IAKtBI,eAAeC,IAAI,aAAc,CAC7B,CAEIC,eAAgB,oBAChBC,QAASA,CAACC,EAASZ,KACf,MAIMa,EAAkBC,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CACnDkC,UAAW,CACPC,SAAUL,EAAQM,0BAA4BN,EAAQ3B,gBACtDkC,MAAO,SAEXC,iBAAkBpB,EAASC,WAAWoB,yBACvCT,EAVoB,CACnBvB,KAAM,cAcV,OAHKwB,EAAgBd,oBACjBc,EAAgBd,kBAAoBA,EAAkBC,EAAUa,EAAgB5B,gBAAiB4B,EAAgBvB,cAE9GuB,IAGf,CAEIH,eAAgB,gBAChBC,QAASA,CAACC,EAASZ,KACf,MAAMa,EAAkBC,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CACnDsC,iBAAkBpB,EAASC,WAAWoB,yBACvCT,GAKH,OAHKC,EAAgBd,oBACjBc,EAAgBd,kBAAoBA,EAAkBC,EAAUa,EAAgB5B,gBAAiB4B,EAAgBvB,cAE9GuB,IAGf,CAEIH,eAAgB,oBAChBC,QAASA,CAACC,EAASZ,KACf,MAGMa,EAAkBC,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CAC/CsC,iBAAkBpB,EAASC,WAAWoB,yBAE1CT,EANmB,CACnBvB,KAAM,aASV,OAHKwB,EAAgBd,oBACjBc,EAAgBd,kBAAoBA,EAAkBC,EAAUa,EAAgB5B,gBAAiB4B,EAAgBvB,cAE9GuB,IAGf,CACIH,eAAgB,gBAChBC,QAASA,CAACC,EAASZ,KACf,MAGMa,EAAkBC,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CACnDsC,iBAAkBpB,EAASC,WAAWoB,yBACvCT,EALoB,CACnBvB,KAAM,UAQV,OAHKwB,EAAgBd,oBACjBc,EAAgBd,kBAAoBA,EAAkBC,EAAUa,EAAgB5B,gBAAiB4B,EAAgBvB,cAE9GuB,IAGf,CACIH,eAAgB,eAChBC,QAASA,CAACC,EAASZ,IAIRc,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CAClCsC,iBAAkBpB,EAASC,WAAWoB,yBACvCT,EALoB,CACnBvB,KAAM,cAOlB,CACIqB,eAAgB,6BAChBC,QAASA,CAACC,EAASZ,IAIRc,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CAClCsC,iBAAkBpB,EAASC,WAAWoB,wBACtCC,qBAAqB,EACrB7B,eAAgBA,IAAMC,QAAQC,SAASK,EAASC,WAAWsB,UAAUX,EAAQY,yBAC9EZ,EAPoB,CACnBvB,KAAM,cASlB,CACIqB,eAAgB,4BAChBC,QAASA,CAACC,EAASZ,IAIRc,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CAClCsC,iBAAkBpB,EAASC,WAAWoB,wBACtCC,qBAAqB,EACrB7B,eAAgBA,IAAMC,QAAQC,QAAQK,EAASC,WAAWsB,UAAUX,EAAQY,yBAC7EZ,EAPoB,CACnBvB,KAAM,cASlB,CACIqB,eAAgB,2BAChBC,QAASA,CAACC,EAASZ,IACRc,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CAClCsC,iBAAkBpB,EAASC,WAAWoB,wBACtCtB,kBAAoB0B,GAAUzB,EAASC,WAAWyB,gBAAgBd,EAAQe,sBAAuBf,EAAQgB,YAAc,GAClHzB,MAAM,KACHH,EAAS6B,gBAAgBC,YAAYL,KAE7CM,KAAON,GAAU,KAEbO,WAAW,IAAMP,EAAMQ,UAE5BrB,IAGX,CACIF,eAAgB,2BAChBC,QAASA,CAACC,EAASZ,IACRc,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CAClCsC,iBAAkBpB,EAASC,WAAWoB,wBACtCtB,kBAAoB0B,GAAUzB,EAASC,WAAWiC,aAAatB,EAAQuB,sBAAuBvB,EAAQgB,YAAc,GAC/GzB,MAAM,KACHH,EAAS6B,gBAAgBC,YAAYL,KAE7CM,KAAON,GAAU,KAEbO,WAAW,IAAMP,EAAMQ,UAE5BrB,IAGX,CACIF,eAAgB,YAChBC,QAASA,CAACC,EAASZ,KACf,MAAMoC,EAAiB,CACnB/C,KAAM,WACNN,MAAO6B,EAAQ7B,OAAS,sCACxBC,QAAS4B,EAAQ5B,SAAW,wCAC5BqD,UAAU,GAEd,OAAOvB,QAAQC,OAAO,CAAC,EAAGjC,EAAY,CAClCsC,iBAAkBpB,EAASC,WAAWoB,yBACvCT,EAASwB,M","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/core/plugin.js"],"sourcesContent":["const BASIC_STEP = {\n title: '',\n content: '',\n elementSelector: undefined,\n placement: 'bottom',\n url: undefined,\n type: 'read-only-element',\n maxWaitTime: 3,\n canBePaused: true,\n onNextClick: undefined,\n onNextValidate: () => Promise.resolve(true),\n onPreviousClick: undefined,\n skipPoint: false,\n class: ''\n};\n\n/**\n * This function will be called before show a step. Step will be shown after promise is resolve. It waits element of step to be visible on the page.\n * @param {*} services\n * @param {string} elementSelector\n * @param {number} maxWaitTime\n * @return {function(): *}\n */\nconst beforeShowPromise = (services, elementSelector, maxWaitTime) => {\n return () => {\n return services.GuideUtils.waitFor(elementSelector, maxWaitTime)\n .catch((error) => {\n // error is caught just to show notification in generic way.\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n // throw the error, otherwise guide will continue with the next step.\n throw error;\n });\n };\n};\n\nPluginRegistry.add('guide.step', [\n {\n // An element which is expected to be clicked. If onNextClick is not defined, it will automatically click on the element on next button press\n guideBlockName: 'clickable-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'clickable'\n };\n\n const stepDescription = angular.extend({}, BASIC_STEP, {\n advanceOn: {\n selector: options.clickableElementSelector || options.elementSelector,\n event: 'click'\n },\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n // An element which is expected to be focused. It allows user interaction.\n guideBlockName: 'focus-element',\n getStep: (options, services) => {\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options);\n\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n // An element which is expected to be focused, but interactions are disabled.\n guideBlockName: 'read-only-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n },\n options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n guideBlockName: 'input-element',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'input'\n };\n const stepDescription = angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n if (!stepDescription.beforeShowPromise) {\n stepDescription.beforeShowPromise = beforeShowPromise(services, stepDescription.elementSelector, stepDescription.maxWaitTime);\n }\n return stepDescription;\n }\n },\n {\n guideBlockName: 'info-message',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'hold-and-wait-until-hidden',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n disablePreviousFlow: true,\n onNextValidate: () => Promise.resolve(!services.GuideUtils.isVisible(options.elementSelectorToWait))\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'hold-and-wait-until-shown',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly'\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n disablePreviousFlow: true,\n onNextValidate: () => Promise.resolve(services.GuideUtils.isVisible(options.elementSelectorToWait))\n }, options, notOverridable);\n }\n },\n {\n guideBlockName: 'wait-for-element-to-hide',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.waitUntilHidden(options.elementSelectorToHide, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide)\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next())\n }\n }, options);\n }\n },\n {\n guideBlockName: 'wait-for-element-to-show',\n getStep: (options, services) => {\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep,\n beforeShowPromise: (guide) => services.GuideUtils.getOrWaitFor(options.elementSelectorToShow, options.timeToWait || 2)\n .catch(() => {\n services.ShepherdService._abortGuide(guide)\n }),\n show: (guide) => () => {\n // Using a timeout because the library executes async logic\n setTimeout(() => guide.next())\n }\n }, options);\n }\n },\n {\n guideBlockName: 'guide-end',\n getStep: (options, services) => {\n const notOverridable = {\n type: 'readonly',\n title: options.title || 'guide.step_plugin.guide-ended.title',\n content: options.content || 'guide.step_plugin.guide-ended.content',\n lastStep: true\n };\n return angular.extend({}, BASIC_STEP, {\n initPreviousStep: services.GuideUtils.defaultInitPreviousStep\n }, options, notOverridable);\n }\n }\n]);\n"],"names":["BASIC_STEP","title","content","elementSelector","undefined","placement","url","type","maxWaitTime","canBePaused","onNextClick","onNextValidate","Promise","resolve","onPreviousClick","skipPoint","class","beforeShowPromise","services","GuideUtils","waitFor","catch","error","toastr","$translate","instant","PluginRegistry","add","guideBlockName","getStep","options","stepDescription","angular","extend","advanceOn","selector","clickableElementSelector","event","initPreviousStep","defaultInitPreviousStep","disablePreviousFlow","isVisible","elementSelectorToWait","guide","waitUntilHidden","elementSelectorToHide","timeToWait","ShepherdService","_abortGuide","show","setTimeout","next","getOrWaitFor","elementSelectorToShow","notOverridable","lastStep"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=68685;export const __webpack_ids__=[68685];export const __webpack_modules__={68685:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"configure-agent",getSteps:(e,t)=>{const n=t.GuideUtils,o=e.editName,i=e.model,l=e.userInstructions,u=!!e.methods?.length,s=[{guideBlockName:"wait-for-element-to-show",options:angular.extend({},{elementSelectorToShow:n.getElementSelector(".agent-settings-modal"),timeToWait:10},e)}];return o&&s.push({guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.configure-agent.name-input",class:"input-agent-name-guide-dialog",url:"/ttyg",disablePreviousFlow:!0,beforeShowPromise:()=>n.waitFor(n.getGuideElementSelector("agent-form"),5).catch(e=>{throw t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),e}),elementSelector:n.getGuideElementSelector("agent-name"),onNextValidate:()=>Promise.resolve(n.validateTextInputNotEmpty(n.getGuideElementSelector("agent-name")))},e)}),u&&s.push(...((e,t)=>(t.methods||[]).map(e=>({guideBlockName:e.guideBlockName,options:angular.extend({},e.options)})))(0,e)),i&&s.push({guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.configure-agent.model-input",class:"input-model-guide-dialog",url:"/ttyg",elementSelector:n.getGuideElementSelector("model"),onNextValidate:()=>Promise.resolve(n.validateTextInput(n.getGuideElementSelector("model"),e.model,!1))},e)}),l&&s.push({guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.configure-agent.user-instructions-input",class:"input-user-instructions-guide-dialog",url:"/ttyg",elementSelector:n.getGuideElementSelector("user-instructions"),onNextValidate:()=>Promise.resolve(n.validateTextInput(n.getGuideElementSelector("user-instructions"),e.userInstructions,!1))},e)}),s}}])}};
2
- //# sourceMappingURL=68685.314faeaa55a342568c0b.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"68685.314faeaa55a342568c0b.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,kBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAatBC,EAAiBH,EAAQI,SACzBC,EAAeL,EAAQM,MACvBC,EAAsBP,EAAQQ,iBAC9BC,IAAqCT,EAAQU,SAASC,OAEtDC,EAAQ,CACV,CACId,eAAgB,2BAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBC,sBAAuBb,EAAWc,mBAAmB,yBACrDC,WAAY,IACbjB,KAqDX,OAjDIG,GACAS,EAAMM,KAAK,CACPpB,eAAgB,gBAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBK,QAAS,+CACTC,MAAO,gCACPC,IAAK,QACLC,qBAAqB,EACrBC,kBAAmBA,IAAMrB,EAAWsB,QAAQtB,EAAWuB,wBAAwB,cAAe,GACzFC,MAAOC,IAEJ,MADA1B,EAAS2B,OAAOD,MAAM1B,EAAS4B,WAAWC,QAAQ,mCAC5CH,IAEdI,gBAAiB7B,EAAWuB,wBAAwB,cACpDO,eAAgBA,IAAMC,QAAQC,QAAQhC,EAAWiC,0BAA0BjC,EAAWuB,wBAAwB,iBAC/GzB,KAIPS,GACAG,EAAMM,QA9CyBkB,EAACnC,EAAUD,KAC1BA,EAAQU,SAAW,IAEpB2B,IAAKC,IACT,CACHxC,eAAgBwC,EAAOxC,eACvBE,QAASa,QAAQC,OAAO,CAAC,EAAGwB,EAAOtC,YAwC7BoC,CAA2BnC,EAAUD,IAGnDK,GACAO,EAAMM,KAAK,CACPpB,eAAgB,gBAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBK,QAAS,gDACTC,MAAO,2BACPC,IAAK,QACLU,gBAAiB7B,EAAWuB,wBAAwB,SACpDO,eAAgBA,IAAMC,QAAQC,QAAQhC,EAAWqC,kBAAkBrC,EAAWuB,wBAAwB,SAAUzB,EAAQM,OAAO,KAChIN,KAIPO,GACAK,EAAMM,KAAK,CACPpB,eAAgB,gBAChBE,QAASa,QAAQC,OAAO,CAAC,EAAG,CACxBK,QAAS,4DACTC,MAAO,uCACPC,IAAK,QACLU,gBAAiB7B,EAAWuB,wBAAwB,qBACpDO,eAAgBA,IAAMC,QAAQC,QAAQhC,EAAWqC,kBAAkBrC,EAAWuB,wBAAwB,qBAAsBzB,EAAQQ,kBAAkB,KACvJR,KAIJY,K","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/common/configure-agent/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'configure-agent',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n\n const configureExtractionMethods = (services, options) => {\n const methods = options.methods || [];\n\n return methods.map((method) => {\n return {\n guideBlockName: method.guideBlockName,\n options: angular.extend({}, method.options)\n };\n });\n };\n\n const shouldEditName = options.editName;\n const hasModelName = options.model;\n const hasUserInstructions = options.userInstructions;\n const shouldConfigureExtractionMethods = !!options.methods?.length;\n\n const steps = [\n {\n guideBlockName: 'wait-for-element-to-show',\n options: angular.extend({}, {\n elementSelectorToShow: GuideUtils.getElementSelector('.agent-settings-modal'),\n timeToWait: 10\n }, options)\n }\n ]\n\n if (shouldEditName) {\n steps.push({\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.configure-agent.name-input',\n class: 'input-agent-name-guide-dialog',\n url: '/ttyg',\n disablePreviousFlow: true,\n beforeShowPromise: () => GuideUtils.waitFor(GuideUtils.getGuideElementSelector('agent-form'), 5)\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n throw error;\n }),\n elementSelector: GuideUtils.getGuideElementSelector('agent-name'),\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInputNotEmpty(GuideUtils.getGuideElementSelector('agent-name')))\n }, options)\n })\n }\n\n if (shouldConfigureExtractionMethods) {\n steps.push(...configureExtractionMethods(services, options))\n }\n\n if (hasModelName) {\n steps.push({\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.configure-agent.model-input',\n class: 'input-model-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('model'),\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInput(GuideUtils.getGuideElementSelector('model'), options.model, false))\n }, options)\n })\n }\n\n if (hasUserInstructions) {\n steps.push({\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.configure-agent.user-instructions-input',\n class: 'input-user-instructions-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('user-instructions'),\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInput(GuideUtils.getGuideElementSelector('user-instructions'), options.userInstructions, false))\n }, options)\n })\n }\n\n return steps;\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","shouldEditName","editName","hasModelName","model","hasUserInstructions","userInstructions","shouldConfigureExtractionMethods","methods","length","steps","angular","extend","elementSelectorToShow","getElementSelector","timeToWait","push","content","class","url","disablePreviousFlow","beforeShowPromise","waitFor","getGuideElementSelector","catch","error","toastr","$translate","instant","elementSelector","onNextValidate","Promise","resolve","validateTextInputNotEmpty","configureExtractionMethods","map","method","validateTextInput"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"69112.817cf7b4d2911108c736.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/app.js"],"sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$uibModalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $uibModalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $uibModalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate', 'TrackingService'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate, TrackingService) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense();\n };\n\n // TODO - Check if redundant call and remove\n $licenseService.checkLicenseStatus();\n\n $scope.removeLicense = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"remove.license.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus()\n .then(() => TrackingService.applyTrackingConsent())\n .catch((error) => {\n const msg = getError(error.data, error.status);\n toastr.error(msg, $translate.instant('common.error'));\n });\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$uibModal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $uibModal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.present) {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function (error) {\n toastr.error(error, $translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$uibModalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $uibModalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $uibModalInstance.close();\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/interceptors/authentication.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.interceptors.authentication',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$unauthorizedInterceptor');\n $httpProvider.interceptors.push('$authenticationInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded() && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n"],"names":["ActiveLocationSettingsCtrl","$scope","toastr","$uibModalInstance","LicenseRestService","$translate","supportsStatistics","settings","statistics","getSettings","loader","getStatistics","then","response","data","status","msg","getError","error","instant","setSettings","toggleStatistics","close","success","submitForm","cancel","dismiss","LicenseCtrl","$licenseService","$rootScope","ModalService","TrackingService","loadingLicense","checkLicenseStatus","removeLicense","openSimpleModal","title","message","warning","result","unregisterLicense","applyTrackingConsent","catch","RegisterLicenseCtrl","$location","$uibModal","$window","$jwtAuth","$on","isAdmin","path","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","present","val","license","open","templateUrl","controller","size","resolve","decodedLicense","atob","replace","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","file","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","angular","module","$inject","config","$httpProvider","interceptors","push","run","isLicenseHardcoded","url"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=74106;export const __webpack_ids__=[74106];export const __webpack_modules__={74106:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"enable-autocomplete",getSteps:(e,t)=>{const o=t.GuideUtils;e.mainAction="enable-autocomplete";const n=o.getGuideElementSelector("autocompleteCheckbox");return[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"autocomplete",showIntro:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.enable-autocomplete.content",url:"/autocomplete",elementSelector:n,class:"enable-autocomplete-checkbox-guide-dialog",advanceOn:void 0,beforeShowPromise:()=>o.deferredShow(500)(),show:e=>()=>{$(n).on("mouseup.autocompleteCheckboxClick",function(){o.deferredShow(20)().then(()=>{o.isGuideElementChecked("autocompleteCheckbox"," input")&&e.next()})})},onNextClick:e=>{o.isGuideElementChecked("autocompleteCheckbox"," input")||$(n).trigger("click"),e.next()},hide:()=>()=>{$(n).off("mouseup.autocompleteCheckboxClick")}},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.enable-autocomplete.status_info.content",url:"/autocomplete",elementSelector:o.getGuideElementSelector("autocompleteStatus"),class:"autocomplete-status-info-guide-dialog",canBePaused:!1},e)}]}}])}};
2
- //# sourceMappingURL=74106.82ee18377b0ae14c6a7f.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"74106.82ee18377b0ae14c6a7f.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,sBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAC5BF,EAAQG,WAAa,sBAErB,MAAMC,EAA+BF,EAAWG,wBAAwB,wBACxE,MAAO,CACH,CACIP,eAAgB,kBAChBE,QAASM,QAAQC,OAAO,CAAC,EAAG,CACxBC,KAAM,eACNC,WAAW,GACZT,IACJ,CACCF,eAAgB,oBAChBE,QAASM,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,gDACTC,IAAK,gBACLC,gBAAiBR,EACjBS,MAAO,4CAEPC,eAAWC,EACXC,kBAAmBA,IAAMd,EAAWe,aAAa,IAAxBf,GACzBgB,KAAOC,GAAU,KAEbC,EAAEhB,GACGiB,GAAG,oCAAqC,WAErCnB,EAAWe,aAAa,GAAxBf,GACKoB,KAAK,KACEpB,EAAWqB,sBAAsB,uBAAwB,WACzDJ,EAAMK,QAGtB,IAERC,YAAcN,IACLjB,EAAWqB,sBAAsB,uBAAwB,WAC1DH,EAAEhB,GAA8BsB,QAAQ,SAE5CP,EAAMK,QAEVG,KAAMA,IAAM,KAERP,EAAEhB,GAA8BwB,IAAI,uCAEzC5B,IAEP,CACIF,eAAgB,oBAChBE,QAASM,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,4DACTC,IAAK,gBACLC,gBAAiBV,EAAWG,wBAAwB,sBACpDQ,MAAO,wCACPgB,aAAa,GACd7B,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/enable-autocomplete/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'enable-autocomplete',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'enable-autocomplete';\n\n const autocompleteCheckboxSelector = GuideUtils.getGuideElementSelector('autocompleteCheckbox');\n return [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'autocomplete',\n showIntro: true\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.enable-autocomplete.content',\n url: '/autocomplete',\n elementSelector: autocompleteCheckboxSelector,\n class: 'enable-autocomplete-checkbox-guide-dialog',\n // Disable default behavior of service when element is clicked.\n advanceOn: undefined,\n beforeShowPromise: () => GuideUtils.deferredShow(500)(),\n show: (guide) => () => {\n // Added listener to the element.\n $(autocompleteCheckboxSelector)\n .on('mouseup.autocompleteCheckboxClick', function () {\n // If autocomplete is enabled go to the next step.\n GuideUtils.deferredShow(20)()\n .then(() => {\n if (GuideUtils.isGuideElementChecked('autocompleteCheckbox', ' input')) {\n guide.next();\n }\n });\n });\n },\n onNextClick: (guide) => {\n if (!GuideUtils.isGuideElementChecked('autocompleteCheckbox', ' input')) {\n $(autocompleteCheckboxSelector).trigger('click');\n }\n guide.next();\n },\n hide: () => () => {\n // Remove ths listener from element. It is important when step is hided.\n $(autocompleteCheckboxSelector).off('mouseup.autocompleteCheckboxClick');\n }\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.enable-autocomplete.status_info.content',\n url: '/autocomplete',\n elementSelector: GuideUtils.getGuideElementSelector('autocompleteStatus'),\n class: 'autocomplete-status-info-guide-dialog',\n canBePaused: false\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","autocompleteCheckboxSelector","getGuideElementSelector","angular","extend","menu","showIntro","content","url","elementSelector","class","advanceOn","undefined","beforeShowPromise","deferredShow","show","guide","$","on","then","isGuideElementChecked","next","onNextClick","trigger","hide","off","canBePaused"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=79329;export const __webpack_ids__=[79329];export const __webpack_modules__={79329:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});const o='<link href="css/ttyg/agent-settings-modal.css?v=3.1.0-TR12" rel="stylesheet"/> <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=3.1.0-TR12" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h4 class="modal-title">{{( operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.title.edit \' : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.title.clone\' : \'ttyg.agent.create_agent_modal.title.create\') | translate}}</h4> </div> <div class="modal-body"> <form novalidate name="agentSettingsForm" id="agentSettingsForm" class="agent-settings-form" guide-selector="agent-form"> <div class="form-group agent-name-label"> <label for="name" uib-popover="{{\'ttyg.agent.create_agent_modal.form.agent_name.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.agent_name.label\' | translate}}</label> <input type="text" class="form-control" id="name" name="name" ng-model="agentFormModel.name" required autocomplete="off" guide-selector="agent-name" placeholder="{{\'ttyg.agent.create_agent_modal.form.agent_name.placeholder\' | translate}}"> <div class="alert alert-danger" ng-if="agentSettingsForm.name.$touched && agentSettingsForm.name.$invalid"> {{\'required.field\' | translate}} </div> </div> <div> <button class="external-config-btn" ng-click="openExternalIntegrationConfig()" ng-if="operation !== AGENT_OPERATION.CREATE" uib-popover="{{\'ttyg.agent.create_agent_modal.form.external_config.tooltip\' | translate}}" popover-trigger="mouseenter"> <i class="fa-regular fa-plug-circle-plus"></i> {{\'ttyg.agent.create_agent_modal.form.external_config.label\' | translate}} </button> </div> <div class="form-group repository-id"> <label for="repositoryId" uib-popover="{{\'ttyg.agent.create_agent_modal.form.repository.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.repository.label\' | translate}}</label> <select class="form-control" id="repositoryId" name="repositoryId" ng-model="agentFormModel.repositoryId" required ng-change="onRepositoryChange()" guide-selector="repository-id" ng-options="repository.value as repository.label for repository in activeRepositoryList"> </select> <div class="alert alert-danger" ng-if="agentSettingsForm.repositoryId.$touched && agentSettingsForm.repositoryId.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-row clearfix"> <div class="form-group llm-model" ng-class="{\'col-md-3\': showContextSize, \'col-md-4\': !showContextSize}"> <label for="model">{{\'ttyg.agent.create_agent_modal.form.model.label\' | translate}}</label> <help-info-popover help-info="helpInfoForModel"></help-info-popover> <input type="text" class="form-control" id="model" name="model" ng-model="agentFormModel.model" guide-selector="model" required autocomplete="off"> <div class="alert alert-danger" ng-if="agentSettingsForm.model.$touched && agentSettingsForm.model.$invalid"> {{\'required.field\' | translate}} </div> </div> <div ng-if="showContextSize" class="form-group context-size col-md-3"> <div class="context-size-wrapper"> <label for="contextSize"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.context_size.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.context_size.label\' | translate}}</span> </label> <button type="button" class="btn btn-link btn-sm reset-context-size-btn" ng-click="onRestoreDefaultContextSize()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.context_size.restore_default_btn.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> <div class="input-with-unit"> <input type="text" id="contextSize" name="contextSize" class="form-control" ng-model="agentFormModel.contextSize" required autocomplete="off"> <span class="token-unit-label"> {{\'ttyg.agent.create_agent_modal.form.context_size.field_addon\' | translate}} </span> </div> </div> <div class="alert alert-danger" ng-if="agentSettingsForm.contextSize.$touched && agentSettingsForm.contextSize.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group temperature" ng-class="{\'col-md-3\': showContextSize, \'col-md-4\': !showContextSize}"> <label for="temperature"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.temperature.label\' | translate}}</span> <i class="fa fa-triangle-exclamation text-warning high-temperature-warning" ng-if="showHighTemperatureWarning" uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning\' | translate}}" popover-trigger="mouseenter"></i> </label> <input type="text" id="temperature" name="temperature" readonly="readonly" class="form-control" ng-class="{\'has-warning\': showHighTemperatureWarning}" ng-model="agentFormModel.temperature.value"> <input id="temperatureSlider" name="temperature" type="range" min="{{agentFormModel.temperature.minValue}}" max="{{agentFormModel.temperature.maxValue}}" step="{{agentFormModel.temperature.step}}" ng-change="onTemperatureChange()" ng-model="agentFormModel.temperature.value"/> </div> <div class="form-group top-p" ng-class="{\'col-md-3\': showContextSize, \'col-md-4\': !showContextSize}"> <label for="topP" uib-popover="{{\'ttyg.agent.create_agent_modal.form.top_p.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.top_p.label\' | translate}}</label> <input type="text" class="form-control" id="topP" name="topP" readonly="readonly" ng-model="agentFormModel.topP.value"> <input id="topPSlider" name="topP" type="range" min="{{agentFormModel.topP.minValue}}" max="{{agentFormModel.topP.maxValue}}" step="{{agentFormModel.topP.step}}" ng-model="agentFormModel.topP.value"/> </div> </div> <div class="form-group extraction-methods-group"> <label for="extractionMethods" uib-popover="{{\'ttyg.agent.create_agent_modal.form.extraction_method.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.extraction_method.label\' | translate}}</label> <div id="extractionMethods" name="extractionMethods" ng-model="agentFormModel.assistantExtractionMethods.extractionMethods" required class="accordion extraction-methods" ng-class="{\'has-error\': agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid}"> <div ng-repeat="extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods" class="extraction-method"> <div id="{{extractionMethod.method + \'_method_heading\'}}" class="extraction-method-heading" ng-class="{\'selected\': extractionMethod.selected}" guide-selector="query-method-{{extractionMethod.method}}"> <div class="mr-0 extraction-method-toggle"> <input type="checkbox" id="{{extractionMethod.method + \'_checkbox\'}}" guide-selector="query-method-{{extractionMethod.method}}-input" name="{{extractionMethod.method}}" class="switch" ng-click="toggleExtractionMethod(extractionMethod, $event)" ng-model="extractionMethod.selected"/> <label for="{{extractionMethod.method + \'_checkbox\'}}"></label> </div> <a class="btn btn-link panel-toggle-link" aria-expanded="false" aria-controls="{{extractionMethod.method + \'_method_content\'}}" ng-click="onExtractionMethodPanelToggle(extractionMethod)"> <span class="mr-1" uib-popover="{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.label\' | translate}}</span> <i class="fa fa-chevron-down toggle-icon" ng-class="{\'expanded\': extractionMethod.expanded}"> </i> </a> </div> <div id="{{extractionMethod.method + \'_method_content\'}}" class="show extraction-method-content" aria-labelledby="{{extractionMethod.method + \'_method_heading\'}}" data-parent="#extractionMethods"> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL" class="extraction-method-options" ng-class="{\'has-error\': extractionMethod.selected && !extractionMethod.sparqlOption}"> <div class="sparql-option ontology-graph-option" guide-selector="sparql-ontology-graph-option"> <label class="radio-inline" uib-popover="{{\'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip\' | translate}}" popover-trigger="mouseenter"> <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" guide-selector="sparql-ontology-graph-option-input" ng-model="extractionMethod.sparqlOption" value="ontologyGraph"> {{\'ttyg.agent.create_agent_modal.form.ontology_graph.label\' | translate}} </label> <div class="panel" ng-show="extractionMethod.sparqlOption === \'ontologyGraph\'"> <div class="form-group"> <input type="text" class="form-control" id="ontologyGraph" guide-selector="sparql-ontology-graph-input" name="ontologyGraph" ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'ontologyGraph\'" ng-model="extractionMethod.ontologyGraph"> </div> </div> </div> <div class="sparql-option sparql-query-option"> <label class="radio-inline" uib-popover="{{\'ttyg.agent.create_agent_modal.form.construct_query.tooltip\' | translate}}" popover-trigger="mouseenter"> <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" ng-model="extractionMethod.sparqlOption" value="sparqlQuery"> {{\'ttyg.agent.create_agent_modal.form.construct_query.label\' | translate}} </label> <div class="panel" ng-show="extractionMethod.sparqlOption === \'sparqlQuery\'"> <div class="form-group"> <textarea type="text" class="form-control" id="sparqlQuery" name="sparqlQuery" rows="10" ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'sparqlQuery\'" ng-minlength="extractionMethod.sparqlQuery.minLength" ng-maxlength="extractionMethod.sparqlQuery.maxLength" ng-model="extractionMethod.sparqlQuery.value">\n </textarea> </div> </div> </div> <div class="alert alert-danger sparql-method-option-required-error mb-0" ng-if="extractionMethod.selected && !extractionMethod.sparqlOption"> {{\'ttyg.agent.create_agent_modal.form.sparql_search.required_option\' | translate}} </div> <div class="add-missing-namespaces-option mt-1" guide-selector="add-missing-namespaces-option"> <input id="addMissingNamespaces" name="addMissingNamespaces" type="checkbox" guide-selector="add-missing-namespaces" ng-model="extractionMethod.addMissingNamespaces"> <label for="addMissingNamespaces" uib-popover="{{\'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip\' | translate}}" popover-trigger="mouseenter">{{ \'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label\' | translate }}</label> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH" ng-class="{\'has-error\': agentSettingsForm.$error.FTSDisabled || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="checkIfFTSEnabled()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="!ftsEnabled && agentFormModel.repositoryId" class="fts-disabled-message" ng-bind-html="getFTSDisabledHelpMessage()"> </div> <div class="form-group max-triples" ng-show="ftsEnabled && agentFormModel.repositoryId"> <label for="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label\' | translate}} </label> <input type="number" class="form-control" id="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY" ng-class="{\'has-error\': agentSettingsForm.$error.missingIndex || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="updateSimilaritySearchPanel()" ng-disabled="disabled" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="agentFormModel.repositoryId && !similarityIndexes.length" class="no-similarity-index-message"> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1\' | translate}} <a href="" ng-click="goToCreateSimilarityView($event)"> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2\' | translate}} </a> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3\' | translate}}. </div> <div ng-show="similarityIndexes.length"> <div class="form-group similarity-index"> <label for="similarityIndex" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_index.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_index.label\' | translate}}</label> <span ng-if="extractionMethodLoaderFlags.similarity_search" onto-loader-fancy size="16"></span> <select class="form-control" id="similarityIndex" name="similarityIndex" guide-selector="similarity-index-select" ng-required="extractionMethod.selected" ng-if="!extractionMethodLoaderFlags.similarity_search" ng-model="extractionMethod.similarityIndex" ng-options="similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes"> </select> <div class="alert alert-danger" ng-if="extractionMethod.similarityIndex.$touched && extractionMethod.similarityIndex.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group similarity-index-threshold"> <label for="similarityIndexThreshold" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.label\' | translate}}</label> <input type="text" class="form-control" id="similarityIndexThreshold" name="similarityIndexThreshold" readonly="readonly" ng-model="extractionMethod.similarityIndexThreshold.value"> <input id="similarityIndexThresholdSlider" name="similarityIndexThreshold" type="range" ng-required="extractionMethod.selected" min="{{extractionMethod.similarityIndexThreshold.minValue}}" max="{{extractionMethod.similarityIndexThreshold.maxValue}}" step="0.1" ng-model="extractionMethod.similarityIndexThreshold.value"/> </div> <div class="form-group similarity-max-triples"> <label for="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label\' | translate}}</label> <input type="number" class="form-control" id="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL" ng-class="{\'has-error\': agentSettingsForm.$error.missingConnector || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="updateRetrievalConnectorPanel()" ng-disabled="disabled" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="agentFormModel.repositoryId && !retrievalConnectors.length" class="no-retrieval-connector-message"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1\' | translate}} <a href="" ng-click="goToConnectorsView($event)"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2\' | translate}} </a> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3\' | translate}}. </div> <div ng-show="retrievalConnectors.length"> <div class="form-group retrieval-connector"> <label for="retrievalConnectorInstance" uib-popover="{{\'ttyg.agent.create_agent_modal.form.connector_id.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.connector_id.label\' | translate}}</label> <span ng-if="extractionMethodLoaderFlags.retrieval_search" onto-loader-fancy size="16"></span> <select class="form-control" id="retrievalConnectorInstance" name="retrievalConnectorInstance" ng-required="extractionMethod.selected" ng-if="!extractionMethodLoaderFlags.retrieval_search" ng-model="extractionMethod.retrievalConnectorInstance" ng-options="retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors"> </select> <div class="alert alert-danger" ng-if="extractionMethod.retrievalConnectorInstance.$touched && extractionMethod.retrievalConnectorInstance.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group query-template"> <label for="queryTemplate" uib-popover="{{\'ttyg.agent.create_agent_modal.form.query_template.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.query_template.label\' | translate}}</label> <textarea type="text" class="form-control" id="queryTemplate" name="queryTemplate" rows="10" ng-required="extractionMethod.selected" ng-minlength="extractionMethod.queryTemplate.minLength" ng-maxlength="extractionMethod.queryTemplate.maxLength" ng-model="extractionMethod.queryTemplate.value">\n </textarea> <div class="alert alert-danger" ng-if="extractionMethod.name.$touched && extractionMethod.name.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group retrieval-connector-max-triples"> <label for="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label\' | translate}}</label> <input type="number" class="form-control" id="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> </div> </div> </div> </div> <div class="alert alert-danger extraction-method-required-error" ng-if="agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid"> {{\'ttyg.agent.create_agent_modal.form.extraction_method.required\' | translate}} </div> </div> <div id="additionalExtractionMethods" class="form-group additional-extraction-methods"> <label uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.additional_query_methods.label\' | translate}} </label> <div ng-repeat="extractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods" class="additional-extraction-method"> <div ng-if="ExtractionMethodTemplates[extractionMethod.method]"> <div ng-include="\'js/angular/ttyg/templates/\' + ExtractionMethodTemplates[extractionMethod.method] + \'.html\'"></div> </div> </div> </div> <div class="form-group user-instructions"> <div class="toolbar"> <label for="userInstruction" uib-popover="{{\'ttyg.agent.create_agent_modal.form.user_instruction.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.user_instruction.label\' | translate}}</label> <div class="actions"> <copy-to-clipboard tooltip-text="ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip" text-to-copy="{{agentFormModel.instructions.userInstruction}}"></copy-to-clipboard> <button class="btn btn-link btn-sm create-chat-btn" ng-click="onRestoreDefaultUserInstructions()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> </div> </div> <textarea type="text" class="form-control" id="userInstruction" name="userInstruction" rows="5" guide-selector="user-instructions" ng-model="agentFormModel.instructions.userInstruction" placeholder="{{\'ttyg.agent.create_agent_modal.form.user_instruction.placeholder\' | translate}}">\n </textarea> </div> <div class="text-xs-center"> <button type="button" ng-click="showAdvancedSettings = !showAdvancedSettings" class="btn btn-link btn-sm toggle-advanced-settings"> <span ng-hide="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.show\' | translate}}<em class="icon-caret-down"></em></span> <span ng-show="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.hide\' | translate}}<em class="icon-caret-up"></em></span> </button> </div> <div ng-show="showAdvancedSettings" class="advanced-settings"> <div class="form-group system-instructions"> <div class="toolbar"> <label for="systemInstruction"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.system_instruction.label\' | translate}}</span> <i class="fa fa-triangle-exclamation text-warning overriding-system-instructions-warning" ng-if="showSystemInstructionWarning" uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body\' | translate}}" popover-trigger="mouseenter"></i> </label> <div class="actions"> <copy-to-clipboard tooltip-text="ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip" text-to-copy="{{agentFormModel.instructions.systemInstruction}}"></copy-to-clipboard> <button class="btn btn-link btn-sm create-chat-btn" ng-click="onRestoreDefaultSystemInstructions()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> </div> </div> <textarea type="text" class="form-control" id="systemInstruction" name="systemInstruction" rows="5" placeholder="{{\'ttyg.agent.create_agent_modal.form.system_instruction.placeholder\' | translate}}" ng-class="{\'has-warning\': showSystemInstructionWarning}" ng-model="agentFormModel.instructions.systemInstruction" ng-change="onSystemInstructionChange()">\n </textarea> </div> </div> </form> </div> <div class="modal-footer"> <button type="button" ng-click="onExplainAgentSettings()" class="btn explain-agent-settings-btn"> {{\'ttyg.agent.create_agent_modal.btn.explain_settings.label\' | translate}} </button> <div> <button type="button" ng-click="cancel()" class="btn cancel-btn"> {{\'ttyg.agent.create_agent_modal.btn.cancel.label\' | translate}} </button> <button type="button" ng-click="ok()" ng-disabled="agentSettingsForm.$invalid || savingAgent" guide-selector="save-agent-settings" class="btn btn-primary save-agent-settings-btn"> <span>{{(operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.btn.save.label\' : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.btn.save.label\' : \'ttyg.agent.create_agent_modal.btn.create.label\') | translate}}</span> <span class="saving-agent-loader" ng-if="savingAgent" onto-loader-fancy hide-message="true" size="15"></span> </button> </div> </div> '}};
2
- //# sourceMappingURL=79329.d966e9755b8abe0219dc.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"79329.d966e9755b8abe0219dc.bundle.js","mappings":"uJAOA,QANW,o9wB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/modal/agent-settings-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/agent-settings-modal.css?v=3.1.0-TR12\" rel=\"stylesheet\"/> <link href=\"css/lib/ng-tags-input/ng-tags-input.min.css?v=3.1.0-TR12\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h4 class=\"modal-title\">{{( operation === AGENT_OPERATION.EDIT ? 'ttyg.agent.create_agent_modal.title.edit ' : operation === AGENT_OPERATION.CLONE ? 'ttyg.agent.create_agent_modal.title.clone' : 'ttyg.agent.create_agent_modal.title.create') | translate}}</h4> </div> <div class=\"modal-body\"> <form novalidate name=\"agentSettingsForm\" id=\"agentSettingsForm\" class=\"agent-settings-form\" guide-selector=\"agent-form\"> <div class=\"form-group agent-name-label\"> <label for=\"name\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.agent_name.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.agent_name.label' | translate}}</label> <input type=\"text\" class=\"form-control\" id=\"name\" name=\"name\" ng-model=\"agentFormModel.name\" required autocomplete=\"off\" guide-selector=\"agent-name\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.agent_name.placeholder' | translate}}\"> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.name.\\$touched && agentSettingsForm.name.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div> <button class=\"external-config-btn\" ng-click=\"openExternalIntegrationConfig()\" ng-if=\"operation !== AGENT_OPERATION.CREATE\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.external_config.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> <i class=\"fa-regular fa-plug-circle-plus\"></i> {{'ttyg.agent.create_agent_modal.form.external_config.label' | translate}} </button> </div> <div class=\"form-group repository-id\"> <label for=\"repositoryId\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.repository.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.repository.label' | translate}}</label> <select class=\"form-control\" id=\"repositoryId\" name=\"repositoryId\" ng-model=\"agentFormModel.repositoryId\" required ng-change=\"onRepositoryChange()\" guide-selector=\"repository-id\" ng-options=\"repository.value as repository.label for repository in activeRepositoryList\"> </select> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.repositoryId.\\$touched && agentSettingsForm.repositoryId.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-row clearfix\"> <div class=\"form-group llm-model\" ng-class=\"{'col-md-3': showContextSize, 'col-md-4': !showContextSize}\"> <label for=\"model\">{{'ttyg.agent.create_agent_modal.form.model.label' | translate}}</label> <help-info-popover help-info=\"helpInfoForModel\"></help-info-popover> <input type=\"text\" class=\"form-control\" id=\"model\" name=\"model\" ng-model=\"agentFormModel.model\" guide-selector=\"model\" required autocomplete=\"off\"> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.model.\\$touched && agentSettingsForm.model.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div ng-if=\"showContextSize\" class=\"form-group context-size col-md-3\"> <div class=\"context-size-wrapper\"> <label for=\"contextSize\"> <span uib-popover=\"{{'ttyg.agent.create_agent_modal.form.context_size.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.context_size.label' | translate}}</span> </label> <button type=\"button\" class=\"btn btn-link btn-sm reset-context-size-btn\" ng-click=\"onRestoreDefaultContextSize()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.context_size.restore_default_btn.tooltip' | translate}}\"> <i class=\"fa fa-arrow-rotate-left\"></i> </button> <div class=\"input-with-unit\"> <input type=\"text\" id=\"contextSize\" name=\"contextSize\" class=\"form-control\" ng-model=\"agentFormModel.contextSize\" required autocomplete=\"off\"> <span class=\"token-unit-label\"> {{'ttyg.agent.create_agent_modal.form.context_size.field_addon' | translate}} </span> </div> </div> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.contextSize.\\$touched && agentSettingsForm.contextSize.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group temperature\" ng-class=\"{'col-md-3': showContextSize, 'col-md-4': !showContextSize}\"> <label for=\"temperature\"> <span uib-popover=\"{{'ttyg.agent.create_agent_modal.form.temperature.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.temperature.label' | translate}}</span> <i class=\"fa fa-triangle-exclamation text-warning high-temperature-warning\" ng-if=\"showHighTemperatureWarning\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning' | translate}}\" popover-trigger=\"mouseenter\"></i> </label> <input type=\"text\" id=\"temperature\" name=\"temperature\" readonly=\"readonly\" class=\"form-control\" ng-class=\"{'has-warning': showHighTemperatureWarning}\" ng-model=\"agentFormModel.temperature.value\"> <input id=\"temperatureSlider\" name=\"temperature\" type=\"range\" min=\"{{agentFormModel.temperature.minValue}}\" max=\"{{agentFormModel.temperature.maxValue}}\" step=\"{{agentFormModel.temperature.step}}\" ng-change=\"onTemperatureChange()\" ng-model=\"agentFormModel.temperature.value\"/> </div> <div class=\"form-group top-p\" ng-class=\"{'col-md-3': showContextSize, 'col-md-4': !showContextSize}\"> <label for=\"topP\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.top_p.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.top_p.label' | translate}}</label> <input type=\"text\" class=\"form-control\" id=\"topP\" name=\"topP\" readonly=\"readonly\" ng-model=\"agentFormModel.topP.value\"> <input id=\"topPSlider\" name=\"topP\" type=\"range\" min=\"{{agentFormModel.topP.minValue}}\" max=\"{{agentFormModel.topP.maxValue}}\" step=\"{{agentFormModel.topP.step}}\" ng-model=\"agentFormModel.topP.value\"/> </div> </div> <div class=\"form-group extraction-methods-group\"> <label for=\"extractionMethods\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.extraction_method.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.extraction_method.label' | translate}}</label> <div id=\"extractionMethods\" name=\"extractionMethods\" ng-model=\"agentFormModel.assistantExtractionMethods.extractionMethods\" required class=\"accordion extraction-methods\" ng-class=\"{'has-error': agentSettingsForm.extractionMethods.\\$touched && agentSettingsForm.extractionMethods.\\$invalid}\"> <div ng-repeat=\"extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods\" class=\"extraction-method\"> <div id=\"{{extractionMethod.method + '_method_heading'}}\" class=\"extraction-method-heading\" ng-class=\"{'selected': extractionMethod.selected}\" guide-selector=\"query-method-{{extractionMethod.method}}\"> <div class=\"mr-0 extraction-method-toggle\"> <input type=\"checkbox\" id=\"{{extractionMethod.method + '_checkbox'}}\" guide-selector=\"query-method-{{extractionMethod.method}}-input\" name=\"{{extractionMethod.method}}\" class=\"switch\" ng-click=\"toggleExtractionMethod(extractionMethod, \\$event)\" ng-model=\"extractionMethod.selected\"/> <label for=\"{{extractionMethod.method + '_checkbox'}}\"></label> </div> <a class=\"btn btn-link panel-toggle-link\" aria-expanded=\"false\" aria-controls=\"{{extractionMethod.method + '_method_content'}}\" ng-click=\"onExtractionMethodPanelToggle(extractionMethod)\"> <span class=\"mr-1\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.' + extractionMethod.method + '.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.' + extractionMethod.method + '.label' | translate}}</span> <i class=\"fa fa-chevron-down toggle-icon\" ng-class=\"{'expanded': extractionMethod.expanded}\"> </i> </a> </div> <div id=\"{{extractionMethod.method + '_method_content'}}\" class=\"show extraction-method-content\" aria-labelledby=\"{{extractionMethod.method + '_method_heading'}}\" data-parent=\"#extractionMethods\"> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL\" class=\"extraction-method-options\" ng-class=\"{'has-error': extractionMethod.selected && !extractionMethod.sparqlOption}\"> <div class=\"sparql-option ontology-graph-option\" guide-selector=\"sparql-ontology-graph-option\"> <label class=\"radio-inline\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> <input type=\"radio\" name=\"sparqlOption\" ng-required=\"extractionMethod.selected\" guide-selector=\"sparql-ontology-graph-option-input\" ng-model=\"extractionMethod.sparqlOption\" value=\"ontologyGraph\"> {{'ttyg.agent.create_agent_modal.form.ontology_graph.label' | translate}} </label> <div class=\"panel\" ng-show=\"extractionMethod.sparqlOption === 'ontologyGraph'\"> <div class=\"form-group\"> <input type=\"text\" class=\"form-control\" id=\"ontologyGraph\" guide-selector=\"sparql-ontology-graph-input\" name=\"ontologyGraph\" ng-required=\"extractionMethod.selected && extractionMethod.sparqlOption === 'ontologyGraph'\" ng-model=\"extractionMethod.ontologyGraph\"> </div> </div> </div> <div class=\"sparql-option sparql-query-option\"> <label class=\"radio-inline\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.construct_query.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> <input type=\"radio\" name=\"sparqlOption\" ng-required=\"extractionMethod.selected\" ng-model=\"extractionMethod.sparqlOption\" value=\"sparqlQuery\"> {{'ttyg.agent.create_agent_modal.form.construct_query.label' | translate}} </label> <div class=\"panel\" ng-show=\"extractionMethod.sparqlOption === 'sparqlQuery'\"> <div class=\"form-group\"> <textarea type=\"text\" class=\"form-control\" id=\"sparqlQuery\" name=\"sparqlQuery\" rows=\"10\" ng-required=\"extractionMethod.selected && extractionMethod.sparqlOption === 'sparqlQuery'\" ng-minlength=\"extractionMethod.sparqlQuery.minLength\" ng-maxlength=\"extractionMethod.sparqlQuery.maxLength\" ng-model=\"extractionMethod.sparqlQuery.value\">\n </textarea> </div> </div> </div> <div class=\"alert alert-danger sparql-method-option-required-error mb-0\" ng-if=\"extractionMethod.selected && !extractionMethod.sparqlOption\"> {{'ttyg.agent.create_agent_modal.form.sparql_search.required_option' | translate}} </div> <div class=\"add-missing-namespaces-option mt-1\" guide-selector=\"add-missing-namespaces-option\"> <input id=\"addMissingNamespaces\" name=\"addMissingNamespaces\" type=\"checkbox\" guide-selector=\"add-missing-namespaces\" ng-model=\"extractionMethod.addMissingNamespaces\"> <label for=\"addMissingNamespaces\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{ 'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label' | translate }}</label> </div> </div> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH\" ng-class=\"{'has-error': agentSettingsForm.\\$error.FTSDisabled || agentSettingsForm.repositoryId.\\$invalid}\" class=\"extraction-method-options\"> <button ng-if=\"agentFormModel.repositoryId\" class=\"btn btn-link btn-sm pull-right\" ng-click=\"checkIfFTSEnabled()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip' | translate}}\"> <i class=\"fa fa-arrows-rotate\"></i> </button> <div class=\"alert alert-danger missing-repositoryid-error mb-0\" ng-if=\"agentSettingsForm.repositoryId.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.missing_repository_id' | translate}} </div> <div ng-if=\"!ftsEnabled && agentFormModel.repositoryId\" class=\"fts-disabled-message\" ng-bind-html=\"getFTSDisabledHelpMessage()\"> </div> <div class=\"form-group max-triples\" ng-show=\"ftsEnabled && agentFormModel.repositoryId\"> <label for=\"{{extractionMethods.FTS_SEARCH + '_maxNumberOfTriplesPerCall'}}\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label' | translate}} </label> <input type=\"number\" class=\"form-control\" id=\"{{extractionMethods.FTS_SEARCH + '_maxNumberOfTriplesPerCall'}}\" name=\"maxNumberOfTriplesPerCall\" min=\"0\" ng-model=\"extractionMethod.maxNumberOfTriplesPerCall\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder' | translate}}\"> </div> </div> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY\" ng-class=\"{'has-error': agentSettingsForm.\\$error.missingIndex || agentSettingsForm.repositoryId.\\$invalid}\" class=\"extraction-method-options\"> <button ng-if=\"agentFormModel.repositoryId\" class=\"btn btn-link btn-sm pull-right\" ng-click=\"updateSimilaritySearchPanel()\" ng-disabled=\"disabled\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip' | translate}}\"> <i class=\"fa fa-arrows-rotate\"></i> </button> <div class=\"alert alert-danger missing-repositoryid-error mb-0\" ng-if=\"agentSettingsForm.repositoryId.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.missing_repository_id' | translate}} </div> <div ng-if=\"agentFormModel.repositoryId && !similarityIndexes.length\" class=\"no-similarity-index-message\"> {{'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1' | translate}} <a href=\"\" ng-click=\"goToCreateSimilarityView(\\$event)\"> {{'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2' | translate}} </a> {{'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3' | translate}}. </div> <div ng-show=\"similarityIndexes.length\"> <div class=\"form-group similarity-index\"> <label for=\"similarityIndex\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.similarity_index.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.similarity_index.label' | translate}}</label> <span ng-if=\"extractionMethodLoaderFlags.similarity_search\" onto-loader-fancy size=\"16\"></span> <select class=\"form-control\" id=\"similarityIndex\" name=\"similarityIndex\" guide-selector=\"similarity-index-select\" ng-required=\"extractionMethod.selected\" ng-if=\"!extractionMethodLoaderFlags.similarity_search\" ng-model=\"extractionMethod.similarityIndex\" ng-options=\"similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes\"> </select> <div class=\"alert alert-danger\" ng-if=\"extractionMethod.similarityIndex.\\$touched && extractionMethod.similarityIndex.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group similarity-index-threshold\"> <label for=\"similarityIndexThreshold\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.similarity_threshold.label' | translate}}</label> <input type=\"text\" class=\"form-control\" id=\"similarityIndexThreshold\" name=\"similarityIndexThreshold\" readonly=\"readonly\" ng-model=\"extractionMethod.similarityIndexThreshold.value\"> <input id=\"similarityIndexThresholdSlider\" name=\"similarityIndexThreshold\" type=\"range\" ng-required=\"extractionMethod.selected\" min=\"{{extractionMethod.similarityIndexThreshold.minValue}}\" max=\"{{extractionMethod.similarityIndexThreshold.maxValue}}\" step=\"0.1\" ng-model=\"extractionMethod.similarityIndexThreshold.value\"/> </div> <div class=\"form-group similarity-max-triples\"> <label for=\"{{extractionMethods.SIMILARITY + '_maxNumberOfTriplesPerCall'}}\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label' | translate}}</label> <input type=\"number\" class=\"form-control\" id=\"{{extractionMethods.SIMILARITY + '_maxNumberOfTriplesPerCall'}}\" name=\"maxNumberOfTriplesPerCall\" min=\"0\" ng-model=\"extractionMethod.maxNumberOfTriplesPerCall\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder' | translate}}\"> </div> </div> </div> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL\" ng-class=\"{'has-error': agentSettingsForm.\\$error.missingConnector || agentSettingsForm.repositoryId.\\$invalid}\" class=\"extraction-method-options\"> <button ng-if=\"agentFormModel.repositoryId\" class=\"btn btn-link btn-sm pull-right\" ng-click=\"updateRetrievalConnectorPanel()\" ng-disabled=\"disabled\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip' | translate}}\"> <i class=\"fa fa-arrows-rotate\"></i> </button> <div class=\"alert alert-danger missing-repositoryid-error mb-0\" ng-if=\"agentSettingsForm.repositoryId.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.missing_repository_id' | translate}} </div> <div ng-if=\"agentFormModel.repositoryId && !retrievalConnectors.length\" class=\"no-retrieval-connector-message\"> {{'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1' | translate}} <a href=\"\" ng-click=\"goToConnectorsView(\\$event)\"> {{'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2' | translate}} </a> {{'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3' | translate}}. </div> <div ng-show=\"retrievalConnectors.length\"> <div class=\"form-group retrieval-connector\"> <label for=\"retrievalConnectorInstance\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.connector_id.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.connector_id.label' | translate}}</label> <span ng-if=\"extractionMethodLoaderFlags.retrieval_search\" onto-loader-fancy size=\"16\"></span> <select class=\"form-control\" id=\"retrievalConnectorInstance\" name=\"retrievalConnectorInstance\" ng-required=\"extractionMethod.selected\" ng-if=\"!extractionMethodLoaderFlags.retrieval_search\" ng-model=\"extractionMethod.retrievalConnectorInstance\" ng-options=\"retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors\"> </select> <div class=\"alert alert-danger\" ng-if=\"extractionMethod.retrievalConnectorInstance.\\$touched && extractionMethod.retrievalConnectorInstance.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group query-template\"> <label for=\"queryTemplate\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.query_template.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.query_template.label' | translate}}</label> <textarea type=\"text\" class=\"form-control\" id=\"queryTemplate\" name=\"queryTemplate\" rows=\"10\" ng-required=\"extractionMethod.selected\" ng-minlength=\"extractionMethod.queryTemplate.minLength\" ng-maxlength=\"extractionMethod.queryTemplate.maxLength\" ng-model=\"extractionMethod.queryTemplate.value\">\n </textarea> <div class=\"alert alert-danger\" ng-if=\"extractionMethod.name.\\$touched && extractionMethod.name.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group retrieval-connector-max-triples\"> <label for=\"{{extractionMethods.RETRIEVAL + '_maxNumberOfTriplesPerCall'}}\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label' | translate}}</label> <input type=\"number\" class=\"form-control\" id=\"{{extractionMethods.RETRIEVAL + '_maxNumberOfTriplesPerCall'}}\" name=\"maxNumberOfTriplesPerCall\" min=\"0\" ng-model=\"extractionMethod.maxNumberOfTriplesPerCall\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder' | translate}}\"> </div> </div> </div> </div> </div> </div> <div class=\"alert alert-danger extraction-method-required-error\" ng-if=\"agentSettingsForm.extractionMethods.\\$touched && agentSettingsForm.extractionMethods.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.extraction_method.required' | translate}} </div> </div> <div id=\"additionalExtractionMethods\" class=\"form-group additional-extraction-methods\"> <label uib-popover=\"{{'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.additional_query_methods.label' | translate}} </label> <div ng-repeat=\"extractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods\" class=\"additional-extraction-method\"> <div ng-if=\"ExtractionMethodTemplates[extractionMethod.method]\"> <div ng-include=\"'js/angular/ttyg/templates/' + ExtractionMethodTemplates[extractionMethod.method] + '.html'\"></div> </div> </div> </div> <div class=\"form-group user-instructions\"> <div class=\"toolbar\"> <label for=\"userInstruction\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.user_instruction.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.user_instruction.label' | translate}}</label> <div class=\"actions\"> <copy-to-clipboard tooltip-text=\"ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip\" text-to-copy=\"{{agentFormModel.instructions.userInstruction}}\"></copy-to-clipboard> <button class=\"btn btn-link btn-sm create-chat-btn\" ng-click=\"onRestoreDefaultUserInstructions()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip' | translate}}\"> <i class=\"fa fa-arrow-rotate-left\"></i> </button> </div> </div> <textarea type=\"text\" class=\"form-control\" id=\"userInstruction\" name=\"userInstruction\" rows=\"5\" guide-selector=\"user-instructions\" ng-model=\"agentFormModel.instructions.userInstruction\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.user_instruction.placeholder' | translate}}\">\n </textarea> </div> <div class=\"text-xs-center\"> <button type=\"button\" ng-click=\"showAdvancedSettings = !showAdvancedSettings\" class=\"btn btn-link btn-sm toggle-advanced-settings\"> <span ng-hide=\"showAdvancedSettings\">{{'ttyg.agent.create_agent_modal.advanced_settings.show' | translate}}<em class=\"icon-caret-down\"></em></span> <span ng-show=\"showAdvancedSettings\">{{'ttyg.agent.create_agent_modal.advanced_settings.hide' | translate}}<em class=\"icon-caret-up\"></em></span> </button> </div> <div ng-show=\"showAdvancedSettings\" class=\"advanced-settings\"> <div class=\"form-group system-instructions\"> <div class=\"toolbar\"> <label for=\"systemInstruction\"> <span uib-popover=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.system_instruction.label' | translate}}</span> <i class=\"fa fa-triangle-exclamation text-warning overriding-system-instructions-warning\" ng-if=\"showSystemInstructionWarning\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body' | translate}}\" popover-trigger=\"mouseenter\"></i> </label> <div class=\"actions\"> <copy-to-clipboard tooltip-text=\"ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip\" text-to-copy=\"{{agentFormModel.instructions.systemInstruction}}\"></copy-to-clipboard> <button class=\"btn btn-link btn-sm create-chat-btn\" ng-click=\"onRestoreDefaultSystemInstructions()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip' | translate}}\"> <i class=\"fa fa-arrow-rotate-left\"></i> </button> </div> </div> <textarea type=\"text\" class=\"form-control\" id=\"systemInstruction\" name=\"systemInstruction\" rows=\"5\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.placeholder' | translate}}\" ng-class=\"{'has-warning': showSystemInstructionWarning}\" ng-model=\"agentFormModel.instructions.systemInstruction\" ng-change=\"onSystemInstructionChange()\">\n </textarea> </div> </div> </form> </div> <div class=\"modal-footer\"> <button type=\"button\" ng-click=\"onExplainAgentSettings()\" class=\"btn explain-agent-settings-btn\"> {{'ttyg.agent.create_agent_modal.btn.explain_settings.label' | translate}} </button> <div> <button type=\"button\" ng-click=\"cancel()\" class=\"btn cancel-btn\"> {{'ttyg.agent.create_agent_modal.btn.cancel.label' | translate}} </button> <button type=\"button\" ng-click=\"ok()\" ng-disabled=\"agentSettingsForm.\\$invalid || savingAgent\" guide-selector=\"save-agent-settings\" class=\"btn btn-primary save-agent-settings-btn\"> <span>{{(operation === AGENT_OPERATION.EDIT ? 'ttyg.agent.create_agent_modal.btn.save.label' : operation === AGENT_OPERATION.CLONE ? 'ttyg.agent.create_agent_modal.btn.save.label' : 'ttyg.agent.create_agent_modal.btn.create.label') | translate}}</span> <span class=\"saving-agent-loader\" ng-if=\"savingAgent\" onto-loader-fancy hide-message=\"true\" size=\"15\"></span> </button> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=86142;export const __webpack_ids__=[86142];export const __webpack_modules__={86142:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"select-ttyg-agent",getSteps:(e,t)=>{const n=t.GuideUtils;return e.mainAction="select-ttyg-agent",[{guideBlockName:"info-message",options:angular.extend({},{content:"guide.step_plugin.select-ttyg-agent.info.content",url:"/ttyg",class:"select-ttyg-agent-guide-dialog",skipPoint:!0,disablePreviousFlow:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.select-ttyg-agent.open-agent-dropdown",class:"open-agent-dropdown-guide-dialog",url:"/ttyg",elementSelector:n.getGuideElementSelector("select-agent-dropdown"),disableNextFlow:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.select-ttyg-agent.select-agent",elementSelector:n.getGuideElementSelector("select-agent-panel"),class:"select-your-agent-guide-dialog",show:()=>()=>{const t=document.querySelector(n.getGuideElementSelector("select-agent-dropdown")),o=document.querySelector(n.getGuideElementSelector("select-agent-dropdown-toggle"));e.observer=new MutationObserver(function(e){for(const t of e)"attributes"===t.type&&(t.target.classList.contains("open")||o.click())}),e.observer.observe(t,{attributes:!0})},disablePreviousFlow:!0,disableNextFlow:!0,hide:()=>()=>{e.observer.disconnect()}},e)},{guideBlockName:"info-message",options:angular.extend({},{beforeShowPromise:(e,t)=>n.getOrWaitFor(n.getElementSelector(".confirm-dialog .cancel-btn"),1).then(()=>{setTimeout(()=>e.next())}).catch(()=>{const n=t.id;setTimeout(()=>e.show(n+2))}),disablePreviousFlow:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.select-ttyg-agent.missing-repository",elementSelector:n.getElementSelector(".confirm-dialog .cancel-btn"),showOn:()=>n.isVisible(".confirm-dialog .cancel-btn"),onNextClick:()=>{n.clickOnElement(".confirm-dialog .cancel-btn")()},show:(e,t)=>()=>{const n=t.id;$(t.elementSelector).on("click",()=>{e.show(n-3)})},hide:(e,t)=>()=>{$(t.elementSelector).off("click")}},e)}]}}])}};
2
- //# sourceMappingURL=86142.ed366f6953d750eb99b8.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"86142.ed366f6953d750eb99b8.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,oBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAG5B,OAFAF,EAAQG,WAAa,oBAEd,CACH,CACIL,eAAgB,eAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,mDACTC,IAAK,QACLC,MAAO,iCACPC,WAAW,EACXC,qBAAqB,GACtBV,IAEP,CACIF,eAAgB,oBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,0DACTE,MAAO,mCACPD,IAAK,QACLI,gBAAiBT,EAAWU,wBAAwB,yBACpDC,iBAAiB,GAClBb,IAEP,CACIF,eAAgB,oBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,mDACTK,gBAAiBT,EAAWU,wBAAwB,sBACpDJ,MAAO,iCACPM,KAAMA,IAAM,KACR,MAAMC,EAAmBC,SAASC,cAAcf,EAAWU,wBAAwB,0BAC7EM,EAAwBF,SAASC,cAAcf,EAAWU,wBAAwB,iCAExFZ,EAAQmB,SAAW,IAAIC,iBAGvB,SAAkCC,GAC9B,IAAK,MAAMC,KAAYD,EACG,eAAlBC,EAASC,OACQD,EAASE,OAAOC,UAAUC,SAAS,SAKhDR,EAAsBS,QAItC,GAdA3B,EAAQmB,SAASS,QAAQb,EAAkB,CAACc,YAAY,KAgB5DnB,qBAAqB,EACrBG,iBAAiB,EACjBiB,KAAMA,IAAM,KACR9B,EAAQmB,SAASY,eAEtB/B,IAEP,CAEIF,eAAgB,eAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxB2B,kBAAmBA,CAACC,EAAOC,IAChBhC,EAAWiC,aAAajC,EAAWkC,mBAAmB,+BAAgC,GACxFC,KAAK,KAEFC,WAAW,IAAML,EAAMM,UAE1BC,MAAM,KACH,MAAMC,EAASP,EAAYQ,GAE3BJ,WAAW,IAAML,EAAMnB,KAAK2B,EAAS,MAGjD/B,qBAAqB,GACtBV,IAEP,CACIF,eAAgB,oBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,yDACTK,gBAAiBT,EAAWkC,mBAAmB,+BAC/CO,OAAQA,IAAMzC,EAAW0C,UAAU,+BACnCC,YAAaA,KAET3C,EAAW4C,eAAe,8BAA1B5C,IAEJY,KAAMA,CAACmB,EAAOC,IAAgB,KAC1B,MAAMa,EAAgBb,EAAYQ,GAElCM,EAAEd,EAAYvB,iBAAiBsC,GAAG,QAAS,KACvChB,EAAMnB,KAAKiC,EAAgB,MAGnCjB,KAAMA,CAACG,EAAOC,IAAgB,KAE1Bc,EAAEd,EAAYvB,iBAAiBuC,IAAI,WAExClD,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/select-ttyg-agent/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'select-ttyg-agent',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'select-ttyg-agent';\n\n return [\n {\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n content: 'guide.step_plugin.select-ttyg-agent.info.content',\n url: '/ttyg',\n class: 'select-ttyg-agent-guide-dialog',\n skipPoint: true,\n disablePreviousFlow: true,\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.select-ttyg-agent.open-agent-dropdown',\n class: 'open-agent-dropdown-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('select-agent-dropdown'),\n disableNextFlow: true\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.select-ttyg-agent.select-agent',\n elementSelector: GuideUtils.getGuideElementSelector('select-agent-panel'),\n class: 'select-your-agent-guide-dialog',\n show: () => () => {\n const elementToObserve = document.querySelector(GuideUtils.getGuideElementSelector('select-agent-dropdown'));\n const dropdownToggleElement = document.querySelector(GuideUtils.getGuideElementSelector('select-agent-dropdown-toggle'));\n\n options.observer = new MutationObserver(attributesChangeCallback);\n options.observer.observe(elementToObserve, {attributes: true});\n\n function attributesChangeCallback(mutationList) {\n for (const mutation of mutationList) {\n if (mutation.type === 'attributes') {\n const isOpened = mutation.target.classList.contains('open');\n\n // The component we use for selecting the agent automatically closes\n // after the user clicks on the view, which is why we have to open it.\n if (!(isOpened)) {\n dropdownToggleElement.click();\n }\n }\n }\n }\n },\n disablePreviousFlow: true,\n disableNextFlow: true,\n hide: () => () => {\n options.observer.disconnect();\n }\n }, options)\n },\n {\n // If missing repository modal is visible go to next step, otherwise skip it\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n beforeShowPromise: (guide, currentStep) => {\n return GuideUtils.getOrWaitFor(GuideUtils.getElementSelector('.confirm-dialog .cancel-btn'), 1)\n .then(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n })\n .catch(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId + 2))\n })\n },\n disablePreviousFlow: true\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.select-ttyg-agent.missing-repository',\n elementSelector: GuideUtils.getElementSelector('.confirm-dialog .cancel-btn'),\n showOn: () => GuideUtils.isVisible('.confirm-dialog .cancel-btn'),\n onNextClick: () => {\n // Close the modal by clicking on cancel button\n GuideUtils.clickOnElement('.confirm-dialog .cancel-btn')();\n },\n show: (guide, currentStep) => () => {\n const currentStepId = currentStep.id;\n // Add \"click\" listener to the element. Upon clicking the element the guide is set back 3 steps to open dropdown step\n $(currentStep.elementSelector).on('click', () => {\n guide.show(currentStepId - 3)\n });\n },\n hide: (guide, currentStep) => () => {\n // Remove the \"click\" listener of element. It is important when step is hidden.\n $(currentStep.elementSelector).off('click');\n }\n }, options)\n },\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","angular","extend","content","url","class","skipPoint","disablePreviousFlow","elementSelector","getGuideElementSelector","disableNextFlow","show","elementToObserve","document","querySelector","dropdownToggleElement","observer","MutationObserver","mutationList","mutation","type","target","classList","contains","click","observe","attributes","hide","disconnect","beforeShowPromise","guide","currentStep","getOrWaitFor","getElementSelector","then","setTimeout","next","catch","stepId","id","showOn","isVisible","onNextClick","clickOnElement","currentStepId","$","on","off"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- export const __webpack_id__=86639;export const __webpack_ids__=[86639];export const __webpack_modules__={86639:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"create-similarity-index",getSteps:(e,i)=>{const t=i.GuideUtils;return e.mainAction="create-similarity-index",[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"similarity",showIntro:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create-similarity-index.create-similarity-index",class:"similarity-index-guide-dialog",url:"/similarity",elementSelector:t.getGuideElementSelector("create-similarity-index"),onNextClick:()=>{}},e)},{guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.create-similarity-index.input-index-name",class:"similarity-index-name-input-guide-dialog",url:"/similarity/index/create",elementSelector:t.getGuideElementSelector("similarity-index-name"),onNextValidate:()=>Promise.resolve(t.validateTextInputNotEmpty(t.getGuideElementSelector("similarity-index-name")))},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create-similarity-index.create-index",class:"create-similarity-index-guide-dialog",url:"/similarity/index/create",elementSelector:t.getGuideElementSelector("create-similarity-index-btn"),onNextClick:()=>{}},e)},{guideBlockName:"info-message",options:angular.extend({},{beforeShowPromise:(e,i)=>t.getOrWaitFor(t.getGuideElementSelector("error"),1).then(()=>{const t=i.id;setTimeout(()=>e.show(t-2))}).catch(()=>{setTimeout(()=>e.next())})},e)},{guideBlockName:"hold-and-wait-until-shown",options:angular.extend({},{content:"guide.step_plugin.create-similarity-index.wait",class:"wait-for-index-guide-dialog",elementSelectorToWait:t.getGuideElementSelector("similarity-indexes-table")},e)}]}}])}};
2
- //# sourceMappingURL=86639.6cf8f34680ceacc7298d.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"86639.6cf8f34680ceacc7298d.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,0BAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAG5B,OAFAF,EAAQG,WAAa,0BAEd,CACH,CACIL,eAAgB,kBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,KAAM,aACNC,WAAW,GACZP,IACJ,CACCF,eAAgB,oBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,oEACTC,MAAO,gCACPC,IAAK,cACLC,gBAAiBT,EAAWU,wBAAwB,2BACpDC,YAAaA,QAEdb,IACJ,CACCF,eAAgB,gBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,6DACTC,MAAO,2CACPC,IAAK,2BACLC,gBAAiBT,EAAWU,wBAAwB,yBACpDE,eAAgBA,IAAMC,QAAQC,QAAQd,EAAWe,0BAA0Bf,EAAWU,wBAAwB,4BAC/GZ,IACJ,CACCF,eAAgB,oBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,yDACTC,MAAO,uCACPC,IAAK,2BACLC,gBAAiBT,EAAWU,wBAAwB,+BACpDC,YAAaA,QAEdb,IACJ,CAECF,eAAgB,eAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBa,kBAAmBA,CAACC,EAAOC,IAAgBlB,EAAWmB,aAAanB,EAAWU,wBAAwB,SAAU,GAC3GU,KAAK,KACF,MAAMC,EAASH,EAAYI,GAE3BC,WAAW,IAAMN,EAAMO,KAAKH,EAAS,MAExCI,MAAM,KAEHF,WAAW,IAAMN,EAAMS,WAEhC5B,IAEP,CACIF,eAAgB,4BAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,iDACTC,MAAO,8BACPoB,sBAAuB3B,EAAWU,wBAAwB,6BAC3DZ,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/create-similarity-index/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'create-similarity-index',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'create-similarity-index';\n\n return [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'similarity',\n showIntro: true\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create-similarity-index.create-similarity-index',\n class: 'similarity-index-guide-dialog',\n url: '/similarity',\n elementSelector: GuideUtils.getGuideElementSelector('create-similarity-index'),\n onNextClick: () => {\n }\n }, options)\n }, {\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create-similarity-index.input-index-name',\n class: 'similarity-index-name-input-guide-dialog',\n url: '/similarity/index/create',\n elementSelector: GuideUtils.getGuideElementSelector('similarity-index-name'),\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInputNotEmpty(GuideUtils.getGuideElementSelector('similarity-index-name')))\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create-similarity-index.create-index',\n class: 'create-similarity-index-guide-dialog',\n url: '/similarity/index/create',\n elementSelector: GuideUtils.getGuideElementSelector('create-similarity-index-btn'),\n onNextClick: () => {\n }\n }, options)\n }, {\n // check if error block is shown and go back 2 steps or proceed\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n beforeShowPromise: (guide, currentStep) => GuideUtils.getOrWaitFor(GuideUtils.getGuideElementSelector('error'), 1)\n .then(() => {\n const stepId = currentStep.id;\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.show(stepId - 2))\n })\n .catch(() => {\n // Using a timeout because the library executes logic to show the step in a then clause which causes current and next steps to show\n setTimeout(() => guide.next())\n }),\n }, options)\n },\n {\n guideBlockName: 'hold-and-wait-until-shown',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create-similarity-index.wait',\n class: 'wait-for-index-guide-dialog',\n elementSelectorToWait: GuideUtils.getGuideElementSelector('similarity-indexes-table'),\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","angular","extend","menu","showIntro","content","class","url","elementSelector","getGuideElementSelector","onNextClick","onNextValidate","Promise","resolve","validateTextInputNotEmpty","beforeShowPromise","guide","currentStep","getOrWaitFor","then","stepId","id","setTimeout","show","catch","next","elementSelectorToWait"],"sourceRoot":""}