graphdb-workbench 3.1.0-TR11 → 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 (276) hide show
  1. package/dist/{12396.0e82ea391201a21331b7.bundle.js → 12396.a4cb05c47cf17cbfd891.bundle.js} +2 -2
  2. package/dist/{12396.0e82ea391201a21331b7.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.48081afce23c62f128e9.bundle.js → 15535.aa936791f2b5dd74f7ee.bundle.js} +2 -2
  8. package/dist/{15535.48081afce23c62f128e9.bundle.js.map → 15535.aa936791f2b5dd74f7ee.bundle.js.map} +1 -1
  9. package/dist/{16162.df8405c22910f90c37ad.bundle.js → 16162.dca58b88b4d145a7fcf7.bundle.js} +2 -2
  10. package/dist/{16162.df8405c22910f90c37ad.bundle.js.map → 16162.dca58b88b4d145a7fcf7.bundle.js.map} +1 -1
  11. package/dist/{20287.1da2ac80bac0f2a8672c.bundle.js → 20287.22c94209c4a5b0aa569b.bundle.js} +2 -2
  12. package/dist/{20287.1da2ac80bac0f2a8672c.bundle.js.map → 20287.22c94209c4a5b0aa569b.bundle.js.map} +1 -1
  13. package/dist/{21136.4ab3afcde1292d1f06bd.bundle.js → 21136.b0b60f89d0aecc146390.bundle.js} +2 -2
  14. package/dist/{21136.4ab3afcde1292d1f06bd.bundle.js.map → 21136.b0b60f89d0aecc146390.bundle.js.map} +1 -1
  15. package/dist/{21142.aaa6ddd23c1aa3fb59f3.bundle.js → 21142.c1026a9490be83c3be64.bundle.js} +2 -2
  16. package/dist/{21142.aaa6ddd23c1aa3fb59f3.bundle.js.map → 21142.c1026a9490be83c3be64.bundle.js.map} +1 -1
  17. package/dist/{21170.f3fa40f23586f6ee4efc.bundle.js → 21170.4f1089c6ecb858d32307.bundle.js} +2 -2
  18. package/dist/{21170.f3fa40f23586f6ee4efc.bundle.js.map → 21170.4f1089c6ecb858d32307.bundle.js.map} +1 -1
  19. package/dist/{21195.5354c27d13a1f201dd19.bundle.js → 21195.4025ee868703a7826ae6.bundle.js} +2 -2
  20. package/dist/{21195.5354c27d13a1f201dd19.bundle.js.map → 21195.4025ee868703a7826ae6.bundle.js.map} +1 -1
  21. package/dist/23283.cc3b7fb640bcd9a0f7d2.bundle.js +2 -0
  22. package/dist/23283.cc3b7fb640bcd9a0f7d2.bundle.js.map +1 -0
  23. package/dist/24785.ff0689efffa1540e2904.bundle.js +2 -0
  24. package/dist/24785.ff0689efffa1540e2904.bundle.js.map +1 -0
  25. package/dist/25090.a073fc84568f38c40d67.bundle.js +2 -0
  26. package/dist/25090.a073fc84568f38c40d67.bundle.js.map +1 -0
  27. package/dist/{25747.d6f1641bf4600fe2570e.bundle.js → 25747.d8d9c4a6472dddad834f.bundle.js} +2 -2
  28. package/dist/{25747.d6f1641bf4600fe2570e.bundle.js.map → 25747.d8d9c4a6472dddad834f.bundle.js.map} +1 -1
  29. package/dist/{27580.53ac898e74f0bcc1ea5b.bundle.js → 27580.af47ce7d030e916c7a4e.bundle.js} +2 -2
  30. package/dist/{27580.53ac898e74f0bcc1ea5b.bundle.js.map → 27580.af47ce7d030e916c7a4e.bundle.js.map} +1 -1
  31. package/dist/28319.60fe63ffc79f8ba2cb23.bundle.js +2 -0
  32. package/dist/28319.60fe63ffc79f8ba2cb23.bundle.js.map +1 -0
  33. package/dist/{31636.be790098c5979344c509.bundle.js → 31636.fbeed6706183663eeee2.bundle.js} +2 -2
  34. package/dist/{31636.be790098c5979344c509.bundle.js.map → 31636.fbeed6706183663eeee2.bundle.js.map} +1 -1
  35. package/dist/{32489.a540e39f30922c1c5341.bundle.js → 32489.fafc19e8e0eb964a3ec5.bundle.js} +2 -2
  36. package/dist/{32489.a540e39f30922c1c5341.bundle.js.map → 32489.fafc19e8e0eb964a3ec5.bundle.js.map} +1 -1
  37. package/dist/34330.298b3fb714ce7fc0bda1.bundle.js +2 -0
  38. package/dist/34330.298b3fb714ce7fc0bda1.bundle.js.map +1 -0
  39. package/dist/{34495.e36ea443ec8352b615e6.bundle.js → 34495.bcc635daf309f60ba23b.bundle.js} +2 -2
  40. package/dist/{34495.e36ea443ec8352b615e6.bundle.js.map → 34495.bcc635daf309f60ba23b.bundle.js.map} +1 -1
  41. package/dist/36665.eda6cfdf545f2608a6c7.bundle.js +2 -0
  42. package/dist/36665.eda6cfdf545f2608a6c7.bundle.js.map +1 -0
  43. package/dist/36737.9d37e743918e6d45c10b.bundle.js +2 -0
  44. package/dist/36737.9d37e743918e6d45c10b.bundle.js.map +1 -0
  45. package/dist/{38360.f109d6e1129e9f58f7e4.bundle.js → 38360.55d84891b7ad65b37108.bundle.js} +2 -2
  46. package/dist/{38360.f109d6e1129e9f58f7e4.bundle.js.map → 38360.55d84891b7ad65b37108.bundle.js.map} +1 -1
  47. package/dist/{38644.8ad2f682465c65e84a9e.bundle.js → 38644.62bda02822616b30f0c7.bundle.js} +2 -2
  48. package/dist/{38644.8ad2f682465c65e84a9e.bundle.js.map → 38644.62bda02822616b30f0c7.bundle.js.map} +1 -1
  49. package/dist/{38843.a59a07e73a42cfb5e52d.bundle.js → 38843.28a56aadf139c5f83a07.bundle.js} +2 -2
  50. package/dist/{38843.a59a07e73a42cfb5e52d.bundle.js.map → 38843.28a56aadf139c5f83a07.bundle.js.map} +1 -1
  51. package/dist/39448.10bcf72a104ce8276328.bundle.js +2 -0
  52. package/dist/39448.10bcf72a104ce8276328.bundle.js.map +1 -0
  53. package/dist/{39518.77133465be137d37352f.bundle.js → 39518.24cdd6c870b5b026f43b.bundle.js} +2 -2
  54. package/dist/{39518.77133465be137d37352f.bundle.js.map → 39518.24cdd6c870b5b026f43b.bundle.js.map} +1 -1
  55. package/dist/{39539.60c0d00449eb3988203c.bundle.js → 39539.cb091b6ad5074999b72d.bundle.js} +2 -2
  56. package/dist/{39539.60c0d00449eb3988203c.bundle.js.map → 39539.cb091b6ad5074999b72d.bundle.js.map} +1 -1
  57. package/dist/{39874.6ca23ead080b52dc1bc6.bundle.js → 39874.ff510b958fcdbda4db58.bundle.js} +2 -2
  58. package/dist/39874.ff510b958fcdbda4db58.bundle.js.map +1 -0
  59. package/dist/4125.fd7946ca01aa51acba15.bundle.js +2 -0
  60. package/dist/4125.fd7946ca01aa51acba15.bundle.js.map +1 -0
  61. package/dist/{41453.9d5109ca609b8a870e5f.bundle.js → 41453.b696ac82dcadda585f04.bundle.js} +2 -2
  62. package/dist/{41453.9d5109ca609b8a870e5f.bundle.js.map → 41453.b696ac82dcadda585f04.bundle.js.map} +1 -1
  63. package/dist/{41621.d1b7d799116c07df17d1.bundle.js → 41621.68c5ebc2104a62e2b41d.bundle.js} +2 -2
  64. package/dist/41621.68c5ebc2104a62e2b41d.bundle.js.map +1 -0
  65. package/dist/{42129.42e556d7bd6885bba119.bundle.js → 42129.f9f2bafc4520aad7f942.bundle.js} +2 -2
  66. package/dist/{42129.42e556d7bd6885bba119.bundle.js.map → 42129.f9f2bafc4520aad7f942.bundle.js.map} +1 -1
  67. package/dist/42143.1483a9470e09485cc4e4.bundle.js +2 -0
  68. package/dist/42143.1483a9470e09485cc4e4.bundle.js.map +1 -0
  69. package/dist/{44444.834176d51f7ef0dab499.bundle.js → 44444.153ba656276a2f1bfdc3.bundle.js} +2 -2
  70. package/dist/{44444.834176d51f7ef0dab499.bundle.js.map → 44444.153ba656276a2f1bfdc3.bundle.js.map} +1 -1
  71. package/dist/{45843.49565fdfa9b426eeb208.bundle.js → 45843.2fb1782023f0992f82c1.bundle.js} +2 -2
  72. package/dist/{45843.49565fdfa9b426eeb208.bundle.js.map → 45843.2fb1782023f0992f82c1.bundle.js.map} +1 -1
  73. package/dist/51087.2e79fab6ad7c1282ee52.bundle.js +2 -0
  74. package/dist/51087.2e79fab6ad7c1282ee52.bundle.js.map +1 -0
  75. package/dist/51490.ca9c851e556c4c7940e5.bundle.js +2 -0
  76. package/dist/51490.ca9c851e556c4c7940e5.bundle.js.map +1 -0
  77. package/dist/{55862.bed529171c68ce972610.bundle.js → 55862.88796a9db69e193b8b83.bundle.js} +2 -2
  78. package/dist/{55862.bed529171c68ce972610.bundle.js.map → 55862.88796a9db69e193b8b83.bundle.js.map} +1 -1
  79. package/dist/57952.b096d19a802e06030ef0.bundle.js +2 -0
  80. package/dist/57952.b096d19a802e06030ef0.bundle.js.map +1 -0
  81. package/dist/{58306.67303bb681080a4df993.bundle.js → 58306.f76e839a5a73f4f4e23a.bundle.js} +2 -2
  82. package/dist/{58306.67303bb681080a4df993.bundle.js.map → 58306.f76e839a5a73f4f4e23a.bundle.js.map} +1 -1
  83. package/dist/{59718.f1ae3d1480c7179c57f0.bundle.js → 59718.dfd5982de2b39ccaa2ee.bundle.js} +2 -2
  84. package/dist/59718.dfd5982de2b39ccaa2ee.bundle.js.map +1 -0
  85. package/dist/67232.5a23ef1e641a2ca030c6.bundle.js +2 -0
  86. package/dist/67232.5a23ef1e641a2ca030c6.bundle.js.map +1 -0
  87. package/dist/{67888.7c67b21eb93e77d4bb70.bundle.js → 67888.1537da0fa115fd7a2f06.bundle.js} +2 -2
  88. package/dist/{67888.7c67b21eb93e77d4bb70.bundle.js.map → 67888.1537da0fa115fd7a2f06.bundle.js.map} +1 -1
  89. package/dist/68685.3ec66ceae3e494eba19b.bundle.js +2 -0
  90. package/dist/68685.3ec66ceae3e494eba19b.bundle.js.map +1 -0
  91. package/dist/{69112.817cf7b4d2911108c736.bundle.js → 69112.82e4d57df53e40b54050.bundle.js} +2 -2
  92. package/dist/69112.82e4d57df53e40b54050.bundle.js.map +1 -0
  93. package/dist/{70938.aee60e09777981a03d4c.bundle.js → 70938.fd6dd4e05b512128a074.bundle.js} +2 -2
  94. package/dist/{70938.aee60e09777981a03d4c.bundle.js.map → 70938.fd6dd4e05b512128a074.bundle.js.map} +1 -1
  95. package/dist/{72379.db460365f0917f4f179b.bundle.js → 72379.207930bac55b212354ae.bundle.js} +2 -2
  96. package/dist/{72379.db460365f0917f4f179b.bundle.js.map → 72379.207930bac55b212354ae.bundle.js.map} +1 -1
  97. package/dist/{73667.551fe5a23573c3b0af21.bundle.js → 73667.f42971a7477d6744c54c.bundle.js} +2 -2
  98. package/dist/{73667.551fe5a23573c3b0af21.bundle.js.map → 73667.f42971a7477d6744c54c.bundle.js.map} +1 -1
  99. package/dist/{73793.c064cab7716d96ea9713.bundle.js → 73793.adf7b10d53a8ee7fa07c.bundle.js} +2 -2
  100. package/dist/{73793.c064cab7716d96ea9713.bundle.js.map → 73793.adf7b10d53a8ee7fa07c.bundle.js.map} +1 -1
  101. package/dist/{73964.adb0a07a8c4dad17f592.bundle.js → 73964.fd1ad5e7aa228ad4cbbb.bundle.js} +2 -2
  102. package/dist/73964.fd1ad5e7aa228ad4cbbb.bundle.js.map +1 -0
  103. package/dist/74106.f94ca66e9fc021789d6a.bundle.js +2 -0
  104. package/dist/74106.f94ca66e9fc021789d6a.bundle.js.map +1 -0
  105. package/dist/{75282.5e1cc49318a8ae5f34cf.bundle.js → 75282.f097da30576bae97c906.bundle.js} +2 -2
  106. package/dist/{75282.5e1cc49318a8ae5f34cf.bundle.js.map → 75282.f097da30576bae97c906.bundle.js.map} +1 -1
  107. package/dist/{75849.33196fcbd48643974506.bundle.js → 75849.9c78b9889eccbaee7ae0.bundle.js} +2 -2
  108. package/dist/{75849.33196fcbd48643974506.bundle.js.map → 75849.9c78b9889eccbaee7ae0.bundle.js.map} +1 -1
  109. package/dist/{78250.9ea78ce55f322719b1d8.bundle.js → 78250.9f4b0c688bdb06967ed6.bundle.js} +2 -2
  110. package/dist/{78250.9ea78ce55f322719b1d8.bundle.js.map → 78250.9f4b0c688bdb06967ed6.bundle.js.map} +1 -1
  111. package/dist/79329.69815208f7a0b1678dc2.bundle.js +2 -0
  112. package/dist/79329.69815208f7a0b1678dc2.bundle.js.map +1 -0
  113. package/dist/{82926.93d02072a678a29fbd64.bundle.js → 82926.ce06c4bb3d76b9fe5fa9.bundle.js} +2 -2
  114. package/dist/{82926.93d02072a678a29fbd64.bundle.js.map → 82926.ce06c4bb3d76b9fe5fa9.bundle.js.map} +1 -1
  115. package/dist/86142.3f4acbd124c99af11e48.bundle.js +2 -0
  116. package/dist/86142.3f4acbd124c99af11e48.bundle.js.map +1 -0
  117. package/dist/86639.5584db5b403656b75ad4.bundle.js +2 -0
  118. package/dist/86639.5584db5b403656b75ad4.bundle.js.map +1 -0
  119. package/dist/89695.9a36bd7b51d76634b902.bundle.js +2 -0
  120. package/dist/89695.9a36bd7b51d76634b902.bundle.js.map +1 -0
  121. package/dist/{9062.c781c7dfbb1a5f907a71.bundle.js → 9062.91ba683ec5a6cb53c23f.bundle.js} +2 -2
  122. package/dist/{9062.c781c7dfbb1a5f907a71.bundle.js.map → 9062.91ba683ec5a6cb53c23f.bundle.js.map} +1 -1
  123. package/dist/94519.1b7b699d10f1278380c3.bundle.js +2 -0
  124. package/dist/94519.1b7b699d10f1278380c3.bundle.js.map +1 -0
  125. package/dist/95953.4ea6a7c68a22779ba299.bundle.js +2 -0
  126. package/dist/95953.4ea6a7c68a22779ba299.bundle.js.map +1 -0
  127. package/dist/96089.7e28823f34c450de1f7e.bundle.js +2 -0
  128. package/dist/96089.7e28823f34c450de1f7e.bundle.js.map +1 -0
  129. package/dist/98860.5ade579c8f05a0df416b.bundle.js +2 -0
  130. package/dist/98860.5ade579c8f05a0df416b.bundle.js.map +1 -0
  131. package/dist/{99448.d257ae9548057a204517.bundle.js → 99448.b2524aa8fdf2f3aee82a.bundle.js} +2 -2
  132. package/dist/{99448.d257ae9548057a204517.bundle.js.map → 99448.b2524aa8fdf2f3aee82a.bundle.js.map} +1 -1
  133. package/dist/api/ontotext-workbench-api.js +1 -1
  134. package/dist/api/ontotext-workbench-api.js.map +1 -1
  135. package/dist/css/ttyg/agent-settings-modal.css +1 -1
  136. package/dist/i18n/locale-en.json +9 -0
  137. package/dist/i18n/locale-fr.json +9 -0
  138. package/dist/index.html +8 -8
  139. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  140. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  141. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  142. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  143. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  144. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  145. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  146. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  147. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  148. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  149. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  150. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  151. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  152. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  153. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  154. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  155. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  156. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  157. package/dist/js/angular/security/templates/user.html +2 -2
  158. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  159. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  160. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  161. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  162. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  163. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  164. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +34 -5
  165. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  166. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  167. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  168. package/dist/{legacyWorkbench.f804eda735b6f1961ceb.js → legacyWorkbench.c5245455051fd0bab730.js} +3 -3
  169. package/dist/{legacyWorkbench.f804eda735b6f1961ceb.js.map → legacyWorkbench.c5245455051fd0bab730.js.map} +1 -1
  170. package/dist/{main.5a06ce3271fcd9cb93e7.js → main.fa0b99f721588e894d1d.js} +3 -3
  171. package/dist/{main.5a06ce3271fcd9cb93e7.js.map → main.fa0b99f721588e894d1d.js.map} +1 -1
  172. package/dist/pages/aclmanagement.html +2 -2
  173. package/dist/pages/autocomplete.html +1 -1
  174. package/dist/pages/choose-repository-type.html +1 -1
  175. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  176. package/dist/pages/create-index.html +1 -1
  177. package/dist/pages/dependencies.html +1 -1
  178. package/dist/pages/domainRangeInfo.html +2 -2
  179. package/dist/pages/edit.html +1 -1
  180. package/dist/pages/explore.html +1 -1
  181. package/dist/pages/export.html +1 -1
  182. package/dist/pages/find.html +1 -1
  183. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  184. package/dist/pages/graphs-visualizations.html +7 -7
  185. package/dist/pages/guides.html +1 -1
  186. package/dist/pages/import.html +2 -2
  187. package/dist/pages/jdbc-create.html +1 -1
  188. package/dist/pages/login.html +1 -1
  189. package/dist/pages/monitor/backup-and-restore.html +1 -1
  190. package/dist/pages/monitor/queries.html +1 -1
  191. package/dist/pages/monitor/resources.html +1 -1
  192. package/dist/pages/namespaces.html +2 -2
  193. package/dist/pages/plugins.html +1 -1
  194. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  195. package/dist/pages/rdfrank.html +2 -2
  196. package/dist/pages/repositories.html +1 -1
  197. package/dist/pages/repository.html +1 -1
  198. package/dist/pages/similarity-indexes.html +1 -1
  199. package/dist/pages/sparql-editor.html +1 -1
  200. package/dist/pages/sparql-template-create.html +1 -1
  201. package/dist/pages/ux-test1.html +2 -2
  202. package/dist/pages/webapi.html +2 -2
  203. package/dist/plugins.js +1 -1
  204. package/dist/res/swagger5/index.html +11 -11
  205. package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
  206. package/dist/shared-components/cjs/onto-layout.cjs.entry.js.map +1 -1
  207. package/dist/shared-components/cjs/onto-layout.entry.cjs.js.map +1 -1
  208. package/dist/shared-components/collection/components/onto-layout/onto-layout.js +1 -1
  209. package/dist/shared-components/collection/components/onto-layout/onto-layout.js.map +1 -1
  210. package/dist/shared-components/esm/onto-layout.entry.js +1 -1
  211. package/dist/shared-components/esm/onto-layout.entry.js.map +1 -1
  212. package/dist/shared-components/shared-components/onto-layout.entry.esm.js.map +1 -1
  213. package/dist/shared-components/shared-components/p-504c7e8e.entry.js +1 -0
  214. package/dist/shared-components/shared-components/p-504c7e8e.entry.js.map +1 -0
  215. package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
  216. package/package.json +1 -1
  217. package/dist/13486.58f89862c40c0f84cb09.bundle.js.map +0 -1
  218. package/dist/13813.a49f3fcf17ecd10c738e.bundle.js +0 -2
  219. package/dist/13813.a49f3fcf17ecd10c738e.bundle.js.map +0 -1
  220. package/dist/23283.a69ab10a85671d5323b4.bundle.js +0 -2
  221. package/dist/23283.a69ab10a85671d5323b4.bundle.js.map +0 -1
  222. package/dist/24785.07db24a70db7d20d268a.bundle.js +0 -2
  223. package/dist/24785.07db24a70db7d20d268a.bundle.js.map +0 -1
  224. package/dist/25090.8336e69433235ea3dfc6.bundle.js +0 -2
  225. package/dist/25090.8336e69433235ea3dfc6.bundle.js.map +0 -1
  226. package/dist/28319.54765ea398eaa88b7b54.bundle.js +0 -2
  227. package/dist/28319.54765ea398eaa88b7b54.bundle.js.map +0 -1
  228. package/dist/34330.a2a4211b14d118bd4c03.bundle.js +0 -2
  229. package/dist/34330.a2a4211b14d118bd4c03.bundle.js.map +0 -1
  230. package/dist/36665.8a0821c1742e6bd10e66.bundle.js +0 -2
  231. package/dist/36665.8a0821c1742e6bd10e66.bundle.js.map +0 -1
  232. package/dist/36737.0f3e0ff6942f79d49804.bundle.js +0 -2
  233. package/dist/36737.0f3e0ff6942f79d49804.bundle.js.map +0 -1
  234. package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js +0 -2
  235. package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js.map +0 -1
  236. package/dist/39874.6ca23ead080b52dc1bc6.bundle.js.map +0 -1
  237. package/dist/4125.28d3c85c122f270c9b2c.bundle.js +0 -2
  238. package/dist/4125.28d3c85c122f270c9b2c.bundle.js.map +0 -1
  239. package/dist/41621.d1b7d799116c07df17d1.bundle.js.map +0 -1
  240. package/dist/42143.87a6b0a089da7a2318dd.bundle.js +0 -2
  241. package/dist/42143.87a6b0a089da7a2318dd.bundle.js.map +0 -1
  242. package/dist/51087.8bc01b7861b40bc7082d.bundle.js +0 -2
  243. package/dist/51087.8bc01b7861b40bc7082d.bundle.js.map +0 -1
  244. package/dist/51490.358f66f8d298a6251e90.bundle.js +0 -2
  245. package/dist/51490.358f66f8d298a6251e90.bundle.js.map +0 -1
  246. package/dist/57952.afa9e0608388e5bae876.bundle.js +0 -2
  247. package/dist/57952.afa9e0608388e5bae876.bundle.js.map +0 -1
  248. package/dist/59718.f1ae3d1480c7179c57f0.bundle.js.map +0 -1
  249. package/dist/67232.ca7667a39c74efdb90e1.bundle.js +0 -2
  250. package/dist/67232.ca7667a39c74efdb90e1.bundle.js.map +0 -1
  251. package/dist/68685.314faeaa55a342568c0b.bundle.js +0 -2
  252. package/dist/68685.314faeaa55a342568c0b.bundle.js.map +0 -1
  253. package/dist/69112.817cf7b4d2911108c736.bundle.js.map +0 -1
  254. package/dist/73964.adb0a07a8c4dad17f592.bundle.js.map +0 -1
  255. package/dist/74106.82ee18377b0ae14c6a7f.bundle.js +0 -2
  256. package/dist/74106.82ee18377b0ae14c6a7f.bundle.js.map +0 -1
  257. package/dist/79329.a3a25c9508f4287f135c.bundle.js +0 -2
  258. package/dist/79329.a3a25c9508f4287f135c.bundle.js.map +0 -1
  259. package/dist/86142.ed366f6953d750eb99b8.bundle.js +0 -2
  260. package/dist/86142.ed366f6953d750eb99b8.bundle.js.map +0 -1
  261. package/dist/86639.6cf8f34680ceacc7298d.bundle.js +0 -2
  262. package/dist/86639.6cf8f34680ceacc7298d.bundle.js.map +0 -1
  263. package/dist/89695.2d49f93862aee2cf23af.bundle.js +0 -2
  264. package/dist/89695.2d49f93862aee2cf23af.bundle.js.map +0 -1
  265. package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js +0 -2
  266. package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js.map +0 -1
  267. package/dist/95953.1334544dd7e80f0da6cf.bundle.js +0 -2
  268. package/dist/95953.1334544dd7e80f0da6cf.bundle.js.map +0 -1
  269. package/dist/96089.15302200bfd9f685b009.bundle.js +0 -2
  270. package/dist/96089.15302200bfd9f685b009.bundle.js.map +0 -1
  271. package/dist/98860.30ea9a212cf6e622ec36.bundle.js +0 -2
  272. package/dist/98860.30ea9a212cf6e622ec36.bundle.js.map +0 -1
  273. package/dist/shared-components/shared-components/p-28a4ce8f.entry.js +0 -1
  274. package/dist/shared-components/shared-components/p-28a4ce8f.entry.js.map +0 -1
  275. /package/dist/{legacyWorkbench.f804eda735b6f1961ceb.js.LICENSE.txt → legacyWorkbench.c5245455051fd0bab730.js.LICENSE.txt} +0 -0
  276. /package/dist/{main.5a06ce3271fcd9cb93e7.js.LICENSE.txt → main.fa0b99f721588e894d1d.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"38644.8ad2f682465c65e84a9e.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"sourcesContent":["import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\nimport * as d3 from 'd3';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', 'var(--primary-color)')\n .constant('ONTO_GREEN', 'var(--tertiary-color)')\n .constant('ONTO_BLUE', 'var(--secondary-color)')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var force = d3.forceSimulation();\n\n var drag = d3.drag()\n .subject(function (d) {\n return d;\n })\n .on(\"start\", dragStart)\n .on(\"end\", dragEnd)\n .on(\"drag\", dragged);\n\n var defs = svg.append(\"defs\");\n generateMarkers(defs);\n\n function generateMarkers(defElement) {\n defs.append(\"marker\")\n .attrs({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n }\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=3.1.0-TR11\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource(\"#domain-range svg\");\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attrs({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n generateLegend();\n\n function generateLegend() {\n // start of code for legend\n\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attrs({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n }\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n const collapsed = $location.search().collapsed;\n\n getDomainRangeData(selectedRdfUri, collapsed);\n\n function getDomainRangeData(selectedRdfUri, collapsed) {\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n }\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = _.cloneDeep(scope.domainRangeGraphData);\n\n const nodes = graph.nodes;\n const links = graph.links;\n\n force.nodes(nodes)\n .force('x', d3.forceX(width / 2))\n .force('y', d3.forceY(height / 2))\n .force(\"charge\", d3.forceManyBody().strength(-800))\n .force(\"link\", d3.forceLink(links).distance(width / 3.5))\n\n var linkGroup = svg.selectAll(\".link\")\n .data(links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attrs({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attrs({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(event, d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (event) {\n event.stopPropagation();\n });\n\n\n var nodeGroup = svg.selectAll(\".node\")\n .data(nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attrs({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attrs({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attrs({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(event, d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n svg.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function () {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = svg.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * force.alpha();\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attrs({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attrs({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n force.on(\"tick\", tick)\n\n }\n });\n\n let isDragged = false;\n\n function dragStart(event, d) {\n force.stop();\n d.fx = event.x;\n d.fy = event.y;\n d3.select(this).classed(\"selected\", true);\n\n }\n\n // Update the subject (dragged node) position during drag.\n function dragged(event, d) {\n isDragged = true;\n\n force.alphaTarget(0).restart();\n d.fx = event.x;\n d.fy = event.y;\n }\n\n // Restore the target alpha so the simulation cools after dragging ends.\n // Unfix the subject position now that it’s no longer being dragged.\n function dragEnd(event, d) {\n d.fx = null;\n d.fy = null;\n d3.select(this).classed(\"selected\", false);\n if (isDragged) {\n force.alpha(0.2).restart();\n isDragged = false;\n } else {\n force.restart();\n }\n }\n\n }\n}\n"],"names":["domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","width","mainClassSize","otherClassSize","datatypeSize","labelFontSize","basicArrowStrokeWidth","svg","d3","append","attr","on","force","drag","subject","d","event","stop","fx","x","fy","y","this","classed","isDragged","alpha","restart","alphaTarget","defs","attrs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","cssRules","SVG","Export","getCSSRules","$","imgSrc","generateBase64ImageSource","href","download","getActiveRepository","legendBackgroundWidth","legendBackgroundHeight","legendCellGroup","height","style","sourceX","targetX","legendTextX","legendLabelFontSize","classNodeTextY","cx","cy","r","text","classNodeY","objectNodeTextY","datatypeNodeY","datatypeNodeTextY","basicPropertyArrowY","x1","y1","x2","y2","absUrl","implicitPropArrowY","collapsedPropArrowY","generateLegend","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","window","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","_","cloneDeep","nodes","links","strength","distance","linkGroup","selectAll","data","enter","styleArrowsInCollapsedMode","sel","loopLink","loopLinkEdgeCount","each","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","loopLinkSize","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","encodeURIComponent","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","node","filter","objectPropClassUri","classPosition","objectPropClassName","call","reloadDomainRangeGraphView","$apply","select","parentNode","D3","Text","calcFontSize","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","tick","e","k","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","Math","atan2","cos","sin","loopTranslateX","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","moveToFront","predicatesLeft","size","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","ActiveXObject","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"sourceRoot":""}
1
+ {"version":3,"file":"38644.62bda02822616b30f0c7.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphexplore/directives/domain-range-graph.directive.js"],"sourcesContent":["import SVG from 'lib/common/svg-export';\nimport D3 from 'lib/common/d3-utils';\nimport 'angular/utils/local-storage-adapter';\nimport * as d3 from 'd3';\n\nangular\n .module('graphdb.framework.graphexplore.directives.domainrange', [\n 'graphdb.framework.graphexplore.controllers.domainrange',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .constant('ONTO_RED', 'var(--primary-color)')\n .constant('ONTO_GREEN', 'var(--tertiary-color)')\n .constant('ONTO_BLUE', 'var(--secondary-color)')\n .constant('NON_COLLAPSED_REFLEXIVE_LINK_LIMIT', 6)\n .directive('domainRangeGraph', domainRangeGraphDirective);\n\ndomainRangeGraphDirective.$inject = ['$rootScope', '$window', '$repositories', 'GraphDataRestService', '$location', 'LocalStorageAdapter', 'LSKeys', '$timeout', 'toastr', 'ONTO_RED', 'ONTO_GREEN', 'ONTO_BLUE', 'NON_COLLAPSED_REFLEXIVE_LINK_LIMIT'];\n\nfunction domainRangeGraphDirective($rootScope, $window, $repositories, GraphDataRestService, $location, LocalStorageAdapter, LSKeys, $timeout, toastr, ONTO_RED, ONTO_GREEN, ONTO_BLUE, NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n return {\n restrict: 'AE',\n template: '<div id=\"domain-range\"></div>',\n scope: {\n showPredicatesInfoPanel: '=',\n selectedPredicate: '=',\n collapseEdges: '='\n },\n link: linkFunc\n };\n\n function linkFunc(scope) {\n const timer = $timeout(function () {\n renderDomainRangeGraph(scope);\n }, 50);\n\n scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }\n\n function renderDomainRangeGraph(scope) {\n var width = 1200,\n height = 600;\n\n var mainClassSize = width / 18,\n otherClassSize = width / 110,\n datatypeSize = otherClassSize / 2,\n labelFontSize = width / 90,\n basicArrowStrokeWidth = width / 1000,\n collapsedArrowStrokeWidth = width / 600;\n\n var svg = d3.select(\"#domain-range\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + width + \" \" + height)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\n .on(\"dblclick.zoom\", null);\n\n var force = d3.forceSimulation();\n\n var drag = d3.drag()\n .subject(function (d) {\n return d;\n })\n .on(\"start\", dragStart)\n .on(\"end\", dragEnd)\n .on(\"drag\", dragged);\n\n var defs = svg.append(\"defs\");\n generateMarkers(defs);\n\n function generateMarkers(defElement) {\n defs.append(\"marker\")\n .attrs({\n id: \"arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 10,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"collapsed-arrow\",\n viewBox: \"0 -5 10 10\",\n refX: 9,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 4,\n markerHeight: 4,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n\n defs.append(\"marker\")\n .attrs({\n id: \"arrow-loop\",\n viewBox: \"0 -5 10 10\",\n refX: 7,\n refY: 0,\n markerUnits: \"strokeWidth\",\n markerWidth: 5,\n markerHeight: 5,\n orient: \"auto\",\n fill: ONTO_BLUE\n })\n .append(\"path\")\n .attrs({\n d: \"M0,-5L10,0L0,5\",\n class: \"arrowHead\"\n });\n }\n\n /*\n * Prepares SVG document image export by adding xml namespaces and\n * additional style information\n */\n function prepareForSVGImageExport() {\n // get css rules for the diagram\n var cssRules = SVG.Export.getCSSRules(\"css/domain-range-graph.css?v=3.1.0-TR13\");\n\n // inline css rules in a defs tag\n $(\"defs\").append('<style type=\"text/css\"><![CDATA[' + cssRules + ']]></style>');\n\n // convert selected html to base64\n var imgSrc = SVG.Export.generateBase64ImageSource(\"#domain-range svg\");\n\n // set the binary image and a name for the downloadable file on the export button\n d3.select(this).attrs({\n href: imgSrc,\n download: \"domain-range-graph-\" + $repositories.getActiveRepository() + \".svg\"\n });\n }\n\n d3.select(\"#download-svg\")\n .on(\"mouseover\", prepareForSVGImageExport);\n\n generateLegend();\n\n function generateLegend() {\n // start of code for legend\n\n var legendBackgroundWidth = width / 7;\n var legendBackgroundHeight = legendBackgroundWidth * 1.2;\n\n var svgLegend = d3.select(\".legend-container\")\n .append(\"svg\")\n .attr(\"viewBox\", \"0 0 \" + legendBackgroundWidth + \" \" + legendBackgroundHeight)\n .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\n\n var legendCellGroup = svgLegend;\n\n legendCellGroup.append(\"rect\")\n .attrs({\n width: legendBackgroundWidth,\n height: legendBackgroundHeight\n })\n .style(\"fill\", \"rgba(235, 235, 235, 0.9)\");\n\n var sourceX = width / 75;\n var sourceY = width / 40;\n var targetX = sourceX + mainClassSize / 2.5;\n var targetY = sourceY;\n\n var legendTextX = targetX + width / 90;\n var legendLabelFontSize = labelFontSize / 1.1;\n\n var classNodeY = sourceY;\n var legendClassNode = legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-class-node\",\n cx: (sourceX + targetX) / 2,\n cy: classNodeY,\n r: mainClassSize / 4.5\n });\n\n var classNodeTextY = targetY + width / 370;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: classNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"main class node\");\n\n var objectNodeY = classNodeY + width / 30;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-object-node\",\n cx: (sourceX + targetX) / 2,\n cy: objectNodeY,\n r: otherClassSize / 1.25\n });\n\n var objectNodeTextY = classNodeTextY + width / 30;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: objectNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"class node\");\n\n var datatypeNodeY = objectNodeY + width / 45;\n legendCellGroup\n .append(\"circle\")\n .attrs({\n class: \"legend-datatype-node\",\n cx: (sourceX + targetX) / 2,\n cy: datatypeNodeY,\n r: datatypeSize\n });\n\n var datatypeNodeTextY = objectNodeTextY + width / 45;\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: datatypeNodeTextY\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"datatype node\");\n\n var basicPropertyArrowY = datatypeNodeY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"property-arrow\",\n x1: sourceX,\n y1: basicPropertyArrowY,\n x2: targetX,\n y2: basicPropertyArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: basicPropertyArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"explicit property\");\n\n var implicitPropArrowY = basicPropertyArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"implicit-property-arrow\",\n x1: sourceX,\n y1: implicitPropArrowY,\n x2: targetX,\n y2: implicitPropArrowY\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: implicitPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"implicit property\");\n\n var collapsedPropArrowY = implicitPropArrowY + width / 45;\n legendCellGroup\n .append(\"line\")\n .attrs({\n class: \"collapsed-property-arrow\",\n x1: sourceX,\n y1: collapsedPropArrowY,\n x2: targetX,\n y2: collapsedPropArrowY\n })\n .style(\"stroke-width\", collapsedArrowStrokeWidth)\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n\n legendCellGroup\n .append(\"text\")\n .attrs({\n x: legendTextX,\n y: collapsedPropArrowY + (width / 370)\n })\n .style('font-size', legendLabelFontSize + 'px')\n .text(\"collapsed property\");\n // end of code for legend\n }\n\n var selectedRdfUri = $location.search().uri;\n var classNodeLabel = $location.search().name;\n const collapsed = $location.search().collapsed;\n\n getDomainRangeData(selectedRdfUri, collapsed);\n\n function getDomainRangeData(selectedRdfUri, collapsed) {\n GraphDataRestService.getDomainRangeData(selectedRdfUri, collapsed)\n .success(function (response, status, headers) {\n scope.domainRangeGraphData = response;\n }).error(function (response) {\n toastr.error(\"Request for \" + classNodeLabel + \" failed!\");\n });\n }\n\n function switchEdgeMode(collapsed) {\n $rootScope.$broadcast('switchEdgeMode', {\n uri: selectedRdfUri,\n name: classNodeLabel,\n collapsed: collapsed\n });\n }\n\n // intercept back button press and set action to local storage\n $(window).on('popstate', function () {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_WENT_BACK, true);\n });\n\n $window.onpopstate = function (event) {\n if (event.state) {\n $rootScope.$broadcast(\"changeCollapsedEdgesState\", event.state.collapsed);\n }\n };\n\n scope.$watch('collapseEdges', function () {\n if (!angular.isUndefined(scope.collapseEdges)) {\n LocalStorageAdapter.set(LSKeys.DOMAIN_RANGE_COLLAPSE_EDGES, scope.collapseEdges);\n\n // if the back button has not been pressed, then switch to collapsed or non collapsed mode\n // otherwise skip, because back button will not function properly and will not pop the entire\n // history stack\n if (LocalStorageAdapter.get(LSKeys.DOMAIN_RANGE_WENT_BACK) !== \"true\") {\n switchEdgeMode(scope.collapseEdges);\n }\n\n // after back button status has been checked, remove the action from local storage in order\n // to be clean for next check\n LocalStorageAdapter.remove(LSKeys.DOMAIN_RANGE_WENT_BACK);\n }\n });\n\n scope.$watch('domainRangeGraphData', function () {\n if (scope.domainRangeGraphData) {\n var graph = _.cloneDeep(scope.domainRangeGraphData);\n\n const nodes = graph.nodes;\n const links = graph.links;\n\n force.nodes(nodes)\n .force('x', d3.forceX(width / 2))\n .force('y', d3.forceY(height / 2))\n .force(\"charge\", d3.forceManyBody().strength(-800))\n .force(\"link\", d3.forceLink(links).distance(width / 3.5))\n\n var linkGroup = svg.selectAll(\".link\")\n .data(links)\n .enter()\n .append(\"g\");\n\n function styleArrowsInCollapsedMode(sel) {\n sel.style(\"stroke\", ONTO_BLUE);\n sel.style(\"stroke-width\", collapsedArrowStrokeWidth);\n sel.attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#collapsed-arrow)\");\n }\n\n var link,\n loopLink,\n loopLinkEdgeCount = 0;\n\n\n linkGroup\n .each(function (d) {\n if (d.objectPropNodeClassUri !== selectedRdfUri) {\n link = linkGroup\n .append(\"line\")\n .attrs({\n class: \"link\",\n // absolute url needed because angular inserts a <base> tag\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth)\n .each(function (d) {\n switch (d.propertyType) {\n case \"objectLeft\":\n d.targetRadius = mainClassSize;\n break;\n case \"objectRight\":\n d.targetRadius = otherClassSize;\n break;\n case \"datatype\":\n d.targetRadius = datatypeSize;\n break;\n default:\n d.targetRadius = 0;\n }\n var sel = d3.select(this);\n if (d.targetNodeEdgeCount > 1) {\n styleArrowsInCollapsedMode(sel);\n } else if (d.implicit) {\n sel.style(\"stroke-dasharray\", \"3, 3\");\n }\n });\n } else {\n if (angular.isUndefined(loopLink)) {\n var loopLinkSize = mainClassSize / 2;\n loopLink = d3.select(this)\n .append(\"path\")\n .attrs({\n d: \"M 0 0 A \" + loopLinkSize + \" \" + loopLinkSize + \" 0 1 1 0 \" + loopLinkSize,\n class: \"loop-link\",\n fill: \"none\",\n \"marker-end\": \"url(\" + $location.absUrl() + \"#arrow-loop)\"\n })\n .style(\"stroke-width\", basicArrowStrokeWidth);\n }\n\n loopLinkEdgeCount += d.targetNodeEdgeCount;\n if (loopLinkEdgeCount > 1) {\n styleArrowsInCollapsedMode(d3.select(\".loop-link\"));\n }\n }\n });\n\n var previousPropertyNameSelection = {};\n\n function disableCollapsedPredicateLabelHightlighting() {\n if (!$.isEmptyObject(previousPropertyNameSelection)) {\n previousPropertyNameSelection.text.style(\"fill\", \"black\");\n previousPropertyNameSelection.background.style(\"fill\", \"#f0f0f0\");\n }\n }\n\n // when clicking anywhere else but the collapsed labels disable highlighting\n // of the currently selected one\n $(\"document\").ready(function () {\n $(\"#domain-range\").bind(\"click\", disableCollapsedPredicateLabelHightlighting);\n });\n\n function onCollapsedPropertyNameClick(event, d) {\n disableCollapsedPredicateLabelHightlighting();\n previousPropertyNameSelection.text = d3.select(this);\n\n previousPropertyNameSelection.background = d3.select(this.previousSibling);\n previousPropertyNameSelection.text.style(\"fill\", \"white\");\n\n previousPropertyNameSelection.background.style(\"fill\", ONTO_BLUE);\n $timeout(function () {\n scope.showPredicatesInfoPanel = true;\n scope.selectedPredicate = d;\n });\n event.stopPropagation();\n }\n\n\n var propertyNames = linkGroup\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri === selectedRdfUri ? \"loop-link-property-name\" : \"property-name\";\n })\n .attr(\"dx\", function (d) {\n // offset text more towards the main class\n return mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n })\n .style(\"text-anchor\", function (d) {\n return d.propertyType === \"objectLeft\" ? \"end\" : \"start\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.targetNodeEdgeCount > 1 ? d.targetNodeEdgeCount + \" predicates\" : d.name;\n });\n\n\n propertyNames\n .each(function (d) {\n var sel = d3.select(this);\n var isCompoundEdge = /\\d\\spredicates/.test(sel.text());\n\n // handle collapsed predicates by making their font bold, make them highlight when clicked\n // and make them trigger the side panel to display the collapsed edges\n if (isCompoundEdge) {\n sel\n .style(\"font-weight\", \"bold\")\n .on(\"click\", onCollapsedPropertyNameClick);\n } else {\n // for regular predicate labels just attach a link to the \"Resources\" view\n // for more helpful information regarding them\n sel.on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.uri), \"_blank\");\n });\n }\n });\n var textPadding = width / 600;\n\n\n var linkRect = linkGroup\n .append(\"rect\")\n .attr(\"class\", function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri ? \"link-background\" : \"loop-link-background\"\n })\n .attr(\"width\", function (d) {\n d.calculatedWidth = this.previousSibling.getBBox().width;\n return d.calculatedWidth + textPadding * 2;\n })\n .attr(\"height\", function (d) {\n d.calculatedHeight = this.previousSibling.getBBox().height;\n return d.calculatedHeight + textPadding;\n })\n .attr(\"transform\", function (d) {\n // offset rect by the same amount as text (besides the padding)\n var translateX = textPadding - mainClassSize / 2 * (d.propertyType === \"objectLeft\" ? 1 : -1);\n if (d.propertyType === \"objectLeft\") {\n translateX += d.calculatedWidth;\n }\n return \"translate(-\" + translateX + \",-\" + (textPadding + d.calculatedHeight / 2) + \")\";\n })\n .on(\"click\", function (event) {\n event.stopPropagation();\n });\n\n\n var nodeGroup = svg.selectAll(\".node\")\n .data(nodes)\n .enter()\n .append(\"g\");\n\n var node = nodeGroup\n .filter(function (d) {\n return d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"circle\")\n .each(function (d) {\n var sel = d3.select(this);\n if (d.classPosition === \"main\") {\n sel.attrs({\n class: \"class-node\",\n r: mainClassSize\n })\n .attr(\"marker-end\", \"url(\" + $location.absUrl() + \"#loop-link)\");\n } else if (d.objectPropClassName === null) {\n sel.attrs({\n class: \"datatype-node\",\n r: datatypeSize\n });\n } else {\n sel.attrs({\n class: \"object-prop-node\",\n r: otherClassSize\n });\n }\n })\n .call(drag);\n\n\n function reloadDomainRangeGraphView(event, d, collapsed) {\n scope.$apply(function () {\n $rootScope.$broadcast('reloadDomainRangeGraphView', d, collapsed);\n });\n }\n\n d3.selectAll(\".object-prop-node\")\n .on(\"dblclick\", reloadDomainRangeGraphView);\n\n\n nodeGroup\n .filter(function (d) {\n return d.objectPropClassName && d.objectPropClassUri !== selectedRdfUri;\n })\n .append(\"text\")\n .attr(\"class\", function (d) {\n return d.classPosition + \"-class-label\";\n })\n .style(\"font-size\", labelFontSize)\n .text(function (d) {\n return d.objectPropClassName;\n })\n .on(\"click\", function (event, d) {\n $window.open(\"resource?uri=\" + encodeURIComponent(d.objectPropClassUri), \"_blank\");\n });\n\n var objectPropClassName = nodeGroup.select(\"text\");\n\n svg.select(\".class-node\")\n .each(function () {\n d3.select(this.parentNode)\n .append(\"text\")\n .attr(\"class\", \"rdf-class-label\")\n .style(\"font-size\", function (d) {\n return D3.Text.calcFontSize(classNodeLabel, mainClassSize)\n })\n .text(classNodeLabel)\n .on(\"click\", function () {\n $window.open(\"resource?uri=\" + encodeURIComponent(selectedRdfUri), \"_blank\");\n });\n });\n\n\n var rdfClassName = svg.select(\".class-node + text\"),\n classNode = d3.select(\".class-node\"),\n loopLinkBackgroundSel = d3.selectAll(\".loop-link-background\"),\n loopLinkPropertyName = d3.selectAll(\".loop-link-property-name\");\n\n propertyNames = d3.selectAll(\".property-name\");\n\n if (!angular.isUndefined(loopLink)) {\n var loopLinkBackgroundProps = [];\n\n loopLinkBackgroundSel.each(function (d, i) {\n var sel = d3.select(this);\n loopLinkBackgroundProps.push({\n idx: i,\n width: d.calculatedWidth,\n height: d.calculatedHeight\n });\n });\n }\n\n function tick(e) {\n var k = 8 * force.alpha();\n\n function pushEdgesToLeftAndRight(d) {\n if (d.propertyType === \"objectLeft\") {\n d.source.x -= 8 * k;\n d.source.y -= k / 9;\n } else {\n d.target.x += 8 * k;\n d.target.y -= k / 9;\n }\n }\n\n link\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x1\", function (d) {\n return d.source.x;\n })\n .attr(\"y1\", function (d) {\n return d.source.y;\n })\n .attr(\"x2\", function (d) {\n return d.targetX;\n })\n .attr(\"y2\", function (d) {\n return d.targetY;\n })\n .each(function (d) {\n pushEdgesToLeftAndRight(d);\n\n // shortens the line to compensate for the circle at the target\n var angle = Math.atan2(d.target.y - d.source.y, d.target.x - d.source.x);\n d.targetX = d.target.x - Math.cos(angle) * d.targetRadius;\n d.targetY = d.target.y - Math.sin(angle) * d.targetRadius;\n });\n\n function positionLoopLink(d) {\n var loopTranslateX = d.x + mainClassSize * 0.96,\n loopTranslateY = d.y - mainClassSize / 5.7 - 5;\n loopLink.attr(\"transform\", \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopTranslateX + \",\" + loopTranslateY + \")\");\n }\n\n function positionLoopLinkLabels(d) {\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n var currentBackgroundHeight = 0;\n if (i > 0) {\n currentBackgroundHeight = parseFloat(2 * i * (foundLoopLinkBackgroundProps[0].height / 1.4));\n }\n\n var loopLinkLabelX = d.x,\n loopLinkLabelY = d.y - mainClassSize * 2.1 - currentBackgroundHeight;\n\n sel\n .attrs({\n x: loopLinkLabelX,\n y: loopLinkLabelY\n })\n .moveToFront();\n }\n\n /**\n * Create a \"View more\" label to depict that the are more reflexive link labels\n * left that could be seen in the side panel when clicking this label.\n *\n * @param labelSel\n * d3 selection of the text label\n * @param backgroundSel\n * d3 selection of the rectangle element background\n * @param predicatesLeft\n * number of predicates left that are collapsed\n */\n function createViewMorePredicatesLabel(labelSel, backgroundSel, predicatesLeft) {\n labelSel\n .classed(\"view-more-preds-label\", true)\n .text(predicatesLeft + \" predicates more ...\");\n if (this.nextSibling !== null) {\n backgroundSel\n .classed(\"view-more-preds-rect\", true);\n }\n }\n\n loopLinkPropertyName.each(function (dd, i) {\n var sel = d3.select(this);\n\n var predicatesLeft = loopLinkPropertyName.size() - NON_COLLAPSED_REFLEXIVE_LINK_LIMIT;\n if (predicatesLeft < 0) {\n reposition(sel, i);\n } else {\n if (i == 0 && !scope.collapseEdges && predicatesLeft > 1) {\n createViewMorePredicatesLabel(sel, d3.select(this.nextSibling), predicatesLeft);\n reposition(sel, i);\n }\n\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(sel, i);\n } else {\n sel.remove();\n }\n }\n });\n // loopLinkPropertyName.each(function (dd, i) {\n // var sel = d3.select(this);\n // if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // reposition(sel, i);\n // } else if (i == NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n // createViewMorePredicatesLabel(sel, d3.select(this.nextSibling));\n // reposition(sel, i);\n // } else {\n // sel.remove();\n // }\n // });\n }\n\n function positionLoopLinkBackgrounds(d) {\n var loopLinkBackgroundY = d.x + mainClassSize * 2,\n loopLinkBackgroundX = d.y - mainClassSize / 1.9;\n\n function reposition(sel, i) {\n var foundLoopLinkBackgroundProps =\n $.grep(loopLinkBackgroundProps, function (obj) {\n return obj.idx == i;\n });\n if (i > 0) {\n loopLinkBackgroundY += parseFloat(i * (foundLoopLinkBackgroundProps[0].height / (i / 1.4)));\n }\n\n sel\n .attrs({\n transform: \"rotate(270, \" + d.x + \",\" + d.y + \") translate(\" + loopLinkBackgroundY + \",\" + loopLinkBackgroundX + \")\",\n width: foundLoopLinkBackgroundProps[0].height,\n height: foundLoopLinkBackgroundProps[0].width\n });\n }\n\n /**\n * Adjust new width of \"View more\" label background and add all reflexive link metadata the this\n * label in order to render them in the side panel.\n *\n * @param allLoopLinkEdges\n * all reflexive links to the current class\n */\n function adjustViewMorePredicatesLabel(allLoopLinkEdges) {\n var viewMoreTextWidth;\n d3.select(\".view-more-preds-label\")\n // make label bold to resemble a collapsed label\n .style(\"font-weight\", \"bold\")\n .each(function (d) {\n // attach all reflexive links to the \"view more\" collapsed predicate\n // because in non collapsed mode the backend does not provide them\n d.target.allEdges = allLoopLinkEdges;\n\n // calculate text width in pixels in order to adjust background width accordingly\n viewMoreTextWidth = this.getComputedTextLength();\n })\n .on(\"click\", onCollapsedPropertyNameClick);\n\n d3.select(\".view-more-preds-rect\")\n // we modify height property instead of width because they are reversed\n // when we repositioned loop link labels\n .attr(\"height\", viewMoreTextWidth + 2 * textPadding);\n }\n\n var allLoopLinkEdges = [];\n loopLinkBackgroundSel.each(function (dd, i) {\n allLoopLinkEdges.push(dd);\n if (i < NON_COLLAPSED_REFLEXIVE_LINK_LIMIT) {\n reposition(d3.select(this), i);\n } else {\n d3.select(this).remove();\n }\n });\n\n adjustViewMorePredicatesLabel(allLoopLinkEdges);\n }\n\n\n function centerClassNode(d) {\n if (!(window.ActiveXObject) && \"ActiveXObject\" in window) {\n Math.log10 = function (x) {\n return Math.log(x) / Math.LN10;\n };\n }\n var absDiff = classNode.attr(\"cx\") - width / 2,\n logOffset = Math.log10(Math.abs(absDiff)) * 0.5;\n d.x += absDiff > 0 ? -logOffset : logOffset;\n return d.x;\n }\n\n node\n .each(function (d) {\n if (d.classPosition === \"main\" && !angular.isUndefined(loopLink)) {\n positionLoopLink(d);\n positionLoopLinkLabels(d);\n positionLoopLinkBackgrounds(d);\n }\n\n if (d.objectPropClassUri !== selectedRdfUri) {\n d3.select(this)\n .attr(\"cx\", function (d) {\n // pushes the main class circle to the centre\n if (d.classPosition === \"main\") {\n return centerClassNode(d);\n }\n return d.x;\n })\n .attr(\"cy\", function (d) {\n return d.y;\n });\n }\n });\n\n\n rdfClassName\n .attr(\"x\", function (d) {\n return d.x;\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n\n\n linkRect\n .filter(function (d) {\n return d.objectPropNodeClassUri !== selectedRdfUri;\n })\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n propertyNames\n .attr(\"x\", function (d) {\n if (d.target.x > d.source.x) {\n return (d.source.x + (d.target.x - d.source.x) / 2);\n } else {\n return (d.target.x + (d.source.x - d.target.x) / 2);\n }\n })\n .attr(\"y\", function (d) {\n if (d.target.y > d.source.y) {\n return (d.source.y + (d.target.y - d.source.y) / 2);\n } else {\n return (d.target.y + (d.source.y - d.target.y) / 2);\n }\n })\n .moveToFront();\n\n\n objectPropClassName\n .attr(\"x\", function (d) {\n if (d.classPosition === \"right\") {\n return d.x + otherClassSize * 1.2;\n } else {\n return d.x - otherClassSize * 1.2;\n }\n })\n .attr(\"y\", function (d) {\n return d.y;\n })\n .moveToFront();\n }\n\n force.on(\"tick\", tick)\n\n }\n });\n\n let isDragged = false;\n\n function dragStart(event, d) {\n force.stop();\n d.fx = event.x;\n d.fy = event.y;\n d3.select(this).classed(\"selected\", true);\n\n }\n\n // Update the subject (dragged node) position during drag.\n function dragged(event, d) {\n isDragged = true;\n\n force.alphaTarget(0).restart();\n d.fx = event.x;\n d.fy = event.y;\n }\n\n // Restore the target alpha so the simulation cools after dragging ends.\n // Unfix the subject position now that it’s no longer being dragged.\n function dragEnd(event, d) {\n d.fx = null;\n d.fy = null;\n d3.select(this).classed(\"selected\", false);\n if (isDragged) {\n force.alpha(0.2).restart();\n isDragged = false;\n } else {\n force.restart();\n }\n }\n\n }\n}\n"],"names":["domainRangeGraphDirective","$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT","restrict","template","scope","showPredicatesInfoPanel","selectedPredicate","collapseEdges","link","timer","width","mainClassSize","otherClassSize","datatypeSize","labelFontSize","basicArrowStrokeWidth","svg","d3","append","attr","on","force","drag","subject","d","event","stop","fx","x","fy","y","this","classed","isDragged","alpha","restart","alphaTarget","defs","attrs","id","viewBox","refX","refY","markerUnits","markerWidth","markerHeight","orient","fill","class","cssRules","SVG","Export","getCSSRules","$","imgSrc","generateBase64ImageSource","href","download","getActiveRepository","legendBackgroundWidth","legendBackgroundHeight","legendCellGroup","height","style","sourceX","targetX","legendTextX","legendLabelFontSize","classNodeTextY","cx","cy","r","text","classNodeY","objectNodeTextY","datatypeNodeY","datatypeNodeTextY","basicPropertyArrowY","x1","y1","x2","y2","absUrl","implicitPropArrowY","collapsedPropArrowY","generateLegend","selectedRdfUri","search","uri","classNodeLabel","name","collapsed","getDomainRangeData","success","response","status","headers","domainRangeGraphData","error","window","set","DOMAIN_RANGE_WENT_BACK","onpopstate","state","$broadcast","$watch","angular","isUndefined","DOMAIN_RANGE_COLLAPSE_EDGES","get","switchEdgeMode","remove","graph","_","cloneDeep","nodes","links","strength","distance","linkGroup","selectAll","data","enter","styleArrowsInCollapsedMode","sel","loopLink","loopLinkEdgeCount","each","objectPropNodeClassUri","propertyType","targetRadius","targetNodeEdgeCount","implicit","loopLinkSize","previousPropertyNameSelection","disableCollapsedPredicateLabelHightlighting","isEmptyObject","background","onCollapsedPropertyNameClick","previousSibling","stopPropagation","ready","bind","propertyNames","test","open","encodeURIComponent","linkRect","calculatedWidth","getBBox","textPadding","calculatedHeight","translateX","nodeGroup","node","filter","objectPropClassUri","classPosition","objectPropClassName","call","reloadDomainRangeGraphView","$apply","select","parentNode","D3","Text","calcFontSize","rdfClassName","classNode","loopLinkBackgroundSel","loopLinkPropertyName","loopLinkBackgroundProps","i","push","idx","tick","e","k","positionLoopLinkBackgrounds","loopLinkBackgroundY","loopLinkBackgroundX","allLoopLinkEdges","dd","foundLoopLinkBackgroundProps","grep","obj","parseFloat","transform","reposition","viewMoreTextWidth","target","allEdges","getComputedTextLength","adjustViewMorePredicatesLabel","source","targetY","pushEdgesToLeftAndRight","angle","Math","atan2","cos","sin","loopTranslateX","loopTranslateY","positionLoopLink","currentBackgroundHeight","loopLinkLabelX","loopLinkLabelY","moveToFront","predicatesLeft","size","labelSel","backgroundSel","nextSibling","createViewMorePredicatesLabel","positionLoopLinkLabels","ActiveXObject","log10","log","LN10","absDiff","logOffset","abs","centerClassNode","renderDomainRangeGraph","$on","cancel","module","constant","directive","$inject"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- export const __webpack_id__=38843;export const __webpack_ids__=[38843];export const __webpack_modules__={38843:(e,t,s)=>{s.r(t),s.d(t,{default:()=>i});const i='<link href="css/graphql/create-graphql-endpoint.css?v=3.1.0-TR11" rel="stylesheet"/> <link href="css/wizard.css?v=3.1.0-TR11" rel="stylesheet"/> <div class="create-graphql-endpoint-view"> <h1 id="title-container"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class="core-errors-container" core-errors write></div> <div class="create-graphql-endpoint-container"> <div class="content" ng-if="selectedSourceRepository"> <div class="toolbar"> <div class="form-inline"> <label for="sourceRepositorySelector">{{\'graphql.create_endpoint.toolbar.source_repository_selector.label\' | translate}}</label> <select id="sourceRepositorySelector" ng-model="selectedSourceRepository" ng-options="repository as repository.label for repository in sourceRepositories" ng-change="onSelectedSourceRepositoryChange(selectedSourceRepository)" ng-disabled="generatingEndpoint" class="form-control source-repository-selector" gdb-tooltip="{{\'graphql.create_endpoint.toolbar.source_repository_selector.tooltip\' | translate}}" tooltip-placement="top"> </select> </div> </div> <div class="wizard-container mt-2"> <div class="wizard"> <div class="wizard-steps"> <div ng-repeat="step in wizardModel.steps" ng-click="onStepClick(step); $event.preventDefault()" class="wizard-step" ng-class="{active: step.active, completed: step.visited}"> <span class="step-title">{{\'graphql.create_endpoint.wizard_steps.\' + step.id + \'.title\' | translate}}</span> <span class="fa fa-chevron-right step-decoration"></span> </div> </div> <div class="wizard-content"> <div ng-repeat="step in wizardModel.steps" ng-if="step.active" class="wizard-step-content"> <div ng-switch="step.id"> <div ng-switch-when="select_schema_sources"> <select-schema-sources step-definition="step"></select-schema-sources> </div> <div ng-switch-when="configure_endpoint"> <configure-endpoint step-definition="step"></configure-endpoint> </div> <div ng-switch-when="generate_endpoint"> <generate-endpoint step-definition="step"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> '}};
2
- //# sourceMappingURL=38843.a59a07e73a42cfb5e52d.bundle.js.map
1
+ export const __webpack_id__=38843;export const __webpack_ids__=[38843];export const __webpack_modules__={38843:(e,t,s)=>{s.r(t),s.d(t,{default:()=>i});const i='<link href="css/graphql/create-graphql-endpoint.css?v=3.1.0-TR13" rel="stylesheet"/> <link href="css/wizard.css?v=3.1.0-TR13" rel="stylesheet"/> <div class="create-graphql-endpoint-view"> <h1 id="title-container"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class="core-errors-container" core-errors write></div> <div class="create-graphql-endpoint-container"> <div class="content" ng-if="selectedSourceRepository"> <div class="toolbar"> <div class="form-inline"> <label for="sourceRepositorySelector">{{\'graphql.create_endpoint.toolbar.source_repository_selector.label\' | translate}}</label> <select id="sourceRepositorySelector" ng-model="selectedSourceRepository" ng-options="repository as repository.label for repository in sourceRepositories" ng-change="onSelectedSourceRepositoryChange(selectedSourceRepository)" ng-disabled="generatingEndpoint" class="form-control source-repository-selector" gdb-tooltip="{{\'graphql.create_endpoint.toolbar.source_repository_selector.tooltip\' | translate}}" tooltip-placement="top"> </select> </div> </div> <div class="wizard-container mt-2"> <div class="wizard"> <div class="wizard-steps"> <div ng-repeat="step in wizardModel.steps" ng-click="onStepClick(step); $event.preventDefault()" class="wizard-step" ng-class="{active: step.active, completed: step.visited}"> <span class="step-title">{{\'graphql.create_endpoint.wizard_steps.\' + step.id + \'.title\' | translate}}</span> <span class="fa fa-chevron-right step-decoration"></span> </div> </div> <div class="wizard-content"> <div ng-repeat="step in wizardModel.steps" ng-if="step.active" class="wizard-step-content"> <div ng-switch="step.id"> <div ng-switch-when="select_schema_sources"> <select-schema-sources step-definition="step"></select-schema-sources> </div> <div ng-switch-when="configure_endpoint"> <configure-endpoint step-definition="step"></configure-endpoint> </div> <div ng-switch-when="generate_endpoint"> <generate-endpoint step-definition="step"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> '}};
2
+ //# sourceMappingURL=38843.28a56aadf139c5f83a07.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"38843.a59a07e73a42cfb5e52d.bundle.js","mappings":"uJAGA,QAFW,giE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/create-graphql-endpoint.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/create-graphql-endpoint.css?v=3.1.0-TR11\" rel=\"stylesheet\"/> <link href=\"css/wizard.css?v=3.1.0-TR11\" rel=\"stylesheet\"/> <div class=\"create-graphql-endpoint-view\"> <h1 id=\"title-container\"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class=\"core-errors-container\" core-errors write></div> <div class=\"create-graphql-endpoint-container\"> <div class=\"content\" ng-if=\"selectedSourceRepository\"> <div class=\"toolbar\"> <div class=\"form-inline\"> <label for=\"sourceRepositorySelector\">{{'graphql.create_endpoint.toolbar.source_repository_selector.label' | translate}}</label> <select id=\"sourceRepositorySelector\" ng-model=\"selectedSourceRepository\" ng-options=\"repository as repository.label for repository in sourceRepositories\" ng-change=\"onSelectedSourceRepositoryChange(selectedSourceRepository)\" ng-disabled=\"generatingEndpoint\" class=\"form-control source-repository-selector\" gdb-tooltip=\"{{'graphql.create_endpoint.toolbar.source_repository_selector.tooltip' | translate}}\" tooltip-placement=\"top\"> </select> </div> </div> <div class=\"wizard-container mt-2\"> <div class=\"wizard\"> <div class=\"wizard-steps\"> <div ng-repeat=\"step in wizardModel.steps\" ng-click=\"onStepClick(step); \\$event.preventDefault()\" class=\"wizard-step\" ng-class=\"{active: step.active, completed: step.visited}\"> <span class=\"step-title\">{{'graphql.create_endpoint.wizard_steps.' + step.id + '.title' | translate}}</span> <span class=\"fa fa-chevron-right step-decoration\"></span> </div> </div> <div class=\"wizard-content\"> <div ng-repeat=\"step in wizardModel.steps\" ng-if=\"step.active\" class=\"wizard-step-content\"> <div ng-switch=\"step.id\"> <div ng-switch-when=\"select_schema_sources\"> <select-schema-sources step-definition=\"step\"></select-schema-sources> </div> <div ng-switch-when=\"configure_endpoint\"> <configure-endpoint step-definition=\"step\"></configure-endpoint> </div> <div ng-switch-when=\"generate_endpoint\"> <generate-endpoint step-definition=\"step\"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"38843.28a56aadf139c5f83a07.bundle.js","mappings":"uJAGA,QAFW,giE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/create-graphql-endpoint.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/create-graphql-endpoint.css?v=3.1.0-TR13\" rel=\"stylesheet\"/> <link href=\"css/wizard.css?v=3.1.0-TR13\" rel=\"stylesheet\"/> <div class=\"create-graphql-endpoint-view\"> <h1 id=\"title-container\"> <span>{{title}}</span> <page-info-tooltip></page-info-tooltip> </h1> <div class=\"core-errors-container\" core-errors write></div> <div class=\"create-graphql-endpoint-container\"> <div class=\"content\" ng-if=\"selectedSourceRepository\"> <div class=\"toolbar\"> <div class=\"form-inline\"> <label for=\"sourceRepositorySelector\">{{'graphql.create_endpoint.toolbar.source_repository_selector.label' | translate}}</label> <select id=\"sourceRepositorySelector\" ng-model=\"selectedSourceRepository\" ng-options=\"repository as repository.label for repository in sourceRepositories\" ng-change=\"onSelectedSourceRepositoryChange(selectedSourceRepository)\" ng-disabled=\"generatingEndpoint\" class=\"form-control source-repository-selector\" gdb-tooltip=\"{{'graphql.create_endpoint.toolbar.source_repository_selector.tooltip' | translate}}\" tooltip-placement=\"top\"> </select> </div> </div> <div class=\"wizard-container mt-2\"> <div class=\"wizard\"> <div class=\"wizard-steps\"> <div ng-repeat=\"step in wizardModel.steps\" ng-click=\"onStepClick(step); \\$event.preventDefault()\" class=\"wizard-step\" ng-class=\"{active: step.active, completed: step.visited}\"> <span class=\"step-title\">{{'graphql.create_endpoint.wizard_steps.' + step.id + '.title' | translate}}</span> <span class=\"fa fa-chevron-right step-decoration\"></span> </div> </div> <div class=\"wizard-content\"> <div ng-repeat=\"step in wizardModel.steps\" ng-if=\"step.active\" class=\"wizard-step-content\"> <div ng-switch=\"step.id\"> <div ng-switch-when=\"select_schema_sources\"> <select-schema-sources step-definition=\"step\"></select-schema-sources> </div> <div ng-switch-when=\"configure_endpoint\"> <configure-endpoint step-definition=\"step\"></configure-endpoint> </div> <div ng-switch-when=\"generate_endpoint\"> <generate-endpoint step-definition=\"step\"></generate-endpoint> </div> </div> </div> </div> </div> </div> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ export const __webpack_id__=39448;export const __webpack_ids__=[39448];export const __webpack_modules__={39448:()=>{const e="view.sparql-editor.title";PluginRegistry.add("guide.step",[{guideBlockName:"sparql-results-visual-button",getSteps:(t,r)=>{const o=r.GuideUtils;return[{guideBlockName:"clickable-element",options:{content:"guide.step_plugin.execute-sparql-query.visual-sparql-results.content",...t.mainAction?{}:{title:e},url:"sparql",elementSelector:o.CSS_SELECTORS.SPARQL_VISUAL_BUTTON_SELECTOR,class:"visual-sparql-results-button-guide-dialog",scrollToHandler:o.scrollToTop,onNextClick:()=>o.clickOnElement(o.CSS_SELECTORS.SPARQL_VISUAL_BUTTON_SELECTOR)(),...t}}]}},{guideBlockName:"sparql-editor-run-button",getSteps:(t,r)=>{const o=r.GuideUtils,n=r.YasguiComponentDirectiveUtil;return[{guideBlockName:"clickable-element",options:{...t.mainAction?{}:{title:e},content:"guide.step_plugin.execute-sparql-query.run-sparql-query.content",url:"sparql",elementSelector:o.CSS_SELECTORS.SPARQL_RUN_BUTTON_SELECTOR,class:"yasgui-run-button-guide-dialog",onNextClick:e=>n.getOntotextYasguiElementAsync("#query-editor").then(t=>{t.query(),e.next()}),scrollToHandler:o.scrollToTop,...t}}]}},{guideBlockName:"sparql-editor",getSteps:(t,r)=>{const o=r.$translate,n="#query-editor",i=r.GuideUtils,s=r.YasguiComponentDirectiveUtil,u=document.createElement("code"),l=document.createElement("button"),a="guide-copy-to-editor-query-button";l.className=`btn btn-sm btn-secondary ${a}`,l.innerText=o.instant("guide.step_plugin.execute-sparql-query.copy-to-editor.button"),l.setAttribute("ng-click","copyQuery()");const c=t.query,p=((e,t,r)=>o=>{o.preventDefault(),e.setQuery(t,r).then(()=>{})})(s,n,c);let d;return u.innerText=c,[{guideBlockName:"input-element",options:{...t.mainAction?{}:{title:e},content:"guide.step_plugin.execute-sparql-query.query-editor.content",url:"sparql",elementSelector:i.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,class:"yasgui-query-editor-guide-dialog",queryAsHtmlCodeElement:'<div class="shepherd-code">'+u.outerHTML+l.outerHTML+"</div>",beforeShowPromise:()=>s.getOntotextYasguiElementAsync(n).then(()=>i.waitFor(i.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,3)).then(()=>i.deferredShow(500)()).catch(e=>{throw r.toastr.error(r.$translate.instant("guide.unexpected.error.message")),e}),onNextValidate:()=>s.getOntotextYasguiElementAsync(n).then(e=>e.getQuery().then(t=>({yasgui:e,queryFromEditor:t}))).then(({yasgui:e,queryFromEditor:t})=>(e.setQuery(c),!0)),scrollToHandler:i.scrollToTop,extraContent:t.queryExtraContent,show:e=>()=>{d=e.currentStep.el.querySelector(`.${a}`),d.addEventListener("click",p)},hide:()=>()=>{d&&d.removeEventListener("click",p)},...t}}]}},{guideBlockName:"sparql-results-explain",getSteps:(t,r)=>{const o=r.GuideUtils;return[{guideBlockName:"read-only-element",options:{...t.mainAction?{}:{title:e},content:"guide.step_plugin.execute-sparql-query.result-explain.content",url:"sparql",placement:"top",elementSelector:o.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR,class:"yasgui-query-results-guide-dialog",fileName:t.fileName,scrollToHandler:o.scrollToTop,extraContent:t.resultExtraContent,canBePaused:!1,...t}}]}},{guideBlockName:"execute-sparql-query",getSteps:(e,t)=>{const r="#query-editor",o=t.GuideUtils,n=t.YasguiComponentDirectiveUtil,i=t.toastr,s=t.$translate,u=t.$interpolate,l=t.RoutingUtil;e.mainAction="execute-sparql-query";const a=[{guideBlockName:"click-main-menu",options:{menu:"sparql",showIntro:!0,...e}}],c={"-1":'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nselect * where { \n\t?s ?p ?o .\n?o rdf:type ""\n} limit 100 '};let p=!1;return e.queries.forEach((d,S)=>{const g=d.query;c[S]=g,a.push({guideBlockName:"sparql-editor",options:{query:g,queryExtraContent:d.queryExtraContent,beforeShowPromise:()=>n.getOntotextYasguiElementAsync(r).then(()=>o.waitFor(o.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,3)).then(()=>o.deferredShow(500)()).catch(e=>{throw t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),e}),onNextValidate:()=>n.getOntotextYasguiElementAsync(r).then(e=>e.getQuery().then(t=>({yasgui:e,queryFromEditor:t}))).then(({yasgui:t,queryFromEditor:r})=>{const n=o.removeWhiteSpaces(r);if(n!==o.removeWhiteSpaces(g)){if("select*where{?s?p?o.}limit100"!==n&&!p)return o.noNextErrorToast(i,s,u,"guide.step_plugin.execute-sparql-query.query-not-same.error",e),!1;t.setQuery(g)}return p=!0,!0}),initPreviousStep:()=>0===S?n.setQuery(r,"select * where { \n\t?s ?p ?o .\n} limit 100 \n"):("sparql"!==l.getCurrentRoute()&&l.navigate("/sparql"),o.waitFor(o.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR).then(()=>n.executeSparqlQuery("#query-editor",g))),...e}}),a.push({guideBlockName:"sparql-editor-run-button",options:{initPreviousStep:(e,t)=>{const r=e.ShepherdService.getPreviousStepFromHistory(t);return r.options.initPreviousStep(e,r.options.id).then(()=>e.ShepherdService.getCurrentStepId()===t?Promise.resolve():n.executeSparqlQuery("#query-editor",g))},...e}}),a.push({guideBlockName:"sparql-results-explain",options:{extraContent:d.resultExtraContent,initPreviousStep:(e,t)=>{if("sparql"!==l.getCurrentRoute())return l.navigate("/sparql"),o.waitFor(o.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR).then(()=>o.deferredShow(500)()).then(()=>n.executeSparqlQuery("#query-editor",g));const i=e.ShepherdService.getPreviousStepFromHistory(t);return i.options.initPreviousStep(e,i.options.id).then(()=>n.setQuery(r,g))},...e}})}),a}},{guideBlockName:"visualise-sparql-query",getSteps:e=>{const t=[];return e.useMainMenuNavigation&&t.push({guideBlockName:"click-main-menu",options:{menu:"sparql",mainAction:"execute-sparql-query",showIntro:!0,...e}}),t.push({guideBlockName:"sparql-editor",options:{query:e.query,queryExtraContent:e.queryExtraContent,...e}},{guideBlockName:"sparql-editor-run-button",options:{...e}},{guideBlockName:"sparql-results-visual-button",options:{...e}}),t}}])}};
2
+ //# sourceMappingURL=39448.10bcf72a104ce8276328.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"39448.10bcf72a104ce8276328.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/execute-sparql-query/plugin.js"],"sourcesContent":["const createCopyToEditorListener = (YasguiComponentDirectiveUtil, sparqlDirectiveSelector, query) => {\n return (event) => {\n event.preventDefault();\n YasguiComponentDirectiveUtil.setQuery(sparqlDirectiveSelector, query).then(() => {\n });\n }\n}\n\nconst SPARQL_EDITOR_DEFAULT_TITLE = 'view.sparql-editor.title';\n\nPluginRegistry.add('guide.step', [\n {\n guideBlockName: 'sparql-results-visual-button',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n return [\n {\n guideBlockName: 'clickable-element',\n options: {\n content: 'guide.step_plugin.execute-sparql-query.visual-sparql-results.content',\n // If mainAction is set the title will be set automatically\n ...(options.mainAction ? {} : {title: SPARQL_EDITOR_DEFAULT_TITLE}),\n url: 'sparql',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_VISUAL_BUTTON_SELECTOR,\n class: 'visual-sparql-results-button-guide-dialog',\n scrollToHandler: GuideUtils.scrollToTop,\n onNextClick: () => GuideUtils.clickOnElement(GuideUtils.CSS_SELECTORS.SPARQL_VISUAL_BUTTON_SELECTOR)(),\n ...options\n }\n }\n ]\n }\n },\n {\n guideBlockName: 'sparql-editor-run-button',\n getSteps: (options, services) => {\n const SPARQL_DIRECTIVE_SELECTOR = '#query-editor';\n const GuideUtils = services.GuideUtils;\n const YasguiComponentDirectiveUtil = services.YasguiComponentDirectiveUtil;\n return [\n {\n guideBlockName: 'clickable-element',\n options: {\n // If mainAction is set the title will be set automatically\n ...(options.mainAction ? {} : {title: SPARQL_EDITOR_DEFAULT_TITLE}),\n content: 'guide.step_plugin.execute-sparql-query.run-sparql-query.content',\n url: 'sparql',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_RUN_BUTTON_SELECTOR,\n class: 'yasgui-run-button-guide-dialog',\n onNextClick: (guide) => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then((yasgui) => {\n yasgui.query();\n guide.next();\n }),\n scrollToHandler: GuideUtils.scrollToTop,\n ...options\n }\n }\n ]\n }\n },\n {\n guideBlockName: 'sparql-editor',\n getSteps: (options, services) => {\n const $translate = services.$translate;\n const SPARQL_DIRECTIVE_SELECTOR = '#query-editor';\n const GuideUtils = services.GuideUtils;\n const YasguiComponentDirectiveUtil = services.YasguiComponentDirectiveUtil;\n\n const code = document.createElement('code');\n const copy = document.createElement('button');\n const copyToEditorButtonClass = 'guide-copy-to-editor-query-button';\n copy.className = `btn btn-sm btn-secondary ${copyToEditorButtonClass}`;\n copy.innerText = $translate.instant('guide.step_plugin.execute-sparql-query.copy-to-editor.button');\n copy.setAttribute('ng-click', 'copyQuery()');\n const query = options.query;\n const copyToEditorListener = createCopyToEditorListener(YasguiComponentDirectiveUtil, SPARQL_DIRECTIVE_SELECTOR, query);\n code.innerText = query;\n\n let stepHTMLElement;\n\n return [\n {\n guideBlockName: 'input-element',\n options: {\n // If mainAction is set the title will be set automatically\n ...(options.mainAction ? {} : {title: SPARQL_EDITOR_DEFAULT_TITLE}),\n content: 'guide.step_plugin.execute-sparql-query.query-editor.content',\n url: 'sparql',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,\n class: 'yasgui-query-editor-guide-dialog',\n queryAsHtmlCodeElement: '<div class=\"shepherd-code\">' + code.outerHTML + copy.outerHTML + '</div>',\n beforeShowPromise: () => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then(() => GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR, 3))\n .then(() => GuideUtils.deferredShow(500)())\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n throw error;\n }),\n onNextValidate: () => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then((yasgui) => yasgui.getQuery().then((query) => ({yasgui, queryFromEditor: query})))\n .then(({yasgui, queryFromEditor}) => {\n yasgui.setQuery(query);\n return true;\n }),\n scrollToHandler: GuideUtils.scrollToTop,\n extraContent: options.queryExtraContent,\n show: (_guide) => () => {\n stepHTMLElement = _guide.currentStep.el.querySelector(`.${copyToEditorButtonClass}`);\n stepHTMLElement.addEventListener('click', copyToEditorListener);\n },\n hide: () => () => {\n if (stepHTMLElement) {\n stepHTMLElement.removeEventListener('click', copyToEditorListener);\n }\n },\n ...options\n }\n }\n ]\n }\n },\n {\n guideBlockName: 'sparql-results-explain',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n return [\n {\n guideBlockName: 'read-only-element',\n options: {\n // If mainAction is set the title will be set automatically\n ...(options.mainAction ? {} : {title: SPARQL_EDITOR_DEFAULT_TITLE}),\n content: 'guide.step_plugin.execute-sparql-query.result-explain.content',\n url: 'sparql',\n placement: 'top',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR,\n class: 'yasgui-query-results-guide-dialog',\n fileName: options.fileName,\n scrollToHandler: GuideUtils.scrollToTop,\n extraContent: options.resultExtraContent,\n canBePaused: false,\n ...options\n }\n }\n ]\n }\n },\n {\n guideBlockName: 'execute-sparql-query',\n getSteps: (options, services) => {\n const SPARQL_DIRECTIVE_SELECTOR = '#query-editor';\n const GuideUtils = services.GuideUtils;\n const YasguiComponentDirectiveUtil = services.YasguiComponentDirectiveUtil;\n const toastr = services.toastr;\n const $translate = services.$translate;\n const $interpolate = services.$interpolate;\n const RoutingUtil = services.RoutingUtil;\n options.mainAction = 'execute-sparql-query';\n\n const steps = [\n {\n guideBlockName: 'click-main-menu',\n options: {\n menu: 'sparql',\n showIntro: true,\n ...options\n }\n }\n ];\n\n const defaultQuery = 'select * where { \\n\\t?s ?p ?o .\\n} limit 100 \\n';\n const queries = {};\n queries[-1] = 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\\nselect * where { \\n\\t?s ?p ?o .\\n?o rdf:type \"\"\\n} limit 100 ';\n\n let overwriteQuery = false;\n options.queries.forEach((queryDef, index) => {\n const query = queryDef.query;\n queries[index] = query;\n\n steps.push({\n guideBlockName: 'sparql-editor',\n options: {\n query,\n queryExtraContent: queryDef.queryExtraContent,\n beforeShowPromise: () => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then(() => GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR, 3))\n .then(() => GuideUtils.deferredShow(500)())\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n throw error;\n }),\n onNextValidate: () => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then((yasgui) => yasgui.getQuery().then((query) => ({yasgui, queryFromEditor: query})))\n .then(({yasgui, queryFromEditor}) => {\n const editorQuery = GuideUtils.removeWhiteSpaces(queryFromEditor);\n const stepQuery = GuideUtils.removeWhiteSpaces(query);\n if (editorQuery !== stepQuery) {\n if (editorQuery === 'select*where{?s?p?o.}limit100' || overwriteQuery) {\n // The query is the default query OR we previously overwrote it => we can overwrite it\n yasgui.setQuery(query);\n } else {\n GuideUtils.noNextErrorToast(toastr, $translate, $interpolate,\n 'guide.step_plugin.execute-sparql-query.query-not-same.error', options);\n return false;\n }\n }\n overwriteQuery = true;\n return true;\n }),\n initPreviousStep: () => {\n if (index === 0) {\n return YasguiComponentDirectiveUtil.setQuery(SPARQL_DIRECTIVE_SELECTOR, defaultQuery);\n }\n\n const haveToReload = 'sparql' !== RoutingUtil.getCurrentRoute();\n\n if (haveToReload) {\n RoutingUtil.navigate('/sparql');\n }\n\n return GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR)\n .then(() => YasguiComponentDirectiveUtil.executeSparqlQuery(\"#query-editor\", query));\n },\n ...options\n }\n });\n steps.push({\n guideBlockName: 'sparql-editor-run-button',\n options: {\n initPreviousStep: (services, stepId) => {\n const previousStep = services.ShepherdService.getPreviousStepFromHistory(stepId);\n return previousStep.options.initPreviousStep(services, previousStep.options.id)\n .then(() => {\n const currentStepId = services.ShepherdService.getCurrentStepId();\n // Skip expanding of node if last step is \"visual-graph-expand\"\n if (currentStepId === stepId) {\n return Promise.resolve();\n }\n\n return YasguiComponentDirectiveUtil.executeSparqlQuery(\"#query-editor\", query);\n });\n },\n ...options\n }\n });\n steps.push({\n guideBlockName: 'sparql-results-explain',\n options: {\n extraContent: queryDef.resultExtraContent,\n initPreviousStep: (services, stepId) => {\n if ('sparql' !== RoutingUtil.getCurrentRoute()) {\n RoutingUtil.navigate('/sparql');\n return GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR)\n .then(() => GuideUtils.deferredShow(500)())\n .then(() => YasguiComponentDirectiveUtil.executeSparqlQuery(\"#query-editor\", query));\n }\n\n const previousStep = services.ShepherdService.getPreviousStepFromHistory(stepId);\n return previousStep.options.initPreviousStep(services, previousStep.options.id)\n .then(() => YasguiComponentDirectiveUtil.setQuery(SPARQL_DIRECTIVE_SELECTOR, query));\n },\n ...options\n }\n });\n });\n\n return steps;\n }\n },\n\n {\n guideBlockName: 'visualise-sparql-query',\n getSteps: (options) => {\n const steps = [];\n if (options.useMainMenuNavigation) {\n steps.push({\n guideBlockName: 'click-main-menu',\n options: {\n menu: 'sparql',\n mainAction: 'execute-sparql-query',\n showIntro: true,\n ...options\n }\n });\n }\n\n steps.push({\n guideBlockName: 'sparql-editor',\n options: {\n query: options.query,\n queryExtraContent: options.queryExtraContent,\n ...options\n }\n }, {\n guideBlockName: 'sparql-editor-run-button',\n options: {...options}\n }, {\n guideBlockName: 'sparql-results-visual-button',\n options: {...options}\n });\n\n return steps;\n }\n }\n]);\n"],"names":["SPARQL_EDITOR_DEFAULT_TITLE","PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","content","mainAction","title","url","elementSelector","CSS_SELECTORS","SPARQL_VISUAL_BUTTON_SELECTOR","class","scrollToHandler","scrollToTop","onNextClick","clickOnElement","YasguiComponentDirectiveUtil","SPARQL_RUN_BUTTON_SELECTOR","guide","getOntotextYasguiElementAsync","then","yasgui","query","next","$translate","SPARQL_DIRECTIVE_SELECTOR","code","document","createElement","copy","copyToEditorButtonClass","className","innerText","instant","setAttribute","copyToEditorListener","createCopyToEditorListener","sparqlDirectiveSelector","event","preventDefault","setQuery","stepHTMLElement","SPARQL_EDITOR_SELECTOR","queryAsHtmlCodeElement","outerHTML","beforeShowPromise","waitFor","deferredShow","catch","error","toastr","onNextValidate","getQuery","queryFromEditor","extraContent","queryExtraContent","show","_guide","currentStep","el","querySelector","addEventListener","hide","removeEventListener","placement","SPARQL_RESULTS_SELECTOR","fileName","resultExtraContent","canBePaused","$interpolate","RoutingUtil","steps","menu","showIntro","queries","overwriteQuery","forEach","queryDef","index","push","editorQuery","removeWhiteSpaces","noNextErrorToast","initPreviousStep","getCurrentRoute","navigate","executeSparqlQuery","stepId","previousStep","ShepherdService","getPreviousStepFromHistory","id","getCurrentStepId","Promise","resolve","useMainMenuNavigation"],"sourceRoot":""}