graphdb-workbench 2.0.0-TR7 → 2.0.0-TR8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/{0.21974a2453b9a92dec33.bundle.js → 0.965871b861f4dddbba56.bundle.js} +3 -3
  2. package/dist/0.965871b861f4dddbba56.bundle.js.map +1 -0
  3. package/dist/{112.b871480dd961ac3c18b6.bundle.js → 112.0c1bdd906ac321ffbf5f.bundle.js} +2 -2
  4. package/dist/{112.b871480dd961ac3c18b6.bundle.js.map → 112.0c1bdd906ac321ffbf5f.bundle.js.map} +1 -1
  5. package/dist/114.282a327015f8ae87918b.bundle.js +1 -1
  6. package/dist/114.282a327015f8ae87918b.bundle.js.map +1 -1
  7. package/dist/{12.449fb5148a68a44ba324.bundle.js → 12.60db051e76264d3f95b2.bundle.js} +2 -2
  8. package/dist/12.60db051e76264d3f95b2.bundle.js.map +1 -0
  9. package/dist/{13.3a06e05fd28f858e14cd.bundle.js → 13.1419a81a33174950a34c.bundle.js} +2 -2
  10. package/dist/13.1419a81a33174950a34c.bundle.js.map +1 -0
  11. package/dist/14.7e9059b5c9c57d952e47.bundle.js +2 -0
  12. package/dist/14.7e9059b5c9c57d952e47.bundle.js.map +1 -0
  13. package/dist/15.02ad5872995df6d6692a.bundle.js +2 -0
  14. package/dist/15.02ad5872995df6d6692a.bundle.js.map +1 -0
  15. package/dist/{17.4b048ae019a8d2fd5b46.bundle.js → 17.8bfbe7d08efa149bdb00.bundle.js} +2 -2
  16. package/dist/17.8bfbe7d08efa149bdb00.bundle.js.map +1 -0
  17. package/dist/21.e75213686a349ae7df89.bundle.js +1 -1
  18. package/dist/21.e75213686a349ae7df89.bundle.js.map +1 -1
  19. package/dist/25.cbe8e59c80330ff6e706.bundle.js +2 -0
  20. package/dist/25.cbe8e59c80330ff6e706.bundle.js.map +1 -0
  21. package/dist/26.67154910989ca1f563ec.bundle.js +2 -0
  22. package/dist/26.67154910989ca1f563ec.bundle.js.map +1 -0
  23. package/dist/27.61bd08d0e926fe471a91.bundle.js +2 -0
  24. package/dist/27.61bd08d0e926fe471a91.bundle.js.map +1 -0
  25. package/dist/29.66259b8a21bbb5431a06.bundle.js +1 -1
  26. package/dist/29.66259b8a21bbb5431a06.bundle.js.map +1 -1
  27. package/dist/{30.4d469715c2f2d1028b4b.bundle.js → 30.3592aaa1063719853218.bundle.js} +2 -2
  28. package/dist/30.3592aaa1063719853218.bundle.js.map +1 -0
  29. package/dist/{33.ea3b66016bbeff928fc3.bundle.js → 33.c670eeb3a325251e141f.bundle.js} +2 -2
  30. package/dist/33.c670eeb3a325251e141f.bundle.js.map +1 -0
  31. package/dist/34.22a096bd891109c927f5.bundle.js +2 -0
  32. package/dist/34.22a096bd891109c927f5.bundle.js.map +1 -0
  33. package/dist/36.d444f7ad7724d126da1c.bundle.js +1 -1
  34. package/dist/36.d444f7ad7724d126da1c.bundle.js.map +1 -1
  35. package/dist/37.e82ed70c9f1ccac1fa36.bundle.js +1 -1
  36. package/dist/37.e82ed70c9f1ccac1fa36.bundle.js.map +1 -1
  37. package/dist/49.80591a5efda019de6e4a.bundle.js +2 -0
  38. package/dist/49.80591a5efda019de6e4a.bundle.js.map +1 -0
  39. package/dist/7.0d2811d01a379d8b75fb.bundle.js +3 -0
  40. package/dist/7.0d2811d01a379d8b75fb.bundle.js.map +1 -0
  41. package/dist/8.66013fc0c58811b51903.bundle.js +2 -0
  42. package/dist/8.66013fc0c58811b51903.bundle.js.map +1 -0
  43. package/dist/{bundle.7c8c6b17e3aea0099e3e.bundle.js → bundle.e787556c9b592367c35c.bundle.js} +4 -4
  44. package/dist/bundle.e787556c9b592367c35c.bundle.js.map +1 -0
  45. package/dist/css/lib/yasr.css +1 -0
  46. package/dist/css/yasr.custom.css +9 -0
  47. package/dist/index.html +4 -4
  48. package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +1 -0
  49. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  50. package/dist/{main.ea86ac1b6d636ab25dc7.css → main.db108895fbac32ad7e7b.css} +1 -1
  51. package/dist/pages/autocomplete.html +1 -1
  52. package/dist/pages/choose-repository-type.html +1 -1
  53. package/dist/pages/clusterInfo.html +1 -1
  54. package/dist/pages/create-index.html +4 -4
  55. package/dist/pages/dependencies.html +1 -1
  56. package/dist/pages/domainRangeInfo.html +2 -2
  57. package/dist/pages/edit.html +1 -1
  58. package/dist/pages/explore.html +1 -1
  59. package/dist/pages/export.html +1 -1
  60. package/dist/pages/find.html +1 -1
  61. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  62. package/dist/pages/graphs-visualizations.html +7 -7
  63. package/dist/pages/import.html +1 -1
  64. package/dist/pages/jdbc-create.html +5 -5
  65. package/dist/pages/monitor/queries.html +1 -1
  66. package/dist/pages/monitor/resources.html +2 -2
  67. package/dist/pages/namespaces.html +2 -2
  68. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  69. package/dist/pages/rdfrank.html +2 -2
  70. package/dist/pages/repositories.html +2 -2
  71. package/dist/pages/repository.html +2 -2
  72. package/dist/pages/similarity-indexes.html +1 -1
  73. package/dist/pages/sparql-template-create.html +5 -5
  74. package/dist/pages/sparql.html +3 -3
  75. package/dist/pages/webapi.html +2 -2
  76. package/dist/res/swagger/index.html +25 -25
  77. package/package.json +1 -1
  78. package/dist/0.21974a2453b9a92dec33.bundle.js.map +0 -1
  79. package/dist/12.449fb5148a68a44ba324.bundle.js.map +0 -1
  80. package/dist/13.3a06e05fd28f858e14cd.bundle.js.map +0 -1
  81. package/dist/14.a1d84445382b665e13e0.bundle.js +0 -2
  82. package/dist/14.a1d84445382b665e13e0.bundle.js.map +0 -1
  83. package/dist/15.73ffeb044255abbac7bf.bundle.js +0 -2
  84. package/dist/15.73ffeb044255abbac7bf.bundle.js.map +0 -1
  85. package/dist/17.4b048ae019a8d2fd5b46.bundle.js.map +0 -1
  86. package/dist/25.34da4f496fc62f2dae9b.bundle.js +0 -2
  87. package/dist/25.34da4f496fc62f2dae9b.bundle.js.map +0 -1
  88. package/dist/26.02814d2ed726f5a71d4e.bundle.js +0 -2
  89. package/dist/26.02814d2ed726f5a71d4e.bundle.js.map +0 -1
  90. package/dist/27.44948497dc4fac6010a8.bundle.js +0 -2
  91. package/dist/27.44948497dc4fac6010a8.bundle.js.map +0 -1
  92. package/dist/30.4d469715c2f2d1028b4b.bundle.js.map +0 -1
  93. package/dist/33.ea3b66016bbeff928fc3.bundle.js.map +0 -1
  94. package/dist/34.620159c2b04af0a88d1b.bundle.js +0 -2
  95. package/dist/34.620159c2b04af0a88d1b.bundle.js.map +0 -1
  96. package/dist/49.71f6e0f6f3284bf63cab.bundle.js +0 -2
  97. package/dist/49.71f6e0f6f3284bf63cab.bundle.js.map +0 -1
  98. package/dist/7.036cd4322fa473fb187a.bundle.js +0 -3
  99. package/dist/7.036cd4322fa473fb187a.bundle.js.map +0 -1
  100. package/dist/8.46db359ed59a04d3799b.bundle.js +0 -2
  101. package/dist/8.46db359ed59a04d3799b.bundle.js.map +0 -1
  102. package/dist/bundle.7c8c6b17e3aea0099e3e.bundle.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[15,8,26,34,38,49,50,85,88,105],{100:function(e,t,n){"use strict";n.r(t);n(2),n(7),n(40),n(8),n(66),n(67),n(35),n(33),n(34);angular.module("graphdb.framework.jdbc",["toastr","ui.bootstrap","graphdb.framework.jdbc.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.jdbc.service","graphdb.framework.core.directives.queryeditor.controllers","graphdb.framework.core.directives.queryeditor.sparqltab","graphdb.framework.core.directives.queryeditor.queryeditor"])},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"}})}}}},31:function(e,t){function n(e){return{showToastMessageWithDelay:function(t){return new Promise(n=>{e.success(t),setTimeout(n,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",n),n.$inject=["toastr"]},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 i(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 a(e){return e.substring(0,e.length-1)+"/instance#"}function s(e,t,n,r,o){const i=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?i[r[e].__name]=(s=i[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&&(i[r[e].__name]=angular.fromJson(i[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}(i);let u="";return u+="PREFIX :<"+t+">\n",u+="PREFIX inst:<"+a(t)+">\n",u+="INSERT DATA {\n",u+="\tinst:"+e+" :createConnector '''\n",u+=angular.toJson(i,2),u+="\n''' .\n}\n",u=u.replace(/\\/g,"\\\\\\"),u}function u(e,t,n,u,c,l,d,g,p){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:a(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,i){const a=y(t.value,o.name,!1);g.addStatements(n.getActiveRepository(),r({update:o.query})).then((function(){p.getConnectors().then((function(){p.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)),i()})).finally((function(){a.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 p.initConnector(encodeURIComponent(t.value)).then((function(n){return e.definitions[t.key]=n.data,p.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."),p.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 i(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:a(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 i=y(o.value,t.name,!0),s=(u=t.name,"PREFIX prefix:<"+(l=o.value)+">\nINSERT DATA {\n\t<"+a(l)+u+'> prefix:repairConnector ""\n}');var u,l;g.addStatements(n.getActiveRepository(),r({update:s})).then((function(){p.getConnectors().then((function(){p.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(){i.dismiss("cancel")}))}))},e.delete=function(t,o){const i=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 i}}}).result.then((function(a){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,a);g.addStatements(n.getActiveRepository(),r({update:s})).then((function(){p.getConnectors().then((function(){p.hasConnector(encodeURIComponent(o.value)).then((function(t){e.existing[o.key]=t.data}))})),a?(c.success("Deleted (with force) connector "+t.name),i&&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 i(){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=i();n&&t.close({name:e.name,values:e.values,options:e.options,query:n})}},e.viewQuery=function(){const e=i();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,i,a,s,u){angular.extend(this,t("ExtendNewConnectorCtrl",{$scope:e,$modalInstance:r,connector:i,$modal:a})),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 g(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 i(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",g).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"],g.$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,i,a,s,u,c,l,d,g,p){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 b(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=g.get(p.TABS_STATE)||[f],e.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(e,t,n){h(n.currentQuery)})),e.$on("repositoryIsSet",v)}function h(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))})),g.set(p.TABS_STATE,e.tabs)}function C(t,n,r,o){const i=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,i.addClass("hide")):(e.progressMessage="",e.extraMessage="",e.noLoaderTimer=!1,e.currentTrackAlias=null,e.abortRequested=!1,i.removeClass("hide")),null===e.$$phase&&e.$apply()}function w(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 T(){w(!0)}function v(t,n){n.newRepo&&(e.tabsData=g.get(p.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})),g.set(p.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,i){if(e.executedQueryTab=e.currentQuery,i){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=i,!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(C(!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 Q(){e.showSampleQueries=!e.showSampleQueries,e.showSampleQueries?a.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 R(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 q(t){return function(n,r,o){e.savedQuery={name:n,query:r||window.editor.getValue(),shared:o},$(t).modal("show")}}function A(t){for(let n=0;n<e.tabsData.length;n++){if(e.tabsData[n].id===t)return n}}m?b(e,m):e.$on("securityInit",(function(e){m=c.getPrincipal(),b(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=A(t);if(void 0===n)return{};const r=e.tabsData[n];return e.saveQueryToLocal(r),r},e.loadTab=function(n){e.tabsData=g.get(p.TABS_STATE)||[f];const o=A(n),i=e.tabsData[o];i.yasrData&&C(!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=i.outputType,i.yasrData&&(i.yasrData.customError?(e.yasr.results={getException:function(){return i.yasrData.customError}},C(!1)):t((function(){e.setYasrResponse(i.yasrData,i.textStatus,i.jqXhrOrErrorString),C(!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),g.set(p.TABS_STATE_CURRENT_ID,n),e.currentQuery=i,t((function(){e.currentTabConfig={},e.currentTabConfig.queryType=i.queryType,e.currentTabConfig.resultsCount=i.resultsCount,e.currentTabConfig.offset=i.offset,e.currentTabConfig.allResultsCount=i.allResultsCount,e.currentTabConfig.allResultsCountExact=i.allResultsCountExact,e.currentTabConfig.page=i.page,e.currentTabConfig.pageSize=i.pageSize,e.currentTabConfig.timeFinished=i.timeFinished,e.currentTabConfig.timeTook=i.timeTook,e.currentTabConfig.sizeDelta=i.sizeDelta,e.currentTabConfig.customUpdateMessage=i.customUpdateMessage,e.currentTabConfig.errorMessage=i.errorMessage,e.currentTabConfig.warningMessage=i.warningMessage,e.$apply()}),0),$("#yasr").css("padding","0"),y||(y=setInterval(k,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 i;i=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};_++;const a=""+_;e.tabsData=e.tabs;const s=i;s.id=a,e.tabsData.push(s),g.set(p.TABS_STATE_MAXID,_),g.set(p.TABS_STATE,e.tabsData);const u=Array.prototype.slice.call(arguments,1);t((function(){e.$apply(),S(a),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?a.addNewSavedQuery(o).success((function(){e.deleteQueryHttp(t.name,!0)})).error((function(e){const t=getError(e);n.error(t,"Error! Cannot edit saved query")})):a.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(){C(!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(){C(!1),e.namespacesLoading=!1}))},e.changePagination=function(){E(!0,e.explainRequested)},e.toggleSampleQueries=Q,e.addKnownPrefixes=function(){a.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(e){angular.isDefined(window.editor)&&angular.isDefined(e)&&e!==window.editor.getValue()&&window.editor.setValue(e)})).error((function(e){const t=getError(e);return n.error(t,"Error! Could not add known prefixes"),!0}))},e.getExistingTabId=R,e.querySelected=function(t){const n=R(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){i.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){a.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){a.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=h,e.setLoader=C,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=w,e.changeViewMode=function(){e.viewMode="none",e.orientationViewMode=!e.orientationViewMode,g.set(p.VIEW_MODE,e.orientationViewMode),w()},e.showHideEditor=T,e.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.orientationViewMode=!g.get(p.VIEW_MODE)||"true"===g.get(p.VIEW_MODE),e.viewMode="none",e.getActiveRepository=function(){return r.getActiveRepository()},e.getActiveRepositoryNoError=function(){if(!e.repositoryError)return r.getActiveRepository()},e.orientationViewMode||T(),window.onbeforeunload=function(){e.currentQuery&&e.saveTab(e.currentQuery.id),g.set(p.TABS_STATE,e.tabs)},e.$on("$destroy",(function(){e.currentQuery&&e.saveTab(e.currentQuery.id),g.set(p.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&&Q()}));let _=g.get(p.TABS_STATE_MAXID)||1;function x(e){return $(e).attr("data-id")}function k(){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(x(r.relatedTarget))),e.loadTab(x(r.target));const o=["#ED4F2F","","#ED4F2F"],i=[400,400,400];if(e.highlightNextTabChange){e.highlightNextTabChange=!1;let n=0;$(r.target).css("color",o[n]);const a=function(){n++,n<o.length?($(r.target).css("color",o[n]),r.target.timer=t(a,i[n])):$(r.target).css("color","")};t(a,i[n])}})),e.$on("deleteAllexeptSelected",(function(t,n){e.tabsData=n,e.tabs=n})),e.currentQuery={},e.showSampleQueries=!1,e.savedQuery={},e.sampleQueries={},e.editQueryModal=q("#editQueryContainer"),e.deleteQueryModal=q("#confirmDeleteContainer"),e.saveQueryModal=q("#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 M=function(){};angular.element(u).bind("resize",M),e.$on("$destroy",(function(){angular.element(u).unbind("resize",M)}))}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),i=n(210),a=n.n(i);function s(e,t,n,r,i,s,u,c,l,d,g,p){let f;return{restrict:"AE",scope:!1,templateUrl:"js/angular/core/directives/queryeditor/templates/query-editor.html",link:function(y,m,b){y.nostorage=b.hasOwnProperty("nostorage"),y.notabs=b.hasOwnProperty("notabs"),y.notoolbar=b.hasOwnProperty("notoolbar"),y.notoolbarSaved=b.hasOwnProperty("notoolbarSaved"),y.notoolbarCopy=b.hasOwnProperty("notoolbarCopy"),y.notoolbarInference=b.hasOwnProperty("notoolbarInference"),y.notoolbarSameAs=b.hasOwnProperty("notoolbarSameAs"),y.nostatus=b.hasOwnProperty("nostatus"),y.norun=b.hasOwnProperty("norun"),y.runButtonName="Run",b.runButtonName&&(y.runButtonName=b.runButtonName);if(y.nocount="true"===b.nocount,b.callbackOnChange){const e=y[b.callbackOnChange];"function"==typeof e&&(f=e)}e((function(){!function(y){function m(){angular.element("#wb-sparql-saveQuery")[0].click()}function b(){y.runQuery(!1,!1)}function h(){y.runQuery(!1,!0)}function C(){if(y.tabs.length<2||!y.currentQuery.id||!y.isTabChangeOk(!1))return;let e=D(y.currentQuery.id);e=(e+1)%y.tabs.length,T(y.tabs[e].id)}function w(){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),T(y.tabs[e].id)}function T(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":b,"Cmd-Enter":b,"Shift-Ctrl-Enter":h,"Shift-Cmd-Enter":h,"Ctrl-Alt-T":y.addNewTab,"Cmd-Alt-T":y.addNewTab,"Ctrl-S":m,"Cmd-S":m,"Ctrl-Alt-Left":w,"Cmd-Alt-Left":w,"Ctrl-Alt-Right":C,"Cmd-Alt-Right":C}}),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||g.set(p.TABS_STATE,y.tabs),y.saveTab(y.currentQuery.id)};const S=o.a.executeQuery,E=o.a.getUrlArguments;function Q(e,t,n){return{status:e,statusText:t,responseText:n}}let R,q;y.$on("$destroy",(function(){y.nostorage||g.set(p.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 i=y.tabs[D(n)];i&&(q.setResultsCount(e,r,o),t.allResultsCount=q.allCount,i.allResultsCount=q.allCount,t.allResultsCountExact=!0,i.allResultsCountExact=!0,y.saveTab(i.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=Q(-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 x({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(){R.dismiss("cancel")}},n.getHumanReadableSeconds=y.getHumanReadableSeconds,R=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 A=o.a.getAjaxConfig;function x(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],i={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&&(i.outputType=y.yasr.options.output),angular.extend(y.currentQuery,i),angular.extend(o,i),y.nostorage||g.set(p.TABS_STATE,y.tabs),$('a[data-id = "'+y.executedQueryTab.id+'"]').tab("show")}function k(){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 M(e){return angular.isDefined(e)&&"false"!==e}function O(e,n,r){const o=y.getExistingTabId(e),i=y.$on("tabLoaded",(function(){angular.isDefined(n)&&(y.currentQuery.inference=M(n)),angular.isDefined(r)&&(y.currentQuery.sameAs=M(r)),M(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)),i()}));y.highlightNextTabChange=!0,angular.isDefined(o)?T(o):y.addNewTab(null,e.name,e.body)}function L(){if(t.search().savedQueryName)e=t.search().savedQueryName,r=t.search().owner,o=t.search().infer,a=t.search().sameAs,i.getSavedQuery(e,r).success((function(e){O(e,o,a)})).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{T(g.get(p.TABS_STATE_CURRENT_ID))}var e,r,o,a}function N(){y.getNamespaces(),o.a.signal(window.editor,"repositoryOrAuthorizationChanged",r.getActiveRepository(),c.getAuthToken()),L()}o.a.getAjaxConfig=function(e,t){const n=A(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=a()(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 i(){x(t,r,o)}if(R&&R.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",i(),y.setYasrResponse(t,r,o),void y.setLoader(!1);if(0===t.status){y.currentTabConfig.queryType="ERROR";const e=Q(-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 x({customError:e},"",null)}let a;if(y.setLoader(!1),"update"===window.editor.getQueryMode())a=function(){l.getRepositorySize().success((function(e){let t;void 0!==y.repoSize&&(t=Number(e)-y.repoSize),y.currentTabConfig.sizeDelta=t,i()})).error((function(e){n.warning("Could not get repository size for: "+y.getActiveRepository()+"; "+getError(e)),y.currentTabConfig.sizeDelta=void 0,i()}))};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),a=function(){y.setYasrResponse(t,r,o),i(),y.setLoader(!1)}}e((function(){a(),"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=k,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"]},35:function(e,t,n){"use strict";n.r(t);n(4);function r(e,t,n,r){return{restrict:"AE",template:'<a class="nav-link" role="tab" data-toggle="tab" blur="submit" editable-text="tab.name" e-form="editCurrentlySelectedOnly" ng-click="selectThisTab($event)" ng-dblclick="editCurrentTab()" ><span ng-class="{\'text-muted\': !tab.name}">{{ tab.name || \'Unnamed\'}}</span><button type="button" ng-click="deleteTab($event)" class="btn btn-link btn-sm secondary delete-sparql-tab-btn" title="Delete tab"><i class="icon-close"></i></button></a>',replace:!0,controller:["$scope","$element","$rootScope","ModalService","toastr",function(e,r,o,i,a){function s(e){return $(e).attr("data-id")}function u(e){$('a[data-id = "'+e+'"]').tab("show")}e.state={},$(r).on("shown.bs.tab",(function(e){o.$broadcast("tabAction",e)})),e.deleteTab=function(c){if(c.preventDefault(),c.stopPropagation(),e.tabs.length<2)return void a.warning("Last tab must remain open.");c.shiftKey?(e.state.selectedTabId=s(r),i.openSimpleModal({title:"Confirm",message:"Are you sure you want to delete all query tabs except selected tab?",warning:!0}).result.then((function(){var r;r=e.state.selectedTabId,e.tabs=e.tabs.filter((function(e){if(e.id===r)return e})),u(e.tabs[0].id),t.set(n.TABS_STATE,e.tabs),o.$broadcast("deleteAllexeptSelected",e.tabs)}))):(e.state.idForDelete=s(r),i.openSimpleModal({title:"Confirm",message:"Are you sure you want to close this query tab?",warning:!0}).result.then((function(){!function(t){if(angular.isUndefined(t))throw"Delete by id was called with undefined id";const n=function(t){for(let n=0;n<e.tabs.length;n++){if(e.tabs[n].id===t)return n}}(t);e.tabs.splice(n,1),t===e.currentQuery.id&&e.tabs.length>0&&u(n>0?e.tabs[n-1].id:e.tabs[0].id)}(e.state.idForDelete)})));angular.element(document).find(".CodeMirror textarea:first-child").focus()},e.editCurrentTab=function(){if(s(r)!==e.currentQuery.id)return;e.editCurrentlySelectedOnly.$show();const t=$(".editable-buttons");t.children(".btn.btn-primary").addClass("btn-sm"),t.children(".btn.btn-default").addClass("btn-sm"),$(".editable-controls .editable-input").addClass("form-control-sm").on("change",(function(t){e.currentQuery.name=t.currentTarget.$$currentValue})),$(".editable-buttons .glyphicon.glyphicon-ok").removeClass("glyphicon glyphicon-ok").addClass("fa fa-check"),$(".editable-buttons .glyphicon.glyphicon-remove").removeClass("glyphicon glyphicon-remove").addClass("fa fa-close")},e.selectThisTab=function(t){t.preventDefault(),t.stopPropagation(),e.isTabChangeOk(!1)&&$(r).tab("show")}}]}}angular.module("graphdb.framework.core.directives.queryeditor.sparqltab",["graphdb.framework.core","graphdb.framework.utils.localstorageadapter"]).directive("sparqlTab",r),r.$inject=["$rootScope","LocalStorageAdapter","LSKeys","ModalService"]},66:function(e,t,n){"use strict";n.r(t);n(2),n(8),n(11),n(31);function r(e,t,n,r,o){e.getSqlConfigurations=function(){!t.getActiveRepository()||t.isActiveRepoOntopType()||t.isActiveRepoFedXType()?e.jdbcConfigurations=[]:n.getJdbcConfigurations().success((function(t){e.jdbcConfigurations=t})).error((function(e){const t=getError(e);r.error(t,"Could not get SQL table configurations")}))},e.$watch((function(){return t.getActiveRepository()}),(function(){e.getSqlConfigurations()})),e.deleteConfiguration=function(t){o.openSimpleModal({title:"Warning",message:"Are you sure you want to delete the SQL table configuration '"+t+"'?",warning:!0}).result.then((function(){n.deleteJdbcConfiguration(t).success((function(){e.getSqlConfigurations()})).error((function(e){r.error(getError(e),"Could not delete SQL table")}))}))}}function o(e,t,n,r,o,i,a,s,u,c){e.name=t.search().name||"",e.getNamespaces=function(){y(!0,"Refreshing namespaces","Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first."),s.getRepositoryNamespaces().success((function(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(){y(!1),m()}))},e.setLoader=y,e.addKnownPrefixes=h,e.page=1,e.noPadding={paddingRight:0,paddingLeft:0},e.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp","Get suggestion..."],e.currentTabConfig={},e.orientationViewMode=!0,e.currentQuery={},e.$watch((function(){return r.getActiveRepository()}),(function(e,n){e!==n&&t.path("jdbc")}));let l=null;e.goBack=function(){l=i((function(){o.history.back()}),1e3)};const d=e.$on("$locationChangeStart",(function(t){!function(t){e.currentQuery.isPristine||(confirm("You have unsaved changes. Are you sure that you want to exit?")?(window.removeEventListener("beforeunload",g),d(),i.cancel(l)):t.preventDefault())}(t)}));function g(t){e.currentQuery.isPristine||(t.returnValue=!0)}window.addEventListener("beforeunload",g),e.$on("$destroy",(function(e){window.removeEventListener("beforeunload",g),d(),i.cancel(l)}));const p={id:"1",name:"",query:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}",inference:!0,sameAs:!0,isNewConfiguration:!0,isPristine:!0};var f;function y(t,n,r){const o=angular.element(document.getElementById("yasr-inner"));e.queryIsRunning=t,t?(e.queryStartTime=Date.now(),e.countTimeouted=!1,e.progressMessage=n,e.extraMessage=r,o.addClass("hide")):(e.progressMessage="",e.extraMessage="",o.removeClass("hide")),null===e.$$phase&&e.$apply()}function m(){e.tabsData=[e.currentQuery];const t=e.currentQuery;e.currentQuery.query?window.editor.setValue(e.currentQuery.query):window.editor.setValue(" "),i((function(){e.currentTabConfig={},e.currentTabConfig.queryType=t.queryType,e.currentTabConfig.resultsCount=t.resultsCount,e.currentTabConfig.offset=t.offset,e.currentTabConfig.allResultsCount=t.allResultsCount,e.currentTabConfig.page=t.page,e.currentTabConfig.pageSize=t.pageSize,e.currentTabConfig.timeFinished=t.timeFinished,e.currentTabConfig.timeTook=t.timeTook,e.currentTabConfig.sizeDelta=t.sizeDelta,e.$apply()}),0),e.canWriteActiveRepo()||(window.editor.options.readOnly=!0)}function b(){e.tabsData=e.tabs=[p],e.currentQuery=angular.copy(p),w(),window.editor&&(e.setQuery(e.currentQuery.query),m()),e.$watch((function(){return e.currentQuery.query}),(function(t,n){t!==n&&e.setDirty()}))}function h(){u.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}))}function C(){E()&&a.getColumnNames(e.currentQuery.query).success((function(t){a.getColumnsTypeSuggestion(e.currentQuery.query,t).success((function(n){const r=[];_.forEach(t,(function(e){r.push({column_name:e,column_type:n[e].column_type,nullable:!0,sparql_type:n[e].sparql_type})})),e.currentQuery.columns=r,e.setDirty()})).error((function(e){n.error(getError(e),"Could not suggest column types")}))})).error((function(e){n.error(getError(e),"Could not suggest column names")}))}function w(){2===e.page?e.viewMode="editor":e.viewMode="none"}function T(e,t,n,r,o){let i=n[r].value;return i=i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+i+"</p>")+"</div>"}function v(){return window.editor&&"SELECT"===window.editor.getQueryType()}function S(){return E()&&function(){if(!e.currentQuery.columns||!e.currentQuery.columns.length)return n.error("Please define at least one column","Invalid columns"),!1;if(e.containsUnknownColumns())return n.error("Please select SQL type for all columns","Invalid columns"),!1;return!0}()}function E(){return!!v()||(n.error("The data query must be a SELECT query","Invalid query"),!1)}e.resetCurrentTabConfig=function(){e.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0,queryType:""}},e.saveTab=function(){},e.setQuery=function(e){window.editor.setValue(e||" ")},e.name?(f=e.name,a.getJdbcConfiguration(f).success((function(e){p.query=e.query,p.name=e.name,p.columns=e.columns,p.isNewConfiguration=!e.name,b()})).error((function(e){const t=getError(e);n.error(t,"Could not get SQL table configuration")}))):b(),e.goToPage=function(t){e.page=t;const n=e.currentQuery.columns;2!==t||n&&0!==n.length||!v()||e.getColumnsSuggestions(),w()},e.save=function(){S()&&(e.currentQuery.name?e.currentQuery.isNewConfiguration?a.createNewJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,n.success("SQL table configuration saved"),e.goBack()})).error((function(e){const t=getError(e);n.error(t,"Could not save SQL table configuration")})):a.updateJdbcConfiguration(e.currentQuery).success((function(){e.currentQuery.isPristine=!0,e.currentQuery.isNewConfiguration=!1,n.success("SQL table configuration updated"),e.goBack()})).error((function(e){const t=getError(e);n.error(t,"Could not save SQL table configuration")})):n.error("SQL configuration name is required"))},e.hasPrecision=function(e){return"iri"===e||"string"===e||"decimal"===e},e.containsColumnsWithPrecision=function(t){return t&&t.some(t=>e.hasPrecision(t.column_type))},e.hasScale=function(e){return"decimal"===e},e.containsColumnsWithScale=function(t){return t&&t.some(t=>e.hasScale(t.column_type))},e.isLiteral=function(e){return"iri"!==e&&"unknown"!==e},e.containsNonLiteralColumnsOnly=function(t){return t&&t.every(t=>!e.isLiteral(t.column_type))},e.containsUnknownColumns=function(){return e.currentQuery.columns&&e.currentQuery.columns.find(e=>"unknown"===e.column_type)},$("textarea").on("paste",(function(){i((function(){h()}),0)})),e.selectColumnType=function(t,r){const o=_.find(e.currentQuery.columns,(function(e){return e.column_name===t}));"Get suggestion..."===o.column_type&&a.getColumnsTypeSuggestion(e.currentQuery.query,[t]).success((function(e){o.column_type=e[t].column_type,o.column_type===r?n.info("SQL type is the same after suggest: <b>"+o.column_type+"</b>","Suggest SQL type",{allowHtml:!0}):n.success("SQL type set to: <b>"+o.column_type+"</b>","Suggest SQL type",{allowHtml:!0}),o.sparql_type=e[t].sparql_type})).error((function(e){n.error(getError(e),"Could not suggest column type")})),e.setDirty()},e.getColumnsSuggestions=function(){e.currentQuery.columns&&e.currentQuery.columns.length>0?c.openSimpleModal({title:"Warning",message:"Are you sure you want to get suggestions for all columns? This action will overwrite all column type mappings!",warning:!0}).result.then((function(){C()})):C()},e.deleteColumn=function(t,n){c.openSimpleModal({title:"Warning",message:"Are you sure you want to delete the column '"+t+"'?",warning:!0}).result.then((function(){e.currentQuery.columns.splice(n,1),e.setDirty()}))},e.getPreview=function(){if(S()&&(e.executedQueryTab=e.currentQuery,!e.queryIsRunning)){e.currentQuery.outputType="table",e.resetCurrentTabConfig(),y(!0,"Preview of first 100 rows of table "+e.name,"Normally this is a fast operation but it may take longer if a bigger repository needs to be initialised first.");const t=function(t,r,o){!function(t,r,o){t.results&&t.results.bindings&&t.results.bindings.length?(window.yasr.plugins.table.options.getCellContent=T,e.currentTabConfig.queryType="SELECT",window.yasr.setResponse(r,o,null)):n.info("The table definition produced no results","Preview SQL")}(t,o,r),y(!1)},r=function(e){y(!1),n.error(getError(e,0,100),"Could not show preview")};if(e.canWriteActiveRepo()){const n=JSON.stringify({name:e.currentQuery.name,query:e.currentQuery.query,columns:e.currentQuery.columns||[]});a.getNewSqlTablePreview(n).done(t).fail(r)}else a.getExistingSqlTablePreview(e.currentQuery.name).done(t).fail(r)}},e.setDirty=function(){e.currentQuery.isPristine=!1},e.getTypeLabel=function(e){switch(e){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return e.indexOf(" ")>0?e:e.toUpperCase()}}}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",r).controller("JdbcCreateCtrl",o),r.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService"],o.$inject=["$scope","$location","toastr","$repositories","$window","$timeout","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService"]},67:function(e,t){angular.module("graphdb.framework.rest.jdbc.service",[]).factory("JdbcRestService",r),r.$inject=["$http","$repositories"];const n="rest/sql-views";function r(e){return{getJdbcConfigurations:function(){return e.get(`${n}/tables`)},getJdbcConfiguration:function(t){return e.get(`${n}/tables/${t}`)},createNewJdbcConfiguration:function(e){return t("POST","",e)},updateJdbcConfiguration:function(e){return t("PUT",e.name,e)},deleteJdbcConfiguration:function(t){return e.delete(`${n}/tables/${t}`)},getColumnNames:function(t){return e.post(`${n}/columns`,t,{headers:{Accept:"application/json","Content-Type":"text/plain"}})},getColumnsTypeSuggestion:function(t,r){if(!Array.isArray(r))throw"Column names must be placed in array.";return e({method:"POST",url:`${n}/types`,data:{query:t,column_names:r}})},getExistingSqlTablePreview:function(e,t){return $.ajax({method:"GET",url:`rest/sql-views/preview/${e}`,params:{limit:t}})},getNewSqlTablePreview:function(e,t){return $.ajax({method:"POST",url:"rest/sql-views/preview",contentType:"application/json; charset=utf-8",dataType:"json",data:e,params:{limit:t},headers:{Accept:"application/sparql-results+json"}})}};function t(t,r,o){return e({method:t,url:`${n}/tables/${r}`,noCancelOnRouteChange:!0,data:{name:o.name,query:o.query,columns:o.columns||[]}})}}}}]);
2
+ //# sourceMappingURL=15.02ad5872995df6d6692a.bundle.js.map