graphdb-workbench 2.0.0-TR8 → 2.0.0-TR9

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 (155) hide show
  1. package/README.md +6 -1
  2. package/dist/114.282a327015f8ae87918b.bundle.js +1 -1
  3. package/dist/114.282a327015f8ae87918b.bundle.js.map +1 -1
  4. package/dist/{12.60db051e76264d3f95b2.bundle.js → 12.5d4da897bdd91e8808fa.bundle.js} +2 -2
  5. package/dist/12.5d4da897bdd91e8808fa.bundle.js.map +1 -0
  6. package/dist/13.f62fa8acc6e68826e07a.bundle.js +4 -0
  7. package/dist/13.f62fa8acc6e68826e07a.bundle.js.map +1 -0
  8. package/dist/{14.7e9059b5c9c57d952e47.bundle.js → 14.349458c1675f763995a5.bundle.js} +2 -2
  9. package/dist/{14.7e9059b5c9c57d952e47.bundle.js.map → 14.349458c1675f763995a5.bundle.js.map} +1 -1
  10. package/dist/{15.02ad5872995df6d6692a.bundle.js → 15.ebce70c05fd90026747b.bundle.js} +2 -2
  11. package/dist/{15.02ad5872995df6d6692a.bundle.js.map → 15.ebce70c05fd90026747b.bundle.js.map} +1 -1
  12. package/dist/{17.8bfbe7d08efa149bdb00.bundle.js → 17.f01afdf3b3892d73a3fe.bundle.js} +2 -2
  13. package/dist/{17.8bfbe7d08efa149bdb00.bundle.js.map → 17.f01afdf3b3892d73a3fe.bundle.js.map} +1 -1
  14. package/dist/{18.5514f95535bdd2a71d6e.bundle.js → 18.10f65755b64a6534289e.bundle.js} +2 -2
  15. package/dist/{18.5514f95535bdd2a71d6e.bundle.js.map → 18.10f65755b64a6534289e.bundle.js.map} +1 -1
  16. package/dist/{21.e75213686a349ae7df89.bundle.js → 21.b6bf0d54a846411501c7.bundle.js} +2 -2
  17. package/dist/{21.e75213686a349ae7df89.bundle.js.map → 21.b6bf0d54a846411501c7.bundle.js.map} +1 -1
  18. package/dist/22.e8167eba683605211409.bundle.js +2 -0
  19. package/dist/22.e8167eba683605211409.bundle.js.map +1 -0
  20. package/dist/{23.32f2701680565c5d107b.bundle.js → 23.e3ca5b7bb2cee4f9467f.bundle.js} +3 -3
  21. package/dist/{23.32f2701680565c5d107b.bundle.js.map → 23.e3ca5b7bb2cee4f9467f.bundle.js.map} +1 -1
  22. package/dist/{24.8dd957168a8be963b393.bundle.js → 24.d5ea0f435b896dc12709.bundle.js} +2 -2
  23. package/dist/{24.8dd957168a8be963b393.bundle.js.map → 24.d5ea0f435b896dc12709.bundle.js.map} +1 -1
  24. package/dist/{25.cbe8e59c80330ff6e706.bundle.js → 25.5b3feb79a7be0ca1f4ad.bundle.js} +2 -2
  25. package/dist/{25.cbe8e59c80330ff6e706.bundle.js.map → 25.5b3feb79a7be0ca1f4ad.bundle.js.map} +1 -1
  26. package/dist/26.c4983d9f3009f41beb11.bundle.js +2 -0
  27. package/dist/26.c4983d9f3009f41beb11.bundle.js.map +1 -0
  28. package/dist/{26.67154910989ca1f563ec.bundle.js → 27.04085d1d15db39ca4a36.bundle.js} +2 -2
  29. package/dist/{26.67154910989ca1f563ec.bundle.js.map → 27.04085d1d15db39ca4a36.bundle.js.map} +1 -1
  30. package/dist/{28.b1c15ce7633c501836c5.bundle.js → 28.57b84065ebe40bb45f72.bundle.js} +2 -2
  31. package/dist/{28.b1c15ce7633c501836c5.bundle.js.map → 28.57b84065ebe40bb45f72.bundle.js.map} +1 -1
  32. package/dist/{29.66259b8a21bbb5431a06.bundle.js → 29.959ae6b366d15d0ddea9.bundle.js} +2 -2
  33. package/dist/{29.66259b8a21bbb5431a06.bundle.js.map → 29.959ae6b366d15d0ddea9.bundle.js.map} +1 -1
  34. package/dist/{3.9eb2c7cced9d8b971c99.bundle.js → 3.26d967229917c7c5cdfb.bundle.js} +2 -2
  35. package/dist/{3.9eb2c7cced9d8b971c99.bundle.js.map → 3.26d967229917c7c5cdfb.bundle.js.map} +1 -1
  36. package/dist/{31.d810abed46d7c73ade7f.bundle.js → 31.c808da656c9ee6b7e84e.bundle.js} +2 -2
  37. package/dist/{31.d810abed46d7c73ade7f.bundle.js.map → 31.c808da656c9ee6b7e84e.bundle.js.map} +1 -1
  38. package/dist/{32.4f4c8e24d97a9d315335.bundle.js → 32.92b02260015995b4f777.bundle.js} +2 -2
  39. package/dist/{32.4f4c8e24d97a9d315335.bundle.js.map → 32.92b02260015995b4f777.bundle.js.map} +1 -1
  40. package/dist/{33.c670eeb3a325251e141f.bundle.js → 33.479162c943ca9a1982aa.bundle.js} +2 -2
  41. package/dist/{33.c670eeb3a325251e141f.bundle.js.map → 33.479162c943ca9a1982aa.bundle.js.map} +1 -1
  42. package/dist/{35.b9183a8ffba2bbd8daa1.bundle.js → 35.9c81c96cc1621f9468aa.bundle.js} +2 -2
  43. package/dist/{35.b9183a8ffba2bbd8daa1.bundle.js.map → 35.9c81c96cc1621f9468aa.bundle.js.map} +1 -1
  44. package/dist/{36.d444f7ad7724d126da1c.bundle.js → 36.cee947247d32cdcec00e.bundle.js} +2 -2
  45. package/dist/{36.d444f7ad7724d126da1c.bundle.js.map → 36.cee947247d32cdcec00e.bundle.js.map} +1 -1
  46. package/dist/{37.e82ed70c9f1ccac1fa36.bundle.js → 37.42e443af5752a63a28fe.bundle.js} +2 -2
  47. package/dist/{37.e82ed70c9f1ccac1fa36.bundle.js.map → 37.42e443af5752a63a28fe.bundle.js.map} +1 -1
  48. package/dist/{38.93c5a81548a3294efd9d.bundle.js → 38.5fff5c171cdd2563aad1.bundle.js} +2 -2
  49. package/dist/{38.93c5a81548a3294efd9d.bundle.js.map → 38.5fff5c171cdd2563aad1.bundle.js.map} +1 -1
  50. package/dist/{39.30dddbc6461137994eb4.bundle.js → 39.91c49550b6e2d11104fa.bundle.js} +2 -2
  51. package/dist/{39.30dddbc6461137994eb4.bundle.js.map → 39.91c49550b6e2d11104fa.bundle.js.map} +1 -1
  52. package/dist/4.786e6f1de67e5c6289a3.bundle.js +2 -0
  53. package/dist/4.786e6f1de67e5c6289a3.bundle.js.map +1 -0
  54. package/dist/{40.ae6db480b8323937451c.bundle.js → 40.a7e0220eb0c8a125abde.bundle.js} +2 -2
  55. package/dist/{40.ae6db480b8323937451c.bundle.js.map → 40.a7e0220eb0c8a125abde.bundle.js.map} +1 -1
  56. package/dist/41.1258b9502ba9383894d7.bundle.js +2 -0
  57. package/dist/{41.ba8cb2fb7f46ccb2ab28.bundle.js.map → 41.1258b9502ba9383894d7.bundle.js.map} +1 -1
  58. package/dist/{43.8d096939ee87946076e0.bundle.js → 43.86f9220f4f79feec5b27.bundle.js} +2 -2
  59. package/dist/{43.8d096939ee87946076e0.bundle.js.map → 43.86f9220f4f79feec5b27.bundle.js.map} +1 -1
  60. package/dist/{47.92a64d48c14c1ae82934.bundle.js → 47.fca0edd51becf34c06b7.bundle.js} +2 -2
  61. package/dist/{47.92a64d48c14c1ae82934.bundle.js.map → 47.fca0edd51becf34c06b7.bundle.js.map} +1 -1
  62. package/dist/{48.4b57a948edab2d3b9c55.bundle.js → 48.e495edf3c48e1b2fc052.bundle.js} +2 -2
  63. package/dist/{48.4b57a948edab2d3b9c55.bundle.js.map → 48.e495edf3c48e1b2fc052.bundle.js.map} +1 -1
  64. package/dist/{53.4b8ed1b79c1c20cdadd4.bundle.js → 53.c29678970b0cb8aa4b47.bundle.js} +2 -2
  65. package/dist/{53.4b8ed1b79c1c20cdadd4.bundle.js.map → 53.c29678970b0cb8aa4b47.bundle.js.map} +1 -1
  66. package/dist/{55.751acc0e54255fa3ace7.bundle.js → 55.427172af3ba7612f747a.bundle.js} +2 -2
  67. package/dist/{55.751acc0e54255fa3ace7.bundle.js.map → 55.427172af3ba7612f747a.bundle.js.map} +1 -1
  68. package/dist/{57.677c1eebf6a003639fff.bundle.js → 57.41b09f5fa3ee623aab83.bundle.js} +2 -2
  69. package/dist/{57.677c1eebf6a003639fff.bundle.js.map → 57.41b09f5fa3ee623aab83.bundle.js.map} +1 -1
  70. package/dist/{58.2c460e480eefb1a02aea.bundle.js → 58.ce5a29dded68f58c53b4.bundle.js} +2 -2
  71. package/dist/{58.2c460e480eefb1a02aea.bundle.js.map → 58.ce5a29dded68f58c53b4.bundle.js.map} +1 -1
  72. package/dist/{59.b8e9155530acba27a6fa.bundle.js → 59.10efdeff3a8ef9e5733d.bundle.js} +2 -2
  73. package/dist/{59.b8e9155530acba27a6fa.bundle.js.map → 59.10efdeff3a8ef9e5733d.bundle.js.map} +1 -1
  74. package/dist/{60.27e731a670680751538c.bundle.js → 60.97fb695857f6241ae612.bundle.js} +2 -2
  75. package/dist/{60.27e731a670680751538c.bundle.js.map → 60.97fb695857f6241ae612.bundle.js.map} +1 -1
  76. package/dist/{61.fce8a2436742c2e20032.bundle.js → 61.5d71ec3fe0cda230482b.bundle.js} +2 -2
  77. package/dist/{61.fce8a2436742c2e20032.bundle.js.map → 61.5d71ec3fe0cda230482b.bundle.js.map} +1 -1
  78. package/dist/{62.9e101a1894ee0f9a48be.bundle.js → 62.d53d104f74f9fbdacb35.bundle.js} +2 -2
  79. package/dist/{62.9e101a1894ee0f9a48be.bundle.js.map → 62.d53d104f74f9fbdacb35.bundle.js.map} +1 -1
  80. package/dist/{63.3ffdfd6f35fe62ea729c.bundle.js → 63.46514dd9cf756bd0e831.bundle.js} +2 -2
  81. package/dist/{63.3ffdfd6f35fe62ea729c.bundle.js.map → 63.46514dd9cf756bd0e831.bundle.js.map} +1 -1
  82. package/dist/{65.96a1f2f3c83a29e2c6c3.bundle.js → 65.401f44aaddb8aec6be1e.bundle.js} +2 -2
  83. package/dist/{65.96a1f2f3c83a29e2c6c3.bundle.js.map → 65.401f44aaddb8aec6be1e.bundle.js.map} +1 -1
  84. package/dist/{66.cf37216fb6f8e53cef2b.bundle.js → 66.7a1e4093247d23b65387.bundle.js} +2 -2
  85. package/dist/{66.cf37216fb6f8e53cef2b.bundle.js.map → 66.7a1e4093247d23b65387.bundle.js.map} +1 -1
  86. package/dist/{69.60ff11762016829be80d.bundle.js → 69.1944a1afebe9115c9262.bundle.js} +2 -2
  87. package/dist/{69.60ff11762016829be80d.bundle.js.map → 69.1944a1afebe9115c9262.bundle.js.map} +1 -1
  88. package/dist/{70.f86421bf02a9bfda5b95.bundle.js → 70.84500509fe2b0d19ab93.bundle.js} +2 -2
  89. package/dist/{70.f86421bf02a9bfda5b95.bundle.js.map → 70.84500509fe2b0d19ab93.bundle.js.map} +1 -1
  90. package/dist/{76.fa9e5d02f7e1367b9b29.bundle.js → 76.2fa18e115678c4e24682.bundle.js} +2 -2
  91. package/dist/{76.fa9e5d02f7e1367b9b29.bundle.js.map → 76.2fa18e115678c4e24682.bundle.js.map} +1 -1
  92. package/dist/{8.66013fc0c58811b51903.bundle.js → 8.7209929899c18f8a4580.bundle.js} +2 -2
  93. package/dist/{8.66013fc0c58811b51903.bundle.js.map → 8.7209929899c18f8a4580.bundle.js.map} +1 -1
  94. package/dist/{80.37504cf0c1e5ad897478.bundle.js → 80.83e56da7d7a69fc34eed.bundle.js} +2 -2
  95. package/dist/{80.37504cf0c1e5ad897478.bundle.js.map → 80.83e56da7d7a69fc34eed.bundle.js.map} +1 -1
  96. package/dist/{82.9b4d4dc326055aa47e04.bundle.js → 82.74d50036c210cb10b7f5.bundle.js} +2 -2
  97. package/dist/{82.9b4d4dc326055aa47e04.bundle.js.map → 82.74d50036c210cb10b7f5.bundle.js.map} +1 -1
  98. package/dist/{84.fab513b88806deb0981a.bundle.js → 84.7f42dd9d7dc01baaf465.bundle.js} +2 -2
  99. package/dist/{84.fab513b88806deb0981a.bundle.js.map → 84.7f42dd9d7dc01baaf465.bundle.js.map} +1 -1
  100. package/dist/{86.b319a8b9fcabecd7a6c7.bundle.js → 86.581cbc54b6c6b6ea9f19.bundle.js} +2 -2
  101. package/dist/{86.b319a8b9fcabecd7a6c7.bundle.js.map → 86.581cbc54b6c6b6ea9f19.bundle.js.map} +1 -1
  102. package/dist/{87.765567c0cbe89cbdb03c.bundle.js → 87.3606797303ead8dc2879.bundle.js} +2 -2
  103. package/dist/{87.765567c0cbe89cbdb03c.bundle.js.map → 87.3606797303ead8dc2879.bundle.js.map} +1 -1
  104. package/dist/{88.50c46652774325bffad3.bundle.js → 88.f5b8f83e57c9bea3c137.bundle.js} +2 -2
  105. package/dist/{88.50c46652774325bffad3.bundle.js.map → 88.f5b8f83e57c9bea3c137.bundle.js.map} +1 -1
  106. package/dist/{89.91c58e1902b0f444b068.bundle.js → 89.f9b4c4ddff2c0b5b70f7.bundle.js} +2 -2
  107. package/dist/{89.91c58e1902b0f444b068.bundle.js.map → 89.f9b4c4ddff2c0b5b70f7.bundle.js.map} +1 -1
  108. package/dist/{9.16a945b967e9a52bf535.bundle.js → 9.6a95a5c1eec963050422.bundle.js} +2 -2
  109. package/dist/{9.16a945b967e9a52bf535.bundle.js.map → 9.6a95a5c1eec963050422.bundle.js.map} +1 -1
  110. package/dist/{90.e12e77898d6341e59d8f.bundle.js → 90.4d42ba583fbc1d63d3d2.bundle.js} +2 -2
  111. package/dist/{90.e12e77898d6341e59d8f.bundle.js.map → 90.4d42ba583fbc1d63d3d2.bundle.js.map} +1 -1
  112. package/dist/95.1f83b03f48326a6cec45.bundle.js +2 -0
  113. package/dist/{95.decfcd3477dee353025b.bundle.js.map → 95.1f83b03f48326a6cec45.bundle.js.map} +1 -1
  114. package/dist/{bundle.e787556c9b592367c35c.bundle.js → bundle.1a982e7b3e2d9d06a802.bundle.js} +5 -5
  115. package/dist/{bundle.e787556c9b592367c35c.bundle.js.map → bundle.1a982e7b3e2d9d06a802.bundle.js.map} +1 -1
  116. package/dist/index.html +3 -3
  117. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  118. package/dist/pages/autocomplete.html +1 -1
  119. package/dist/pages/choose-repository-type.html +1 -1
  120. package/dist/pages/clusterInfo.html +1 -1
  121. package/dist/pages/create-index.html +4 -4
  122. package/dist/pages/dependencies.html +1 -1
  123. package/dist/pages/domainRangeInfo.html +2 -2
  124. package/dist/pages/edit.html +1 -1
  125. package/dist/pages/explore.html +1 -1
  126. package/dist/pages/export.html +1 -1
  127. package/dist/pages/find.html +1 -1
  128. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  129. package/dist/pages/graphs-visualizations.html +14 -8
  130. package/dist/pages/import.html +1 -1
  131. package/dist/pages/jdbc-create.html +5 -5
  132. package/dist/pages/monitor/queries.html +1 -1
  133. package/dist/pages/monitor/resources.html +2 -2
  134. package/dist/pages/namespaces.html +2 -2
  135. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  136. package/dist/pages/rdfrank.html +2 -2
  137. package/dist/pages/repositories.html +2 -2
  138. package/dist/pages/repository.html +2 -2
  139. package/dist/pages/similarity-indexes.html +1 -1
  140. package/dist/pages/sparql-template-create.html +5 -5
  141. package/dist/pages/sparql.html +3 -3
  142. package/dist/pages/webapi.html +2 -2
  143. package/dist/res/swagger/index.html +25 -25
  144. package/package.json +1 -1
  145. package/dist/12.60db051e76264d3f95b2.bundle.js.map +0 -1
  146. package/dist/13.1419a81a33174950a34c.bundle.js +0 -4
  147. package/dist/13.1419a81a33174950a34c.bundle.js.map +0 -1
  148. package/dist/22.a3b52347055f1adac9ce.bundle.js +0 -2
  149. package/dist/22.a3b52347055f1adac9ce.bundle.js.map +0 -1
  150. package/dist/27.61bd08d0e926fe471a91.bundle.js +0 -2
  151. package/dist/27.61bd08d0e926fe471a91.bundle.js.map +0 -1
  152. package/dist/4.6a8bdb4c9048dd910bfd.bundle.js +0 -2
  153. package/dist/4.6a8bdb4c9048dd910bfd.bundle.js.map +0 -1
  154. package/dist/41.ba8cb2fb7f46ccb2ab28.bundle.js +0 -2
  155. package/dist/95.decfcd3477dee353025b.bundle.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/utils/notifications.js","webpack:///./src/js/angular/graphexplore/controllers/graphs-config.controller.js"],"names":["Notifications","toastr","showToastMessageWithDelay","message","Promise","r","success","setTimeout","angular","module","factory","$inject","GraphConfigCtrl","$scope","$timeout","$location","$repositories","$modal","ModalService","SparqlRestService","$filter","GraphConfigRestService","AutocompleteRestService","$routeParams","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","selectedFixedNodeChanged","page","totalPages","helpHidden","get","HIDE_GRAPH_CONFIG_HELP","toggleHelp","value","undefined","set","fixedVisualCallback","uri","label","newConfig","startIRI","startIRILabel","isDefaultGraph","sample","name","isUserGraph","getSampleName","property","extra","id","getGraphConfigSamples","data","samples","_","filter","s","revertConfig","error","getError","configName","showInvalidMsg","warning","getQueryForCurrentPage","config","query","startMode","startGraphQuery","expandQuery","resourceQuery","predicateLabelQuery","resourcePropertiesQuery","isDefined","initForConfig","checkAutocompleteStatus","getAutocompletePromise","createGraphConfig","async","url","updateGraphConfig","$on","getNamespacesPromise","getNamespaces","getActiveRepository","validateQueryWithCallback","successCallback","queryType","params","all","oneOf","validateQuery","broadcastAddStartFixedNodeEvent","checkPageAndMode","$broadcast","validateCurrentPage","updateModel","goToPage","nextPage","showEditor","notoolbar","goToPreviousPage","goToNextPage","saveGraphConfig","startQueryIncludeInferred","currentQuery","inference","startQuerySameAs","sameAs","isUpdate","window","editor","getValue","trim","setQuery","setValue","updateDirty","q1","q2","queryEditorIsDirty","updateEditor","isActiveRepoOntopType","nocount","loadTab","selectTab","xhr","abort","viewMode","showPreview","outputType","runQuery","revertEditor","$watch","shared","encodeQuery","encodeURIComponent","getConfig","defaultTabConfig","resetCurrentTabConfig","currentTabConfig","pageSize","allResultsCount","resultsCount","queryExists","tabsData","tabs","saveTab","idx","i","length","findTabIndexByID","tab","saveQueryToLocal","addNewTab","callback","tabName","savedQuery","changePagination","explainRequested","toggleSampleQueries","addKnownPrefixes","getExistingTabId","querySelected","tabId","body","setLoader","getLoaderMessage","timeSeconds","Date","now","queryStartTime","timeHuman","getHumanReadableSeconds","progressMessage","extraMessage","fixSizesOnHorizontalViewModeSwitch","changeViewMode","tabID","orientationViewMode","$","remove","showHideEditor","focusQueryEditor","element","document","find","is","focus","currentQueryTab","isRunning","yasrInnerContainer","getElementById","queryIsRunning","countTimeouted","addClass","removeClass","$$phase","$apply","verticalViewParam","visibleWindowHeight","innerHeight","documentElement","clientHeight","verticalView","newHeight","querySelector","getBoundingClientRect","style","height","noPadding","minHeight","paddingRight","paddingLeft","timer","cancel","yasr","container","resize","changePage","explain","executedQueryTab","getQueryType","getQueryMode","getRepositoryNamespaces","usedPrefixes","results","bindings","forEach","e","prefix","namespace","namespaces","repositoryError","finally","JSON","stringify","msg","existingTabId","item","on","$watchCollection","offset","timeFinished","timeTook","sizeDelta","css","getQueryID","attr","tabEvent","relatedTarget","target","copy","showSampleQueries","sampleQueries","getResultsDescription","getUpdateDescription","getStaleWarningMessage","controller"],"mappings":"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","file":"35.b9183a8ffba2bbd8daa1.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.utils.notifications', [])\n .factory('Notifications', Notifications);\n\nNotifications.$inject = ['toastr'];\n\nfunction Notifications(toastr) {\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(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.graphexplore.controllers.graphviz.config', [\n 'graphdb.framework.utils.notifications',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .controller('GraphConfigCtrl', GraphConfigCtrl);\n\nGraphConfigCtrl.$inject = ['$scope', '$timeout', '$location', 'toastr', '$repositories', '$modal', 'ModalService', 'SparqlRestService', '$filter', 'GraphConfigRestService', 'AutocompleteRestService', '$routeParams', 'Notifications', 'RDF4JRepositoriesRestService', 'LocalStorageAdapter', 'LSKeys'];\n\nfunction GraphConfigCtrl($scope, $timeout, $location, toastr, $repositories, $modal, ModalService, SparqlRestService, $filter, GraphConfigRestService, AutocompleteRestService, $routeParams, Notifications, RDF4JRepositoriesRestService, LocalStorageAdapter, LSKeys) {\n\n $scope.page = 1;\n $scope.totalPages = 5;\n\n $scope.helpHidden = LocalStorageAdapter.get(LSKeys.HIDE_GRAPH_CONFIG_HELP) === 1;\n\n $scope.toggleHelp = function (value) {\n if (value === undefined) {\n value = LocalStorageAdapter.get(LSKeys.HIDE_GRAPH_CONFIG_HELP);\n }\n if (value !== 1) {\n LocalStorageAdapter.set(LSKeys.HIDE_GRAPH_CONFIG_HELP, 1);\n $scope.helpHidden = true;\n } else {\n LocalStorageAdapter.set(LSKeys.HIDE_GRAPH_CONFIG_HELP, 0);\n $scope.helpHidden = false;\n }\n };\n\n var selectedFixedNodeChanged;\n $scope.fixedVisualCallback = function (uri, label) {\n $scope.newConfig.startIRI = uri;\n $scope.newConfig.startIRILabel = label;\n selectedFixedNodeChanged = true;\n };\n\n $scope.isDefaultGraph = function (sample) {\n return (sample.name === 'Minimal' || sample.name === 'Advanced');\n };\n\n $scope.isUserGraph = function (sample) {\n return !$scope.isDefaultGraph(sample);\n };\n\n $scope.getSampleName = function (sample, property) {\n const extra = sample[property + 'Description'];\n if (extra) {\n // Sample has description, use it\n return extra;\n } else {\n // Sample is a copy of existing config, prepend Copy of to name\n return sample.id ? 'Copy of ' + sample.name : sample.name;\n }\n };\n\n const getGraphConfigSamples = function () {\n GraphConfigRestService.getGraphConfigSamples()\n .success(function (data) {\n $scope.samples = _.filter(data, function (s) {\n // Skip the currently edited config from samples and store it into a revert variable\n if (!s.id || $scope.newConfig.id !== s.id) {\n return true;\n } else {\n $scope.revertConfig = s;\n return false;\n }\n });\n }).error(function (data) {\n toastr.error(getError(data), 'Could not get graph configs. You may not see sample values');\n });\n };\n\n const configName = $routeParams.configName;\n $scope.newConfig = {startQueryIncludeInferred: true, startQuerySameAs: true};\n $scope.newConfig.startMode = 'search';\n $scope.isUpdate = false;\n $scope.shared = false;\n\n $scope.encodeQuery = function (query) {\n return encodeURIComponent(query);\n };\n\n function showInvalidMsg(message) {\n toastr.warning(message);\n }\n\n if (configName) {\n $scope.isUpdate = true;\n GraphConfigRestService.getConfig(configName)\n .success(function (data) {\n $scope.newConfig = data;\n initForConfig();\n })\n .error(function (data) {\n toastr.error(getError(data), 'Could not load config for name ' + configName);\n });\n } else {\n $scope.isUpdate = false;\n initForConfig();\n }\n\n function getQueryForCurrentPage(config) {\n let query;\n\n if (config.startMode === 'query' && $scope.page === 1) {\n query = config.startGraphQuery;\n } else if ($scope.page === 2) {\n query = config.expandQuery;\n } else if ($scope.page === 3) {\n query = config.resourceQuery;\n } else if ($scope.page === 4) {\n query = config.predicateLabelQuery;\n } else if ($scope.page === 5) {\n query = config.resourcePropertiesQuery;\n }\n\n return angular.isDefined(query) ? query : '';\n }\n\n function initForConfig() {\n getGraphConfigSamples();\n $scope.createGraphConfig = function () {\n GraphConfigRestService.createGraphConfig($scope.newConfig)\n .success(async function () {\n await Notifications.showToastMessageWithDelay('Saved new graph config');\n $location.url('graphs-visualizations');\n }).error(function (data) {\n toastr.error(getError(data), 'Error! Could not create graph config');\n });\n };\n\n $scope.updateGraphConfig = function () {\n GraphConfigRestService.updateGraphConfig($scope.newConfig)\n .success(async function () {\n await Notifications.showToastMessageWithDelay('Graph config saved');\n $location.url('graphs-visualizations');\n }).error(function (data) {\n toastr.error(getError(data), 'Error! Could not save graph config');\n });\n };\n\n function checkAutocompleteStatus() {\n $scope.getAutocompletePromise = AutocompleteRestService.checkAutocompleteStatus();\n }\n\n $scope.$on('autocompleteStatus', function() {\n checkAutocompleteStatus();\n });\n\n checkAutocompleteStatus();\n $scope.getNamespacesPromise = RDF4JRepositoriesRestService.getNamespaces($scope.getActiveRepository());\n\n const validateQueryWithCallback = function (successCallback, query, queryType, params, all, oneOf) {\n if (!query) {\n successCallback();\n } else {\n GraphConfigRestService.validateQuery(query, queryType, params, all, oneOf)\n .success(function () {\n successCallback();\n }).error(function (data) {\n showInvalidMsg(getError(data));\n });\n }\n };\n\n $scope.validateCurrentPage = function (successCallback) {\n $scope.updateModel();\n\n if ($scope.page === 1) {\n if ($scope.newConfig.startMode === 'node' && !$scope.newConfig.startIRI) {\n showInvalidMsg('Please select start node.');\n } else if ($scope.newConfig.startMode === 'query' && !$scope.newConfig.startGraphQuery) {\n showInvalidMsg('Please provide start graph query.');\n } else if ($scope.newConfig.startMode === 'query') {\n validateQueryWithCallback(successCallback, $scope.newConfig.startGraphQuery, 'graph')\n } else {\n successCallback();\n }\n } else if ($scope.page === 2) {\n validateQueryWithCallback(successCallback, $scope.newConfig.expandQuery, 'construct', ['node'])\n } else if ($scope.page === 3) {\n validateQueryWithCallback(successCallback, $scope.newConfig.resourceQuery, 'tuple', ['node'], [], ['type', 'label', 'comment', 'rank']);\n } else if ($scope.page === 4) {\n validateQueryWithCallback(successCallback, $scope.newConfig.predicateLabelQuery, 'tuple', ['edge'], ['label']);\n } else if ($scope.page === 5) {\n validateQueryWithCallback(successCallback, $scope.newConfig.resourcePropertiesQuery, 'tuple', ['node'], ['property', 'value']);\n }\n };\n\n $scope.goToPage = function (nextPage) {\n if ($scope.page === nextPage) {\n // already there\n return;\n }\n\n $scope.validateCurrentPage(function () {\n $scope.showEditor();\n $scope.page = nextPage;\n $scope.notoolbar = $scope.page !== 1;\n });\n };\n\n $scope.goToPreviousPage = function () {\n if ($scope.page > 1) {\n $scope.goToPage($scope.page - 1);\n }\n\n if (checkPageAndMode()) {\n selectedFixedNodeChanged = false;\n }\n };\n\n $scope.goToNextPage = function () {\n broadcastAddStartFixedNodeEvent();\n if (selectedFixedNodeChanged) {\n $scope.goToPage($scope.page + 1);\n }\n };\n\n function broadcastAddStartFixedNodeEvent() {\n if (checkPageAndMode()) {\n $scope.$broadcast('addStartFixedNodeAutomatically', {startIRI: $scope.newConfig.startIRI});\n }\n }\n\n function checkPageAndMode() {\n return $scope.page === 1 && $scope.newConfig.startMode === 'node';\n }\n\n $scope.saveGraphConfig = function () {\n broadcastAddStartFixedNodeEvent();\n\n if (checkPageAndMode() && !selectedFixedNodeChanged) {\n return;\n }\n\n $scope.newConfig.startQueryIncludeInferred = $scope.currentQuery.inference;\n $scope.newConfig.startQuerySameAs = $scope.currentQuery.sameAs;\n\n $scope.validateCurrentPage(function () {\n if (!$scope.newConfig.name) {\n showInvalidMsg('Please provide config name.');\n return;\n }\n $scope.isUpdate ? $scope.updateGraphConfig($scope.newConfig) : $scope.createGraphConfig($scope.newConfig);\n });\n };\n\n $scope.updateModel = function () {\n const query = window.editor.getValue().trim();\n if ($scope.newConfig.startMode === 'query' && $scope.page === 1) {\n $scope.newConfig.startGraphQuery = query;\n } else if ($scope.page === 2) {\n $scope.newConfig.expandQuery = query;\n } else if ($scope.page === 3) {\n $scope.newConfig.resourceQuery = query;\n } else if ($scope.page === 4) {\n $scope.newConfig.predicateLabelQuery = query;\n } else if ($scope.page === 5) {\n $scope.newConfig.resourcePropertiesQuery = query;\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 $scope.updateDirty = function () {\n if ($scope.revertConfig) {\n const q1 = getQueryForCurrentPage($scope.revertConfig);\n const q2 = window.editor.getValue().trim();\n $scope.queryEditorIsDirty = q1 !== q2;\n }\n };\n\n // Updates the position of the query editor to match the current div placeholder\n // and sets the editor's query to the relevant query from the model.\n $scope.updateEditor = function () {\n $timeout(function () {\n $scope.currentQuery.query = getQueryForCurrentPage($scope.newConfig);\n // // Check for ontop repository and override nocount property (it's default value is false)\n if ($repositories.isActiveRepoOntopType()) {\n $scope.nocount = true;\n }\n $scope.currentQuery.inference = $scope.newConfig.startQueryIncludeInferred;\n $scope.currentQuery.sameAs = $scope.newConfig.startQuerySameAs;\n loadTab($scope.currentQuery.id);\n selectTab($scope.currentQuery.id);\n }, 100);\n\n };\n\n $scope.showEditor = function () {\n if (window.editor && 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.revertEditor = function () {\n $scope.setQuery(getQueryForCurrentPage($scope.revertConfig));\n };\n\n // Trigger for showing the editor and moving it to the right position\n $scope.$watch('newConfig.startMode', function (value) {\n if (value === 'query') {\n $timeout(function () {\n $scope.updateEditor();\n }, 0);\n }\n });\n\n // Trigger for showing the editor and moving it to the right position\n $scope.$watch('page', function (value) {\n if ($scope.newConfig.startMode === 'query' || value > 1) {\n $timeout(function () {\n $scope.showEditor();\n $scope.updateEditor();\n }, 0);\n }\n });\n }\n\n // DOWN HERE WE KEEP EVERYTHING PURELY QUERY EDITOR (MOSTLY BORROWED FROM query-editor.controller.js)\n // But Why? Can't we reuse it instead of borrow?\n\n const defaultTabConfig = {\n id: '1',\n name: '',\n query: 'select * where { \\n' +\n '\\t?s ?p ?o .\\n' +\n '} limit 100 \\n',\n inference: $scope.newConfig.startQueryIncludeInferred,\n sameAs: $scope.newConfig.startQuerySameAs\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 let backendRepositoryID = $scope.getActiveRepository();\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 = 'Running operation...' + timeHuman;\n }\n if ($scope.extraMessage && timeSeconds > 10) {\n message += '\\n' + $scope.extraMessage;\n }\n\n return message;\n }\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 codemirrorWrapperSelector = '.CodeMirror-wrap';\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(codemirrorWrapperSelector)) {\n let newHeight = visibleWindowHeight() - (document.querySelector(codemirrorWrapperSelector).getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector(codemirrorWrapperSelector).style.height = newHeight + 'px';\n document.getElementById('yasr').style.minHeight = newHeight + 'px';\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(codemirrorWrapperSelector).getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector(codemirrorWrapperSelector).style.height = newHeight + 'px';\n } else {\n $scope.noPadding = {};\n document.querySelector(codemirrorWrapperSelector).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(tabID);\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 deleteCachedSparqlResults() {\n }\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 (explain && !(window.editor.getQueryType() === 'SELECT' || window.editor.getQueryType() === 'CONSTRUCT')) {\n toastr.warning('Explain only works with SELECT or CONSTRUCT queries.');\n return;\n }\n\n if (window.editor.getQueryMode() === 'update') {\n toastr.warning('Cannot execute updates from this editor.');\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, 'Evaluating query');\n window.editor.query();\n }\n }\n\n function getNamespaces() {\n // Signals the namespaces are to be fetched => loader will be shown\n setLoader(true, 'Refreshing namespaces', 'Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first.');\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 let msg = getError(data);\n toastr.error(msg, 'Error! Could not add known prefixes');\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 // 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 $scope.saveQueryToLocal(tab);\n return tab;\n }\n\n let maxID = 1;\n\n function addNewTab(callback, tabName, savedQuery) {\n }\n\n function loadTab(id) {\n $scope.tabsData = [$scope.currentQuery];\n\n let 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 padding 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}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/utils/notifications.js","webpack:///./src/js/angular/graphexplore/controllers/graphs-config.controller.js"],"names":["Notifications","toastr","showToastMessageWithDelay","message","Promise","r","success","setTimeout","angular","module","factory","$inject","GraphConfigCtrl","$scope","$timeout","$location","$repositories","$modal","ModalService","SparqlRestService","$filter","GraphConfigRestService","AutocompleteRestService","$routeParams","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","selectedFixedNodeChanged","page","totalPages","helpHidden","get","HIDE_GRAPH_CONFIG_HELP","toggleHelp","value","undefined","set","fixedVisualCallback","uri","label","newConfig","startIRI","startIRILabel","isDefaultGraph","sample","name","isUserGraph","getSampleName","property","extra","id","getGraphConfigSamples","data","samples","_","filter","s","revertConfig","error","getError","configName","showInvalidMsg","warning","getQueryForCurrentPage","config","query","startMode","startGraphQuery","expandQuery","resourceQuery","predicateLabelQuery","resourcePropertiesQuery","isDefined","initForConfig","checkAutocompleteStatus","getAutocompletePromise","createGraphConfig","async","url","updateGraphConfig","$on","getNamespacesPromise","getNamespaces","getActiveRepository","validateQueryWithCallback","successCallback","queryType","params","all","oneOf","validateQuery","broadcastAddStartFixedNodeEvent","checkPageAndMode","$broadcast","validateCurrentPage","updateModel","goToPage","nextPage","showEditor","notoolbar","goToPreviousPage","goToNextPage","saveGraphConfig","startQueryIncludeInferred","currentQuery","inference","startQuerySameAs","sameAs","isUpdate","window","editor","getValue","trim","setQuery","setValue","updateDirty","q1","q2","queryEditorIsDirty","updateEditor","isActiveRepoOntopType","nocount","loadTab","selectTab","xhr","abort","viewMode","showPreview","outputType","runQuery","revertEditor","$watch","shared","encodeQuery","encodeURIComponent","getConfig","defaultTabConfig","resetCurrentTabConfig","currentTabConfig","pageSize","allResultsCount","resultsCount","queryExists","tabsData","tabs","saveTab","idx","i","length","findTabIndexByID","tab","saveQueryToLocal","addNewTab","callback","tabName","savedQuery","changePagination","explainRequested","toggleSampleQueries","addKnownPrefixes","getExistingTabId","querySelected","tabId","body","setLoader","getLoaderMessage","timeSeconds","Date","now","queryStartTime","timeHuman","getHumanReadableSeconds","progressMessage","extraMessage","fixSizesOnHorizontalViewModeSwitch","changeViewMode","tabID","orientationViewMode","$","remove","showHideEditor","focusQueryEditor","element","document","find","is","focus","currentQueryTab","isRunning","yasrInnerContainer","getElementById","queryIsRunning","countTimeouted","addClass","removeClass","$$phase","$apply","verticalViewParam","visibleWindowHeight","innerHeight","documentElement","clientHeight","verticalView","newHeight","querySelector","getBoundingClientRect","style","height","noPadding","minHeight","paddingRight","paddingLeft","timer","cancel","yasr","container","resize","changePage","explain","executedQueryTab","getQueryType","getQueryMode","getRepositoryNamespaces","usedPrefixes","results","bindings","forEach","e","prefix","namespace","namespaces","repositoryError","finally","JSON","stringify","msg","existingTabId","item","on","$watchCollection","offset","timeFinished","timeTook","sizeDelta","css","getQueryID","attr","tabEvent","relatedTarget","target","copy","showSampleQueries","sampleQueries","getResultsDescription","getUpdateDescription","getStaleWarningMessage","controller"],"mappings":"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","file":"35.9c81c96cc1621f9468aa.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.utils.notifications', [])\n .factory('Notifications', Notifications);\n\nNotifications.$inject = ['toastr'];\n\nfunction Notifications(toastr) {\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(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.graphexplore.controllers.graphviz.config', [\n 'graphdb.framework.utils.notifications',\n 'graphdb.framework.utils.localstorageadapter'\n ])\n .controller('GraphConfigCtrl', GraphConfigCtrl);\n\nGraphConfigCtrl.$inject = ['$scope', '$timeout', '$location', 'toastr', '$repositories', '$modal', 'ModalService', 'SparqlRestService', '$filter', 'GraphConfigRestService', 'AutocompleteRestService', '$routeParams', 'Notifications', 'RDF4JRepositoriesRestService', 'LocalStorageAdapter', 'LSKeys'];\n\nfunction GraphConfigCtrl($scope, $timeout, $location, toastr, $repositories, $modal, ModalService, SparqlRestService, $filter, GraphConfigRestService, AutocompleteRestService, $routeParams, Notifications, RDF4JRepositoriesRestService, LocalStorageAdapter, LSKeys) {\n\n $scope.page = 1;\n $scope.totalPages = 5;\n\n $scope.helpHidden = LocalStorageAdapter.get(LSKeys.HIDE_GRAPH_CONFIG_HELP) === 1;\n\n $scope.toggleHelp = function (value) {\n if (value === undefined) {\n value = LocalStorageAdapter.get(LSKeys.HIDE_GRAPH_CONFIG_HELP);\n }\n if (value !== 1) {\n LocalStorageAdapter.set(LSKeys.HIDE_GRAPH_CONFIG_HELP, 1);\n $scope.helpHidden = true;\n } else {\n LocalStorageAdapter.set(LSKeys.HIDE_GRAPH_CONFIG_HELP, 0);\n $scope.helpHidden = false;\n }\n };\n\n var selectedFixedNodeChanged;\n $scope.fixedVisualCallback = function (uri, label) {\n $scope.newConfig.startIRI = uri;\n $scope.newConfig.startIRILabel = label;\n selectedFixedNodeChanged = true;\n };\n\n $scope.isDefaultGraph = function (sample) {\n return (sample.name === 'Minimal' || sample.name === 'Advanced');\n };\n\n $scope.isUserGraph = function (sample) {\n return !$scope.isDefaultGraph(sample);\n };\n\n $scope.getSampleName = function (sample, property) {\n const extra = sample[property + 'Description'];\n if (extra) {\n // Sample has description, use it\n return extra;\n } else {\n // Sample is a copy of existing config, prepend Copy of to name\n return sample.id ? 'Copy of ' + sample.name : sample.name;\n }\n };\n\n const getGraphConfigSamples = function () {\n GraphConfigRestService.getGraphConfigSamples()\n .success(function (data) {\n $scope.samples = _.filter(data, function (s) {\n // Skip the currently edited config from samples and store it into a revert variable\n if (!s.id || $scope.newConfig.id !== s.id) {\n return true;\n } else {\n $scope.revertConfig = s;\n return false;\n }\n });\n }).error(function (data) {\n toastr.error(getError(data), 'Could not get graph configs. You may not see sample values');\n });\n };\n\n const configName = $routeParams.configName;\n $scope.newConfig = {startQueryIncludeInferred: true, startQuerySameAs: true};\n $scope.newConfig.startMode = 'search';\n $scope.isUpdate = false;\n $scope.shared = false;\n\n $scope.encodeQuery = function (query) {\n return encodeURIComponent(query);\n };\n\n function showInvalidMsg(message) {\n toastr.warning(message);\n }\n\n if (configName) {\n $scope.isUpdate = true;\n GraphConfigRestService.getConfig(configName)\n .success(function (data) {\n $scope.newConfig = data;\n initForConfig();\n })\n .error(function (data) {\n toastr.error(getError(data), 'Could not load config for name ' + configName);\n });\n } else {\n $scope.isUpdate = false;\n initForConfig();\n }\n\n function getQueryForCurrentPage(config) {\n let query;\n\n if (config.startMode === 'query' && $scope.page === 1) {\n query = config.startGraphQuery;\n } else if ($scope.page === 2) {\n query = config.expandQuery;\n } else if ($scope.page === 3) {\n query = config.resourceQuery;\n } else if ($scope.page === 4) {\n query = config.predicateLabelQuery;\n } else if ($scope.page === 5) {\n query = config.resourcePropertiesQuery;\n }\n\n return angular.isDefined(query) ? query : '';\n }\n\n function initForConfig() {\n getGraphConfigSamples();\n $scope.createGraphConfig = function () {\n GraphConfigRestService.createGraphConfig($scope.newConfig)\n .success(async function () {\n await Notifications.showToastMessageWithDelay('Saved new graph config');\n $location.url('graphs-visualizations');\n }).error(function (data) {\n toastr.error(getError(data), 'Error! Could not create graph config');\n });\n };\n\n $scope.updateGraphConfig = function () {\n GraphConfigRestService.updateGraphConfig($scope.newConfig)\n .success(async function () {\n await Notifications.showToastMessageWithDelay('Graph config saved');\n $location.url('graphs-visualizations');\n }).error(function (data) {\n toastr.error(getError(data), 'Error! Could not save graph config');\n });\n };\n\n function checkAutocompleteStatus() {\n $scope.getAutocompletePromise = AutocompleteRestService.checkAutocompleteStatus();\n }\n\n $scope.$on('autocompleteStatus', function() {\n checkAutocompleteStatus();\n });\n\n checkAutocompleteStatus();\n $scope.getNamespacesPromise = RDF4JRepositoriesRestService.getNamespaces($scope.getActiveRepository());\n\n const validateQueryWithCallback = function (successCallback, query, queryType, params, all, oneOf) {\n if (!query) {\n successCallback();\n } else {\n GraphConfigRestService.validateQuery(query, queryType, params, all, oneOf)\n .success(function () {\n successCallback();\n }).error(function (data) {\n showInvalidMsg(getError(data));\n });\n }\n };\n\n $scope.validateCurrentPage = function (successCallback) {\n $scope.updateModel();\n\n if ($scope.page === 1) {\n if ($scope.newConfig.startMode === 'node' && !$scope.newConfig.startIRI) {\n showInvalidMsg('Please select start node.');\n } else if ($scope.newConfig.startMode === 'query' && !$scope.newConfig.startGraphQuery) {\n showInvalidMsg('Please provide start graph query.');\n } else if ($scope.newConfig.startMode === 'query') {\n validateQueryWithCallback(successCallback, $scope.newConfig.startGraphQuery, 'graph')\n } else {\n successCallback();\n }\n } else if ($scope.page === 2) {\n validateQueryWithCallback(successCallback, $scope.newConfig.expandQuery, 'construct', ['node'])\n } else if ($scope.page === 3) {\n validateQueryWithCallback(successCallback, $scope.newConfig.resourceQuery, 'tuple', ['node'], [], ['type', 'label', 'comment', 'rank']);\n } else if ($scope.page === 4) {\n validateQueryWithCallback(successCallback, $scope.newConfig.predicateLabelQuery, 'tuple', ['edge'], ['label']);\n } else if ($scope.page === 5) {\n validateQueryWithCallback(successCallback, $scope.newConfig.resourcePropertiesQuery, 'tuple', ['node'], ['property', 'value']);\n }\n };\n\n $scope.goToPage = function (nextPage) {\n if ($scope.page === nextPage) {\n // already there\n return;\n }\n\n $scope.validateCurrentPage(function () {\n $scope.showEditor();\n $scope.page = nextPage;\n $scope.notoolbar = $scope.page !== 1;\n });\n };\n\n $scope.goToPreviousPage = function () {\n if ($scope.page > 1) {\n $scope.goToPage($scope.page - 1);\n }\n\n if (checkPageAndMode()) {\n selectedFixedNodeChanged = false;\n }\n };\n\n $scope.goToNextPage = function () {\n broadcastAddStartFixedNodeEvent();\n if (selectedFixedNodeChanged) {\n $scope.goToPage($scope.page + 1);\n }\n };\n\n function broadcastAddStartFixedNodeEvent() {\n if (checkPageAndMode()) {\n $scope.$broadcast('addStartFixedNodeAutomatically', {startIRI: $scope.newConfig.startIRI});\n }\n }\n\n function checkPageAndMode() {\n return $scope.page === 1 && $scope.newConfig.startMode === 'node';\n }\n\n $scope.saveGraphConfig = function () {\n broadcastAddStartFixedNodeEvent();\n\n if (checkPageAndMode() && !selectedFixedNodeChanged) {\n return;\n }\n\n $scope.newConfig.startQueryIncludeInferred = $scope.currentQuery.inference;\n $scope.newConfig.startQuerySameAs = $scope.currentQuery.sameAs;\n\n $scope.validateCurrentPage(function () {\n if (!$scope.newConfig.name) {\n showInvalidMsg('Please provide config name.');\n return;\n }\n $scope.isUpdate ? $scope.updateGraphConfig($scope.newConfig) : $scope.createGraphConfig($scope.newConfig);\n });\n };\n\n $scope.updateModel = function () {\n const query = window.editor.getValue().trim();\n if ($scope.newConfig.startMode === 'query' && $scope.page === 1) {\n $scope.newConfig.startGraphQuery = query;\n } else if ($scope.page === 2) {\n $scope.newConfig.expandQuery = query;\n } else if ($scope.page === 3) {\n $scope.newConfig.resourceQuery = query;\n } else if ($scope.page === 4) {\n $scope.newConfig.predicateLabelQuery = query;\n } else if ($scope.page === 5) {\n $scope.newConfig.resourcePropertiesQuery = query;\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 $scope.updateDirty = function () {\n if ($scope.revertConfig) {\n const q1 = getQueryForCurrentPage($scope.revertConfig);\n const q2 = window.editor.getValue().trim();\n $scope.queryEditorIsDirty = q1 !== q2;\n }\n };\n\n // Updates the position of the query editor to match the current div placeholder\n // and sets the editor's query to the relevant query from the model.\n $scope.updateEditor = function () {\n $timeout(function () {\n $scope.currentQuery.query = getQueryForCurrentPage($scope.newConfig);\n // // Check for ontop repository and override nocount property (it's default value is false)\n if ($repositories.isActiveRepoOntopType()) {\n $scope.nocount = true;\n }\n $scope.currentQuery.inference = $scope.newConfig.startQueryIncludeInferred;\n $scope.currentQuery.sameAs = $scope.newConfig.startQuerySameAs;\n loadTab($scope.currentQuery.id);\n selectTab($scope.currentQuery.id);\n }, 100);\n\n };\n\n $scope.showEditor = function () {\n if (window.editor && 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.revertEditor = function () {\n $scope.setQuery(getQueryForCurrentPage($scope.revertConfig));\n };\n\n // Trigger for showing the editor and moving it to the right position\n $scope.$watch('newConfig.startMode', function (value) {\n if (value === 'query') {\n $timeout(function () {\n $scope.updateEditor();\n }, 0);\n }\n });\n\n // Trigger for showing the editor and moving it to the right position\n $scope.$watch('page', function (value) {\n if ($scope.newConfig.startMode === 'query' || value > 1) {\n $timeout(function () {\n $scope.showEditor();\n $scope.updateEditor();\n }, 0);\n }\n });\n }\n\n // DOWN HERE WE KEEP EVERYTHING PURELY QUERY EDITOR (MOSTLY BORROWED FROM query-editor.controller.js)\n // But Why? Can't we reuse it instead of borrow?\n\n const defaultTabConfig = {\n id: '1',\n name: '',\n query: 'select * where { \\n' +\n '\\t?s ?p ?o .\\n' +\n '} limit 100 \\n',\n inference: $scope.newConfig.startQueryIncludeInferred,\n sameAs: $scope.newConfig.startQuerySameAs\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 let backendRepositoryID = $scope.getActiveRepository();\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 = 'Running operation...' + timeHuman;\n }\n if ($scope.extraMessage && timeSeconds > 10) {\n message += '\\n' + $scope.extraMessage;\n }\n\n return message;\n }\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 codemirrorWrapperSelector = '.CodeMirror-wrap';\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(codemirrorWrapperSelector)) {\n let newHeight = visibleWindowHeight() - (document.querySelector(codemirrorWrapperSelector).getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector(codemirrorWrapperSelector).style.height = newHeight + 'px';\n document.getElementById('yasr').style.minHeight = newHeight + 'px';\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(codemirrorWrapperSelector).getBoundingClientRect().top);\n newHeight -= 40;\n document.querySelector(codemirrorWrapperSelector).style.height = newHeight + 'px';\n } else {\n $scope.noPadding = {};\n document.querySelector(codemirrorWrapperSelector).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(tabID);\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 deleteCachedSparqlResults() {\n }\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 (explain && !(window.editor.getQueryType() === 'SELECT' || window.editor.getQueryType() === 'CONSTRUCT')) {\n toastr.warning('Explain only works with SELECT or CONSTRUCT queries.');\n return;\n }\n\n if (window.editor.getQueryMode() === 'update') {\n toastr.warning('Cannot execute updates from this editor.');\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, 'Evaluating query');\n window.editor.query();\n }\n }\n\n function getNamespaces() {\n // Signals the namespaces are to be fetched => loader will be shown\n setLoader(true, 'Refreshing namespaces', 'Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first.');\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 let msg = getError(data);\n toastr.error(msg, 'Error! Could not add known prefixes');\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 // 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 $scope.saveQueryToLocal(tab);\n return tab;\n }\n\n let maxID = 1;\n\n function addNewTab(callback, tabName, savedQuery) {\n }\n\n function loadTab(id) {\n $scope.tabsData = [$scope.currentQuery];\n\n let 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 padding 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}\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[36],{65:function(e,r,t){"use strict";t.r(r);t(2),t(30);const i=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);i.directive("validateUri",["UriUtils",function(e){return{restrict:"A",require:"ngModel",link:function(r,t,i,a){a.$parsers.unshift((function(t){let i=!0;return"named"===r.target&&(i=e.isValidIri(t)),a.$setValidity("validateUri",i),t}))}}}]),i.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),i.directive("filesOntoLoader",(function(){return{link:function(e,r,t){e.$watch("file.status",(function(){"IMPORTING"!==e.file.status&&"UPLOADING"!==e.file.status||!$(r).has("object").length>0&&$(r).append('<object width="'+t.size+'" height="'+t.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR8">Loading...</object>')}))}}}))},98:function(e,r,t){"use strict";t.r(r);t(2),t(7),t(84),t(65),t(8),t(26),t(27);angular.module("graphdb.framework.impex.import",["toastr","ngRoute","ngFileUpload","ui.bootstrap","graphdb.framework.impex.import.directives","graphdb.framework.impex.import.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives"])}}]);
