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.
- package/README.md +6 -1
- package/dist/114.282a327015f8ae87918b.bundle.js +1 -1
- package/dist/114.282a327015f8ae87918b.bundle.js.map +1 -1
- package/dist/{12.60db051e76264d3f95b2.bundle.js → 12.5d4da897bdd91e8808fa.bundle.js} +2 -2
- package/dist/12.5d4da897bdd91e8808fa.bundle.js.map +1 -0
- package/dist/13.f62fa8acc6e68826e07a.bundle.js +4 -0
- package/dist/13.f62fa8acc6e68826e07a.bundle.js.map +1 -0
- package/dist/{14.7e9059b5c9c57d952e47.bundle.js → 14.349458c1675f763995a5.bundle.js} +2 -2
- package/dist/{14.7e9059b5c9c57d952e47.bundle.js.map → 14.349458c1675f763995a5.bundle.js.map} +1 -1
- package/dist/{15.02ad5872995df6d6692a.bundle.js → 15.ebce70c05fd90026747b.bundle.js} +2 -2
- package/dist/{15.02ad5872995df6d6692a.bundle.js.map → 15.ebce70c05fd90026747b.bundle.js.map} +1 -1
- package/dist/{17.8bfbe7d08efa149bdb00.bundle.js → 17.f01afdf3b3892d73a3fe.bundle.js} +2 -2
- package/dist/{17.8bfbe7d08efa149bdb00.bundle.js.map → 17.f01afdf3b3892d73a3fe.bundle.js.map} +1 -1
- package/dist/{18.5514f95535bdd2a71d6e.bundle.js → 18.10f65755b64a6534289e.bundle.js} +2 -2
- package/dist/{18.5514f95535bdd2a71d6e.bundle.js.map → 18.10f65755b64a6534289e.bundle.js.map} +1 -1
- package/dist/{21.e75213686a349ae7df89.bundle.js → 21.b6bf0d54a846411501c7.bundle.js} +2 -2
- package/dist/{21.e75213686a349ae7df89.bundle.js.map → 21.b6bf0d54a846411501c7.bundle.js.map} +1 -1
- package/dist/22.e8167eba683605211409.bundle.js +2 -0
- package/dist/22.e8167eba683605211409.bundle.js.map +1 -0
- package/dist/{23.32f2701680565c5d107b.bundle.js → 23.e3ca5b7bb2cee4f9467f.bundle.js} +3 -3
- package/dist/{23.32f2701680565c5d107b.bundle.js.map → 23.e3ca5b7bb2cee4f9467f.bundle.js.map} +1 -1
- package/dist/{24.8dd957168a8be963b393.bundle.js → 24.d5ea0f435b896dc12709.bundle.js} +2 -2
- package/dist/{24.8dd957168a8be963b393.bundle.js.map → 24.d5ea0f435b896dc12709.bundle.js.map} +1 -1
- package/dist/{25.cbe8e59c80330ff6e706.bundle.js → 25.5b3feb79a7be0ca1f4ad.bundle.js} +2 -2
- package/dist/{25.cbe8e59c80330ff6e706.bundle.js.map → 25.5b3feb79a7be0ca1f4ad.bundle.js.map} +1 -1
- package/dist/26.c4983d9f3009f41beb11.bundle.js +2 -0
- package/dist/26.c4983d9f3009f41beb11.bundle.js.map +1 -0
- package/dist/{26.67154910989ca1f563ec.bundle.js → 27.04085d1d15db39ca4a36.bundle.js} +2 -2
- package/dist/{26.67154910989ca1f563ec.bundle.js.map → 27.04085d1d15db39ca4a36.bundle.js.map} +1 -1
- package/dist/{28.b1c15ce7633c501836c5.bundle.js → 28.57b84065ebe40bb45f72.bundle.js} +2 -2
- package/dist/{28.b1c15ce7633c501836c5.bundle.js.map → 28.57b84065ebe40bb45f72.bundle.js.map} +1 -1
- package/dist/{29.66259b8a21bbb5431a06.bundle.js → 29.959ae6b366d15d0ddea9.bundle.js} +2 -2
- package/dist/{29.66259b8a21bbb5431a06.bundle.js.map → 29.959ae6b366d15d0ddea9.bundle.js.map} +1 -1
- package/dist/{3.9eb2c7cced9d8b971c99.bundle.js → 3.26d967229917c7c5cdfb.bundle.js} +2 -2
- package/dist/{3.9eb2c7cced9d8b971c99.bundle.js.map → 3.26d967229917c7c5cdfb.bundle.js.map} +1 -1
- package/dist/{31.d810abed46d7c73ade7f.bundle.js → 31.c808da656c9ee6b7e84e.bundle.js} +2 -2
- package/dist/{31.d810abed46d7c73ade7f.bundle.js.map → 31.c808da656c9ee6b7e84e.bundle.js.map} +1 -1
- package/dist/{32.4f4c8e24d97a9d315335.bundle.js → 32.92b02260015995b4f777.bundle.js} +2 -2
- package/dist/{32.4f4c8e24d97a9d315335.bundle.js.map → 32.92b02260015995b4f777.bundle.js.map} +1 -1
- package/dist/{33.c670eeb3a325251e141f.bundle.js → 33.479162c943ca9a1982aa.bundle.js} +2 -2
- package/dist/{33.c670eeb3a325251e141f.bundle.js.map → 33.479162c943ca9a1982aa.bundle.js.map} +1 -1
- package/dist/{35.b9183a8ffba2bbd8daa1.bundle.js → 35.9c81c96cc1621f9468aa.bundle.js} +2 -2
- package/dist/{35.b9183a8ffba2bbd8daa1.bundle.js.map → 35.9c81c96cc1621f9468aa.bundle.js.map} +1 -1
- package/dist/{36.d444f7ad7724d126da1c.bundle.js → 36.cee947247d32cdcec00e.bundle.js} +2 -2
- package/dist/{36.d444f7ad7724d126da1c.bundle.js.map → 36.cee947247d32cdcec00e.bundle.js.map} +1 -1
- package/dist/{37.e82ed70c9f1ccac1fa36.bundle.js → 37.42e443af5752a63a28fe.bundle.js} +2 -2
- package/dist/{37.e82ed70c9f1ccac1fa36.bundle.js.map → 37.42e443af5752a63a28fe.bundle.js.map} +1 -1
- package/dist/{38.93c5a81548a3294efd9d.bundle.js → 38.5fff5c171cdd2563aad1.bundle.js} +2 -2
- package/dist/{38.93c5a81548a3294efd9d.bundle.js.map → 38.5fff5c171cdd2563aad1.bundle.js.map} +1 -1
- package/dist/{39.30dddbc6461137994eb4.bundle.js → 39.91c49550b6e2d11104fa.bundle.js} +2 -2
- package/dist/{39.30dddbc6461137994eb4.bundle.js.map → 39.91c49550b6e2d11104fa.bundle.js.map} +1 -1
- package/dist/4.786e6f1de67e5c6289a3.bundle.js +2 -0
- package/dist/4.786e6f1de67e5c6289a3.bundle.js.map +1 -0
- package/dist/{40.ae6db480b8323937451c.bundle.js → 40.a7e0220eb0c8a125abde.bundle.js} +2 -2
- package/dist/{40.ae6db480b8323937451c.bundle.js.map → 40.a7e0220eb0c8a125abde.bundle.js.map} +1 -1
- package/dist/41.1258b9502ba9383894d7.bundle.js +2 -0
- package/dist/{41.ba8cb2fb7f46ccb2ab28.bundle.js.map → 41.1258b9502ba9383894d7.bundle.js.map} +1 -1
- package/dist/{43.8d096939ee87946076e0.bundle.js → 43.86f9220f4f79feec5b27.bundle.js} +2 -2
- package/dist/{43.8d096939ee87946076e0.bundle.js.map → 43.86f9220f4f79feec5b27.bundle.js.map} +1 -1
- package/dist/{47.92a64d48c14c1ae82934.bundle.js → 47.fca0edd51becf34c06b7.bundle.js} +2 -2
- package/dist/{47.92a64d48c14c1ae82934.bundle.js.map → 47.fca0edd51becf34c06b7.bundle.js.map} +1 -1
- package/dist/{48.4b57a948edab2d3b9c55.bundle.js → 48.e495edf3c48e1b2fc052.bundle.js} +2 -2
- package/dist/{48.4b57a948edab2d3b9c55.bundle.js.map → 48.e495edf3c48e1b2fc052.bundle.js.map} +1 -1
- package/dist/{53.4b8ed1b79c1c20cdadd4.bundle.js → 53.c29678970b0cb8aa4b47.bundle.js} +2 -2
- package/dist/{53.4b8ed1b79c1c20cdadd4.bundle.js.map → 53.c29678970b0cb8aa4b47.bundle.js.map} +1 -1
- package/dist/{55.751acc0e54255fa3ace7.bundle.js → 55.427172af3ba7612f747a.bundle.js} +2 -2
- package/dist/{55.751acc0e54255fa3ace7.bundle.js.map → 55.427172af3ba7612f747a.bundle.js.map} +1 -1
- package/dist/{57.677c1eebf6a003639fff.bundle.js → 57.41b09f5fa3ee623aab83.bundle.js} +2 -2
- package/dist/{57.677c1eebf6a003639fff.bundle.js.map → 57.41b09f5fa3ee623aab83.bundle.js.map} +1 -1
- package/dist/{58.2c460e480eefb1a02aea.bundle.js → 58.ce5a29dded68f58c53b4.bundle.js} +2 -2
- package/dist/{58.2c460e480eefb1a02aea.bundle.js.map → 58.ce5a29dded68f58c53b4.bundle.js.map} +1 -1
- package/dist/{59.b8e9155530acba27a6fa.bundle.js → 59.10efdeff3a8ef9e5733d.bundle.js} +2 -2
- package/dist/{59.b8e9155530acba27a6fa.bundle.js.map → 59.10efdeff3a8ef9e5733d.bundle.js.map} +1 -1
- package/dist/{60.27e731a670680751538c.bundle.js → 60.97fb695857f6241ae612.bundle.js} +2 -2
- package/dist/{60.27e731a670680751538c.bundle.js.map → 60.97fb695857f6241ae612.bundle.js.map} +1 -1
- package/dist/{61.fce8a2436742c2e20032.bundle.js → 61.5d71ec3fe0cda230482b.bundle.js} +2 -2
- package/dist/{61.fce8a2436742c2e20032.bundle.js.map → 61.5d71ec3fe0cda230482b.bundle.js.map} +1 -1
- package/dist/{62.9e101a1894ee0f9a48be.bundle.js → 62.d53d104f74f9fbdacb35.bundle.js} +2 -2
- package/dist/{62.9e101a1894ee0f9a48be.bundle.js.map → 62.d53d104f74f9fbdacb35.bundle.js.map} +1 -1
- package/dist/{63.3ffdfd6f35fe62ea729c.bundle.js → 63.46514dd9cf756bd0e831.bundle.js} +2 -2
- package/dist/{63.3ffdfd6f35fe62ea729c.bundle.js.map → 63.46514dd9cf756bd0e831.bundle.js.map} +1 -1
- package/dist/{65.96a1f2f3c83a29e2c6c3.bundle.js → 65.401f44aaddb8aec6be1e.bundle.js} +2 -2
- package/dist/{65.96a1f2f3c83a29e2c6c3.bundle.js.map → 65.401f44aaddb8aec6be1e.bundle.js.map} +1 -1
- package/dist/{66.cf37216fb6f8e53cef2b.bundle.js → 66.7a1e4093247d23b65387.bundle.js} +2 -2
- package/dist/{66.cf37216fb6f8e53cef2b.bundle.js.map → 66.7a1e4093247d23b65387.bundle.js.map} +1 -1
- package/dist/{69.60ff11762016829be80d.bundle.js → 69.1944a1afebe9115c9262.bundle.js} +2 -2
- package/dist/{69.60ff11762016829be80d.bundle.js.map → 69.1944a1afebe9115c9262.bundle.js.map} +1 -1
- package/dist/{70.f86421bf02a9bfda5b95.bundle.js → 70.84500509fe2b0d19ab93.bundle.js} +2 -2
- package/dist/{70.f86421bf02a9bfda5b95.bundle.js.map → 70.84500509fe2b0d19ab93.bundle.js.map} +1 -1
- package/dist/{76.fa9e5d02f7e1367b9b29.bundle.js → 76.2fa18e115678c4e24682.bundle.js} +2 -2
- package/dist/{76.fa9e5d02f7e1367b9b29.bundle.js.map → 76.2fa18e115678c4e24682.bundle.js.map} +1 -1
- package/dist/{8.66013fc0c58811b51903.bundle.js → 8.7209929899c18f8a4580.bundle.js} +2 -2
- package/dist/{8.66013fc0c58811b51903.bundle.js.map → 8.7209929899c18f8a4580.bundle.js.map} +1 -1
- package/dist/{80.37504cf0c1e5ad897478.bundle.js → 80.83e56da7d7a69fc34eed.bundle.js} +2 -2
- package/dist/{80.37504cf0c1e5ad897478.bundle.js.map → 80.83e56da7d7a69fc34eed.bundle.js.map} +1 -1
- package/dist/{82.9b4d4dc326055aa47e04.bundle.js → 82.74d50036c210cb10b7f5.bundle.js} +2 -2
- package/dist/{82.9b4d4dc326055aa47e04.bundle.js.map → 82.74d50036c210cb10b7f5.bundle.js.map} +1 -1
- package/dist/{84.fab513b88806deb0981a.bundle.js → 84.7f42dd9d7dc01baaf465.bundle.js} +2 -2
- package/dist/{84.fab513b88806deb0981a.bundle.js.map → 84.7f42dd9d7dc01baaf465.bundle.js.map} +1 -1
- package/dist/{86.b319a8b9fcabecd7a6c7.bundle.js → 86.581cbc54b6c6b6ea9f19.bundle.js} +2 -2
- package/dist/{86.b319a8b9fcabecd7a6c7.bundle.js.map → 86.581cbc54b6c6b6ea9f19.bundle.js.map} +1 -1
- package/dist/{87.765567c0cbe89cbdb03c.bundle.js → 87.3606797303ead8dc2879.bundle.js} +2 -2
- package/dist/{87.765567c0cbe89cbdb03c.bundle.js.map → 87.3606797303ead8dc2879.bundle.js.map} +1 -1
- package/dist/{88.50c46652774325bffad3.bundle.js → 88.f5b8f83e57c9bea3c137.bundle.js} +2 -2
- package/dist/{88.50c46652774325bffad3.bundle.js.map → 88.f5b8f83e57c9bea3c137.bundle.js.map} +1 -1
- package/dist/{89.91c58e1902b0f444b068.bundle.js → 89.f9b4c4ddff2c0b5b70f7.bundle.js} +2 -2
- package/dist/{89.91c58e1902b0f444b068.bundle.js.map → 89.f9b4c4ddff2c0b5b70f7.bundle.js.map} +1 -1
- package/dist/{9.16a945b967e9a52bf535.bundle.js → 9.6a95a5c1eec963050422.bundle.js} +2 -2
- package/dist/{9.16a945b967e9a52bf535.bundle.js.map → 9.6a95a5c1eec963050422.bundle.js.map} +1 -1
- package/dist/{90.e12e77898d6341e59d8f.bundle.js → 90.4d42ba583fbc1d63d3d2.bundle.js} +2 -2
- package/dist/{90.e12e77898d6341e59d8f.bundle.js.map → 90.4d42ba583fbc1d63d3d2.bundle.js.map} +1 -1
- package/dist/95.1f83b03f48326a6cec45.bundle.js +2 -0
- package/dist/{95.decfcd3477dee353025b.bundle.js.map → 95.1f83b03f48326a6cec45.bundle.js.map} +1 -1
- package/dist/{bundle.e787556c9b592367c35c.bundle.js → bundle.1a982e7b3e2d9d06a802.bundle.js} +5 -5
- package/dist/{bundle.e787556c9b592367c35c.bundle.js.map → bundle.1a982e7b3e2d9d06a802.bundle.js.map} +1 -1
- package/dist/index.html +3 -3
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/clusterInfo.html +1 -1
- package/dist/pages/create-index.html +4 -4
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +11 -11
- package/dist/pages/graphs-visualizations.html +14 -8
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +5 -5
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +2 -2
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +2 -2
- package/dist/pages/repository.html +2 -2
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-template-create.html +5 -5
- package/dist/pages/sparql.html +3 -3
- package/dist/pages/webapi.html +2 -2
- package/dist/res/swagger/index.html +25 -25
- package/package.json +1 -1
- package/dist/12.60db051e76264d3f95b2.bundle.js.map +0 -1
- package/dist/13.1419a81a33174950a34c.bundle.js +0 -4
- package/dist/13.1419a81a33174950a34c.bundle.js.map +0 -1
- package/dist/22.a3b52347055f1adac9ce.bundle.js +0 -2
- package/dist/22.a3b52347055f1adac9ce.bundle.js.map +0 -1
- package/dist/27.61bd08d0e926fe471a91.bundle.js +0 -2
- package/dist/27.61bd08d0e926fe471a91.bundle.js.map +0 -1
- package/dist/4.6a8bdb4c9048dd910bfd.bundle.js +0 -2
- package/dist/4.6a8bdb4c9048dd910bfd.bundle.js.map +0 -1
- package/dist/41.ba8cb2fb7f46ccb2ab28.bundle.js +0 -2
- package/dist/95.decfcd3477dee353025b.bundle.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{
|
|
2
|
-
//# sourceMappingURL=69.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{69:function(e,a,s){"use strict";s.r(a);s(2),s(9),s(8),s(10);const c=angular.module("graphdb.framework.namespaces.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.core.services.jwtauth","graphdb.framework.rest.repositories.service","graphdb.framework.rest.rdf4j.repositories.service","toastr"]),n=function(){const e="[A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]",a="[A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|_|-|[0-9]|·|[̀-ͯ]|[‿-⁀]";return new RegExp("^(?:"+e+")(?:(?:"+a+"|\\.)*(?:"+a+"))?$")}();c.controller("NamespacesCtrl",["$scope","$http","$repositories","toastr","$modal","ModalService","RepositoriesRestService","RDF4JRepositoriesRestService",function(e,a,s,c,t,r,o,i){function p(a,n){let t;t="object"==typeof a?a.prefix:a,i.deleteNamespacePrefix(s.getActiveRepository(),t).success((function(){n&&n.length>0?p(a=n.shift(),n):(e.selectedAll=!1,e.namespace={},e.getNamespaces(),e.searchNamespaces="",e.haveSelected=!1,e.loader=!1,e.displayedNamespaces=[],void 0===n?c.success("Namespace with prefix '"+t+"' was deleted successfully.",""):c.success("Selected namespaces were deleted successfully.",""))})).error((function(a){const s=getError(a);c.error(s,"Error"),e.loader=!1}))}function l(e,a){return function(e){return""===e||e.match(n)}(e)?!angular.isUndefined(a)&&""!==a||(c.error("Please provide namespace.","Error"),!1):(c.error("Invalid prefix: "+e,"Error"),!1)}e.namespaces={},e.namespace={},e.loader=!1,e.haveSelected=!1,e.pageSizeOptions=[10,20,50,100],e.page=1,e.pageSize=e.pageSizeOptions[0],e.displayedNamespaces=[],e.getNamespaces=function(){s.getActiveRepository()&&(e.loader=!0,e.namespaces={},i.getNamespaces(s.getActiveRepository()).success((function(a){e.namespaces=a.results.bindings.map((function(e){return{prefix:e.prefix.value,namespace:e.namespace.value}})),e.namespaces.length>0&&(e.namespaces.sort((function(e,a){const s=e.prefix.toUpperCase(),c=a.prefix.toUpperCase();return s<c?-1:s>c?1:0})),e.matchedElements=e.namespaces,e.changePagination()),0===e.namespaces.length&&(e.loader=!1)})).error((function(a){const s=getError(a);c.error(s),e.loader=!1})))},e.changePagination=function(){angular.isDefined(e.namespaces)&&(e.displayedNamespaces=e.namespaces.slice(e.pageSize*(e.page-1),e.pageSize*e.page))},e.changePageSize=function(a){$(".ot-graph-page-size").removeClass("active"),e.page=1,e.searchNamespaces="",a&&(e.getNamespaces(),e.pageSize=a)},e.$watch("matchedElements",(function(){angular.isDefined(e.matchedElements)&&(e.displayedNamespaces=e.matchedElements.slice(e.pageSize*(e.page-1),e.pageSize*e.page))})),e.$watch((function(){return s.getActiveRepository()}),(function(){e.searchNamespaces="",e.getNamespaces(),e.selectedAll=!1})),e.onNamespaceSearch=function(){e.haveSelected=!1,e.selectedAll=!1,e.matchedElements=[],e.deselectAll(),e.filterResults()},e.filterResults=function(){angular.forEach(e.namespaces,(function(a){-1===a.namespace.indexOf(e.searchNamespaces)&&-1===a.prefix.indexOf(e.searchNamespaces)||e.matchedElements.push(a)}))},e.saveNamespace=function(a,n){return e.loader=!0,i.updateNamespacePrefix(s.getActiveRepository(),n,a).success((function(){e.getNamespaces(),e.loader=!1})).error((function(a){const s=getError(a);c.error(s,"Error"),e.loader=!1}))},e.editPrefix=function(a,n){e.loader=!0,o.getPrefix(s.getActiveRepository(),{from:a,to:n}).success((function(){e.getNamespaces(),e.loader=!1})).error((function(a){const s=getError(a);c.error(s,"Error"),e.loader=!1}))},e.confirmReplace=function(e,a){r.openSimpleModal({title:"Confirm replace",message:"This namespace prefix already exists. Do you want to replace it?",warning:!0}).result.then(e,a)},e.editPrefixAndNamespace=function(a,s,c){if(angular.isUndefined(a)&&(a=""),!l(a,s))return"";let n=!1;const t=c.prefix;angular.forEach(e.namespaces,(function(e){e.prefix===a&&t!==a&&(n=!0)})),n?e.confirmReplace((function(){e.saveNamespace(t,s).then((function(){t!==a&&e.editPrefix(t,a)}))}),(function(){e.getNamespaces()})):angular.isDefined(n)&&e.saveNamespace(t,s).then((function(){t!==a&&e.editPrefix(t,a)}))},e.addNamespace=function(){if(angular.isUndefined(e.namespace.prefix)&&(e.namespace.prefix=""),!l(e.namespace.prefix,e.namespace.namespace))return;e.selectedAll=!1;let a=!1;for(let s=0;s<e.namespaces.length;s++)e.namespaces[s].prefix===e.namespace.prefix&&(a=!0);a?e.confirmReplace((function(){e.saveNamespace(e.namespace.prefix,e.namespace.namespace),e.namespace={}})):(e.saveNamespace(e.namespace.prefix,e.namespace.namespace),e.namespace={})},e.removeNamespace=function(e){r.openSimpleModal({title:"Confirm delete",message:"Are you sure you want to delete the namespace '"+e.prefix+"'?",warning:!0}).result.then((function(){p(e)}))},e.checkAll=function(){angular.forEach(e.displayedNamespaces,(function(a){a.selected=e.selectedAll}))},e.deleteSelected=function(){let a=!1;angular.forEach(e.displayedNamespaces,(function(s){a||s.selected&&(a=!0,r.openSimpleModal({title:"Confirm delete",message:"Are you sure you want to delete the selected namespace(s)?",warning:!0}).result.then((function(){e.loader=!0;const a=[];angular.forEach(e.displayedNamespaces,(function(e){e.selected&&a.push(e)})),p(a.shift(),a),e.selectedAll=!1}),(function(){e.getNamespaces(),e.selectedAll=!1,e.searchNamespaces=""})))}))},e.checkIfSelectedNamespace=function(){e.haveSelected=!1,angular.forEach(e.namespaces,(function(a){a.selected&&(e.haveSelected=!0)}))},e.deselectAll=function(){angular.forEach(e.namespaces,(function(e){e.selected=!1}))}}]),c.controller("StandartModalCtrl",["$scope","$modalInstance",function(e,a){e.ok=function(){a.close(!0)},e.cancel=function(){a.dismiss("cancel")}}])}}]);
|
|
2
|
+
//# sourceMappingURL=69.1944a1afebe9115c9262.bundle.js.map
|
package/dist/{69.60ff11762016829be80d.bundle.js.map → 69.1944a1afebe9115c9262.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/namespaces/controllers.js"],"names":["namespaces","angular","module","pnPrefixRe","pnCharsBase","pnChars","pnCharsU","RegExp","controller","$scope","$http","$repositories","toastr","$modal","ModalService","RepositoriesRestService","RDF4JRepositoriesRestService","deleteNamespace","namespace","prefix","deleteNamespacePrefix","getActiveRepository","success","length","shift","selectedAll","getNamespaces","searchNamespaces","haveSelected","loader","displayedNamespaces","undefined","error","data","msg","getError","validatePrefixAndNamespace","match","validatePrefix","isUndefined","pageSizeOptions","page","pageSize","results","bindings","map","e","value","sort","a","b","prefixA","toUpperCase","prefixB","matchedElements","changePagination","isDefined","slice","changePageSize","size","$","removeClass","$watch","onNamespaceSearch","deselectAll","filterResults","forEach","item","indexOf","push","saveNamespace","updateNamespacePrefix","editPrefix","oldPrefix","newPrefix","getPrefix","from","to","confirmReplace","okCallback","cancelCallback","openSimpleModal","title","message","warning","result","then","editPrefixAndNamespace","namespaceObject","prefixExist","elem","addNamespace","i","removeNamespace","checkAll","selected","deleteSelected","modalInstanceOpened","checkIfSelectedNamespace","$modalInstance","ok","close","cancel","dismiss"],"mappings":"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","file":"69.60ff11762016829be80d.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/core/services/repositories.service';\nimport 'angular/rest/rdf4j.repositories.rest.service';\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.rest.repositories.service',\n 'graphdb.framework.rest.rdf4j.repositories.service',\n 'toastr'\n];\n\nconst namespaces = angular.module('graphdb.framework.namespaces.controllers', modules);\n\n// A regular expression that validates a prefix according to the SPARQL 1.1 specification.\n// XXX: Technically this should include Unicode chars > 0xFFFF but those aren't fully supported in JavaScript\nconst pnPrefixRe = function () {\n const pnCharsBase = '[A-Z]|[a-z]|[\\u00C0-\\u00D6]|[\\u00D8-\\u00F6]|[\\u00F8-\\u02FF]|[\\u0370-\\u037D]'\n + '|[\\u037F-\\u1FFF]|[\\u200C-\\u200D]|[\\u2070-\\u218F]|[\\u2C00-\\u2FEF]|[\\u3001-\\uD7FF]'\n + '|[\\uF900-\\uFDCF]|[\\uFDF0-\\uFFFD]';\n const pnCharsU = pnCharsBase + '|_';\n const pnChars = pnCharsU + '|-|[0-9]|\\u00B7|[\\u0300-\\u036F]|[\\u203F-\\u2040]';\n\n return new RegExp('^(?:' + pnCharsBase + ')(?:(?:' + pnChars + '|\\\\.)*(?:' + pnChars + '))?$');\n}();\n\nfunction validatePrefix(prefix) {\n return prefix === '' || prefix.match(pnPrefixRe);\n}\n\nnamespaces.controller('NamespacesCtrl', ['$scope', '$http', '$repositories', 'toastr', '$modal', 'ModalService', 'RepositoriesRestService', 'RDF4JRepositoriesRestService',\n function ($scope, $http, $repositories, toastr, $modal, ModalService, RepositoriesRestService, RDF4JRepositoriesRestService) {\n $scope.namespaces = {};\n $scope.namespace = {};\n $scope.loader = false;\n $scope.haveSelected = false;\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.page = 1;\n $scope.pageSize = $scope.pageSizeOptions[0];\n $scope.displayedNamespaces = [];\n\n $scope.getNamespaces = function () {\n if (!$repositories.getActiveRepository()) {\n return;\n }\n\n $scope.loader = true;\n $scope.namespaces = {};\n RDF4JRepositoriesRestService.getNamespaces($repositories.getActiveRepository())\n .success(function (data) {\n $scope.namespaces = data.results.bindings.map(function (e) {\n return {\n prefix: e.prefix.value,\n namespace: e.namespace.value\n };\n });\n if ($scope.namespaces.length > 0) {\n $scope.namespaces.sort(function (a, b) {\n const prefixA = a.prefix.toUpperCase(); // ignore upper and lowercase\n const prefixB = b.prefix.toUpperCase(); // ignore upper and lowercase\n if (prefixA < prefixB) {\n return -1;\n }\n if (prefixA > prefixB) {\n return 1;\n }\n return 0;\n });\n $scope.matchedElements = $scope.namespaces;\n $scope.changePagination();\n }\n if ($scope.namespaces.length === 0) {\n // Remove the loader ourselves\n $scope.loader = false;\n } // else let the loaderPostRepeatDirective do it\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg);\n $scope.loader = false;\n });\n };\n\n $scope.changePagination = function () {\n if (angular.isDefined($scope.namespaces)) {\n $scope.displayedNamespaces = $scope.namespaces.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $('.ot-graph-page-size').removeClass('active');\n $scope.page = 1;\n $scope.searchNamespaces = '';\n if (size) {\n $scope.getNamespaces();\n $scope.pageSize = size;\n }\n };\n\n $scope.$watch('matchedElements', function () {\n if (angular.isDefined($scope.matchedElements)) {\n $scope.displayedNamespaces = $scope.matchedElements.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n });\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.searchNamespaces = '';\n $scope.getNamespaces();\n $scope.selectedAll = false;\n });\n\n $scope.onNamespaceSearch = function() {\n $scope.haveSelected = false;\n $scope.selectedAll = false;\n $scope.matchedElements = [];\n $scope.deselectAll();\n $scope.filterResults();\n };\n\n $scope.filterResults = function() {\n angular.forEach($scope.namespaces, function (item) {\n if (item.namespace.indexOf($scope.searchNamespaces) !== -1 || item.prefix.indexOf($scope.searchNamespaces) !== -1) {\n $scope.matchedElements.push(item);\n }\n });\n };\n\n $scope.saveNamespace = function (prefix, namespace) {\n $scope.loader = true;\n return RDF4JRepositoriesRestService.updateNamespacePrefix($repositories.getActiveRepository(), namespace, prefix)\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, 'Error');\n $scope.loader = false;\n });\n };\n\n $scope.editPrefix = function (oldPrefix, newPrefix) {\n $scope.loader = true;\n RepositoriesRestService.getPrefix($repositories.getActiveRepository(), {from: oldPrefix, to: newPrefix})\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, 'Error');\n $scope.loader = false;\n });\n };\n\n $scope.confirmReplace = function (okCallback, cancelCallback) {\n ModalService.openSimpleModal({\n title: 'Confirm replace',\n message: 'This namespace prefix already exists. Do you want to replace it?',\n warning: true\n }).result.then(okCallback, cancelCallback);\n };\n\n $scope.editPrefixAndNamespace = function (prefix, namespace, namespaceObject) {\n if (angular.isUndefined(prefix)) {\n prefix = '';\n }\n\n if (!validatePrefixAndNamespace(prefix, namespace)) {\n return '';\n }\n\n let prefixExist = false;\n const oldPrefix = namespaceObject.prefix;\n angular.forEach($scope.namespaces, function (elem) {\n if (elem.prefix === prefix && oldPrefix !== prefix) {\n prefixExist = true;\n }\n });\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }, function () {\n $scope.getNamespaces();\n });\n } else if (angular.isDefined(prefixExist)) {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }\n };\n\n $scope.addNamespace = function () {\n if (angular.isUndefined($scope.namespace.prefix)) {\n $scope.namespace.prefix = '';\n }\n\n if (!validatePrefixAndNamespace($scope.namespace.prefix, $scope.namespace.namespace)) {\n return;\n }\n\n $scope.selectedAll = false;\n let prefixExist = false;\n for (let i = 0; i < $scope.namespaces.length; i++) {\n if ($scope.namespaces[i].prefix === $scope.namespace.prefix) {\n prefixExist = true;\n }\n }\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n });\n } else {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n }\n };\n\n $scope.removeNamespace = function (namespace) {\n ModalService.openSimpleModal({\n title: 'Confirm delete',\n message: 'Are you sure you want to delete the namespace \\'' + namespace.prefix + '\\'?',\n warning: true\n }).result.then(function () {\n deleteNamespace(namespace);\n });\n };\n\n $scope.checkAll = function () {\n angular.forEach($scope.displayedNamespaces, function (item) {\n item.selected = $scope.selectedAll;\n });\n };\n\n $scope.deleteSelected = function () {\n const openModalInstance = function () {\n ModalService.openSimpleModal({\n title: 'Confirm delete',\n message: 'Are you sure you want to delete the selected namespace(s)?',\n warning: true\n }).result.then(function () {\n $scope.loader = true;\n const namespaces = [];\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (namespace.selected) {\n namespaces.push(namespace);\n }\n });\n deleteNamespace(namespaces.shift(), namespaces);\n $scope.selectedAll = false;\n }, function () {\n $scope.getNamespaces();\n $scope.selectedAll = false;\n $scope.searchNamespaces = '';\n });\n };\n\n let modalInstanceOpened = false;\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (!modalInstanceOpened) {\n if (namespace.selected) {\n modalInstanceOpened = true;\n openModalInstance();\n }\n }\n });\n };\n\n function deleteNamespace(namespace, namespaces) {\n let prefix;\n if (typeof namespace === 'object') {\n prefix = namespace.prefix;\n } else {\n prefix = namespace;\n }\n RDF4JRepositoriesRestService.deleteNamespacePrefix($repositories.getActiveRepository(), prefix)\n .success(function () {\n if (namespaces && namespaces.length > 0) {\n namespace = namespaces.shift();\n deleteNamespace(namespace, namespaces);\n } else {\n $scope.selectedAll = false;\n $scope.namespace = {};\n $scope.getNamespaces();\n $scope.searchNamespaces = '';\n $scope.haveSelected = false;\n $scope.loader = false;\n $scope.displayedNamespaces = [];\n if (namespaces === undefined) {\n toastr.success('Namespace with prefix \\'' + prefix + '\\' was deleted successfully.', '');\n } else {\n toastr.success('Selected namespaces were deleted successfully.', '');\n }\n }\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, 'Error');\n $scope.loader = false;\n });\n }\n\n $scope.checkIfSelectedNamespace = function () {\n $scope.haveSelected = false;\n angular.forEach($scope.namespaces, function (item) {\n if (item.selected) {\n $scope.haveSelected = true;\n }\n });\n };\n\n $scope.deselectAll = function () {\n angular.forEach($scope.namespaces, function (item) {\n item.selected = false;\n });\n };\n\n function validatePrefixAndNamespace(prefix, namespace) {\n if (!validatePrefix(prefix)) {\n toastr.error('Invalid prefix: ' + prefix, 'Error');\n return false;\n }\n\n if (angular.isUndefined(namespace) || namespace === '') {\n toastr.error('Please provide namespace.', 'Error');\n return false;\n }\n\n return true;\n }\n }]);\n\nnamespaces.controller('StandartModalCtrl', ['$scope', '$modalInstance', function ($scope, $modalInstance) {\n\n $scope.ok = function () {\n const result = true;\n $modalInstance.close(result);\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/namespaces/controllers.js"],"names":["namespaces","angular","module","pnPrefixRe","pnCharsBase","pnChars","pnCharsU","RegExp","controller","$scope","$http","$repositories","toastr","$modal","ModalService","RepositoriesRestService","RDF4JRepositoriesRestService","deleteNamespace","namespace","prefix","deleteNamespacePrefix","getActiveRepository","success","length","shift","selectedAll","getNamespaces","searchNamespaces","haveSelected","loader","displayedNamespaces","undefined","error","data","msg","getError","validatePrefixAndNamespace","match","validatePrefix","isUndefined","pageSizeOptions","page","pageSize","results","bindings","map","e","value","sort","a","b","prefixA","toUpperCase","prefixB","matchedElements","changePagination","isDefined","slice","changePageSize","size","$","removeClass","$watch","onNamespaceSearch","deselectAll","filterResults","forEach","item","indexOf","push","saveNamespace","updateNamespacePrefix","editPrefix","oldPrefix","newPrefix","getPrefix","from","to","confirmReplace","okCallback","cancelCallback","openSimpleModal","title","message","warning","result","then","editPrefixAndNamespace","namespaceObject","prefixExist","elem","addNamespace","i","removeNamespace","checkAll","selected","deleteSelected","modalInstanceOpened","checkIfSelectedNamespace","$modalInstance","ok","close","cancel","dismiss"],"mappings":"0FAAA,4BAKA,MASMA,EAAaC,QAAQC,OAAO,2CATlB,CACZ,eACA,+CACA,0CACA,8CACA,oDACA,WAOEC,EAAa,WACf,MAAMC,EAAc,gFAIdC,EAAUC,wGAEhB,OAAO,IAAIC,OAAO,OAASH,EAAc,UAAYC,EAAU,YAAcA,EAAU,QAPxE,GAcnBL,EAAWQ,WAAW,iBAAkB,CAAC,SAAU,QAAS,gBAAiB,SAAU,SAAU,eAAgB,0BAA2B,+BACxI,SAAUC,EAAQC,EAAOC,EAAeC,EAAQC,EAAQC,EAAcC,EAAyBC,GAmP3F,SAASC,EAAgBC,EAAWlB,GAChC,IAAImB,EAEAA,EADqB,iBAAdD,EACEA,EAAUC,OAEVD,EAEbF,EAA6BI,sBAAsBT,EAAcU,sBAAuBF,GACnFG,SAAQ,WACDtB,GAAcA,EAAWuB,OAAS,EAElCN,EADAC,EAAYlB,EAAWwB,QACIxB,IAE3BS,EAAOgB,aAAc,EACrBhB,EAAOS,UAAY,GACnBT,EAAOiB,gBACPjB,EAAOkB,iBAAmB,GAC1BlB,EAAOmB,cAAe,EACtBnB,EAAOoB,QAAS,EAChBpB,EAAOqB,oBAAsB,QACVC,IAAf/B,EACAY,EAAOU,QAAQ,0BAA6BH,EAAS,8BAAgC,IAErFP,EAAOU,QAAQ,iDAAkD,QAG1EU,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBrB,EAAOoB,MAAME,EAAK,SAClBzB,EAAOoB,QAAS,KAmB5B,SAASO,EAA2BjB,EAAQD,GACxC,OAzSZ,SAAwBC,GACpB,MAAkB,KAAXA,GAAiBA,EAAOkB,MAAMlC,GAwSxBmC,CAAenB,IAKhBlB,QAAQsC,YAAYrB,IAA4B,KAAdA,IAClCN,EAAOoB,MAAM,4BAA6B,UACnC,IANPpB,EAAOoB,MAAM,mBAAqBb,EAAQ,UACnC,GArSfV,EAAOT,WAAa,GACpBS,EAAOS,UAAY,GACnBT,EAAOoB,QAAS,EAChBpB,EAAOmB,cAAe,EACtBnB,EAAO+B,gBAAkB,CAAC,GAAI,GAAI,GAAI,KACtC/B,EAAOgC,KAAO,EACdhC,EAAOiC,SAAWjC,EAAO+B,gBAAgB,GACzC/B,EAAOqB,oBAAsB,GAE7BrB,EAAOiB,cAAgB,WACdf,EAAcU,wBAInBZ,EAAOoB,QAAS,EAChBpB,EAAOT,WAAa,GACpBgB,EAA6BU,cAAcf,EAAcU,uBACpDC,SAAQ,SAAUW,GACfxB,EAAOT,WAAaiC,EAAKU,QAAQC,SAASC,KAAI,SAAUC,GACpD,MAAO,CACH3B,OAAQ2B,EAAE3B,OAAO4B,MACjB7B,UAAW4B,EAAE5B,UAAU6B,UAG3BtC,EAAOT,WAAWuB,OAAS,IAC3Bd,EAAOT,WAAWgD,MAAK,SAAUC,EAAGC,GAChC,MAAMC,EAAUF,EAAE9B,OAAOiC,cACnBC,EAAUH,EAAE/B,OAAOiC,cACzB,OAAID,EAAUE,GACF,EAERF,EAAUE,EACH,EAEJ,KAEX5C,EAAO6C,gBAAkB7C,EAAOT,WAChCS,EAAO8C,oBAEsB,IAA7B9C,EAAOT,WAAWuB,SAElBd,EAAOoB,QAAS,MAErBG,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBrB,EAAOoB,MAAME,GACbzB,EAAOoB,QAAS,OAI5BpB,EAAO8C,iBAAmB,WAClBtD,QAAQuD,UAAU/C,EAAOT,cACzBS,EAAOqB,oBAAsBrB,EAAOT,WAAWyD,MAAMhD,EAAOiC,UAAYjC,EAAOgC,KAAO,GAAIhC,EAAOiC,SAAWjC,EAAOgC,QAI3HhC,EAAOiD,eAAiB,SAAUC,GAC9BC,EAAE,uBAAuBC,YAAY,UACrCpD,EAAOgC,KAAO,EACdhC,EAAOkB,iBAAmB,GACtBgC,IACAlD,EAAOiB,gBACPjB,EAAOiC,SAAWiB,IAI1BlD,EAAOqD,OAAO,mBAAmB,WACzB7D,QAAQuD,UAAU/C,EAAO6C,mBACzB7C,EAAOqB,oBAAsBrB,EAAO6C,gBAAgBG,MAAMhD,EAAOiC,UAAYjC,EAAOgC,KAAO,GAAIhC,EAAOiC,SAAWjC,EAAOgC,UAIhIhC,EAAOqD,QAAO,WACV,OAAOnD,EAAcU,yBACtB,WACCZ,EAAOkB,iBAAmB,GAC1BlB,EAAOiB,gBACPjB,EAAOgB,aAAc,KAGzBhB,EAAOsD,kBAAoB,WACvBtD,EAAOmB,cAAe,EACtBnB,EAAOgB,aAAc,EACrBhB,EAAO6C,gBAAkB,GACzB7C,EAAOuD,cACPvD,EAAOwD,iBAGXxD,EAAOwD,cAAgB,WACnBhE,QAAQiE,QAAQzD,EAAOT,YAAY,SAAUmE,IACgB,IAArDA,EAAKjD,UAAUkD,QAAQ3D,EAAOkB,oBAA8E,IAAlDwC,EAAKhD,OAAOiD,QAAQ3D,EAAOkB,mBACrFlB,EAAO6C,gBAAgBe,KAAKF,OAKxC1D,EAAO6D,cAAgB,SAAUnD,EAAQD,GAErC,OADAT,EAAOoB,QAAS,EACTb,EAA6BuD,sBAAsB5D,EAAcU,sBAAuBH,EAAWC,GACrGG,SAAQ,WACLb,EAAOiB,gBACPjB,EAAOoB,QAAS,KACjBG,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBrB,EAAOoB,MAAME,EAAK,SAClBzB,EAAOoB,QAAS,MAI5BpB,EAAO+D,WAAa,SAAUC,EAAWC,GACrCjE,EAAOoB,QAAS,EAChBd,EAAwB4D,UAAUhE,EAAcU,sBAAuB,CAACuD,KAAMH,EAAWI,GAAIH,IACxFpD,SAAQ,WACLb,EAAOiB,gBACPjB,EAAOoB,QAAS,KACjBG,OAAM,SAAUC,GACf,MAAMC,EAAMC,SAASF,GACrBrB,EAAOoB,MAAME,EAAK,SAClBzB,EAAOoB,QAAS,MAI5BpB,EAAOqE,eAAiB,SAAUC,EAAYC,GAC1ClE,EAAamE,gBAAgB,CACzBC,MAAO,kBACPC,QAAS,mEACTC,SAAS,IACVC,OAAOC,KAAKP,EAAYC,IAG/BvE,EAAO8E,uBAAyB,SAAUpE,EAAQD,EAAWsE,GAKzD,GAJIvF,QAAQsC,YAAYpB,KACpBA,EAAS,KAGRiB,EAA2BjB,EAAQD,GACpC,MAAO,GAGX,IAAIuE,GAAc,EAClB,MAAMhB,EAAYe,EAAgBrE,OAClClB,QAAQiE,QAAQzD,EAAOT,YAAY,SAAU0F,GACrCA,EAAKvE,SAAWA,GAAUsD,IAActD,IACxCsE,GAAc,MAGlBA,EACAhF,EAAOqE,gBAAe,WAClBrE,EAAO6D,cAAcG,EAAWvD,GAAWoE,MAAK,WACxCb,IAActD,GACdV,EAAO+D,WAAWC,EAAWtD,SAGtC,WACCV,EAAOiB,mBAEJzB,QAAQuD,UAAUiC,IACzBhF,EAAO6D,cAAcG,EAAWvD,GAAWoE,MAAK,WACxCb,IAActD,GACdV,EAAO+D,WAAWC,EAAWtD,OAM7CV,EAAOkF,aAAe,WAKlB,GAJI1F,QAAQsC,YAAY9B,EAAOS,UAAUC,UACrCV,EAAOS,UAAUC,OAAS,KAGzBiB,EAA2B3B,EAAOS,UAAUC,OAAQV,EAAOS,UAAUA,WACtE,OAGJT,EAAOgB,aAAc,EACrB,IAAIgE,GAAc,EAClB,IAAK,IAAIG,EAAI,EAAGA,EAAInF,EAAOT,WAAWuB,OAAQqE,IACtCnF,EAAOT,WAAW4F,GAAGzE,SAAWV,EAAOS,UAAUC,SACjDsE,GAAc,GAGlBA,EACAhF,EAAOqE,gBAAe,WAClBrE,EAAO6D,cAAc7D,EAAOS,UAAUC,OAAQV,EAAOS,UAAUA,WAC/DT,EAAOS,UAAY,OAGvBT,EAAO6D,cAAc7D,EAAOS,UAAUC,OAAQV,EAAOS,UAAUA,WAC/DT,EAAOS,UAAY,KAI3BT,EAAOoF,gBAAkB,SAAU3E,GAC/BJ,EAAamE,gBAAgB,CACzBC,MAAO,iBACPC,QAAS,kDAAqDjE,EAAUC,OAAS,KACjFiE,SAAS,IACVC,OAAOC,MAAK,WACXrE,EAAgBC,OAIxBT,EAAOqF,SAAW,WACd7F,QAAQiE,QAAQzD,EAAOqB,qBAAqB,SAAUqC,GAClDA,EAAK4B,SAAWtF,EAAOgB,gBAI/BhB,EAAOuF,eAAiB,WAuBpB,IAAIC,GAAsB,EAC1BhG,QAAQiE,QAAQzD,EAAOqB,qBAAqB,SAAUZ,GAC7C+E,GACG/E,EAAU6E,WACVE,GAAsB,EAzB9BnF,EAAamE,gBAAgB,CACzBC,MAAO,iBACPC,QAAS,6DACTC,SAAS,IACVC,OAAOC,MAAK,WACX7E,EAAOoB,QAAS,EAChB,MAAM7B,EAAa,GACnBC,QAAQiE,QAAQzD,EAAOqB,qBAAqB,SAAUZ,GAC9CA,EAAU6E,UACV/F,EAAWqE,KAAKnD,MAGxBD,EAAgBjB,EAAWwB,QAASxB,GACpCS,EAAOgB,aAAc,KACtB,WACChB,EAAOiB,gBACPjB,EAAOgB,aAAc,EACrBhB,EAAOkB,iBAAmB,WAgDtClB,EAAOyF,yBAA2B,WAC9BzF,EAAOmB,cAAe,EACtB3B,QAAQiE,QAAQzD,EAAOT,YAAY,SAAUmE,GACrCA,EAAK4B,WACLtF,EAAOmB,cAAe,OAKlCnB,EAAOuD,YAAc,WACjB/D,QAAQiE,QAAQzD,EAAOT,YAAY,SAAUmE,GACzCA,EAAK4B,UAAW,SAmBhC/F,EAAWQ,WAAW,oBAAqB,CAAC,SAAU,iBAAkB,SAAUC,EAAQ0F,GAEtF1F,EAAO2F,GAAK,WAERD,EAAeE,OADA,IAInB5F,EAAO6F,OAAS,WACZH,EAAeI,QAAQ","file":"69.1944a1afebe9115c9262.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/core/services/repositories.service';\nimport 'angular/rest/rdf4j.repositories.rest.service';\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.rest.repositories.service',\n 'graphdb.framework.rest.rdf4j.repositories.service',\n 'toastr'\n];\n\nconst namespaces = angular.module('graphdb.framework.namespaces.controllers', modules);\n\n// A regular expression that validates a prefix according to the SPARQL 1.1 specification.\n// XXX: Technically this should include Unicode chars > 0xFFFF but those aren't fully supported in JavaScript\nconst pnPrefixRe = function () {\n const pnCharsBase = '[A-Z]|[a-z]|[\\u00C0-\\u00D6]|[\\u00D8-\\u00F6]|[\\u00F8-\\u02FF]|[\\u0370-\\u037D]'\n + '|[\\u037F-\\u1FFF]|[\\u200C-\\u200D]|[\\u2070-\\u218F]|[\\u2C00-\\u2FEF]|[\\u3001-\\uD7FF]'\n + '|[\\uF900-\\uFDCF]|[\\uFDF0-\\uFFFD]';\n const pnCharsU = pnCharsBase + '|_';\n const pnChars = pnCharsU + '|-|[0-9]|\\u00B7|[\\u0300-\\u036F]|[\\u203F-\\u2040]';\n\n return new RegExp('^(?:' + pnCharsBase + ')(?:(?:' + pnChars + '|\\\\.)*(?:' + pnChars + '))?$');\n}();\n\nfunction validatePrefix(prefix) {\n return prefix === '' || prefix.match(pnPrefixRe);\n}\n\nnamespaces.controller('NamespacesCtrl', ['$scope', '$http', '$repositories', 'toastr', '$modal', 'ModalService', 'RepositoriesRestService', 'RDF4JRepositoriesRestService',\n function ($scope, $http, $repositories, toastr, $modal, ModalService, RepositoriesRestService, RDF4JRepositoriesRestService) {\n $scope.namespaces = {};\n $scope.namespace = {};\n $scope.loader = false;\n $scope.haveSelected = false;\n $scope.pageSizeOptions = [10, 20, 50, 100];\n $scope.page = 1;\n $scope.pageSize = $scope.pageSizeOptions[0];\n $scope.displayedNamespaces = [];\n\n $scope.getNamespaces = function () {\n if (!$repositories.getActiveRepository()) {\n return;\n }\n\n $scope.loader = true;\n $scope.namespaces = {};\n RDF4JRepositoriesRestService.getNamespaces($repositories.getActiveRepository())\n .success(function (data) {\n $scope.namespaces = data.results.bindings.map(function (e) {\n return {\n prefix: e.prefix.value,\n namespace: e.namespace.value\n };\n });\n if ($scope.namespaces.length > 0) {\n $scope.namespaces.sort(function (a, b) {\n const prefixA = a.prefix.toUpperCase(); // ignore upper and lowercase\n const prefixB = b.prefix.toUpperCase(); // ignore upper and lowercase\n if (prefixA < prefixB) {\n return -1;\n }\n if (prefixA > prefixB) {\n return 1;\n }\n return 0;\n });\n $scope.matchedElements = $scope.namespaces;\n $scope.changePagination();\n }\n if ($scope.namespaces.length === 0) {\n // Remove the loader ourselves\n $scope.loader = false;\n } // else let the loaderPostRepeatDirective do it\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg);\n $scope.loader = false;\n });\n };\n\n $scope.changePagination = function () {\n if (angular.isDefined($scope.namespaces)) {\n $scope.displayedNamespaces = $scope.namespaces.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n };\n\n $scope.changePageSize = function (size) {\n $('.ot-graph-page-size').removeClass('active');\n $scope.page = 1;\n $scope.searchNamespaces = '';\n if (size) {\n $scope.getNamespaces();\n $scope.pageSize = size;\n }\n };\n\n $scope.$watch('matchedElements', function () {\n if (angular.isDefined($scope.matchedElements)) {\n $scope.displayedNamespaces = $scope.matchedElements.slice($scope.pageSize * ($scope.page - 1), $scope.pageSize * $scope.page);\n }\n });\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.searchNamespaces = '';\n $scope.getNamespaces();\n $scope.selectedAll = false;\n });\n\n $scope.onNamespaceSearch = function() {\n $scope.haveSelected = false;\n $scope.selectedAll = false;\n $scope.matchedElements = [];\n $scope.deselectAll();\n $scope.filterResults();\n };\n\n $scope.filterResults = function() {\n angular.forEach($scope.namespaces, function (item) {\n if (item.namespace.indexOf($scope.searchNamespaces) !== -1 || item.prefix.indexOf($scope.searchNamespaces) !== -1) {\n $scope.matchedElements.push(item);\n }\n });\n };\n\n $scope.saveNamespace = function (prefix, namespace) {\n $scope.loader = true;\n return RDF4JRepositoriesRestService.updateNamespacePrefix($repositories.getActiveRepository(), namespace, prefix)\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, 'Error');\n $scope.loader = false;\n });\n };\n\n $scope.editPrefix = function (oldPrefix, newPrefix) {\n $scope.loader = true;\n RepositoriesRestService.getPrefix($repositories.getActiveRepository(), {from: oldPrefix, to: newPrefix})\n .success(function () {\n $scope.getNamespaces();\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, 'Error');\n $scope.loader = false;\n });\n };\n\n $scope.confirmReplace = function (okCallback, cancelCallback) {\n ModalService.openSimpleModal({\n title: 'Confirm replace',\n message: 'This namespace prefix already exists. Do you want to replace it?',\n warning: true\n }).result.then(okCallback, cancelCallback);\n };\n\n $scope.editPrefixAndNamespace = function (prefix, namespace, namespaceObject) {\n if (angular.isUndefined(prefix)) {\n prefix = '';\n }\n\n if (!validatePrefixAndNamespace(prefix, namespace)) {\n return '';\n }\n\n let prefixExist = false;\n const oldPrefix = namespaceObject.prefix;\n angular.forEach($scope.namespaces, function (elem) {\n if (elem.prefix === prefix && oldPrefix !== prefix) {\n prefixExist = true;\n }\n });\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }, function () {\n $scope.getNamespaces();\n });\n } else if (angular.isDefined(prefixExist)) {\n $scope.saveNamespace(oldPrefix, namespace).then(function () {\n if (oldPrefix !== prefix) {\n $scope.editPrefix(oldPrefix, prefix);\n }\n });\n }\n };\n\n $scope.addNamespace = function () {\n if (angular.isUndefined($scope.namespace.prefix)) {\n $scope.namespace.prefix = '';\n }\n\n if (!validatePrefixAndNamespace($scope.namespace.prefix, $scope.namespace.namespace)) {\n return;\n }\n\n $scope.selectedAll = false;\n let prefixExist = false;\n for (let i = 0; i < $scope.namespaces.length; i++) {\n if ($scope.namespaces[i].prefix === $scope.namespace.prefix) {\n prefixExist = true;\n }\n }\n if (prefixExist) {\n $scope.confirmReplace(function () {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n });\n } else {\n $scope.saveNamespace($scope.namespace.prefix, $scope.namespace.namespace);\n $scope.namespace = {};\n }\n };\n\n $scope.removeNamespace = function (namespace) {\n ModalService.openSimpleModal({\n title: 'Confirm delete',\n message: 'Are you sure you want to delete the namespace \\'' + namespace.prefix + '\\'?',\n warning: true\n }).result.then(function () {\n deleteNamespace(namespace);\n });\n };\n\n $scope.checkAll = function () {\n angular.forEach($scope.displayedNamespaces, function (item) {\n item.selected = $scope.selectedAll;\n });\n };\n\n $scope.deleteSelected = function () {\n const openModalInstance = function () {\n ModalService.openSimpleModal({\n title: 'Confirm delete',\n message: 'Are you sure you want to delete the selected namespace(s)?',\n warning: true\n }).result.then(function () {\n $scope.loader = true;\n const namespaces = [];\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (namespace.selected) {\n namespaces.push(namespace);\n }\n });\n deleteNamespace(namespaces.shift(), namespaces);\n $scope.selectedAll = false;\n }, function () {\n $scope.getNamespaces();\n $scope.selectedAll = false;\n $scope.searchNamespaces = '';\n });\n };\n\n let modalInstanceOpened = false;\n angular.forEach($scope.displayedNamespaces, function (namespace) {\n if (!modalInstanceOpened) {\n if (namespace.selected) {\n modalInstanceOpened = true;\n openModalInstance();\n }\n }\n });\n };\n\n function deleteNamespace(namespace, namespaces) {\n let prefix;\n if (typeof namespace === 'object') {\n prefix = namespace.prefix;\n } else {\n prefix = namespace;\n }\n RDF4JRepositoriesRestService.deleteNamespacePrefix($repositories.getActiveRepository(), prefix)\n .success(function () {\n if (namespaces && namespaces.length > 0) {\n namespace = namespaces.shift();\n deleteNamespace(namespace, namespaces);\n } else {\n $scope.selectedAll = false;\n $scope.namespace = {};\n $scope.getNamespaces();\n $scope.searchNamespaces = '';\n $scope.haveSelected = false;\n $scope.loader = false;\n $scope.displayedNamespaces = [];\n if (namespaces === undefined) {\n toastr.success('Namespace with prefix \\'' + prefix + '\\' was deleted successfully.', '');\n } else {\n toastr.success('Selected namespaces were deleted successfully.', '');\n }\n }\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, 'Error');\n $scope.loader = false;\n });\n }\n\n $scope.checkIfSelectedNamespace = function () {\n $scope.haveSelected = false;\n angular.forEach($scope.namespaces, function (item) {\n if (item.selected) {\n $scope.haveSelected = true;\n }\n });\n };\n\n $scope.deselectAll = function () {\n angular.forEach($scope.namespaces, function (item) {\n item.selected = false;\n });\n };\n\n function validatePrefixAndNamespace(prefix, namespace) {\n if (!validatePrefix(prefix)) {\n toastr.error('Invalid prefix: ' + prefix, 'Error');\n return false;\n }\n\n if (angular.isUndefined(namespace) || namespace === '') {\n toastr.error('Please provide namespace.', 'Error');\n return false;\n }\n\n return true;\n }\n }]);\n\nnamespaces.controller('StandartModalCtrl', ['$scope', '$modalInstance', function ($scope, $modalInstance) {\n\n $scope.ok = function () {\n const result = true;\n $modalInstance.close(result);\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{
|
|
2
|
-
//# sourceMappingURL=70.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{70:function(e,n){angular.module("graphdb.framework.namespaces.directives",["ngRoute"]).directive("loaderPostRepeatDirective",["$timeout",function(e){return function(n){n.$last&&e((function(){n.$parent.loader=!1}),0)}}])}}]);
|
|
2
|
+
//# sourceMappingURL=70.84500509fe2b0d19ab93.bundle.js.map
|
package/dist/{70.f86421bf02a9bfda5b95.bundle.js.map → 70.84500509fe2b0d19ab93.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/namespaces/directives.js"],"names":["angular","module","directive","$timeout","scope","$last","$parent","loader"],"mappings":"2EAA6BA,QAAQC,OAAO,0CAA2C,CAAC,YAGnEC,UAAU,4BAA6B,CAAC,WAAY,SAAUC,GAC/E,OAAO,SAAUC,GACTA,EAAMC,OAKNF,GAAS,WACLC,EAAME,QAAQC,QAAS,IACxB","file":"70.
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/namespaces/directives.js"],"names":["angular","module","directive","$timeout","scope","$last","$parent","loader"],"mappings":"2EAA6BA,QAAQC,OAAO,0CAA2C,CAAC,YAGnEC,UAAU,4BAA6B,CAAC,WAAY,SAAUC,GAC/E,OAAO,SAAUC,GACTA,EAAMC,OAKNF,GAAS,WACLC,EAAME,QAAQC,QAAS,IACxB","file":"70.84500509fe2b0d19ab93.bundle.js","sourcesContent":["const namespacesDirectives = angular.module('graphdb.framework.namespaces.directives', ['ngRoute']);\n\n// This directive will set the loader to false once the respective ngRepeat is done loading\nnamespacesDirectives.directive('loaderPostRepeatDirective', ['$timeout', function ($timeout) {\n return function (scope) {\n if (scope.$last) {\n // It's important to do this with timeout:\n // \"...since the setTimeout function gets pushed to the end of the queue of the browser,\n // its always right after everything is done in angular, usually ngRepeat which continues\n // after its parents postLinking function\"\n $timeout(function () {\n scope.$parent.loader = false;\n }, 0);\n }\n };\n}]);\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{
|
|
2
|
-
//# sourceMappingURL=76.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{71:function(e,o,n){"use strict";n.r(o);n(2),n(11);const t=angular.module("graphdb.framework.jmx.queries.controllers",["ui.bootstrap","toastr","graphdb.framework.rest.monitoring.service"]);t.controller("QueriesCtrl",["$scope","$modal","toastr","$interval","$repositories","$jwtAuth","ModalService","MonitoringRestService",function(e,o,n,t,r,i,s,u){e.loader=!0,e.stringLimit=500,e.expanded={},e.jolokiaError="";const c=document.createElement("a");e.parseNode=function(e){if(null==e)return null;let o="local";if(e.indexOf("://localhost:")<0&&e.indexOf("://localhost/")<0){c.href=e;let n=c.hostname;(function(e){const o=e.split(".");for(let e=0,n=0;e<o.length;e++)if(parseInt(o[e],10)>=0&&parseInt(o[e],10)<=255?n++:n=0,4===n)return!0;return!1})(c.hostname)||(n=c.hostname.split(".")[0]),o=n+":"+c.port}const n=e.match(/\/repositories\/([^\/]+)#(\d+)/);return[n[2],o,n[1]]},e.getQueries=function(){e.getQueriesRunning||e.paused||e.jolokiaError||!r.getActiveRepository()||(e.getQueriesRunning=!0,u.monitorQuery().success((function(o){const n=o;e.noQueries=0===n.length,e.queries={};for(let o=0;o<n.length;o++)n[o].parsedNode=e.parseNode(n[o].node),e.queries[n[o].trackId]=n[o];e.noActiveRepository=!1,e.loader=!1,e.getQueriesRunning=!1})).error((function(o){e.jolokiaError=getError(o),e.loader=!1,e.getQueriesRunning=!1})))};const a=t((function(){r.isActiveRepoOntopType()||e.getQueries()}),1e3);e.$on("$destroy",(function(){t.cancel(a)})),e.deleteQueryHttp=function(o){e.loader=!0,u.deleteQuery(o).success((function(){n.success("Abort request sent."),e.loader=!1})).error((function(o){const t=getError(o);n.error(t,"Error"),e.loader=!1}))},e.abortQuery=function(o){s.openSimpleModal({title:"Confirm abort",message:"Are you sure you want to abort the query?",warning:!0}).result.then((function(){e.deleteQueryHttp(o)}))},e.downloadQuery=function(e){const o="query_"+e+".rq";let n="rest/monitor/query/download?queryId="+encodeURIComponent(e)+"&repository="+encodeURIComponent(r.getActiveRepository())+"&filename="+encodeURIComponent(o);i.isAuthenticated()&&(n=n+"&authToken="+encodeURIComponent(i.getAuthToken())),window.open(n,"_blank")},e.toggleQueryExpanded=function(o){e.expanded[o]=!e.expanded[o]}}]),t.controller("DeleteQueryCtrl",["$scope","$modalInstance",function(e,o){e.ok=function(){o.close()},e.cancel=function(){o.dismiss("cancel")}}])}}]);
|
|
2
|
+
//# sourceMappingURL=76.2fa18e115678c4e24682.bundle.js.map
|
package/dist/{76.fa9e5d02f7e1367b9b29.bundle.js.map → 76.2fa18e115678c4e24682.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/queries/controllers.js"],"names":["queriesCtrl","angular","module","controller","$scope","$modal","toastr","$interval","$repositories","$jwtAuth","ModalService","MonitoringRestService","loader","stringLimit","expanded","jolokiaError","parser","document","createElement","parseNode","node","shortUrl","indexOf","href","hostname","ip","blocks","split","i","sequence","length","parseInt","containsIPV4","port","match","getQueries","getQueriesRunning","paused","getActiveRepository","monitorQuery","success","data","newQueries","noQueries","queries","parsedNode","trackId","noActiveRepository","error","getError","timer","isActiveRepoOntopType","$on","cancel","deleteQueryHttp","queryId","deleteQuery","msg","abortQuery","openSimpleModal","title","message","warning","result","then","downloadQuery","filename","link","encodeURIComponent","isAuthenticated","getAuthToken","window","open","toggleQueryExpanded","$modalInstance","ok","close","dismiss"],"mappings":"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","file":"76.
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/queries/controllers.js"],"names":["queriesCtrl","angular","module","controller","$scope","$modal","toastr","$interval","$repositories","$jwtAuth","ModalService","MonitoringRestService","loader","stringLimit","expanded","jolokiaError","parser","document","createElement","parseNode","node","shortUrl","indexOf","href","hostname","ip","blocks","split","i","sequence","length","parseInt","containsIPV4","port","match","getQueries","getQueriesRunning","paused","getActiveRepository","monitorQuery","success","data","newQueries","noQueries","queries","parsedNode","trackId","noActiveRepository","error","getError","timer","isActiveRepoOntopType","$on","cancel","deleteQueryHttp","queryId","deleteQuery","msg","abortQuery","openSimpleModal","title","message","warning","result","then","downloadQuery","filename","link","encodeURIComponent","isAuthenticated","getAuthToken","window","open","toggleQueryExpanded","$modalInstance","ok","close","dismiss"],"mappings":"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","file":"76.2fa18e115678c4e24682.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/rest/monitoring.rest.service';\n\nconst queriesCtrl = angular.module('graphdb.framework.jmx.queries.controllers', [\n 'ui.bootstrap',\n 'toastr',\n 'graphdb.framework.rest.monitoring.service'\n]);\n\nqueriesCtrl.controller('QueriesCtrl', ['$scope', '$modal', 'toastr', '$interval', '$repositories', '$jwtAuth', 'ModalService', 'MonitoringRestService',\n function ($scope, $modal, toastr, $interval, $repositories, $jwtAuth, ModalService, MonitoringRestService) {\n\n $scope.loader = true;\n $scope.stringLimit = 500;\n $scope.expanded = {};\n $scope.jolokiaError = '';\n\n function containsIPV4(ip) {\n const blocks = ip.split('.');\n for (let i = 0, sequence = 0; i < blocks.length; i++) {\n if (parseInt(blocks[i], 10) >= 0 && parseInt(blocks[i], 10) <= 255) {\n sequence++;\n } else {\n sequence = 0;\n }\n if (sequence === 4) {\n return true;\n }\n }\n return false;\n }\n\n const parser = document.createElement('a');\n\n // Parses a node of the kind http://host.example.com:7200/repositories/repo#NN,\n // where NN is the track ID into an array [NN, host:7200, repo].\n $scope.parseNode = function (node) {\n if (node == null) {\n return null;\n }\n\n let shortUrl = 'local';\n if (node.indexOf('://localhost:') < 0 && node.indexOf('://localhost/') < 0) {\n parser.href = node;\n let hostname = parser.hostname;\n if (!containsIPV4(parser.hostname)) {\n hostname = parser.hostname.split('.')[0];\n }\n shortUrl = hostname + ':' + parser.port;\n }\n const match = node.match(/\\/repositories\\/([^\\/]+)#(\\d+)/); // eslint-disable-line no-useless-escape\n\n return [match[2], shortUrl, match[1]];\n };\n\n $scope.getQueries = function () {\n // Skip execution if already getting from previous call, if paused, if jolokia returned an error,\n // or if no repository is available\n if ($scope.getQueriesRunning || $scope.paused || $scope.jolokiaError || !$repositories.getActiveRepository()) {\n return;\n }\n\n $scope.getQueriesRunning = true;\n MonitoringRestService.monitorQuery().success(function (data) {\n const newQueries = data;\n $scope.noQueries = newQueries.length === 0;\n\n // Converts array to object. Angular seems to handle updates on objects better, i.e.\n // it doesn't recreate DOM elements for queries that are already displayed.\n $scope.queries = {};\n for (let i = 0; i < newQueries.length; i++) {\n newQueries[i].parsedNode = $scope.parseNode(newQueries[i].node);\n $scope.queries[newQueries[i].trackId] = newQueries[i];\n }\n\n $scope.noActiveRepository = false;\n $scope.loader = false;\n $scope.getQueriesRunning = false;\n }).error(function (data) {\n $scope.jolokiaError = getError(data);\n $scope.loader = false;\n $scope.getQueriesRunning = false;\n });\n };\n\n const timer = $interval(function () {\n // Don't call getQueries for Ontop type repository\n if ($repositories.isActiveRepoOntopType()) {\n return;\n }\n $scope.getQueries();\n }, 1000);\n\n $scope.$on('$destroy', function () {\n $interval.cancel(timer);\n });\n\n $scope.deleteQueryHttp = function (queryId) {\n\n $scope.loader = true;\n MonitoringRestService.deleteQuery(queryId).success(function () {\n toastr.success('Abort request sent.');\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, 'Error');\n\n $scope.loader = false;\n });\n };\n\n $scope.abortQuery = function (queryId) {\n ModalService.openSimpleModal({\n title: 'Confirm abort',\n message: 'Are you sure you want to abort the query?',\n warning: true\n }).result.then(function () {\n $scope.deleteQueryHttp(queryId);\n });\n };\n\n $scope.downloadQuery = function (queryId) {\n const filename = 'query_' + queryId + '.rq';\n let link = 'rest/monitor/query/download?queryId=' + encodeURIComponent(queryId)\n + '&repository=' + encodeURIComponent($repositories.getActiveRepository())\n + '&filename=' + encodeURIComponent(filename);\n if ($jwtAuth.isAuthenticated()) {\n link = link + '&authToken=' + encodeURIComponent($jwtAuth.getAuthToken());\n }\n\n window.open(link, '_blank');\n };\n\n $scope.toggleQueryExpanded = function (queryId) {\n $scope.expanded[queryId] = !$scope.expanded[queryId];\n };\n }]);\n\n\nqueriesCtrl.controller('DeleteQueryCtrl', ['$scope', '$modalInstance', function ($scope, $modalInstance) {\n\n $scope.ok = function () {\n $modalInstance.close();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[8,26,34,49,85],{29:function(e,t){angular.module("graphdb.framework.rest.connectors.service",[]).factory("ConnectorsRestService",r),r.$inject=["$http"];const n="rest/connectors";function r(e){return{getConnectors:function(){return e.get(n)},initConnector:function(t){return e.get(`${n}/options?prefix=${t}`)},hasConnector:function(t){return e.get(`${n}/existing?prefix=${t}`)},checkConnector:function(t){return e.post(`${n}/check`,t,{headers:{"Content-Type":"text/plain"}})}}}},32:function(e,t,n){"use strict";n.r(t);n(10),n(29);function r(e){const t=[];return Object.keys(e).forEach((function(n){t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]))})),t.join("&")}function o(e,t){for(let r=0;r<t.length;r++){const o=t[r];if("StringArray"===o.__type)e[o.__name]||(e[o.__name]=[""]);else if("OptionArray"===o.__type)if(e[o.__name])for(let t=0;t<o.__childOptions.length;t++){const n=o.__childOptions[t];if("Boolean"===n.__type)for(let t=0;t<e[o.__name].length;t++){const r=e[o.__name][t];!r.hasOwnProperty([n.__name])&&angular.isDefined(n.__defaultValue)&&(r[n.__name]=n.__defaultValue)}}else{e[o.__name]=[];const t={};for(let e=0;e<o.__childOptions.length;e++){const n=o.__childOptions[e];"StringArray"===n.__type?t[n.__name]=[""]:t[n.__name]=angular.isUndefined(n.__defaultValue)?"":n.__defaultValue}e[o.__name].push(t)}else"Map"===o.__type?e[o.__name]?e[o.__name]=(n=e[o.__name],_.map(n,(function(e,t){return{key:t,value:e}}))):e[o.__name]=[]:"JsonString"===o.__type?!e[o.__name]||e[o.__name]instanceof String||"string"==typeof e[o.__name]||(e[o.__name]=angular.toJson(e[o.__name],2)):angular.isUndefined(e[o.__name])&&(e[o.__name]=angular.isUndefined(o.__defaultValue)?"":o.__defaultValue)}var n;return e}function a(e,t,n){return e.post("repositories/"+t,r({query:n}),{headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/sparql-results+json","X-GraphDB-Local-Consistency":"updating"}})}function i(e){return e.substring(0,e.length-1)+"/instance#"}function s(e,t,n,r,o){const a=function e(t,n){const r={};return _.each(n,(function(n){angular.isDefined(t[n.__name])&&("OptionArray"===n.__type?(r[n.__name]=[],_.each(t[n.__name],(function(t){r[n.__name].push(e(t,n.__childOptions))}))):r[n.__name]=angular.copy(t[n.__name]))})),r}(n,r);for(let e=0;e<r.length;e++)try{"Map"===r[e].__type?a[r[e].__name]=(s=a[r[e].__name],_.reduce(s,(function(e,t){if(""===t.key&&""===t.value);else{if(""===t.key)throw new Error('Key may not be empty with value "'+t.value+'"');if(e.hasOwnProperty(t.key))throw new Error("Duplicate key "+t.key);e[t.key]=t.value}return e}),{})):"JsonString"===r[e].__type&&(a[r[e].__name]=angular.fromJson(a[r[e].__name]))}catch(t){return o(r[e].__label,t.message),null}var s;!function e(t){Array.isArray(t)&&(t=_.filter(t,(function(e){return null!==e&&(!e.trim||""!==e.trim())})));return Object.keys(t).forEach((function(n){""!==t[n]&&null!=t[n]||!1===t[n]?"object"==typeof t[n]&&(t[n]=e(t[n])):delete t[n]})),t}(a);let u="";return u+="PREFIX :<"+t+">\n",u+="PREFIX inst:<"+i(t)+">\n",u+="INSERT DATA {\n",u+="\tinst:"+e+" :createConnector '''\n",u+=angular.toJson(a,2),u+="\n''' .\n}\n",u=u.replace(/\\/g,"\\\\\\"),u}function u(e,t,n,u,c,l,d,p,g){function f(t){e.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:t?"Repairing":"Creating",waitOnRepairStartOnce:!!t,eta:"-",inline:!1,iri:null}}function y(t,n,r){return f(r),$.extend(e.beingBuiltConnector,{iri:i(t)+n,name:n,inline:!1,doneCallback:function(){e.beingBuiltConnector.modalInstance.dismiss("cancel")}}),e.beingBuiltConnector.modalInstance=u.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:e}),e.beingBuiltConnector.modalInstance}function m(t,o,a){const i=y(t.value,o.name,!1);p.addStatements(n.getActiveRepository(),r({update:o.query})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(t.value)).then((function(n){e.existing[t.key]=n.data}))})),c.success("Created connector "+o.name)}),(function(e){c.error(getError(e)),a()})).finally((function(){i.dismiss("cancel")}))}e.loader=!1,e.controllers=[],e.existing={},e.definitions={},e.getLoaderMessage=function(){const t=(Date.now()-e.loaderStartTime)/1e3,n=e.getHumanReadableSeconds(t);let r="";return r=e.progressMessage?e.progressMessage+"... "+n:"Running operation..."+n,e.extraMessage&&t>10&&(r+="\n"+e.extraMessage),r},e.setLoader=function(t,n,r){t?(e.loader=!0,e.loaderStartTime=Date.now(),e.progressMessage=n,e.extraMessage=r):(e.loader=!1,e.progressMessage="",e.extraMessage="")},e.initConnector=function(t){return g.initConnector(encodeURIComponent(t.value)).then((function(n){return e.definitions[t.key]=n.data,g.hasConnector(encodeURIComponent(t.value)).then((function(n){e.existing[t.key]=n.data}))}))},e.getConnectors=function(){e.isLicenseValid()&&e.canWriteActiveRepo()&&(e.setLoader(!0,"Fetching connectors","Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first."),g.getConnectors().then((function(r){e.connectors=Object.keys(r.data).map((function(e){return{key:e,value:r.data[e]}})),d.all(_.map(e.connectors,(function(t){return e.initConnector(t)}))).finally((function(){f();const r=function(e){const t=_.map(e,(function(e){return"<"+e.value+"connectorStatus>"})).join("|");return t?"SELECT ?connector ?status { ?connector "+t+" ?status }":null}(e.connectors);r?function(e){return a(t,n.getActiveRepository(),e)}(r).then((function(t){const n=function(e){if(e.bindings)for(let t=0;t<e.bindings.length;t++)try{const n=JSON.parse(e.bindings[t].status.value);if("BUILDING"===n.status)return{connector:e.bindings[t].connector.value,status:n}}catch(e){console.error(e)}return{}}(t.data.results);if(n.connector){const t=n.connector.split(/#/);t[0]=t[0].replace(/\/instance$/,"#"),r=t[0],o=t[1],f(),$.extend(e.beingBuiltConnector,{iri:i(r)+o,name:o,inline:!0,doneCallback:function(){e.beingBuiltConnector.inline=!1}})}var r,o})).finally((function(){e.setLoader(!1)})):e.setLoader(!1)}))})).catch((function(t){e.setLoader(!1),c.error(getError(t),"Could not get connectors")})),e.existing={})},e.getOptions=function(t){return e.definitions[t.key]},e.isEmpty=function(e){return angular.isObject(e)&&0===Object.keys(e).length},e.toPrettyJson=function(e){return angular.toJson(e,2)},e.$watch((function(){return n.getActiveRepository()}),e.getConnectors),e.$watch((function(){return n.getActiveLocation()}),e.getConnectors),e.copyConnector=function(t,n){let r;angular.isUndefined(n)||(r=angular.copy(n),r.name=r.name+"-copy"),u.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return t},values:function(){return angular.isUndefined(r)?{name:"",values:{}}:r},options:function(){return e.getOptions(t)}}}).result.then((function(n){m(t,n,(function(){n.skipConversion=!0,e.newConnector(t,n)}))}))},e.newConnector=function(t,n){u.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return t},values:function(){return angular.isUndefined(n)?{name:"",values:{}}:n},options:function(){return e.getOptions(t)}}}).result.then((function(n){m(t,n,(function(){n.skipConversion=!0,e.newConnector(t,n)}))}))},e.repair=function(t,o){l.openSimpleModal({title:"Confirm repair",message:"Are you sure you want to repair this connector?<br>Note that repair means delete + recreate with the same settings.",warning:!0}).result.then((function(){const a=y(o.value,t.name,!0),s=(u=t.name,"PREFIX prefix:<"+(l=o.value)+">\nINSERT DATA {\n\t<"+i(l)+u+'> prefix:repairConnector ""\n}');var u,l;p.addStatements(n.getActiveRepository(),r({update:s})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(o.value)).then((function(t){e.existing[o.key]=t.data}))})),c.success("Repaired connector "+t.name)}),(function(e){c.error(getError(e))})).finally((function(){a.dismiss("cancel")}))}))},e.delete=function(t,o){const a=o.key.indexOf("Elastic")>=0||o.key.indexOf("Solr")>=0;u.open({templateUrl:"js/angular/externalsync/templates/deleteConnector.html",controller:"DeleteConnectorCtrl",resolve:{type:function(){return o.key},isExternal:function(){return a}}}).result.then((function(i){e.setLoader(!0,"Deleting connector "+t.name,"This is usually a fast operation but it might take a while.");const s=function(e,t,n){const r=t.substring(0,t.length-1)+"/instance#";return"PREFIX prefix:<"+t+">\nINSERT DATA {\n\t<"+r+e+'> prefix:dropConnector "'+(n?"force":"")+'"\n}'}(t.name,o.value,i);p.addStatements(n.getActiveRepository(),r({update:s})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(o.value)).then((function(t){e.existing[o.key]=t.data}))})),i?(c.success("Deleted (with force) connector "+t.name),a&&c.warning("You may have to remove the index manually from "+o.key)):c.success("Deleted connector "+t.name)}),(function(e){c.error(getError(e))})).finally((function(){e.setLoader(!1)}))}))},e.viewQuery=function(t,n){u.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){const r=e.getOptions(t);return s(n.name,t.value,o(n.values,r),r)}}})}}function c(e,t,n,r){e.force=!1,e.type=n,e.isExternal=r,e.ok=function(){t.close(e.force)},e.cancel=function(){t.dismiss()}}function l(e,t,n,r,o){function a(){return s(e.name,n.value,e.values,e.options,(function(e,t){o.error(t,e)}))}e.connector=n,e.addField=function(t,n){const r=angular.copy(e.defaultValues[n][0]);e.values[n].splice(t+1,0,r)},e.addOption=function(e,t){t.splice(e+1,0,"")},e.deleteOption=function(e,t){t.splice(e,1)},e.addMapOption=function(e,t){t.splice(e+1,0,{key:"",value:""})},e.deleteMapOption=function(e,t){t.splice(e,1)},e.ok=function(){if(e.form.$valid){const n=a();n&&t.close({name:e.name,values:e.values,options:e.options,query:n})}},e.viewQuery=function(){const e=a();e&&r.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return e}}})},e.cancel=function(){t.dismiss("cancel")}}function d(e,t,n,r,a,i,s,u){angular.extend(this,t("ExtendNewConnectorCtrl",{$scope:e,$modalInstance:r,connector:a,$modal:i})),e.values=s.values,e.options=u,e.name=s.name,s.skipConversion||(e.values=o(e.values,e.options)),e.defaultValues=angular.copy(e.values)}function p(e,t,n,r){function o(){const o=function(e){const t=e.replace(/\/instance#.+$/,"#connectorStatus");let n="";return n+="SELECT ?status {\n",n+="\t<"+e+"> <"+t+"> ?status",n+="\n}",n}(e.beingBuiltConnector.iri);e.beingBuiltConnector.iri=null,e.progressInterval=t((function(){(function(e){return a(n,r.getActiveRepository(),e)})(o).then((function(n){const r=function(e){if(e.bindings&&e.bindings.length>0)try{return JSON.parse(e.bindings[0].status.value)}catch(e){console.error(e)}return{}}(n.data.results);"BUILDING"===r.status?(e.beingBuiltConnector.status=r,e.beingBuiltConnector.percentDone=(100*r.processedEntities/r.estimatedEntities).toFixed(0),e.beingBuiltConnector.eta=e.getHumanReadableSeconds(r.etaSeconds),e.beingBuiltConnector.actionName=r.repair?"Repairing":"Creating",e.beingBuiltConnector.waitOnRepairStartOnce=!1):"BUILT"!==r.status||e.beingBuiltConnector.waitOnRepairStartOnce||(t.cancel(e.progressInterval),e.beingBuiltConnector.doneCallback&&e.beingBuiltConnector.doneCallback())}))}),1e3),e.$on("$destroy",(function(){t.cancel(e.progressInterval)}))}e.beingBuiltConnector=e.beingBuiltConnector||{},!e.beingBuiltConnector.inline&&e.beingBuiltConnector.iri&&o(),e.$watch("beingBuiltConnector.iri",(function(t){e.beingBuiltConnector.inline&&t&&o()}))}angular.module("graphdb.framework.externalsync.controllers",["graphdb.framework.rest.rdf4j.repositories.service","graphdb.framework.rest.connectors.service"]).controller("ConnectorsCtrl",u).controller("ExtendNewConnectorCtrl",l).controller("CreateConnectorCtrl",d).controller("CreateProgressCtrl",p).controller("DeleteConnectorCtrl",c).filter("ceil",(function(){return function(e){return Math.ceil(e)}})),u.$inject=["$scope","$http","$repositories","$modal","toastr","ModalService","$q","RDF4JRepositoriesRestService","ConnectorsRestService"],c.$inject=["$scope","$modalInstance","type","isExternal"],l.$inject=["$scope","$modalInstance","connector","$modal","toastr"],d.$inject=["$scope","$controller","$http","$modalInstance","connector","$modal","values","options"],p.$inject=["$scope","$interval","$http","$repositories"]},33:function(e,t,n){"use strict";n.r(t);n(4),n(12);function r(e,t,n,r,o,a,i,s,u,c,l,d,p,g){const f={id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:!0,sameAs:!0};let y,m=c.getPrincipal();function h(e,t){f.inference=t.appSettings.DEFAULT_INFERENCE,f.sameAs=t.appSettings.DEFAULT_SAMEAS,e.skipCountQuery=!t.appSettings.EXECUTE_COUNT,e.ignoreSharedQueries=t.appSettings.IGNORE_SHARED_QUERIES,e.tabsData=e.tabs=p.get(g.TABS_STATE)||[f],e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(e,t,n){C(n.currentQuery)})),e.$on("repositoryIsSet",v)}function C(t){!function(){if(r.isActiveRepoOntopType())return;const t=document.getElementById("sameAs");!t||e.currentQuery.inference||t.disabled?e.currentQuery.inference&&t.disabled&&(t.removeAttribute("disabled"),e.currentQuery.sameAs=m.appSettings.DEFAULT_SAMEAS):(t.disabled=!0,e.currentQuery.sameAs=!1)}(),e.tabs.forEach((function(n,o){n.id===t.id&&(e.tabs[o].query=t.query,r.isActiveRepoOntopType()||(e.tabs[o].inference=t.inference,e.tabs[o].sameAs=t.sameAs))})),p.set(g.TABS_STATE,e.tabs)}function b(t,n,r,o){const a=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=t,t?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=n,e.extraMessage=r,e.noLoaderTimer=o,a.addClass("hide")):(e.progressMessage="",e.extraMessage="",e.noLoaderTimer=!1,e.currentTrackAlias=null,e.abortRequested=!1,a.removeClass("hide")),null===e.$$phase&&e.$apply()}function T(n){function r(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}if(e.orientationViewMode){if("yasr"===e.viewMode){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px"}else e.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(e.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px",document.getElementById("yasr").style.minHeight=e+"px"}else{let r;r=t(n?function(){e.fixSizesOnHorizontalViewModeSwitch(n)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){t.cancel(r)}))}window.yasr&&window.yasr.container&&t((function(){window.yasr.container.resize()}),100)}function w(){T(!0)}function v(t,n){n.newRepo&&(e.tabsData=p.get(g.TABS_STATE),e.tabsData.forEach((function(e){e.yasrData=void 0,e.queryType=void 0,e.resultsCount=0,e.allResultsCount=0,e.sizeDelta=void 0})),p.set(g.TABS_STATE,e.tabsData),e.tabs=e.tabsData,e.currentQuery={},e.errorMessage=null,e.repositoryError=null)}function S(e){t((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function E(o,a){if(e.executedQueryTab=e.currentQuery,a){if("SELECT"!==window.editor.getQueryType()&&"CONSTRUCT"!==window.editor.getQueryType())return void n.warning("Explain only works with SELECT or CONSTRUCT queries.");if(r.isActiveRepoOntopType())return void n.warning("Explain not supported for Virtual repositories.")}if(e.explainRequested=a,!e.queryIsRunning){if(o?e.currentTabConfig.resultsCount=0:e.resetCurrentTabConfig(),e.lastRunQueryMode=window.editor.getQueryMode(),"update"===e.lastRunQueryMode&&r.isActiveRepoOntopType())return void n.warning("Updates are not supported for Virtual repositories.");if(b(!0,"update"===e.lastRunQueryMode?"Executing update":"Evaluating query"),"none"!==e.viewMode){e.viewMode="none",e.orientationViewMode&&e.fixSizesOnHorizontalViewModeSwitch();const n=t(window.editor.query,500);e.$on("$destroy",(function(){t.cancel(n)}))}else window.editor.query()}}function R(){e.showSampleQueries=!e.showSampleQueries,e.showSampleQueries?i.getSavedQueries().success((function(t){e.sampleQueries=t,$("#sampleQueriesCollapse").collapse("show").width("300px")})).error((function(e){const t=getError(e);n.error(t,"Error! Could not get saved queries")})):$("#sampleQueriesCollapse").collapse("hide")}function A(t){let n=void 0;return e.tabsData.forEach((function(e){if(e.name===t.name&&e.query===t.body)return n=e.id,e})),n}function _(t){return function(n,r,o){e.savedQuery={name:n,query:r||window.editor.getValue(),shared:o},$(t).modal("show")}}function Q(t){for(let n=0;n<e.tabsData.length;n++){if(e.tabsData[n].id===t)return n}}m?h(e,m):e.$on("securityInit",(function(e){m=c.getPrincipal(),h(e.currentScope,m)})),this.hint=document.createElement("span"),this.hint.innerHTML='Hint: "abC" matches "abC*", "ab c*" and "ab-c*"',this.hint.style.fontSize="12px",this.hint.style.color="gray",this.hint.style.backgroundColor="white",this.hint.style.position="absolute",this.hint.style.zIndex="3",this.hint.style.paddingLeft="12px",e.$watch((function(){return angular.element(".CodeMirror-hints").length}),e=>{if(e){const e=angular.element(".CodeMirror-hints")[0].getBoundingClientRect();document.body.appendChild(this.hint),this.hint.style.top=e.top-20+"px",this.hint.style.left=e.right-this.hint.offsetWidth-12+"px"}else this.hint&&this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint)}),e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:1e3,page:1,allResultsCount:0,resultsCount:0}},e.queryExists=!1,e.resetCurrentTabConfig(),e.saveTab=function(t){const n=Q(t);if(void 0===n)return{};const r=e.tabsData[n];return e.saveQueryToLocal(r),r},e.loadTab=function(n){e.tabsData=p.get(g.TABS_STATE)||[f];const o=Q(n),a=e.tabsData[o];a.yasrData&&b(!0,"Rendering results",null,!0);t((function(){""===e.currentQuery.query&&(e.currentQuery.query=" "),t((function(){window.editor.setValue(e.currentQuery.query),e.yasr.updateDownloadDropdown(),e.$broadcast("tabLoaded",e.currentQuery.id),e.yasr.options.output=a.outputType,a.yasrData&&(a.yasrData.customError?(e.yasr.results={getException:function(){return a.yasrData.customError}},b(!1)):t((function(){e.setYasrResponse(a.yasrData,a.textStatus,a.jqXhrOrErrorString),b(!1),$(".yasr_btnGroup li:nth-child(2)").hasClass("active")&&t((function(){$(".yasr_btnGroup li:nth-child(2) a").get(0).click()}),0)}),0))}),0)}),0),p.set(g.TABS_STATE_CURRENT_ID,n),e.currentQuery=a,t((function(){e.currentTabConfig={},e.currentTabConfig.queryType=a.queryType,e.currentTabConfig.resultsCount=a.resultsCount,e.currentTabConfig.offset=a.offset,e.currentTabConfig.allResultsCount=a.allResultsCount,e.currentTabConfig.allResultsCountExact=a.allResultsCountExact,e.currentTabConfig.page=a.page,e.currentTabConfig.pageSize=a.pageSize,e.currentTabConfig.timeFinished=a.timeFinished,e.currentTabConfig.timeTook=a.timeTook,e.currentTabConfig.sizeDelta=a.sizeDelta,e.currentTabConfig.customUpdateMessage=a.customUpdateMessage,e.currentTabConfig.errorMessage=a.errorMessage,e.currentTabConfig.warningMessage=a.warningMessage,e.$apply()}),0),$("#yasr").css("padding","0"),y||(y=setInterval(M,200));!function(){const t=r.isActiveRepoOntopType(),n=r.isActiveRepoFedXType();(function(e){const t=document.getElementById("sameAs"),n=document.getElementById("inference");t&&(t.disabled=!!e);n&&(n.disabled=!!e)})(t),e.nocount=!(!t&&!n)||!m.appSettings.EXECUTE_COUNT,t&&(e.currentQuery.inference=!0,e.currentQuery.sameAs=!0)}()},e.addNewTab=function(n,r,o){if(!D(!0))return;let a;a=r||o?{id:"1",name:r,query:o,inference:m.appSettings.DEFAULT_INFERENCE,sameAs:m.appSettings.DEFAULT_SAMEAS}:{id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:m.appSettings.DEFAULT_INFERENCE,sameAs:m.appSettings.DEFAULT_SAMEAS};x++;const i=""+x;e.tabsData=e.tabs;const s=a;s.id=i,e.tabsData.push(s),p.set(g.TABS_STATE_MAXID,x),p.set(g.TABS_STATE,e.tabsData);const u=Array.prototype.slice.call(arguments,1);t((function(){e.$apply(),S(i),n&&n.apply(this,u)}),0),e.tabs=e.tabsData},e.isTabChangeOk=D,e.runQuery=E,e.abortCurrentQuery=function(){d.abortQueryByAlias(e.currentTrackAlias).success((function(){e.abortRequested=!0}))},e.editQuery=function(t){o.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:'Edit Saved Query: "'+t.name+'"',query:t,edit:!0,okButtonText:"Save"}}}}).result.then((function(r){const o={name:r.name,body:r.body,shared:r.shared};t.name!==r.name?i.addNewSavedQuery(o).success((function(){e.deleteQueryHttp(t.name,!0)})).error((function(e){const t=getError(e);n.error(t,"Error! Cannot edit saved query")})):i.editSavedQuery(o).success((function(){$("#editQueryContainer").modal("hide"),e.toggleSampleQueries(),n.success("Saved query "+t.name+" was edited.")})).error((function(e){const t=getError(e);n.error(t,"Error! Cannot edit Saved query")}))}))},e.getNamespaces=function(){b(!0,"Refreshing namespaces","Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first."),e.namespacesLoading=!0,l.getRepositoryNamespaces().success((function(t){const n={};t.results.bindings.forEach((function(e){n[e.prefix.value]=e.namespace.value})),e.namespaces=n})).error((function(t){e.repositoryError=getError(t)})).finally((function(){b(!1),e.namespacesLoading=!1}))},e.changePagination=function(){E(!0,e.explainRequested)},e.toggleSampleQueries=R,e.addKnownPrefixes=function(){i.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const t=getError(e);return n.error(t,"Error! Could not add known prefixes"),!0}))},e.getExistingTabId=A,e.querySelected=function(t){const n=A(t);e.toggleSampleQueries(),e.isTabChangeOk(!1)&&(e.highlightNextTabChange=!0,angular.isDefined(n)?S(n):e.addNewTab(null,t.name,t.body))},e.deleteQuery=function(t){a.openSimpleModal({title:"Confirm",message:"Are you sure you want to delete the saved query '"+t+"'?",warning:!0}).result.then((function(){e.deleteQueryHttp(t)}))},e.deleteQueryHttp=function(t,r){i.deleteSavedQuery(t).success((function(){e.toggleSampleQueries(),r||n.success("Saved query: "+t+" was deleted.")})).error((function(e){const t=getError(e);n.error(t,"Error! Cannot delete saved query")}))},e.saveQuery=function(t,n){o.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:"Create New Saved Query",query:{name:t.name,body:t.query,shared:t.shared},edit:!1,okButtonText:"Create",queryExists:n}}}}).result.then((function(t){e.saveQueryHttp(t)}),(function(){}))},e.saveQueryHttp=function(t){i.addNewSavedQuery(t).success((function(){n.success("Saved query "+t.name+" was saved.")})).error((function(r){let o=getError(r);if(n.error(o,"Error! Cannot create saved query"),o="Query '"+t.name+"' already exists!"){t.query=t.body;const n=!0;e.saveQuery(t,n)}}))},e.saveQueryToLocal=C,e.setLoader=b,e.getLoaderMessage=function(){const t=(Date.now()-e.queryStartTime)/1e3;let n="",r="";e.noLoaderTimer||(n=e.getHumanReadableSeconds(t));r=e.progressMessage?e.progressMessage+"... "+n:"Running operation... "+n;e.extraMessage&&t>10&&(r+="\n"+e.extraMessage);return r},e.fixSizesOnHorizontalViewModeSwitch=T,e.changeViewMode=function(){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,p.set(g.VIEW_MODE,e.orientationViewMode),T()},e.showHideEditor=w,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!p.get(g.VIEW_MODE)||"true"===p.get(g.VIEW_MODE),e.viewMode="none",e.getActiveRepository=function(){return r.getActiveRepository()},e.getActiveRepositoryNoError=function(){if(!e.repositoryError)return r.getActiveRepository()},e.orientationViewMode||w(),window.onbeforeunload=function(){e.currentQuery&&e.saveTab(e.currentQuery.id),p.set(g.TABS_STATE,e.tabs)},e.$on("$destroy",(function(){e.currentQuery&&e.saveTab(e.currentQuery.id),p.set(g.TABS_STATE,e.tabs),clearInterval(y)})),e.$on("$destroy",(function(){clearInterval(y),window.editor=null,window.yasr=null})),$(document).mouseup((function(t){const n=$("#sampleQueriesCollapse");!n.is(t.target)&&0===n.has(t.target).length&&e.showSampleQueries&&R()}));let x=p.get(g.TABS_STATE_MAXID)||1;function q(e){return $(e).attr("data-id")}function M(){if(e.currentTabConfig.resultsCount>=0){const e=$(".saveAsDropDown");e.length>0&&!window.editor.queryValid?yasr.header.find(".saveAsDropDown").remove():0===e.length&&window.editor.queryValid&&yasr.updateDownloadDropdown()}}function D(t){return!(e.queryIsRunning&&!e.namespacesLoading)||(t?n.info("New tabs may not be opened while query or update is running."):n.info("Tabs may not be switched while query or update is running."),!1)}e.highlightNextTabChange=!1,e.$on("tabAction",(function(n,r){r.relatedTarget&&(t.cancel(r.relatedTarget.timer),$(r.relatedTarget).css("color",""),e.saveTab(q(r.relatedTarget))),e.loadTab(q(r.target));const o=["#ED4F2F","","#ED4F2F"],a=[400,400,400];if(e.highlightNextTabChange){e.highlightNextTabChange=!1;let n=0;$(r.target).css("color",o[n]);const i=function(){n++,n<o.length?($(r.target).css("color",o[n]),r.target.timer=t(i,a[n])):$(r.target).css("color","")};t(i,a[n])}})),e.$on("deleteAllexeptSelected",(function(t,n){e.tabsData=n,e.tabs=n})),e.currentQuery={},e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.editQueryModal=_("#editQueryContainer"),e.deleteQueryModal=_("#confirmDeleteContainer"),e.saveQueryModal=_("#saveQueryContainer"),e.getResultsDescription=function(){let t;if(0===e.currentTabConfig.resultsCount)t="No results.";else{const n=(e.currentTabConfig.page-1)*e.currentTabConfig.pageSize+Math.min(e.currentTabConfig.resultsCount,e.currentTabConfig.pageSize);t="Showing results from "+s("currency")(e.currentTabConfig.offset,"",0)+" to "+s("currency")(n,"",0),e.currentTabConfig.allResultsCount>0&&(t+=e.currentTabConfig.allResultsCountExact?" of ":" of at least ",t+=s("currency")(e.currentTabConfig.allResultsCount,"",0)),t+="."}return t},e.getUpdateDescription=function(){return e.currentTabConfig.customUpdateMessage?e.currentTabConfig.customUpdateMessage:void 0===e.currentTabConfig.sizeDelta?"":e.currentTabConfig.sizeDelta<0?"Removed "+Math.abs(e.currentTabConfig.sizeDelta)+" statements.":e.currentTabConfig.sizeDelta>0?"Added "+e.currentTabConfig.sizeDelta+" statements.":"The number of statements did not change."},e.getStaleWarningMessage=function(){const t=60*Math.round((Date.now()-e.currentTabConfig.timeFinished)/6e4);if(t>=3600)return"Possibly stale result (obtained "+e.getHumanReadableSeconds(t)+" ago)."};const k=function(){};angular.element(u).bind("resize",k),e.$on("$destroy",(function(){angular.element(u).unbind("resize",k)}))}function o(e,t,n){n.queryExists&&(e.queryExists=!0),e.query=angular.copy(n.query),e.title=n.title,e.edit=n.edit,e.okButtonText=n.okButtonText,e.ok=function(){e.form.$valid&&t.close(e.query)},e.cancel=function(){t.dismiss("cancel")}}angular.module("graphdb.framework.core.directives.queryeditor.controllers",["graphdb.framework.utils.localstorageadapter","graphdb.framework.rest.sparql.service"]).controller("QueryEditorCtrl",r).controller("QuerySampleModalCtrl",o),r.$inject=["$scope","$timeout","toastr","$repositories","$modal","ModalService","SparqlRestService","$filter","$window","$jwtAuth","RDF4JRepositoriesRestService","MonitoringRestService","LocalStorageAdapter","LSKeys"],o.$inject=["$scope","$modalInstance","data"]},34:function(e,t,n){"use strict";n.r(t);n(29),n(4),n(32);var r=n(212),o=n.n(r),a=n(210),i=n.n(a);function s(e,t,n,r,a,s,u,c,l,d,p,g){let f;return{restrict:"AE",scope:!1,templateUrl:"js/angular/core/directives/queryeditor/templates/query-editor.html",link:function(y,m,h){y.nostorage=h.hasOwnProperty("nostorage"),y.notabs=h.hasOwnProperty("notabs"),y.notoolbar=h.hasOwnProperty("notoolbar"),y.notoolbarSaved=h.hasOwnProperty("notoolbarSaved"),y.notoolbarCopy=h.hasOwnProperty("notoolbarCopy"),y.notoolbarInference=h.hasOwnProperty("notoolbarInference"),y.notoolbarSameAs=h.hasOwnProperty("notoolbarSameAs"),y.nostatus=h.hasOwnProperty("nostatus"),y.norun=h.hasOwnProperty("norun"),y.runButtonName="Run",h.runButtonName&&(y.runButtonName=h.runButtonName);if(y.nocount="true"===h.nocount,h.callbackOnChange){const e=y[h.callbackOnChange];"function"==typeof e&&(f=e)}e((function(){!function(y){function m(){angular.element("#wb-sparql-saveQuery")[0].click()}function h(){y.runQuery(!1,!1)}function C(){y.runQuery(!1,!0)}function b(){if(y.tabs.length<2||!y.currentQuery.id||!y.isTabChangeOk(!1))return;let e=D(y.currentQuery.id);e=(e+1)%y.tabs.length,w(y.tabs[e].id)}function T(){if(y.tabs.length<2||!y.currentQuery.id||!y.isTabChangeOk(!1))return;let e=D(y.currentQuery.id);e--,-1===e&&(e=y.tabs.length-1),w(y.tabs[e].id)}function w(t){e((function(){let e=$('a[data-id = "'+t+'"]');0===e.length&&(e=$("a[data-id]").first()),e.tab("show")}),0)}y.changePagination=function(){y.runQuery(!0,y.explainRequested)},window.editor=o.a.fromTextArea(document.getElementById("query"),{persistent:null,value:"",indentUnit:4,createShareLink:null,cursorHeight:1,sparql:{showQueryButton:!1,acceptHeaderGraph:"application/x-graphdb-table-results+json, application/rdf+json;q=0.9, */*;q=0.8",acceptHeaderSelect:"application/x-sparqlstar-results+json, application/sparql-results+json;q=0.9, */*;q=0.8"},extraKeys:{"Ctrl-Enter":h,"Cmd-Enter":h,"Shift-Ctrl-Enter":C,"Shift-Cmd-Enter":C,"Ctrl-Alt-T":y.addNewTab,"Cmd-Alt-T":y.addNewTab,"Ctrl-S":m,"Cmd-S":m,"Ctrl-Alt-Left":T,"Cmd-Alt-Left":T,"Ctrl-Alt-Right":b,"Cmd-Alt-Right":b}}),window.editor.toastBuildIndex=function(){n.warning("",'<div class="autocomplete-toast"><a href="autocomplete">Autocomplete is OFF<br>Go to Setup -> Autocomplete</a></div>',{allowHtml:!0})},window.editor.toastError=function(e){n.error("Cannot execute autocomplete query. "+getError(e))},window.editor.on("changes",(function(){angular.element(".CodeMirror-linenumbers").css("width","1px"),angular.element(".CodeMirror-sizer").css("margin-left","0px"),clearTimeout(y.changesTimeout);const e=!window.editor.queryValid;y.changesTimeout=setTimeout(f?f():function(){const t=D(y.currentQuery.id)+1;$('a[data-id = "'+t+'"]').toggleClass("query-has-error",e).attr("title",e?"Query contains a syntax error. See the relevant line for more information.":"")},200),y.currentQuery.query=window.editor.getValue(),y.currentQuery.queryType=window.editor.getQueryType()})),$(".fullscreenToggleBtns").hide();const v=function(e){$(e.target).removeClass("fa-link").addClass("fa-check").blur(),setTimeout((function(){$(e.target).removeClass("fa-check").addClass("fa-link")}),1e3)};window.onbeforeunload=function(){y.nostorage||p.set(g.TABS_STATE,y.tabs),y.saveTab(y.currentQuery.id)};const S=o.a.executeQuery,E=o.a.getUrlArguments;function R(e,t,n){return{status:e,statusText:t,responseText:n}}let A,Q;y.$on("$destroy",(function(){y.nostorage||p.set(g.TABS_STATE,y.tabs),o.a.executeQuery=S,o.a.getUrlArguments=E,y.saveTab(y.currentQuery.id)})),o.a.drawButtons=function(e){e.buttons=$("#yasqe_buttons_mocked")},o.a.getActiveRepository=function(){return r.getActiveRepository()},o.a.getUrlArguments=function(e,t){const n=E(e,t),r=window.editor.getQueryType();return"SELECT"!==r&&"CONSTRUCT"!==r&&"DESCRIBE"!==r||(n.push({name:"limit",value:y.currentTabConfig.pageSize+1}),y.currentTabConfig.offset=(y.currentTabConfig.page-1)*y.currentTabConfig.pageSize+1,n.push({name:"offset",value:y.currentTabConfig.offset-1})),!y.explainRequested||"SELECT"!==r&&"CONSTRUCT"!==r||n.push({name:"explain",value:"true"}),n},o.a.executeQuery=function(e){if(Q&&$(Q.resultsContainer).length&&$(Q.resultsContainer).empty(),e.options.sparql.headers["X-GraphDB-Catch"]=y.currentTabConfig.pageSize+"; throw",y.currentTrackAlias="query-editor-"+performance.now()+"-"+Date.now(),e.options.sparql.headers["X-GraphDB-Track-Alias"]=y.currentTrackAlias,y.countTimeouted=!1,"query"===e.getQueryMode()?e.options.sparql.endpoint="repositories/"+r.getActiveRepository():"update"===e.getQueryMode()&&(e.options.sparql.endpoint="repositories/"+r.getActiveRepository()+"/statements"),e.options.sparql.args=[{name:"infer",value:y.currentQuery.inference},{name:"sameAs",value:y.currentQuery.sameAs}],y.currentTabConfig.customUpdateMessage="","update"!==window.editor.getQueryMode()){const t=y.currentTabConfig,n=y.executedQueryTab.id;return window.editor.options.sparql.handlers.countCallback=function(e,r,o){if(200===e.status){const a=y.tabs[D(n)];a&&(Q.setResultsCount(e,r,o),t.allResultsCount=Q.allCount,a.allResultsCount=Q.allCount,t.allResultsCountExact=!0,a.allResultsCountExact=!0,y.saveTab(a.id))}else t.countTimeouted=!0},null!=y.currentQuery.outputType?Q.options.output=y.currentQuery.outputType:Q.options.output="table",y.currentTabConfig.queryType=window.editor.getQueryType(),y.queryStartTime=(new Date).getTime(),S(e,{setQueryLimit:function(e){return"CONSTRUCT"===y.currentTabConfig.queryType&&r.isActiveRepoOntopType()?window.editor.getValueWithoutComments():e}})}{const t=function(){y.currentTabConfig.queryType="UPDATE",l.getRepositorySize().success((function(t){return y.repoSize=parseInt(t),y.queryStartTime=(new Date).getTime(),S(e,{})})).error((function(t){return n.warning("Could not get repository size for: "+r.getActiveRepository()+"; "+getError(t)),y.queryStartTime=(new Date).getTime(),S(e,{})}))};d.checkConnector(window.editor.getValue()).then((function(e){if(e.data.command&&!e.data.hasSupport){y.currentTabConfig.queryType="ERROR",y.currentTabConfig.timeFinished=Date.now(),y.currentTabConfig.timeTook=(y.currentTabConfig.timeFinished-y.queryStartTime)/1e3;const t=R(-1,"No support for "+e.data.connectorName,e.data.connectorName+" connectors are not supported because the plugin "+e.data.pluginName+" is not active.");return Q.results={getException:function(){return t}},y.setLoader(!1),void q({customError:t},"",null)}if("create"===e.data.command||"repair"===e.data.command){const t="repair"===e.data.command;t?(y.setLoader(!0,"Repairing connector "+e.data.name),y.currentTabConfig.customUpdateMessage="Repaired connector "+e.data.name+"."):(y.setLoader(!0,"Creating connector "+e.data.name),y.currentTabConfig.customUpdateMessage="Created connector "+e.data.name+".");const n=y.$new(!0);n.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:t?"Repairing":"Creating",eta:"-",inline:!1,iri:e.data.iri,name:e.data.name,doneCallback:function(){A.dismiss("cancel")}},n.getHumanReadableSeconds=y.getHumanReadableSeconds,A=u.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:n})}else"drop"===e.data.command&&(y.setLoader(!0,"Deleting connector "+e.data.name),y.currentTabConfig.customUpdateMessage="Deleted connector "+e.data.name+".");t()}),(function(){t()}))}};const x=o.a.getAjaxConfig;function q(e,t,n){e.getResponseHeader&&e.getResponseHeader("content-type")&&(e.contentType=e.getResponseHeader("content-type")),delete e.response;const r=D(y.executedQueryTab.id),o=y.tabs[r],a={queryType:y.currentTabConfig.queryType,yasrData:e,textStatus:t,jqXhrOrErrorString:n,page:y.currentTabConfig.page,pageSize:y.currentTabConfig.pageSize,allResultsCount:y.currentTabConfig.allResultsCount,allResultsCountExact:y.currentTabConfig.allResultsCountExact,resultsCount:y.currentTabConfig.resultsCount,offset:y.currentTabConfig.offset,timeTook:y.currentTabConfig.timeTook,timeFinished:y.currentTabConfig.timeFinished,sizeDelta:y.currentTabConfig.sizeDelta,customUpdateMessage:y.currentTabConfig.customUpdateMessage,errorMessage:y.currentTabConfig.errorMessage,warningMessage:y.currentTabConfig.warningMessage};"ERROR"!==y.currentTabConfig.queryType&&"UPDATE"!==y.currentTabConfig.queryType&&"ASK"!==y.currentTabConfig.queryType&&(a.outputType=y.yasr.options.output),angular.extend(y.currentQuery,a),angular.extend(o,a),y.nostorage||p.set(g.TABS_STATE,y.tabs),$('a[data-id = "'+y.executedQueryTab.id+'"]').tab("show")}function M(){if(window.editor.getValue().includes("onto:explain")||window.editor.getValue().includes("http://www.ontotext.com/explain")){var e=document.getElementsByClassName("nonUri")[0];e.classList.add("cm-s-default"),e.setAttribute("id","highlighted_output");var t=e.innerText.substring(1,e.innerText.length-1);e.innerHTML="",o.a.runMode(t,"sparql11",document.getElementById("highlighted_output"));const n=$(".yasr .cm-comment");for(const e of n)e.innerHTML.includes("Begin optimization group")||e.innerHTML.includes("End optimization group")?e.setAttribute("id","cm-comment-explain-optimization-gr"):e.setAttribute("id","cm-comment-explain-statistics")}}function D(e){for(let t=0;t<y.tabs.length;t++){if(y.tabs[t].id===e)return t}}function k(e){return angular.isDefined(e)&&"false"!==e}function O(e,n,r){const o=y.getExistingTabId(e),a=y.$on("tabLoaded",(function(){angular.isDefined(n)&&(y.currentQuery.inference=k(n)),angular.isDefined(r)&&(y.currentQuery.sameAs=k(r)),k(t.search().execute)&&("update"===window.editor.getQueryMode()?s.openSimpleModal({title:"Confirm execute",message:"This is an update and it may change the data in the repository.<br>Are you sure you want to execute it automatically?",warning:!0}).result.then((function(){y.runQuery(!1)})):y.runQuery(!1)),a()}));y.highlightNextTabChange=!0,angular.isDefined(o)?w(o):y.addNewTab(null,e.name,e.body)}function B(){if(t.search().savedQueryName)e=t.search().savedQueryName,r=t.search().owner,o=t.search().infer,i=t.search().sameAs,a.getSavedQuery(e,r).success((function(e){O(e,o,i)})).error((function(t){n.error("Could not get data for saved query: "+e+"; "+getError(t))}));else if(t.search().query){O({name:t.search().name,body:t.search().query},t.search().infer,t.search().sameAs)}else{w(p.get(g.TABS_STATE_CURRENT_ID))}var e,r,o,i}function N(){y.getNamespaces(),o.a.signal(window.editor,"repositoryOrAuthorizationChanged",r.getActiveRepository(),c.getAuthToken()),B()}o.a.getAjaxConfig=function(e,t){const n=x(e,t);return _.extend(n.headers,{Authorization:c.getAuthToken()}),n},y.copyToClipboardQuery=function(e,t){s.openCopyToClipboardModal(function(e,t){let n=[location.protocol,"//",location.host,location.pathname].join("");e?(n=n+"?savedQueryName="+encodeURIComponent(e),null!=t&&(n+="&owner="+encodeURIComponent(t))):n=n+"?"+$.param({name:y.currentQuery.name,infer:y.currentQuery.inference,sameAs:y.currentQuery.sameAs,query:window.editor.getValue()});return n}(e,t))},y.copyToClipboardResult=function(e){s.openCopyToClipboardModal(e)},y.goToVisual=function(){const e={query:window.editor.getValue(),sameAs:y.currentQuery.sameAs,inference:y.currentQuery.inference};t.path("graphs-visualizations").search(e)},$("textarea").on("paste",(function(){e((function(){y.addKnownPrefixes()}),0)})),Q=i()(document.getElementById("yasr"),{getUsedPrefixes:{},persistency:!1}),window.yasr=Q,Q.afterCopy=v,Q.getQueryResultsAsFormat=function(e){const t=$("#wb-download");t.attr("action","repositories/"+r.getActiveRepository()),$("#wb-download-query").val(y.currentQuery.query),window.editor.getValue()!==y.currentQuery.query&&n.warning("The query in your editor does not match the query results. Download will save the results from the last executed query."),$("#wb-download-infer").val(y.currentQuery.inference),$("#wb-download-sameAs").val(y.currentQuery.sameAs);const o=localStorage.getItem("com.ontotext.graphdb.auth");o&&$("#wb-auth-token").val(o),$("#wb-download-accept").val(e),t.submit()},window.editor.options.sparql.handlers.complete=function(t,r,o){function a(){q(t,r,o)}if(A&&A.dismiss("cancel"),null===window.editor)return void y.setLoader(!1);if(y.currentTabConfig.errorMessage=t.getResponseHeader("X-GraphDB-Error"),y.currentTabConfig.warningMessage=t.getResponseHeader("X-GraphDB-Warning"),Q.currentQuery=y.currentQuery,y.currentTabConfig.timeFinished=Date.now(),y.currentTabConfig.timeTook=(y.currentTabConfig.timeFinished-y.queryStartTime)/1e3,t.status>=400)return t.responseText=t.responseText.replace(/^([^: ]+: )+/,""),y.currentTabConfig.queryType="ERROR",a(),y.setYasrResponse(t,r,o),void y.setLoader(!1);if(0===t.status){y.currentTabConfig.queryType="ERROR";const e=R(-1,"Request was aborted","The request has been aborted. There are no results to show.");return Q.results={getException:function(){return e}},y.setLoader(!1),void q({customError:e},"",null)}let i;if(y.setLoader(!1),"update"===window.editor.getQueryMode())i=function(){l.getRepositorySize().success((function(e){let t;void 0!==y.repoSize&&(t=Number(e)-y.repoSize),y.currentTabConfig.sizeDelta=t,a()})).error((function(e){n.warning("Could not get repository size for: "+y.getActiveRepository()+"; "+getError(e)),y.currentTabConfig.sizeDelta=void 0,a()}))};else{if(200===t.status){const e=t.getResponseHeader("Content-Type");0!==e.indexOf("application/sparql-results+json")&&0!==e.indexOf("application/x-sparqlstar-results+json")&&0!==e.indexOf("application/x-graphdb-table-results+json")||t.responseJSON.results&&(y.currentTabConfig.resultsCount=t.responseJSON.results.bindings.length,t.responseJSON.results.bindings.length>y.currentTabConfig.pageSize&&(t.responseJSON.results.bindings.length=y.currentTabConfig.pageSize),y.currentTabConfig.allResultsCountExact||((y.nocount||y.countTimeouted||y.currentTabConfig.resultsCount<=y.currentTabConfig.pageSize)&&(t.status=204),y.currentTabConfig.allResultsCount=Math.max(y.currentTabConfig.allResultsCount,y.currentTabConfig.pageSize*(y.currentTabConfig.page-1)+y.currentTabConfig.resultsCount),y.currentTabConfig.resultsCount<=y.currentTabConfig.pageSize&&(y.currentTabConfig.allResultsCountExact=!0)))}y.setLoader(!0,"Rendering results",null,!0),i=function(){y.setYasrResponse(t,r,o),a(),y.setLoader(!1)}}e((function(){i(),"CONSTRUCT"!==window.editor.getQueryType()?($(".yasr_btnGroup.nav.nav-tabs li a.disabled").removeClass("disabled").css("font-weight","400"),$(".yasr_btnGroup.nav.nav-tabs li.disabled a").addClass("disabled").css("font-weight","200"),"DESCRIBE"===window.editor.getQueryType()&&$(".yasr_btnGroup.nav.nav-tabs li a").removeClass("disabled").css("font-weight","400")):"CONSTRUCT"===window.editor.getQueryType()&&$(".yasr_btnGroup.nav.nav-tabs li a.disabled").removeClass("disabled").css("font-weight","400"),$("#yasr").css("padding","0"),$(".yasr_btnGroup li:nth-child(2)").hasClass("active")&&e((function(){$(".yasr_btnGroup li:nth-child(2) a").get(0).click()}),100),$("#wb-sparql-addNewTab").click((function(){$(".dataTables_filter").hide(),$(".resultsTable").hide()}))}),100)},window.editor.options.sparql.handlers.resetResults=function(){},y.yasr=Q,y.setYasrResponse=function(e,t,n){e.responseJSON&&(e.response=e.responseJSON,e.responseText=void 0),window.yasr.plugins.table.options.highlightLiteralCellResult=M,Q.setResponse(e,t,n)},y.$watch("yasr.options.output",(function(e){if(e&&"UPDATE"!==y.currentTabConfig.queryType&&"ASK"!==y.currentTabConfig.queryType){const t=y.tabs[D(y.currentQuery.id)];angular.isDefined(t)&&y.currentTabConfig.queryType&&t.outputType!==e&&(t.outputType=y.currentQuery.outputType=e,y.saveTab(t.id))}})),void y.$watch("namespaces",(function(){y.namespaces&&(Q&&Q.options&&y.namespaces&&(Q.options.getUsedPrefixes=y.namespaces),o.a.signal(window.editor,"namespacesChanged",y.namespaces))})),$(document).mouseup((function(e){const t=$("#sampleQueriesCollapse");!t.is(e.target)&&0===t.has(e.target).length&&y.showSampleQueries&&y.toggleSampleQueries()})),r.getActiveRepository()&&N();y.$on("repositoryIsSet",(function(){r.getActiveRepository()&&N()})),e((function(){angular.element(document).find(".CodeMirror textarea:first-child").focus()}),50)}(y)}),150)}}}angular.module("graphdb.framework.core.directives.queryeditor.queryeditor",["ngCookies","graphdb.framework.externalsync.controllers","graphdb.framework.rest.connectors.service","graphdb.framework.utils.localstorageadapter"]).directive("queryEditor",s),s.$inject=["$timeout","$location","toastr","$repositories","SparqlRestService","ModalService","$modal","$jwtAuth","RDF4JRepositoriesRestService","ConnectorsRestService","LocalStorageAdapter","LSKeys"]}}]);
|
|
2
|
-
//# sourceMappingURL=8.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[8,27,34,49,85],{29:function(e,t){angular.module("graphdb.framework.rest.connectors.service",[]).factory("ConnectorsRestService",r),r.$inject=["$http"];const n="rest/connectors";function r(e){return{getConnectors:function(){return e.get(n)},initConnector:function(t){return e.get(`${n}/options?prefix=${t}`)},hasConnector:function(t){return e.get(`${n}/existing?prefix=${t}`)},checkConnector:function(t){return e.post(`${n}/check`,t,{headers:{"Content-Type":"text/plain"}})}}}},32:function(e,t,n){"use strict";n.r(t);n(10),n(29);function r(e){const t=[];return Object.keys(e).forEach((function(n){t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]))})),t.join("&")}function o(e,t){for(let r=0;r<t.length;r++){const o=t[r];if("StringArray"===o.__type)e[o.__name]||(e[o.__name]=[""]);else if("OptionArray"===o.__type)if(e[o.__name])for(let t=0;t<o.__childOptions.length;t++){const n=o.__childOptions[t];if("Boolean"===n.__type)for(let t=0;t<e[o.__name].length;t++){const r=e[o.__name][t];!r.hasOwnProperty([n.__name])&&angular.isDefined(n.__defaultValue)&&(r[n.__name]=n.__defaultValue)}}else{e[o.__name]=[];const t={};for(let e=0;e<o.__childOptions.length;e++){const n=o.__childOptions[e];"StringArray"===n.__type?t[n.__name]=[""]:t[n.__name]=angular.isUndefined(n.__defaultValue)?"":n.__defaultValue}e[o.__name].push(t)}else"Map"===o.__type?e[o.__name]?e[o.__name]=(n=e[o.__name],_.map(n,(function(e,t){return{key:t,value:e}}))):e[o.__name]=[]:"JsonString"===o.__type?!e[o.__name]||e[o.__name]instanceof String||"string"==typeof e[o.__name]||(e[o.__name]=angular.toJson(e[o.__name],2)):angular.isUndefined(e[o.__name])&&(e[o.__name]=angular.isUndefined(o.__defaultValue)?"":o.__defaultValue)}var n;return e}function a(e,t,n){return e.post("repositories/"+t,r({query:n}),{headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/sparql-results+json","X-GraphDB-Local-Consistency":"updating"}})}function i(e){return e.substring(0,e.length-1)+"/instance#"}function s(e,t,n,r,o){const a=function e(t,n){const r={};return _.each(n,(function(n){angular.isDefined(t[n.__name])&&("OptionArray"===n.__type?(r[n.__name]=[],_.each(t[n.__name],(function(t){r[n.__name].push(e(t,n.__childOptions))}))):r[n.__name]=angular.copy(t[n.__name]))})),r}(n,r);for(let e=0;e<r.length;e++)try{"Map"===r[e].__type?a[r[e].__name]=(s=a[r[e].__name],_.reduce(s,(function(e,t){if(""===t.key&&""===t.value);else{if(""===t.key)throw new Error('Key may not be empty with value "'+t.value+'"');if(e.hasOwnProperty(t.key))throw new Error("Duplicate key "+t.key);e[t.key]=t.value}return e}),{})):"JsonString"===r[e].__type&&(a[r[e].__name]=angular.fromJson(a[r[e].__name]))}catch(t){return o(r[e].__label,t.message),null}var s;!function e(t){Array.isArray(t)&&(t=_.filter(t,(function(e){return null!==e&&(!e.trim||""!==e.trim())})));return Object.keys(t).forEach((function(n){""!==t[n]&&null!=t[n]||!1===t[n]?"object"==typeof t[n]&&(t[n]=e(t[n])):delete t[n]})),t}(a);let u="";return u+="PREFIX :<"+t+">\n",u+="PREFIX inst:<"+i(t)+">\n",u+="INSERT DATA {\n",u+="\tinst:"+e+" :createConnector '''\n",u+=angular.toJson(a,2),u+="\n''' .\n}\n",u=u.replace(/\\/g,"\\\\\\"),u}function u(e,t,n,u,c,l,d,p,g){function f(t){e.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:t?"Repairing":"Creating",waitOnRepairStartOnce:!!t,eta:"-",inline:!1,iri:null}}function y(t,n,r){return f(r),$.extend(e.beingBuiltConnector,{iri:i(t)+n,name:n,inline:!1,doneCallback:function(){e.beingBuiltConnector.modalInstance.dismiss("cancel")}}),e.beingBuiltConnector.modalInstance=u.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:e}),e.beingBuiltConnector.modalInstance}function m(t,o,a){const i=y(t.value,o.name,!1);p.addStatements(n.getActiveRepository(),r({update:o.query})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(t.value)).then((function(n){e.existing[t.key]=n.data}))})),c.success("Created connector "+o.name)}),(function(e){c.error(getError(e)),a()})).finally((function(){i.dismiss("cancel")}))}e.loader=!1,e.controllers=[],e.existing={},e.definitions={},e.getLoaderMessage=function(){const t=(Date.now()-e.loaderStartTime)/1e3,n=e.getHumanReadableSeconds(t);let r="";return r=e.progressMessage?e.progressMessage+"... "+n:"Running operation..."+n,e.extraMessage&&t>10&&(r+="\n"+e.extraMessage),r},e.setLoader=function(t,n,r){t?(e.loader=!0,e.loaderStartTime=Date.now(),e.progressMessage=n,e.extraMessage=r):(e.loader=!1,e.progressMessage="",e.extraMessage="")},e.initConnector=function(t){return g.initConnector(encodeURIComponent(t.value)).then((function(n){return e.definitions[t.key]=n.data,g.hasConnector(encodeURIComponent(t.value)).then((function(n){e.existing[t.key]=n.data}))}))},e.getConnectors=function(){e.isLicenseValid()&&e.canWriteActiveRepo()&&(e.setLoader(!0,"Fetching connectors","Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first."),g.getConnectors().then((function(r){e.connectors=Object.keys(r.data).map((function(e){return{key:e,value:r.data[e]}})),d.all(_.map(e.connectors,(function(t){return e.initConnector(t)}))).finally((function(){f();const r=function(e){const t=_.map(e,(function(e){return"<"+e.value+"connectorStatus>"})).join("|");return t?"SELECT ?connector ?status { ?connector "+t+" ?status }":null}(e.connectors);r?function(e){return a(t,n.getActiveRepository(),e)}(r).then((function(t){const n=function(e){if(e.bindings)for(let t=0;t<e.bindings.length;t++)try{const n=JSON.parse(e.bindings[t].status.value);if("BUILDING"===n.status)return{connector:e.bindings[t].connector.value,status:n}}catch(e){console.error(e)}return{}}(t.data.results);if(n.connector){const t=n.connector.split(/#/);t[0]=t[0].replace(/\/instance$/,"#"),r=t[0],o=t[1],f(),$.extend(e.beingBuiltConnector,{iri:i(r)+o,name:o,inline:!0,doneCallback:function(){e.beingBuiltConnector.inline=!1}})}var r,o})).finally((function(){e.setLoader(!1)})):e.setLoader(!1)}))})).catch((function(t){e.setLoader(!1),c.error(getError(t),"Could not get connectors")})),e.existing={})},e.getOptions=function(t){return e.definitions[t.key]},e.isEmpty=function(e){return angular.isObject(e)&&0===Object.keys(e).length},e.toPrettyJson=function(e){return angular.toJson(e,2)},e.$watch((function(){return n.getActiveRepository()}),e.getConnectors),e.$watch((function(){return n.getActiveLocation()}),e.getConnectors),e.copyConnector=function(t,n){let r;angular.isUndefined(n)||(r=angular.copy(n),r.name=r.name+"-copy"),u.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return t},values:function(){return angular.isUndefined(r)?{name:"",values:{}}:r},options:function(){return e.getOptions(t)}}}).result.then((function(n){m(t,n,(function(){n.skipConversion=!0,e.newConnector(t,n)}))}))},e.newConnector=function(t,n){u.open({templateUrl:"pages/createConnector.html",controller:"CreateConnectorCtrl",size:"lg",backdrop:"static",resolve:{connector:function(){return t},values:function(){return angular.isUndefined(n)?{name:"",values:{}}:n},options:function(){return e.getOptions(t)}}}).result.then((function(n){m(t,n,(function(){n.skipConversion=!0,e.newConnector(t,n)}))}))},e.repair=function(t,o){l.openSimpleModal({title:"Confirm repair",message:"Are you sure you want to repair this connector?<br>Note that repair means delete + recreate with the same settings.",warning:!0}).result.then((function(){const a=y(o.value,t.name,!0),s=(u=t.name,"PREFIX prefix:<"+(l=o.value)+">\nINSERT DATA {\n\t<"+i(l)+u+'> prefix:repairConnector ""\n}');var u,l;p.addStatements(n.getActiveRepository(),r({update:s})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(o.value)).then((function(t){e.existing[o.key]=t.data}))})),c.success("Repaired connector "+t.name)}),(function(e){c.error(getError(e))})).finally((function(){a.dismiss("cancel")}))}))},e.delete=function(t,o){const a=o.key.indexOf("Elastic")>=0||o.key.indexOf("Solr")>=0;u.open({templateUrl:"js/angular/externalsync/templates/deleteConnector.html",controller:"DeleteConnectorCtrl",resolve:{type:function(){return o.key},isExternal:function(){return a}}}).result.then((function(i){e.setLoader(!0,"Deleting connector "+t.name,"This is usually a fast operation but it might take a while.");const s=function(e,t,n){const r=t.substring(0,t.length-1)+"/instance#";return"PREFIX prefix:<"+t+">\nINSERT DATA {\n\t<"+r+e+'> prefix:dropConnector "'+(n?"force":"")+'"\n}'}(t.name,o.value,i);p.addStatements(n.getActiveRepository(),r({update:s})).then((function(){g.getConnectors().then((function(){g.hasConnector(encodeURIComponent(o.value)).then((function(t){e.existing[o.key]=t.data}))})),i?(c.success("Deleted (with force) connector "+t.name),a&&c.warning("You may have to remove the index manually from "+o.key)):c.success("Deleted connector "+t.name)}),(function(e){c.error(getError(e))})).finally((function(){e.setLoader(!1)}))}))},e.viewQuery=function(t,n){u.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){const r=e.getOptions(t);return s(n.name,t.value,o(n.values,r),r)}}})}}function c(e,t,n,r){e.force=!1,e.type=n,e.isExternal=r,e.ok=function(){t.close(e.force)},e.cancel=function(){t.dismiss()}}function l(e,t,n,r,o){function a(){return s(e.name,n.value,e.values,e.options,(function(e,t){o.error(t,e)}))}e.connector=n,e.addField=function(t,n){const r=angular.copy(e.defaultValues[n][0]);e.values[n].splice(t+1,0,r)},e.addOption=function(e,t){t.splice(e+1,0,"")},e.deleteOption=function(e,t){t.splice(e,1)},e.addMapOption=function(e,t){t.splice(e+1,0,{key:"",value:""})},e.deleteMapOption=function(e,t){t.splice(e,1)},e.ok=function(){if(e.form.$valid){const n=a();n&&t.close({name:e.name,values:e.values,options:e.options,query:n})}},e.viewQuery=function(){const e=a();e&&r.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return e}}})},e.cancel=function(){t.dismiss("cancel")}}function d(e,t,n,r,a,i,s,u){angular.extend(this,t("ExtendNewConnectorCtrl",{$scope:e,$modalInstance:r,connector:a,$modal:i})),e.values=s.values,e.options=u,e.name=s.name,s.skipConversion||(e.values=o(e.values,e.options)),e.defaultValues=angular.copy(e.values)}function p(e,t,n,r){function o(){const o=function(e){const t=e.replace(/\/instance#.+$/,"#connectorStatus");let n="";return n+="SELECT ?status {\n",n+="\t<"+e+"> <"+t+"> ?status",n+="\n}",n}(e.beingBuiltConnector.iri);e.beingBuiltConnector.iri=null,e.progressInterval=t((function(){(function(e){return a(n,r.getActiveRepository(),e)})(o).then((function(n){const r=function(e){if(e.bindings&&e.bindings.length>0)try{return JSON.parse(e.bindings[0].status.value)}catch(e){console.error(e)}return{}}(n.data.results);"BUILDING"===r.status?(e.beingBuiltConnector.status=r,e.beingBuiltConnector.percentDone=(100*r.processedEntities/r.estimatedEntities).toFixed(0),e.beingBuiltConnector.eta=e.getHumanReadableSeconds(r.etaSeconds),e.beingBuiltConnector.actionName=r.repair?"Repairing":"Creating",e.beingBuiltConnector.waitOnRepairStartOnce=!1):"BUILT"!==r.status||e.beingBuiltConnector.waitOnRepairStartOnce||(t.cancel(e.progressInterval),e.beingBuiltConnector.doneCallback&&e.beingBuiltConnector.doneCallback())}))}),1e3),e.$on("$destroy",(function(){t.cancel(e.progressInterval)}))}e.beingBuiltConnector=e.beingBuiltConnector||{},!e.beingBuiltConnector.inline&&e.beingBuiltConnector.iri&&o(),e.$watch("beingBuiltConnector.iri",(function(t){e.beingBuiltConnector.inline&&t&&o()}))}angular.module("graphdb.framework.externalsync.controllers",["graphdb.framework.rest.rdf4j.repositories.service","graphdb.framework.rest.connectors.service"]).controller("ConnectorsCtrl",u).controller("ExtendNewConnectorCtrl",l).controller("CreateConnectorCtrl",d).controller("CreateProgressCtrl",p).controller("DeleteConnectorCtrl",c).filter("ceil",(function(){return function(e){return Math.ceil(e)}})),u.$inject=["$scope","$http","$repositories","$modal","toastr","ModalService","$q","RDF4JRepositoriesRestService","ConnectorsRestService"],c.$inject=["$scope","$modalInstance","type","isExternal"],l.$inject=["$scope","$modalInstance","connector","$modal","toastr"],d.$inject=["$scope","$controller","$http","$modalInstance","connector","$modal","values","options"],p.$inject=["$scope","$interval","$http","$repositories"]},33:function(e,t,n){"use strict";n.r(t);n(4),n(12);function r(e,t,n,r,o,a,i,s,u,c,l,d,p,g){const f={id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:!0,sameAs:!0};let y,m=c.getPrincipal();function h(e,t){f.inference=t.appSettings.DEFAULT_INFERENCE,f.sameAs=t.appSettings.DEFAULT_SAMEAS,e.skipCountQuery=!t.appSettings.EXECUTE_COUNT,e.ignoreSharedQueries=t.appSettings.IGNORE_SHARED_QUERIES,e.tabsData=e.tabs=p.get(g.TABS_STATE)||[f],e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(e,t,n){C(n.currentQuery)})),e.$on("repositoryIsSet",v)}function C(t){!function(){if(r.isActiveRepoOntopType())return;const t=document.getElementById("sameAs");!t||e.currentQuery.inference||t.disabled?e.currentQuery.inference&&t.disabled&&(t.removeAttribute("disabled"),e.currentQuery.sameAs=m.appSettings.DEFAULT_SAMEAS):(t.disabled=!0,e.currentQuery.sameAs=!1)}(),e.tabs.forEach((function(n,o){n.id===t.id&&(e.tabs[o].query=t.query,r.isActiveRepoOntopType()||(e.tabs[o].inference=t.inference,e.tabs[o].sameAs=t.sameAs))})),p.set(g.TABS_STATE,e.tabs)}function b(t,n,r,o){const a=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=t,t?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=n,e.extraMessage=r,e.noLoaderTimer=o,a.addClass("hide")):(e.progressMessage="",e.extraMessage="",e.noLoaderTimer=!1,e.currentTrackAlias=null,e.abortRequested=!1,a.removeClass("hide")),null===e.$$phase&&e.$apply()}function T(n){function r(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}if(e.orientationViewMode){if("yasr"===e.viewMode){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px"}else e.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(e.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let e=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;e-=40,document.querySelector(".CodeMirror-wrap").style.height=e+"px",document.getElementById("yasr").style.minHeight=e+"px"}else{let r;r=t(n?function(){e.fixSizesOnHorizontalViewModeSwitch(n)}:e.fixSizesOnHorizontalViewModeSwitch,100),e.$on("$destroy",(function(){t.cancel(r)}))}window.yasr&&window.yasr.container&&t((function(){window.yasr.container.resize()}),100)}function w(){T(!0)}function v(t,n){n.newRepo&&(e.tabsData=p.get(g.TABS_STATE),e.tabsData.forEach((function(e){e.yasrData=void 0,e.queryType=void 0,e.resultsCount=0,e.allResultsCount=0,e.sizeDelta=void 0})),p.set(g.TABS_STATE,e.tabsData),e.tabs=e.tabsData,e.currentQuery={},e.errorMessage=null,e.repositoryError=null)}function S(e){t((function(){$('a[data-id = "'+e+'"]').tab("show")}),0)}function E(o,a){if(e.executedQueryTab=e.currentQuery,a){if("SELECT"!==window.editor.getQueryType()&&"CONSTRUCT"!==window.editor.getQueryType())return void n.warning("Explain only works with SELECT or CONSTRUCT queries.");if(r.isActiveRepoOntopType())return void n.warning("Explain not supported for Virtual repositories.")}if(e.explainRequested=a,!e.queryIsRunning){if(o?e.currentTabConfig.resultsCount=0:e.resetCurrentTabConfig(),e.lastRunQueryMode=window.editor.getQueryMode(),"update"===e.lastRunQueryMode&&r.isActiveRepoOntopType())return void n.warning("Updates are not supported for Virtual repositories.");if(b(!0,"update"===e.lastRunQueryMode?"Executing update":"Evaluating query"),"none"!==e.viewMode){e.viewMode="none",e.orientationViewMode&&e.fixSizesOnHorizontalViewModeSwitch();const n=t(window.editor.query,500);e.$on("$destroy",(function(){t.cancel(n)}))}else window.editor.query()}}function R(){e.showSampleQueries=!e.showSampleQueries,e.showSampleQueries?i.getSavedQueries().success((function(t){e.sampleQueries=t,$("#sampleQueriesCollapse").collapse("show").width("300px")})).error((function(e){const t=getError(e);n.error(t,"Error! Could not get saved queries")})):$("#sampleQueriesCollapse").collapse("hide")}function A(t){let n=void 0;return e.tabsData.forEach((function(e){if(e.name===t.name&&e.query===t.body)return n=e.id,e})),n}function _(t){return function(n,r,o){e.savedQuery={name:n,query:r||window.editor.getValue(),shared:o},$(t).modal("show")}}function Q(t){for(let n=0;n<e.tabsData.length;n++){if(e.tabsData[n].id===t)return n}}m?h(e,m):e.$on("securityInit",(function(e){m=c.getPrincipal(),h(e.currentScope,m)})),this.hint=document.createElement("span"),this.hint.innerHTML='Hint: "abC" matches "abC*", "ab c*" and "ab-c*"',this.hint.style.fontSize="12px",this.hint.style.color="gray",this.hint.style.backgroundColor="white",this.hint.style.position="absolute",this.hint.style.zIndex="3",this.hint.style.paddingLeft="12px",e.$watch((function(){return angular.element(".CodeMirror-hints").length}),e=>{if(e){const e=angular.element(".CodeMirror-hints")[0].getBoundingClientRect();document.body.appendChild(this.hint),this.hint.style.top=e.top-20+"px",this.hint.style.left=e.right-this.hint.offsetWidth-12+"px"}else this.hint&&this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint)}),e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:1e3,page:1,allResultsCount:0,resultsCount:0}},e.queryExists=!1,e.resetCurrentTabConfig(),e.saveTab=function(t){const n=Q(t);if(void 0===n)return{};const r=e.tabsData[n];return e.saveQueryToLocal(r),r},e.loadTab=function(n){e.tabsData=p.get(g.TABS_STATE)||[f];const o=Q(n),a=e.tabsData[o];a.yasrData&&b(!0,"Rendering results",null,!0);t((function(){""===e.currentQuery.query&&(e.currentQuery.query=" "),t((function(){window.editor.setValue(e.currentQuery.query),e.yasr.updateDownloadDropdown(),e.$broadcast("tabLoaded",e.currentQuery.id),e.yasr.options.output=a.outputType,a.yasrData&&(a.yasrData.customError?(e.yasr.results={getException:function(){return a.yasrData.customError}},b(!1)):t((function(){e.setYasrResponse(a.yasrData,a.textStatus,a.jqXhrOrErrorString),b(!1),$(".yasr_btnGroup li:nth-child(2)").hasClass("active")&&t((function(){$(".yasr_btnGroup li:nth-child(2) a").get(0).click()}),0)}),0))}),0)}),0),p.set(g.TABS_STATE_CURRENT_ID,n),e.currentQuery=a,t((function(){e.currentTabConfig={},e.currentTabConfig.queryType=a.queryType,e.currentTabConfig.resultsCount=a.resultsCount,e.currentTabConfig.offset=a.offset,e.currentTabConfig.allResultsCount=a.allResultsCount,e.currentTabConfig.allResultsCountExact=a.allResultsCountExact,e.currentTabConfig.page=a.page,e.currentTabConfig.pageSize=a.pageSize,e.currentTabConfig.timeFinished=a.timeFinished,e.currentTabConfig.timeTook=a.timeTook,e.currentTabConfig.sizeDelta=a.sizeDelta,e.currentTabConfig.customUpdateMessage=a.customUpdateMessage,e.currentTabConfig.errorMessage=a.errorMessage,e.currentTabConfig.warningMessage=a.warningMessage,e.$apply()}),0),$("#yasr").css("padding","0"),y||(y=setInterval(M,200));!function(){const t=r.isActiveRepoOntopType(),n=r.isActiveRepoFedXType();(function(e){const t=document.getElementById("sameAs"),n=document.getElementById("inference");t&&(t.disabled=!!e);n&&(n.disabled=!!e)})(t),e.nocount=!(!t&&!n)||!m.appSettings.EXECUTE_COUNT,t&&(e.currentQuery.inference=!0,e.currentQuery.sameAs=!0)}()},e.addNewTab=function(n,r,o){if(!D(!0))return;let a;a=r||o?{id:"1",name:r,query:o,inference:m.appSettings.DEFAULT_INFERENCE,sameAs:m.appSettings.DEFAULT_SAMEAS}:{id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:m.appSettings.DEFAULT_INFERENCE,sameAs:m.appSettings.DEFAULT_SAMEAS};x++;const i=""+x;e.tabsData=e.tabs;const s=a;s.id=i,e.tabsData.push(s),p.set(g.TABS_STATE_MAXID,x),p.set(g.TABS_STATE,e.tabsData);const u=Array.prototype.slice.call(arguments,1);t((function(){e.$apply(),S(i),n&&n.apply(this,u)}),0),e.tabs=e.tabsData},e.isTabChangeOk=D,e.runQuery=E,e.abortCurrentQuery=function(){d.abortQueryByAlias(e.currentTrackAlias).success((function(){e.abortRequested=!0}))},e.editQuery=function(t){o.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:'Edit Saved Query: "'+t.name+'"',query:t,edit:!0,okButtonText:"Save"}}}}).result.then((function(r){const o={name:r.name,body:r.body,shared:r.shared};t.name!==r.name?i.addNewSavedQuery(o).success((function(){e.deleteQueryHttp(t.name,!0)})).error((function(e){const t=getError(e);n.error(t,"Error! Cannot edit saved query")})):i.editSavedQuery(o).success((function(){$("#editQueryContainer").modal("hide"),e.toggleSampleQueries(),n.success("Saved query "+t.name+" was edited.")})).error((function(e){const t=getError(e);n.error(t,"Error! Cannot edit Saved query")}))}))},e.getNamespaces=function(){b(!0,"Refreshing namespaces","Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first."),e.namespacesLoading=!0,l.getRepositoryNamespaces().success((function(t){const n={};t.results.bindings.forEach((function(e){n[e.prefix.value]=e.namespace.value})),e.namespaces=n})).error((function(t){e.repositoryError=getError(t)})).finally((function(){b(!1),e.namespacesLoading=!1}))},e.changePagination=function(){E(!0,e.explainRequested)},e.toggleSampleQueries=R,e.addKnownPrefixes=function(){i.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const t=getError(e);return n.error(t,"Error! Could not add known prefixes"),!0}))},e.getExistingTabId=A,e.querySelected=function(t){const n=A(t);e.toggleSampleQueries(),e.isTabChangeOk(!1)&&(e.highlightNextTabChange=!0,angular.isDefined(n)?S(n):e.addNewTab(null,t.name,t.body))},e.deleteQuery=function(t){a.openSimpleModal({title:"Confirm",message:"Are you sure you want to delete the saved query '"+t+"'?",warning:!0}).result.then((function(){e.deleteQueryHttp(t)}))},e.deleteQueryHttp=function(t,r){i.deleteSavedQuery(t).success((function(){e.toggleSampleQueries(),r||n.success("Saved query: "+t+" was deleted.")})).error((function(e){const t=getError(e);n.error(t,"Error! Cannot delete saved query")}))},e.saveQuery=function(t,n){o.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:"Create New Saved Query",query:{name:t.name,body:t.query,shared:t.shared},edit:!1,okButtonText:"Create",queryExists:n}}}}).result.then((function(t){e.saveQueryHttp(t)}),(function(){}))},e.saveQueryHttp=function(t){i.addNewSavedQuery(t).success((function(){n.success("Saved query "+t.name+" was saved.")})).error((function(r){let o=getError(r);if(n.error(o,"Error! Cannot create saved query"),o="Query '"+t.name+"' already exists!"){t.query=t.body;const n=!0;e.saveQuery(t,n)}}))},e.saveQueryToLocal=C,e.setLoader=b,e.getLoaderMessage=function(){const t=(Date.now()-e.queryStartTime)/1e3;let n="",r="";e.noLoaderTimer||(n=e.getHumanReadableSeconds(t));r=e.progressMessage?e.progressMessage+"... "+n:"Running operation... "+n;e.extraMessage&&t>10&&(r+="\n"+e.extraMessage);return r},e.fixSizesOnHorizontalViewModeSwitch=T,e.changeViewMode=function(){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,p.set(g.VIEW_MODE,e.orientationViewMode),T()},e.showHideEditor=w,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!p.get(g.VIEW_MODE)||"true"===p.get(g.VIEW_MODE),e.viewMode="none",e.getActiveRepository=function(){return r.getActiveRepository()},e.getActiveRepositoryNoError=function(){if(!e.repositoryError)return r.getActiveRepository()},e.orientationViewMode||w(),window.onbeforeunload=function(){e.currentQuery&&e.saveTab(e.currentQuery.id),p.set(g.TABS_STATE,e.tabs)},e.$on("$destroy",(function(){e.currentQuery&&e.saveTab(e.currentQuery.id),p.set(g.TABS_STATE,e.tabs),clearInterval(y)})),e.$on("$destroy",(function(){clearInterval(y),window.editor=null,window.yasr=null})),$(document).mouseup((function(t){const n=$("#sampleQueriesCollapse");!n.is(t.target)&&0===n.has(t.target).length&&e.showSampleQueries&&R()}));let x=p.get(g.TABS_STATE_MAXID)||1;function q(e){return $(e).attr("data-id")}function M(){if(e.currentTabConfig.resultsCount>=0){const e=$(".saveAsDropDown");e.length>0&&!window.editor.queryValid?yasr.header.find(".saveAsDropDown").remove():0===e.length&&window.editor.queryValid&&yasr.updateDownloadDropdown()}}function D(t){return!(e.queryIsRunning&&!e.namespacesLoading)||(t?n.info("New tabs may not be opened while query or update is running."):n.info("Tabs may not be switched while query or update is running."),!1)}e.highlightNextTabChange=!1,e.$on("tabAction",(function(n,r){r.relatedTarget&&(t.cancel(r.relatedTarget.timer),$(r.relatedTarget).css("color",""),e.saveTab(q(r.relatedTarget))),e.loadTab(q(r.target));const o=["#ED4F2F","","#ED4F2F"],a=[400,400,400];if(e.highlightNextTabChange){e.highlightNextTabChange=!1;let n=0;$(r.target).css("color",o[n]);const i=function(){n++,n<o.length?($(r.target).css("color",o[n]),r.target.timer=t(i,a[n])):$(r.target).css("color","")};t(i,a[n])}})),e.$on("deleteAllexeptSelected",(function(t,n){e.tabsData=n,e.tabs=n})),e.currentQuery={},e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.editQueryModal=_("#editQueryContainer"),e.deleteQueryModal=_("#confirmDeleteContainer"),e.saveQueryModal=_("#saveQueryContainer"),e.getResultsDescription=function(){let t;if(0===e.currentTabConfig.resultsCount)t="No results.";else{const n=(e.currentTabConfig.page-1)*e.currentTabConfig.pageSize+Math.min(e.currentTabConfig.resultsCount,e.currentTabConfig.pageSize);t="Showing results from "+s("currency")(e.currentTabConfig.offset,"",0)+" to "+s("currency")(n,"",0),e.currentTabConfig.allResultsCount>0&&(t+=e.currentTabConfig.allResultsCountExact?" of ":" of at least ",t+=s("currency")(e.currentTabConfig.allResultsCount,"",0)),t+="."}return t},e.getUpdateDescription=function(){return e.currentTabConfig.customUpdateMessage?e.currentTabConfig.customUpdateMessage:void 0===e.currentTabConfig.sizeDelta?"":e.currentTabConfig.sizeDelta<0?"Removed "+Math.abs(e.currentTabConfig.sizeDelta)+" statements.":e.currentTabConfig.sizeDelta>0?"Added "+e.currentTabConfig.sizeDelta+" statements.":"The number of statements did not change."},e.getStaleWarningMessage=function(){const t=60*Math.round((Date.now()-e.currentTabConfig.timeFinished)/6e4);if(t>=3600)return"Possibly stale result (obtained "+e.getHumanReadableSeconds(t)+" ago)."};const k=function(){};angular.element(u).bind("resize",k),e.$on("$destroy",(function(){angular.element(u).unbind("resize",k)}))}function o(e,t,n){n.queryExists&&(e.queryExists=!0),e.query=angular.copy(n.query),e.title=n.title,e.edit=n.edit,e.okButtonText=n.okButtonText,e.ok=function(){e.form.$valid&&t.close(e.query)},e.cancel=function(){t.dismiss("cancel")}}angular.module("graphdb.framework.core.directives.queryeditor.controllers",["graphdb.framework.utils.localstorageadapter","graphdb.framework.rest.sparql.service"]).controller("QueryEditorCtrl",r).controller("QuerySampleModalCtrl",o),r.$inject=["$scope","$timeout","toastr","$repositories","$modal","ModalService","SparqlRestService","$filter","$window","$jwtAuth","RDF4JRepositoriesRestService","MonitoringRestService","LocalStorageAdapter","LSKeys"],o.$inject=["$scope","$modalInstance","data"]},34:function(e,t,n){"use strict";n.r(t);n(29),n(4),n(32);var r=n(212),o=n.n(r),a=n(210),i=n.n(a);function s(e,t,n,r,a,s,u,c,l,d,p,g){let f;return{restrict:"AE",scope:!1,templateUrl:"js/angular/core/directives/queryeditor/templates/query-editor.html",link:function(y,m,h){y.nostorage=h.hasOwnProperty("nostorage"),y.notabs=h.hasOwnProperty("notabs"),y.notoolbar=h.hasOwnProperty("notoolbar"),y.notoolbarSaved=h.hasOwnProperty("notoolbarSaved"),y.notoolbarCopy=h.hasOwnProperty("notoolbarCopy"),y.notoolbarInference=h.hasOwnProperty("notoolbarInference"),y.notoolbarSameAs=h.hasOwnProperty("notoolbarSameAs"),y.nostatus=h.hasOwnProperty("nostatus"),y.norun=h.hasOwnProperty("norun"),y.runButtonName="Run",h.runButtonName&&(y.runButtonName=h.runButtonName);if(y.nocount="true"===h.nocount,h.callbackOnChange){const e=y[h.callbackOnChange];"function"==typeof e&&(f=e)}e((function(){!function(y){function m(){angular.element("#wb-sparql-saveQuery")[0].click()}function h(){y.runQuery(!1,!1)}function C(){y.runQuery(!1,!0)}function b(){if(y.tabs.length<2||!y.currentQuery.id||!y.isTabChangeOk(!1))return;let e=D(y.currentQuery.id);e=(e+1)%y.tabs.length,w(y.tabs[e].id)}function T(){if(y.tabs.length<2||!y.currentQuery.id||!y.isTabChangeOk(!1))return;let e=D(y.currentQuery.id);e--,-1===e&&(e=y.tabs.length-1),w(y.tabs[e].id)}function w(t){e((function(){let e=$('a[data-id = "'+t+'"]');0===e.length&&(e=$("a[data-id]").first()),e.tab("show")}),0)}y.changePagination=function(){y.runQuery(!0,y.explainRequested)},window.editor=o.a.fromTextArea(document.getElementById("query"),{persistent:null,value:"",indentUnit:4,createShareLink:null,cursorHeight:1,sparql:{showQueryButton:!1,acceptHeaderGraph:"application/x-graphdb-table-results+json, application/rdf+json;q=0.9, */*;q=0.8",acceptHeaderSelect:"application/x-sparqlstar-results+json, application/sparql-results+json;q=0.9, */*;q=0.8"},extraKeys:{"Ctrl-Enter":h,"Cmd-Enter":h,"Shift-Ctrl-Enter":C,"Shift-Cmd-Enter":C,"Ctrl-Alt-T":y.addNewTab,"Cmd-Alt-T":y.addNewTab,"Ctrl-S":m,"Cmd-S":m,"Ctrl-Alt-Left":T,"Cmd-Alt-Left":T,"Ctrl-Alt-Right":b,"Cmd-Alt-Right":b}}),window.editor.toastBuildIndex=function(){n.warning("",'<div class="autocomplete-toast"><a href="autocomplete">Autocomplete is OFF<br>Go to Setup -> Autocomplete</a></div>',{allowHtml:!0})},window.editor.toastError=function(e){n.error("Cannot execute autocomplete query. "+getError(e))},window.editor.on("changes",(function(){angular.element(".CodeMirror-linenumbers").css("width","1px"),angular.element(".CodeMirror-sizer").css("margin-left","0px"),clearTimeout(y.changesTimeout);const e=!window.editor.queryValid;y.changesTimeout=setTimeout(f?f():function(){const t=D(y.currentQuery.id)+1;$('a[data-id = "'+t+'"]').toggleClass("query-has-error",e).attr("title",e?"Query contains a syntax error. See the relevant line for more information.":"")},200),y.currentQuery.query=window.editor.getValue(),y.currentQuery.queryType=window.editor.getQueryType()})),$(".fullscreenToggleBtns").hide();const v=function(e){$(e.target).removeClass("fa-link").addClass("fa-check").blur(),setTimeout((function(){$(e.target).removeClass("fa-check").addClass("fa-link")}),1e3)};window.onbeforeunload=function(){y.nostorage||p.set(g.TABS_STATE,y.tabs),y.saveTab(y.currentQuery.id)};const S=o.a.executeQuery,E=o.a.getUrlArguments;function R(e,t,n){return{status:e,statusText:t,responseText:n}}let A,Q;y.$on("$destroy",(function(){y.nostorage||p.set(g.TABS_STATE,y.tabs),o.a.executeQuery=S,o.a.getUrlArguments=E,y.saveTab(y.currentQuery.id)})),o.a.drawButtons=function(e){e.buttons=$("#yasqe_buttons_mocked")},o.a.getActiveRepository=function(){return r.getActiveRepository()},o.a.getUrlArguments=function(e,t){const n=E(e,t),r=window.editor.getQueryType();return"SELECT"!==r&&"CONSTRUCT"!==r&&"DESCRIBE"!==r||(n.push({name:"limit",value:y.currentTabConfig.pageSize+1}),y.currentTabConfig.offset=(y.currentTabConfig.page-1)*y.currentTabConfig.pageSize+1,n.push({name:"offset",value:y.currentTabConfig.offset-1})),!y.explainRequested||"SELECT"!==r&&"CONSTRUCT"!==r||n.push({name:"explain",value:"true"}),n},o.a.executeQuery=function(e){if(Q&&$(Q.resultsContainer).length&&$(Q.resultsContainer).empty(),e.options.sparql.headers["X-GraphDB-Catch"]=y.currentTabConfig.pageSize+"; throw",y.currentTrackAlias="query-editor-"+performance.now()+"-"+Date.now(),e.options.sparql.headers["X-GraphDB-Track-Alias"]=y.currentTrackAlias,y.countTimeouted=!1,"query"===e.getQueryMode()?e.options.sparql.endpoint="repositories/"+r.getActiveRepository():"update"===e.getQueryMode()&&(e.options.sparql.endpoint="repositories/"+r.getActiveRepository()+"/statements"),e.options.sparql.args=[{name:"infer",value:y.currentQuery.inference},{name:"sameAs",value:y.currentQuery.sameAs}],y.currentTabConfig.customUpdateMessage="","update"!==window.editor.getQueryMode()){const t=y.currentTabConfig,n=y.executedQueryTab.id;return window.editor.options.sparql.handlers.countCallback=function(e,r,o){if(200===e.status){const a=y.tabs[D(n)];a&&(Q.setResultsCount(e,r,o),t.allResultsCount=Q.allCount,a.allResultsCount=Q.allCount,t.allResultsCountExact=!0,a.allResultsCountExact=!0,y.saveTab(a.id))}else t.countTimeouted=!0},null!=y.currentQuery.outputType?Q.options.output=y.currentQuery.outputType:Q.options.output="table",y.currentTabConfig.queryType=window.editor.getQueryType(),y.queryStartTime=(new Date).getTime(),S(e,{setQueryLimit:function(e){return"CONSTRUCT"===y.currentTabConfig.queryType&&r.isActiveRepoOntopType()?window.editor.getValueWithoutComments():e}})}{const t=function(){y.currentTabConfig.queryType="UPDATE",l.getRepositorySize().success((function(t){return y.repoSize=parseInt(t),y.queryStartTime=(new Date).getTime(),S(e,{})})).error((function(t){return n.warning("Could not get repository size for: "+r.getActiveRepository()+"; "+getError(t)),y.queryStartTime=(new Date).getTime(),S(e,{})}))};d.checkConnector(window.editor.getValue()).then((function(e){if(e.data.command&&!e.data.hasSupport){y.currentTabConfig.queryType="ERROR",y.currentTabConfig.timeFinished=Date.now(),y.currentTabConfig.timeTook=(y.currentTabConfig.timeFinished-y.queryStartTime)/1e3;const t=R(-1,"No support for "+e.data.connectorName,e.data.connectorName+" connectors are not supported because the plugin "+e.data.pluginName+" is not active.");return Q.results={getException:function(){return t}},y.setLoader(!1),void q({customError:t},"",null)}if("create"===e.data.command||"repair"===e.data.command){const t="repair"===e.data.command;t?(y.setLoader(!0,"Repairing connector "+e.data.name),y.currentTabConfig.customUpdateMessage="Repaired connector "+e.data.name+"."):(y.setLoader(!0,"Creating connector "+e.data.name),y.currentTabConfig.customUpdateMessage="Created connector "+e.data.name+".");const n=y.$new(!0);n.beingBuiltConnector={percentDone:0,status:{processedEntities:0,estimatedEntities:0,indexedEntities:0,entitiesPerSecond:0},actionName:t?"Repairing":"Creating",eta:"-",inline:!1,iri:e.data.iri,name:e.data.name,doneCallback:function(){A.dismiss("cancel")}},n.getHumanReadableSeconds=y.getHumanReadableSeconds,A=u.open({templateUrl:"pages/connectorProgress.html",controller:"CreateProgressCtrl",size:"lg",backdrop:"static",scope:n})}else"drop"===e.data.command&&(y.setLoader(!0,"Deleting connector "+e.data.name),y.currentTabConfig.customUpdateMessage="Deleted connector "+e.data.name+".");t()}),(function(){t()}))}};const x=o.a.getAjaxConfig;function q(e,t,n){e.getResponseHeader&&e.getResponseHeader("content-type")&&(e.contentType=e.getResponseHeader("content-type")),delete e.response;const r=D(y.executedQueryTab.id),o=y.tabs[r],a={queryType:y.currentTabConfig.queryType,yasrData:e,textStatus:t,jqXhrOrErrorString:n,page:y.currentTabConfig.page,pageSize:y.currentTabConfig.pageSize,allResultsCount:y.currentTabConfig.allResultsCount,allResultsCountExact:y.currentTabConfig.allResultsCountExact,resultsCount:y.currentTabConfig.resultsCount,offset:y.currentTabConfig.offset,timeTook:y.currentTabConfig.timeTook,timeFinished:y.currentTabConfig.timeFinished,sizeDelta:y.currentTabConfig.sizeDelta,customUpdateMessage:y.currentTabConfig.customUpdateMessage,errorMessage:y.currentTabConfig.errorMessage,warningMessage:y.currentTabConfig.warningMessage};"ERROR"!==y.currentTabConfig.queryType&&"UPDATE"!==y.currentTabConfig.queryType&&"ASK"!==y.currentTabConfig.queryType&&(a.outputType=y.yasr.options.output),angular.extend(y.currentQuery,a),angular.extend(o,a),y.nostorage||p.set(g.TABS_STATE,y.tabs),$('a[data-id = "'+y.executedQueryTab.id+'"]').tab("show")}function M(){if(window.editor.getValue().includes("onto:explain")||window.editor.getValue().includes("http://www.ontotext.com/explain")){var e=document.getElementsByClassName("nonUri")[0];e.classList.add("cm-s-default"),e.setAttribute("id","highlighted_output");var t=e.innerText.substring(1,e.innerText.length-1);e.innerHTML="",o.a.runMode(t,"sparql11",document.getElementById("highlighted_output"));const n=$(".yasr .cm-comment");for(const e of n)e.innerHTML.includes("Begin optimization group")||e.innerHTML.includes("End optimization group")?e.setAttribute("id","cm-comment-explain-optimization-gr"):e.setAttribute("id","cm-comment-explain-statistics")}}function D(e){for(let t=0;t<y.tabs.length;t++){if(y.tabs[t].id===e)return t}}function k(e){return angular.isDefined(e)&&"false"!==e}function O(e,n,r){const o=y.getExistingTabId(e),a=y.$on("tabLoaded",(function(){angular.isDefined(n)&&(y.currentQuery.inference=k(n)),angular.isDefined(r)&&(y.currentQuery.sameAs=k(r)),k(t.search().execute)&&("update"===window.editor.getQueryMode()?s.openSimpleModal({title:"Confirm execute",message:"This is an update and it may change the data in the repository.<br>Are you sure you want to execute it automatically?",warning:!0}).result.then((function(){y.runQuery(!1)})):y.runQuery(!1)),a()}));y.highlightNextTabChange=!0,angular.isDefined(o)?w(o):y.addNewTab(null,e.name,e.body)}function B(){if(t.search().savedQueryName)e=t.search().savedQueryName,r=t.search().owner,o=t.search().infer,i=t.search().sameAs,a.getSavedQuery(e,r).success((function(e){O(e,o,i)})).error((function(t){n.error("Could not get data for saved query: "+e+"; "+getError(t))}));else if(t.search().query){O({name:t.search().name,body:t.search().query},t.search().infer,t.search().sameAs)}else{w(p.get(g.TABS_STATE_CURRENT_ID))}var e,r,o,i}function N(){y.getNamespaces(),o.a.signal(window.editor,"repositoryOrAuthorizationChanged",r.getActiveRepository(),c.getAuthToken()),B()}o.a.getAjaxConfig=function(e,t){const n=x(e,t);return _.extend(n.headers,{Authorization:c.getAuthToken()}),n},y.copyToClipboardQuery=function(e,t){s.openCopyToClipboardModal(function(e,t){let n=[location.protocol,"//",location.host,location.pathname].join("");e?(n=n+"?savedQueryName="+encodeURIComponent(e),null!=t&&(n+="&owner="+encodeURIComponent(t))):n=n+"?"+$.param({name:y.currentQuery.name,infer:y.currentQuery.inference,sameAs:y.currentQuery.sameAs,query:window.editor.getValue()});return n}(e,t))},y.copyToClipboardResult=function(e){s.openCopyToClipboardModal(e)},y.goToVisual=function(){const e={query:window.editor.getValue(),sameAs:y.currentQuery.sameAs,inference:y.currentQuery.inference};t.path("graphs-visualizations").search(e)},$("textarea").on("paste",(function(){e((function(){y.addKnownPrefixes()}),0)})),Q=i()(document.getElementById("yasr"),{getUsedPrefixes:{},persistency:!1}),window.yasr=Q,Q.afterCopy=v,Q.getQueryResultsAsFormat=function(e){const t=$("#wb-download");t.attr("action","repositories/"+r.getActiveRepository()),$("#wb-download-query").val(y.currentQuery.query),window.editor.getValue()!==y.currentQuery.query&&n.warning("The query in your editor does not match the query results. Download will save the results from the last executed query."),$("#wb-download-infer").val(y.currentQuery.inference),$("#wb-download-sameAs").val(y.currentQuery.sameAs);const o=localStorage.getItem("com.ontotext.graphdb.auth");o&&$("#wb-auth-token").val(o),$("#wb-download-accept").val(e),t.submit()},window.editor.options.sparql.handlers.complete=function(t,r,o){function a(){q(t,r,o)}if(A&&A.dismiss("cancel"),null===window.editor)return void y.setLoader(!1);if(y.currentTabConfig.errorMessage=t.getResponseHeader("X-GraphDB-Error"),y.currentTabConfig.warningMessage=t.getResponseHeader("X-GraphDB-Warning"),Q.currentQuery=y.currentQuery,y.currentTabConfig.timeFinished=Date.now(),y.currentTabConfig.timeTook=(y.currentTabConfig.timeFinished-y.queryStartTime)/1e3,t.status>=400)return t.responseText=t.responseText.replace(/^([^: ]+: )+/,""),y.currentTabConfig.queryType="ERROR",a(),y.setYasrResponse(t,r,o),void y.setLoader(!1);if(0===t.status){y.currentTabConfig.queryType="ERROR";const e=R(-1,"Request was aborted","The request has been aborted. There are no results to show.");return Q.results={getException:function(){return e}},y.setLoader(!1),void q({customError:e},"",null)}let i;if(y.setLoader(!1),"update"===window.editor.getQueryMode())i=function(){l.getRepositorySize().success((function(e){let t;void 0!==y.repoSize&&(t=Number(e)-y.repoSize),y.currentTabConfig.sizeDelta=t,a()})).error((function(e){n.warning("Could not get repository size for: "+y.getActiveRepository()+"; "+getError(e)),y.currentTabConfig.sizeDelta=void 0,a()}))};else{if(200===t.status){const e=t.getResponseHeader("Content-Type");0!==e.indexOf("application/sparql-results+json")&&0!==e.indexOf("application/x-sparqlstar-results+json")&&0!==e.indexOf("application/x-graphdb-table-results+json")||t.responseJSON.results&&(y.currentTabConfig.resultsCount=t.responseJSON.results.bindings.length,t.responseJSON.results.bindings.length>y.currentTabConfig.pageSize&&(t.responseJSON.results.bindings.length=y.currentTabConfig.pageSize),y.currentTabConfig.allResultsCountExact||((y.nocount||y.countTimeouted||y.currentTabConfig.resultsCount<=y.currentTabConfig.pageSize)&&(t.status=204),y.currentTabConfig.allResultsCount=Math.max(y.currentTabConfig.allResultsCount,y.currentTabConfig.pageSize*(y.currentTabConfig.page-1)+y.currentTabConfig.resultsCount),y.currentTabConfig.resultsCount<=y.currentTabConfig.pageSize&&(y.currentTabConfig.allResultsCountExact=!0)))}y.setLoader(!0,"Rendering results",null,!0),i=function(){y.setYasrResponse(t,r,o),a(),y.setLoader(!1)}}e((function(){i(),"CONSTRUCT"!==window.editor.getQueryType()?($(".yasr_btnGroup.nav.nav-tabs li a.disabled").removeClass("disabled").css("font-weight","400"),$(".yasr_btnGroup.nav.nav-tabs li.disabled a").addClass("disabled").css("font-weight","200"),"DESCRIBE"===window.editor.getQueryType()&&$(".yasr_btnGroup.nav.nav-tabs li a").removeClass("disabled").css("font-weight","400")):"CONSTRUCT"===window.editor.getQueryType()&&$(".yasr_btnGroup.nav.nav-tabs li a.disabled").removeClass("disabled").css("font-weight","400"),$("#yasr").css("padding","0"),$(".yasr_btnGroup li:nth-child(2)").hasClass("active")&&e((function(){$(".yasr_btnGroup li:nth-child(2) a").get(0).click()}),100),$("#wb-sparql-addNewTab").click((function(){$(".dataTables_filter").hide(),$(".resultsTable").hide()}))}),100)},window.editor.options.sparql.handlers.resetResults=function(){},y.yasr=Q,y.setYasrResponse=function(e,t,n){e.responseJSON&&(e.response=e.responseJSON,e.responseText=void 0),window.yasr.plugins.table.options.highlightLiteralCellResult=M,Q.setResponse(e,t,n)},y.$watch("yasr.options.output",(function(e){if(e&&"UPDATE"!==y.currentTabConfig.queryType&&"ASK"!==y.currentTabConfig.queryType){const t=y.tabs[D(y.currentQuery.id)];angular.isDefined(t)&&y.currentTabConfig.queryType&&t.outputType!==e&&(t.outputType=y.currentQuery.outputType=e,y.saveTab(t.id))}})),void y.$watch("namespaces",(function(){y.namespaces&&(Q&&Q.options&&y.namespaces&&(Q.options.getUsedPrefixes=y.namespaces),o.a.signal(window.editor,"namespacesChanged",y.namespaces))})),$(document).mouseup((function(e){const t=$("#sampleQueriesCollapse");!t.is(e.target)&&0===t.has(e.target).length&&y.showSampleQueries&&y.toggleSampleQueries()})),r.getActiveRepository()&&N();y.$on("repositoryIsSet",(function(){r.getActiveRepository()&&N()})),e((function(){angular.element(document).find(".CodeMirror textarea:first-child").focus()}),50)}(y)}),150)}}}angular.module("graphdb.framework.core.directives.queryeditor.queryeditor",["ngCookies","graphdb.framework.externalsync.controllers","graphdb.framework.rest.connectors.service","graphdb.framework.utils.localstorageadapter"]).directive("queryEditor",s),s.$inject=["$timeout","$location","toastr","$repositories","SparqlRestService","ModalService","$modal","$jwtAuth","RDF4JRepositoriesRestService","ConnectorsRestService","LocalStorageAdapter","LSKeys"]}}]);
|
|
2
|
+
//# sourceMappingURL=8.7209929899c18f8a4580.bundle.js.map
|