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,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[39,91],{132:function(n,e,i){"use strict";i.r(e);i(84);angular.module("graphdb.framework.plugins",["ngRoute","graphdb.framework.plugins.controllers"])},84:function(n,e,i){"use strict";i.r(e);i(19);function t(n,e,i,t,r,o,s,l,u){let a;const c=function(){n.clear(),r.isLicenseValid()&&t.getActiveRepository()&&!t.isActiveRepoOntopType()&&!t.isActiveRepoFedXType()&&g()};n.clear=function(){n.searchPluginsTerm="",n.plugins=[],n.displayedPlugins=[]};const g=function(){f(),a=e((function(){f()}),5e3)},f=function(){l.getPlugins(n.getActiveRepository()).success((function(e){n.plugins=n.buildPluginsArray(e.results.bindings)})).error((function(n){i.error(getError(n))})).finally((function(){n.filterResults(),n.setLoader(!1)}))};n.buildPluginsArray=function(n){return n.map(n=>({name:n.s.value,enabled:"true"===n.o.value})).filter((function(n){return"plugincontrol"!==n.name&&"literals-index"!==n.name})).sort((function(n,e){const i=n.name.toLowerCase(),t=e.name.toLowerCase();return i<t?-1:i>t?1:0}))},n.filterResults=function(){const e=n.plugins.filter(e=>-1!==e.name.indexOf(n.searchPluginsTerm));d(e)&&n.updateDisplayedPlugins(e)};const d=function(e){if(!n.displayedPlugins||n.displayedPlugins.length!==e.length)return!0;for(const i in e)if(!n.displayedPlugins.find(n=>angular.equals(n,e[i])))return!0;return!1};function p(){a&&e.cancel(a)}n.updateDisplayedPlugins=function(e){n.displayedPlugins=e,setTimeout((function(){n.applyRowStyles()}),0)},n.setLoader=function(e,i){s.cancel(n.loaderTimeout),e?n.loaderTimeout=s((function(){n.loader=e,n.loaderMessage=i}),300):n.loader=!1},n.$on("repositoryIsSet",(function(){p(),c()})),n.$on("$destroy",(function(){p(),$(window).off("resize.plugin")})),$(window).on("resize.plugin",(function(){n.applyRowStyles()})),n.applyRowStyles=function(){const e=$("#wb-plugins-pluginInPlugins").width(),i=$("tr").width(),t=Math.floor(e/i);$(".wb-plugins-row").toArray().forEach((e,i)=>{n.isGreyBackground(t,i)?$(e).addClass("grey-row"):$(e).removeClass("grey-row")})},n.isGreyBackground=function(n,e){const i=(Math.floor(e/n)+1)%2!=1,t=e%2!=0;if(n%2!=0){if(i&&!t||!i&&!t)return!0;if(i&&t||!i&&t)return!1}else{if(i&&!t||!i&&t)return!1;if(i&&t||!i&&!t)return!0}},n.togglePlugin=function(e,t){const r=n.getActiveRepository(),o=t?u.instant("deactivating.plugin",{pluginName:e}):u.instant("activating.plugin",{pluginName:e});n.setLoader(!0,o),l.togglePlugin(r,t,e).error((function(n){i.error(getError(n))})).finally((function(){f(),n.setLoader(!1)}))},n.getLoaderMessage=function(){return n.loaderMessage||u.instant("common.loading")},n.onSearchTermChanged=function(){n.filterResults()},c()}angular.module("graphdb.framework.plugins.controllers",["graphdb.framework.rest.plugins.service"]).controller("PluginsCtrl",t),t.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$modal","$timeout","PluginsRestService","$translate"]}}]);
2
- //# sourceMappingURL=39.be2d8c75e4ab391ba984.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[39,91],{133:function(n,e,i){"use strict";i.r(e);i(84);angular.module("graphdb.framework.plugins",["ngRoute","graphdb.framework.plugins.controllers"])},84:function(n,e,i){"use strict";i.r(e);i(19);function t(n,e,i,t,r,o,s,l,u){let a;const c=function(){n.clear(),r.isLicenseValid()&&t.getActiveRepository()&&!t.isActiveRepoOntopType()&&!t.isActiveRepoFedXType()&&g()};n.clear=function(){n.searchPluginsTerm="",n.plugins=[],n.displayedPlugins=[]};const g=function(){f(),a=e((function(){f()}),5e3)},f=function(){l.getPlugins(n.getActiveRepository()).success((function(e){n.plugins=n.buildPluginsArray(e.results.bindings)})).error((function(n){i.error(getError(n))})).finally((function(){n.filterResults(),n.setLoader(!1)}))};n.buildPluginsArray=function(n){return n.map(n=>({name:n.s.value,enabled:"true"===n.o.value})).filter((function(n){return"plugincontrol"!==n.name&&"literals-index"!==n.name})).sort((function(n,e){const i=n.name.toLowerCase(),t=e.name.toLowerCase();return i<t?-1:i>t?1:0}))},n.filterResults=function(){const e=n.plugins.filter(e=>-1!==e.name.indexOf(n.searchPluginsTerm));d(e)&&n.updateDisplayedPlugins(e)};const d=function(e){if(!n.displayedPlugins||n.displayedPlugins.length!==e.length)return!0;for(const i in e)if(!n.displayedPlugins.find(n=>angular.equals(n,e[i])))return!0;return!1};function p(){a&&e.cancel(a)}n.updateDisplayedPlugins=function(e){n.displayedPlugins=e,setTimeout((function(){n.applyRowStyles()}),0)},n.setLoader=function(e,i){s.cancel(n.loaderTimeout),e?n.loaderTimeout=s((function(){n.loader=e,n.loaderMessage=i}),300):n.loader=!1},n.$on("repositoryIsSet",(function(){p(),c()})),n.$on("$destroy",(function(){p(),$(window).off("resize.plugin")})),$(window).on("resize.plugin",(function(){n.applyRowStyles()})),n.applyRowStyles=function(){const e=$("#wb-plugins-pluginInPlugins").width(),i=$("tr").width(),t=Math.floor(e/i);$(".wb-plugins-row").toArray().forEach((e,i)=>{n.isGreyBackground(t,i)?$(e).addClass("grey-row"):$(e).removeClass("grey-row")})},n.isGreyBackground=function(n,e){const i=(Math.floor(e/n)+1)%2!=1,t=e%2!=0;if(n%2!=0){if(i&&!t||!i&&!t)return!0;if(i&&t||!i&&t)return!1}else{if(i&&!t||!i&&t)return!1;if(i&&t||!i&&!t)return!0}},n.togglePlugin=function(e,t){const r=n.getActiveRepository(),o=t?u.instant("deactivating.plugin",{pluginName:e}):u.instant("activating.plugin",{pluginName:e});n.setLoader(!0,o),l.togglePlugin(r,t,e).error((function(n){i.error(getError(n))})).finally((function(){f(),n.setLoader(!1)}))},n.getLoaderMessage=function(){return n.loaderMessage||u.instant("common.loading")},n.onSearchTermChanged=function(){n.filterResults()},c()}angular.module("graphdb.framework.plugins.controllers",["graphdb.framework.rest.plugins.service"]).controller("PluginsCtrl",t),t.$inject=["$scope","$interval","toastr","$repositories","$licenseService","$modal","$timeout","PluginsRestService","$translate"]}}]);
2
+ //# sourceMappingURL=39.cd39b4ee76d8238325b0.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/plugins/app.js","webpack:///./src/js/angular/plugins/controllers.js"],"names":["angular","module","PluginsCtrl","$scope","$interval","toastr","$repositories","$licenseService","$modal","$timeout","PluginsRestService","$translate","timer","init","clear","isLicenseValid","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","getPlugins","searchPluginsTerm","plugins","displayedPlugins","initPlugins","success","data","buildPluginsArray","results","bindings","error","getError","finally","filterResults","setLoader","map","plugin","name","s","value","enabled","o","filter","sort","a","b","textA","toLowerCase","textB","matchedPlugins","indexOf","displayedPluginsChanged","updateDisplayedPlugins","length","find","element","equals","cancelTimer","cancel","setTimeout","applyRowStyles","loader","message","loaderTimeout","loaderMessage","$on","$","window","off","on","tableWidth","width","rowWidth","columnPerRow","Math","floor","toArray","forEach","index","isGreyBackground","addClass","removeClass","oddRow","evenElement","togglePlugin","pluginName","repoId","instant","getLoaderMessage","onSearchTermChanged","controller","$inject"],"mappings":"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","file":"39.be2d8c75e4ab391ba984.bundle.js","sourcesContent":["import 'angular/plugins/controllers';\n\nconst modules = [\n 'ngRoute',\n 'graphdb.framework.plugins.controllers'\n];\n\nangular.module('graphdb.framework.plugins', modules);\n","import 'angular/rest/plugins.rest.service';\n\nconst modules = [\n 'graphdb.framework.rest.plugins.service'\n];\n\nangular\n .module('graphdb.framework.plugins.controllers', modules)\n .controller('PluginsCtrl', PluginsCtrl);\n\nPluginsCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', '$modal', '$timeout', 'PluginsRestService', '$translate'];\n\nfunction PluginsCtrl($scope, $interval, toastr, $repositories, $licenseService, $modal, $timeout, PluginsRestService, $translate) {\n\n let timer;\n\n const init = function () {\n $scope.clear();\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n getPlugins();\n };\n\n $scope.clear = function () {\n $scope.searchPluginsTerm = '';\n $scope.plugins = [];\n $scope.displayedPlugins = [];\n };\n\n const getPlugins = function () {\n initPlugins();\n timer = $interval(function () {\n initPlugins();\n }, 5000);\n };\n\n const initPlugins = function () {\n PluginsRestService.getPlugins($scope.getActiveRepository())\n .success(function (data) {\n $scope.plugins = $scope.buildPluginsArray(data.results.bindings);\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.filterResults();\n $scope.setLoader(false);\n });\n };\n\n $scope.buildPluginsArray = function (plugins) {\n return plugins.map((plugin) => ({\n name: plugin.s.value,\n enabled: plugin.o.value === 'true'\n })).filter(function (plugin) {\n return plugin.name !== 'plugincontrol' && plugin.name !== 'literals-index';\n }).sort(function (a, b) {\n const textA = a.name.toLowerCase();\n const textB = b.name.toLowerCase();\n return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;\n });\n };\n\n $scope.filterResults = function () {\n const matchedPlugins = $scope.plugins.filter((plugin) => plugin.name.indexOf($scope.searchPluginsTerm) !== -1);\n if (displayedPluginsChanged(matchedPlugins)) {\n $scope.updateDisplayedPlugins(matchedPlugins);\n }\n };\n\n /**\n * Checks if displayed plugins in the view are different than <code>plugins</code>.\n * @param {*} plugins - plugins to be checked.\n * @return {boolean} returns true if <code>plugins</code> are different from those which are shown in the view.\n */\n const displayedPluginsChanged = function (plugins) {\n if (!$scope.displayedPlugins || $scope.displayedPlugins.length !== plugins.length) {\n return true;\n }\n\n for (const plugin in plugins) {\n if (!$scope.displayedPlugins.find((element) => angular.equals(element, plugins[plugin]))) {\n return true;\n }\n }\n\n return false;\n };\n\n $scope.updateDisplayedPlugins = function (plugins) {\n $scope.displayedPlugins = plugins;\n setTimeout(function () {\n $scope.applyRowStyles();\n }, 0);\n };\n\n $scope.setLoader = function (loader, message) {\n $timeout.cancel($scope.loaderTimeout);\n if (loader) {\n $scope.loaderTimeout = $timeout(function () {\n $scope.loader = loader;\n $scope.loaderMessage = message;\n }, 300);\n } else {\n $scope.loader = false;\n }\n };\n\n // this is used when repository is changed from the upper menu to refresh the plugins for it.\n $scope.$on('repositoryIsSet', function () {\n cancelTimer();\n init();\n });\n\n $scope.$on('$destroy', function () {\n cancelTimer();\n $(window).off('resize.plugin');\n });\n\n $(window).on('resize.plugin', function () {\n $scope.applyRowStyles();\n });\n\n function cancelTimer() {\n if (timer) {\n $interval.cancel(timer);\n }\n }\n\n $scope.applyRowStyles = function () {\n const tableWidth = $('#wb-plugins-pluginInPlugins').width();\n const rowWidth = $('tr').width();\n const columnPerRow = Math.floor(tableWidth / rowWidth);\n $('.wb-plugins-row').toArray().forEach((value, index) => {\n if ($scope.isGreyBackground(columnPerRow, index)) {\n $(value).addClass('grey-row');\n } else {\n $(value).removeClass('grey-row');\n }\n });\n };\n\n $scope.isGreyBackground = function (columnPerRow, index) {\n const row = Math.floor(index / columnPerRow) + 1;\n const oddRow = row % 2 !== 1;\n const evenElement = index % 2 !== 0;\n const evenColumns = columnPerRow % 2 !== 0;\n\n if (evenColumns) {\n if (oddRow && !evenElement || !oddRow && !evenElement) {\n return true;\n }\n if (oddRow && evenElement || !oddRow && evenElement) {\n return false;\n }\n } else {\n if (oddRow && !evenElement || !oddRow && evenElement) {\n return false;\n }\n if (oddRow && evenElement || !oddRow && !evenElement) {\n return true;\n }\n }\n };\n\n $scope.togglePlugin = function (pluginName, enabled) {\n const repoId = $scope.getActiveRepository();\n const message = enabled ? $translate.instant('deactivating.plugin', {pluginName: pluginName}) : $translate.instant('activating.plugin', {pluginName: pluginName});\n $scope.setLoader(true, message);\n PluginsRestService.togglePlugin(repoId, enabled, pluginName)\n .error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n initPlugins();\n $scope.setLoader(false);\n });\n };\n\n $scope.getLoaderMessage = function () {\n return $scope.loaderMessage || $translate.instant('common.loading');\n };\n\n $scope.onSearchTermChanged = function () {\n $scope.filterResults();\n };\n\n init();\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/plugins/app.js","webpack:///./src/js/angular/plugins/controllers.js"],"names":["angular","module","PluginsCtrl","$scope","$interval","toastr","$repositories","$licenseService","$modal","$timeout","PluginsRestService","$translate","timer","init","clear","isLicenseValid","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","getPlugins","searchPluginsTerm","plugins","displayedPlugins","initPlugins","success","data","buildPluginsArray","results","bindings","error","getError","finally","filterResults","setLoader","map","plugin","name","s","value","enabled","o","filter","sort","a","b","textA","toLowerCase","textB","matchedPlugins","indexOf","displayedPluginsChanged","updateDisplayedPlugins","length","find","element","equals","cancelTimer","cancel","setTimeout","applyRowStyles","loader","message","loaderTimeout","loaderMessage","$on","$","window","off","on","tableWidth","width","rowWidth","columnPerRow","Math","floor","toArray","forEach","index","isGreyBackground","addClass","removeClass","oddRow","evenElement","togglePlugin","pluginName","repoId","instant","getLoaderMessage","onSearchTermChanged","controller","$inject"],"mappings":"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","file":"39.cd39b4ee76d8238325b0.bundle.js","sourcesContent":["import 'angular/plugins/controllers';\n\nconst modules = [\n 'ngRoute',\n 'graphdb.framework.plugins.controllers'\n];\n\nangular.module('graphdb.framework.plugins', modules);\n","import 'angular/rest/plugins.rest.service';\n\nconst modules = [\n 'graphdb.framework.rest.plugins.service'\n];\n\nangular\n .module('graphdb.framework.plugins.controllers', modules)\n .controller('PluginsCtrl', PluginsCtrl);\n\nPluginsCtrl.$inject = ['$scope', '$interval', 'toastr', '$repositories', '$licenseService', '$modal', '$timeout', 'PluginsRestService', '$translate'];\n\nfunction PluginsCtrl($scope, $interval, toastr, $repositories, $licenseService, $modal, $timeout, PluginsRestService, $translate) {\n\n let timer;\n\n const init = function () {\n $scope.clear();\n if (!$licenseService.isLicenseValid() ||\n !$repositories.getActiveRepository() ||\n $repositories.isActiveRepoOntopType() ||\n $repositories.isActiveRepoFedXType()) {\n return;\n }\n getPlugins();\n };\n\n $scope.clear = function () {\n $scope.searchPluginsTerm = '';\n $scope.plugins = [];\n $scope.displayedPlugins = [];\n };\n\n const getPlugins = function () {\n initPlugins();\n timer = $interval(function () {\n initPlugins();\n }, 5000);\n };\n\n const initPlugins = function () {\n PluginsRestService.getPlugins($scope.getActiveRepository())\n .success(function (data) {\n $scope.plugins = $scope.buildPluginsArray(data.results.bindings);\n }).error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n $scope.filterResults();\n $scope.setLoader(false);\n });\n };\n\n $scope.buildPluginsArray = function (plugins) {\n return plugins.map((plugin) => ({\n name: plugin.s.value,\n enabled: plugin.o.value === 'true'\n })).filter(function (plugin) {\n return plugin.name !== 'plugincontrol' && plugin.name !== 'literals-index';\n }).sort(function (a, b) {\n const textA = a.name.toLowerCase();\n const textB = b.name.toLowerCase();\n return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;\n });\n };\n\n $scope.filterResults = function () {\n const matchedPlugins = $scope.plugins.filter((plugin) => plugin.name.indexOf($scope.searchPluginsTerm) !== -1);\n if (displayedPluginsChanged(matchedPlugins)) {\n $scope.updateDisplayedPlugins(matchedPlugins);\n }\n };\n\n /**\n * Checks if displayed plugins in the view are different than <code>plugins</code>.\n * @param {*} plugins - plugins to be checked.\n * @return {boolean} returns true if <code>plugins</code> are different from those which are shown in the view.\n */\n const displayedPluginsChanged = function (plugins) {\n if (!$scope.displayedPlugins || $scope.displayedPlugins.length !== plugins.length) {\n return true;\n }\n\n for (const plugin in plugins) {\n if (!$scope.displayedPlugins.find((element) => angular.equals(element, plugins[plugin]))) {\n return true;\n }\n }\n\n return false;\n };\n\n $scope.updateDisplayedPlugins = function (plugins) {\n $scope.displayedPlugins = plugins;\n setTimeout(function () {\n $scope.applyRowStyles();\n }, 0);\n };\n\n $scope.setLoader = function (loader, message) {\n $timeout.cancel($scope.loaderTimeout);\n if (loader) {\n $scope.loaderTimeout = $timeout(function () {\n $scope.loader = loader;\n $scope.loaderMessage = message;\n }, 300);\n } else {\n $scope.loader = false;\n }\n };\n\n // this is used when repository is changed from the upper menu to refresh the plugins for it.\n $scope.$on('repositoryIsSet', function () {\n cancelTimer();\n init();\n });\n\n $scope.$on('$destroy', function () {\n cancelTimer();\n $(window).off('resize.plugin');\n });\n\n $(window).on('resize.plugin', function () {\n $scope.applyRowStyles();\n });\n\n function cancelTimer() {\n if (timer) {\n $interval.cancel(timer);\n }\n }\n\n $scope.applyRowStyles = function () {\n const tableWidth = $('#wb-plugins-pluginInPlugins').width();\n const rowWidth = $('tr').width();\n const columnPerRow = Math.floor(tableWidth / rowWidth);\n $('.wb-plugins-row').toArray().forEach((value, index) => {\n if ($scope.isGreyBackground(columnPerRow, index)) {\n $(value).addClass('grey-row');\n } else {\n $(value).removeClass('grey-row');\n }\n });\n };\n\n $scope.isGreyBackground = function (columnPerRow, index) {\n const row = Math.floor(index / columnPerRow) + 1;\n const oddRow = row % 2 !== 1;\n const evenElement = index % 2 !== 0;\n const evenColumns = columnPerRow % 2 !== 0;\n\n if (evenColumns) {\n if (oddRow && !evenElement || !oddRow && !evenElement) {\n return true;\n }\n if (oddRow && evenElement || !oddRow && evenElement) {\n return false;\n }\n } else {\n if (oddRow && !evenElement || !oddRow && evenElement) {\n return false;\n }\n if (oddRow && evenElement || !oddRow && !evenElement) {\n return true;\n }\n }\n };\n\n $scope.togglePlugin = function (pluginName, enabled) {\n const repoId = $scope.getActiveRepository();\n const message = enabled ? $translate.instant('deactivating.plugin', {pluginName: pluginName}) : $translate.instant('activating.plugin', {pluginName: pluginName});\n $scope.setLoader(true, message);\n PluginsRestService.togglePlugin(repoId, enabled, pluginName)\n .error(function (data) {\n toastr.error(getError(data));\n }).finally(function () {\n initPlugins();\n $scope.setLoader(false);\n });\n };\n\n $scope.getLoaderMessage = function () {\n return $scope.loaderMessage || $translate.instant('common.loading');\n };\n\n $scope.onSearchTermChanged = function () {\n $scope.filterResults();\n };\n\n init();\n}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[40,93],{134:function(e,n,o){"use strict";o.r(n);o(4),o(11),o(85);angular.module("graphdb.framework.jmx.queries",["toastr","ui.bootstrap","graphdb.framework.jmx.queries.controllers","graphdb.framework.core.directives"])},85:function(e,n,o){"use strict";o.r(n);o(4),o(14);const t=angular.module("graphdb.framework.jmx.queries.controllers",["ui.bootstrap","toastr","graphdb.framework.rest.monitoring.service"]);t.controller("QueriesCtrl",["$scope","$modal","toastr","$interval","$repositories","$jwtAuth","ModalService","MonitoringRestService","$translate",function(e,n,o,t,r,s,i,a,u){e.loader=!0,e.stringLimit=500,e.expanded={},e.error="",e.paused=!1;const c=document.createElement("a");e.parseNode=function(e){if(null==e)return null;let n="local";if(e.indexOf("://localhost:")<0&&e.indexOf("://localhost/")<0){c.href=e;let o=c.hostname;(function(e){const n=e.split(".");for(let e=0,o=0;e<n.length;e++)if(parseInt(n[e],10)>=0&&parseInt(n[e],10)<=255?o++:o=0,4===o)return!0;return!1})(c.hostname)||(o=c.hostname.split(".")[0]),n=o+":"+c.port}const o=e.match(/\/repositories\/([^\/]+)#(\d+)/);return[o[2],n,o[1]]},e.togglePause=function(){e.paused=!e.paused},e.getQueries=function(){e.getQueriesRunning||e.paused||e.error||!r.getActiveRepository()||(e.getQueriesRunning=!0,a.monitorQuery().success((function(n){const o=n;e.noQueries=0===o.length,e.queries={};for(let n=0;n<o.length;n++)o[n].parsedNode=e.parseNode(o[n].node),e.queries[o[n].trackId]=o[n];e.noActiveRepository=!1,e.loader=!1,e.getQueriesRunning=!1})).error((function(n){e.error=getError(n),e.loader=!1,e.getQueriesRunning=!1})))};const l=t((function(){r.isActiveRepoOntopType()||e.getQueries()}),1e3);e.$on("$destroy",(function(){t.cancel(l)})),e.deleteQueryHttp=function(n){e.loader=!0,a.deleteQuery(n).success((function(){o.success(u.instant("abort.request.sent.msg")),e.loader=!1})).error((function(n){const t=getError(n);o.error(t,u.instant("common.error")),e.loader=!1}))},e.abortQuery=function(n){i.openSimpleModal({title:u.instant("confirm.abort"),message:u.instant("confirm.abort.warning.msg"),warning:!0}).result.then((function(){e.deleteQueryHttp(n)}))},e.downloadQuery=function(e){const n="query_"+e+".rq";let o="rest/monitor/query/download?queryId="+encodeURIComponent(e)+"&repository="+encodeURIComponent(r.getActiveRepository())+"&filename="+encodeURIComponent(n);s.isAuthenticated()&&(o=o+"&authToken="+encodeURIComponent(s.getAuthToken())),window.open(o,"_blank")},e.toggleQueryExpanded=function(n){e.expanded[n]=!e.expanded[n]}}]),t.controller("DeleteQueryCtrl",["$scope","$modalInstance",function(e,n){e.ok=function(){n.close()},e.cancel=function(){n.dismiss("cancel")}}])}}]);
2
- //# sourceMappingURL=40.9272ebe1d2246ae3054f.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[40,93],{135:function(e,n,o){"use strict";o.r(n);o(4),o(11),o(85);angular.module("graphdb.framework.jmx.queries",["toastr","ui.bootstrap","graphdb.framework.jmx.queries.controllers","graphdb.framework.core.directives"])},85:function(e,n,o){"use strict";o.r(n);o(4),o(14);const t=angular.module("graphdb.framework.jmx.queries.controllers",["ui.bootstrap","toastr","graphdb.framework.rest.monitoring.service"]);t.controller("QueriesCtrl",["$scope","$modal","toastr","$interval","$repositories","$jwtAuth","ModalService","MonitoringRestService","$translate",function(e,n,o,t,r,s,i,a,u){e.loader=!0,e.stringLimit=500,e.expanded={},e.error="",e.paused=!1;const c=document.createElement("a");e.parseNode=function(e){if(null==e)return null;let n="local";if(e.indexOf("://localhost:")<0&&e.indexOf("://localhost/")<0){c.href=e;let o=c.hostname;(function(e){const n=e.split(".");for(let e=0,o=0;e<n.length;e++)if(parseInt(n[e],10)>=0&&parseInt(n[e],10)<=255?o++:o=0,4===o)return!0;return!1})(c.hostname)||(o=c.hostname.split(".")[0]),n=o+":"+c.port}const o=e.match(/\/repositories\/([^\/]+)#(\d+)/);return[o[2],n,o[1]]},e.togglePause=function(){e.paused=!e.paused},e.getQueries=function(){e.getQueriesRunning||e.paused||e.error||!r.getActiveRepository()||(e.getQueriesRunning=!0,a.monitorQuery().success((function(n){const o=n;e.noQueries=0===o.length,e.queries={};for(let n=0;n<o.length;n++)o[n].parsedNode=e.parseNode(o[n].node),e.queries[o[n].trackId]=o[n];e.noActiveRepository=!1,e.loader=!1,e.getQueriesRunning=!1})).error((function(n){e.error=getError(n),e.loader=!1,e.getQueriesRunning=!1})))};const l=t((function(){r.isActiveRepoOntopType()||e.getQueries()}),1e3);e.$on("$destroy",(function(){t.cancel(l)})),e.deleteQueryHttp=function(n){e.loader=!0,a.deleteQuery(n).success((function(){o.success(u.instant("abort.request.sent.msg")),e.loader=!1})).error((function(n){const t=getError(n);o.error(t,u.instant("common.error")),e.loader=!1}))},e.abortQuery=function(n){i.openSimpleModal({title:u.instant("confirm.abort"),message:u.instant("confirm.abort.warning.msg"),warning:!0}).result.then((function(){e.deleteQueryHttp(n)}))},e.downloadQuery=function(e){const n="query_"+e+".rq";let o="rest/monitor/query/download?queryId="+encodeURIComponent(e)+"&repository="+encodeURIComponent(r.getActiveRepository())+"&filename="+encodeURIComponent(n);s.isAuthenticated()&&(o=o+"&authToken="+encodeURIComponent(s.getAuthToken())),window.open(o,"_blank")},e.toggleQueryExpanded=function(n){e.expanded[n]=!e.expanded[n]}}]),t.controller("DeleteQueryCtrl",["$scope","$modalInstance",function(e,n){e.ok=function(){n.close()},e.cancel=function(){n.dismiss("cancel")}}])}}]);
2
+ //# sourceMappingURL=40.ba69b25514acd93c43c1.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/queries/app.js","webpack:///./src/js/angular/queries/controllers.js"],"names":["angular","module","queriesCtrl","controller","$scope","$modal","toastr","$interval","$repositories","$jwtAuth","ModalService","MonitoringRestService","$translate","loader","stringLimit","expanded","error","paused","parser","document","createElement","parseNode","node","shortUrl","indexOf","href","hostname","ip","blocks","split","i","sequence","length","parseInt","containsIPV4","port","match","togglePause","getQueries","getQueriesRunning","getActiveRepository","monitorQuery","success","data","newQueries","noQueries","queries","parsedNode","trackId","noActiveRepository","getError","timer","isActiveRepoOntopType","$on","cancel","deleteQueryHttp","queryId","deleteQuery","instant","msg","abortQuery","openSimpleModal","title","message","warning","result","then","downloadQuery","filename","link","encodeURIComponent","isAuthenticated","getAuthToken","window","open","toggleQueryExpanded","$modalInstance","ok","close","dismiss"],"mappings":"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","file":"40.9272ebe1d2246ae3054f.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/queries/controllers';\n\nconst modules = [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.jmx.queries.controllers',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.jmx.queries', modules);\n","import 'angular/core/services';\nimport 'angular/rest/monitoring.rest.service';\n\nconst queriesCtrl = angular.module('graphdb.framework.jmx.queries.controllers', [\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.rest.monitoring.service'\n]);\n\nqueriesCtrl.controller('QueriesCtrl', ['$scope', '$modal', 'toastr', '$interval', '$repositories', '$jwtAuth', 'ModalService', 'MonitoringRestService', '$translate',\n function ($scope, $modal, toastr, $interval, $repositories, $jwtAuth, ModalService, MonitoringRestService, $translate) {\n\n $scope.loader = true;\n $scope.stringLimit = 500;\n $scope.expanded = {};\n $scope.error = '';\n $scope.paused = false;\n\n function containsIPV4(ip) {\n const blocks = ip.split('.');\n for (let i = 0, sequence = 0; i < blocks.length; i++) {\n if (parseInt(blocks[i], 10) >= 0 && parseInt(blocks[i], 10) <= 255) {\n sequence++;\n } else {\n sequence = 0;\n }\n if (sequence === 4) {\n return true;\n }\n }\n return false;\n }\n\n const parser = document.createElement('a');\n\n // Parses a node of the kind http://host.example.com:7200/repositories/repo#NN,\n // where NN is the track ID into an array [NN, host:7200, repo].\n $scope.parseNode = function (node) {\n if (node == null) {\n return null;\n }\n\n let shortUrl = 'local';\n if (node.indexOf('://localhost:') < 0 && node.indexOf('://localhost/') < 0) {\n parser.href = node;\n let hostname = parser.hostname;\n if (!containsIPV4(parser.hostname)) {\n hostname = parser.hostname.split('.')[0];\n }\n shortUrl = hostname + ':' + parser.port;\n }\n const match = node.match(/\\/repositories\\/([^\\/]+)#(\\d+)/); // eslint-disable-line no-useless-escape\n\n return [match[2], shortUrl, match[1]];\n };\n\n $scope.togglePause = function () {\n $scope.paused = !$scope.paused;\n }\n\n $scope.getQueries = function () {\n // Skip execution if already getting from previous call, if paused, if jolokia returned an error,\n // or if no repository is available\n if ($scope.getQueriesRunning || $scope.paused || $scope.error || !$repositories.getActiveRepository()) {\n return;\n }\n\n $scope.getQueriesRunning = true;\n MonitoringRestService.monitorQuery().success(function (data) {\n const newQueries = data;\n $scope.noQueries = newQueries.length === 0;\n\n // Converts array to object. Angular seems to handle updates on objects better, i.e.\n // it doesn't recreate DOM elements for queries that are already displayed.\n $scope.queries = {};\n for (let i = 0; i < newQueries.length; i++) {\n newQueries[i].parsedNode = $scope.parseNode(newQueries[i].node);\n $scope.queries[newQueries[i].trackId] = newQueries[i];\n }\n\n $scope.noActiveRepository = false;\n $scope.loader = false;\n $scope.getQueriesRunning = false;\n }).error(function (data) {\n $scope.error = getError(data);\n $scope.loader = false;\n $scope.getQueriesRunning = false;\n });\n };\n\n const timer = $interval(function () {\n // Don't call getQueries for Ontop type repository\n if ($repositories.isActiveRepoOntopType()) {\n return;\n }\n $scope.getQueries();\n }, 1000);\n\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n\n $scope.deleteQueryHttp = function (queryId) {\n\n $scope.loader = true;\n MonitoringRestService.deleteQuery(queryId).success(function () {\n toastr.success($translate.instant('abort.request.sent.msg'));\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n\n $scope.loader = false;\n });\n };\n\n $scope.abortQuery = function (queryId) {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.abort'),\n message: $translate.instant('confirm.abort.warning.msg'),\n warning: true\n }).result.then(function () {\n $scope.deleteQueryHttp(queryId);\n });\n };\n\n $scope.downloadQuery = function (queryId) {\n const filename = 'query_' + queryId + '.rq';\n let link = 'rest/monitor/query/download?queryId=' + encodeURIComponent(queryId)\n + '&repository=' + encodeURIComponent($repositories.getActiveRepository())\n + '&filename=' + encodeURIComponent(filename);\n if ($jwtAuth.isAuthenticated()) {\n link = link + '&authToken=' + encodeURIComponent($jwtAuth.getAuthToken());\n }\n\n window.open(link, '_blank');\n };\n\n $scope.toggleQueryExpanded = function (queryId) {\n $scope.expanded[queryId] = !$scope.expanded[queryId];\n };\n }]);\n\n\nqueriesCtrl.controller('DeleteQueryCtrl', ['$scope', '$modalInstance', function ($scope, $modalInstance) {\n\n $scope.ok = function () {\n $modalInstance.close();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/queries/app.js","webpack:///./src/js/angular/queries/controllers.js"],"names":["angular","module","queriesCtrl","controller","$scope","$modal","toastr","$interval","$repositories","$jwtAuth","ModalService","MonitoringRestService","$translate","loader","stringLimit","expanded","error","paused","parser","document","createElement","parseNode","node","shortUrl","indexOf","href","hostname","ip","blocks","split","i","sequence","length","parseInt","containsIPV4","port","match","togglePause","getQueries","getQueriesRunning","getActiveRepository","monitorQuery","success","data","newQueries","noQueries","queries","parsedNode","trackId","noActiveRepository","getError","timer","isActiveRepoOntopType","$on","cancel","deleteQueryHttp","queryId","deleteQuery","instant","msg","abortQuery","openSimpleModal","title","message","warning","result","then","downloadQuery","filename","link","encodeURIComponent","isAuthenticated","getAuthToken","window","open","toggleQueryExpanded","$modalInstance","ok","close","dismiss"],"mappings":"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","file":"40.ba69b25514acd93c43c1.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/queries/controllers';\n\nconst modules = [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.jmx.queries.controllers',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.jmx.queries', modules);\n","import 'angular/core/services';\nimport 'angular/rest/monitoring.rest.service';\n\nconst queriesCtrl = angular.module('graphdb.framework.jmx.queries.controllers', [\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.rest.monitoring.service'\n]);\n\nqueriesCtrl.controller('QueriesCtrl', ['$scope', '$modal', 'toastr', '$interval', '$repositories', '$jwtAuth', 'ModalService', 'MonitoringRestService', '$translate',\n function ($scope, $modal, toastr, $interval, $repositories, $jwtAuth, ModalService, MonitoringRestService, $translate) {\n\n $scope.loader = true;\n $scope.stringLimit = 500;\n $scope.expanded = {};\n $scope.error = '';\n $scope.paused = false;\n\n function containsIPV4(ip) {\n const blocks = ip.split('.');\n for (let i = 0, sequence = 0; i < blocks.length; i++) {\n if (parseInt(blocks[i], 10) >= 0 && parseInt(blocks[i], 10) <= 255) {\n sequence++;\n } else {\n sequence = 0;\n }\n if (sequence === 4) {\n return true;\n }\n }\n return false;\n }\n\n const parser = document.createElement('a');\n\n // Parses a node of the kind http://host.example.com:7200/repositories/repo#NN,\n // where NN is the track ID into an array [NN, host:7200, repo].\n $scope.parseNode = function (node) {\n if (node == null) {\n return null;\n }\n\n let shortUrl = 'local';\n if (node.indexOf('://localhost:') < 0 && node.indexOf('://localhost/') < 0) {\n parser.href = node;\n let hostname = parser.hostname;\n if (!containsIPV4(parser.hostname)) {\n hostname = parser.hostname.split('.')[0];\n }\n shortUrl = hostname + ':' + parser.port;\n }\n const match = node.match(/\\/repositories\\/([^\\/]+)#(\\d+)/); // eslint-disable-line no-useless-escape\n\n return [match[2], shortUrl, match[1]];\n };\n\n $scope.togglePause = function () {\n $scope.paused = !$scope.paused;\n }\n\n $scope.getQueries = function () {\n // Skip execution if already getting from previous call, if paused, if jolokia returned an error,\n // or if no repository is available\n if ($scope.getQueriesRunning || $scope.paused || $scope.error || !$repositories.getActiveRepository()) {\n return;\n }\n\n $scope.getQueriesRunning = true;\n MonitoringRestService.monitorQuery().success(function (data) {\n const newQueries = data;\n $scope.noQueries = newQueries.length === 0;\n\n // Converts array to object. Angular seems to handle updates on objects better, i.e.\n // it doesn't recreate DOM elements for queries that are already displayed.\n $scope.queries = {};\n for (let i = 0; i < newQueries.length; i++) {\n newQueries[i].parsedNode = $scope.parseNode(newQueries[i].node);\n $scope.queries[newQueries[i].trackId] = newQueries[i];\n }\n\n $scope.noActiveRepository = false;\n $scope.loader = false;\n $scope.getQueriesRunning = false;\n }).error(function (data) {\n $scope.error = getError(data);\n $scope.loader = false;\n $scope.getQueriesRunning = false;\n });\n };\n\n const timer = $interval(function () {\n // Don't call getQueries for Ontop type repository\n if ($repositories.isActiveRepoOntopType()) {\n return;\n }\n $scope.getQueries();\n }, 1000);\n\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n\n $scope.deleteQueryHttp = function (queryId) {\n\n $scope.loader = true;\n MonitoringRestService.deleteQuery(queryId).success(function () {\n toastr.success($translate.instant('abort.request.sent.msg'));\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n\n $scope.loader = false;\n });\n };\n\n $scope.abortQuery = function (queryId) {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.abort'),\n message: $translate.instant('confirm.abort.warning.msg'),\n warning: true\n }).result.then(function () {\n $scope.deleteQueryHttp(queryId);\n });\n };\n\n $scope.downloadQuery = function (queryId) {\n const filename = 'query_' + queryId + '.rq';\n let link = 'rest/monitor/query/download?queryId=' + encodeURIComponent(queryId)\n + '&repository=' + encodeURIComponent($repositories.getActiveRepository())\n + '&filename=' + encodeURIComponent(filename);\n if ($jwtAuth.isAuthenticated()) {\n link = link + '&authToken=' + encodeURIComponent($jwtAuth.getAuthToken());\n }\n\n window.open(link, '_blank');\n };\n\n $scope.toggleQueryExpanded = function (queryId) {\n $scope.expanded[queryId] = !$scope.expanded[queryId];\n };\n }]);\n\n\nqueriesCtrl.controller('DeleteQueryCtrl', ['$scope', '$modalInstance', function ($scope, $modalInstance) {\n\n $scope.ok = function () {\n $modalInstance.close();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[41],{140:function(t,e,n){"use strict";n.r(e);n(4),n(11),n(52),n(10),n(252),n(264);angular.module("graphdb.framework.jmx.resources",["toastr","ui.bootstrap","nvd3","graphdb.framework.jmx.resources.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives"])},264:function(t,e){!function(){"use strict";angular.module("nvd3",[]).directive("nvd3",["utils",function(t){return{restrict:"AE",scope:{data:"=",options:"=",api:"=?",events:"=?",config:"=?"},link:function(e,n,i){var a={extended:!1,visible:!0,disabled:!1,autorefresh:!0,refreshDataOnly:!1,deepWatchData:!0,debounce:10};function r(t,n){t&&n&&angular.forEach(t,(function(i,a){void 0===n[a]||null===n[a]?e._config.extended&&(n[a]=i.on):t.on(a+"._",n[a])}))}function o(i){var a=t.deepExtend(function(t){switch(t){case"title":return{enable:!1,text:"Write Your Title",class:"h4",css:{width:e.options.chart.width+"px",textAlign:"center"}};case"subtitle":return{enable:!1,text:"Write Your Subtitle",css:{width:e.options.chart.width+"px",textAlign:"center"}};case"caption":return{enable:!1,text:"Figure 1. Write Your Caption text.",css:{width:e.options.chart.width+"px",textAlign:"center"}}}}(i),e.options[i]||{});e._config.extended&&(e.options[i]=a);var r=angular.element("<div></div>").html(a.html||"").addClass(i).addClass(a.class).removeAttr("style").css(a.css);a.html||r.text(a.text),a.enable&&("title"===i?n.prepend(r):"subtitle"===i?n.find(".title").after(r):"caption"===i&&n.append(r))}e._config=angular.extend(a,e.config),e.api={refresh:function(){e.api.updateWithOptions(e.options)},update:function(){e.chart.update()},updateWithOptions:function(i){e.api.clearElement(),!1!==angular.isDefined(i)&&e._config.visible&&(e.chart=nv.models[i.chart.type](),e.chart.id=Math.random().toString(36).substr(2,15),angular.forEach(e.chart,(function(t,n){["options","_options","_inherited","_d3options","state","id","resizeHandler"].indexOf(n)>=0||("dispatch"===n?(void 0!==i.chart[n]&&null!==i.chart[n]||e._config.extended&&(i.chart[n]={}),r(e.chart[n],i.chart[n])):["lines","lines1","lines2","bars","bars1","bars2","stack1","stack2","stacked","multibar","discretebar","pie","scatter","bullet","sparkline","legend","distX","distY","xAxis","x2Axis","yAxis","yAxis1","yAxis2","y1Axis","y2Axis","y3Axis","y4Axis","interactiveLayer","controls"].indexOf(n)>=0?(void 0!==i.chart[n]&&null!==i.chart[n]||e._config.extended&&(i.chart[n]={}),function(t,n,i){t&&n&&angular.forEach(t,(function(i,a){"dispatch"===a?(void 0!==n[a]&&null!==n[a]||e._config.extended&&(n[a]={}),r(i,n[a])):["scatter","defined","options","axis","rangeBand","rangeBands","_options","_inherited","_d3options","_calls"].indexOf(a)<0&&(void 0===n[a]||null===n[a]?e._config.extended&&(n[a]=i()):t[a](n[a]))}))}(e.chart[n],i.chart[n],i.chart.type)):("xTickFormat"!==n&&"yTickFormat"!==n||"lineWithFocusChart"!==i.chart.type)&&(void 0===i.chart[n]||null===i.chart[n]?e._config.extended&&(i.chart[n]=t()):e.chart[n](i.chart[n])))})),e.api.updateWithData(e.data),(i.title||e._config.extended)&&o("title"),(i.subtitle||e._config.extended)&&o("subtitle"),(i.caption||e._config.extended)&&o("caption"),(i.styles||e._config.extended)&&function(){var i=t.deepExtend({classes:{"with-3d-shadow":!0,"with-transitions":!0,gallery:!1},css:{}},e.options.styles||{});e._config.extended&&(e.options.styles=i);angular.forEach(i.classes,(function(t,e){t?n.addClass(e):n.removeClass(e)})),n.removeAttr("style").css(i.css)}(),nv.addGraph((function(){return e.chart.resizeHandler=nv.utils.windowResize((function(){e.chart.update()})),e.chart}),i.chart.callback))},updateWithData:function(t){t&&(e.options.chart.transitionDuration=+e.options.chart.transitionDuration||250,d3.select(n[0]).select("svg").remove(),d3.select(n[0]).append("svg").attr("height",e.options.chart.height).attr("width",e.options.chart.width||"100%").datum(t).transition().duration(e.options.chart.transitionDuration).call(e.chart))},clearElement:function(){if(n.find(".title").remove(),n.find(".subtitle").remove(),n.find(".caption").remove(),n.empty(),e.chart){e.chart.resizeHandler&&e.chart.resizeHandler.clear();for(var t=0;t<nv.graphs.length;t++)nv.graphs[t].id===e.chart.id&&nv.graphs.splice(t,1)}e.chart=null,nv.tooltip.cleanup()},getScope:function(){return e}},e.$watch("options",t.debounce((function(t){!e._config.disabled&&e._config.autorefresh&&e.api.refresh()}),e._config.debounce,!0),!0),e.$watch("data",(function(t,n){t!==n&&e.chart&&!e._config.disabled&&e._config.autorefresh&&(e._config.refreshDataOnly?e.chart.update():e.api.refresh())}),e._config.deepWatchData),e.$watch("config",(function(t,n){t!==n&&(e._config=angular.extend(a,t),e.api.refresh())}),!0),angular.forEach(e.events,(function(t,n){e.$on(n,(function(n){return t(n,e)}))})),n.on("$destroy",(function(){e.api.clearElement()}))}}}]).factory("utils",(function(){return{debounce:function(t,e,n){var i;return function(){var a=this,r=arguments,o=function(){i=null,n||t.apply(a,r)},c=n&&!i;clearTimeout(i),i=setTimeout(o,e),c&&t.apply(a,r)}},deepExtend:function(t){var e=this;return angular.forEach(arguments,(function(n){n!==t&&angular.forEach(n,(function(n,i){t[i]&&t[i].constructor&&t[i].constructor===Object?e.deepExtend(t[i],n):t[i]=n}))})),t}}}))}()}}]);
2
- //# sourceMappingURL=41.f69dd805b7e51756518f.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[41],{141:function(t,e,n){"use strict";n.r(e);n(4),n(11),n(52),n(10),n(252),n(264);angular.module("graphdb.framework.jmx.resources",["toastr","ui.bootstrap","nvd3","graphdb.framework.jmx.resources.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives"])},264:function(t,e){!function(){"use strict";angular.module("nvd3",[]).directive("nvd3",["utils",function(t){return{restrict:"AE",scope:{data:"=",options:"=",api:"=?",events:"=?",config:"=?"},link:function(e,n,i){var a={extended:!1,visible:!0,disabled:!1,autorefresh:!0,refreshDataOnly:!1,deepWatchData:!0,debounce:10};function r(t,n){t&&n&&angular.forEach(t,(function(i,a){void 0===n[a]||null===n[a]?e._config.extended&&(n[a]=i.on):t.on(a+"._",n[a])}))}function o(i){var a=t.deepExtend(function(t){switch(t){case"title":return{enable:!1,text:"Write Your Title",class:"h4",css:{width:e.options.chart.width+"px",textAlign:"center"}};case"subtitle":return{enable:!1,text:"Write Your Subtitle",css:{width:e.options.chart.width+"px",textAlign:"center"}};case"caption":return{enable:!1,text:"Figure 1. Write Your Caption text.",css:{width:e.options.chart.width+"px",textAlign:"center"}}}}(i),e.options[i]||{});e._config.extended&&(e.options[i]=a);var r=angular.element("<div></div>").html(a.html||"").addClass(i).addClass(a.class).removeAttr("style").css(a.css);a.html||r.text(a.text),a.enable&&("title"===i?n.prepend(r):"subtitle"===i?n.find(".title").after(r):"caption"===i&&n.append(r))}e._config=angular.extend(a,e.config),e.api={refresh:function(){e.api.updateWithOptions(e.options)},update:function(){e.chart.update()},updateWithOptions:function(i){e.api.clearElement(),!1!==angular.isDefined(i)&&e._config.visible&&(e.chart=nv.models[i.chart.type](),e.chart.id=Math.random().toString(36).substr(2,15),angular.forEach(e.chart,(function(t,n){["options","_options","_inherited","_d3options","state","id","resizeHandler"].indexOf(n)>=0||("dispatch"===n?(void 0!==i.chart[n]&&null!==i.chart[n]||e._config.extended&&(i.chart[n]={}),r(e.chart[n],i.chart[n])):["lines","lines1","lines2","bars","bars1","bars2","stack1","stack2","stacked","multibar","discretebar","pie","scatter","bullet","sparkline","legend","distX","distY","xAxis","x2Axis","yAxis","yAxis1","yAxis2","y1Axis","y2Axis","y3Axis","y4Axis","interactiveLayer","controls"].indexOf(n)>=0?(void 0!==i.chart[n]&&null!==i.chart[n]||e._config.extended&&(i.chart[n]={}),function(t,n,i){t&&n&&angular.forEach(t,(function(i,a){"dispatch"===a?(void 0!==n[a]&&null!==n[a]||e._config.extended&&(n[a]={}),r(i,n[a])):["scatter","defined","options","axis","rangeBand","rangeBands","_options","_inherited","_d3options","_calls"].indexOf(a)<0&&(void 0===n[a]||null===n[a]?e._config.extended&&(n[a]=i()):t[a](n[a]))}))}(e.chart[n],i.chart[n],i.chart.type)):("xTickFormat"!==n&&"yTickFormat"!==n||"lineWithFocusChart"!==i.chart.type)&&(void 0===i.chart[n]||null===i.chart[n]?e._config.extended&&(i.chart[n]=t()):e.chart[n](i.chart[n])))})),e.api.updateWithData(e.data),(i.title||e._config.extended)&&o("title"),(i.subtitle||e._config.extended)&&o("subtitle"),(i.caption||e._config.extended)&&o("caption"),(i.styles||e._config.extended)&&function(){var i=t.deepExtend({classes:{"with-3d-shadow":!0,"with-transitions":!0,gallery:!1},css:{}},e.options.styles||{});e._config.extended&&(e.options.styles=i);angular.forEach(i.classes,(function(t,e){t?n.addClass(e):n.removeClass(e)})),n.removeAttr("style").css(i.css)}(),nv.addGraph((function(){return e.chart.resizeHandler=nv.utils.windowResize((function(){e.chart.update()})),e.chart}),i.chart.callback))},updateWithData:function(t){t&&(e.options.chart.transitionDuration=+e.options.chart.transitionDuration||250,d3.select(n[0]).select("svg").remove(),d3.select(n[0]).append("svg").attr("height",e.options.chart.height).attr("width",e.options.chart.width||"100%").datum(t).transition().duration(e.options.chart.transitionDuration).call(e.chart))},clearElement:function(){if(n.find(".title").remove(),n.find(".subtitle").remove(),n.find(".caption").remove(),n.empty(),e.chart){e.chart.resizeHandler&&e.chart.resizeHandler.clear();for(var t=0;t<nv.graphs.length;t++)nv.graphs[t].id===e.chart.id&&nv.graphs.splice(t,1)}e.chart=null,nv.tooltip.cleanup()},getScope:function(){return e}},e.$watch("options",t.debounce((function(t){!e._config.disabled&&e._config.autorefresh&&e.api.refresh()}),e._config.debounce,!0),!0),e.$watch("data",(function(t,n){t!==n&&e.chart&&!e._config.disabled&&e._config.autorefresh&&(e._config.refreshDataOnly?e.chart.update():e.api.refresh())}),e._config.deepWatchData),e.$watch("config",(function(t,n){t!==n&&(e._config=angular.extend(a,t),e.api.refresh())}),!0),angular.forEach(e.events,(function(t,n){e.$on(n,(function(n){return t(n,e)}))})),n.on("$destroy",(function(){e.api.clearElement()}))}}}]).factory("utils",(function(){return{debounce:function(t,e,n){var i;return function(){var a=this,r=arguments,o=function(){i=null,n||t.apply(a,r)},c=n&&!i;clearTimeout(i),i=setTimeout(o,e),c&&t.apply(a,r)}},deepExtend:function(t){var e=this;return angular.forEach(arguments,(function(n){n!==t&&angular.forEach(n,(function(n,i){t[i]&&t[i].constructor&&t[i].constructor===Object?e.deepExtend(t[i],n):t[i]=n}))})),t}}}))}()}}]);
2
+ //# sourceMappingURL=41.97280c0900f9b44ab8aa.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/resources/app.js","webpack:///./src/js/lib/nvd3/angular-nvd3.js"],"names":["angular","module","directive","utils","restrict","scope","data","options","api","events","config","link","element","attrs","defaultConfig","extended","visible","disabled","autorefresh","refreshDataOnly","deepWatchData","debounce","configureEvents","dispatch","forEach","value","key","undefined","_config","on","configureWrapper","name","_","deepExtend","enable","text","class","css","width","chart","textAlign","defaultWrapper","wrapElement","html","addClass","removeAttr","prepend","find","after","append","extend","refresh","updateWithOptions","update","clearElement","isDefined","nv","models","type","id","Math","random","toString","substr","indexOf","chartType","configure","updateWithData","classes","removeClass","configureStyles","addGraph","resizeHandler","windowResize","d3","select","remove","attr","height","datum","transition","duration","call","empty","clear","i","graphs","length","splice","tooltip","cleanup","getScope","$watch","newOptions","newData","oldData","newConfig","oldConfig","eventHandler","event","$on","e","factory","func","wait","immediate","timeout","context","this","args","arguments","later","apply","callNow","clearTimeout","setTimeout","dst","me","obj","constructor","Object"],"mappings":"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","file":"41.f69dd805b7e51756518f.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/resources/controllers';\nimport 'angular/core/services/repositories.service';\nimport 'd3/build/d3';\nimport 'lib/nvd3/angular-nvd3';\n\nconst modules = [\n 'toastr',\n 'ui.bootstrap',\n 'nvd3',\n 'graphdb.framework.jmx.resources.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.jmx.resources', modules);\n\n","/**************************************************************************\n * AngularJS-nvD3, v1.0.0-beta; MIT License; 25/02/2015 22:27\n * http://krispo.github.io/angular-nvd3\n **************************************************************************/\n(function(){\n\n 'use strict';\n\n angular.module('nvd3', [])\n\n .directive('nvd3', ['utils', function(utils){\n return {\n restrict: 'AE',\n scope: {\n data: '=', //chart data, [required]\n options: '=', //chart options, according to nvd3 core api, [required]\n api: '=?', //directive global api, [optional]\n events: '=?', //global events that directive would subscribe to, [optional]\n config: '=?' //global directive configuration, [optional]\n },\n link: function(scope, element, attrs){\n var defaultConfig = {\n extended: false,\n visible: true,\n disabled: false,\n autorefresh: true,\n refreshDataOnly: false,\n deepWatchData: true,\n debounce: 10 // default 10ms, time silence to prevent refresh while multiple options changes at a time\n };\n\n //basic directive configuration\n scope._config = angular.extend(defaultConfig, scope.config);\n\n //directive global api\n scope.api = {\n // Fully refresh directive\n refresh: function(){\n scope.api.updateWithOptions(scope.options);\n },\n\n // Update chart layout (for example if container is resized)\n update: function() {\n scope.chart.update();\n },\n\n // Update chart with new options\n updateWithOptions: function(options){\n // Clearing\n scope.api.clearElement();\n\n // Exit if options are not yet bound\n if (angular.isDefined(options) === false) return;\n\n // Exit if chart is hidden\n if (!scope._config.visible) return;\n\n // Initialize chart with specific type\n scope.chart = nv.models[options.chart.type]();\n\n // Generate random chart ID\n scope.chart.id = Math.random().toString(36).substr(2, 15);\n\n angular.forEach(scope.chart, function(value, key){\n if ([\n 'options',\n '_options',\n '_inherited',\n '_d3options',\n 'state',\n 'id',\n 'resizeHandler'\n ].indexOf(key) >= 0);\n\n else if (key === 'dispatch') {\n if (options.chart[key] === undefined || options.chart[key] === null) {\n if (scope._config.extended) options.chart[key] = {};\n }\n configureEvents(scope.chart[key], options.chart[key]);\n }\n\n else if ([\n 'lines',\n 'lines1',\n 'lines2',\n 'bars',\n 'bars1',\n 'bars2',\n 'stack1',\n 'stack2',\n 'stacked',\n 'multibar',\n 'discretebar',\n 'pie',\n 'scatter',\n 'bullet',\n 'sparkline',\n 'legend',\n 'distX',\n 'distY',\n 'xAxis',\n 'x2Axis',\n 'yAxis',\n 'yAxis1',\n 'yAxis2',\n 'y1Axis',\n 'y2Axis',\n 'y3Axis',\n 'y4Axis',\n 'interactiveLayer',\n 'controls'\n ].indexOf(key) >= 0){\n if (options.chart[key] === undefined || options.chart[key] === null) {\n if (scope._config.extended) options.chart[key] = {};\n }\n configure(scope.chart[key], options.chart[key], options.chart.type);\n }\n\n //TODO: need to fix bug in nvd3\n else if ((key === 'xTickFormat' || key === 'yTickFormat') && options.chart.type === 'lineWithFocusChart');\n\n else if (options.chart[key] === undefined || options.chart[key] === null){\n if (scope._config.extended) options.chart[key] = value();\n }\n\n else scope.chart[key](options.chart[key]);\n });\n\n // Update with data\n scope.api.updateWithData(scope.data);\n\n // Configure wrappers\n if (options['title'] || scope._config.extended) configureWrapper('title');\n if (options['subtitle'] || scope._config.extended) configureWrapper('subtitle');\n if (options['caption'] || scope._config.extended) configureWrapper('caption');\n\n\n // Configure styles\n if (options['styles'] || scope._config.extended) configureStyles();\n\n nv.addGraph(function() {\n // Update the chart when window resizes\n scope.chart.resizeHandler = nv.utils.windowResize(function() { scope.chart.update(); });\n return scope.chart;\n }, options.chart['callback']);\n },\n\n // Update chart with new data\n updateWithData: function (data){\n if (data) {\n scope.options.chart['transitionDuration'] = +scope.options.chart['transitionDuration'] || 250;\n // remove whole svg element with old data\n d3.select(element[0]).select('svg').remove();\n\n // Select the current element to add <svg> element and to render the chart in\n d3.select(element[0]).append('svg')\n .attr('height', scope.options.chart.height)\n .attr('width', scope.options.chart.width || '100%')\n .datum(data)\n .transition().duration(scope.options.chart['transitionDuration'])\n .call(scope.chart);\n }\n },\n\n // Fully clear directive element\n clearElement: function (){\n element.find('.title').remove();\n element.find('.subtitle').remove();\n element.find('.caption').remove();\n element.empty();\n if (scope.chart) {\n // clear window resize event handler\n if (scope.chart.resizeHandler) scope.chart.resizeHandler.clear();\n\n // remove chart from nv.graph list\n for (var i = 0; i < nv.graphs.length; i++)\n if (nv.graphs[i].id === scope.chart.id) {\n nv.graphs.splice(i, 1);\n }\n }\n scope.chart = null;\n nv.tooltip.cleanup();\n },\n\n // Get full directive scope\n getScope: function(){ return scope; }\n };\n\n // Configure the chart model with the passed options\n function configure(chart, options, chartType){\n if (chart && options){\n angular.forEach(chart, function(value, key){\n if (key === 'dispatch') {\n if (options[key] === undefined || options[key] === null) {\n if (scope._config.extended) options[key] = {};\n }\n configureEvents(value, options[key]);\n }\n else if ([\n 'scatter',\n 'defined',\n 'options',\n 'axis',\n 'rangeBand',\n 'rangeBands',\n '_options',\n '_inherited',\n '_d3options',\n '_calls'\n ].indexOf(key) < 0){\n if (options[key] === undefined || options[key] === null){\n if (scope._config.extended) options[key] = value();\n }\n else chart[key](options[key]);\n }\n });\n }\n }\n\n // Subscribe to the chart events (contained in 'dispatch')\n // and pass eventHandler functions in the 'options' parameter\n function configureEvents(dispatch, options){\n if (dispatch && options){\n angular.forEach(dispatch, function(value, key){\n if (options[key] === undefined || options[key] === null){\n if (scope._config.extended) options[key] = value.on;\n }\n else dispatch.on(key + '._', options[key]);\n });\n }\n }\n\n // Configure 'title', 'subtitle', 'caption'.\n // nvd3 has no sufficient models for it yet.\n function configureWrapper(name){\n var _ = utils.deepExtend(defaultWrapper(name), scope.options[name] || {});\n\n if (scope._config.extended) scope.options[name] = _;\n\n var wrapElement = angular.element('<div></div>').html(_['html'] || '')\n .addClass(name).addClass(_.class)\n .removeAttr('style')\n .css(_.css);\n\n if (!_['html']) wrapElement.text(_.text);\n\n if (_.enable) {\n if (name === 'title') element.prepend(wrapElement);\n else if (name === 'subtitle') element.find('.title').after(wrapElement);\n else if (name === 'caption') element.append(wrapElement);\n }\n }\n\n // Add some styles to the whole directive element\n function configureStyles(){\n var _ = utils.deepExtend(defaultStyles(), scope.options['styles'] || {});\n\n if (scope._config.extended) scope.options['styles'] = _;\n\n angular.forEach(_.classes, function(value, key){\n value ? element.addClass(key) : element.removeClass(key);\n });\n\n element.removeAttr('style').css(_.css);\n }\n\n // Default values for 'title', 'subtitle', 'caption'\n function defaultWrapper(_){\n switch (_){\n case 'title': return {\n enable: false,\n text: 'Write Your Title',\n class: 'h4',\n css: {\n width: scope.options.chart.width + 'px',\n textAlign: 'center'\n }\n };\n case 'subtitle': return {\n enable: false,\n text: 'Write Your Subtitle',\n css: {\n width: scope.options.chart.width + 'px',\n textAlign: 'center'\n }\n };\n case 'caption': return {\n enable: false,\n text: 'Figure 1. Write Your Caption text.',\n css: {\n width: scope.options.chart.width + 'px',\n textAlign: 'center'\n }\n };\n }\n }\n\n // Default values for styles\n function defaultStyles(){\n return {\n classes: {\n 'with-3d-shadow': true,\n 'with-transitions': true,\n 'gallery': false\n },\n css: {}\n };\n }\n\n /* Event Handling */\n // Watching on options changing\n scope.$watch('options', utils.debounce(function(newOptions){\n if (!scope._config.disabled && scope._config.autorefresh) scope.api.refresh();\n }, scope._config.debounce, true), true);\n\n // Watching on data changing\n scope.$watch('data', function(newData, oldData){\n if (newData !== oldData && scope.chart){\n if (!scope._config.disabled && scope._config.autorefresh) {\n scope._config.refreshDataOnly ? scope.chart.update() : scope.api.refresh(); // if wanted to refresh data only, use chart.update method, otherwise use full refresh.\n }\n }\n }, scope._config.deepWatchData);\n\n // Watching on config changing\n scope.$watch('config', function(newConfig, oldConfig){\n if (newConfig !== oldConfig){\n scope._config = angular.extend(defaultConfig, newConfig);\n scope.api.refresh();\n }\n }, true);\n\n //subscribe on global events\n angular.forEach(scope.events, function(eventHandler, event){\n scope.$on(event, function(e){\n return eventHandler(e, scope);\n });\n });\n\n // remove completely when directive is destroyed\n element.on('$destroy', function () {\n scope.api.clearElement();\n });\n }\n };\n }])\n\n .factory('utils', function(){\n return {\n debounce: function(func, wait, immediate) {\n var timeout;\n return function() {\n var context = this, args = arguments;\n var later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n },\n deepExtend: function(dst){\n var me = this;\n angular.forEach(arguments, function(obj) {\n if (obj !== dst) {\n angular.forEach(obj, function(value, key) {\n if (dst[key] && dst[key].constructor && dst[key].constructor === Object) {\n me.deepExtend(dst[key], value);\n } else {\n dst[key] = value;\n }\n });\n }\n });\n return dst;\n }\n };\n });\n})();"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/resources/app.js","webpack:///./src/js/lib/nvd3/angular-nvd3.js"],"names":["angular","module","directive","utils","restrict","scope","data","options","api","events","config","link","element","attrs","defaultConfig","extended","visible","disabled","autorefresh","refreshDataOnly","deepWatchData","debounce","configureEvents","dispatch","forEach","value","key","undefined","_config","on","configureWrapper","name","_","deepExtend","enable","text","class","css","width","chart","textAlign","defaultWrapper","wrapElement","html","addClass","removeAttr","prepend","find","after","append","extend","refresh","updateWithOptions","update","clearElement","isDefined","nv","models","type","id","Math","random","toString","substr","indexOf","chartType","configure","updateWithData","classes","removeClass","configureStyles","addGraph","resizeHandler","windowResize","d3","select","remove","attr","height","datum","transition","duration","call","empty","clear","i","graphs","length","splice","tooltip","cleanup","getScope","$watch","newOptions","newData","oldData","newConfig","oldConfig","eventHandler","event","$on","e","factory","func","wait","immediate","timeout","context","this","args","arguments","later","apply","callNow","clearTimeout","setTimeout","dst","me","obj","constructor","Object"],"mappings":"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","file":"41.97280c0900f9b44ab8aa.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/resources/controllers';\nimport 'angular/core/services/repositories.service';\nimport 'd3/build/d3';\nimport 'lib/nvd3/angular-nvd3';\n\nconst modules = [\n 'toastr',\n 'ui.bootstrap',\n 'nvd3',\n 'graphdb.framework.jmx.resources.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.jmx.resources', modules);\n\n","/**************************************************************************\n * AngularJS-nvD3, v1.0.0-beta; MIT License; 25/02/2015 22:27\n * http://krispo.github.io/angular-nvd3\n **************************************************************************/\n(function(){\n\n 'use strict';\n\n angular.module('nvd3', [])\n\n .directive('nvd3', ['utils', function(utils){\n return {\n restrict: 'AE',\n scope: {\n data: '=', //chart data, [required]\n options: '=', //chart options, according to nvd3 core api, [required]\n api: '=?', //directive global api, [optional]\n events: '=?', //global events that directive would subscribe to, [optional]\n config: '=?' //global directive configuration, [optional]\n },\n link: function(scope, element, attrs){\n var defaultConfig = {\n extended: false,\n visible: true,\n disabled: false,\n autorefresh: true,\n refreshDataOnly: false,\n deepWatchData: true,\n debounce: 10 // default 10ms, time silence to prevent refresh while multiple options changes at a time\n };\n\n //basic directive configuration\n scope._config = angular.extend(defaultConfig, scope.config);\n\n //directive global api\n scope.api = {\n // Fully refresh directive\n refresh: function(){\n scope.api.updateWithOptions(scope.options);\n },\n\n // Update chart layout (for example if container is resized)\n update: function() {\n scope.chart.update();\n },\n\n // Update chart with new options\n updateWithOptions: function(options){\n // Clearing\n scope.api.clearElement();\n\n // Exit if options are not yet bound\n if (angular.isDefined(options) === false) return;\n\n // Exit if chart is hidden\n if (!scope._config.visible) return;\n\n // Initialize chart with specific type\n scope.chart = nv.models[options.chart.type]();\n\n // Generate random chart ID\n scope.chart.id = Math.random().toString(36).substr(2, 15);\n\n angular.forEach(scope.chart, function(value, key){\n if ([\n 'options',\n '_options',\n '_inherited',\n '_d3options',\n 'state',\n 'id',\n 'resizeHandler'\n ].indexOf(key) >= 0);\n\n else if (key === 'dispatch') {\n if (options.chart[key] === undefined || options.chart[key] === null) {\n if (scope._config.extended) options.chart[key] = {};\n }\n configureEvents(scope.chart[key], options.chart[key]);\n }\n\n else if ([\n 'lines',\n 'lines1',\n 'lines2',\n 'bars',\n 'bars1',\n 'bars2',\n 'stack1',\n 'stack2',\n 'stacked',\n 'multibar',\n 'discretebar',\n 'pie',\n 'scatter',\n 'bullet',\n 'sparkline',\n 'legend',\n 'distX',\n 'distY',\n 'xAxis',\n 'x2Axis',\n 'yAxis',\n 'yAxis1',\n 'yAxis2',\n 'y1Axis',\n 'y2Axis',\n 'y3Axis',\n 'y4Axis',\n 'interactiveLayer',\n 'controls'\n ].indexOf(key) >= 0){\n if (options.chart[key] === undefined || options.chart[key] === null) {\n if (scope._config.extended) options.chart[key] = {};\n }\n configure(scope.chart[key], options.chart[key], options.chart.type);\n }\n\n //TODO: need to fix bug in nvd3\n else if ((key === 'xTickFormat' || key === 'yTickFormat') && options.chart.type === 'lineWithFocusChart');\n\n else if (options.chart[key] === undefined || options.chart[key] === null){\n if (scope._config.extended) options.chart[key] = value();\n }\n\n else scope.chart[key](options.chart[key]);\n });\n\n // Update with data\n scope.api.updateWithData(scope.data);\n\n // Configure wrappers\n if (options['title'] || scope._config.extended) configureWrapper('title');\n if (options['subtitle'] || scope._config.extended) configureWrapper('subtitle');\n if (options['caption'] || scope._config.extended) configureWrapper('caption');\n\n\n // Configure styles\n if (options['styles'] || scope._config.extended) configureStyles();\n\n nv.addGraph(function() {\n // Update the chart when window resizes\n scope.chart.resizeHandler = nv.utils.windowResize(function() { scope.chart.update(); });\n return scope.chart;\n }, options.chart['callback']);\n },\n\n // Update chart with new data\n updateWithData: function (data){\n if (data) {\n scope.options.chart['transitionDuration'] = +scope.options.chart['transitionDuration'] || 250;\n // remove whole svg element with old data\n d3.select(element[0]).select('svg').remove();\n\n // Select the current element to add <svg> element and to render the chart in\n d3.select(element[0]).append('svg')\n .attr('height', scope.options.chart.height)\n .attr('width', scope.options.chart.width || '100%')\n .datum(data)\n .transition().duration(scope.options.chart['transitionDuration'])\n .call(scope.chart);\n }\n },\n\n // Fully clear directive element\n clearElement: function (){\n element.find('.title').remove();\n element.find('.subtitle').remove();\n element.find('.caption').remove();\n element.empty();\n if (scope.chart) {\n // clear window resize event handler\n if (scope.chart.resizeHandler) scope.chart.resizeHandler.clear();\n\n // remove chart from nv.graph list\n for (var i = 0; i < nv.graphs.length; i++)\n if (nv.graphs[i].id === scope.chart.id) {\n nv.graphs.splice(i, 1);\n }\n }\n scope.chart = null;\n nv.tooltip.cleanup();\n },\n\n // Get full directive scope\n getScope: function(){ return scope; }\n };\n\n // Configure the chart model with the passed options\n function configure(chart, options, chartType){\n if (chart && options){\n angular.forEach(chart, function(value, key){\n if (key === 'dispatch') {\n if (options[key] === undefined || options[key] === null) {\n if (scope._config.extended) options[key] = {};\n }\n configureEvents(value, options[key]);\n }\n else if ([\n 'scatter',\n 'defined',\n 'options',\n 'axis',\n 'rangeBand',\n 'rangeBands',\n '_options',\n '_inherited',\n '_d3options',\n '_calls'\n ].indexOf(key) < 0){\n if (options[key] === undefined || options[key] === null){\n if (scope._config.extended) options[key] = value();\n }\n else chart[key](options[key]);\n }\n });\n }\n }\n\n // Subscribe to the chart events (contained in 'dispatch')\n // and pass eventHandler functions in the 'options' parameter\n function configureEvents(dispatch, options){\n if (dispatch && options){\n angular.forEach(dispatch, function(value, key){\n if (options[key] === undefined || options[key] === null){\n if (scope._config.extended) options[key] = value.on;\n }\n else dispatch.on(key + '._', options[key]);\n });\n }\n }\n\n // Configure 'title', 'subtitle', 'caption'.\n // nvd3 has no sufficient models for it yet.\n function configureWrapper(name){\n var _ = utils.deepExtend(defaultWrapper(name), scope.options[name] || {});\n\n if (scope._config.extended) scope.options[name] = _;\n\n var wrapElement = angular.element('<div></div>').html(_['html'] || '')\n .addClass(name).addClass(_.class)\n .removeAttr('style')\n .css(_.css);\n\n if (!_['html']) wrapElement.text(_.text);\n\n if (_.enable) {\n if (name === 'title') element.prepend(wrapElement);\n else if (name === 'subtitle') element.find('.title').after(wrapElement);\n else if (name === 'caption') element.append(wrapElement);\n }\n }\n\n // Add some styles to the whole directive element\n function configureStyles(){\n var _ = utils.deepExtend(defaultStyles(), scope.options['styles'] || {});\n\n if (scope._config.extended) scope.options['styles'] = _;\n\n angular.forEach(_.classes, function(value, key){\n value ? element.addClass(key) : element.removeClass(key);\n });\n\n element.removeAttr('style').css(_.css);\n }\n\n // Default values for 'title', 'subtitle', 'caption'\n function defaultWrapper(_){\n switch (_){\n case 'title': return {\n enable: false,\n text: 'Write Your Title',\n class: 'h4',\n css: {\n width: scope.options.chart.width + 'px',\n textAlign: 'center'\n }\n };\n case 'subtitle': return {\n enable: false,\n text: 'Write Your Subtitle',\n css: {\n width: scope.options.chart.width + 'px',\n textAlign: 'center'\n }\n };\n case 'caption': return {\n enable: false,\n text: 'Figure 1. Write Your Caption text.',\n css: {\n width: scope.options.chart.width + 'px',\n textAlign: 'center'\n }\n };\n }\n }\n\n // Default values for styles\n function defaultStyles(){\n return {\n classes: {\n 'with-3d-shadow': true,\n 'with-transitions': true,\n 'gallery': false\n },\n css: {}\n };\n }\n\n /* Event Handling */\n // Watching on options changing\n scope.$watch('options', utils.debounce(function(newOptions){\n if (!scope._config.disabled && scope._config.autorefresh) scope.api.refresh();\n }, scope._config.debounce, true), true);\n\n // Watching on data changing\n scope.$watch('data', function(newData, oldData){\n if (newData !== oldData && scope.chart){\n if (!scope._config.disabled && scope._config.autorefresh) {\n scope._config.refreshDataOnly ? scope.chart.update() : scope.api.refresh(); // if wanted to refresh data only, use chart.update method, otherwise use full refresh.\n }\n }\n }, scope._config.deepWatchData);\n\n // Watching on config changing\n scope.$watch('config', function(newConfig, oldConfig){\n if (newConfig !== oldConfig){\n scope._config = angular.extend(defaultConfig, newConfig);\n scope.api.refresh();\n }\n }, true);\n\n //subscribe on global events\n angular.forEach(scope.events, function(eventHandler, event){\n scope.$on(event, function(e){\n return eventHandler(e, scope);\n });\n });\n\n // remove completely when directive is destroyed\n element.on('$destroy', function () {\n scope.api.clearElement();\n });\n }\n };\n }])\n\n .factory('utils', function(){\n return {\n debounce: function(func, wait, immediate) {\n var timeout;\n return function() {\n var context = this, args = arguments;\n var later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n },\n deepExtend: function(dst){\n var me = this;\n angular.forEach(arguments, function(obj) {\n if (obj !== dst) {\n angular.forEach(obj, function(value, key) {\n if (dst[key] && dst[key].constructor && dst[key].constructor === Object) {\n me.deepExtend(dst[key], value);\n } else {\n dst[key] = value;\n }\n });\n }\n });\n return dst;\n }\n };\n });\n})();"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[43,122],{38:function(e,n){function r(e,n){return{showToastMessageWithDelay:function(r){return new Promise(t=>{e.success(n.instant(r)),setTimeout(t,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",r),r.$inject=["toastr","$translate"]},93:function(e,n,r){"use strict";r.r(n);r(38),r(5);function t(e,n,r,t,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 r;if(e.editSearchQuery=o.search().editSearchQuery,e.page=e.editSearchQuery?2:1,e.newIndex.name=(r=o.search().name)?1!==e.page?r:"Copy_of_"+r:"",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 r=0;r<e.literalIndexes.length;r++)n===e.literalIndexes[r]&&(e.newIndex.inputIndex=e.literalIndexes[r])}void 0===e.newIndex.inputIndex&&(e.newIndex.inputIndex=e.literalIndexes[0])})).error((function(e){const r=getError(e);n.error(r,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,r){e.newIndex.options=e.newIndex.options+(""===e.newIndex.options?"":" ")+n+" "+r};function h(n){const r=e.newIndex.options.split(" ");for(let t=0;t<r.length;t++)if(r[t]===n&&t+1<r.length){const n=r[t+1];return delete r[t],delete r[t+1],e.newIndex.options=r.join(" "),n}}function I(e){}function Q(n,r,t){const i=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=r,e.extraMessage=t,i.addClass("hide")):(e.progressMessage="",e.extraMessage="",i.removeClass("hide")),null===e.$$phase&&e.$apply()}function T(n){function r(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}const i=n;if(e.orientationViewMode){if("yasr"===e.viewMode){let e=r()-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=r()-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=t(i?function(){e.fixSizesOnHorizontalViewModeSwitch(i)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){t.cancel(n)}))}window.yasr&&window.yasr.container&&t((function(){window.yasr.container.resize()}),100)}function S(){T(!0)}function v(e){t((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function b(r,t){e.executedQueryTab=e.currentQuery,"SELECT"===window.editor.getQueryType()?t&&"SELECT"!==window.editor.getQueryType()?n.warning(y.instant("similarity.explain.select.queries.constraint")):"update"!==window.editor.getQueryMode()?(e.explainRequested=t,e.queryIsRunning||(r?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 r={};n.results.bindings.forEach((function(e){r[e.prefix.value]=e.namespace.value})),e.namespaces=r})).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 r=getError(e);return n.error(r,y.instant("common.add.known.prefixes.error")),!0}))}function E(n){let r=void 0;return angular.forEach(e.tabsData,(function(e){if(e.name===n.name&&e.query===n.body)return r=e.id,e})),r}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||" "),t((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 r=getError(e);n.error(r,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&&r.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return e}}})})).error((function(e){const r=getError(e);n.error(r)}))},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(),t((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(r){if(r.forEach((function(n){n.name===e.newIndex.name&&(e.invalidIndexName=y.instant("similarity.existing.index.name.error"))})),!e.invalidIndexName){let r=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"),r="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,r,e.newIndex.analyzer).error((function(e){n.error(getError(e),y.instant("similarity.create.index.error"))})),o.url("similarity")}})).error((function(e){const r=getError(e);n.error(r,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 r=function(n){for(let r=0;r<e.tabsData.length;r++){if(e.tabsData[r].id===n)return r}}(n);if(void 0===r)return{};const t=e.tabsData[r];return e.saveQueryToLocal(t),t},e.loadTab=M,e.addNewTab=function(e,n,r){},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 r=E(n);e.toggleSampleQueries(),angular.isDefined(r)?v(r):e.addNewTab(null,n.name,n.body)},e.saveQueryToLocal=I,e.setLoader=Q,e.getLoaderMessage=function(){const n=(Date.now()-e.queryStartTime)/1e3,r=e.getHumanReadableSeconds(n);let t="";t=e.progressMessage?e.progressMessage+"... "+r:y.instant("common.running.operation",{timeHuman:r});e.extraMessage&&n>10&&(t+="\n"+e.extraMessage);return t},e.fixSizesOnHorizontalViewModeSwitch=T,e.changeViewMode=function(n){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,T(),$(".dataTables_filter").remove(),$(".resultsTable").remove(),t((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(){t((function(){C()}),0)})),e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(){e.currentQuery})),e.$on("tabAction",(function(n,r){r.relatedTarget&&e.saveTab(L(r.relatedTarget)),e.loadTab(L(r.target))})),e.$on("deleteAllexeptSelected",(function(n,r){e.tabsData=r,e.tabs=r})),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 r={name:e.newIndex.name,changedQuery:e.currentQuery.query,isSearchQuery:2===e.page};return i.saveSearchQuery(JSON.stringify(r)).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",t),t.$inject=["$scope","toastr","$modal","$timeout","SimilarityRestService","SparqlRestService","$location","productInfo","Notifications","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","$translate"]}}]);
2
+ //# sourceMappingURL=43.166d4f55ba11d29b26ce.bundle.js.map
@@ -0,0 +1 @@
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.166d4f55ba11d29b26ce.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 }).error(function (error) {\n const msg = getError(error);\n toastr.error(msg);\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":""}
@@ -0,0 +1,2 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[46],{100: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.c417c82de953a16f7489.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/autocomplete/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","guideSelector","parent"],"mappings":"2EAAAA,eAAeC,IAAI,QAAS,CACxB,IAAO,gBACP,OAAU,iCACV,KAAQ,mBACR,MAAS,eACT,WAAc,mBACd,YAAe,0BACf,MAAS,0BACT,SAAY,+BAGhBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CACL,CAACC,MAAO,QAASC,SAAU,mBAAoBC,KAAM,IAAKC,MAAO,EAAGC,KAAM,yBAA0BC,KAAM,gBAAiBC,cAAe,cAC1I,CAACN,MAAO,eAAgBC,SAAU,0BAA2BC,KAAM,eAAgBC,MAAO,GAAII,OAAQ,QAASH,KAAM,yBAA0BE,cAAe","file":"46.a9d1c07290ab98930744.bundle.js","sourcesContent":["PluginRegistry.add('route', {\n 'url': '/autocomplete',\n 'module': 'graphdb.framework.autocomplete',\n 'path': 'autocomplete/app',\n 'chunk': 'autocomplete',\n 'controller': 'AutocompleteCtrl',\n 'templateUrl': 'pages/autocomplete.html',\n 'title': 'view.autocomplete.title',\n 'helpInfo': 'view.autocomplete.helpInfo'\n});\n\nPluginRegistry.add('main.menu', {\n 'items': [\n {label: 'Setup', labelKey: 'menu.setup.label', href: '#', order: 5, role: 'IS_AUTHENTICATED_FULLY', icon: \"icon-settings\", guideSelector: 'menu-setup'},\n {label: 'Autocomplete', labelKey: 'menu.autocomplete.label', href: 'autocomplete', order: 40, parent: 'Setup', role: \"IS_AUTHENTICATED_FULLY\", guideSelector: 'sub-menu-autocomplete'}\n ]\n});\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/autocomplete/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","guideSelector","parent"],"mappings":"4EAAAA,eAAeC,IAAI,QAAS,CACxB,IAAO,gBACP,OAAU,iCACV,KAAQ,mBACR,MAAS,eACT,WAAc,mBACd,YAAe,0BACf,MAAS,0BACT,SAAY,+BAGhBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CACL,CAACC,MAAO,QAASC,SAAU,mBAAoBC,KAAM,IAAKC,MAAO,EAAGC,KAAM,yBAA0BC,KAAM,gBAAiBC,cAAe,cAC1I,CAACN,MAAO,eAAgBC,SAAU,0BAA2BC,KAAM,eAAgBC,MAAO,GAAII,OAAQ,QAASH,KAAM,yBAA0BE,cAAe","file":"46.c417c82de953a16f7489.bundle.js","sourcesContent":["PluginRegistry.add('route', {\n 'url': '/autocomplete',\n 'module': 'graphdb.framework.autocomplete',\n 'path': 'autocomplete/app',\n 'chunk': 'autocomplete',\n 'controller': 'AutocompleteCtrl',\n 'templateUrl': 'pages/autocomplete.html',\n 'title': 'view.autocomplete.title',\n 'helpInfo': 'view.autocomplete.helpInfo'\n});\n\nPluginRegistry.add('main.menu', {\n 'items': [\n {label: 'Setup', labelKey: 'menu.setup.label', href: '#', order: 5, role: 'IS_AUTHENTICATED_FULLY', icon: \"icon-settings\", guideSelector: 'menu-setup'},\n {label: 'Autocomplete', labelKey: 'menu.autocomplete.label', href: 'autocomplete', order: 40, parent: 'Setup', role: \"IS_AUTHENTICATED_FULLY\", guideSelector: 'sub-menu-autocomplete'}\n ]\n});\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[48],{101:function(e,t){PluginRegistry.add("route",[{url:"/cluster",module:"graphdb.framework.clustermanagement",chunk:"clustermanagement",path:"clustermanagement/app",controller:"ClusterManagementCtrl",templateUrl:"pages/cluster-management/clusterInfo.html",helpInfo:"view.clusterManagement.helpInfo",title:"view.clusterManagement.title"}]),PluginRegistry.add("main.menu",{items:[{label:"Cluster",labelKey:"menu.cluster.label",href:"cluster",order:20,role:"ROLE_ADMIN",parent:"Setup",guideSelector:"sub-menu-cluster"}]})}}]);
2
- //# sourceMappingURL=48.3c8d17c03f3fc081be89.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[48],{102:function(e,t){PluginRegistry.add("route",[{url:"/cluster",module:"graphdb.framework.clustermanagement",chunk:"clustermanagement",path:"clustermanagement/app",controller:"ClusterManagementCtrl",templateUrl:"pages/cluster-management/clusterInfo.html",helpInfo:"view.clusterManagement.helpInfo",title:"view.clusterManagement.title"}]),PluginRegistry.add("main.menu",{items:[{label:"Cluster",labelKey:"menu.cluster.label",href:"cluster",order:20,role:"ROLE_ADMIN",parent:"Setup",guideSelector:"sub-menu-cluster"}]})}}]);
2
+ //# sourceMappingURL=48.1c439f5ade00b986bb85.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/clustermanagement/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","parent","guideSelector"],"mappings":"4EAAAA,eAAeC,IAAI,QAAS,CACxB,CACI,IAAO,WACP,OAAU,sCACV,MAAS,oBACT,KAAQ,wBACR,WAAc,wBACd,YAAe,4CACf,SAAY,kCACZ,MAAS,kCAIjBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CAAC,CACNC,MAAO,UACPC,SAAU,qBACVC,KAAM,UACNC,MAAO,GACPC,KAAM,aACNC,OAAQ,QACRC,cAAe","file":"48.3c8d17c03f3fc081be89.bundle.js","sourcesContent":["PluginRegistry.add('route', [\n {\n 'url': '/cluster',\n 'module': 'graphdb.framework.clustermanagement',\n 'chunk': 'clustermanagement',\n 'path': 'clustermanagement/app',\n 'controller': 'ClusterManagementCtrl',\n 'templateUrl': 'pages/cluster-management/clusterInfo.html',\n 'helpInfo': 'view.clusterManagement.helpInfo',\n 'title': 'view.clusterManagement.title'\n }\n]);\n\nPluginRegistry.add('main.menu', {\n 'items': [{\n label: 'Cluster',\n labelKey: 'menu.cluster.label',\n href: 'cluster',\n order: 20,\n role: 'ROLE_ADMIN',\n parent: 'Setup',\n guideSelector: 'sub-menu-cluster'\n }]\n});\n\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/clustermanagement/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","parent","guideSelector"],"mappings":"4EAAAA,eAAeC,IAAI,QAAS,CACxB,CACI,IAAO,WACP,OAAU,sCACV,MAAS,oBACT,KAAQ,wBACR,WAAc,wBACd,YAAe,4CACf,SAAY,kCACZ,MAAS,kCAIjBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CAAC,CACNC,MAAO,UACPC,SAAU,qBACVC,KAAM,UACNC,MAAO,GACPC,KAAM,aACNC,OAAQ,QACRC,cAAe","file":"48.1c439f5ade00b986bb85.bundle.js","sourcesContent":["PluginRegistry.add('route', [\n {\n 'url': '/cluster',\n 'module': 'graphdb.framework.clustermanagement',\n 'chunk': 'clustermanagement',\n 'path': 'clustermanagement/app',\n 'controller': 'ClusterManagementCtrl',\n 'templateUrl': 'pages/cluster-management/clusterInfo.html',\n 'helpInfo': 'view.clusterManagement.helpInfo',\n 'title': 'view.clusterManagement.title'\n }\n]);\n\nPluginRegistry.add('main.menu', {\n 'items': [{\n label: 'Cluster',\n labelKey: 'menu.cluster.label',\n href: 'cluster',\n order: 20,\n role: 'ROLE_ADMIN',\n parent: 'Setup',\n guideSelector: 'sub-menu-cluster'\n }]\n});\n\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[55],{103:function(e,r){PluginRegistry.add("route",[{url:"/resource",module:"graphdb.framework.explore",chunk:"explore",path:"explore/app",controller:"ExploreCtrl",templateUrl:"pages/explore.html",title:"view.resource.title"},{url:"/resource/edit",module:"graphdb.framework.explore",chunk:"explore",path:"explore/app",controller:"EditResourceCtrl",templateUrl:"pages/edit.html",title:"view.resource.title"},{url:"/resource/:any*",module:"graphdb.framework.explore",chunk:"explore",path:"explore/app",controller:"ExploreCtrl",templateUrl:"pages/explore.html",title:"view.resource.title"}]),PluginRegistry.add("main.menu",{items:[{label:"Explore",labelKey:"menu.explore.label",href:"#",order:1,role:"IS_AUTHENTICATED_FULLY",icon:"icon-data",guideSelector:"menu-explore"}]})}}]);
2
- //# sourceMappingURL=55.10bb020070b8c5910e4c.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[55],{104:function(e,r){PluginRegistry.add("route",[{url:"/resource",module:"graphdb.framework.explore",chunk:"explore",path:"explore/app",controller:"ExploreCtrl",templateUrl:"pages/explore.html",title:"view.resource.title"},{url:"/resource/edit",module:"graphdb.framework.explore",chunk:"explore",path:"explore/app",controller:"EditResourceCtrl",templateUrl:"pages/edit.html",title:"view.resource.title"},{url:"/resource/:any*",module:"graphdb.framework.explore",chunk:"explore",path:"explore/app",controller:"ExploreCtrl",templateUrl:"pages/explore.html",title:"view.resource.title"}]),PluginRegistry.add("main.menu",{items:[{label:"Explore",labelKey:"menu.explore.label",href:"#",order:1,role:"IS_AUTHENTICATED_FULLY",icon:"icon-data",guideSelector:"menu-explore"}]})}}]);
2
+ //# sourceMappingURL=55.80d6a899d8af7d382755.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/explore/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","guideSelector"],"mappings":"4EAAAA,eAAeC,IAAI,QAAS,CACxB,CACI,IAAO,YACP,OAAU,4BACV,MAAS,UACT,KAAQ,cACR,WAAc,cACd,YAAe,qBACf,MAAS,uBACV,CACC,IAAO,iBACP,OAAU,4BACV,MAAS,UACT,KAAQ,cACR,WAAc,mBACd,YAAe,kBACf,MAAS,uBACV,CACC,IAAO,kBACP,OAAU,4BACV,MAAS,UACT,KAAQ,cACR,WAAc,cACd,YAAe,qBACf,MAAS,yBAIjBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CAAC,CACNC,MAAO,UACPC,SAAU,qBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,yBACNC,KAAM,YACNC,cAAe","file":"55.10bb020070b8c5910e4c.bundle.js","sourcesContent":["PluginRegistry.add('route', [\n {\n 'url': '/resource',\n 'module': 'graphdb.framework.explore',\n 'chunk': 'explore',\n 'path': 'explore/app',\n 'controller': 'ExploreCtrl',\n 'templateUrl': 'pages/explore.html',\n 'title': 'view.resource.title'\n }, {\n 'url': '/resource/edit',\n 'module': 'graphdb.framework.explore',\n 'chunk': 'explore',\n 'path': 'explore/app',\n 'controller': 'EditResourceCtrl',\n 'templateUrl': 'pages/edit.html',\n 'title': 'view.resource.title'\n }, {\n 'url': '/resource/:any*',\n 'module': 'graphdb.framework.explore',\n 'chunk': 'explore',\n 'path': 'explore/app',\n 'controller': 'ExploreCtrl',\n 'templateUrl': 'pages/explore.html',\n 'title': 'view.resource.title'\n }\n]);\n\nPluginRegistry.add('main.menu', {\n 'items': [{\n label: 'Explore',\n labelKey: 'menu.explore.label',\n href: '#',\n order: 1,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: \"icon-data\",\n guideSelector: 'menu-explore'\n }]\n});\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/explore/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","guideSelector"],"mappings":"4EAAAA,eAAeC,IAAI,QAAS,CACxB,CACI,IAAO,YACP,OAAU,4BACV,MAAS,UACT,KAAQ,cACR,WAAc,cACd,YAAe,qBACf,MAAS,uBACV,CACC,IAAO,iBACP,OAAU,4BACV,MAAS,UACT,KAAQ,cACR,WAAc,mBACd,YAAe,kBACf,MAAS,uBACV,CACC,IAAO,kBACP,OAAU,4BACV,MAAS,UACT,KAAQ,cACR,WAAc,cACd,YAAe,qBACf,MAAS,yBAIjBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CAAC,CACNC,MAAO,UACPC,SAAU,qBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,yBACNC,KAAM,YACNC,cAAe","file":"55.80d6a899d8af7d382755.bundle.js","sourcesContent":["PluginRegistry.add('route', [\n {\n 'url': '/resource',\n 'module': 'graphdb.framework.explore',\n 'chunk': 'explore',\n 'path': 'explore/app',\n 'controller': 'ExploreCtrl',\n 'templateUrl': 'pages/explore.html',\n 'title': 'view.resource.title'\n }, {\n 'url': '/resource/edit',\n 'module': 'graphdb.framework.explore',\n 'chunk': 'explore',\n 'path': 'explore/app',\n 'controller': 'EditResourceCtrl',\n 'templateUrl': 'pages/edit.html',\n 'title': 'view.resource.title'\n }, {\n 'url': '/resource/:any*',\n 'module': 'graphdb.framework.explore',\n 'chunk': 'explore',\n 'path': 'explore/app',\n 'controller': 'ExploreCtrl',\n 'templateUrl': 'pages/explore.html',\n 'title': 'view.resource.title'\n }\n]);\n\nPluginRegistry.add('main.menu', {\n 'items': [{\n label: 'Explore',\n labelKey: 'menu.explore.label',\n href: '#',\n order: 1,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: \"icon-data\",\n guideSelector: 'menu-explore'\n }]\n});\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[57],{105:function(e,r){PluginRegistry.add("route",{url:"/graphs",module:"graphdb.framework.impex.export",path:"export/app",chunk:"export",controller:"ExportCtrl",templateUrl:"pages/export.html",title:"menu.graphs.overview.label",helpInfo:"view.export.ctr.helpInfo "}),PluginRegistry.add("main.menu",{items:[{label:"Explore",labelKey:"menu.explore.label",href:"#",order:1,role:"IS_AUTHENTICATED_FULLY",icon:"icon-data",guideSelector:"menu-explore"},{label:"Graphs overview",labelKey:"menu.graphs.overview.label",href:"graphs",order:0,role:"IS_AUTHENTICATED_FULLY",parent:"Explore",guideSelector:"sub-menu-graph-overview"}]})}}]);
2
- //# sourceMappingURL=57.f432e4a7f6dbf5fa9e6e.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[57],{106:function(e,r){PluginRegistry.add("route",{url:"/graphs",module:"graphdb.framework.impex.export",path:"export/app",chunk:"export",controller:"ExportCtrl",templateUrl:"pages/export.html",title:"menu.graphs.overview.label",helpInfo:"view.export.ctr.helpInfo "}),PluginRegistry.add("main.menu",{items:[{label:"Explore",labelKey:"menu.explore.label",href:"#",order:1,role:"IS_AUTHENTICATED_FULLY",icon:"icon-data",guideSelector:"menu-explore"},{label:"Graphs overview",labelKey:"menu.graphs.overview.label",href:"graphs",order:0,role:"IS_AUTHENTICATED_FULLY",parent:"Explore",guideSelector:"sub-menu-graph-overview"}]})}}]);
2
+ //# sourceMappingURL=57.ff1a43af23df1c3e9eb6.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/export/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","guideSelector","parent"],"mappings":"4EAAAA,eAAeC,IAAI,QAAS,CACxB,IAAO,UACP,OAAU,iCACV,KAAQ,aACR,MAAS,SACT,WAAc,aACd,YAAe,oBACf,MAAS,6BACT,SAAY,8BAGhBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CACL,CACIC,MAAO,UACPC,SAAU,qBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,yBACNC,KAAM,YACNC,cAAe,gBAEnB,CACIN,MAAO,kBACPC,SAAU,6BACVC,KAAM,SACNC,MAAO,EACPC,KAAM,yBACNG,OAAQ,UACRD,cAAe","file":"57.f432e4a7f6dbf5fa9e6e.bundle.js","sourcesContent":["PluginRegistry.add('route', {\n 'url': '/graphs',\n 'module': 'graphdb.framework.impex.export',\n 'path': 'export/app',\n 'chunk': 'export',\n 'controller': 'ExportCtrl',\n 'templateUrl': 'pages/export.html',\n 'title': 'menu.graphs.overview.label',\n 'helpInfo': 'view.export.ctr.helpInfo '\n});\n\nPluginRegistry.add('main.menu', {\n 'items': [\n {\n label: 'Explore',\n labelKey: 'menu.explore.label',\n href: '#',\n order: 1,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: 'icon-data',\n guideSelector: 'menu-explore'\n },\n {\n label: 'Graphs overview',\n labelKey: 'menu.graphs.overview.label',\n href: 'graphs',\n order: 0,\n role: 'IS_AUTHENTICATED_FULLY',\n parent: 'Explore',\n guideSelector: 'sub-menu-graph-overview'\n }\n ]\n});\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/export/plugin.js"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","guideSelector","parent"],"mappings":"4EAAAA,eAAeC,IAAI,QAAS,CACxB,IAAO,UACP,OAAU,iCACV,KAAQ,aACR,MAAS,SACT,WAAc,aACd,YAAe,oBACf,MAAS,6BACT,SAAY,8BAGhBD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CACL,CACIC,MAAO,UACPC,SAAU,qBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,yBACNC,KAAM,YACNC,cAAe,gBAEnB,CACIN,MAAO,kBACPC,SAAU,6BACVC,KAAM,SACNC,MAAO,EACPC,KAAM,yBACNG,OAAQ,UACRD,cAAe","file":"57.ff1a43af23df1c3e9eb6.bundle.js","sourcesContent":["PluginRegistry.add('route', {\n 'url': '/graphs',\n 'module': 'graphdb.framework.impex.export',\n 'path': 'export/app',\n 'chunk': 'export',\n 'controller': 'ExportCtrl',\n 'templateUrl': 'pages/export.html',\n 'title': 'menu.graphs.overview.label',\n 'helpInfo': 'view.export.ctr.helpInfo '\n});\n\nPluginRegistry.add('main.menu', {\n 'items': [\n {\n label: 'Explore',\n labelKey: 'menu.explore.label',\n href: '#',\n order: 1,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: 'icon-data',\n guideSelector: 'menu-explore'\n },\n {\n label: 'Graphs overview',\n labelKey: 'menu.graphs.overview.label',\n href: 'graphs',\n order: 0,\n role: 'IS_AUTHENTICATED_FULLY',\n parent: 'Explore',\n guideSelector: 'sub-menu-graph-overview'\n }\n ]\n});\n"],"sourceRoot":""}