2
- //# sourceMappingURL=36.d444f7ad7724d126da1c.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[36],{66:function(e,r,t){"use strict";t.r(r);t(2),t(30);const i=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);i.directive("validateUri",["UriUtils",function(e){return{restrict:"A",require:"ngModel",link:function(r,t,i,a){a.$parsers.unshift((function(t){let i=!0;return"named"===r.target&&(i=e.isValidIri(t)),a.$setValidity("validateUri",i),t}))}}}]),i.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),i.directive("filesOntoLoader",(function(){return{link:function(e,r,t){e.$watch("file.status",(function(){"IMPORTING"!==e.file.status&&"UPLOADING"!==e.file.status||!$(r).has("object").length>0&&$(r).append('<object width="'+t.size+'" height="'+t.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR9">Loading...</object>')}))}}}))},98:function(e,r,t){"use strict";t.r(r);t(2),t(7),t(84),t(66),t(8),t(26),t(27);angular.module("graphdb.framework.impex.import",["toastr","ngRoute","ngFileUpload","ui.bootstrap","graphdb.framework.impex.import.directives","graphdb.framework.impex.import.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives"])}}]);
2
+ //# sourceMappingURL=36.cee947247d32cdcec00e.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/import/directives.js","webpack:///./src/js/angular/import/app.js"],"names":["importDirectives","angular","module","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","value","valid","target","isValidIri","$setValidity","templateUrl","$watch","file","status","$","has","length","append","size"],"mappings":"0FAAA,kBAGA,MAAMA,EAAmBC,QAAQC,OAAO,4CAA6C,CACjF,qCAGJF,EAAiBG,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUC,GAC5B,IAAIC,GAAQ,EAQZ,MANqB,UAAjBP,EAAMQ,SACND,EAAQX,EAASa,WAAWH,IAGhCH,EAAKO,aAAa,cAAeH,GAE1BD,UAMvBd,EAAiBG,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVc,YAAa,kDAIrBnB,EAAiBG,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMY,OAAO,eAAe,WACE,cAAtBZ,EAAMa,KAAKC,QAAgD,cAAtBd,EAAMa,KAAKC,SAC3CC,EAAEd,GAASe,IAAI,UAAUC,OAAS,GACnCF,EAAEd,GAASiB,OAAO,kBAAoBhB,EAAKiB,KAAO,aAAejB,EAAKiB,KAAO,0G,gCCxCrG,8CAmBA1B,QAAQC,OAAO,iCAXC,CACZ,SACA,UACA,eACA,eACA,4CACA,6CACA,+CACA","file":"36.d444f7ad7724d126da1c.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR8\">Loading...</object>');\n }\n }\n });\n }\n };\n});\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/import/controllers';\nimport 'angular/import/directives';\nimport 'angular/core/services/repositories.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'toastr',\n 'ngRoute',\n 'ngFileUpload',\n 'ui.bootstrap',\n 'graphdb.framework.impex.import.directives',\n 'graphdb.framework.impex.import.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.impex.import', modules);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/import/directives.js","webpack:///./src/js/angular/import/app.js"],"names":["importDirectives","angular","module","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","value","valid","target","isValidIri","$setValidity","templateUrl","$watch","file","status","$","has","length","append","size"],"mappings":"0FAAA,kBAGA,MAAMA,EAAmBC,QAAQC,OAAO,4CAA6C,CACjF,qCAGJF,EAAiBG,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUC,GAC5B,IAAIC,GAAQ,EAQZ,MANqB,UAAjBP,EAAMQ,SACND,EAAQX,EAASa,WAAWH,IAGhCH,EAAKO,aAAa,cAAeH,GAE1BD,UAMvBd,EAAiBG,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVc,YAAa,kDAIrBnB,EAAiBG,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMY,OAAO,eAAe,WACE,cAAtBZ,EAAMa,KAAKC,QAAgD,cAAtBd,EAAMa,KAAKC,SAC3CC,EAAEd,GAASe,IAAI,UAAUC,OAAS,GACnCF,EAAEd,GAASiB,OAAO,kBAAoBhB,EAAKiB,KAAO,aAAejB,EAAKiB,KAAO,0G,gCCxCrG,8CAmBA1B,QAAQC,OAAO,iCAXC,CACZ,SACA,UACA,eACA,eACA,4CACA,6CACA,+CACA","file":"36.cee947247d32cdcec00e.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR9\">Loading...</object>');\n }\n }\n });\n }\n };\n});\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/import/controllers';\nimport 'angular/import/directives';\nimport 'angular/core/services/repositories.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'toastr',\n 'ngRoute',\n 'ngFileUpload',\n 'ui.bootstrap',\n 'graphdb.framework.impex.import.directives',\n 'graphdb.framework.impex.import.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives'\n];\n\nangular.module('graphdb.framework.impex.import', modules);\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[37,106],{30:function(F,u){let D;angular.module("graphdb.framework.utils.uriutils",[]).factory("UriUtils",(function(){return{isValidIri:function(F){return void 0!==F&&!!F.match(D)},validateRdfUri:function(F){const u=F.indexOf("<")>=0&&F.indexOf(">")>=0,D=-1===F.indexOf("<")&&-1===F.lastIndexOf(">"),a=/^<?(http|urn).*>?/.test(F)&&(u||D);let t=!1;if(a)if(F.indexOf("http")>=0){const u=F.indexOf("//");t=u>4&&F.substring(u+2).length>0}else F.indexOf("urn")>=0&&(t=F.substring(4).length>0);return a&&t}}}));try{D=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:(?:\\/\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:])*@)?(?:\\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\\._~!\\$&'\\(\\)\\*\\+,;=:]+)\\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=@])*)(?::[0-9]*)?(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|\\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])))(?:\\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\u{E000}-\\u{F8FF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}\\/\\?])*)?(?:#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\/\\?])*)?$","ui")}catch(F){D=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:","i")}},65:function(F,u,D){"use strict";D.r(u);D(2),D(30);const a=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);a.directive("validateUri",["UriUtils",function(F){return{restrict:"A",require:"ngModel",link:function(u,D,a,t){t.$parsers.unshift((function(D){let a=!0;return"named"===u.target&&(a=F.isValidIri(D)),t.$setValidity("validateUri",a),D}))}}}]),a.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),a.directive("filesOntoLoader",(function(){return{link:function(F,u,D){F.$watch("file.status",(function(){"IMPORTING"!==F.file.status&&"UPLOADING"!==F.file.status||!$(u).has("object").length>0&&$(u).append('<object width="'+D.size+'" height="'+D.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR8">Loading...</object>')}))}}}))}}]);
2
- //# sourceMappingURL=37.e82ed70c9f1ccac1fa36.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[37,106],{30:function(F,u){let D;angular.module("graphdb.framework.utils.uriutils",[]).factory("UriUtils",(function(){return{isValidIri:function(F){return void 0!==F&&!!F.match(D)},validateRdfUri:function(F){const u=F.indexOf("<")>=0&&F.indexOf(">")>=0,D=-1===F.indexOf("<")&&-1===F.lastIndexOf(">"),a=/^<?(http|urn).*>?/.test(F)&&(u||D);let t=!1;if(a)if(F.indexOf("http")>=0){const u=F.indexOf("//");t=u>4&&F.substring(u+2).length>0}else F.indexOf("urn")>=0&&(t=F.substring(4).length>0);return a&&t}}}));try{D=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:(?:\\/\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:])*@)?(?:\\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\\._~!\\$&'\\(\\)\\*\\+,;=:]+)\\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=@])*)(?::[0-9]*)?(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|\\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))+)(?:\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])))(?:\\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\u{E000}-\\u{F8FF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}\\/\\?])*)?(?:#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\._~\\u{A0}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFEF}\\u{10000}-\\u{1FFFD}\\u{20000}-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}\\u{50000}-\\u{5FFFD}\\u{60000}-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}\\u{90000}-\\u{9FFFD}\\u{A0000}-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}\\u{D0000}-\\u{DFFFD}\\u{E1000}-\\u{EFFFD}!\\$&'\\(\\)\\*\\+,;=:@])|[\\/\\?])*)?$","ui")}catch(F){D=new RegExp("^[a-z](?:[-a-z0-9\\+\\.])*:","i")}},66:function(F,u,D){"use strict";D.r(u);D(2),D(30);const a=angular.module("graphdb.framework.impex.import.directives",["graphdb.framework.utils.uriutils"]);a.directive("validateUri",["UriUtils",function(F){return{restrict:"A",require:"ngModel",link:function(u,D,a,t){t.$parsers.unshift((function(D){let a=!0;return"named"===u.target&&(a=F.isValidIri(D)),t.$setValidity("validateUri",a),D}))}}}]),a.directive("filesTable",(function(){return{restrict:"A",templateUrl:"js/angular/import/templates/filesTable.html"}})),a.directive("filesOntoLoader",(function(){return{link:function(F,u,D){F.$watch("file.status",(function(){"IMPORTING"!==F.file.status&&"UPLOADING"!==F.file.status||!$(u).has("object").length>0&&$(u).append('<object width="'+D.size+'" height="'+D.size+'" data="js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR9">Loading...</object>')}))}}}))}}]);
2
+ //# sourceMappingURL=37.42e443af5752a63a28fe.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/utils/uri-utils.js","webpack:///./src/js/angular/import/directives.js"],"names":["iriRegExp","angular","module","factory","isValidIri","iri","undefined","match","validateRdfUri","value","hasAngleBrackets","indexOf","noAngleBrackets","lastIndexOf","validProtocol","test","validPath","schemaSlashesIdx","substring","length","RegExp","e","importDirectives","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","valid","target","$setValidity","templateUrl","$watch","file","status","$","has","append","size"],"mappings":"+EAIA,IAAIA,EAJJC,QACKC,OAAO,mCAAoC,IAC3CC,QAAQ,YAWb,WAsBI,MAAO,CACHC,WALJ,SAAoBC,GAChB,YAAeC,IAARD,KAAuBA,EAAIE,MAAMP,IAKxCQ,eAvBJ,SAAwBC,GACpB,MAAMC,EAAmBD,EAAME,QAAQ,MAAQ,GAAKF,EAAME,QAAQ,MAAQ,EACpEC,GAA0C,IAAxBH,EAAME,QAAQ,OAA2C,IAA5BF,EAAMI,YAAY,KACjEC,EAAgB,oBAAoBC,KAAKN,KAAWC,GAAoBE,GAC9E,IAAII,GAAY,EAChB,GAAIF,EACA,GAAIL,EAAME,QAAQ,SAAW,EAAG,CAC5B,MAAMM,EAAmBR,EAAME,QAAQ,MACvCK,EAAYC,EAAmB,GACxBR,EAAMS,UAAUD,EAAmB,GAAGE,OAAS,OAC/CV,EAAME,QAAQ,QAAU,IAC/BK,EAAYP,EAAMS,UAAU,GAAGC,OAAS,GAGhD,OAAOL,GAAiBE,OAvBhC,IAEIhB,EAAY,IAAIoB,OAAO,2yLAA4yL,MACr0L,MAAOC,GAELrB,EAAY,IAAIoB,OAAO,8BAA+B,O,gCCV1D,kBAGA,MAAME,EAAmBrB,QAAQC,OAAO,4CAA6C,CACjF,qCAGJoB,EAAiBC,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUxB,GAC5B,IAAIyB,GAAQ,EAQZ,MANqB,UAAjBN,EAAMO,SACND,EAAQV,EAASpB,WAAWK,IAGhCsB,EAAKK,aAAa,cAAeF,GAE1BzB,UAMvBa,EAAiBC,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVY,YAAa,kDAIrBf,EAAiBC,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMU,OAAO,eAAe,WACE,cAAtBV,EAAMW,KAAKC,QAAgD,cAAtBZ,EAAMW,KAAKC,SAC3CC,EAAEZ,GAASa,IAAI,UAAUvB,OAAS,GACnCsB,EAAEZ,GAASc,OAAO,kBAAoBb,EAAKc,KAAO,aAAed,EAAKc,KAAO","file":"37.e82ed70c9f1ccac1fa36.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.utils.uriutils', [])\n .factory('UriUtils', UriUtils);\n\nlet iriRegExp;\ntry {\n // Real validation but it requires a relatively new browser\n iriRegExp = new RegExp(\"^[a-z](?:[-a-z0-9\\\\+\\\\.])*:(?:\\\\/\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:])*@)?(?:\\\\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\\\\._~!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:]+)\\\\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=@])*)(?::[0-9]*)?(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*|\\\\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))+)(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))+)(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])))(?:\\\\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])|[\\\\u{E000}-\\\\u{F8FF}\\\\u{F0000}-\\\\u{FFFFD}\\\\u{100000}-\\\\u{10FFFD}\\\\/\\\\?])*)?(?:#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])|[\\\\/\\\\?])*)?$\", \"ui\");\n} catch (e) {\n // Fallback to simple validation, works in all browsers\n iriRegExp = new RegExp(\"^[a-z](?:[-a-z0-9\\\\+\\\\.])*:\", \"i\");\n}\n\nfunction UriUtils() {\n function validateRdfUri(value) {\n const hasAngleBrackets = value.indexOf(\"<\") >= 0 && value.indexOf(\">\") >= 0;\n const noAngleBrackets = value.indexOf(\"<\") === -1 && value.lastIndexOf(\">\") === -1;\n const validProtocol = /^<?(http|urn).*>?/.test(value) && (hasAngleBrackets || noAngleBrackets);\n let validPath = false;\n if (validProtocol) {\n if (value.indexOf(\"http\") >= 0) {\n const schemaSlashesIdx = value.indexOf('//');\n validPath = schemaSlashesIdx > 4\n && value.substring(schemaSlashesIdx + 2).length > 0;\n } else if (value.indexOf(\"urn\") >= 0) {\n validPath = value.substring(4).length > 0;\n }\n }\n return validProtocol && validPath;\n }\n\n function isValidIri(iri) {\n return iri !== undefined && !!iri.match(iriRegExp);\n }\n\n return {\n isValidIri: isValidIri,\n validateRdfUri: validateRdfUri\n };\n}\n","import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR8\">Loading...</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///./src/js/angular/utils/uri-utils.js","webpack:///./src/js/angular/import/directives.js"],"names":["iriRegExp","angular","module","factory","isValidIri","iri","undefined","match","validateRdfUri","value","hasAngleBrackets","indexOf","noAngleBrackets","lastIndexOf","validProtocol","test","validPath","schemaSlashesIdx","substring","length","RegExp","e","importDirectives","directive","UriUtils","restrict","require","link","scope","element","attr","ctrl","$parsers","unshift","valid","target","$setValidity","templateUrl","$watch","file","status","$","has","append","size"],"mappings":"+EAIA,IAAIA,EAJJC,QACKC,OAAO,mCAAoC,IAC3CC,QAAQ,YAWb,WAsBI,MAAO,CACHC,WALJ,SAAoBC,GAChB,YAAeC,IAARD,KAAuBA,EAAIE,MAAMP,IAKxCQ,eAvBJ,SAAwBC,GACpB,MAAMC,EAAmBD,EAAME,QAAQ,MAAQ,GAAKF,EAAME,QAAQ,MAAQ,EACpEC,GAA0C,IAAxBH,EAAME,QAAQ,OAA2C,IAA5BF,EAAMI,YAAY,KACjEC,EAAgB,oBAAoBC,KAAKN,KAAWC,GAAoBE,GAC9E,IAAII,GAAY,EAChB,GAAIF,EACA,GAAIL,EAAME,QAAQ,SAAW,EAAG,CAC5B,MAAMM,EAAmBR,EAAME,QAAQ,MACvCK,EAAYC,EAAmB,GACxBR,EAAMS,UAAUD,EAAmB,GAAGE,OAAS,OAC/CV,EAAME,QAAQ,QAAU,IAC/BK,EAAYP,EAAMS,UAAU,GAAGC,OAAS,GAGhD,OAAOL,GAAiBE,OAvBhC,IAEIhB,EAAY,IAAIoB,OAAO,2yLAA4yL,MACr0L,MAAOC,GAELrB,EAAY,IAAIoB,OAAO,8BAA+B,O,gCCV1D,kBAGA,MAAME,EAAmBrB,QAAQC,OAAO,4CAA6C,CACjF,qCAGJoB,EAAiBC,UAAU,cAAe,CAAC,WAAY,SAAUC,GAC7D,MAAO,CACHC,SAAU,IACVC,QAAS,UACTC,KAAM,SAAUC,EAAOC,EAASC,EAAMC,GAClCA,EAAKC,SAASC,SAAQ,SAAUxB,GAC5B,IAAIyB,GAAQ,EAQZ,MANqB,UAAjBN,EAAMO,SACND,EAAQV,EAASpB,WAAWK,IAGhCsB,EAAKK,aAAa,cAAeF,GAE1BzB,UAMvBa,EAAiBC,UAAU,cAAc,WACrC,MAAO,CACHE,SAAU,IACVY,YAAa,kDAIrBf,EAAiBC,UAAU,mBAAmB,WAC1C,MAAO,CACHI,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMU,OAAO,eAAe,WACE,cAAtBV,EAAMW,KAAKC,QAAgD,cAAtBZ,EAAMW,KAAKC,SAC3CC,EAAEZ,GAASa,IAAI,UAAUvB,OAAS,GACnCsB,EAAEZ,GAASc,OAAO,kBAAoBb,EAAKc,KAAO,aAAed,EAAKc,KAAO","file":"37.42e443af5752a63a28fe.bundle.js","sourcesContent":["angular\n .module('graphdb.framework.utils.uriutils', [])\n .factory('UriUtils', UriUtils);\n\nlet iriRegExp;\ntry {\n // Real validation but it requires a relatively new browser\n iriRegExp = new RegExp(\"^[a-z](?:[-a-z0-9\\\\+\\\\.])*:(?:\\\\/\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:])*@)?(?:\\\\[(?:(?:(?:[0-9a-f]{1,4}:){6}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|::(?:[0-9a-f]{1,4}:){5}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:[0-9a-f]{1,4}:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3})|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+[-a-z0-9\\\\._~!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:]+)\\\\]|(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?:\\\\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}|(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=@])*)(?::[0-9]*)?(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*|\\\\/(?:(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))+)(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*)?|(?:(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))+)(?:\\\\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@]))*)*|(?!(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])))(?:\\\\?(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])|[\\\\u{E000}-\\\\u{F8FF}\\\\u{F0000}-\\\\u{FFFFD}\\\\u{100000}-\\\\u{10FFFD}\\\\/\\\\?])*)?(?:#(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\\\\._~\\\\u{A0}-\\\\u{D7FF}\\\\u{F900}-\\\\u{FDCF}\\\\u{FDF0}-\\\\u{FFEF}\\\\u{10000}-\\\\u{1FFFD}\\\\u{20000}-\\\\u{2FFFD}\\\\u{30000}-\\\\u{3FFFD}\\\\u{40000}-\\\\u{4FFFD}\\\\u{50000}-\\\\u{5FFFD}\\\\u{60000}-\\\\u{6FFFD}\\\\u{70000}-\\\\u{7FFFD}\\\\u{80000}-\\\\u{8FFFD}\\\\u{90000}-\\\\u{9FFFD}\\\\u{A0000}-\\\\u{AFFFD}\\\\u{B0000}-\\\\u{BFFFD}\\\\u{C0000}-\\\\u{CFFFD}\\\\u{D0000}-\\\\u{DFFFD}\\\\u{E1000}-\\\\u{EFFFD}!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=:@])|[\\\\/\\\\?])*)?$\", \"ui\");\n} catch (e) {\n // Fallback to simple validation, works in all browsers\n iriRegExp = new RegExp(\"^[a-z](?:[-a-z0-9\\\\+\\\\.])*:\", \"i\");\n}\n\nfunction UriUtils() {\n function validateRdfUri(value) {\n const hasAngleBrackets = value.indexOf(\"<\") >= 0 && value.indexOf(\">\") >= 0;\n const noAngleBrackets = value.indexOf(\"<\") === -1 && value.lastIndexOf(\">\") === -1;\n const validProtocol = /^<?(http|urn).*>?/.test(value) && (hasAngleBrackets || noAngleBrackets);\n let validPath = false;\n if (validProtocol) {\n if (value.indexOf(\"http\") >= 0) {\n const schemaSlashesIdx = value.indexOf('//');\n validPath = schemaSlashesIdx > 4\n && value.substring(schemaSlashesIdx + 2).length > 0;\n } else if (value.indexOf(\"urn\") >= 0) {\n validPath = value.substring(4).length > 0;\n }\n }\n return validProtocol && validPath;\n }\n\n function isValidIri(iri) {\n return iri !== undefined && !!iri.match(iriRegExp);\n }\n\n return {\n isValidIri: isValidIri,\n validateRdfUri: validateRdfUri\n };\n}\n","import 'angular/core/services';\nimport 'angular/utils/uri-utils';\n\nconst importDirectives = angular.module('graphdb.framework.impex.import.directives', [\n 'graphdb.framework.utils.uriutils'\n]);\n\nimportDirectives.directive('validateUri', ['UriUtils', function (UriUtils) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$parsers.unshift(function (value) {\n let valid = true;\n\n if (scope.target === 'named') {\n valid = UriUtils.isValidIri(value);\n }\n\n ctrl.$setValidity('validateUri', valid);\n\n return value;\n });\n }\n };\n}]);\n\nimportDirectives.directive('filesTable', function () {\n return {\n restrict: 'A',\n templateUrl: 'js/angular/import/templates/filesTable.html'\n };\n});\n\nimportDirectives.directive('filesOntoLoader', function () {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=2.0.0-TR9\">Loading...</object>');\n }\n }\n });\n }\n };\n});\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[38,105],{31:function(e,n){function t(e){return{showToastMessageWithDelay:function(n){return new Promise(t=>{e.success(n),setTimeout(t,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr"]},66:function(e,n,t){"use strict";t.r(n);t(2),t(8),t(11),t(31);function r(e,n,t,r,o){e.getSqlConfigurations=function(){!n.getActiveRepository()||n.isActiveRepoOntopType()||n.isActiveRepoFedXType()?e.jdbcConfigurations=[]:t.getJdbcConfigurations().success((function(n){e.jdbcConfigurations=n})).error((function(e){const n=getError(e);r.error(n,"Could not get SQL table configurations")}))},e.$watch((function(){return n.getActiveRepository()}),(function(){e.getSqlConfigurations()})),e.deleteConfiguration=function(n){o.openSimpleModal({title:"Warning",message:"Are you sure you want to delete the SQL table configuration '"+n+"'?",warning:!0}).result.then((function(){t.deleteJdbcConfiguration(n).success((function(){e.getSqlConfigurations()})).error((function(e){r.error(getError(e),"Could not delete SQL table")}))}))}}function o(e,n,t,r,o,i,u,s,c,a){e.name=n.search().name||"",e.getNamespaces=function(){p(!0,"Refreshing namespaces","Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first."),s.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){p(!1),m()}))},e.setLoader=p,e.addKnownPrefixes=b,e.page=1,e.noPadding={paddingRight:0,paddingLeft:0},e.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp","Get suggestion..."],e.currentTabConfig={},e.orientationViewMode=!0,e.currentQuery={},e.$watch((function(){return r.getActiveRepository()}),(function(e,t){e!==t&&n.path("jdbc")}));let l=null;e.goBack=function(){l=i((function(){o.history.back()}),1e3)};const f=e.$on("$locationChangeStart",(function(n){!function(n){e.currentQuery.isPristine||(confirm("You have unsaved changes. Are you sure that you want to exit?")?(window.removeEventListener("beforeunload",g),f(),i.cancel(l)):n.preventDefault())}(n)}));function g(n){e.currentQuery.isPristine||(n.returnValue=!0)}window.addEventListener("beforeunload",g),e.$on("$destroy",(function(e){window.removeEventListener("beforeunload",g),f(),i.cancel(l)}));const d={id:"1",name:"",query:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}",inference:!0,sameAs:!0,isNewConfiguration:!0,isPristine:!0};var y;function p(n,t,r){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",o.removeClass("hide")),null===e.$$phase&&e.$apply()}function m(){e.tabsData=[e.currentQuery];const n=e.currentQuery;e.currentQuery.query?window.editor.setValue(e.currentQuery.query):window.editor.setValue(" "),i((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),e.canWriteActiveRepo()||(window.editor.options.readOnly=!0)}function w(){e.tabsData=e.tabs=[d],e.currentQuery=angular.copy(d),h(),window.editor&&(e.setQuery(e.currentQuery.query),m()),e.$watch((function(){return e.currentQuery.query}),(function(n,t){n!==t&&e.setDirty()}))}function b(){c.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 n=getError(e);return t.error(n,"Error! Could not add known prefixes"),!0}))}function C(){T()&&u.getColumnNames(e.currentQuery.query).success((function(n){u.getColumnsTypeSuggestion(e.currentQuery.query,n).success((function(t){const r=[];_.forEach(n,(function(e){r.push({column_name:e,column_type:t[e].column_type,nullable:!0,sparql_type:t[e].sparql_type})})),e.currentQuery.columns=r,e.setDirty()})).error((function(e){t.error(getError(e),"Could not suggest column types")}))})).error((function(e){t.error(getError(e),"Could not suggest column names")}))}function h(){2===e.page?e.viewMode="editor":e.viewMode="none"}function Q(e,n,t,r,o){let i=t[r].value;return i=i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+i+"</p>")+"</div>"}function S(){return window.editor&&"SELECT"===window.editor.getQueryType()}function v(){return T()&&function(){if(!e.currentQuery.columns||!e.currentQuery.columns.length)return t.error("Please define at least one column","Invalid columns"),!1;if(e.containsUnknownColumns())return t.error("Please select SQL type for all columns","Invalid columns"),!1;return!0}()}function T(){return!!S()||(t.error("The data query must be a SELECT query","Invalid query"),!1)}e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0,queryType:""}},e.saveTab=function(){},e.setQuery=function(e){window.editor.setValue(e||" ")},e.name?(y=e.name,u.getJdbcConfiguration(y).success((function(e){d.query=e.query,d.name=e.name,d.columns=e.columns,d.isNewConfiguration=!e.name,w()})).error((function(e){const n=getError(e);t.error(n,"Could not get SQL table configuration")}))):w(),e.goToPage=function(n){e.page=n;const t=e.currentQuery.columns;2!==n||t&&0!==t.length||!S()||e.getColumnsSuggestions(),h()},e.save=function(){v()&&(e.currentQuery.name?e.currentQuery.isNewConfiguration?u.createNewJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success("SQL table configuration saved"),e.goBack()})).error((function(e){const n=getError(e);t.error(n,"Could not save SQL table configuration")})):u.updateJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success("SQL table configuration updated"),e.goBack()})).error((function(e){const n=getError(e);t.error(n,"Could not save SQL table configuration")})):t.error("SQL configuration name is required"))},e.hasPrecision=function(e){return"iri"===e||"string"===e||"decimal"===e},e.containsColumnsWithPrecision=function(n){return n&&n.some(n=>e.hasPrecision(n.column_type))},e.hasScale=function(e){return"decimal"===e},e.containsColumnsWithScale=function(n){return n&&n.some(n=>e.hasScale(n.column_type))},e.isLiteral=function(e){return"iri"!==e&&"unknown"!==e},e.containsNonLiteralColumnsOnly=function(n){return n&&n.every(n=>!e.isLiteral(n.column_type))},e.containsUnknownColumns=function(){return e.currentQuery.columns&&e.currentQuery.columns.find(e=>"unknown"===e.column_type)},$("textarea").on("paste",(function(){i((function(){b()}),0)})),e.selectColumnType=function(n,r){const o=_.find(e.currentQuery.columns,(function(e){return e.column_name===n}));"Get suggestion..."===o.column_type&&u.getColumnsTypeSuggestion(e.currentQuery.query,[n]).success((function(e){o.column_type=e[n].column_type,o.column_type===r?t.info("SQL type is the same after suggest: <b>"+o.column_type+"</b>","Suggest SQL type",{allowHtml:!0}):t.success("SQL type set to: <b>"+o.column_type+"</b>","Suggest SQL type",{allowHtml:!0}),o.sparql_type=e[n].sparql_type})).error((function(e){t.error(getError(e),"Could not suggest column type")})),e.setDirty()},e.getColumnsSuggestions=function(){e.currentQuery.columns&&e.currentQuery.columns.length>0?a.openSimpleModal({title:"Warning",message:"Are you sure you want to get suggestions for all columns? This action will overwrite all column type mappings!",warning:!0}).result.then((function(){C()})):C()},e.deleteColumn=function(n,t){a.openSimpleModal({title:"Warning",message:"Are you sure you want to delete the column '"+n+"'?",warning:!0}).result.then((function(){e.currentQuery.columns.splice(t,1),e.setDirty()}))},e.getPreview=function(){if(v()&&(e.executedQueryTab=e.currentQuery,!e.queryIsRunning)){e.currentQuery.outputType="table",e.resetCurrentTabConfig(),p(!0,"Preview of first 100 rows of table "+e.name,"Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first.");const n=function(n,r,o){!function(n,r,o){n.results&&n.results.bindings&&n.results.bindings.length?(window.yasr.plugins.table.options.getCellContent=Q,e.currentTabConfig.queryType="SELECT",window.yasr.setResponse(r,o,null)):t.info("The table definition produced no results","Preview SQL")}(n,o,r),p(!1)},r=function(e){p(!1),t.error(getError(e,0,100),"Could not show preview")};if(e.canWriteActiveRepo()){const t=JSON.stringify({name:e.currentQuery.name,query:e.currentQuery.query,columns:e.currentQuery.columns||[]});u.getNewSqlTablePreview(t).done(n).fail(r)}else u.getExistingSqlTablePreview(e.currentQuery.name).done(n).fail(r)}},e.setDirty=function(){e.currentQuery.isPristine=!1},e.getTypeLabel=function(e){switch(e){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return e.indexOf(" ")>0?e:e.toUpperCase()}}}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",r).controller("JdbcCreateCtrl",o),r.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService"],o.$inject=["$scope","$location","toastr","$repositories","$window","$timeout","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService"]}}]);
2
- //# sourceMappingURL=38.93c5a81548a3294efd9d.bundle.js.map
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[38,105],{31:function(e,n){function t(e){return{showToastMessageWithDelay:function(n){return new Promise(t=>{e.success(n),setTimeout(t,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",t),t.$inject=["toastr"]},67:function(e,n,t){"use strict";t.r(n);t(2),t(8),t(11),t(31);function r(e,n,t,r,o){e.getSqlConfigurations=function(){!n.getActiveRepository()||n.isActiveRepoOntopType()||n.isActiveRepoFedXType()?e.jdbcConfigurations=[]:t.getJdbcConfigurations().success((function(n){e.jdbcConfigurations=n})).error((function(e){const n=getError(e);r.error(n,"Could not get SQL table configurations")}))},e.$watch((function(){return n.getActiveRepository()}),(function(){e.getSqlConfigurations()})),e.deleteConfiguration=function(n){o.openSimpleModal({title:"Warning",message:"Are you sure you want to delete the SQL table configuration '"+n+"'?",warning:!0}).result.then((function(){t.deleteJdbcConfiguration(n).success((function(){e.getSqlConfigurations()})).error((function(e){r.error(getError(e),"Could not delete SQL table")}))}))}}function o(e,n,t,r,o,i,u,s,c,a){e.name=n.search().name||"",e.getNamespaces=function(){p(!0,"Refreshing namespaces","Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first."),s.getRepositoryNamespaces().success((function(n){const t={};n.results.bindings.forEach((function(e){t[e.prefix.value]=e.namespace.value})),e.namespaces=t})).error((function(n){e.repositoryError=getError(n)})).finally((function(){p(!1),m()}))},e.setLoader=p,e.addKnownPrefixes=b,e.page=1,e.noPadding={paddingRight:0,paddingLeft:0},e.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp","Get suggestion..."],e.currentTabConfig={},e.orientationViewMode=!0,e.currentQuery={},e.$watch((function(){return r.getActiveRepository()}),(function(e,t){e!==t&&n.path("jdbc")}));let l=null;e.goBack=function(){l=i((function(){o.history.back()}),1e3)};const f=e.$on("$locationChangeStart",(function(n){!function(n){e.currentQuery.isPristine||(confirm("You have unsaved changes. Are you sure that you want to exit?")?(window.removeEventListener("beforeunload",g),f(),i.cancel(l)):n.preventDefault())}(n)}));function g(n){e.currentQuery.isPristine||(n.returnValue=!0)}window.addEventListener("beforeunload",g),e.$on("$destroy",(function(e){window.removeEventListener("beforeunload",g),f(),i.cancel(l)}));const d={id:"1",name:"",query:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}",inference:!0,sameAs:!0,isNewConfiguration:!0,isPristine:!0};var y;function p(n,t,r){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=n,n?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=t,e.extraMessage=r,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",o.removeClass("hide")),null===e.$$phase&&e.$apply()}function m(){e.tabsData=[e.currentQuery];const n=e.currentQuery;e.currentQuery.query?window.editor.setValue(e.currentQuery.query):window.editor.setValue(" "),i((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),e.canWriteActiveRepo()||(window.editor.options.readOnly=!0)}function w(){e.tabsData=e.tabs=[d],e.currentQuery=angular.copy(d),h(),window.editor&&(e.setQuery(e.currentQuery.query),m()),e.$watch((function(){return e.currentQuery.query}),(function(n,t){n!==t&&e.setDirty()}))}function b(){c.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 n=getError(e);return t.error(n,"Error! Could not add known prefixes"),!0}))}function C(){T()&&u.getColumnNames(e.currentQuery.query).success((function(n){u.getColumnsTypeSuggestion(e.currentQuery.query,n).success((function(t){const r=[];_.forEach(n,(function(e){r.push({column_name:e,column_type:t[e].column_type,nullable:!0,sparql_type:t[e].sparql_type})})),e.currentQuery.columns=r,e.setDirty()})).error((function(e){t.error(getError(e),"Could not suggest column types")}))})).error((function(e){t.error(getError(e),"Could not suggest column names")}))}function h(){2===e.page?e.viewMode="editor":e.viewMode="none"}function Q(e,n,t,r,o){let i=t[r].value;return i=i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+i+"</p>")+"</div>"}function S(){return window.editor&&"SELECT"===window.editor.getQueryType()}function v(){return T()&&function(){if(!e.currentQuery.columns||!e.currentQuery.columns.length)return t.error("Please define at least one column","Invalid columns"),!1;if(e.containsUnknownColumns())return t.error("Please select SQL type for all columns","Invalid columns"),!1;return!0}()}function T(){return!!S()||(t.error("The data query must be a SELECT query","Invalid query"),!1)}e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0,queryType:""}},e.saveTab=function(){},e.setQuery=function(e){window.editor.setValue(e||" ")},e.name?(y=e.name,u.getJdbcConfiguration(y).success((function(e){d.query=e.query,d.name=e.name,d.columns=e.columns,d.isNewConfiguration=!e.name,w()})).error((function(e){const n=getError(e);t.error(n,"Could not get SQL table configuration")}))):w(),e.goToPage=function(n){e.page=n;const t=e.currentQuery.columns;2!==n||t&&0!==t.length||!S()||e.getColumnsSuggestions(),h()},e.save=function(){v()&&(e.currentQuery.name?e.currentQuery.isNewConfiguration?u.createNewJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success("SQL table configuration saved"),e.goBack()})).error((function(e){const n=getError(e);t.error(n,"Could not save SQL table configuration")})):u.updateJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,t.success("SQL table configuration updated"),e.goBack()})).error((function(e){const n=getError(e);t.error(n,"Could not save SQL table configuration")})):t.error("SQL configuration name is required"))},e.hasPrecision=function(e){return"iri"===e||"string"===e||"decimal"===e},e.containsColumnsWithPrecision=function(n){return n&&n.some(n=>e.hasPrecision(n.column_type))},e.hasScale=function(e){return"decimal"===e},e.containsColumnsWithScale=function(n){return n&&n.some(n=>e.hasScale(n.column_type))},e.isLiteral=function(e){return"iri"!==e&&"unknown"!==e},e.containsNonLiteralColumnsOnly=function(n){return n&&n.every(n=>!e.isLiteral(n.column_type))},e.containsUnknownColumns=function(){return e.currentQuery.columns&&e.currentQuery.columns.find(e=>"unknown"===e.column_type)},$("textarea").on("paste",(function(){i((function(){b()}),0)})),e.selectColumnType=function(n,r){const o=_.find(e.currentQuery.columns,(function(e){return e.column_name===n}));"Get suggestion..."===o.column_type&&u.getColumnsTypeSuggestion(e.currentQuery.query,[n]).success((function(e){o.column_type=e[n].column_type,o.column_type===r?t.info("SQL type is the same after suggest: <b>"+o.column_type+"</b>","Suggest SQL type",{allowHtml:!0}):t.success("SQL type set to: <b>"+o.column_type+"</b>","Suggest SQL type",{allowHtml:!0}),o.sparql_type=e[n].sparql_type})).error((function(e){t.error(getError(e),"Could not suggest column type")})),e.setDirty()},e.getColumnsSuggestions=function(){e.currentQuery.columns&&e.currentQuery.columns.length>0?a.openSimpleModal({title:"Warning",message:"Are you sure you want to get suggestions for all columns? This action will overwrite all column type mappings!",warning:!0}).result.then((function(){C()})):C()},e.deleteColumn=function(n,t){a.openSimpleModal({title:"Warning",message:"Are you sure you want to delete the column '"+n+"'?",warning:!0}).result.then((function(){e.currentQuery.columns.splice(t,1),e.setDirty()}))},e.getPreview=function(){if(v()&&(e.executedQueryTab=e.currentQuery,!e.queryIsRunning)){e.currentQuery.outputType="table",e.resetCurrentTabConfig(),p(!0,"Preview of first 100 rows of table "+e.name,"Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first.");const n=function(n,r,o){!function(n,r,o){n.results&&n.results.bindings&&n.results.bindings.length?(window.yasr.plugins.table.options.getCellContent=Q,e.currentTabConfig.queryType="SELECT",window.yasr.setResponse(r,o,null)):t.info("The table definition produced no results","Preview SQL")}(n,o,r),p(!1)},r=function(e){p(!1),t.error(getError(e,0,100),"Could not show preview")};if(e.canWriteActiveRepo()){const t=JSON.stringify({name:e.currentQuery.name,query:e.currentQuery.query,columns:e.currentQuery.columns||[]});u.getNewSqlTablePreview(t).done(n).fail(r)}else u.getExistingSqlTablePreview(e.currentQuery.name).done(n).fail(r)}},e.setDirty=function(){e.currentQuery.isPristine=!1},e.getTypeLabel=function(e){switch(e){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return e.indexOf(" ")>0?e:e.toUpperCase()}}}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",r).controller("JdbcCreateCtrl",o),r.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService"],o.$inject=["$scope","$location","toastr","$repositories","$window","$timeout","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService"]}}]);
2
+ //# sourceMappingURL=38.5fff5c171cdd2563aad1.bundle.js.map