graphdb-workbench 2.1.2 → 2.1.3-TR1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/{0.1bd9b49fd9f95db7afda.bundle.js → 0.6f85dbec9122f837f5e7.bundle.js} +3 -3
  2. package/dist/0.6f85dbec9122f837f5e7.bundle.js.map +1 -0
  3. package/dist/{10.cabc799d9aabc46e7be7.bundle.js → 10.0d7e127640f8c0678145.bundle.js} +2 -2
  4. package/dist/{10.cabc799d9aabc46e7be7.bundle.js.map → 10.0d7e127640f8c0678145.bundle.js.map} +1 -1
  5. package/dist/{100.24bbc960b22ec8f26f68.bundle.js → 100.8a2c21d9df10d17f9291.bundle.js} +2 -2
  6. package/dist/{100.24bbc960b22ec8f26f68.bundle.js.map → 100.8a2c21d9df10d17f9291.bundle.js.map} +1 -1
  7. package/dist/{11.b2fd98471071348c3964.bundle.js → 11.c8ad938cfc97d57b4d9e.bundle.js} +2 -2
  8. package/dist/{11.b2fd98471071348c3964.bundle.js.map → 11.c8ad938cfc97d57b4d9e.bundle.js.map} +1 -1
  9. package/dist/{110.7419abdcd9b1e7b062ad.bundle.js → 110.4c6719423e79f089e594.bundle.js} +2 -2
  10. package/dist/{110.7419abdcd9b1e7b062ad.bundle.js.map → 110.4c6719423e79f089e594.bundle.js.map} +1 -1
  11. package/dist/{111.87635664a5306fc0c6bb.bundle.js → 111.93eb21f8bd85a9ef5d1b.bundle.js} +2 -2
  12. package/dist/{111.87635664a5306fc0c6bb.bundle.js.map → 111.93eb21f8bd85a9ef5d1b.bundle.js.map} +1 -1
  13. package/dist/{113.2a67bc73a80f0bbf6397.bundle.js → 113.b77f2a783cadc7a2d428.bundle.js} +2 -2
  14. package/dist/{113.2a67bc73a80f0bbf6397.bundle.js.map → 113.b77f2a783cadc7a2d428.bundle.js.map} +1 -1
  15. package/dist/114.db473421180e7bce6495.bundle.js +2 -0
  16. package/dist/114.db473421180e7bce6495.bundle.js.map +1 -0
  17. package/dist/{115.6751a154fb77d1efeec8.bundle.js → 115.00597ad4f535ccc61e03.bundle.js} +2 -2
  18. package/dist/{115.6751a154fb77d1efeec8.bundle.js.map → 115.00597ad4f535ccc61e03.bundle.js.map} +1 -1
  19. package/dist/{116.75f79d13526f131b61f0.bundle.js → 116.7a3c48b8b4348e54c7fd.bundle.js} +2 -2
  20. package/dist/{116.75f79d13526f131b61f0.bundle.js.map → 116.7a3c48b8b4348e54c7fd.bundle.js.map} +1 -1
  21. package/dist/{117.17c60bd040eada2f965d.bundle.js → 117.49b3141cc6594af99fbf.bundle.js} +2 -2
  22. package/dist/{117.17c60bd040eada2f965d.bundle.js.map → 117.49b3141cc6594af99fbf.bundle.js.map} +1 -1
  23. package/dist/{118.fc48834f75995ef9202f.bundle.js → 118.e1ebd5f3d7cf4f8e013a.bundle.js} +2 -2
  24. package/dist/{118.fc48834f75995ef9202f.bundle.js.map → 118.e1ebd5f3d7cf4f8e013a.bundle.js.map} +1 -1
  25. package/dist/{119.44cc6552449537efa8f5.bundle.js → 119.0427b867fee545388a66.bundle.js} +2 -2
  26. package/dist/{119.44cc6552449537efa8f5.bundle.js.map → 119.0427b867fee545388a66.bundle.js.map} +1 -1
  27. package/dist/{12.c008cc99a0d358fd58b7.bundle.js → 12.6bd2906fb955b8456713.bundle.js} +3 -3
  28. package/dist/{12.c008cc99a0d358fd58b7.bundle.js.map → 12.6bd2906fb955b8456713.bundle.js.map} +1 -1
  29. package/dist/{120.8f48d9b3f8071e4c42fd.bundle.js → 120.923b20db8c2c297742d8.bundle.js} +2 -2
  30. package/dist/{120.8f48d9b3f8071e4c42fd.bundle.js.map → 120.923b20db8c2c297742d8.bundle.js.map} +1 -1
  31. package/dist/13.d7290e4e69a54c71e974.bundle.js +3 -0
  32. package/dist/13.d7290e4e69a54c71e974.bundle.js.map +1 -0
  33. package/dist/136.3199d393576be61f53fd.bundle.js +1 -1
  34. package/dist/136.3199d393576be61f53fd.bundle.js.map +1 -1
  35. package/dist/14.638a884323fe9235b58f.bundle.js +2 -0
  36. package/dist/14.638a884323fe9235b58f.bundle.js.map +1 -0
  37. package/dist/{15.e870cbcf6346cc68bd66.bundle.js → 15.244542a39d9296cc4fd8.bundle.js} +2 -2
  38. package/dist/{15.e870cbcf6346cc68bd66.bundle.js.map → 15.244542a39d9296cc4fd8.bundle.js.map} +1 -1
  39. package/dist/{16.23e12f234078c8777ed0.bundle.js → 16.3b52e17f123523d84054.bundle.js} +2 -2
  40. package/dist/{16.23e12f234078c8777ed0.bundle.js.map → 16.3b52e17f123523d84054.bundle.js.map} +1 -1
  41. package/dist/{17.d1ac5f88f9ef9ee1c789.bundle.js → 17.a417430fca1e34e80912.bundle.js} +2 -2
  42. package/dist/{17.d1ac5f88f9ef9ee1c789.bundle.js.map → 17.a417430fca1e34e80912.bundle.js.map} +1 -1
  43. package/dist/{18.63478730d60e02069d90.bundle.js → 18.d6e541cf8e651a6d223e.bundle.js} +2 -2
  44. package/dist/{18.63478730d60e02069d90.bundle.js.map → 18.d6e541cf8e651a6d223e.bundle.js.map} +1 -1
  45. package/dist/19.b5b3699a309774176fc3.bundle.js +1 -1
  46. package/dist/19.b5b3699a309774176fc3.bundle.js.map +1 -1
  47. package/dist/{20.d707dfb57f695469ffaa.bundle.js → 20.a40b79082e0f2a9b3511.bundle.js} +2 -2
  48. package/dist/{20.d707dfb57f695469ffaa.bundle.js.map → 20.a40b79082e0f2a9b3511.bundle.js.map} +1 -1
  49. package/dist/{22.e1562d53daf95dd1fdca.bundle.js → 22.5f70a951e87768500861.bundle.js} +2 -2
  50. package/dist/{22.e1562d53daf95dd1fdca.bundle.js.map → 22.5f70a951e87768500861.bundle.js.map} +1 -1
  51. package/dist/{23.c1b822e6ccc61632355b.bundle.js → 23.3b94ee5770665e9f7ad6.bundle.js} +2 -2
  52. package/dist/{23.c1b822e6ccc61632355b.bundle.js.map → 23.3b94ee5770665e9f7ad6.bundle.js.map} +1 -1
  53. package/dist/{25.8c30b7bafb4875a3cc51.bundle.js → 25.7d9b6d389e1b3c30a2af.bundle.js} +2 -2
  54. package/dist/{25.8c30b7bafb4875a3cc51.bundle.js.map → 25.7d9b6d389e1b3c30a2af.bundle.js.map} +1 -1
  55. package/dist/26.176ffe2071a8d5d382b6.bundle.js +1 -1
  56. package/dist/26.176ffe2071a8d5d382b6.bundle.js.map +1 -1
  57. package/dist/{27.be71055c959c1ac75177.bundle.js → 27.5f249c88f0d56e478227.bundle.js} +2 -2
  58. package/dist/{27.be71055c959c1ac75177.bundle.js.map → 27.5f249c88f0d56e478227.bundle.js.map} +1 -1
  59. package/dist/{29.54cbff989a44a0f71dfd.bundle.js → 29.263746fd089adc12c9eb.bundle.js} +2 -2
  60. package/dist/{29.54cbff989a44a0f71dfd.bundle.js.map → 29.263746fd089adc12c9eb.bundle.js.map} +1 -1
  61. package/dist/31.4ecdb66b2c224a63525e.bundle.js +1 -1
  62. package/dist/31.4ecdb66b2c224a63525e.bundle.js.map +1 -1
  63. package/dist/{32.2582e2eccf29e8d5ec80.bundle.js → 32.31e5cd1ae5b1b26d0bc9.bundle.js} +2 -2
  64. package/dist/{32.2582e2eccf29e8d5ec80.bundle.js.map → 32.31e5cd1ae5b1b26d0bc9.bundle.js.map} +1 -1
  65. package/dist/34.024934549565ec56f905.bundle.js +2 -0
  66. package/dist/34.024934549565ec56f905.bundle.js.map +1 -0
  67. package/dist/{37.ef412d4cbc60967faa5e.bundle.js → 37.48944284f495dd519b6b.bundle.js} +2 -2
  68. package/dist/{37.ef412d4cbc60967faa5e.bundle.js.map → 37.48944284f495dd519b6b.bundle.js.map} +1 -1
  69. package/dist/{39.be2d8c75e4ab391ba984.bundle.js → 39.cd39b4ee76d8238325b0.bundle.js} +2 -2
  70. package/dist/{39.be2d8c75e4ab391ba984.bundle.js.map → 39.cd39b4ee76d8238325b0.bundle.js.map} +1 -1
  71. package/dist/{40.9272ebe1d2246ae3054f.bundle.js → 40.ba69b25514acd93c43c1.bundle.js} +2 -2
  72. package/dist/{40.9272ebe1d2246ae3054f.bundle.js.map → 40.ba69b25514acd93c43c1.bundle.js.map} +1 -1
  73. package/dist/{41.f69dd805b7e51756518f.bundle.js → 41.97280c0900f9b44ab8aa.bundle.js} +2 -2
  74. package/dist/{41.f69dd805b7e51756518f.bundle.js.map → 41.97280c0900f9b44ab8aa.bundle.js.map} +1 -1
  75. package/dist/43.166d4f55ba11d29b26ce.bundle.js +2 -0
  76. package/dist/43.166d4f55ba11d29b26ce.bundle.js.map +1 -0
  77. package/dist/46.c417c82de953a16f7489.bundle.js +2 -0
  78. package/dist/{46.a9d1c07290ab98930744.bundle.js.map → 46.c417c82de953a16f7489.bundle.js.map} +1 -1
  79. package/dist/{48.3c8d17c03f3fc081be89.bundle.js → 48.1c439f5ade00b986bb85.bundle.js} +2 -2
  80. package/dist/{48.3c8d17c03f3fc081be89.bundle.js.map → 48.1c439f5ade00b986bb85.bundle.js.map} +1 -1
  81. package/dist/{55.10bb020070b8c5910e4c.bundle.js → 55.80d6a899d8af7d382755.bundle.js} +2 -2
  82. package/dist/{55.10bb020070b8c5910e4c.bundle.js.map → 55.80d6a899d8af7d382755.bundle.js.map} +1 -1
  83. package/dist/{57.f432e4a7f6dbf5fa9e6e.bundle.js → 57.ff1a43af23df1c3e9eb6.bundle.js} +2 -2
  84. package/dist/{57.f432e4a7f6dbf5fa9e6e.bundle.js.map → 57.ff1a43af23df1c3e9eb6.bundle.js.map} +1 -1
  85. package/dist/{59.feebf4602360cb8257bb.bundle.js → 59.21763503ec43ce516ba9.bundle.js} +2 -2
  86. package/dist/{59.feebf4602360cb8257bb.bundle.js.map → 59.21763503ec43ce516ba9.bundle.js.map} +1 -1
  87. package/dist/{67.58d8539fcac19288b820.bundle.js → 67.d3301189c6f359502b7a.bundle.js} +2 -2
  88. package/dist/{67.58d8539fcac19288b820.bundle.js.map → 67.d3301189c6f359502b7a.bundle.js.map} +1 -1
  89. package/dist/{70.ede527b8438e19a67ebc.bundle.js → 70.bab18e599872f9ceb5bb.bundle.js} +2 -2
  90. package/dist/{70.ede527b8438e19a67ebc.bundle.js.map → 70.bab18e599872f9ceb5bb.bundle.js.map} +1 -1
  91. package/dist/{71.2ddcb945966fd051a3a1.bundle.js → 71.496a9c92cd02ea797086.bundle.js} +2 -2
  92. package/dist/{71.2ddcb945966fd051a3a1.bundle.js.map → 71.496a9c92cd02ea797086.bundle.js.map} +1 -1
  93. package/dist/{72.d2f8a53e83efcb8ab953.bundle.js → 72.e74783723284db9f1039.bundle.js} +2 -2
  94. package/dist/{72.d2f8a53e83efcb8ab953.bundle.js.map → 72.e74783723284db9f1039.bundle.js.map} +1 -1
  95. package/dist/{73.c29f06e5825684d56a9c.bundle.js → 73.c5ea427972a9d61d8bcf.bundle.js} +2 -2
  96. package/dist/{73.c29f06e5825684d56a9c.bundle.js.map → 73.c5ea427972a9d61d8bcf.bundle.js.map} +1 -1
  97. package/dist/{74.b50a23c1751e0fc30aec.bundle.js → 74.87400dce971708ada9bc.bundle.js} +2 -2
  98. package/dist/{74.b50a23c1751e0fc30aec.bundle.js.map → 74.87400dce971708ada9bc.bundle.js.map} +1 -1
  99. package/dist/{75.4f9197361b6427d97b6c.bundle.js → 75.f7026115ff4d35c53061.bundle.js} +2 -2
  100. package/dist/{75.4f9197361b6427d97b6c.bundle.js.map → 75.f7026115ff4d35c53061.bundle.js.map} +1 -1
  101. package/dist/{76.467d072ae323ab41fd3d.bundle.js → 76.7ed7e2f7802914105a2b.bundle.js} +2 -2
  102. package/dist/{76.467d072ae323ab41fd3d.bundle.js.map → 76.7ed7e2f7802914105a2b.bundle.js.map} +1 -1
  103. package/dist/{77.41a60a354d0fb3103b00.bundle.js → 77.8df8d6516be14b18a7c2.bundle.js} +2 -2
  104. package/dist/{77.41a60a354d0fb3103b00.bundle.js.map → 77.8df8d6516be14b18a7c2.bundle.js.map} +1 -1
  105. package/dist/{78.7de8a0f70f6dc1debd05.bundle.js → 78.3d0eba733bb5b528ee23.bundle.js} +2 -2
  106. package/dist/{78.7de8a0f70f6dc1debd05.bundle.js.map → 78.3d0eba733bb5b528ee23.bundle.js.map} +1 -1
  107. package/dist/{79.2f8b2ebcbd07d466c913.bundle.js → 79.f2adb62d49e1ff69c73d.bundle.js} +2 -2
  108. package/dist/{79.2f8b2ebcbd07d466c913.bundle.js.map → 79.f2adb62d49e1ff69c73d.bundle.js.map} +1 -1
  109. package/dist/{8.b21d6a5c1a9412deb34f.bundle.js → 8.fd2fec54b66b2afe1253.bundle.js} +2 -2
  110. package/dist/8.fd2fec54b66b2afe1253.bundle.js.map +1 -0
  111. package/dist/{80.8e71a1aaf3beb2320bf0.bundle.js → 80.40f6ab44b0f5a37f1f1b.bundle.js} +2 -2
  112. package/dist/{80.8e71a1aaf3beb2320bf0.bundle.js.map → 80.40f6ab44b0f5a37f1f1b.bundle.js.map} +1 -1
  113. package/dist/{81.2939c5d2b47cf48be6d5.bundle.js → 81.63bb784ce719c97dccc2.bundle.js} +2 -2
  114. package/dist/{81.2939c5d2b47cf48be6d5.bundle.js.map → 81.63bb784ce719c97dccc2.bundle.js.map} +1 -1
  115. package/dist/{82.69913e9f45a1dd96c6be.bundle.js → 82.f722c4f985e7c7375b7d.bundle.js} +2 -2
  116. package/dist/{82.69913e9f45a1dd96c6be.bundle.js.map → 82.f722c4f985e7c7375b7d.bundle.js.map} +1 -1
  117. package/dist/83.73515cde0a2215275d32.bundle.js +1 -1
  118. package/dist/83.73515cde0a2215275d32.bundle.js.map +1 -1
  119. package/dist/{84.5e89f3253c2c5885f662.bundle.js → 84.ed814bb2e6caa09eaf59.bundle.js} +2 -2
  120. package/dist/{84.5e89f3253c2c5885f662.bundle.js.map → 84.ed814bb2e6caa09eaf59.bundle.js.map} +1 -1
  121. package/dist/{85.f6ae072160876c4c5beb.bundle.js → 85.c1a85a647349f948774e.bundle.js} +2 -2
  122. package/dist/{85.f6ae072160876c4c5beb.bundle.js.map → 85.c1a85a647349f948774e.bundle.js.map} +1 -1
  123. package/dist/{88.4bfa7b74511d52c5c42f.bundle.js → 88.d3afc4e8e2613c803b60.bundle.js} +2 -2
  124. package/dist/{88.4bfa7b74511d52c5c42f.bundle.js.map → 88.d3afc4e8e2613c803b60.bundle.js.map} +1 -1
  125. package/dist/{89.6e767bc84921c435570c.bundle.js → 89.e206f700717532b86d4a.bundle.js} +2 -2
  126. package/dist/{89.6e767bc84921c435570c.bundle.js.map → 89.e206f700717532b86d4a.bundle.js.map} +1 -1
  127. package/dist/{90.5c5efc19e9053c029343.bundle.js → 90.192cdf37db2b7fe57457.bundle.js} +2 -2
  128. package/dist/{90.5c5efc19e9053c029343.bundle.js.map → 90.192cdf37db2b7fe57457.bundle.js.map} +1 -1
  129. package/dist/{92.b601c9bc8133fcf28163.bundle.js → 92.3adcb08e3ce3aa2196d9.bundle.js} +2 -2
  130. package/dist/{92.b601c9bc8133fcf28163.bundle.js.map → 92.3adcb08e3ce3aa2196d9.bundle.js.map} +1 -1
  131. package/dist/{94.4b1ada797602e279b977.bundle.js → 94.b7d4fbf7b903b58bbb9f.bundle.js} +2 -2
  132. package/dist/{94.4b1ada797602e279b977.bundle.js.map → 94.b7d4fbf7b903b58bbb9f.bundle.js.map} +1 -1
  133. package/dist/{95.95758068abd9eac4ed40.bundle.js → 95.4f4ec7e3bf1e54b69e22.bundle.js} +2 -2
  134. package/dist/{95.95758068abd9eac4ed40.bundle.js.map → 95.4f4ec7e3bf1e54b69e22.bundle.js.map} +1 -1
  135. package/dist/{98.8f1b6e94748a6049ed93.bundle.js → 98.46fcd4b9d0cee530a965.bundle.js} +2 -2
  136. package/dist/{98.8f1b6e94748a6049ed93.bundle.js.map → 98.46fcd4b9d0cee530a965.bundle.js.map} +1 -1
  137. package/dist/{bundle.595d7082ecc6c2683c9a.bundle.js → bundle.e02c0ceb3243288288de.bundle.js} +15 -15
  138. package/dist/bundle.e02c0ceb3243288288de.bundle.js.map +1 -0
  139. package/dist/css/yasr.custom.css +5 -1
  140. package/dist/index.html +4 -4
  141. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  142. package/dist/{main.96399f8393ca515638d2.bundle.js → main.e83e6336936d01c58d59.bundle.js} +2 -2
  143. package/dist/{main.96399f8393ca515638d2.bundle.js.map → main.e83e6336936d01c58d59.bundle.js.map} +1 -1
  144. package/dist/{main.c3519a595e24d0a69ccd.css → main.fa014240754b8b1655a9.css} +1 -1
  145. package/dist/pages/autocomplete.html +1 -1
  146. package/dist/pages/choose-repository-type.html +1 -1
  147. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  148. package/dist/pages/create-index.html +4 -4
  149. package/dist/pages/dependencies.html +1 -1
  150. package/dist/pages/domainRangeInfo.html +2 -2
  151. package/dist/pages/edit.html +1 -1
  152. package/dist/pages/explore.html +1 -1
  153. package/dist/pages/export.html +1 -1
  154. package/dist/pages/find.html +1 -1
  155. package/dist/pages/graph-config/saveGraphConfig.html +15 -15
  156. package/dist/pages/graphs-visualizations.html +14 -14
  157. package/dist/pages/guides.html +1 -1
  158. package/dist/pages/import.html +1 -1
  159. package/dist/pages/jdbc-create.html +5 -5
  160. package/dist/pages/monitor/queries.html +1 -1
  161. package/dist/pages/monitor/resources.html +2 -2
  162. package/dist/pages/namespaces.html +4 -4
  163. package/dist/pages/plugins.html +1 -1
  164. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  165. package/dist/pages/rdfrank.html +2 -2
  166. package/dist/pages/repositories.html +2 -2
  167. package/dist/pages/repository.html +2 -2
  168. package/dist/pages/similarity-indexes.html +1 -1
  169. package/dist/pages/sparql-template-create.html +5 -5
  170. package/dist/pages/sparql.html +3 -3
  171. package/dist/pages/webapi.html +2 -2
  172. package/dist/res/swagger/index.html +27 -27
  173. package/dist/{vendor.31cf390ca240d8cd1ef3.bundle.js → vendor.7492dbcfefe195da8d15.bundle.js} +6 -6
  174. package/dist/{vendor.31cf390ca240d8cd1ef3.bundle.js.map → vendor.7492dbcfefe195da8d15.bundle.js.map} +1 -1
  175. package/package.json +1 -1
  176. package/dist/0.1bd9b49fd9f95db7afda.bundle.js.map +0 -1
  177. package/dist/114.ed2c2d1606cd75dbd7c6.bundle.js +0 -2
  178. package/dist/114.ed2c2d1606cd75dbd7c6.bundle.js.map +0 -1
  179. package/dist/13.9b9388352980715b16bb.bundle.js +0 -3
  180. package/dist/13.9b9388352980715b16bb.bundle.js.map +0 -1
  181. package/dist/14.c512cd1282fe7dec36bf.bundle.js +0 -2
  182. package/dist/14.c512cd1282fe7dec36bf.bundle.js.map +0 -1
  183. package/dist/34.100b126b4d89e99d4ac4.bundle.js +0 -2
  184. package/dist/34.100b126b4d89e99d4ac4.bundle.js.map +0 -1
  185. package/dist/43.f76be157f75bc7b3ea68.bundle.js +0 -2
  186. package/dist/43.f76be157f75bc7b3ea68.bundle.js.map +0 -1
  187. package/dist/46.a9d1c07290ab98930744.bundle.js +0 -2
  188. package/dist/8.b21d6a5c1a9412deb34f.bundle.js.map +0 -1
  189. package/dist/bundle.595d7082ecc6c2683c9a.bundle.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/utils/file-types.js","webpack:///./src/js/angular/export/controllers.js"],"names":["angular","module","value","name","type","extension","controller","$scope","$http","$location","$timeout","ModalService","filterFilter","$repositories","toastr","RDF4JRepositoriesRestService","FileTypes","$translate","getActiveRepository","exportFormats","deleting","showExportDDTooltip","page","pageSize","pageSizeOptions","displayGraphs","exportFilter","export","exportMultipleGraphs","repoExportFormat","selectedGraphs","exportGraphs","$watch","getGraphs","selectedAll","changePageSize","isShacl","iri","loader","success","data","results","bindings","unshift","contextID","graphsByValue","Object","keys","forEach","key","binding","uri","encodeURIComponent","clearUri","exportUri","longName","graphs","filteredGraphs","copy","slice","matchedElements","error","status","msg","getError","setRepository","instant","onGraphSearch","deselectAll","filterResults","item","indexOf","push","downloadExport","downloadUrl","format","url","auth","localStorage","getItem","win","window","open","document","location","href","close","openExportDDTooltip","$","trigger","exportRepo","openSimpleModal","title","message","warning","result","then","startDownload","repo","getActiveRepositoryObject","id","hasMultipleSelected","_","isEmpty","index","exportSelectedGraphs","contextStr","substring","length","element","find","valueOfFilteredGraphsButton","innerHTML","trim","valueOfFilteredGraphs","changePagination","isDefined","size","removeClass","checkAll","dropRepository","canWriteActiveRepo","addStatements","err","errMsg","dropContext","ctx","updateResults","dropGraph","selectedGraphsForDelete","counterOfClearedGraphs","dropSelectedGraphs"],"mappings":"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","file":"34.100b126b4d89e99d4ac4.bundle.js","sourcesContent":["angular.module('graphdb.workbench.utils.filetypes', [])\n .value('FileTypes', [\n {name: 'JSON', type: 'application/rdf+json', extension: '.json'},\n {name: 'JSON-LD', type: 'application/ld+json', extension: '.jsonld'},\n {name: 'RDF-XML', type: 'application/rdf+xml', extension: '.rdf'},\n {name: 'N3', type: 'text/rdf+n3', extension: '.n3'},\n {name: 'N-Triples', type: 'text/plain', extension: '.nt'},\n {name: 'N-Quads', type: 'text/x-nquads', extension: '.nq'},\n {name: 'Turtle', type: 'text/turtle', extension: '.ttl'},\n {name: 'Turtle*', type: 'application/x-turtlestar', extension: '.ttls'},\n {name: 'TriX', type: 'application/trix', extension: '.trix'},\n {name: 'TriG', type: 'application/x-trig', extension: '.trig'},\n {name: 'TriG*', type: 'application/x-trigstar', extension: '.trigs'},\n {name: 'Binary RDF', type: 'application/x-binary-rdf', extension: '.brf'}\n ]);\n","import 'angular/core/services';\nimport 'angular/core/services/repositories.service';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/utils/file-types';\nimport {decodeHTML} from \"../../../app\";\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.workbench.utils.filetypes'\n];\n\nconst exportCtrl = angular.module('graphdb.framework.impex.export.controllers', modules);\n\nexportCtrl.controller('ExportCtrl',\n ['$scope', '$http', '$location', '$timeout', 'ModalService', 'filterFilter', '$repositories', 'toastr', 'RDF4JRepositoriesRestService', 'FileTypes', '$translate',\n function ($scope, $http, $location, $timeout, ModalService, filterFilter, $repositories, toastr, RDF4JRepositoriesRestService, FileTypes, $translate) {\n\n $scope.getActiveRepository = function () {\n return $repositories.getActiveRepository();\n };\n\n $scope.exportFormats = FileTypes;\n $scope.deleting = {};\n $scope.showExportDDTooltip = true;\n $scope.page = 1;\n $scope.pageSize = 10;\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.displayGraphs = [];\n $scope.exportFilter = '';\n $scope.export = true;\n $scope.exportMultipleGraphs = false;\n $scope.repoExportFormat = {\n name: 'TriG',\n type: 'application/x-trig',\n extension: '.trig'\n };\n $scope.selectedGraphs = {\n exportGraphs: {}\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.exportFilter = '';\n $scope.getGraphs();\n $scope.selectedAll = false;\n $timeout(function () {\n $scope.changePageSize(10);\n }, 100);\n });\n\n $scope.isShacl = function (iri) {\n return iri === \"http%3A%2F%2Frdf4j.org%2Fschema%2Frdf4j%23SHACLShapeGraph\";\n };\n\n /// <summary>Get Graphs that are part of the Active Repository.</summary>\n $scope.getGraphs = function () {\n if ($scope.getActiveRepository()) {\n $scope.loader = true;\n RDF4JRepositoriesRestService.getGraphs($scope.getActiveRepository()).success(function (data) {\n data.results.bindings.unshift({\n contextID: {\n type: 'default',\n value: 'import.default.graph'\n }\n });\n $scope.graphsByValue = {};\n Object.keys(data.results.bindings).forEach(function (key) {\n const binding = data.results.bindings[key];\n if (binding.contextID.type === 'bnode') {\n binding.contextID.value = '_:' + binding.contextID.value;\n } else if (binding.contextID.type === 'default') {\n binding.contextID.uri = encodeURIComponent('http://www.openrdf.org/schema/sesame#nil');\n binding.contextID.clearUri = 'DEFAULT';\n binding.contextID.exportUri = 'null';\n binding.contextID.longName = 'default graph';\n } else {\n binding.contextID.uri = encodeURIComponent(binding.contextID.value);\n binding.contextID.clearUri = 'GRAPH <' + binding.contextID.value + '>';\n binding.contextID.exportUri = encodeURIComponent('<' + binding.contextID.value + '>');\n binding.contextID.longName = 'named graph ' + binding.contextID.value;\n }\n $scope.graphsByValue[binding.contextID.value] = binding.contextID;\n });\n $scope.graphs = data.results.bindings;\n $scope.filteredGraphs = angular.copy($scope.graphs);\n $scope.displayGraphs = $scope.filteredGraphs.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n $scope.loader = false;\n $scope.selectedGraphs.exportGraphs = {};\n $scope.matchedElements = $scope.graphs;\n }).error(function (data, status) {\n const msg = getError(data, status);\n if (msg === 'There is no active location!') {\n $repositories.setRepository('');\n toastr.error(msg, $translate.instant('common.error'));\n }\n $scope.loader = false;\n });\n } else {\n $scope.loader = false;\n }\n };\n\n $scope.onGraphSearch = function () {\n $scope.matchedElements = [];\n $scope.deselectAll();\n $scope.filterResults();\n };\n\n $scope.filterResults = function () {\n angular.forEach($scope.graphs, function (item) {\n if (item.contextID.value.indexOf($scope.exportFilter) !== -1) {\n $scope.matchedElements.push(item);\n }\n });\n };\n\n $scope.downloadExport = function (downloadUrl, format) {\n let url = downloadUrl + '&Accept=' + encodeURIComponent(format.type);\n const auth = localStorage.getItem('com.ontotext.graphdb.auth');\n if (auth) {\n url = url + '&authToken=' + encodeURIComponent(auth);\n }\n let win = window.open(url);\n $timeout(function () {\n if (win.document.location.href !== 'about:blank') {\n win.close();\n toastr.error('Could not export graph. Check GraphDB logs for detailed reason.');\n }\n }, 100);\n\n };\n\n /// <summary>Trigger the custom event for DD tooltip.</summary>\n $scope.openExportDDTooltip = function () {\n if ($scope.showExportDDTooltip) {\n $timeout(function () {\n $('#tooltipTarget').trigger('showExportDDTooltip');\n }, 0);\n $timeout(function () {\n $('#tooltipTarget').trigger('showExportDDTooltip');\n }, 3000);\n\n //Set to false so the tooltip shows only once\n $scope.showExportDDTooltip = false;\n\n }\n };\n\n /// <summary>Fill the hidden form and submit it to start download document.</summary>\n $scope.exportRepo = function (format, contextID) {\n if (format.type === 'application/rdf+xml' || format.type === 'text/plain' || format.type === 'text/turtle' || format.type === 'application/x-turtlestar' || format.type === 'text/rdf+n3') {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: decodeHTML($translate.instant('export.format.warning.msg')),\n warning: true\n }).result\n .then(function () {\n $scope.startDownload(format, contextID);\n });\n } else {\n $scope.startDownload(format, contextID);\n }\n };\n\n $scope.startDownload = function (format, contextID) {\n //If it's graph set the url for ?context=\n let downloadUrl;\n const repo = $repositories.getActiveRepositoryObject();\n if (contextID) {\n downloadUrl = `repositories/${repo.id}/statements?infer=false&context=${$scope.graphsByValue[contextID.value].exportUri}&location=${encodeURIComponent(repo.location)}`;\n } else {\n downloadUrl = `repositories/${repo.id}/statements?infer=false&location=${encodeURIComponent(repo.location)}`;\n }\n $scope.downloadExport(downloadUrl, format);\n };\n\n $scope.hasMultipleSelected = function () {\n if (_.isEmpty($scope.selectedGraphs.exportGraphs)) {\n return !_.isEmpty($scope.selectedGraphs.exportGraphs);\n } else {\n for (const index in $scope.selectedGraphs.exportGraphs) {\n if ($scope.selectedGraphs.exportGraphs[index] === true) {\n return true;\n }\n }\n return false;\n }\n };\n\n $scope.exportSelectedGraphs = function (format) {\n let contextStr = '';\n for (const index in $scope.selectedGraphs.exportGraphs) {\n if ($scope.selectedGraphs.exportGraphs[index]) {\n contextStr += 'context=' + $scope.graphsByValue[index].exportUri + '&';\n }\n }\n\n if (contextStr) {\n const startDownload = function () {\n contextStr = contextStr.substring(0, contextStr.length - 1);\n const downloadUrl = 'repositories/' + $scope.getActiveRepository() + '/statements?infer=false&' + contextStr;\n $scope.downloadExport(downloadUrl, format);\n };\n\n if (format.type === 'application/rdf+xml' || format.type === 'text/plain' || format.type === 'text/turtle' || format.type === 'application/x-turtlestar' || format.type === 'text/rdf+n3') {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: decodeHTML($translate.instant('export.format.warning.msg')),\n warning: true\n }).result\n .then(function () {\n startDownload();\n });\n } else {\n startDownload();\n }\n } else {\n ModalService.openSimpleModal({\n title: $translate.instant('export.multiple.graph'),\n message: $translate.instant('export.check.graphs.msg'),\n warning: true\n });\n }\n };\n\n $scope.$watch('exportFilter', function () {\n $scope.filteredGraphs = filterFilter($scope.graphs, $scope.exportFilter);\n if ($scope.getActiveRepository() && angular.element(document).find('.btn.btn-secondary.btn-sm.dropdown-toggle span').length) {\n const valueOfFilteredGraphsButton = angular.element(document).find('.btn.btn-secondary.btn-sm.dropdown-toggle span')[0].innerHTML.trim();\n let valueOfFilteredGraphs;\n if (valueOfFilteredGraphsButton === 'All') {\n valueOfFilteredGraphs = $scope.filteredGraphs.length;\n }\n if ($scope.filteredGraphs && $scope.filteredGraphs.length > $scope.pageSize && valueOfFilteredGraphsButton !== 'All') {\n valueOfFilteredGraphs = $scope.pageSize;\n }\n $scope.changePageSize(valueOfFilteredGraphs);\n $scope.changePagination();\n }\n });\n\n $scope.changePagination = function () {\n $scope.selectedAll = false;\n if (angular.isDefined($scope.filteredGraphs)) {\n $scope.displayGraphs = $scope.filteredGraphs.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $('.ot-graph-page-size').removeClass('active');\n $scope.page = 1;\n if (size) {\n $scope.pageSize = size;\n $scope.changePagination();\n }\n if ($scope.filteredGraphs && $scope.exportFilter !== '') {\n $scope.displayGraphs = $scope.filteredGraphs;\n }\n };\n\n $scope.checkAll = function () {\n $scope.selectedAll = $scope.selectedAll || false;\n\n angular.forEach($scope.displayGraphs, function (item) {\n if (item.contextID.uri) {\n $scope.selectedGraphs.exportGraphs[item.contextID.value] = $scope.selectedAll;\n }\n });\n };\n\n $scope.deselectAll = function () {\n $scope.selectedAll = false;\n angular.forEach($scope.displayGraphs, function (item) {\n if (item.contextID.uri) {\n $scope.selectedGraphs.exportGraphs[item.contextID.value] = false;\n }\n });\n };\n\n $scope.dropRepository = function () {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n $scope.deleting['*'] = true;\n\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.msg'),\n message: $translate.instant('export.warning.clear.repo.msg', {repo: $repositories.getActiveRepository()}),\n warning: true\n }).result\n .then(function () {\n $timeout(function () {\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), 'update=CLEAR ALL')\n .then(function () {\n $scope.deleting['*'] = false;\n toastr.success($translate.instant('export.cleared.repo', {repo: $repositories.getActiveRepository()}));\n $scope.getGraphs();\n }, function (err) {\n $scope.deleting['*'] = false;\n const errMsg = err.data;\n if (typeof errMsg == \"string\" && errMsg.indexOf(\"Clearing all statements in the \" +\n \"repository is incompatible with collecting history\") > -1) {\n toastr.error($translate.instant('export.clearing.statements.warning'));\n } else {\n toastr.error($translate.instant('export.cleared.repo.failed.msg', {repo: $repositories.getActiveRepository()}), err);\n }\n });\n }, 100);\n });\n };\n\n function dropGraph(ctx) {\n const longName = ctx.contextID.longName;\n $scope.deleting[ctx] = true;\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.graph'),\n message: $translate.instant('export.clear.graph.warning', {longName: longName}),\n warning: true\n }).result\n .then(function () {\n $timeout(function () {\n const data = `update=CLEAR ${ctx.contextID.clearUri}`;\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), data)\n .then(function () {\n $scope.deleting[ctx] = false;\n toastr.success($translate.instant('export.cleared.graph', {longName: longName}));\n $scope.getGraphs();\n $scope.exportFilter = '';\n $scope.filteredGraphs.length = 0;\n $scope.updateResults();\n $scope.changePageSize($scope.pageSize);\n }, function (err) {\n $scope.deleting[ctx] = false;\n toastr.error($translate.instant('export.clear.graph.msg', {longName: longName}), getError(err, err.status));\n });\n }, 100);\n }, function () {\n $scope.deleting[ctx] = false;\n });\n }\n\n function dropSelectedGraphs(ctx) {\n const selectedGraphsForDelete = [];\n angular.forEach($scope.selectedGraphs.exportGraphs, function (value, key) {\n if (value) {\n selectedGraphsForDelete.push(key);\n }\n });\n\n if (selectedGraphsForDelete.length > 0) {\n $scope.deleting[ctx] = true;\n ModalService.openSimpleModal({\n title: $translate.instant('export.confirm.clear.graph'),\n message: $translate.instant('export.warning.clear.graph.msg'),\n warning: true\n }).result.then(function () {\n $timeout(function () {\n let counterOfClearedGraphs = 0;\n angular.forEach(selectedGraphsForDelete, function (contextID) {\n const data = `update=CLEAR ${$scope.graphsByValue[contextID].clearUri}`;\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), data)\n .then(function () {\n $scope.loader = true;\n $scope.selectedGraphs.exportGraphs[contextID] = false;\n delete $scope.selectedGraphs.exportGraphs[contextID];\n counterOfClearedGraphs++;\n if (selectedGraphsForDelete.length === counterOfClearedGraphs) {\n $scope.selectedAll = false;\n $scope.exportFilter = '';\n $scope.filteredGraphs.length = 0;\n $scope.getGraphs();\n $scope.updateResults();\n $scope.changePageSize($scope.pageSize);\n toastr.success($translate.instant('export.cleared.graph.msg'));\n $scope.loader = false;\n }\n }, function (err) {\n const longName = $scope.graphsByValue[contextID].longName;\n toastr.error($translate.instant('export.clear.graph.msg', {longName: longName}), getError(err, err.status));\n $scope.selectedAll = false;\n });\n });\n }, 100);\n }, function () {\n $scope.deleting[ctx] = false;\n });\n }\n }\n\n $scope.dropContext = function (ctx) {\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n if (angular.isDefined(ctx)) {\n dropGraph(ctx);\n } else {\n dropSelectedGraphs(ctx);\n }\n };\n }]);\n"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[43,122],{38:function(e,n){function t(e,n){return{showToastMessageWithDelay:function(t){return new Promise(r=>{e.success(n.instant(t)),setTimeout(r,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr","$translate"]},93:function(e,n,t){"use strict";t.r(n);t(38),t(5);function r(e,n,t,r,i,a,o,s,u,c,d,l,y){const g=o.search().type;void 0===g||g.startsWith("text")?e.viewType="text":e.viewType=g;e.newIndex={},e.info=s,e.page=1;const w={id:"1",name:"",query:"",inference:!0,sameAs:!0};const f=function(){var t;if(e.editSearchQuery=o.search().editSearchQuery,e.page=e.editSearchQuery?2:1,e.newIndex.name=(t=o.search().name)?1!==e.page?t:"Copy_of_"+t:"",e.newIndex.options=o.search().options?o.search().options:"text"===e.viewType?"-termweight idf":"",e.searchQueries&&(e.newIndex.searchQuery=o.search().searchQuery?o.search().searchQuery:e.searchQueries[e.viewType],"predication"===e.viewType&&(e.newIndex.analogicalQuery=o.search().analogicalQuery?o.search().analogicalQuery:e.searchQueries.analogical)),e.editSearchQuery)e.currentQuery.query=e.newIndex.searchQuery,e.notoolbarInference=!0,e.notoolbarSameAs=!0,window.editor&&e.setQuery(e.newIndex.searchQuery);else{if("text"===e.viewType&&e.allSamples){e.samples=e.allSamples.text,e.newIndex.stopList=o.search().stopList?o.search().stopList:void 0,e.newIndex.analyzer=o.search().analyzer?o.search().analyzer:"org.apache.lucene.analysis.en.EnglishAnalyzer";const n=h("-literal_index");void 0!==n&&(e.newIndex.isLiteralIndex=n),window.editor&&e.setQuery(e.samples.literals)}"predication"===e.viewType&&e.allSamples&&(i.getIndexes().success((function(n){if(e.literalIndexes=["no-index"].concat(n.filter((function(e){return"textLiteral"===e.type&&("BUILT"===e.status||"OUTDATED"===e.status)})).map((function(e){return e.name}))),void 0===e.newIndex.inputIndex){const n=h("-input_index");if(void 0!==n)for(let t=0;t<e.literalIndexes.length;t++)n===e.literalIndexes[t]&&(e.newIndex.inputIndex=e.literalIndexes[t])}void 0===e.newIndex.inputIndex&&(e.newIndex.inputIndex=e.literalIndexes[0])})).error((function(e){const t=getError(e);n.error(t,y.instant("similarity.could.not.get.indexes.error"))})),e.samples=e.allSamples.predication,window.editor&&e.setQuery(e.samples.predication))}},p=new RegExp("^[a-zA-Z0-9-_]+$"),m=function(){return e.invalidIndexName=!1,e.saveQueries(),e.newIndex.name?p.test(e.newIndex.name)?e.newIndex.query?e.newIndex.searchQuery?"predication"!==e.viewType||e.newIndex.analogicalQuery?"SELECT"===window.editor.getQueryType()||void n.error(y.instant("similarity.index.select.queries.constraint")):(n.error(y.instant("similarity.empty.analogical.query.error")),!1):(n.error(y.instant("similarity.empty.search.query.error")),!1):(n.error(y.instant("similarity.empty.select.query.error")),!1):(e.invalidIndexName=y.instant("similarity.index.name.constraint"),!1):(e.invalidIndexName=y.instant("similarity.empty.index.name.error"),!1)},x=function(n,t){e.newIndex.options=e.newIndex.options+(""===e.newIndex.options?"":" ")+n+" "+t};function h(n){const t=e.newIndex.options.split(" ");for(let r=0;r<t.length;r++)if(t[r]===n&&r+1<t.length){const n=t[r+1];return delete t[r],delete t[r+1],e.newIndex.options=t.join(" "),n}}function I(e){}function Q(n,t,r){const i=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,i.addClass("hide")):(e.progressMessage="",e.extraMessage="",i.removeClass("hide")),null===e.$$phase&&e.$apply()}function T(n){function t(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}const i=n;if(e.orientationViewMode){if("yasr"===e.viewMode){let e=t()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px"}else e.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(e.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let e=t()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px",document.getElementById("yasr").style.minHeight=e+"px"}else{let n;n=r(i?function(){e.fixSizesOnHorizontalViewModeSwitch(i)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){r.cancel(n)}))}window.yasr&&window.yasr.container&&r((function(){window.yasr.container.resize()}),100)}function S(){T(!0)}function v(e){r((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function b(t,r){e.executedQueryTab=e.currentQuery,"SELECT"===window.editor.getQueryType()?r&&"SELECT"!==window.editor.getQueryType()?n.warning(y.instant("similarity.explain.select.queries.constraint")):"update"!==window.editor.getQueryMode()?(e.explainRequested=r,e.queryIsRunning||(t?e.currentTabConfig.resultsCount=0:e.resetCurrentTabConfig(),e.viewMode="editor",e.orientationViewMode&&e.fixSizesOnHorizontalViewModeSwitch(),Q(!0,y.instant("evaluating.query.msg")),window.editor.query())):n.warning(y.instant("cannot.execute.update.error")):n.error(y.instant("similarity.indexes.select.queries.constraint"))}function q(){Q(!0,y.instant("common.refreshing.namespaces"),y.instant("common.extra.message")),c.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){Q(!1)}))}function C(){a.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const t=getError(e);return n.error(t,y.instant("common.add.known.prefixes.error")),!0}))}function E(n){let t=void 0;return angular.forEach(e.tabsData,(function(e){if(e.name===n.name&&e.query===n.body)return t=e.id,e})),t}function M(){e.tabsData=[e.currentQuery];const n=e.currentQuery;null===e.currentQuery.query||""===e.currentQuery.query?window.editor.setValue(" "):window.editor.setValue(e.currentQuery.query||" "),r((function(){e.currentTabConfig={},e.currentTabConfig.queryType=n.queryType,e.currentTabConfig.resultsCount=n.resultsCount,e.currentTabConfig.offset=n.offset,e.currentTabConfig.allResultsCount=n.allResultsCount,e.currentTabConfig.page=n.page,e.currentTabConfig.pageSize=n.pageSize,e.currentTabConfig.timeFinished=n.timeFinished,e.currentTabConfig.timeTook=n.timeTook,e.currentTabConfig.sizeDelta=n.sizeDelta,e.$apply()}),0),$("#yasr").css("padding","0")}function L(e){return $(e).attr("data-id")}i.getSearchQueries().success((function(n){e.searchQueries=n,i.getSamples().success((function(n){w.query=o.search().selectQuery?o.search().selectQuery:n.text.literals,w.inference=!("false"===o.search().infer),w.sameAs=!("false"===o.search().sameAs),e.tabsData=e.tabs=[w],e.currentQuery=angular.copy(w),e.allSamples=n,f()}))})).error((function(e){const t=getError(e);n.error(t,y.instant("similarity.could.not.get.search.queries.error"))})),e.$watch("viewType",(function(){f()})),e.helpHidden=1===d.get(l.HIDE_SIMILARITY_HELP),e.toggleHelp=function(n){void 0===n&&(n=d.get(l.HIDE_SIMILARITY_HELP)),1!==n?(d.set(l.HIDE_SIMILARITY_HELP,1),e.helpHidden=!0):(d.set(l.HIDE_SIMILARITY_HELP,0),e.helpHidden=!1)},e.viewQuery=function(){m()&&i.getQuery({indexName:e.newIndex.name,indexOptions:e.newIndex.options,query:e.currentQuery.query,indexStopList:e.newIndex.stopList,queryInference:e.currentQuery.inference,querySameAs:e.currentQuery.sameAs,viewType:e.viewType,indexAnalyzer:e.newIndex.analyzer}).success((function(e){e&&t.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return e}}})}))},e.$watch("newIndex.name",(function(){e.isInvalidIndexName=!1,e.isEmptyIndexName=!1})),e.saveQueries=function(){const n=window.editor.getValue().trim();1===e.page?e.newIndex.query=n:2===e.page?e.newIndex.searchQuery=n:3===e.page&&(e.newIndex.analogicalQuery=n)},e.goToPage=function(n){1!==n&&"yasr"!==e.viewMode&&(e.showEditor(),r((function(){2===n&&(e.currentQuery.query=e.newIndex.searchQuery),3===n&&(e.currentQuery.query=e.newIndex.analogicalQuery),window.editor.setValue(e.currentQuery.query||" ")}))),e.saveQueries(),1===n?e.currentQuery.query=e.newIndex.query:2===n?e.currentQuery.query=e.newIndex.searchQuery:3===n&&(e.currentQuery.query=e.newIndex.analogicalQuery),M(),e.notoolbar=1!==n,e.page=n},e.createIndex=function(){m()&&i.getIndexes().success((function(t){if(t.forEach((function(n){n.name===e.newIndex.name&&(e.invalidIndexName=y.instant("similarity.existing.index.name.error"))})),!e.invalidIndexName){let t=e.viewType;if(void 0!==e.literalIndexes){const n=e.newIndex.inputIndex;n!==e.literalIndexes[0]&&x("-input_index",n)}"true"===e.newIndex.isLiteralIndex&&(x("-literal_index","true"),t="textLiteral"),i.createIndex("POST",e.newIndex.name,e.newIndex.options,e.newIndex.query,e.newIndex.searchQuery,e.newIndex.analogicalQuery,e.newIndex.stopList,e.currentQuery.inference,e.currentQuery.sameAs,t,e.newIndex.analyzer).error((function(e){n.error(getError(e),y.instant("similarity.create.index.error"))})),o.url("similarity")}})).error((function(e){const t=getError(e);n.error(t,y.instant("similarity.could.not.get.indexes.error"))}))},e.setQuery=function(e){window.editor.setValue(e||" ")},e.showEditor=function(){window.editor.xhr&&window.editor.xhr.abort(),e.viewMode="yasr"},e.showPreview=function(){e.currentQuery.outputType="table",e.runQuery()},e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0}},e.queryExists=!1,e.resetCurrentTabConfig(),e.tabsData=e.tabs=[w],e.saveTab=function(n){const t=function(n){for(let t=0;t<e.tabsData.length;t++){if(e.tabsData[t].id===n)return t}}(n);if(void 0===t)return{};const r=e.tabsData[t];return e.saveQueryToLocal(r),r},e.loadTab=M,e.addNewTab=function(e,n,t){},e.runQuery=b,e.getNamespaces=q,e.changePagination=function(){b(!0,e.explainRequested)},e.toggleSampleQueries=function(){},e.addKnownPrefixes=C,e.getExistingTabId=E,e.querySelected=function(n){const t=E(n);e.toggleSampleQueries(),angular.isDefined(t)?v(t):e.addNewTab(null,n.name,n.body)},e.saveQueryToLocal=I,e.setLoader=Q,e.getLoaderMessage=function(){const n=(Date.now()-e.queryStartTime)/1e3,t=e.getHumanReadableSeconds(n);let r="";r=e.progressMessage?e.progressMessage+"... "+t:y.instant("common.running.operation",{timeHuman:t});e.extraMessage&&n>10&&(r+="\n"+e.extraMessage);return r},e.fixSizesOnHorizontalViewModeSwitch=T,e.changeViewMode=function(n){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,T(),$(".dataTables_filter").remove(),$(".resultsTable").remove(),r((function(){M(),v(n)}),100)},e.showHideEditor=S,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!0,e.getActiveRepository(),e.orientationViewMode||S(),e.getActiveRepository()&&q(),e.$on("$destroy",(function(){window.editor=null,window.yasr=null})),$("textarea").on("paste",(function(){r((function(){C()}),0)})),e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(){e.currentQuery})),e.$on("tabAction",(function(n,t){t.relatedTarget&&e.saveTab(L(t.relatedTarget)),e.loadTab(L(t.target))})),e.$on("deleteAllexeptSelected",(function(n,t){e.tabsData=t,e.tabs=t})),e.currentQuery=angular.copy(w),e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.getResultsDescription=function(){},e.getUpdateDescription=function(){},e.getStaleWarningMessage=function(){},e.saveSearchQuery=function(){if("SELECT"!==window.editor.getQueryType())return void n.error(y.instant("similarity.index.select.queries.constraint"));let t={name:e.newIndex.name,changedQuery:e.currentQuery.query,isSearchQuery:2===e.page};return i.saveSearchQuery(JSON.stringify(t)).then((async function(){await u.showToastMessageWithDelay(2===e.page?"similarity.changed.search.query.msg":"similarity.changed.analogical.query.msg"),o.url("similarity")}),(function(e){n.error(getError(e),y.instant("similarity.change.query.error"))}))},e.getCloseBtnMsg=function(){let n=e.editSearchQuery?y.instant("similarity.query.edition.msg"):y.instant("similarity.index.creation.msg");return y.instant("similarity.close.btn.msg",{operation:n})}}angular.module("graphdb.framework.similarity.controllers.create",["graphdb.framework.utils.notifications","graphdb.framework.utils.localstorageadapter"]).controller("CreateSimilarityIdxCtrl",r),r.$inject=["$scope","toastr","$modal","$timeout","SimilarityRestService","SparqlRestService","$location","productInfo","Notifications","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","$translate"]}}]);
