graphdb-workbench 3.2.0-TR2 → 3.2.0-TR4

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 (246) hide show
  1. package/dist/12358.4be185f89eebea9c35bf.bundle.js +3 -0
  2. package/dist/12358.4be185f89eebea9c35bf.bundle.js.map +1 -0
  3. package/dist/{12396.9a7f2862146b6f9adcb1.bundle.js → 12396.a1b7856e86d52282f34c.bundle.js} +2 -2
  4. package/dist/{12396.9a7f2862146b6f9adcb1.bundle.js.map → 12396.a1b7856e86d52282f34c.bundle.js.map} +1 -1
  5. package/dist/{15535.7b170e17ee0a58970ab6.bundle.js → 15535.c58319cba275ee5baa90.bundle.js} +2 -2
  6. package/dist/{15535.7b170e17ee0a58970ab6.bundle.js.map → 15535.c58319cba275ee5baa90.bundle.js.map} +1 -1
  7. package/dist/{16162.67e7c1f5f313481b1e80.bundle.js → 16162.2dc986d04777c8ae9489.bundle.js} +2 -2
  8. package/dist/{16162.67e7c1f5f313481b1e80.bundle.js.map → 16162.2dc986d04777c8ae9489.bundle.js.map} +1 -1
  9. package/dist/19402.7f6ea977348338acc824.bundle.js +2 -0
  10. package/dist/19402.7f6ea977348338acc824.bundle.js.map +1 -0
  11. package/dist/{20287.dd5bc263fe26adf34965.bundle.js → 20287.7cfc312df157f5bdea97.bundle.js} +2 -2
  12. package/dist/{20287.dd5bc263fe26adf34965.bundle.js.map → 20287.7cfc312df157f5bdea97.bundle.js.map} +1 -1
  13. package/dist/{21136.b7efcb40fb956ff1109c.bundle.js → 21136.67a9bcf4bb0c201d3fd1.bundle.js} +2 -2
  14. package/dist/{21136.b7efcb40fb956ff1109c.bundle.js.map → 21136.67a9bcf4bb0c201d3fd1.bundle.js.map} +1 -1
  15. package/dist/21142.7f8327c28d939fa26009.bundle.js +2 -0
  16. package/dist/21142.7f8327c28d939fa26009.bundle.js.map +1 -0
  17. package/dist/{21170.7832554eab9eaade6ffb.bundle.js → 21170.cecdf25699f68d4cf749.bundle.js} +2 -2
  18. package/dist/{21170.7832554eab9eaade6ffb.bundle.js.map → 21170.cecdf25699f68d4cf749.bundle.js.map} +1 -1
  19. package/dist/21195.e2c1fc69631041b97f8e.bundle.js +2 -0
  20. package/dist/21195.e2c1fc69631041b97f8e.bundle.js.map +1 -0
  21. package/dist/{25747.c01110e23b922cdd3d9e.bundle.js → 25747.c3dc5503ad696af5d5a3.bundle.js} +2 -2
  22. package/dist/{25747.c01110e23b922cdd3d9e.bundle.js.map → 25747.c3dc5503ad696af5d5a3.bundle.js.map} +1 -1
  23. package/dist/{27580.5a421770ab66d2dedc37.bundle.js → 27580.d038d43102a3e9eec97d.bundle.js} +2 -2
  24. package/dist/{27580.5a421770ab66d2dedc37.bundle.js.map → 27580.d038d43102a3e9eec97d.bundle.js.map} +1 -1
  25. package/dist/29350.d2791feedf54d2e4b7b6.bundle.js +2 -0
  26. package/dist/29350.d2791feedf54d2e4b7b6.bundle.js.map +1 -0
  27. package/dist/{31636.54e2817f8ae3998a34b3.bundle.js → 31636.fc6eba63d6d985d31673.bundle.js} +2 -2
  28. package/dist/{31636.54e2817f8ae3998a34b3.bundle.js.map → 31636.fc6eba63d6d985d31673.bundle.js.map} +1 -1
  29. package/dist/{32489.f7a2dc39cd61c2cd8874.bundle.js → 32489.e9af1ec463e2d4136732.bundle.js} +2 -2
  30. package/dist/{32489.f7a2dc39cd61c2cd8874.bundle.js.map → 32489.e9af1ec463e2d4136732.bundle.js.map} +1 -1
  31. package/dist/{34330.4b46c3a52d19f05fc0b2.bundle.js → 34330.990c99ea37f6cca46bad.bundle.js} +2 -2
  32. package/dist/34330.990c99ea37f6cca46bad.bundle.js.map +1 -0
  33. package/dist/{34495.be67c06c39909114bbe4.bundle.js → 34495.06c9997d58d0b0ba7152.bundle.js} +2 -2
  34. package/dist/{34495.be67c06c39909114bbe4.bundle.js.map → 34495.06c9997d58d0b0ba7152.bundle.js.map} +1 -1
  35. package/dist/36633.eba4270db7fdcf1aad4c.bundle.js +2 -0
  36. package/dist/36633.eba4270db7fdcf1aad4c.bundle.js.map +1 -0
  37. package/dist/36665.69d43b057bcfc55df3b5.bundle.js +2 -0
  38. package/dist/36665.69d43b057bcfc55df3b5.bundle.js.map +1 -0
  39. package/dist/{38360.efec913bb97c3b8588a4.bundle.js → 38360.ca92a04a1afcf9cfea7f.bundle.js} +2 -2
  40. package/dist/{38360.efec913bb97c3b8588a4.bundle.js.map → 38360.ca92a04a1afcf9cfea7f.bundle.js.map} +1 -1
  41. package/dist/{38644.800252af49cd67310834.bundle.js → 38644.29dbfb38e4089efa6697.bundle.js} +2 -2
  42. package/dist/{38644.800252af49cd67310834.bundle.js.map → 38644.29dbfb38e4089efa6697.bundle.js.map} +1 -1
  43. package/dist/{38843.29e34a5e5293cee51566.bundle.js → 38843.4b11f56e93f60fbe4e0a.bundle.js} +2 -2
  44. package/dist/{38843.29e34a5e5293cee51566.bundle.js.map → 38843.4b11f56e93f60fbe4e0a.bundle.js.map} +1 -1
  45. package/dist/{39518.0ca97879b92271d7c5e2.bundle.js → 39518.c577d83ed591fada064c.bundle.js} +2 -2
  46. package/dist/{39518.0ca97879b92271d7c5e2.bundle.js.map → 39518.c577d83ed591fada064c.bundle.js.map} +1 -1
  47. package/dist/{39539.7cea6717cc3a5ba91617.bundle.js → 39539.463ec29e136b100c0abe.bundle.js} +2 -2
  48. package/dist/{39539.7cea6717cc3a5ba91617.bundle.js.map → 39539.463ec29e136b100c0abe.bundle.js.map} +1 -1
  49. package/dist/40516.3cfaf1ff4704c038f944.bundle.js +2 -0
  50. package/dist/40516.3cfaf1ff4704c038f944.bundle.js.map +1 -0
  51. package/dist/{41453.4ae219d972a187c36bfc.bundle.js → 41453.241761ce8ff75036e5e0.bundle.js} +2 -2
  52. package/dist/{41453.4ae219d972a187c36bfc.bundle.js.map → 41453.241761ce8ff75036e5e0.bundle.js.map} +1 -1
  53. package/dist/{42129.0314e45b4b818b01b71f.bundle.js → 42129.f67dc6029cdab567bf54.bundle.js} +2 -2
  54. package/dist/{42129.0314e45b4b818b01b71f.bundle.js.map → 42129.f67dc6029cdab567bf54.bundle.js.map} +1 -1
  55. package/dist/42143.6c37997677f5ec643731.bundle.js +2 -0
  56. package/dist/42143.6c37997677f5ec643731.bundle.js.map +1 -0
  57. package/dist/{44444.02026ff20e2a843dc05b.bundle.js → 44444.a1b29c2329c7d4a39cc5.bundle.js} +2 -2
  58. package/dist/{44444.02026ff20e2a843dc05b.bundle.js.map → 44444.a1b29c2329c7d4a39cc5.bundle.js.map} +1 -1
  59. package/dist/44874.b16be286176dfe4aa766.bundle.js +2 -0
  60. package/dist/44874.b16be286176dfe4aa766.bundle.js.map +1 -0
  61. package/dist/49539.63984d5b37bc8b9a7244.bundle.js +2 -0
  62. package/dist/49539.63984d5b37bc8b9a7244.bundle.js.map +1 -0
  63. package/dist/{51087.b072d1c0e53403535283.bundle.js → 51087.1e118e7fe32a8c09d6cb.bundle.js} +2 -2
  64. package/dist/51087.1e118e7fe32a8c09d6cb.bundle.js.map +1 -0
  65. package/dist/{55217.4769c1f0615e364d8c2a.bundle.js → 55217.98a70cf01c4b7a826e82.bundle.js} +2 -2
  66. package/dist/55217.98a70cf01c4b7a826e82.bundle.js.map +1 -0
  67. package/dist/{55862.5e8602827fbf72e60cc2.bundle.js → 55862.1c3f1e807c8a05b1b6ed.bundle.js} +2 -2
  68. package/dist/{55862.5e8602827fbf72e60cc2.bundle.js.map → 55862.1c3f1e807c8a05b1b6ed.bundle.js.map} +1 -1
  69. package/dist/{58306.94b9336f68d11bdd72f0.bundle.js → 58306.a45182d200e3f8793644.bundle.js} +2 -2
  70. package/dist/{58306.94b9336f68d11bdd72f0.bundle.js.map → 58306.a45182d200e3f8793644.bundle.js.map} +1 -1
  71. package/dist/60039.5f9e955234f5eaf33372.bundle.js +2 -0
  72. package/dist/60039.5f9e955234f5eaf33372.bundle.js.map +1 -0
  73. package/dist/63415.7a4dfa072b5665c5995b.bundle.js +2 -0
  74. package/dist/63415.7a4dfa072b5665c5995b.bundle.js.map +1 -0
  75. package/dist/64118.edc8ed6671017d09ff4e.bundle.js +2 -0
  76. package/dist/64118.edc8ed6671017d09ff4e.bundle.js.map +1 -0
  77. package/dist/67232.bc980f2f0df606493105.bundle.js +2 -0
  78. package/dist/67232.bc980f2f0df606493105.bundle.js.map +1 -0
  79. package/dist/{67888.772326168aed83cbad9c.bundle.js → 67888.e21c0e4c70be6214fcd7.bundle.js} +2 -2
  80. package/dist/{67888.772326168aed83cbad9c.bundle.js.map → 67888.e21c0e4c70be6214fcd7.bundle.js.map} +1 -1
  81. package/dist/70938.c489d3ca5b00ad297139.bundle.js +2 -0
  82. package/dist/70938.c489d3ca5b00ad297139.bundle.js.map +1 -0
  83. package/dist/71920.c171884910616d02e2c6.bundle.js +2 -0
  84. package/dist/71920.c171884910616d02e2c6.bundle.js.map +1 -0
  85. package/dist/{72379.8a3290df05f18f8c65bd.bundle.js → 72379.cb41e26c33271a25816e.bundle.js} +2 -2
  86. package/dist/{72379.8a3290df05f18f8c65bd.bundle.js.map → 72379.cb41e26c33271a25816e.bundle.js.map} +1 -1
  87. package/dist/{73667.52fdbdadddafe9e9559b.bundle.js → 73667.ad957853dba08fd3be30.bundle.js} +2 -2
  88. package/dist/{73667.52fdbdadddafe9e9559b.bundle.js.map → 73667.ad957853dba08fd3be30.bundle.js.map} +1 -1
  89. package/dist/{73793.7e812bab1754ddd5efb5.bundle.js → 73793.79a311b387e5db776506.bundle.js} +2 -2
  90. package/dist/{73793.7e812bab1754ddd5efb5.bundle.js.map → 73793.79a311b387e5db776506.bundle.js.map} +1 -1
  91. package/dist/73964.7a3038b5726d50c1a051.bundle.js +2 -0
  92. package/dist/73964.7a3038b5726d50c1a051.bundle.js.map +1 -0
  93. package/dist/{75282.2f97d3a7d7f3fdd7aebf.bundle.js → 75282.8be5dde957dc6452c86a.bundle.js} +2 -2
  94. package/dist/{75282.2f97d3a7d7f3fdd7aebf.bundle.js.map → 75282.8be5dde957dc6452c86a.bundle.js.map} +1 -1
  95. package/dist/75849.0f6bab8b5749be998286.bundle.js +2 -0
  96. package/dist/75849.0f6bab8b5749be998286.bundle.js.map +1 -0
  97. package/dist/76013.9e71103dbb91bd9a558c.bundle.js +2 -0
  98. package/dist/76013.9e71103dbb91bd9a558c.bundle.js.map +1 -0
  99. package/dist/{78250.73e3013c5b2ebdddbf38.bundle.js → 78250.dd9bdc3db3ca0c84b25a.bundle.js} +2 -2
  100. package/dist/{78250.73e3013c5b2ebdddbf38.bundle.js.map → 78250.dd9bdc3db3ca0c84b25a.bundle.js.map} +1 -1
  101. package/dist/7928.9ab4b363abb28bfc6bd5.bundle.js +2 -0
  102. package/dist/7928.9ab4b363abb28bfc6bd5.bundle.js.map +1 -0
  103. package/dist/{79329.3d912887ba7e96090fb4.bundle.js → 79329.24a5e42cccee5055311a.bundle.js} +2 -2
  104. package/dist/{79329.3d912887ba7e96090fb4.bundle.js.map → 79329.24a5e42cccee5055311a.bundle.js.map} +1 -1
  105. package/dist/{82926.93a59d42bf8d49aaac8e.bundle.js → 82926.02f08566fe1f948d9e1f.bundle.js} +2 -2
  106. package/dist/{82926.93a59d42bf8d49aaac8e.bundle.js.map → 82926.02f08566fe1f948d9e1f.bundle.js.map} +1 -1
  107. package/dist/85609.68438b4955212d5fcb84.bundle.js +2 -0
  108. package/dist/85609.68438b4955212d5fcb84.bundle.js.map +1 -0
  109. package/dist/85788.501c7244b890d519f8cf.bundle.js +2 -0
  110. package/dist/85788.501c7244b890d519f8cf.bundle.js.map +1 -0
  111. package/dist/86142.04f4e4759998d4c37ccd.bundle.js +2 -0
  112. package/dist/86142.04f4e4759998d4c37ccd.bundle.js.map +1 -0
  113. package/dist/{89695.4ee87c52d4088115c51e.bundle.js → 89695.b7e90a123bc2875ccae4.bundle.js} +2 -2
  114. package/dist/89695.b7e90a123bc2875ccae4.bundle.js.map +1 -0
  115. package/dist/{9062.3541de664710a36fdac7.bundle.js → 9062.e1ad16e157f04b8c9dd8.bundle.js} +2 -2
  116. package/dist/{9062.3541de664710a36fdac7.bundle.js.map → 9062.e1ad16e157f04b8c9dd8.bundle.js.map} +1 -1
  117. package/dist/96089.4317e132ef8cc0033f83.bundle.js +2 -0
  118. package/dist/96089.4317e132ef8cc0033f83.bundle.js.map +1 -0
  119. package/dist/{99448.384b74c734331e5f8909.bundle.js → 99448.93e01a6a24e4a1cb0546.bundle.js} +2 -2
  120. package/dist/{99448.384b74c734331e5f8909.bundle.js.map → 99448.93e01a6a24e4a1cb0546.bundle.js.map} +1 -1
  121. package/dist/css/ttyg/chat-item-details.css +1 -1
  122. package/dist/css/ttyg/chat-panel.css +1 -1
  123. package/dist/i18n/locale-en.json +5 -1
  124. package/dist/i18n/locale-fr.json +5 -1
  125. package/dist/index.html +8 -8
  126. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  127. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  128. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  129. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  130. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  131. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  132. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  133. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  134. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  135. package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
  136. package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
  137. package/dist/js/angular/core/templates/search-resource-input.html +1 -1
  138. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  139. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  140. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  141. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  142. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  143. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  144. package/dist/js/angular/security/templates/user.html +2 -2
  145. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  146. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  147. package/dist/js/angular/ttyg/templates/chat-item-detail.html +5 -5
  148. package/dist/js/angular/ttyg/templates/chat-list.html +2 -2
  149. package/dist/js/angular/ttyg/templates/chat-panel.html +12 -7
  150. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  151. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +2 -2
  152. package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
  153. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  154. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  155. package/dist/{legacyWorkbench.2bd696723af2573e8bb7.js → legacyWorkbench.ecf6300fd72cfffbcdb6.js} +3 -3
  156. package/dist/{legacyWorkbench.2bd696723af2573e8bb7.js.map → legacyWorkbench.ecf6300fd72cfffbcdb6.js.map} +1 -1
  157. package/dist/pages/aclmanagement.html +2 -2
  158. package/dist/pages/autocomplete.html +1 -1
  159. package/dist/pages/choose-repository-type.html +1 -1
  160. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  161. package/dist/pages/create-index.html +1 -1
  162. package/dist/pages/dependencies.html +1 -1
  163. package/dist/pages/domainRangeInfo.html +2 -2
  164. package/dist/pages/edit.html +1 -1
  165. package/dist/pages/explore.html +1 -1
  166. package/dist/pages/export.html +1 -1
  167. package/dist/pages/find.html +1 -1
  168. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  169. package/dist/pages/graphs-visualizations.html +7 -7
  170. package/dist/pages/guides.html +1 -1
  171. package/dist/pages/import.html +2 -2
  172. package/dist/pages/jdbc-create.html +1 -1
  173. package/dist/pages/login.html +1 -1
  174. package/dist/pages/monitor/backup-and-restore.html +1 -1
  175. package/dist/pages/monitor/queries.html +1 -1
  176. package/dist/pages/monitor/resources.html +1 -1
  177. package/dist/pages/namespaces.html +2 -2
  178. package/dist/pages/plugins.html +1 -1
  179. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  180. package/dist/pages/rdfrank.html +2 -2
  181. package/dist/pages/repositories.html +1 -1
  182. package/dist/pages/repository.html +1 -1
  183. package/dist/pages/similarity-indexes.html +1 -1
  184. package/dist/pages/sparql-editor.html +1 -1
  185. package/dist/pages/sparql-template-create.html +1 -1
  186. package/dist/pages/ux-test1.html +2 -2
  187. package/dist/pages/webapi.html +2 -2
  188. package/dist/plugins.js +1 -1
  189. package/dist/res/swagger5/index.html +11 -11
  190. package/package.json +1 -1
  191. package/dist/12358.2061f29dc113149946a3.bundle.js +0 -3
  192. package/dist/12358.2061f29dc113149946a3.bundle.js.map +0 -1
  193. package/dist/19402.07424b4b7c9dd775d860.bundle.js +0 -2
  194. package/dist/19402.07424b4b7c9dd775d860.bundle.js.map +0 -1
  195. package/dist/21142.ec45fad4d52b36961d17.bundle.js +0 -2
  196. package/dist/21142.ec45fad4d52b36961d17.bundle.js.map +0 -1
  197. package/dist/21195.caae6cc33d755ad52df4.bundle.js +0 -2
  198. package/dist/21195.caae6cc33d755ad52df4.bundle.js.map +0 -1
  199. package/dist/29350.9976c09d5cdaa48ecb19.bundle.js +0 -2
  200. package/dist/29350.9976c09d5cdaa48ecb19.bundle.js.map +0 -1
  201. package/dist/34330.4b46c3a52d19f05fc0b2.bundle.js.map +0 -1
  202. package/dist/36633.bd17a2028ef302870ec4.bundle.js +0 -2
  203. package/dist/36633.bd17a2028ef302870ec4.bundle.js.map +0 -1
  204. package/dist/36665.eda6cfdf545f2608a6c7.bundle.js +0 -2
  205. package/dist/36665.eda6cfdf545f2608a6c7.bundle.js.map +0 -1
  206. package/dist/40516.734b24eead67142c4045.bundle.js +0 -2
  207. package/dist/40516.734b24eead67142c4045.bundle.js.map +0 -1
  208. package/dist/42143.c11e5c28f2b8e9952dbb.bundle.js +0 -2
  209. package/dist/42143.c11e5c28f2b8e9952dbb.bundle.js.map +0 -1
  210. package/dist/44874.5854c207bbe2c4f2438e.bundle.js +0 -2
  211. package/dist/44874.5854c207bbe2c4f2438e.bundle.js.map +0 -1
  212. package/dist/49539.d253a79e8b9710776e48.bundle.js +0 -2
  213. package/dist/49539.d253a79e8b9710776e48.bundle.js.map +0 -1
  214. package/dist/51087.b072d1c0e53403535283.bundle.js.map +0 -1
  215. package/dist/55217.4769c1f0615e364d8c2a.bundle.js.map +0 -1
  216. package/dist/60039.cb9262af0bc63b635c76.bundle.js +0 -2
  217. package/dist/60039.cb9262af0bc63b635c76.bundle.js.map +0 -1
  218. package/dist/63415.81af22cc29be1144e07f.bundle.js +0 -2
  219. package/dist/63415.81af22cc29be1144e07f.bundle.js.map +0 -1
  220. package/dist/64118.fb6952c8ef6fc9117f35.bundle.js +0 -2
  221. package/dist/64118.fb6952c8ef6fc9117f35.bundle.js.map +0 -1
  222. package/dist/67232.e76f40f9d09e64ebb365.bundle.js +0 -2
  223. package/dist/67232.e76f40f9d09e64ebb365.bundle.js.map +0 -1
  224. package/dist/70938.6d0055f916f6d1bc91bb.bundle.js +0 -2
  225. package/dist/70938.6d0055f916f6d1bc91bb.bundle.js.map +0 -1
  226. package/dist/71920.46e7b0ec1d22adcd8e55.bundle.js +0 -2
  227. package/dist/71920.46e7b0ec1d22adcd8e55.bundle.js.map +0 -1
  228. package/dist/73964.fd1ad5e7aa228ad4cbbb.bundle.js +0 -2
  229. package/dist/73964.fd1ad5e7aa228ad4cbbb.bundle.js.map +0 -1
  230. package/dist/75849.bd0bdefa903741034a71.bundle.js +0 -2
  231. package/dist/75849.bd0bdefa903741034a71.bundle.js.map +0 -1
  232. package/dist/76013.3211939a02cf4fb2529e.bundle.js +0 -2
  233. package/dist/76013.3211939a02cf4fb2529e.bundle.js.map +0 -1
  234. package/dist/7928.7900a3911c83495d74dd.bundle.js +0 -2
  235. package/dist/7928.7900a3911c83495d74dd.bundle.js.map +0 -1
  236. package/dist/85609.680b755726c66ea1de34.bundle.js +0 -2
  237. package/dist/85609.680b755726c66ea1de34.bundle.js.map +0 -1
  238. package/dist/85788.4e0818c48b6f29153db4.bundle.js +0 -2
  239. package/dist/85788.4e0818c48b6f29153db4.bundle.js.map +0 -1
  240. package/dist/86142.c29959b68edc59a9b696.bundle.js +0 -2
  241. package/dist/86142.c29959b68edc59a9b696.bundle.js.map +0 -1
  242. package/dist/89695.4ee87c52d4088115c51e.bundle.js.map +0 -1
  243. package/dist/96089.7e28823f34c450de1f7e.bundle.js +0 -2
  244. package/dist/96089.7e28823f34c450de1f7e.bundle.js.map +0 -1
  245. /package/dist/{12358.2061f29dc113149946a3.bundle.js.LICENSE.txt → 12358.4be185f89eebea9c35bf.bundle.js.LICENSE.txt} +0 -0
  246. /package/dist/{legacyWorkbench.2bd696723af2573e8bb7.js.LICENSE.txt → legacyWorkbench.ecf6300fd72cfffbcdb6.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"38644.800252af49cd67310834.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.2.0-TR2\");\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.29dbfb38e4089efa6697.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.2.0-TR4\");\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.2.0-TR2" rel="stylesheet"/> <link href="css/wizard.css?v=3.2.0-TR2" 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" selected-source-repository="selectedSourceRepository.data.repository"></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.29e34a5e5293cee51566.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.2.0-TR4" rel="stylesheet"/> <link href="css/wizard.css?v=3.2.0-TR4" 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" selected-source-repository="selectedSourceRepository.data.repository"></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.4b11f56e93f60fbe4e0a.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"38843.29e34a5e5293cee51566.bundle.js","mappings":"uJAGA,QAFW,omE","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.2.0-TR2\" rel=\"stylesheet\"/> <link href=\"css/wizard.css?v=3.2.0-TR2\" 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\" selected-source-repository=\"selectedSourceRepository.data.repository\"></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.4b11f56e93f60fbe4e0a.bundle.js","mappings":"uJAGA,QAFW,omE","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.2.0-TR4\" rel=\"stylesheet\"/> <link href=\"css/wizard.css?v=3.2.0-TR4\" 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\" selected-source-repository=\"selectedSourceRepository.data.repository\"></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":""}