2
- //# sourceMappingURL=43.f76be157f75bc7b3ea68.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/utils/notifications.js","webpack:///./src/js/angular/similarity/controllers/create-index.controller.js"],"names":["Notifications","toastr","$translate","showToastMessageWithDelay","message","Promise","r","success","instant","setTimeout","angular","module","factory","$inject","CreateSimilarityIdxCtrl","$scope","$modal","$timeout","SimilarityRestService","SparqlRestService","$location","productInfo","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","indexType","search","type","undefined","startsWith","viewType","newIndex","info","page","defaultTabConfig","id","name","query","inference","sameAs","initForViewType","indexNameFromLocation","editSearchQuery","options","searchQueries","searchQuery","analogicalQuery","currentQuery","notoolbarInference","notoolbarSameAs","window","editor","setQuery","allSamples","samples","stopList","analyzer","isLiteralIndex","getAndRemoveOption","getIndexes","data","literalIndexes","concat","filter","idx","status","map","inputIndex","desiredIdx","j","length","error","msg","getError","filenamePattern","RegExp","validateIndex","invalidIndexName","saveQueries","test","getQueryType","appendOption","option","value","key","optArr","split","i","join","saveQueryToLocal","currentQueryTab","setLoader","isRunning","progressMessage","extraMessage","yasrInnerContainer","element","document","getElementById","queryIsRunning","queryStartTime","Date","now","countTimeouted","addClass","removeClass","$$phase","$apply","fixSizesOnHorizontalViewModeSwitch","verticalViewParam","visibleWindowHeight","innerHeight","documentElement","clientHeight","body","verticalView","orientationViewMode","viewMode","newHeight","querySelector","getBoundingClientRect","style","height","noPadding","minHeight","paddingRight","paddingLeft","timer","$on","cancel","yasr","container","resize","showHideEditor","selectTab","$","tab","runQuery","changePage","explain","executedQueryTab","warning","getQueryMode","explainRequested","currentTabConfig","resultsCount","resetCurrentTabConfig","getNamespaces","getRepositoryNamespaces","usedPrefixes","results","bindings","forEach","e","prefix","namespace","namespaces","repositoryError","finally","addKnownPrefixes","JSON","stringify","getValue","isDefined","setValue","getExistingTabId","existingTabId","tabsData","item","loadTab","queryType","offset","allResultsCount","pageSize","timeFinished","timeTook","sizeDelta","css","getQueryID","attr","getSearchQueries","getSamples","selectQuery","infer","tabs","copy","$watch","helpHidden","get","HIDE_SIMILARITY_HELP","toggleHelp","set","viewQuery","getQuery","indexName","indexOptions","indexStopList","queryInference","querySameAs","indexAnalyzer","open","templateUrl","controller","resolve","isInvalidIndexName","isEmptyIndexName","trim","goToPage","showEditor","notoolbar","createIndex","index","err","url","xhr","abort","showPreview","outputType","queryExists","saveTab","findTabIndexByID","addNewTab","callback","tabName","savedQuery","changePagination","toggleSampleQueries","querySelected","tabId","getLoaderMessage","timeSeconds","timeHuman","getHumanReadableSeconds","changeViewMode","tabID","remove","focusQueryEditor","find","is","focus","getActiveRepository","on","$watchCollection","tabEvent","relatedTarget","target","showSampleQueries","sampleQueries","getResultsDescription","getUpdateDescription","getStaleWarningMessage","saveSearchQuery","changedQuery","isSearchQuery","then","async","response","getCloseBtnMsg","operationType","operation"],"mappings":"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","file":"43.f76be157f75bc7b3ea68.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.utils.notifications', [])\n .factory('Notifications', Notifications);\n\nNotifications.$inject = ['toastr', '$translate'];\n\nfunction Notifications(toastr, $translate) {\n return {\n showToastMessageWithDelay\n };\n\n /**\n * This method will show message with tiny delay and only after completion\n * of latter redirection to \"graphs-visualizations\" page will happen.\n * @param {string} message The message to be displayed.\n * @return {Promise<any>}\n */\n function showToastMessageWithDelay(message) {\n return new Promise((r) => {\n toastr.success($translate.instant(message));\n setTimeout(r, 200);\n });\n }\n}\n","import 'angular/utils/notifications';\nimport 'angular/utils/local-storage-adapter';\n\nangular\n .module('graphdb.framework.similarity.controllers.create', [\n 'graphdb.framework.utils.notifications',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .controller('CreateSimilarityIdxCtrl', CreateSimilarityIdxCtrl);\n\nCreateSimilarityIdxCtrl.$inject = ['$scope', 'toastr', '$modal', '$timeout', 'SimilarityRestService', 'SparqlRestService', '$location', 'productInfo', 'Notifications', 'RDF4JRepositoriesRestService', 'LocalStorageAdapter', 'LSKeys', '$translate'];\n\nfunction CreateSimilarityIdxCtrl($scope, toastr, $modal, $timeout, SimilarityRestService, SparqlRestService, $location, productInfo, Notifications, RDF4JRepositoriesRestService, LocalStorageAdapter, LSKeys, $translate) {\n\n const indexType = $location.search().type;\n if (indexType === undefined || indexType.startsWith('text')) {\n $scope.viewType = 'text';\n } else {\n $scope.viewType = indexType;\n }\n\n const textDefaultOptions = '-termweight idf';\n const predDefaultOptions = '';\n $scope.newIndex = {};\n\n $scope.info = productInfo;\n $scope.page = 1;\n\n const defaultTabConfig = {\n id: '1',\n name: '',\n query: '',\n inference: true,\n sameAs: true\n };\n\n let getNewIndexName = function (indexNameFromLocation) {\n if (indexNameFromLocation) {\n if ($scope.page !== 1) {\n return indexNameFromLocation;\n } else {\n return 'Copy_of_' + indexNameFromLocation;\n }\n }\n return '';\n };\n\n const initForViewType = function () {\n $scope.editSearchQuery = $location.search().editSearchQuery;\n $scope.page = $scope.editSearchQuery ? 2 : 1;\n $scope.newIndex.name = getNewIndexName($location.search().name);\n $scope.newIndex.options = ($location.search().options ? $location.search().options : ($scope.viewType === \"text\") ? textDefaultOptions : predDefaultOptions);\n\n if ($scope.searchQueries) {\n $scope.newIndex.searchQuery = $location.search().searchQuery ? $location.search().searchQuery : $scope.searchQueries[$scope.viewType];\n if ($scope.viewType === 'predication') {\n $scope.newIndex.analogicalQuery = $location.search().analogicalQuery ? $location.search().analogicalQuery : $scope.searchQueries['analogical'];\n }\n }\n\n if ($scope.editSearchQuery) {\n // Default will be opened search query tab for edition\n $scope.currentQuery.query = $scope.newIndex.searchQuery;\n $scope.notoolbarInference = true;\n $scope.notoolbarSameAs = true;\n if (window.editor) {\n $scope.setQuery($scope.newIndex.searchQuery);\n }\n } else {\n if ($scope.viewType === 'text' && $scope.allSamples) {\n $scope.samples = $scope.allSamples['text'];\n $scope.newIndex.stopList = ($location.search().stopList ? $location.search().stopList : undefined);\n $scope.newIndex.analyzer = ($location.search().analyzer ? $location.search().analyzer : 'org.apache.lucene.analysis.en.EnglishAnalyzer');\n const isLiteralIndex = getAndRemoveOption('-literal_index');\n if (isLiteralIndex !== undefined) {\n $scope.newIndex.isLiteralIndex = isLiteralIndex;\n }\n if (window.editor) {\n $scope.setQuery($scope.samples['literals']);\n }\n }\n if ($scope.viewType === 'predication' && $scope.allSamples) {\n SimilarityRestService.getIndexes()\n .success(function (data) {\n $scope.literalIndexes = ['no-index'].concat(data\n .filter(function (idx) {\n return idx.type === 'textLiteral' && (idx.status === 'BUILT' || idx.status === 'OUTDATED')\n })\n .map(function (idx) {\n return idx.name;\n }));\n\n if ($scope.newIndex.inputIndex === undefined) {\n const desiredIdx = getAndRemoveOption('-input_index');\n if (desiredIdx !== undefined) {\n for (let j = 0; j < $scope.literalIndexes.length; j++) {\n if (desiredIdx === $scope.literalIndexes[j]) {\n $scope.newIndex.inputIndex = $scope.literalIndexes[j];\n }\n }\n }\n }\n if ($scope.newIndex.inputIndex === undefined) {\n $scope.newIndex.inputIndex = $scope.literalIndexes[0];\n }\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.indexes.error'));\n });\n\n $scope.samples = $scope.allSamples['predication'];\n if (window.editor) {\n $scope.setQuery($scope.samples['predication']);\n }\n }\n }\n };\n\n const filenamePattern = new RegExp('^[a-zA-Z0-9-_]+$');\n\n const validateIndex = function () {\n $scope.invalidIndexName = false;\n $scope.saveQueries();\n if (!$scope.newIndex.name) {\n $scope.invalidIndexName = $translate.instant('similarity.empty.index.name.error');\n return false;\n }\n if (!filenamePattern.test($scope.newIndex.name)) {\n $scope.invalidIndexName = $translate.instant('similarity.index.name.constraint');\n return false;\n }\n\n if (!$scope.newIndex.query) {\n toastr.error($translate.instant('similarity.empty.select.query.error'));\n return false;\n }\n\n if (!$scope.newIndex.searchQuery) {\n toastr.error($translate.instant('similarity.empty.search.query.error'));\n return false;\n }\n\n if ($scope.viewType === 'predication' && !$scope.newIndex.analogicalQuery) {\n toastr.error($translate.instant('similarity.empty.analogical.query.error'));\n return false;\n }\n\n if (window.editor.getQueryType() !== 'SELECT') {\n toastr.error($translate.instant('similarity.index.select.queries.constraint'));\n return;\n }\n\n return true;\n };\n\n const appendOption = function (option, value) {\n $scope.newIndex.options = $scope.newIndex.options + ($scope.newIndex.options === '' ? '' : ' ') + option + ' ' + value;\n };\n\n SimilarityRestService.getSearchQueries().success(function (data) {\n $scope.searchQueries = data;\n SimilarityRestService.getSamples().success(function (samples) {\n defaultTabConfig.query = $location.search().selectQuery ? $location.search().selectQuery : samples['text']['literals'];\n defaultTabConfig.inference = !($location.search().infer === 'false');\n defaultTabConfig.sameAs = !($location.search().sameAs === 'false');\n $scope.tabsData = $scope.tabs = [defaultTabConfig];\n $scope.currentQuery = angular.copy(defaultTabConfig);\n $scope.allSamples = samples;\n initForViewType();\n });\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.search.queries.error'));\n });\n\n $scope.$watch('viewType', function () {\n initForViewType();\n });\n\n $scope.helpHidden = LocalStorageAdapter.get(LSKeys.HIDE_SIMILARITY_HELP) === 1;\n $scope.toggleHelp = function (value) {\n if (value === undefined) {\n value = LocalStorageAdapter.get(LSKeys.HIDE_SIMILARITY_HELP);\n }\n if (value !== 1) {\n LocalStorageAdapter.set(LSKeys.HIDE_SIMILARITY_HELP, 1);\n $scope.helpHidden = true;\n } else {\n LocalStorageAdapter.set(LSKeys.HIDE_SIMILARITY_HELP, 0);\n $scope.helpHidden = false;\n }\n };\n\n $scope.viewQuery = function () {\n if (!validateIndex()) {\n return;\n }\n\n SimilarityRestService.getQuery({\n indexName: $scope.newIndex.name,\n indexOptions: $scope.newIndex.options,\n query: $scope.currentQuery.query,\n indexStopList: $scope.newIndex.stopList,\n queryInference: $scope.currentQuery.inference,\n querySameAs: $scope.currentQuery.sameAs,\n viewType: $scope.viewType,\n indexAnalyzer: $scope.newIndex.analyzer\n }).success(function (query) {\n if (query) {\n $modal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return query;\n }\n }\n });\n }\n });\n };\n\n $scope.$watch('newIndex.name', function () {\n $scope.isInvalidIndexName = false;\n $scope.isEmptyIndexName = false;\n });\n\n $scope.saveQueries = function () {\n // save the current query\n const query = window.editor.getValue().trim();\n if ($scope.page === 1) {\n $scope.newIndex.query = query;\n } else if ($scope.page === 2) {\n $scope.newIndex.searchQuery = query;\n } else if ($scope.page === 3) {\n $scope.newIndex.analogicalQuery = query;\n }\n };\n\n $scope.goToPage = function (page) {\n // ugly fix for GDB-3099\n if (page !== 1 && $scope.viewMode !== 'yasr') {\n $scope.showEditor();\n $timeout(function () {\n if (page === 2) {\n $scope.currentQuery.query = $scope.newIndex.searchQuery;\n }\n if (page === 3) {\n $scope.currentQuery.query = $scope.newIndex.analogicalQuery;\n }\n\n window.editor.setValue($scope.currentQuery.query || ' ');\n });\n }\n\n $scope.saveQueries();\n // get the saved query\n if (page === 1) {\n $scope.currentQuery.query = $scope.newIndex.query;\n } else if (page === 2) {\n $scope.currentQuery.query = $scope.newIndex.searchQuery;\n } else if (page === 3) {\n $scope.currentQuery.query = $scope.newIndex.analogicalQuery;\n }\n\n loadTab();\n $scope.notoolbar = page !== 1;\n\n $scope.page = page;\n };\n\n $scope.createIndex = function () {\n if (!validateIndex()) {\n return;\n }\n // Check existing indexes\n SimilarityRestService.getIndexes()\n .success(function (data) {\n data.forEach(function (index) {\n if (index.name === $scope.newIndex.name) {\n $scope.invalidIndexName = $translate.instant('similarity.existing.index.name.error');\n }\n });\n if (!$scope.invalidIndexName) {\n let indexType = $scope.viewType;\n\n if ($scope.literalIndexes !== undefined) {\n const inputIndex = $scope.newIndex.inputIndex;\n if (inputIndex !== $scope.literalIndexes[0]) {\n appendOption('-input_index', inputIndex);\n }\n }\n if ($scope.newIndex.isLiteralIndex === 'true') {\n appendOption('-literal_index', 'true');\n indexType = 'textLiteral';\n }\n\n SimilarityRestService.createIndex('POST',\n $scope.newIndex.name,\n $scope.newIndex.options,\n $scope.newIndex.query,\n $scope.newIndex.searchQuery,\n $scope.newIndex.analogicalQuery,\n $scope.newIndex.stopList,\n $scope.currentQuery.inference,\n $scope.currentQuery.sameAs,\n indexType,\n $scope.newIndex.analyzer)\n .error(function (err) {\n toastr.error(getError(err), $translate.instant('similarity.create.index.error'));\n });\n $location.url('similarity');\n }\n\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('similarity.could.not.get.indexes.error'));\n });\n };\n\n // Called when user clicks on a sample query\n $scope.setQuery = function (query) {\n // Hack for YASQE bug\n window.editor.setValue(query ? query : ' ');\n };\n\n // TODO don't copy paste each time, this is the same as in the graph config\n // DOWN HERE WE KEEP EVERYTHING PURELY QUERY EDITOR (MOSTLY BORROWED FROM query-editor.controller.js)\n\n $scope.showEditor = function () {\n if (window.editor.xhr) {\n window.editor.xhr.abort();\n }\n $scope.viewMode = 'yasr';\n };\n\n $scope.showPreview = function () {\n // For some reason YASR gets confused and sets this to rawResponse\n // if we execute a CONSTRUCT and then a SELECT. This makes sure it's always table.\n $scope.currentQuery.outputType = 'table';\n $scope.runQuery();\n };\n\n $scope.resetCurrentTabConfig = function () {\n $scope.currentTabConfig = {\n pageSize: 100, // page limit 100 as this is only used for preview\n page: 1,\n allResultsCount: 0,\n resultsCount: 0\n };\n };\n\n $scope.queryExists = false;\n\n $scope.resetCurrentTabConfig();\n\n $scope.tabsData = $scope.tabs = [defaultTabConfig];\n\n // query tab operations\n $scope.saveTab = saveTab;\n $scope.loadTab = loadTab;\n $scope.addNewTab = addNewTab;\n\n // query operations\n $scope.runQuery = runQuery;\n $scope.getNamespaces = getNamespaces;\n $scope.changePagination = changePagination;\n $scope.toggleSampleQueries = toggleSampleQueries;\n $scope.addKnownPrefixes = addKnownPrefixes;\n $scope.getExistingTabId = getExistingTabId;\n $scope.querySelected = querySelected;\n $scope.saveQueryToLocal = saveQueryToLocal;\n\n $scope.setLoader = setLoader;\n $scope.getLoaderMessage = getLoaderMessage;\n\n // query editor and results orientation\n $scope.fixSizesOnHorizontalViewModeSwitch = fixSizesOnHorizontalViewModeSwitch;\n $scope.changeViewMode = changeViewMode;\n $scope.showHideEditor = showHideEditor;\n $scope.focusQueryEditor = focusQueryEditor;\n $scope.orientationViewMode = true;\n\n // start of repository actions\n $scope.getActiveRepository();\n\n function getAndRemoveOption(key) {\n const optArr = $scope.newIndex.options.split(' ');\n for (let i = 0; i < optArr.length; i++) {\n if (optArr[i] === key && i + 1 < optArr.length) {\n const value = optArr[i + 1];\n\n delete optArr[i];\n delete optArr[i + 1];\n $scope.newIndex.options = optArr.join(' ');\n\n return value;\n }\n }\n return undefined;\n }\n\n function saveQueryToLocal(currentQueryTab) {\n }\n\n function setLoader(isRunning, progressMessage, extraMessage) {\n const yasrInnerContainer = angular.element(document.getElementById('yasr-inner'));\n $scope.queryIsRunning = isRunning;\n if (isRunning) {\n $scope.queryStartTime = Date.now();\n $scope.countTimeouted = false;\n $scope.progressMessage = progressMessage;\n $scope.extraMessage = extraMessage;\n yasrInnerContainer.addClass('hide');\n } else {\n $scope.progressMessage = '';\n $scope.extraMessage = '';\n yasrInnerContainer.removeClass('hide');\n }\n // We might call this from angular or outside angular so take care of applying the scope.\n if ($scope.$$phase === null) {\n $scope.$apply();\n }\n }\n\n function getLoaderMessage() {\n const timeSeconds = (Date.now() - $scope.queryStartTime) / 1000;\n const timeHuman = $scope.getHumanReadableSeconds(timeSeconds);\n let message = '';\n\n if ($scope.progressMessage) {\n message = $scope.progressMessage + '... ' + timeHuman;\n } else {\n message = $translate.instant('common.running.operation', {timeHuman: timeHuman});\n }\n if ($scope.extraMessage && timeSeconds > 10) {\n message += '\\n' + $scope.extraMessage;\n }\n\n return message;\n }\n\n // start of query editor results orientation operations\n function fixSizesOnHorizontalViewModeSwitch(verticalViewParam) {\n function visibleWindowHeight() {\n return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;\n }\n\n const verticalView = verticalViewParam;\n if (!$scope.orientationViewMode) {\n $scope.noPadding = {paddingRight: 15, paddingLeft: 0};\n\n // window.editor is undefined if no repo is selected\n if (window.editor && document.querySelector('.CodeMirror-wrap')) {\n let newHeight = visibleWindowHeight() - (document.querySelector('.CodeMirror-wrap').getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector('.CodeMirror-wrap').style.height = newHeight + 'px';\n document.getElementById('yasr').style.minHeight = newHeight + 'px';\n //window.editor.refresh();\n } else {\n let timer;\n if (verticalView) {\n timer = $timeout(function () {\n $scope.fixSizesOnHorizontalViewModeSwitch(verticalView);\n }, 100);\n } else {\n timer = $timeout($scope.fixSizesOnHorizontalViewModeSwitch, 100);\n }\n\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }\n } else {\n if ($scope.viewMode === 'yasr') {\n let newHeight = visibleWindowHeight() - (document.querySelector('.CodeMirror-wrap').getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector('.CodeMirror-wrap').style.height = newHeight + 'px';\n } else {\n $scope.noPadding = {};\n document.querySelector('.CodeMirror-wrap').style.height = '';\n }\n document.getElementById('yasr').style.minHeight = '';\n }\n if (window.yasr && window.yasr.container) {\n $timeout(function () {\n window.yasr.container.resize();\n }, 100);\n }\n }\n\n if (!$scope.orientationViewMode) {\n showHideEditor();\n }\n\n function changeViewMode(tabID) {\n $scope.viewMode = 'none';\n $scope.orientationViewMode = !$scope.orientationViewMode;\n fixSizesOnHorizontalViewModeSwitch();\n $('.dataTables_filter').remove();\n $('.resultsTable').remove();\n $timeout(function () {\n loadTab();\n selectTab(tabID);\n }, 100);\n }\n\n function showHideEditor() {\n fixSizesOnHorizontalViewModeSwitch(true);\n }\n\n function focusQueryEditor() {\n if (!angular.element(document).find('.editable-input').is(':focus')) {\n angular.element(document).find('.CodeMirror textarea:first-child').focus();\n }\n }\n\n // end of query editor results orientation operations\n\n function selectTab(id) {\n $timeout(function () {\n $('a[data-id = \"' + id + '\"]').tab('show');\n }, 0);\n }\n\n // start of query operations\n function runQuery(changePage, explain) {\n $scope.executedQueryTab = $scope.currentQuery;\n if (window.editor.getQueryType() !== 'SELECT') {\n toastr.error($translate.instant('similarity.indexes.select.queries.constraint'));\n return;\n }\n if (explain && window.editor.getQueryType() !== 'SELECT') {\n toastr.warning($translate.instant('similarity.explain.select.queries.constraint'));\n return;\n }\n\n if (window.editor.getQueryMode() === 'update') {\n toastr.warning($translate.instant('cannot.execute.update.error'));\n return;\n }\n\n $scope.explainRequested = explain;\n if (!$scope.queryIsRunning) {\n if (changePage) {\n $scope.currentTabConfig.resultsCount = 0;\n } else {\n $scope.resetCurrentTabConfig();\n }\n\n // Hides the editor and shows the yasr results\n $scope.viewMode = 'editor';\n if ($scope.orientationViewMode) {\n $scope.fixSizesOnHorizontalViewModeSwitch();\n }\n\n setLoader(true, $translate.instant('evaluating.query.msg'));\n window.editor.query();\n }\n }\n\n // FIXME: this is copy-pasted in graphs-config.controller.js and query-editor.controller.js. Find a way to avoid duplications\n function getNamespaces() {\n // Signals the namespaces are to be fetched => loader will be shown\n setLoader(true, $translate.instant('common.refreshing.namespaces'), $translate.instant('common.extra.message'));\n RDF4JRepositoriesRestService.getRepositoryNamespaces()\n .success(function (data) {\n const usedPrefixes = {};\n data.results.bindings.forEach(function (e) {\n usedPrefixes[e.prefix.value] = e.namespace.value;\n });\n $scope.namespaces = usedPrefixes;\n })\n .error(function (data) {\n $scope.repositoryError = getError(data);\n })\n .finally(function () {\n // Signals namespaces were fetched => loader will be hidden\n setLoader(false);\n });\n }\n\n function changePagination() {\n runQuery(true, $scope.explainRequested);\n }\n\n if ($scope.getActiveRepository()) {\n getNamespaces();\n }\n\n $scope.$on('$destroy', function () {\n window.editor = null;\n window.yasr = null;\n });\n\n function toggleSampleQueries() {\n }\n\n // Add known prefixes\n function addKnownPrefixes() {\n SparqlRestService.addKnownPrefixes(JSON.stringify(window.editor.getValue()))\n .success(function (data) {\n if (angular.isDefined(window.editor) && angular.isDefined(data) && data !== window.editor.getValue()) {\n window.editor.setValue(data);\n }\n })\n .error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.add.known.prefixes.error'));\n return true;\n });\n }\n\n $('textarea').on('paste', function () {\n $timeout(function () {\n addKnownPrefixes();\n }, 0);\n });\n\n function querySelected(query) {\n const tabId = getExistingTabId(query);\n $scope.toggleSampleQueries();\n if (!angular.isDefined(tabId)) {\n $scope.addNewTab(null, query.name, query.body);\n } else {\n selectTab(tabId);\n }\n }\n\n function getExistingTabId(query) {\n let existingTabId = undefined;\n angular.forEach($scope.tabsData, function (item) {\n if (item.name === query.name && item.query === query.body) {\n existingTabId = item.id;\n return item;\n }\n });\n\n return existingTabId;\n }\n\n\n // end of query operations\n\n // start of query tab operations\n function findTabIndexByID(id) {\n for (let i = 0; i < $scope.tabsData.length; i++) {\n const tab = $scope.tabsData[i];\n if (tab.id === id) {\n return i;\n }\n }\n }\n\n $scope.$watchCollection('[currentQuery.inference, currentQuery.sameAs]', function () {\n saveQueryToLocal($scope.currentQuery);\n });\n\n function saveTab(id) {\n const idx = findTabIndexByID(id);\n // Tab was deleted, don't try to save it's state\n if (idx === undefined) {\n return {};\n }\n const tab = $scope.tabsData[idx];\n //tab.query = window.editor.getValue();\n $scope.saveQueryToLocal(tab);\n return tab;\n }\n\n function addNewTab(callback, tabName, savedQuery) {\n }\n\n function loadTab() {\n $scope.tabsData = [$scope.currentQuery];\n\n const tab = $scope.currentQuery;\n\n if ($scope.currentQuery.query === null || $scope.currentQuery.query === '') {\n // hack for YASQE bug\n window.editor.setValue(' ');\n } else {\n window.editor.setValue($scope.currentQuery.query || ' ');\n }\n\n $timeout(function () {\n $scope.currentTabConfig = {};\n $scope.currentTabConfig.queryType = tab.queryType;\n $scope.currentTabConfig.resultsCount = tab.resultsCount;\n\n $scope.currentTabConfig.offset = tab.offset;\n $scope.currentTabConfig.allResultsCount = tab.allResultsCount;\n $scope.currentTabConfig.page = tab.page;\n $scope.currentTabConfig.pageSize = tab.pageSize;\n\n $scope.currentTabConfig.timeFinished = tab.timeFinished;\n $scope.currentTabConfig.timeTook = tab.timeTook;\n $scope.currentTabConfig.sizeDelta = tab.sizeDelta;\n $scope.$apply();\n }, 0);\n\n //Remove paddign of yasr so it will be aligned with sparql editor\n $('#yasr').css('padding', '0');\n }\n\n function getQueryID(element) {\n return $(element).attr('data-id');\n }\n\n $scope.$on('tabAction', function (e, tabEvent) {\n if (tabEvent.relatedTarget) {\n $scope.saveTab(getQueryID(tabEvent.relatedTarget));\n }\n $scope.loadTab(getQueryID(tabEvent.target));\n });\n\n $scope.$on('deleteAllexeptSelected', function (e, tabs) {\n $scope.tabsData = tabs;\n $scope.tabs = tabs;\n });\n // end of query tab operations\n\n $scope.currentQuery = angular.copy(defaultTabConfig);\n // $scope.state = {};\n $scope.showSampleQueries = false;\n $scope.savedQuery = {};\n $scope.sampleQueries = {};\n\n $scope.getResultsDescription = function () {\n };\n\n $scope.getUpdateDescription = function () {\n };\n\n $scope.getStaleWarningMessage = function () {\n };\n\n $scope.saveSearchQuery = function () {\n // Should validate that query is SELECT\n if (window.editor.getQueryType() !== 'SELECT') {\n toastr.error($translate.instant('similarity.index.select.queries.constraint'));\n return;\n }\n let data = {\n name: $scope.newIndex.name,\n changedQuery: $scope.currentQuery.query,\n isSearchQuery: $scope.page === 2\n };\n\n return SimilarityRestService.saveSearchQuery(JSON.stringify(data))\n .then(async function () {\n await Notifications.showToastMessageWithDelay($scope.page === 2 ? 'similarity.changed.search.query.msg' : 'similarity.changed.analogical.query.msg');\n $location.url('similarity');\n }, function (response) {\n toastr.error(getError(response), $translate.instant('similarity.change.query.error'));\n });\n };\n\n $scope.getCloseBtnMsg = function () {\n let operationType = $scope.editSearchQuery ? $translate.instant('similarity.query.edition.msg') : $translate.instant('similarity.index.creation.msg');\n return $translate.instant('similarity.close.btn.msg', {operation: operationType});\n }\n}\n"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[46],{99:function(e,t){PluginRegistry.add("route",{url:"/autocomplete",module:"graphdb.framework.autocomplete",path:"autocomplete/app",chunk:"autocomplete",controller:"AutocompleteCtrl",templateUrl:"pages/autocomplete.html",title:"view.autocomplete.title",helpInfo:"view.autocomplete.helpInfo"}),PluginRegistry.add("main.menu",{items:[{label:"Setup",labelKey:"menu.setup.label",href:"#",order:5,role:"IS_AUTHENTICATED_FULLY",icon:"icon-settings",guideSelector:"menu-setup"},{label:"Autocomplete",labelKey:"menu.autocomplete.label",href:"autocomplete",order:40,parent:"Setup",role:"IS_AUTHENTICATED_FULLY",guideSelector:"sub-menu-autocomplete"}]})}}]);
2
- //# sourceMappingURL=46.a9d1c07290ab98930744.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/lib/FileSaver-patch.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./src/js/angular/utils/file-types.js","webpack:///./src/js/angular/explore/controllers.js"],"names":["saveAs","view","navigator","test","userAgent","doc","document","get_URL","URL","webkitURL","save_link","createElementNS","webkit_req_fs","webkitRequestFileSystem","req_fs","requestFileSystem","mozRequestFileSystem","throw_outside","ex","setImmediate","setTimeout","fs_min_size","revoke","file","revoker","revokeObjectURL","remove","chrome","dispatch","filesaver","event_types","event","i","concat","length","listener","call","auto_bom","blob","type","Blob","FileSaver","name","object_url","target_view","slice","this","blob_changed","dispatch_all","split","fs_error","createObjectURL","location","href","undefined","open","safari","readyState","DONE","abortable","func","apply","arguments","create_if_not_found","create","exclusive","INIT","download","node","MouseEvent","dispatchEvent","webkitSlice","size","TEMPORARY","fs","root","getDirectory","dir","save","getFile","createWriter","writer","onwriteend","toURL","onerror","error","code","ABORT_ERR","forEach","write","abort","WRITING","NOT_FOUND_ERR","FS_proto","prototype","msSaveOrOpenBlob","onwritestart","onprogress","onwrite","onabort","self","window","content","module","exports","Error","__webpack_amd_options__","angular","value","extension","ExploreCtrl","$scope","$http","$location","toastr","$routeParams","$repositories","ClassInstanceDetailsService","ModalService","RDF4JRepositoriesRestService","FileTypes","$jwtAuth","$translate","$languageService","$q","yasr","role","search","when","getPrincipal","then","principal","inference","appSettings","sameAs","loading","getActiveRepository","isTripleResource","tripleParam","encodeURIComponent","param","getRdfStarLocalNames","triple","localNames","replace","uri","getLocalName","inferences","id","title","context","blanks","formats","editor","getQueryType","$watch","usedPrefixes","loadResource","getNamespaces","success","data","results","bindings","e","prefix","namespace","$on","destroy","getElementById","getUsedPrefixes","persistency","hideHeader","locale","getLanguage","pluginsOptions","getYasrConfiguration","instant","getError","localName","uriParam","hash","absUrl","url","method","params","headers","details","encodeURI","exploreResource","isContextAvailable","goToGraphsViz","path","toggleOntoLoader","showLoader","yasrInnerContainer","element","resultsLoader","addClass","removeClass","Promise","resolve","principalRequestPromise","$","ajax","bnodes","Accept","done","textStatus","jqXhr","setResponse","fail","downloadExport","format","encodedURI","response","indexOf","JSON","stringify","ua","toLowerCase","msg","changeRole","roleVar","changeInference","copyToClipboardResult","openCopyToClipboardModal","args","options","changeLanguage","FindResourceCtrl","$timeout","AutocompleteRestService","checkAutocompleteStatus","warningMsg","warning","allowHtml","autocompleteEnabled","getAllNamespacesForActiveRepository","namespaces","map","loader","validateRdfUri","hasAngleBrackets","lastIndexOf","noAngleBrackets","validProtocol","validPath","schemaSlashesIdx","substring","expandedUri","submit","setFormInvalid","isDirty","form","$dirty","getAutocompleteSuggestions","str","newExpandedUri","getNamespaceUriForPrefix","val","promise","query","inputChangedFn","selectedUriCallback","selected","selectedUri","isDefined","click","EditResourceCtrl","$modal","StatementsService","newRow","subject","object","datatype","newResource","datatypeOptions","getDatatypeOptions","activeRepository","getClassInstancesDetails","getDetails","getGraph","res","statements","buildStatements","addStatement","newRowPredicate","$setSubmitted","newRowObject","newRowContext","$valid","push","copy","$setPristine","$setUntouched","removeStatement","idx","splice","checkValid","isUndefined","validEditRow","rowform","viewTrig","templateUrl","controller","transformToTrig","timer","cancel","validateUri","check","text","count","match","trim","ViewTrigCtrl","$modalInstance","trig","dismiss","$inject"],"mappings":"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","file":"8.b21d6a5c1a9412deb34f.bundle.js","sourcesContent":["/* FileSaver.js\n * A saveAs() FileSaver implementation.\n * 2015-05-07.2\n *\n * By Eli Grey, http://eligrey.com\n * License: X11/MIT\n * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\n */\n\n/*global self */\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\n\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\n\nvar saveAs = saveAs || (function(view) {\n\t\"use strict\";\n\t// IE <10 is explicitly unsupported\n\tif (typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\n\t\treturn;\n\t}\n\tvar\n\t\t doc = view.document\n\t\t // only get URL when necessary in case Blob.js hasn't overridden it yet\n\t\t, get_URL = function() {\n\t\t\treturn view.URL || view.webkitURL || view;\n\t\t}\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\n\t\t, can_use_save_link = \"download\" in save_link\n\t\t, click = function(node) {\n\t\t\tvar event = new MouseEvent(\"click\");\n\t\t\tnode.dispatchEvent(event);\n\t\t}\n\t\t, webkit_req_fs = view.webkitRequestFileSystem\n\t\t, req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem\n\t\t, throw_outside = function(ex) {\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\n\t\t\t\tthrow ex;\n\t\t\t}, 0);\n\t\t}\n\t\t, force_saveable_type = \"application/octet-stream\"\n\t\t, fs_min_size = 0\n\t\t// See https://code.google.com/p/chromium/issues/detail?id=375297#c7 and\n\t\t// https://github.com/eligrey/FileSaver.js/commit/485930a#commitcomment-8768047\n\t\t// for the reasoning behind the timeout and revocation flow\n\t\t, arbitrary_revoke_timeout = 500 // in ms\n\t\t, revoke = function(file) {\n\t\t\tvar revoker = function() {\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\n\t\t\t\t\tget_URL().revokeObjectURL(file);\n\t\t\t\t} else { // file is a File\n\t\t\t\t\tfile.remove();\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (view.chrome) {\n\t\t\t\trevoker();\n\t\t\t} else {\n\t\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\n\t\t\t}\n\t\t}\n\t\t, dispatch = function(filesaver, event_types, event) {\n\t\t\tevent_types = [].concat(event_types);\n\t\t\tvar i = event_types.length;\n\t\t\twhile (i--) {\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\n\t\t\t\tif (typeof listener === \"function\") {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\n\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\tthrow_outside(ex);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t, auto_bom = function(blob) {\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n\t\t\t\treturn new Blob([\"\\ufeff\", blob], {type: blob.type});\n\t\t\t}\n\t\t\treturn blob;\n\t\t}\n\t\t, FileSaver = function(blob, name) {\n\t\t\tblob = auto_bom(blob);\n\t\t\t// First try a.download, then web filesystem, then object URLs\n\t\t\tvar\n\t\t\t\t filesaver = this\n\t\t\t\t, type = blob.type\n\t\t\t\t, blob_changed = false\n\t\t\t\t, object_url\n\t\t\t\t, target_view\n\t\t\t\t, dispatch_all = function() {\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\n\t\t\t\t}\n\t\t\t\t// on any filesys errors revert to saving with object URLs\n\t\t\t\t, fs_error = function() {\n\t\t\t\t\t// don't create more object URLs than needed\n\t\t\t\t\tif (blob_changed || !object_url) {\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\t\t}\n\t\t\t\t\tif (target_view) {\n\t\t\t\t\t\ttarget_view.location.href = object_url;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar new_tab = view.open(object_url, \"_blank\");\n\t\t\t\t\t\tif (new_tab == undefined && typeof safari !== \"undefined\") {\n\t\t\t\t\t\t\t//Apple do not allow window.open, see http://bit.ly/1kZffRI\n\t\t\t\t\t\t\tview.location.href = object_url\n\t\t\t\t\t\t} \n\t\t\t\t\t}\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t}\n\t\t\t\t, abortable = function(func) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif (filesaver.readyState !== filesaver.DONE) {\n\t\t\t\t\t\t\treturn func.apply(this, arguments);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t, create_if_not_found = {create: true, exclusive: false}\n\t\t\t\t, slice\n\t\t\t;\n\t\t\tfilesaver.readyState = filesaver.INIT;\n\t\t\tif (!name) {\n\t\t\t\tname = \"download\";\n\t\t\t}\n\t\t\tif (save_link) {\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\t//window.open('data:attachment/csv;charset=utf-8,' + object_url);\n\t\t\t\tsave_link.href = object_url;\n\t\t\t\tsave_link.download = name;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tclick(save_link);\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Object and web filesystem URLs have a problem saving in Google Chrome when\n\t\t\t// viewed in a tab, so I force save with application/octet-stream\n\t\t\t// http://code.google.com/p/chromium/issues/detail?id=91158\n\t\t\t// Update: Google errantly closed 91158, I submitted it again:\n\t\t\t// https://code.google.com/p/chromium/issues/detail?id=389642\n\t\t\tif (view.chrome && type && type !== force_saveable_type) {\n\t\t\t\tslice = blob.slice || blob.webkitSlice;\n\t\t\t\tblob = slice.call(blob, 0, blob.size, force_saveable_type);\n\t\t\t\tblob_changed = true;\n\t\t\t}\n\t\t\t// Since I can't be sure that the guessed media type will trigger a download\n\t\t\t// in WebKit, I append .download to the filename.\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=65440\n\t\t\tif (webkit_req_fs && name !== \"download\") {\n\t\t\t\tname += \".download\";\n\t\t\t}\n\t\t\tif (type === force_saveable_type || webkit_req_fs) {\n\t\t\t\ttarget_view = view;\n\t\t\t}\n\t\t\tif (!req_fs) {\n\t\t\t\tfs_error();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfs_min_size += blob.size;\n\t\t\treq_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) {\n\t\t\t\tfs.root.getDirectory(\"saved\", create_if_not_found, abortable(function(dir) {\n\t\t\t\t\tvar save = function() {\n\t\t\t\t\t\tdir.getFile(name, create_if_not_found, abortable(function(file) {\n\t\t\t\t\t\t\tfile.createWriter(abortable(function(writer) {\n\t\t\t\t\t\t\t\twriter.onwriteend = function(event) {\n\t\t\t\t\t\t\t\t\ttarget_view.location.href = file.toURL();\n\t\t\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\t\t\t\t\tdispatch(filesaver, \"writeend\", event);\n\t\t\t\t\t\t\t\t\trevoke(file);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\twriter.onerror = function() {\n\t\t\t\t\t\t\t\t\tvar error = writer.error;\n\t\t\t\t\t\t\t\t\tif (error.code !== error.ABORT_ERR) {\n\t\t\t\t\t\t\t\t\t\tfs_error();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\"writestart progress write abort\".split(\" \").forEach(function(event) {\n\t\t\t\t\t\t\t\t\twriter[\"on\" + event] = filesaver[\"on\" + event];\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\twriter.write(blob);\n\t\t\t\t\t\t\t\tfilesaver.abort = function() {\n\t\t\t\t\t\t\t\t\twriter.abort();\n\t\t\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tfilesaver.readyState = filesaver.WRITING;\n\t\t\t\t\t\t\t}), fs_error);\n\t\t\t\t\t\t}), fs_error);\n\t\t\t\t\t};\n\t\t\t\t\tdir.getFile(name, {create: false}, abortable(function(file) {\n\t\t\t\t\t\t// delete file if it already exists\n\t\t\t\t\t\tfile.remove();\n\t\t\t\t\t\tsave();\n\t\t\t\t\t}), abortable(function(ex) {\n\t\t\t\t\t\tif (ex.code === ex.NOT_FOUND_ERR) {\n\t\t\t\t\t\t\tsave();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfs_error();\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}), fs_error);\n\t\t\t}), fs_error);\n\t\t}\n\t\t, FS_proto = FileSaver.prototype\n\t\t, saveAs = function(blob, name) {\n\t\t\treturn new FileSaver(blob, name);\n\t\t}\n\t;\n\t// IE 10+ (native saveAs)\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\n\t\treturn function(blob, name) {\n\t\t\treturn navigator.msSaveOrOpenBlob(auto_bom(blob), name);\n\t\t};\n\t}\n\n\tFS_proto.abort = function() {\n\t\tvar filesaver = this;\n\t\tfilesaver.readyState = filesaver.DONE;\n\t\tdispatch(filesaver, \"abort\");\n\t};\n\tFS_proto.readyState = FS_proto.INIT = 0;\n\tFS_proto.WRITING = 1;\n\tFS_proto.DONE = 2;\n\n\tFS_proto.error =\n\tFS_proto.onwritestart =\n\tFS_proto.onprogress =\n\tFS_proto.onwrite =\n\tFS_proto.onabort =\n\tFS_proto.onerror =\n\tFS_proto.onwriteend =\n\t\tnull;\n\n\treturn saveAs;\n}(\n\t typeof self !== \"undefined\" && self\n\t|| typeof window !== \"undefined\" && window\n\t|| this.content\n));\n// `self` is undefined in Firefox for Android content script context\n// while `this` is nsIContentFrameMessageManager\n// with an attribute `content` that corresponds to the window\n\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports.saveAs = saveAs;\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd != null)) {\n define([], function() {\n return saveAs;\n });\n}","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","angular.module('graphdb.workbench.utils.filetypes', [])\n .value('FileTypes', [\n {name: 'JSON', type: 'application/rdf+json', extension: '.json'},\n {name: 'JSON-LD', type: 'application/ld+json', extension: '.jsonld'},\n {name: 'RDF-XML', type: 'application/rdf+xml', extension: '.rdf'},\n {name: 'N3', type: 'text/rdf+n3', extension: '.n3'},\n {name: 'N-Triples', type: 'text/plain', extension: '.nt'},\n {name: 'N-Quads', type: 'text/x-nquads', extension: '.nq'},\n {name: 'Turtle', type: 'text/turtle', extension: '.ttl'},\n {name: 'Turtle*', type: 'application/x-turtlestar', extension: '.ttls'},\n {name: 'TriX', type: 'application/trix', extension: '.trix'},\n {name: 'TriG', type: 'application/x-trig', extension: '.trig'},\n {name: 'TriG*', type: 'application/x-trigstar', extension: '.trigs'},\n {name: 'Binary RDF', type: 'application/x-binary-rdf', extension: '.brf'}\n ]);\n","import 'angular/utils/file-types';\nimport YASR from 'lib/yasr.bundled';\nimport {saveAs} from 'lib/FileSaver-patch';\nimport {decodeHTML} from \"../../../app\";\nimport {YasrUtils} from \"../utils/yasr-utils\";\n\nconst modules = [\n 'ngCookies',\n 'ngRoute',\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.core',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.explore.services',\n 'graphdb.workbench.utils.filetypes'\n];\n\nangular\n .module('graphdb.framework.explore.controllers', modules)\n .controller('FindResourceCtrl', FindResourceCtrl)\n .controller('ExploreCtrl', ExploreCtrl)\n .controller('EditResourceCtrl', EditResourceCtrl)\n .controller('ViewTrigCtrl', ViewTrigCtrl);\n\nExploreCtrl.$inject = ['$scope', '$http', '$location', 'toastr', '$routeParams', '$repositories', 'ClassInstanceDetailsService', 'ModalService', 'RDF4JRepositoriesRestService', 'FileTypes', '$jwtAuth', '$translate', '$languageService', '$q'];\n\nfunction ExploreCtrl($scope, $http, $location, toastr, $routeParams, $repositories, ClassInstanceDetailsService, ModalService, RDF4JRepositoriesRestService, FileTypes, $jwtAuth, $translate, $languageService, $q) {\n // Defaults\n $scope.role = $location.search().role ? $location.search().role : 'subject';\n\n let principalRequestPromise;\n // We need to get sameAs and inference for the current user\n // Using $q.when to proper set values in view\n $q.when($jwtAuth.getPrincipal())\n .then((principal) => {\n // Get the predefined settings for sameAs and inference per user\n $scope.inference = principal.appSettings['DEFAULT_INFERENCE'] && !$scope.role === 'context' ? 'all' : 'explicit';\n $scope.sameAs = principal.appSettings['DEFAULT_INFERENCE'] && principal.appSettings['DEFAULT_SAMEAS'];\n });\n\n $scope.loading = false;\n\n $scope.getActiveRepository = function () {\n return $repositories.getActiveRepository();\n };\n\n $scope.isTripleResource = function () {\n return !!$scope.tripleParam;\n };\n\n // TODO move this to core\n $scope.encodeURIComponent = function (param) {\n return encodeURIComponent(param);\n };\n\n $scope.getRdfStarLocalNames = function(triple) {\n let localNames = triple.slice();\n const trimmed = triple.replace(/[<>]+/g, '');\n trimmed.split(' ').forEach(uri => {\n localNames = localNames.replace(uri, ClassInstanceDetailsService.getLocalName(uri));\n });\n return localNames;\n };\n\n $scope.inferences = [\n {id: 'all', title: 'explore.explicit.implicit'},\n {id: 'explicit', title: 'explore.explicit'},\n {id: 'implicit', title: 'explore.implicit'}\n ];\n $scope.context = '';\n\n $scope.getLocalName = function (uri) {\n return ClassInstanceDetailsService.getLocalName(uri);\n };\n\n $scope.blanks = true;\n\n $scope.formats = FileTypes;\n\n let yasr;\n\n window.editor = {};\n window.editor.getQueryType = function () {\n return 'RESOURCE';\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n if ($scope.getActiveRepository()) {\n if ($scope.usedPrefixes) {\n $scope.loadResource();\n } else {\n RDF4JRepositoriesRestService.getNamespaces($scope.getActiveRepository())\n .success(function (data) {\n $scope.usedPrefixes = {};\n data.results.bindings.forEach(function (e) {\n $scope.usedPrefixes[e.prefix.value] = e.namespace.value;\n });\n $scope.$on('$destroy', function () {\n if (yasr) {\n yasr.destroy();\n }\n });\n yasr = YASR(document.getElementById('yasr'), { // eslint-disable-line new-cap\n //this way, the URLs in the results are prettified using the defined prefixes\n getUsedPrefixes: $scope.usedPrefixes,\n persistency: false,\n hideHeader: true,\n locale: $languageService.getLanguage(),\n pluginsOptions: YasrUtils.getYasrConfiguration()\n });\n $scope.loadResource();\n }).error(function (data) {\n toastr.error($translate.instant('get.namespaces.error.msg', {error: getError(data)}));\n });\n }\n }\n });\n\n $scope.loadResource = function () {\n if ($routeParams.prefix && $routeParams.localName && $scope.usedPrefixes[$routeParams.prefix]) {\n // /resource/PREFIX/LOCAL -> URI = expanded PREFIX + LOCAL\n $scope.uriParam = $scope.usedPrefixes[$routeParams.prefix] + $routeParams.localName;\n } else if ($location.search().uri) {\n // uri parameter -> URI\n $scope.uriParam = $location.search().uri + ($location.hash() ? '#' + $location.hash() : '');\n } else if ($location.search().triple) {\n // uri parameter -> URI\n $scope.tripleParam = $location.search().triple + ($location.hash() ? '#' + $location.hash() : '');\n } else {\n // absolute URI -> URI\n $scope.uriParam = $location.absUrl();\n }\n if ($routeParams.context != null) {\n $scope.context = $routeParams.context;\n }\n // remove angle brackets which were allowed when filling out the search input field\n // but are forbidden when passing the uri as a query parameter\n $scope.uriParam = $scope.uriParam && $scope.uriParam.replace(/<|>/g, \"\");\n\n // Get resource details\n $http({\n url: 'rest/explore/details',\n method: 'GET',\n params: {\n uri: $scope.uriParam,\n triple: $scope.tripleParam,\n context: $scope.context\n },\n headers: {\n 'Accept': 'application/json'\n }\n }).success(function (data) {\n $scope.details = data;\n $scope.context = $scope.details.context;\n if ($scope.details.uri !== 'object') {\n $scope.details.encodeURI = encodeURIComponent($scope.details.uri);\n }\n }).error(function (data) {\n toastr.error($translate.instant('explore.error.resource.details', {data: getError(data)}));\n });\n\n $scope.exploreResource();\n };\n\n $scope.isContextAvailable = function () {\n return $scope.context !== null && $scope.context === \"http://rdf4j.org/schema/rdf4j#SHACLShapeGraph\";\n };\n\n $scope.goToGraphsViz = function () {\n $location.path('graphs-visualizations').search('uri', $scope.uriParam);\n };\n\n const toggleOntoLoader = function (showLoader) {\n const yasrInnerContainer = angular.element(document.getElementById('yasr-inner'));\n const resultsLoader = angular.element(document.getElementById('results-loader'));\n const opacityHideClass = 'opacity-hide';\n /* Angular b**it. For some reason the loader behaved strangely with ng-show not always showing */\n if (showLoader) {\n $scope.loading = true;\n yasrInnerContainer.addClass(opacityHideClass);\n resultsLoader.removeClass(opacityHideClass);\n } else {\n $scope.loading = false;\n yasrInnerContainer.removeClass(opacityHideClass);\n resultsLoader.addClass(opacityHideClass);\n }\n };\n\n // Get resource table\n $scope.exploreResource = function () {\n toggleOntoLoader(true);\n if ($routeParams.context != null) {\n $scope.context = $routeParams.context;\n }\n // Remember the role in the URL so the URL is stable and leads back to the same view\n $location.search('role', $scope.role);\n // wait for principal request if it has not finished and then fetch graph\n Promise.resolve(principalRequestPromise)\n .then(() => getGraph());\n };\n\n function getGraph() {\n const headers = {Accept: 'application/x-graphdb-table-results+json'};\n $.ajax({\n method: 'GET',\n url: 'rest/explore/graph',\n data: {\n uri: $scope.uriParam,\n triple: $scope.tripleParam,\n inference: $scope.inference,\n role: $scope.role,\n bnodes: $scope.blanks,\n sameAs: $scope.sameAs,\n context: $scope.context\n },\n headers: headers\n }).done(function (data, textStatus, jqXhr) {\n toggleOntoLoader(false);\n // Pass the xhr argument first as the yasr expects it that way. See https://ontotext.atlassian.net/browse/GDB-3939\n yasr.setResponse(jqXhr, textStatus);\n }).fail(function (data) {\n toastr.error($translate.instant('explore.error.resource', {data: getError(data)}));\n toggleOntoLoader(false);\n });\n }\n\n $scope.downloadExport = function (format) {\n let param;\n let encodedURI;\n if ($scope.uriParam) {\n param = 'uri=';\n encodedURI = encodeURIComponent($scope.uriParam);\n } else {\n param = 'triple=';\n encodedURI = encodeURIComponent($scope.tripleParam);\n }\n\n $http({\n method: 'GET',\n url: 'rest/explore/graph?' + param + encodedURI +\n \"&role=\" + $scope.role +\n \"&inference=\" + $scope.inference +\n \"&bnodes=\" + $scope.blanks +\n \"&sameAs=\" + $scope.sameAs +\n ($scope.context ? \"&context=\" + encodeURIComponent($scope.context) : \"\"),\n headers: {\n 'Accept': format.type\n }\n }).success(function (response) {\n let data = response;\n if (format.type.indexOf('json') > -1) {\n data = JSON.stringify(data);\n }\n // TODO: Use bowser library to get the browser type\n const ua = navigator.userAgent.toLowerCase();\n if (ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1) {\n window.open('data:attachment/csv;filename=\"statements.' + format.extension + '\",' + encodeURIComponent(data), 'statements.' + format.extension);\n } else {\n const file = new Blob([data], {type: format.type});\n saveAs(file, 'statements' + format.extension);\n }\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.changeRole = function (roleVar) {\n $scope.role = roleVar;\n if ($scope.role === 'context') {\n $scope.inference = 'explicit';\n }\n $scope.exploreResource();\n };\n\n $scope.changeInference = function (inference) {\n $scope.inference = inference;\n $scope.exploreResource();\n };\n\n $scope.copyToClipboardResult = function (uri) {\n ModalService.openCopyToClipboardModal(uri);\n };\n\n $scope.$on('language-changed', function (event, args) {\n if (yasr && yasr.options) {\n yasr.options.locale = args.locale;\n yasr.changeLanguage(args.locale);\n }\n });\n}\n\nFindResourceCtrl.$inject = ['$scope', '$http', '$location', '$repositories', '$q', '$timeout', 'toastr', 'AutocompleteRestService', 'ClassInstanceDetailsService', '$routeParams', 'RDF4JRepositoriesRestService', '$translate'];\n\nfunction FindResourceCtrl($scope, $http, $location, $repositories, $q, $timeout, toastr, AutocompleteRestService, ClassInstanceDetailsService, $routeParams, RDF4JRepositoriesRestService, $translate) {\n $scope.submit = submit;\n $scope.getAutocompleteSuggestions = getAutocompleteSuggestions;\n $scope.inputChangedFn = inputChangedFn;\n $scope.selectedUriCallback = selectedUriCallback;\n\n $scope.selectedUri = {name: \"\"};\n\n $scope.autocompleteEnabled = false;\n\n if (angular.isDefined($routeParams.search)) {\n $timeout(function () {\n $('#resources_finder_value').val($routeParams.search);\n $('.search-button').click();\n }, 500);\n }\n\n function checkAutocompleteStatus() {\n AutocompleteRestService.checkAutocompleteStatus()\n .success(function (response) {\n if (!response) {\n const warningMsg = decodeHTML($translate.instant('explore.autocomplete.warning.msg'));\n toastr.warning('', `<div class=\"autocomplete-toast\"><a href=\"autocomplete\">${warningMsg}</a></div>`,\n {allowHtml: true});\n }\n $scope.autocompleteEnabled = response;\n })\n .error(function () {\n toastr.error($translate.instant('explore.error.autocomplete'));\n });\n }\n\n function getAllNamespacesForActiveRepository() {\n RDF4JRepositoriesRestService.getNamespaces($repositories.getActiveRepository())\n .success(function (data) {\n $scope.namespaces = data.results.bindings.map(function (e) {\n return {\n prefix: e.prefix.value,\n uri: e.namespace.value\n };\n });\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n }\n\n function validateRdfUri(value) {\n // has a pair of angle brackets and the closing one is the last char of the string\n const hasAngleBrackets = value.indexOf(\"<\") >= 0 && value.lastIndexOf(\">\") === value.length - 1;\n\n // does not have a pair of angle bracket - if only one of the is available that is incorrect\n const noAngleBrackets = value.indexOf(\"<\") === -1 && value.lastIndexOf(\">\") === -1;\n\n const validProtocol = /^<?[http|urn].*>?$/.test(value) && (hasAngleBrackets || noAngleBrackets);\n let validPath = false;\n if (validProtocol) {\n if (value.indexOf(\"http\") >= 0) {\n const schemaSlashesIdx = value.indexOf('//');\n validPath = schemaSlashesIdx > 4\n && value.substring(schemaSlashesIdx + 2).length > 0;\n } else if (value.indexOf(\"urn\") >= 0) {\n validPath = value.substring(4).length > 0;\n }\n }\n return validProtocol && validPath;\n }\n\n let uri;\n\n function submit(uri) {\n function setFormInvalid(isDirty) {\n // does not work yet\n $timeout(function () {\n if ($scope.form) {\n $scope.form.$dirty = isDirty;\n }\n });\n }\n\n if (!uri) {\n uri = document.getElementById(\"resources_finder_value\").value;\n }\n if (uri && validateRdfUri(uri)) {\n setFormInvalid(false);\n $location\n .path('resource')\n .search('uri', uri);\n } else {\n setFormInvalid(true);\n if (uri) {\n toastr.error($translate.instant('explore.error.invalid.input'));\n }\n }\n }\n\n if ($scope.getActiveRepository()) {\n checkAutocompleteStatus();\n getAllNamespacesForActiveRepository();\n }\n\n // use a global var to keep old uri in order to change it when a new one appears\n let expandedUri;\n\n function getAutocompleteSuggestions(str) {\n // expand prefix to uri only if the last character of the input is a colon and\n // there are no angle brackets because they are allowed only for absolute uris\n const ANGLE_BRACKETS_REGEX = /<|>/;\n if (!ANGLE_BRACKETS_REGEX.test(str) && str.slice(-1) === ':') {\n const newExpandedUri = ClassInstanceDetailsService.getNamespaceUriForPrefix($scope.namespaces, str.slice(0, -1));\n expandedUri = (newExpandedUri !== expandedUri) ? newExpandedUri : expandedUri;\n if (expandedUri) {\n $(\"#resources_finder_value\").val(expandedUri);\n }\n }\n\n let promise;\n if ($scope.autocompleteEnabled) {\n // add semicolon after the expanded uri in order to filter only by local names for this uri\n const query = str.replace(expandedUri, expandedUri + ';');\n promise = AutocompleteRestService.getAutocompleteSuggestions(query);\n } else {\n // return empty promise\n promise = $q.when($scope.autocompleteEnabled);\n }\n return promise;\n }\n\n $scope.$on('repositoryIsSet', function () {\n checkAutocompleteStatus();\n getAllNamespacesForActiveRepository();\n });\n\n function inputChangedFn() {\n uri = document.getElementById(\"resources_finder_value\").value;\n $scope.form.$dirty = !(uri && validateRdfUri(uri));\n }\n\n function selectedUriCallback(selected) {\n $scope.selectedUri = {name: selected.title};\n submit($scope.selectedUri.name);\n }\n}\n\nEditResourceCtrl.$inject = ['$scope', '$http', '$location', 'toastr', '$repositories', '$modal', '$timeout', 'ClassInstanceDetailsService', 'StatementsService', 'RDF4JRepositoriesRestService', '$translate'];\n\nfunction EditResourceCtrl($scope, $http, $location, toastr, $repositories, $modal, $timeout, ClassInstanceDetailsService, StatementsService, RDF4JRepositoriesRestService, $translate) {\n $scope.uriParam = $location.search().uri;\n $scope.newRow = {\n subject: $scope.uriParam,\n object: {\n type: 'uri',\n datatype: ''\n }\n };\n $scope.newResource = false;\n $scope.datatypeOptions = StatementsService.getDatatypeOptions();\n\n $scope.activeRepository = function () {\n return $repositories.getActiveRepository();\n };\n\n $scope.getClassInstancesDetails = getClassInstancesDetails;\n $scope.addStatement = addStatement;\n $scope.removeStatement = removeStatement;\n $scope.getLocalName = getLocalName;\n $scope.checkValid = checkValid;\n $scope.validEditRow = validEditRow;\n $scope.viewTrig = viewTrig;\n $scope.save = save;\n\n function getClassInstancesDetails() {\n RDF4JRepositoriesRestService.getNamespaces($scope.activeRepository())\n .success(function (data) {\n $scope.namespaces = data.results.bindings.map(function (e) {\n return {\n prefix: e.prefix.value,\n uri: e.namespace.value\n };\n });\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n\n ClassInstanceDetailsService.getDetails($scope.uriParam)\n .success(function (data) {\n $scope.details = data;\n $scope.details.encodeURI = encodeURIComponent($scope.details.uri);\n }).error(function (data) {\n toastr.error($translate.instant('explore.error.resource.details', {data: getError(data)}));\n });\n\n ClassInstanceDetailsService.getGraph($scope.uriParam)\n .then(function (res) {\n const statements = StatementsService.buildStatements(res, $scope.uriParam);\n $scope.statements = statements;\n $scope.newResource = !statements.length;\n });\n }\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n if ($scope.activeRepository()) {\n $scope.getClassInstancesDetails();\n }\n });\n\n $scope.validateUri = function (val) {\n let check = true;\n const text = val ? val : '';\n\n if (text.indexOf(':') === -1) {\n check = false;\n } else {\n const prefix = text.substring(0, text.indexOf(':'));\n const uriForPrefixNotAvailable = ClassInstanceDetailsService.getNamespaceUriForPrefix($scope.namespaces, prefix) === '';\n if (uriForPrefixNotAvailable) {\n // TODO: There's this reported useless escape character for this regex, but I'm not sure if and can I fix it.\n if (/^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/.test(text) === false) {\n check = false;\n }\n\n const count = text.match(/\\//g);\n\n if (count === undefined || count.length < 3) {\n check = false;\n }\n } else {\n const restText = text.substring(text.indexOf(':') + 1).trim();\n if (restText.length < 1) {\n check = false;\n }\n }\n }\n\n return check;\n };\n\n function addStatement() {\n $scope.newRowPredicate.$setSubmitted();\n $scope.newRowObject.$setSubmitted();\n $scope.newRowContext.$setSubmitted();\n if ($scope.newRowPredicate.$valid && $scope.newRowObject.$valid && $scope.newRowContext.$valid) {\n $scope.statements.push(angular.copy($scope.newRow));\n $scope.newRow = {\n subject: $scope.uriParam,\n object: {\n type: 'uri',\n datatype: ''\n }\n };\n $scope.newRowPredicate.$setPristine();\n $scope.newRowPredicate.$setUntouched();\n $scope.newRowObject.$setPristine();\n $scope.newRowObject.$setUntouched();\n $scope.newRowContext.$setPristine();\n $scope.newRowContext.$setUntouched();\n }\n }\n\n function checkValid(data) {\n if (!angular.isUndefined(data)) {\n return true;\n }\n return $translate.instant('explore.validation');\n }\n\n function validEditRow() {\n return $scope.rowform.$valid;\n }\n\n function removeStatement(idx) {\n $scope.statements.splice(idx, 1);\n }\n\n function getLocalName(uri) {\n return ClassInstanceDetailsService.getLocalName(uri);\n }\n\n function viewTrig() {\n $modal.open({\n templateUrl: 'js/angular/explore/templates/viewTrig.html',\n controller: 'ViewTrigCtrl',\n size: 'lg',\n resolve: {\n data: function () {\n return StatementsService.transformToTrig($scope.statements);\n }\n }\n });\n }\n\n function save() {\n const method = $scope.newResource ? 'POST' : 'PUT';\n $http({\n method: method,\n url: 'rest/resource?uri=' + encodeURIComponent($scope.uriParam),\n headers: {\n 'Content-Type': 'application/x-trig'\n },\n data: StatementsService.transformToTrig($scope.statements)\n }).success(function () {\n toastr.success($translate.instant('explore.resource.saved'));\n const timer = $timeout(function () {\n $location.path('resource').search('uri', $scope.uriParam);\n }, 500);\n $scope.$on(\"$destroy\", function () {\n $timeout.cancel(timer);\n });\n }).error(function (data) {\n toastr.error(getError(data));\n });\n }\n}\n\nViewTrigCtrl.$inject = ['$scope', '$modalInstance', 'data'];\n\nfunction ViewTrigCtrl($scope, $modalInstance, data) {\n $scope.trig = data;\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}\n"],"sourceRoot":""}