graphdb-workbench 3.0.2-TR1 → 3.0.2

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 (103) hide show
  1. package/dist/{18.b09e14d8a204a28fb95b.bundle.js → 18.b2d04af2d60cc37a5ebe.bundle.js} +1 -1
  2. package/dist/{190.431c135250df34322375.bundle.js → 190.4969eb91b83aaa7cd263.bundle.js} +1 -1
  3. package/dist/231.909faa919088245e9988.bundle.js +1 -1
  4. package/dist/{29.1f79f4caa66f63bd6611.bundle.js → 29.5ec5948f2e30819e6dc8.bundle.js} +1 -1
  5. package/dist/{30.2125e28509307f3a225f.bundle.js → 30.a60e3c2ac0de3b37e185.bundle.js} +1 -1
  6. package/dist/31.7452fe0f096c31a9a1f1.bundle.js +2 -0
  7. package/dist/{38.79bf8cac11760d2e69be.bundle.js → 38.8819c36a5204129f3dbc.bundle.js} +1 -1
  8. package/dist/{41.0d8779a7af2eb26cf157.bundle.js → 41.c6545eb0ce13e63738d2.bundle.js} +1 -1
  9. package/dist/410.b74d59055b7cf830abe5.bundle.js +1 -1
  10. package/dist/416.68f6286f80654cdbe4e4.bundle.js +1 -1
  11. package/dist/417.70adf0a6f0571c394764.bundle.js +1 -1
  12. package/dist/42.baaa159c3b1e81422600.bundle.js +1 -1
  13. package/dist/423.6edb13ec0cf08388c947.bundle.js +1 -1
  14. package/dist/424.725b821051516e73783a.bundle.js +1 -1
  15. package/dist/425.03fcf969da1a4e92fec3.bundle.js +1 -1
  16. package/dist/426.aa6924f6f1192d037009.bundle.js +1 -1
  17. package/dist/427.5c7b72141707b841e8a3.bundle.js +1 -1
  18. package/dist/428.0d471ce7c68654947c04.bundle.js +1 -1
  19. package/dist/{44.45a26f697588279fbc60.bundle.js → 44.ec337831549cfeaab224.bundle.js} +1 -1
  20. package/dist/443.969280af4067a22d1a8b.bundle.js +1 -1
  21. package/dist/444.a5971579184b091ed392.bundle.js +1 -1
  22. package/dist/445.2b20cb9e68a11879f6c4.bundle.js +1 -1
  23. package/dist/446.fe3cf3d6e288c8c4444b.bundle.js +1 -1
  24. package/dist/447.d1d078921f6f28e2fa38.bundle.js +1 -1
  25. package/dist/448.d6c9bed6d99b8b23619f.bundle.js +1 -1
  26. package/dist/468.8e259940c62a68ef3055.bundle.js +1 -1
  27. package/dist/{48.ba4cec793ef54b1611e5.bundle.js → 48.8726b8de8055297cec7c.bundle.js} +1 -1
  28. package/dist/480.379bf3b338e0a3224a1f.bundle.js +1 -1
  29. package/dist/481.0387239b174f787e70ea.bundle.js +1 -1
  30. package/dist/483.c81275cb05dd78ce389f.bundle.js +1 -1
  31. package/dist/484.25a82c267c3a705d2a65.bundle.js +1 -1
  32. package/dist/485.91cbfbfd37eccde375c9.bundle.js +1 -1
  33. package/dist/488.a69dcce23066c0dafdf7.bundle.js +1 -1
  34. package/dist/489.a976085b601cccf438d4.bundle.js +1 -1
  35. package/dist/49.ec8921fc54aaae50ca52.bundle.js +1 -1
  36. package/dist/490.d3e0f3e499b5a24f6808.bundle.js +1 -1
  37. package/dist/491.62c185868f9d99dd5713.bundle.js +1 -1
  38. package/dist/50.4886e820614f9dadb147.bundle.js +1 -0
  39. package/dist/{54.c54ba6791e3926ebb553.bundle.js → 54.f1ed20f259011ef082b2.bundle.js} +1 -1
  40. package/dist/76.fc1058890354a7ee6abe.bundle.js +1 -1
  41. package/dist/{bundle.6c88507cb6367ac80d16.bundle.js → bundle.fc37b3e514d7594f55be.bundle.js} +3 -3
  42. package/dist/css/rdf-class-hierarchy.css +1 -1
  43. package/dist/index.html +3 -3
  44. package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
  45. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  46. package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
  47. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
  48. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  49. package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
  50. package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
  51. package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
  52. package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
  53. package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
  54. package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
  55. package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
  56. package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
  57. package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
  58. package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
  59. package/dist/js/angular/security/templates/user.html +2 -2
  60. package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
  61. package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
  62. package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
  63. package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
  64. package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
  65. package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
  66. package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +2 -2
  67. package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
  68. package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
  69. package/dist/license-checker.json +2 -2
  70. package/dist/pages/aclmanagement.html +2 -2
  71. package/dist/pages/autocomplete.html +1 -1
  72. package/dist/pages/choose-repository-type.html +1 -1
  73. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  74. package/dist/pages/create-index.html +1 -1
  75. package/dist/pages/dependencies.html +1 -1
  76. package/dist/pages/domainRangeInfo.html +2 -2
  77. package/dist/pages/edit.html +1 -1
  78. package/dist/pages/explore.html +1 -1
  79. package/dist/pages/export.html +1 -1
  80. package/dist/pages/find.html +1 -1
  81. package/dist/pages/graph-config/saveGraphConfig.html +8 -8
  82. package/dist/pages/graphs-visualizations.html +7 -7
  83. package/dist/pages/guides.html +1 -1
  84. package/dist/pages/import.html +2 -2
  85. package/dist/pages/jdbc-create.html +1 -1
  86. package/dist/pages/monitor/backup-and-restore.html +1 -1
  87. package/dist/pages/monitor/queries.html +1 -1
  88. package/dist/pages/monitor/resources.html +1 -1
  89. package/dist/pages/namespaces.html +2 -2
  90. package/dist/pages/plugins.html +1 -1
  91. package/dist/pages/rdfClassHierarchyInfo.html +9 -11
  92. package/dist/pages/rdfrank.html +2 -2
  93. package/dist/pages/repositories.html +1 -1
  94. package/dist/pages/repository.html +1 -1
  95. package/dist/pages/similarity-indexes.html +1 -1
  96. package/dist/pages/sparql-editor.html +1 -1
  97. package/dist/pages/sparql-template-create.html +1 -1
  98. package/dist/pages/ux-test1.html +2 -2
  99. package/dist/pages/webapi.html +2 -2
  100. package/dist/res/swagger5/index.html +12 -12
  101. package/package.json +1 -1
  102. package/dist/31.e0747ab3d38bd6efa832.bundle.js +0 -2
  103. package/dist/50.ee3ed147b2bc2382a0a2.bundle.js +0 -1
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[41,54,297,305,324,325,364,388],{104:function(e,t,r){"use strict";r.r(t),r.d(t,"RenderingMode",(function(){return n}));var n={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},115:function(e,t,r){"use strict";r.r(t),r.d(t,"YasqeMode",(function(){return n}));var n={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}},118:function(e,t){function r(e,t){return{showToastMessageWithDelay:function(r){return new Promise((function(n){e.success(t.instant(r)),setTimeout(n,300)}))}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",r),r.$inject=["toastr","$translate"]},236:function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function a(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t,r){return t=f(t),function(e,t){if(t&&("object"==n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,c()?Reflect.construct(t,r||[],f(e).constructor):t.apply(e,r))}function s(e){var t="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return u(e,arguments,f(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,e)})(e)}function u(e,t,r){if(c())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var o=new(e.bind.apply(e,n));return r&&p(o,r.prototype),o}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(c=function(){return!!e})()}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}r.r(t),r.d(t,"SparqlTemplateError",(function(){return m}));var m=function(e){function t(){return i(this,t),l(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(t,e),r=t,n&&o(r.prototype,n),a&&o(r,a),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,a}(s(Error))},237:function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function a(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.r(t),r.d(t,"DEFAULT_SPARQL_QUERY",(function(){return s})),r.d(t,"SparqlTemplateInfo",(function(){return u}));var s="PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nPREFIX ex: <http://example.com#>\nDELETE {\n ?subject ex:myPredicate ?oldValue .\n} INSERT {\n ?subject ex:myPredicate ?newValue .\n} WHERE {\n ?id rdf:type ex:MyType .\n ?subject ex:isRelatedTo ?id .\n}\n",u=a((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;l(this,e),this.query=t,this.templateID=n,this.isNewTemplate=r,this.templateExist=!1,this.isValidTemplateId=!0,this.isValidQuery=!0,this.isValidQueryMode=!0}))},366:function(e,t){angular.module("graphdb.framework.rest.sparql-templates.service",[]).factory("SparqlTemplatesRestService",r),r.$inject=["$http"];function r(e){return{getSparqlTemplates:function(t){return e.get("".concat("rest/repositories/").concat(t).concat("/sparql-templates"))},getSparqlTemplate:function(t,r){return e.get("".concat("rest/repositories/").concat(r).concat("/sparql-templates","/configuration"),{params:{templateID:t}})},createSparqlTemplate:function(t,r){return e.post("".concat("rest/repositories/").concat(r).concat("/sparql-templates"),{templateID:t.templateID,query:t.query})},updateSparqlTemplate:function(t,r){return e.put("".concat("rest/repositories/").concat(r).concat("/sparql-templates"),t.query,{params:{templateID:t.templateID},headers:{"Content-Type":"text/plain"}})},deleteSparqlTemplate:function(t,r){return e.delete("".concat("rest/repositories/").concat(r).concat("/sparql-templates"),{params:{templateID:t}})}}}},370:function(e,t,r){"use strict";r.r(t);r(10),r(53),r(55),r(118),r(56),r(30);var n=r(1),o=r(237),a=r(236),i=r(115),l=r(104),s=r(27);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,i,l=[],s=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){u=!0,o=e}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t,r,n,o,a,i){e.pluginName="sparql-template",e.setPluginIsActive=function(t){e.pluginIsActive=t},e.getSparqlTemplates=function(){a.isLicenseValid()&&t.getActiveRepository()&&!t.isActiveRepoOntopType()&&!t.isActiveRepoFedXType()?r.getSparqlTemplates(t.getActiveRepository()).success((function(t){e.sparqlTemplateIds=t})).error((function(e){var t=getError(e);n.error(t,i.instant("sparql.template.get.templates.error"))})):e.sparqlTemplateIds=[]},e.$watch((function(){return t.getActiveRepository()}),(function(){e.getSparqlTemplates()})),e.deleteTemplate=function(a){o.openSimpleModal({title:i.instant("common.warning"),message:i.instant("sparql.template.delete.template.warning",{templateID:a}),warning:!0}).result.then((function(){r.deleteSparqlTemplate(a,t.getActiveRepository()).success((function(){n.success(a,i.instant("sparql.template.delete.template.success")),e.getSparqlTemplates()})).error((function(e){n.error(getError(e),i.instant("sparql.template.delete.template.failure",{templateID:a}))}))}))}}function f(e,t,r,c,p,f,m,d,y,g,v,h,b,T,q,w){e.initialQuery=o.DEFAULT_SPARQL_QUERY,e.sparqlTemplateInfo=new o.SparqlTemplateInfo(e.initialQuery),e.title="",e.saveOrUpdateExecuted=!1,e.isDirty=!1,e.language=w.getLanguage(),e.canEditActiveRepo=!1;var S=!0;e.saveTemplate=function(){e.saveOrUpdateExecuted=!0,P()||V();var t=e.sparqlTemplateInfo.isNewTemplate?E:O;x(e.sparqlTemplateInfo).then($).then(R).then(k).then(t).then(Q).catch((function(e){e instanceof a.SparqlTemplateError||console.log(e)}))},e.isTemplateIdValid=function(e){return v.isValidIri(e,e.toString())},e.markDirty=function(){e.isDirty=!0},e.markPristine=function(){e.isDirty=!1};var I=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.DEFAULT_SPARQL_QUERY;e.sparqlTemplateInfo.query=r,e.sparqlTemplateInfo.templateID=M(),e.sparqlTemplateInfo.isNewTemplate=!e.sparqlTemplateInfo.templateID,C(),e.yasguiConfig={showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showYasqeActionButtons:!1,showYasqeResizer:!1,yasqeActionButtons:s.DISABLE_YASQE_BUTTONS_CONFIGURATION,showQueryButton:!1,initialQuery:e.sparqlTemplateInfo.query,componentId:"sparql-template",prefixes:t,render:l.RenderingMode.YASQE,maxPersistentResponseSize:0,yasqeMode:e.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.PROTECTED}},E=function(e){return D(e).then(A).then(j)},D=function(t){return y.getSparqlTemplates(p.getActiveRepository()).then((function(r){return t.templateExist=r.data.find((function(t){return t===e.sparqlTemplateInfo.templateID})),t})).catch((function(e){var t=getError(e);return c.error(t,b.instant("sparql.template.get.templates.error")),Promise.reject(new a.SparqlTemplateError("Failed to retrieve sparql templates."))}))},R=function(e){return U().isQueryValid().then((function(t){return e.isValidQuery=t,e.isValidQuery?e:Promise.reject(new a.SparqlTemplateError("Invalid query."))}))},P=function(){return e.sparqlTemplateInfo.isNewTemplate||e.isDirty},A=function(e){return new Promise((function(t,r){if(e.templateExist){var o=Object(n.decodeHTML)(b.instant("sparql.template.existing.template.error",{templateID:e.templateID})),i=b.instant("common.confirm.save");N(i,o,(function(){return t(e)}),(function(){return r(new a.SparqlTemplateError("Save not confirmed."))}))}else t(e)}))};function j(t){return y.createSparqlTemplate(t,p.getActiveRepository()).then((function(){return t.isNewTemplate=!1,e.markPristine(),c.success(t.templateID,b.instant("save.sparql.template.success.msg")),t})).catch((function(e){var r=getError(e);return c.error(r,b.instant("save.sparql.template.failure.msg",{templateID:t.templateID})),Promise.reject(new a.SparqlTemplateError("Failed to save the new template: ".concat(t.templateID)))}))}var O=function(t){return y.updateSparqlTemplate(t,p.getActiveRepository()).then((function(){return t.isNewTemplate=!1,e.markPristine(),c.success(e.sparqlTemplateInfo.templateID,b.instant("update.sparql.template.success.msg")),t})).catch((function(e){var r=getError(e);return c.error(r,b.instant("save.sparql.template.failure.msg",{templateID:t.templateID})),Promise.reject(new a.SparqlTemplateError("Failed to update the template: ".concat(t.templateID)))}))},$=function(e){return U().getQuery().then((function(t){return e.query=t,e}))},k=function(e){return U().getQueryMode().then((function(t){return e.isValidQueryMode="update"===t,e.isValidQueryMode?e:Promise.reject(new a.SparqlTemplateError("Query mode is not valid."))}))},x=function(t){return new Promise((function(r,n){t.templateID?(t.isValidTemplateId=e.isTemplateIdValid(t.templateID),t.isValidTemplateId?r(t):n(new a.SparqlTemplateError("Template identifier is not valid."))):n(new a.SparqlTemplateError("A required template identifier is missing."))}))},Q=function(){setTimeout((function(){V()}),1e3)},M=function(){var e=r.hash()||"";return(r.search().templateID||"")+(e?"#".concat(e):"")},C=function(){e.title=(e.sparqlTemplateInfo.templateID?b.instant("edit"):b.instant("common.create.btn"))+" "+b.instant("view.sparql.template.title")},V=function(){r.url("/sparql-templates")},_=function(t,r){e.queryIsRunning=t,e.loaderMessage=e.queryIsRunning?r:""},U=function(){return s.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor")},N=function(e,t,r,n){h.openSimpleModal({title:e,message:t,warning:!0}).result.then((function(){angular.isFunction(r)&&r()}),(function(){angular.isFunction(n)&&n()}))},Y=function(){window.removeEventListener("beforeunload",F),L.forEach((function(e){return e()}))},F=function(t){e.isDirty&&(t.returnValue=!0)},L=[];L.push(e.$on("queryChanged",(function(t,r){r.dirty?e.markDirty():e.markPristine()}))),L.push(t.$on("$translateChangeSuccess",(function(){e.language=w.getLanguage(),C()}))),L.push(e.$on("$locationChangeStart",(function(t,n){if(e.isDirty){t.preventDefault();var o=b.instant("common.confirm"),a=b.instant("jdbc.warning.unsaved.changes");N(o,a,(function(){Y();var e=r.absUrl().length-r.url().length,t=n.substring(e);r.path(t)}))}else Y()}))),L.push(q.subscribe("repositoryWillChangeEvent",(function(t){return new Promise((function(r){if(e.sparqlTemplateInfo.isNewTemplate)r(t);else{var n=function(){e.isDirty=!1,V(),r(t)};if(e.isDirty){var o=b.instant("common.confirm"),a=b.instant("jdbc.warning.unsaved.changes");N(o,a,n,(function(){t.cancel=!0,r(t)}))}else n()}}))}))),L.push(e.$on("$destroy",Y)),window.addEventListener("beforeunload",F);var B=function(){var t="".concat(b.instant("common.refreshing.namespaces"),". ").concat(b.instant("common.extra.message"));_(!0,t),e.sparqlTemplateInfo.templateID=M();var r=p.getActiveRepository();e.sparqlTemplateInfo.templateID?Promise.all([p.getPrefixes(r),y.getSparqlTemplate(e.sparqlTemplateInfo.templateID,r)]).then((function(e){var t=u(e,2),r=t[0],n=t[1];return I(r,n.data)})).finally((function(){return _(!1)})):p.getPrefixes(r).then((function(e){return I(e)})).finally((function(){return _(!1)}))};L.push(e.$watch(e.getActiveRepositoryObject,(function(t){t&&(e.canEditActiveRepo=e.canWriteActiveRepo(),S?(B(),S=!1):V())})))}angular.module("graphdb.framework.sparql-template.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr","graphdb.framework.utils.event-emitter-service"],["graphdb.framework.utils.notifications"]).controller("SparqlTemplatesCtrl",p).controller("SparqlTemplateCreateCtrl",f),p.$inject=["$scope","$repositories","SparqlTemplatesRestService","toastr","ModalService","$licenseService","$translate"],f.$inject=["$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","SparqlTemplatesRestService","RDF4JRepositoriesRestService","UriUtils","ModalService","$translate","$q","EventEmitterService","$languageService"]},478:function(e,t,r){"use strict";r.r(t);r(10),r(52),r(250),r(53),r(370),r(366),r(56),r(167);angular.module("graphdb.framework.sparql-template",["toastr","ui.bootstrap","graphdb.framework.sparql-template.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.sparql-templates.service","graphdb.framework.utils.uriutils","graphdb.framework.core.directives.yasgui-component"])}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[41,54,297,305,324,325,364,388],{104:function(e,t,r){"use strict";r.r(t),r.d(t,"RenderingMode",(function(){return n}));var n={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},115:function(e,t,r){"use strict";r.r(t),r.d(t,"YasqeMode",(function(){return n}));var n={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}},118:function(e,t){function r(e,t){return{showToastMessageWithDelay:function(r){return new Promise((function(n){e.success(t.instant(r)),setTimeout(n,300)}))}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",r),r.$inject=["toastr","$translate"]},236:function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function a(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t,r){return t=f(t),function(e,t){if(t&&("object"==n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,c()?Reflect.construct(t,r||[],f(e).constructor):t.apply(e,r))}function s(e){var t="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return u(e,arguments,f(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,e)})(e)}function u(e,t,r){if(c())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var o=new(e.bind.apply(e,n));return r&&p(o,r.prototype),o}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(c=function(){return!!e})()}function p(e,t){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}r.r(t),r.d(t,"SparqlTemplateError",(function(){return m}));var m=function(e){function t(){return i(this,t),l(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(t,e),r=t,n&&o(r.prototype,n),a&&o(r,a),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,a}(s(Error))},237:function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function a(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}r.r(t),r.d(t,"DEFAULT_SPARQL_QUERY",(function(){return s})),r.d(t,"SparqlTemplateInfo",(function(){return u}));var s="PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nPREFIX ex: <http://example.com#>\nDELETE {\n ?subject ex:myPredicate ?oldValue .\n} INSERT {\n ?subject ex:myPredicate ?newValue .\n} WHERE {\n ?id rdf:type ex:MyType .\n ?subject ex:isRelatedTo ?id .\n}\n",u=a((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;l(this,e),this.query=t,this.templateID=n,this.isNewTemplate=r,this.templateExist=!1,this.isValidTemplateId=!0,this.isValidQuery=!0,this.isValidQueryMode=!0}))},366:function(e,t){angular.module("graphdb.framework.rest.sparql-templates.service",[]).factory("SparqlTemplatesRestService",r),r.$inject=["$http"];function r(e){return{getSparqlTemplates:function(t){return e.get("".concat("rest/repositories/").concat(t).concat("/sparql-templates"))},getSparqlTemplate:function(t,r){return e.get("".concat("rest/repositories/").concat(r).concat("/sparql-templates","/configuration"),{params:{templateID:t}})},createSparqlTemplate:function(t,r){return e.post("".concat("rest/repositories/").concat(r).concat("/sparql-templates"),{templateID:t.templateID,query:t.query})},updateSparqlTemplate:function(t,r){return e.put("".concat("rest/repositories/").concat(r).concat("/sparql-templates"),t.query,{params:{templateID:t.templateID},headers:{"Content-Type":"text/plain"}})},deleteSparqlTemplate:function(t,r){return e.delete("".concat("rest/repositories/").concat(r).concat("/sparql-templates"),{params:{templateID:t}})}}}},370:function(e,t,r){"use strict";r.r(t);r(10),r(53),r(55),r(118),r(56),r(30);var n=r(1),o=r(237),a=r(236),i=r(115),l=r(104),s=r(27);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,i,l=[],s=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(l.push(n.value),l.length!==t);s=!0);}catch(e){u=!0,o=e}finally{try{if(!s&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t,r,n,o,a,i){e.pluginName="sparql-template",e.setPluginIsActive=function(t){e.pluginIsActive=t},e.getSparqlTemplates=function(){a.isLicenseValid()&&t.getActiveRepository()&&!t.isActiveRepoOntopType()&&!t.isActiveRepoFedXType()?r.getSparqlTemplates(t.getActiveRepository()).success((function(t){e.sparqlTemplateIds=t})).error((function(e){var t=getError(e);n.error(t,i.instant("sparql.template.get.templates.error"))})):e.sparqlTemplateIds=[]},e.$watch((function(){return t.getActiveRepository()}),(function(){e.getSparqlTemplates()})),e.deleteTemplate=function(a){o.openSimpleModal({title:i.instant("common.warning"),message:i.instant("sparql.template.delete.template.warning",{templateID:a}),warning:!0}).result.then((function(){r.deleteSparqlTemplate(a,t.getActiveRepository()).success((function(){n.success(a,i.instant("sparql.template.delete.template.success")),e.getSparqlTemplates()})).error((function(e){n.error(getError(e),i.instant("sparql.template.delete.template.failure",{templateID:a}))}))}))}}function f(e,t,r,c,p,f,m,d,y,g,v,h,b,T,q,w){e.initialQuery=o.DEFAULT_SPARQL_QUERY,e.sparqlTemplateInfo=new o.SparqlTemplateInfo(e.initialQuery),e.title="",e.saveOrUpdateExecuted=!1,e.isDirty=!1,e.language=w.getLanguage(),e.canEditActiveRepo=!1;var S=!0;e.saveTemplate=function(){e.saveOrUpdateExecuted=!0,A()||_();var t=e.sparqlTemplateInfo.isNewTemplate?E:O;x(e.sparqlTemplateInfo).then($).then(R).then(k).then(t).then(Q).catch((function(e){e instanceof a.SparqlTemplateError||console.log(e)}))},e.isTemplateIdValid=function(e){return v.isValidIri(e,e.toString())},e.markDirty=function(){e.isDirty=!0},e.markPristine=function(){e.isDirty=!1};var I=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.DEFAULT_SPARQL_QUERY;e.sparqlTemplateInfo.query=r,e.sparqlTemplateInfo.templateID=M(),e.sparqlTemplateInfo.isNewTemplate=!e.sparqlTemplateInfo.templateID,V(),e.yasguiConfig={showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showYasqeActionButtons:!1,showYasqeResizer:!1,yasqeActionButtons:s.DISABLE_YASQE_BUTTONS_CONFIGURATION,showQueryButton:!1,initialQuery:e.sparqlTemplateInfo.query,componentId:"sparql-template",prefixes:t,render:l.RenderingMode.YASQE,maxPersistentResponseSize:0,yasqeMode:e.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.READ}},E=function(e){return D(e).then(P).then(j)},D=function(t){return y.getSparqlTemplates(p.getActiveRepository()).then((function(r){return t.templateExist=r.data.find((function(t){return t===e.sparqlTemplateInfo.templateID})),t})).catch((function(e){var t=getError(e);return c.error(t,b.instant("sparql.template.get.templates.error")),Promise.reject(new a.SparqlTemplateError("Failed to retrieve sparql templates."))}))},R=function(e){return U().isQueryValid().then((function(t){return e.isValidQuery=t,e.isValidQuery?e:Promise.reject(new a.SparqlTemplateError("Invalid query."))}))},A=function(){return e.sparqlTemplateInfo.isNewTemplate||e.isDirty},P=function(e){return new Promise((function(t,r){if(e.templateExist){var o=Object(n.decodeHTML)(b.instant("sparql.template.existing.template.error",{templateID:e.templateID})),i=b.instant("common.confirm.save");N(i,o,(function(){return t(e)}),(function(){return r(new a.SparqlTemplateError("Save not confirmed."))}))}else t(e)}))};function j(t){return y.createSparqlTemplate(t,p.getActiveRepository()).then((function(){return t.isNewTemplate=!1,e.markPristine(),c.success(t.templateID,b.instant("save.sparql.template.success.msg")),t})).catch((function(e){var r=getError(e);return c.error(r,b.instant("save.sparql.template.failure.msg",{templateID:t.templateID})),Promise.reject(new a.SparqlTemplateError("Failed to save the new template: ".concat(t.templateID)))}))}var O=function(t){return y.updateSparqlTemplate(t,p.getActiveRepository()).then((function(){return t.isNewTemplate=!1,e.markPristine(),c.success(e.sparqlTemplateInfo.templateID,b.instant("update.sparql.template.success.msg")),t})).catch((function(e){var r=getError(e);return c.error(r,b.instant("save.sparql.template.failure.msg",{templateID:t.templateID})),Promise.reject(new a.SparqlTemplateError("Failed to update the template: ".concat(t.templateID)))}))},$=function(e){return U().getQuery().then((function(t){return e.query=t,e}))},k=function(e){return U().getQueryMode().then((function(t){return e.isValidQueryMode="update"===t,e.isValidQueryMode?e:Promise.reject(new a.SparqlTemplateError("Query mode is not valid."))}))},x=function(t){return new Promise((function(r,n){t.templateID?(t.isValidTemplateId=e.isTemplateIdValid(t.templateID),t.isValidTemplateId?r(t):n(new a.SparqlTemplateError("Template identifier is not valid."))):n(new a.SparqlTemplateError("A required template identifier is missing."))}))},Q=function(){setTimeout((function(){_()}),1e3)},M=function(){var e=r.hash()||"";return(r.search().templateID||"")+(e?"#".concat(e):"")},V=function(){e.title=(e.sparqlTemplateInfo.templateID?b.instant("edit"):b.instant("common.create.btn"))+" "+b.instant("view.sparql.template.title")},_=function(){r.url("/sparql-templates")},C=function(t,r){e.queryIsRunning=t,e.loaderMessage=e.queryIsRunning?r:""},U=function(){return s.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor")},N=function(e,t,r,n){h.openSimpleModal({title:e,message:t,warning:!0}).result.then((function(){angular.isFunction(r)&&r()}),(function(){angular.isFunction(n)&&n()}))},Y=function(){window.removeEventListener("beforeunload",F),L.forEach((function(e){return e()}))},F=function(t){e.isDirty&&(t.returnValue=!0)},L=[];L.push(e.$on("queryChanged",(function(t,r){r.dirty?e.markDirty():e.markPristine()}))),L.push(t.$on("$translateChangeSuccess",(function(){e.language=w.getLanguage(),V()}))),L.push(e.$on("$locationChangeStart",(function(t,n){if(e.isDirty){t.preventDefault();var o=b.instant("common.confirm"),a=b.instant("jdbc.warning.unsaved.changes");N(o,a,(function(){Y();var e=r.absUrl().length-r.url().length,t=n.substring(e);r.path(t)}))}else Y()}))),L.push(q.subscribe("repositoryWillChangeEvent",(function(t){return new Promise((function(r){if(e.sparqlTemplateInfo.isNewTemplate)r(t);else{var n=function(){e.isDirty=!1,_(),r(t)};if(e.isDirty){var o=b.instant("common.confirm"),a=b.instant("jdbc.warning.unsaved.changes");N(o,a,n,(function(){t.cancel=!0,r(t)}))}else n()}}))}))),L.push(e.$on("$destroy",Y)),window.addEventListener("beforeunload",F);var B=function(){var t="".concat(b.instant("common.refreshing.namespaces"),". ").concat(b.instant("common.extra.message"));C(!0,t),e.sparqlTemplateInfo.templateID=M();var r=p.getActiveRepository();e.sparqlTemplateInfo.templateID?Promise.all([p.getPrefixes(r),y.getSparqlTemplate(e.sparqlTemplateInfo.templateID,r)]).then((function(e){var t=u(e,2),r=t[0],n=t[1];return I(r,n.data)})).finally((function(){return C(!1)})):p.getPrefixes(r).then((function(e){return I(e)})).finally((function(){return C(!1)}))};L.push(e.$watch(e.getActiveRepositoryObject,(function(t){t&&(e.canEditActiveRepo=e.canWriteActiveRepo(),S?(B(),S=!1):_())})))}angular.module("graphdb.framework.sparql-template.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr","graphdb.framework.utils.event-emitter-service"],["graphdb.framework.utils.notifications"]).controller("SparqlTemplatesCtrl",p).controller("SparqlTemplateCreateCtrl",f),p.$inject=["$scope","$repositories","SparqlTemplatesRestService","toastr","ModalService","$licenseService","$translate"],f.$inject=["$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","SparqlTemplatesRestService","RDF4JRepositoriesRestService","UriUtils","ModalService","$translate","$q","EventEmitterService","$languageService"]},478:function(e,t,r){"use strict";r.r(t);r(10),r(52),r(250),r(53),r(370),r(366),r(56),r(167);angular.module("graphdb.framework.sparql-template",["toastr","ui.bootstrap","graphdb.framework.sparql-template.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.sparql-templates.service","graphdb.framework.utils.uriutils","graphdb.framework.core.directives.yasgui-component"])}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[410],{546:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cluster-nodes-configuration.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div onto-loader-new ng-if="loader" class="create-cluster-loader" message="getLoaderMessage" size="100"></div>\n<div class="add-node-wrapper pull-right mb-1">\n <button ng-click="addNode()" ng-disabled="editedNodeIndex !== undefined"\n class="btn btn-primary add-node-btn"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip\' | translate}}">\n <i class="fa fa-plus"></i> {{\'cluster_management.update_cluster_group_dialog.actions.add_node\' |\n translate}}\n </button>\n</div>\n<div class="table-responsive">\n <form name="form" id="updateClusterGroupForm">\n <table class="cluster-group table table-striped table-hover cluster-group-table" aria-describedby="cluster group table">\n <thead>\n <tr class="labels-row">\n <th scope="col" class="index-column">\n {{\'cluster_management.update_cluster_group_dialog.column.index\' | translate}}\n </th>\n <th scope="col" class="location-column">\n {{\'cluster_management.update_cluster_group_dialog.column.location\' | translate}}\n </th>\n <th scope="col" class="info-column">\n {{\'cluster_management.update_cluster_group_dialog.column.info\' | translate}}\n </th>\n <th scope="col" class="status-column">\n {{\'cluster_management.update_cluster_group_dialog.column.status\' | translate}}\n </th>\n <th scope="col" class="empty-column"></th>\n <th scope="col" class="actions-column"></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-if="!viewModel.length">\n <td colspan="5" class="no-data">\n {{\'cluster_management.update_cluster_group_dialog.messages.no_cluster\' | translate}}\n </td>\n </tr>\n\n <tr ng-repeat-start="node in viewModel track by $index" ng-if="0"></tr>\n <tr ng-if="$index !== editedNodeIndex" class="node preview-node-row" data-endpoint="{{node.endpoint}}"\n capture-height="$index"\n ng-class="{\'selected\': $index === selectedNode || $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="location-cell data" ng-class="{\'deleting\': node.isDeleted, \'adding\': !node.item.address}">\n <div class="location-item" id="endpoint-{{::node.index}}">\n <span class="text-only">{{node.item.endpoint}}</span>\n <copy-to-clipboard\n text-to-copy="{{node.item.endpoint}}"\n custom-tooltip-style="true"\n ng-attr-target-selector="#endpoint-{{::node.index}}"\n custom-tooltip-text="{{\'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip\' | translate}}"></copy-to-clipboard>\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell data">\n <div ng-if="!node.item.address" class="adding">\n <i class="fa fa-circle-check status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.new_node\' | translate}}\n </div>\n <div ng-if="node.isDeleted" class="deleting">\n <i class="fa fa-xmark status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.deleted_node\' | translate}}\n </div>\n </td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div ng-if="editedNodeIndex === undefined && !node.isDeleted" class="actions-group">\n <button ng-click="deleteNode($index, node)" ng-disabled="(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)"\n class="btn btn-link delete-node-btn secondary"\n gdb-tooltip="{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n (\'cluster_management.update_cluster_group_dialog.actions.delete_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_delete_node\' | translate) }}"\n title-class="delete-node-tooltip">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="replaceNode($index, node)" class="btn btn-link replace-node-btn" ng-disabled="!hasCluster && node.isLocal"\n gdb-tooltip="{{hasCluster || !node.isLocal ?\n (\'cluster_management.update_cluster_group_dialog.actions.replace_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_replace_node\' | translate) }}">\n <i class="fa fa-arrow-right-arrow-left"></i>\n </button>\n </div>\n <div ng-if="editedNodeIndex === undefined && node.isDeleted" class="actions-group">\n <button ng-click="restoreNode(node)"\n class="btn btn-link restore-node-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.restore_node\' | translate}}">\n <i class="fa fa-rotate-left"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-if="$index === editedNodeIndex" class="node edit-node-row" data-endpoint="{{node.endpoint}}"\n style="{{getRowHeight}}"\n ng-class="{\'selected table-info\': $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <input type="text" name="location" required\n ng-model="node.endpoint"\n ng-change="filterSuggestions(node)"\n ng-blur="hideSuggestions(node)"\n ng-click="filterSuggestions(node)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(node, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(node.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-repeat-end ng-if="0"></tr>\n <tr ng-if="addNewLocation" class="node edit-node-row">\n <td class="index-cell"></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <input type="text" name="location" required\n ng-model="newLocation.endpoint"\n ng-change="filterSuggestions(newLocation)"\n ng-blur="hideSuggestions(newLocation)"\n ng-click="filterSuggestions(newLocation)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(newLocation, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data"></td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(newLocation.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class="errors">\n <div class="error-message"\n ng-show="form.location.$error.validUrl && !form.location.$pristine">\n * {{\'valid.remote.location.warning\' | translate}} http://server.example.com:7200/.\n </div>\n <div class="error-message"\n ng-show="form.location.$error.duplicateUrl && !form.location.$pristine">\n * {{\'duplicate.remote.location.warning\' | translate}}\n </div>\n <div ng-repeat="error in errors" class="error-message">\n {{error}}\n </div>\n </div>\n <div class="form-horizontal" ng-if="!hasCluster">\n <div class="form-group">\n <div class="indented-div">\n <span class="padding-label wrapper-div"\n gdb-tooltip="{{\'cluster_management.cluster_page.advanced_options_tooltip\' | translate}}">\n <button type="button"\n class="text-btn advanced-options-btn text-left"\n data-toggle="collapse"\n data-target="#advancedOptions">\n <i class="{{getAdvancedOptionsClass()}} advanced-options-toggle" aria-hidden="true"></i>\n {{\'cluster_management.cluster_page.advanced_options\' | translate}}\n </button>\n </span>\n </div>\n\n <div id="advancedOptions" class="collapse pb-1 pl-2">\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionMinTimeout.$invalid}">\n <label for="election-minimum-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_min_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionMinTimeout"\n required id="election-minimum-timeout" min="0" pattern="[0-9]+"\n name="electionMinTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionRangeTimeout.$invalid}">\n <label for="election-range-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_range_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionRangeTimeout"\n required id="election-range-timeout" min="0" pattern="[0-9]+"\n name="electionRangeTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.heartbeatInterval.$invalid}">\n <label for="heartbeat-interval" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.heartbeat_interval\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.heartbeatInterval"\n required id="heartbeat-interval" min="0" pattern="[0-9]+"\n name="heartbeatInterval">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.messageSizeKB.$invalid}">\n <label for="message-size" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.message_size_kb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.message_size_kb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.messageSizeKB"\n required id="message-size" min="0" pattern="[0-9]+" name="messageSizeKB">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.verificationTimeout.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.verification_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.verification_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.verificationTimeout"\n required id="verification-timeout" min="0" pattern="[0-9]+"\n name="verificationTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.transactionLogMaximumSizeGB.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.transactionLogMaximumSizeGB"\n required id="transaction-log-maximum-size-gb"\n pattern="-?[1-9][0-9]*(\\.[0-9]+)?" name="transaction_log_maximum_size_gb">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.small_transaction_log_max_size\' |\n translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.batchUpdateInterval.$invalid}">\n <label for="batch-update-interval" class="col-xs-4 col-form-label">\n {{\'cluster_management.cluster_configuration_properties.batch_update_interval\' | translate}}*\n </label>\n <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip\' | translate}}">\n <input\n class="form-control"\n placeholder="{{\'required.field\' | translate}}"\n type="number"\n ng-model="clusterConfiguration.batchUpdateInterval"\n required\n id="batch-update-interval"\n min="0"\n name="batchUpdateInterval">\n <div class="form-control-feedback" ng-show="clusterConfigurationForm.batchUpdateInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[410],{546:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cluster-nodes-configuration.css?v=3.0.2" rel="stylesheet"/>\n\n<div onto-loader-new ng-if="loader" class="create-cluster-loader" message="getLoaderMessage" size="100"></div>\n<div class="add-node-wrapper pull-right mb-1">\n <button ng-click="addNode()" ng-disabled="editedNodeIndex !== undefined"\n class="btn btn-primary add-node-btn"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip\' | translate}}">\n <i class="fa fa-plus"></i> {{\'cluster_management.update_cluster_group_dialog.actions.add_node\' |\n translate}}\n </button>\n</div>\n<div class="table-responsive">\n <form name="form" id="updateClusterGroupForm">\n <table class="cluster-group table table-striped table-hover cluster-group-table" aria-describedby="cluster group table">\n <thead>\n <tr class="labels-row">\n <th scope="col" class="index-column">\n {{\'cluster_management.update_cluster_group_dialog.column.index\' | translate}}\n </th>\n <th scope="col" class="location-column">\n {{\'cluster_management.update_cluster_group_dialog.column.location\' | translate}}\n </th>\n <th scope="col" class="info-column">\n {{\'cluster_management.update_cluster_group_dialog.column.info\' | translate}}\n </th>\n <th scope="col" class="status-column">\n {{\'cluster_management.update_cluster_group_dialog.column.status\' | translate}}\n </th>\n <th scope="col" class="empty-column"></th>\n <th scope="col" class="actions-column"></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-if="!viewModel.length">\n <td colspan="5" class="no-data">\n {{\'cluster_management.update_cluster_group_dialog.messages.no_cluster\' | translate}}\n </td>\n </tr>\n\n <tr ng-repeat-start="node in viewModel track by $index" ng-if="0"></tr>\n <tr ng-if="$index !== editedNodeIndex" class="node preview-node-row" data-endpoint="{{node.endpoint}}"\n capture-height="$index"\n ng-class="{\'selected\': $index === selectedNode || $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="location-cell data" ng-class="{\'deleting\': node.isDeleted, \'adding\': !node.item.address}">\n <div class="location-item" id="endpoint-{{::node.index}}">\n <span class="text-only">{{node.item.endpoint}}</span>\n <copy-to-clipboard\n text-to-copy="{{node.item.endpoint}}"\n custom-tooltip-style="true"\n ng-attr-target-selector="#endpoint-{{::node.index}}"\n custom-tooltip-text="{{\'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip\' | translate}}"></copy-to-clipboard>\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell data">\n <div ng-if="!node.item.address" class="adding">\n <i class="fa fa-circle-check status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.new_node\' | translate}}\n </div>\n <div ng-if="node.isDeleted" class="deleting">\n <i class="fa fa-xmark status-icon"></i>\n {{\'cluster_management.update_cluster_group_dialog.deleted_node\' | translate}}\n </div>\n </td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div ng-if="editedNodeIndex === undefined && !node.isDeleted" class="actions-group">\n <button ng-click="deleteNode($index, node)" ng-disabled="(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)"\n class="btn btn-link delete-node-btn secondary"\n gdb-tooltip="{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n (\'cluster_management.update_cluster_group_dialog.actions.delete_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_delete_node\' | translate) }}"\n title-class="delete-node-tooltip">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="replaceNode($index, node)" class="btn btn-link replace-node-btn" ng-disabled="!hasCluster && node.isLocal"\n gdb-tooltip="{{hasCluster || !node.isLocal ?\n (\'cluster_management.update_cluster_group_dialog.actions.replace_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_replace_node\' | translate) }}">\n <i class="fa fa-arrow-right-arrow-left"></i>\n </button>\n </div>\n <div ng-if="editedNodeIndex === undefined && node.isDeleted" class="actions-group">\n <button ng-click="restoreNode(node)"\n class="btn btn-link restore-node-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.restore_node\' | translate}}">\n <i class="fa fa-rotate-left"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-if="$index === editedNodeIndex" class="node edit-node-row" data-endpoint="{{node.endpoint}}"\n style="{{getRowHeight}}"\n ng-class="{\'selected table-info\': $index === editedNodeIndex}">\n <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <input type="text" name="location" required\n ng-model="node.endpoint"\n ng-change="filterSuggestions(node)"\n ng-blur="hideSuggestions(node)"\n ng-click="filterSuggestions(node)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(node, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data">\n <span ng-if="node.isLocal">\n {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span>\n </span>\n\n <span ng-if="node.item.nodeState">\n {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) |\n translate }}\n </span>\n </td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(node.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n <tr ng-repeat-end ng-if="0"></tr>\n <tr ng-if="addNewLocation" class="node edit-node-row">\n <td class="index-cell"></td>\n <td class="data location-cell">\n <div class="autocomplete-container">\n <input type="text" name="location" required\n ng-model="newLocation.endpoint"\n ng-change="filterSuggestions(newLocation)"\n ng-blur="hideSuggestions(newLocation)"\n ng-click="filterSuggestions(newLocation)"\n auto-grow\n validate-url exclude="/repositories" exclude-protocol="ftp,ftps"\n validate-duplicate-url excluded-urls="clusterNodesEndpoints"\n allow-empty="false"\n class="form-control form-control-sm textarea-edit"\n uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}"\n tooltip-placement="top"\n placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}">\n <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown">\n <li ng-repeat="suggestion in suggestions"\n ng-mouseup="selectSuggestion(newLocation, suggestion)">\n {{ suggestion }}\n </li>\n </ul>\n </div>\n </td>\n <td class="info-cell data"></td>\n <td class="status-cell"></td>\n <td class="empty-cell"></td>\n <td class="actions-cell">\n <div class="crud-actions-group">\n <button ng-click="cancel()"\n class="btn btn-link cancel-node-replace-btn secondary"\n gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}">\n <i class="fa fa-xmark"></i>\n </button>\n <button ng-click="saveNode(newLocation.endpoint)"\n class="btn btn-link save-rule-btn"\n ng-disabled="!form.location.$valid"\n gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}">\n <i class="fa fa-check"></i>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div class="errors">\n <div class="error-message"\n ng-show="form.location.$error.validUrl && !form.location.$pristine">\n * {{\'valid.remote.location.warning\' | translate}} http://server.example.com:7200/.\n </div>\n <div class="error-message"\n ng-show="form.location.$error.duplicateUrl && !form.location.$pristine">\n * {{\'duplicate.remote.location.warning\' | translate}}\n </div>\n <div ng-repeat="error in errors" class="error-message">\n {{error}}\n </div>\n </div>\n <div class="form-horizontal" ng-if="!hasCluster">\n <div class="form-group">\n <div class="indented-div">\n <span class="padding-label wrapper-div"\n gdb-tooltip="{{\'cluster_management.cluster_page.advanced_options_tooltip\' | translate}}">\n <button type="button"\n class="text-btn advanced-options-btn text-left"\n data-toggle="collapse"\n data-target="#advancedOptions">\n <i class="{{getAdvancedOptionsClass()}} advanced-options-toggle" aria-hidden="true"></i>\n {{\'cluster_management.cluster_page.advanced_options\' | translate}}\n </button>\n </span>\n </div>\n\n <div id="advancedOptions" class="collapse pb-1 pl-2">\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionMinTimeout.$invalid}">\n <label for="election-minimum-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_min_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionMinTimeout"\n required id="election-minimum-timeout" min="0" pattern="[0-9]+"\n name="electionMinTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionMinTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.electionRangeTimeout.$invalid}">\n <label for="election-range-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_range_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.electionRangeTimeout"\n required id="election-range-timeout" min="0" pattern="[0-9]+"\n name="electionRangeTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.electionRangeTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.heartbeatInterval.$invalid}">\n <label for="heartbeat-interval" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.heartbeat_interval\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.heartbeatInterval"\n required id="heartbeat-interval" min="0" pattern="[0-9]+"\n name="heartbeatInterval">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.heartbeatInterval.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.messageSizeKB.$invalid}">\n <label for="message-size" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.message_size_kb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.message_size_kb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.messageSizeKB"\n required id="message-size" min="0" pattern="[0-9]+" name="messageSizeKB">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.messageSizeKB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.verificationTimeout.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.verification_timeout\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.verification_timeout_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.verificationTimeout"\n required id="verification-timeout" min="0" pattern="[0-9]+"\n name="verificationTimeout">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.verificationTimeout.$error.pattern">\n {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group"\n ng-class="{\'has-danger\': clusterConfigurationForm.transactionLogMaximumSizeGB.$invalid}">\n <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb\'\n | translate}}*</label>\n <div class="col-xs-8"\n gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip\' | translate}}">\n <input class="form-control" placeholder="{{\'required.field\' | translate}}"\n type="number" ng-model="clusterConfiguration.transactionLogMaximumSizeGB"\n required id="transaction-log-maximum-size-gb"\n pattern="-?[1-9][0-9]*(\\.[0-9]+)?" name="transaction_log_maximum_size_gb">\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.required">\n {{\'required.field\' | translate}}\n </div>\n <div class="form-control-feedback"\n ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.pattern">\n {{\'cluster_management.cluster_page.errors.small_transaction_log_max_size\' |\n translate}}\n </div>\n </div>\n </div>\n </div>\n <div class="form-group">\n <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.batchUpdateInterval.$invalid}">\n <label for="batch-update-interval" class="col-xs-4 col-form-label">\n {{\'cluster_management.cluster_configuration_properties.batch_update_interval\' | translate}}*\n </label>\n <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip\' | translate}}">\n <input\n class="form-control"\n placeholder="{{\'required.field\' | translate}}"\n type="number"\n ng-model="clusterConfiguration.batchUpdateInterval"\n required\n id="batch-update-interval"\n min="0"\n name="batchUpdateInterval">\n <div class="form-control-feedback" ng-show="clusterConfigurationForm.batchUpdateInterval.$error.required">\n {{\'required.field\' | translate}}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[416],{552:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/autocomplete-select.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div class="autocomplete-select-wrapper">\n <div class="autocomplete-select">\n <div ng-hide="isMultiline">\n <input type="text" ng-model="searchInput" ng-change="onChange()" ng-keydown="onKeyDown($event)"\n ng-blur="onBlur()" ng-required="required"\n class="autocomplete-input autocomplete-editable" ng-class="styleClass" placeholder="{{placeholder}}">\n </div>\n <div ng-show="isMultiline">\n <textarea\n ng-model="searchInput"\n ng-change="onChange()"\n ng-keydown="onKeyDown($event)"\n ng-blur="onBlur()"\n ng-required="required"\n class="autocomplete-textarea autocomplete-editable" ng-class="styleClass"\n placeholder="{{placeholder}}"\n rows="{{initialRows}}">\n </textarea>\n </div>\n </div>\n <div class="autocomplete-results-wrapper card">\n <div ng-repeat="autoCompleteUriResult in autoCompleteUriResults track by $index"\n ng-click="selectResource(autoCompleteUriResult)"\n ng-mousemove="setActiveItemIndex($index)"\n ng-class="{active: activeSearchElm === $index, selected: selectedElementIndex === $index}"\n class="result-item">\n <p ng-bind-html="getResultItemHtml(autoCompleteUriResult)"></p>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[416],{552:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/autocomplete-select.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="autocomplete-select-wrapper">\n <div class="autocomplete-select">\n <div ng-hide="isMultiline">\n <input type="text" ng-model="searchInput" ng-change="onChange()" ng-keydown="onKeyDown($event)"\n ng-blur="onBlur()" ng-required="required"\n class="autocomplete-input autocomplete-editable" ng-class="styleClass" placeholder="{{placeholder}}">\n </div>\n <div ng-show="isMultiline">\n <textarea\n ng-model="searchInput"\n ng-change="onChange()"\n ng-keydown="onKeyDown($event)"\n ng-blur="onBlur()"\n ng-required="required"\n class="autocomplete-textarea autocomplete-editable" ng-class="styleClass"\n placeholder="{{placeholder}}"\n rows="{{initialRows}}">\n </textarea>\n </div>\n </div>\n <div class="autocomplete-results-wrapper card">\n <div ng-repeat="autoCompleteUriResult in autoCompleteUriResults track by $index"\n ng-click="selectResource(autoCompleteUriResult)"\n ng-mousemove="setActiveItemIndex($index)"\n ng-class="{active: activeSearchElm === $index, selected: selectedElementIndex === $index}"\n class="result-item">\n <p ng-bind-html="getResultItemHtml(autoCompleteUriResult)"></p>\n </div>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[417],{553:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/dynamic-form.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div class="dynamic-form-container">\n <form name="dynamicForm" novalidate class="dynamic-form">\n <div ng-repeat="model in formModel.models">\n \x3c!-- Groups --\x3e\n <div ng-if="model.groupId && (model.fields.length > 0 || showAllFields)" class="form-group">\n <h5 class="group-title">\n <span\n gdb-tooltip="{{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + \'.tooltip\') : null) | translate}}">\n {{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + \'.label\') : model.groupId) | translate}}\n </span>\n </h5>\n <dynamic-form-field ng-repeat="field in model.fields" field="field" form="dynamicForm"\n translation-key-prefix="translationKeyPrefix">\n </dynamic-form-field>\n\n <div class="hidden-fields">\n <dynamic-form-field ng-if="showAllFields" ng-repeat="field in model.hiddenFields"\n field="field" form="dynamicForm" translation-key-prefix="translationKeyPrefix">\n </dynamic-form-field>\n </div>\n </div>\n\n \x3c!-- Individual fields --\x3e\n <dynamic-form-field ng-if="!model.groupId" field="model" form-name="dynamicForm"\n translation-key-prefix="translationKeyPrefix">\n </dynamic-form-field>\n </div>\n </form>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[417],{553:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/dynamic-form.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="dynamic-form-container">\n <form name="dynamicForm" novalidate class="dynamic-form">\n <div ng-repeat="model in formModel.models">\n \x3c!-- Groups --\x3e\n <div ng-if="model.groupId && (model.fields.length > 0 || showAllFields)" class="form-group">\n <h5 class="group-title">\n <span\n gdb-tooltip="{{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + \'.tooltip\') : null) | translate}}">\n {{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + \'.label\') : model.groupId) | translate}}\n </span>\n </h5>\n <dynamic-form-field ng-repeat="field in model.fields" field="field" form="dynamicForm"\n translation-key-prefix="translationKeyPrefix">\n </dynamic-form-field>\n\n <div class="hidden-fields">\n <dynamic-form-field ng-if="showAllFields" ng-repeat="field in model.hiddenFields"\n field="field" form="dynamicForm" translation-key-prefix="translationKeyPrefix">\n </dynamic-form-field>\n </div>\n </div>\n\n \x3c!-- Individual fields --\x3e\n <dynamic-form-field ng-if="!model.groupId" field="model" form-name="dynamicForm"\n translation-key-prefix="translationKeyPrefix">\n </dynamic-form-field>\n </div>\n </form>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[42,228,231,232,233],{178:function(e,r){function t(e,r,t,o,s){e.message=s,e.close=function(){r.dismiss()},e.copyToClipboard=function(){navigator.clipboard.writeText(e.message).then((function(){o.success(t.instant("import.help.messages.copied_to_clipboard")),e.close()}),(function(e){console.error("Could not copy text: ",e)}))}}angular.module("graphdb.framework.impex.import.controllers.import-resource-message-dialog",[]).controller("ImportResourceMessageDialogController",t),t.$inject=["$scope","$uibModalInstance","$translate","toastr","message"]},225:function(e,r,t){"use strict";t.r(r);t(178);var o=t(105),s=t(120);function i(e){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-message.html",scope:{resource:"="},link:function(r){r.ImportResourceStatus=o.ImportResourceStatus,r.toTitleCase=function(e){return s.toTitleCase(e)},r.showMessage=function(r){e.open({templateUrl:"js/angular/import/templates/import-resource-message-dialog.html",controller:"ImportResourceMessageDialogController",size:"lg",windowClass:"import-resource-message-dialog",backdrop:"static",resolve:{message:function(){return r?r.importResource.message:""}}})}}}}angular.module("graphdb.framework.import.directives.import-resource-message",["graphdb.framework.impex.import.controllers.import-resource-message-dialog"]).directive("importResourceMessage",i),i.$inject=["$uibModal"]},226:function(e,r){function t(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-status-info.html",scope:{resource:"="},link:function(t){var o=[];t.popoverTemplate="resourceStatusInfoTemplate.html",t.popoverIsOpen=!1,t.context=t.resource.importResource.context,t.replaceGraphs=t.resource.importResource.replaceGraphs,t.baseUrl=decodeURIComponent(t.resource.importResource.baseURI),t.forceSerial=t.resource.importResource.forceSerial,t.importedOn=t.resource.importResource.importedOn,t.parserSettings=t.resource.importResource.parserSettings,t.open=function(){t.closeAllDialogs(),t.popoverIsOpen=!0},t.closeAllDialogs=function(){e.$broadcast("closePopovers")},t.close=function(){t.popoverIsOpen=!1};var s=function(e){"Escape"===e.key&&t.$apply((function(){t.close()}))};o.push(t.$on("closePopovers",t.close)),r.on("keydown",s),t.$on("$destroy",(function(){r.off("keydown",s),o.forEach((function(e){return e()}))}))}}}angular.module("graphdb.framework.import.directives.import-resource-status-info",[]).directive("importResourceStatusInfo",t),t.$inject=["$rootScope","$document"]},330:function(e,r){function t(e){return{restrict:"A",require:"ngModel",link:function(r,t,o,s){s.$parsers.unshift((function(r){if(s.$setValidity("validateUri",!0),!s.$isEmpty(r)){var t=e.isValidIri(r,r.toString());s.$setValidity("validateUri",t)}return r}))}}}angular.module("graphdb.framework.import.directives.validate-uri",[]).directive("validateUri",t),t.$inject=["UriUtils"]},331:function(e,r){function t(){return{link:function(e,r,t){e.$watch("file.status",(function(){"IMPORTING"!==e.file.status&&"UPLOADING"!==e.file.status||!$(r).has("object").length>0&&$(r).append('<object width="'+t.size+'" height="'+t.size+'" data="js/angular/templates/loader/ot-loader.svg?v=3.0.2-TR1">{{\'common.loading\' | translate}}</object>')}))}}}angular.module("graphdb.framework.import.directives.import-progress-indicator",[]).directive("ImportProgressIndicator",t),t.$inject=[]},332:function(e,r,t){"use strict";t.r(r);var o=t(105),s=(t(225),t(226),t(186)),i=t(227),c=t(139),n=t(333),u=t(41),a={FILE:"FILE",DIRECTORY:"DIRECTORY",ALL:"ALL"},l={ALL:"ALL",NONE:"NONE",IMPORTED:"IMPORTED",NOT_IMPORTED:"NOT_IMPORTED"};function p(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-tree.html",scope:{columnKeys:"=",showTypeFilter:"=",sortBy:"=",asc:"=",onImport:"&",onImportAll:"&",onReset:"&",onRemove:"&",onStopImport:"&",onEditResource:"&"},link:function(t,p,m){t.resources=new i.ImportResourceTreeElement,t.displayResources=[],t.TYPE_FILTER_OPTIONS=a,t.filterByType=a.ALL,t.filterByFileName="",t.STATUS_OPTIONS=l,t.selectedByStatus=void 0,t.areAllDisplayedImportResourcesSelected=!1,t.areAllDisplayedImportResourcesPartialSelected=!1,t.ImportResourceStatus=o.ImportResourceStatus,t.canRemoveResource=angular.isDefined(m.onRemove),t.canResetSelectedResources=!1,t.SORTING_TYPES=s.SortingType,t.sortAsc=!angular.isDefined(m.asc)||t.asc,t.sortedBy=t.sortBy,t.showLoader=r.getShowLoader(),t.hasSelection=!1,t.selectionChanged=function(e){e.setSelection(e.selected),I(),f(),g()},t.selectResourceWithStatus=function(e){t.selectedByStatus=e,t.resources.setSelection(!1),l.ALL===t.selectedByStatus?t.resources.setSelection(!0):l.IMPORTED===t.selectedByStatus?t.resources.selectAllWithStatus([o.ImportResourceStatus.DONE]):l.NOT_IMPORTED===t.selectedByStatus&&t.resources.selectAllWithStatus([o.ImportResourceStatus.IMPORTING,o.ImportResourceStatus.NONE,o.ImportResourceStatus.ERROR,o.ImportResourceStatus.PENDING,o.ImportResourceStatus.INTERRUPTING]),R(),f()},t.filterByTypeChanged=function(e){t.filterByType=e,R()},t.filterByFileNameChanged=function(e){t.filterByFileName=e,b(R,100)},t.onResetStatus=function(){var e=t.resources.getAllSelected().map((function(e){return e.path}));e.length>0&&t.onReset({resources:e})},t.resetStatus=function(e){t.onReset({resources:[e.path]})},t.onRemoveResources=function(){var e=t.resources.getAllSelected();e&&e.length>0&&t.onRemove({resources:e})},t.removeResource=function(e){t.onRemove({resources:[e]})},t.importAll=function(e){var r=t.resources.getAllSelectedForImport();r.length>0&&t.onImportAll({selectedResources:r,withoutChangingSettings:e})},t.stopImport=function(e){t.onStopImport({resource:e})},t.sort=function(e){t.sortedBy===e?t.sortAsc=!t.sortAsc:t.sortAsc=!0,t.sortedBy=e,R()},t.editResource=function(e){t.onEditResource({resource:e})};var d,f=function(){t.canResetSelectedResources=t.resources.getSelectedImportedResources()},R=function(){t.resources.getRoot().updateSelectionState(),S(),t.displayResources=t.resources.toList().filter(E).filter(O),g(),I()},g=function(){var e=t.resources.getAllSelectedFilesNames();t.hasSelection=e.length>0,r.updateSelectedFilesNames(e)},I=function(){var e=t.displayResources.some((function(e){return!e.selected})),r=t.displayResources.some((function(e){return e.selected}));t.areAllDisplayedImportResourcesSelected=r&&!e,t.areAllDisplayedImportResourcesPartialSelected=r&&e},S=function(){s.SortingType.NAME===t.sortedBy?t.resources.sort(y(t.sortAsc)):s.SortingType.SIZE===t.sortedBy?t.resources.sort(T(t.sortAsc)):s.SortingType.MODIFIED===t.sortedBy?t.resources.sort(v(t.sortAsc)):s.SortingType.IMPORTED===t.sortedBy?t.resources.sort(h(t.sortAsc)):s.SortingType.CONTEXT===t.sortedBy&&t.resources.sort(A(t.sortAsc))},y=function(e){return function(r,t){return e?r.importResource.name.localeCompare(t.importResource.name):t.importResource.name.localeCompare(r.importResource.name)}},T=function(e){return function(r,t){var o=Object(u.convertToBytes)(r.importResource.size),s=Object(u.convertToBytes)(t.importResource.size);return e?o-s:s-o}},v=function(e){return function(r,t){var o=r.importResource.modifiedOn||Number.MAX_VALUE,s=t.importResource.modifiedOn||Number.MAX_VALUE;return e?o-s:s-o}},h=function(e){return function(r,t){var o=r.importResource.importedOn||Number.MAX_VALUE,s=t.importResource.importedOn||Number.MAX_VALUE;return e?o-s:s-o}},A=function(e){return function(r,t){return e?r.importResource.context.localeCompare(t.importResource.context):t.importResource.context.localeCompare(r.importResource.context)}},E=function(e){return a.ALL===t.filterByType||(t.filterByType===a.FILE?e.isFile():t.filterByType===a.DIRECTORY&&e.isDirectory())},O=function(e){return!t.filterByFileName||(t.filterByType===a.DIRECTORY?e.hasTextInDirectoriesName(t.filterByFileName):t.filterByType===a.FILE?e.hasTextInFilesName(t.filterByFileName):e.hasTextInResourcesName(t.filterByFileName))},b=function(r,t){d&&e.cancel(d),d=e(r,t)},w=[];w.push(r.onResourcesUpdated((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=c.TABS.USER===r.getActiveTabId();t.resources.isEmpty()?(t.resources=n.ImportResourceTreeService.toImportResourceTree(e,o),o&&(t.sortedBy=s.SortingType.MODIFIED)):n.ImportResourceTreeService.mergeResourceTree(t.resources,e,o),n.ImportResourceTreeService.calculateElementIndent(t.resources),n.ImportResourceTreeService.setupAfterTreeInitProperties(t.resources),R(),f()}))),w.push(r.onShowLoaderUpdated((function(e){return t.showLoader=e}))),w.push(r.onActiveTabIdUpdated((function(){return t.resources=new i.ImportResourceTreeElement})));t.$on("$destroy",(function(){w.forEach((function(e){return e()}))}))}}}angular.module("graphdb.framework.import.directives.import-resource-tree",["graphdb.framework.import.directives.import-resource-message","graphdb.framework.import.directives.import-resource-status-info"]).directive("importResourceTree",p),p.$inject=["$timeout","ImportContextService"]},428:function(e,r,t){"use strict";t.r(r);t(10),t(52),t(318),t(330),t(331),t(332),t(53),t(98),t(99);angular.module("graphdb.framework.impex.import",["toastr","ngRoute","ngFileUpload","ui.bootstrap","graphdb.framework.impex.import.directives","graphdb.framework.impex.import.controllers","graphdb.framework.core.services.repositories","graphdb.framework.import.directives.validate-uri","graphdb.framework.import.directives.import-progress-indicator","graphdb.framework.import.directives.import-resource-tree"])}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[42,228,231,232,233],{178:function(e,r){function t(e,r,t,o,s){e.message=s,e.close=function(){r.dismiss()},e.copyToClipboard=function(){navigator.clipboard.writeText(e.message).then((function(){o.success(t.instant("import.help.messages.copied_to_clipboard")),e.close()}),(function(e){console.error("Could not copy text: ",e)}))}}angular.module("graphdb.framework.impex.import.controllers.import-resource-message-dialog",[]).controller("ImportResourceMessageDialogController",t),t.$inject=["$scope","$uibModalInstance","$translate","toastr","message"]},225:function(e,r,t){"use strict";t.r(r);t(178);var o=t(105),s=t(120);function i(e){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-message.html",scope:{resource:"="},link:function(r){r.ImportResourceStatus=o.ImportResourceStatus,r.toTitleCase=function(e){return s.toTitleCase(e)},r.showMessage=function(r){e.open({templateUrl:"js/angular/import/templates/import-resource-message-dialog.html",controller:"ImportResourceMessageDialogController",size:"lg",windowClass:"import-resource-message-dialog",backdrop:"static",resolve:{message:function(){return r?r.importResource.message:""}}})}}}}angular.module("graphdb.framework.import.directives.import-resource-message",["graphdb.framework.impex.import.controllers.import-resource-message-dialog"]).directive("importResourceMessage",i),i.$inject=["$uibModal"]},226:function(e,r){function t(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-status-info.html",scope:{resource:"="},link:function(t){var o=[];t.popoverTemplate="resourceStatusInfoTemplate.html",t.popoverIsOpen=!1,t.context=t.resource.importResource.context,t.replaceGraphs=t.resource.importResource.replaceGraphs,t.baseUrl=decodeURIComponent(t.resource.importResource.baseURI),t.forceSerial=t.resource.importResource.forceSerial,t.importedOn=t.resource.importResource.importedOn,t.parserSettings=t.resource.importResource.parserSettings,t.open=function(){t.closeAllDialogs(),t.popoverIsOpen=!0},t.closeAllDialogs=function(){e.$broadcast("closePopovers")},t.close=function(){t.popoverIsOpen=!1};var s=function(e){"Escape"===e.key&&t.$apply((function(){t.close()}))};o.push(t.$on("closePopovers",t.close)),r.on("keydown",s),t.$on("$destroy",(function(){r.off("keydown",s),o.forEach((function(e){return e()}))}))}}}angular.module("graphdb.framework.import.directives.import-resource-status-info",[]).directive("importResourceStatusInfo",t),t.$inject=["$rootScope","$document"]},330:function(e,r){function t(e){return{restrict:"A",require:"ngModel",link:function(r,t,o,s){s.$parsers.unshift((function(r){if(s.$setValidity("validateUri",!0),!s.$isEmpty(r)){var t=e.isValidIri(r,r.toString());s.$setValidity("validateUri",t)}return r}))}}}angular.module("graphdb.framework.import.directives.validate-uri",[]).directive("validateUri",t),t.$inject=["UriUtils"]},331:function(e,r){function t(){return{link:function(e,r,t){e.$watch("file.status",(function(){"IMPORTING"!==e.file.status&&"UPLOADING"!==e.file.status||!$(r).has("object").length>0&&$(r).append('<object width="'+t.size+'" height="'+t.size+'" data="js/angular/templates/loader/ot-loader.svg?v=3.0.2">{{\'common.loading\' | translate}}</object>')}))}}}angular.module("graphdb.framework.import.directives.import-progress-indicator",[]).directive("ImportProgressIndicator",t),t.$inject=[]},332:function(e,r,t){"use strict";t.r(r);var o=t(105),s=(t(225),t(226),t(186)),i=t(227),c=t(139),n=t(333),u=t(41),a={FILE:"FILE",DIRECTORY:"DIRECTORY",ALL:"ALL"},l={ALL:"ALL",NONE:"NONE",IMPORTED:"IMPORTED",NOT_IMPORTED:"NOT_IMPORTED"};function p(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-tree.html",scope:{columnKeys:"=",showTypeFilter:"=",sortBy:"=",asc:"=",onImport:"&",onImportAll:"&",onReset:"&",onRemove:"&",onStopImport:"&",onEditResource:"&"},link:function(t,p,m){t.resources=new i.ImportResourceTreeElement,t.displayResources=[],t.TYPE_FILTER_OPTIONS=a,t.filterByType=a.ALL,t.filterByFileName="",t.STATUS_OPTIONS=l,t.selectedByStatus=void 0,t.areAllDisplayedImportResourcesSelected=!1,t.areAllDisplayedImportResourcesPartialSelected=!1,t.ImportResourceStatus=o.ImportResourceStatus,t.canRemoveResource=angular.isDefined(m.onRemove),t.canResetSelectedResources=!1,t.SORTING_TYPES=s.SortingType,t.sortAsc=!angular.isDefined(m.asc)||t.asc,t.sortedBy=t.sortBy,t.showLoader=r.getShowLoader(),t.hasSelection=!1,t.selectionChanged=function(e){e.setSelection(e.selected),I(),f(),g()},t.selectResourceWithStatus=function(e){t.selectedByStatus=e,t.resources.setSelection(!1),l.ALL===t.selectedByStatus?t.resources.setSelection(!0):l.IMPORTED===t.selectedByStatus?t.resources.selectAllWithStatus([o.ImportResourceStatus.DONE]):l.NOT_IMPORTED===t.selectedByStatus&&t.resources.selectAllWithStatus([o.ImportResourceStatus.IMPORTING,o.ImportResourceStatus.NONE,o.ImportResourceStatus.ERROR,o.ImportResourceStatus.PENDING,o.ImportResourceStatus.INTERRUPTING]),R(),f()},t.filterByTypeChanged=function(e){t.filterByType=e,R()},t.filterByFileNameChanged=function(e){t.filterByFileName=e,b(R,100)},t.onResetStatus=function(){var e=t.resources.getAllSelected().map((function(e){return e.path}));e.length>0&&t.onReset({resources:e})},t.resetStatus=function(e){t.onReset({resources:[e.path]})},t.onRemoveResources=function(){var e=t.resources.getAllSelected();e&&e.length>0&&t.onRemove({resources:e})},t.removeResource=function(e){t.onRemove({resources:[e]})},t.importAll=function(e){var r=t.resources.getAllSelectedForImport();r.length>0&&t.onImportAll({selectedResources:r,withoutChangingSettings:e})},t.stopImport=function(e){t.onStopImport({resource:e})},t.sort=function(e){t.sortedBy===e?t.sortAsc=!t.sortAsc:t.sortAsc=!0,t.sortedBy=e,R()},t.editResource=function(e){t.onEditResource({resource:e})};var d,f=function(){t.canResetSelectedResources=t.resources.getSelectedImportedResources()},R=function(){t.resources.getRoot().updateSelectionState(),S(),t.displayResources=t.resources.toList().filter(E).filter(O),g(),I()},g=function(){var e=t.resources.getAllSelectedFilesNames();t.hasSelection=e.length>0,r.updateSelectedFilesNames(e)},I=function(){var e=t.displayResources.some((function(e){return!e.selected})),r=t.displayResources.some((function(e){return e.selected}));t.areAllDisplayedImportResourcesSelected=r&&!e,t.areAllDisplayedImportResourcesPartialSelected=r&&e},S=function(){s.SortingType.NAME===t.sortedBy?t.resources.sort(y(t.sortAsc)):s.SortingType.SIZE===t.sortedBy?t.resources.sort(T(t.sortAsc)):s.SortingType.MODIFIED===t.sortedBy?t.resources.sort(v(t.sortAsc)):s.SortingType.IMPORTED===t.sortedBy?t.resources.sort(h(t.sortAsc)):s.SortingType.CONTEXT===t.sortedBy&&t.resources.sort(A(t.sortAsc))},y=function(e){return function(r,t){return e?r.importResource.name.localeCompare(t.importResource.name):t.importResource.name.localeCompare(r.importResource.name)}},T=function(e){return function(r,t){var o=Object(u.convertToBytes)(r.importResource.size),s=Object(u.convertToBytes)(t.importResource.size);return e?o-s:s-o}},v=function(e){return function(r,t){var o=r.importResource.modifiedOn||Number.MAX_VALUE,s=t.importResource.modifiedOn||Number.MAX_VALUE;return e?o-s:s-o}},h=function(e){return function(r,t){var o=r.importResource.importedOn||Number.MAX_VALUE,s=t.importResource.importedOn||Number.MAX_VALUE;return e?o-s:s-o}},A=function(e){return function(r,t){return e?r.importResource.context.localeCompare(t.importResource.context):t.importResource.context.localeCompare(r.importResource.context)}},E=function(e){return a.ALL===t.filterByType||(t.filterByType===a.FILE?e.isFile():t.filterByType===a.DIRECTORY&&e.isDirectory())},O=function(e){return!t.filterByFileName||(t.filterByType===a.DIRECTORY?e.hasTextInDirectoriesName(t.filterByFileName):t.filterByType===a.FILE?e.hasTextInFilesName(t.filterByFileName):e.hasTextInResourcesName(t.filterByFileName))},b=function(r,t){d&&e.cancel(d),d=e(r,t)},w=[];w.push(r.onResourcesUpdated((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=c.TABS.USER===r.getActiveTabId();t.resources.isEmpty()?(t.resources=n.ImportResourceTreeService.toImportResourceTree(e,o),o&&(t.sortedBy=s.SortingType.MODIFIED)):n.ImportResourceTreeService.mergeResourceTree(t.resources,e,o),n.ImportResourceTreeService.calculateElementIndent(t.resources),n.ImportResourceTreeService.setupAfterTreeInitProperties(t.resources),R(),f()}))),w.push(r.onShowLoaderUpdated((function(e){return t.showLoader=e}))),w.push(r.onActiveTabIdUpdated((function(){return t.resources=new i.ImportResourceTreeElement})));t.$on("$destroy",(function(){w.forEach((function(e){return e()}))}))}}}angular.module("graphdb.framework.import.directives.import-resource-tree",["graphdb.framework.import.directives.import-resource-message","graphdb.framework.import.directives.import-resource-status-info"]).directive("importResourceTree",p),p.$inject=["$timeout","ImportContextService"]},428:function(e,r,t){"use strict";t.r(r);t(10),t(52),t(318),t(330),t(331),t(332),t(53),t(98),t(99);angular.module("graphdb.framework.impex.import",["toastr","ngRoute","ngFileUpload","ui.bootstrap","graphdb.framework.impex.import.directives","graphdb.framework.impex.import.controllers","graphdb.framework.core.services.repositories","graphdb.framework.import.directives.validate-uri","graphdb.framework.import.directives.import-progress-indicator","graphdb.framework.import.directives.import-resource-tree"])}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[423],{559:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/operations-statuses-monitor.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div ng-if="activeOperations && activeOperations.operations && activeOperations.operations.length > 0"\n class="operations-statuses btn-group">\n <button type="button"\n class="btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle" data-toggle="dropdown"\n ng-if="operationsSummary && operationsSummary.length > 0"\n ng-class="{\n \'btn-fade-danger\': OPERATION_STATUS.CRITICAL === activeOperations.status,\n \'btn-fade-warning\': OPERATION_STATUS.WARNING === activeOperations.status\n }">\n <div class="operation-status-header" ng-repeat="operationGroup in operationsSummary">\n <div ng-class="{\n \'icon-import\': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n \'icon-exchange\': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n \'fa fa-archive\': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n \'fa fa-sitemap\': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationGroup.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationGroup.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationGroup.status}">\n </div>\n <span ng-if="operationGroup.runningOperations" class="running-operation-count">\n <sup class="tag-info">{{operationGroup.runningOperations}}</sup>\n </span>\n </div>\n <span class="caret"></span>\n </button>\n <ul role="menu" class="dropdown-menu dropdown-menu-right">\n <div class="operations-statuses-content">\n <li ng-repeat="operationStatus in activeOperations.operations">\n <a class="operation-status-content btn btn-secondary row" target="_blank" ng-attr-href="{{operationStatus.monitoringViewUrl}}"\n ng-class="{\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationStatus.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationStatus.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationStatus.status\n }">\n <div class="operation-icon col-sm-1" ng-style="noPadding">\n <div ng-class="{\n \'icon-import\': OPERATION_TYPE.IMPORTS === operationStatus.type,\n \'icon-exchange\': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n \'fa fa-archive\': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n \'fa fa-sitemap\': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}">\n </div>\n </div>\n <div class="col-sm-8 operation-status-label">\n {{ \'global.operations_statuses.\' + operationStatus.titleLabelKey + \'.title\' | translate }}\n </div>\n <div class="operation-number col-sm-3">\n <div ng-if="operationStatus.runningOperationCount" class="operation-status-running-operation-count tag-info">\n {{operationStatus.runningOperationCount}}\n </div>\n </div>\n </a>\n </li>\n </div>\n </ul>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[423],{559:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/operations-statuses-monitor.css?v=3.0.2" rel="stylesheet"/>\n\n<div ng-if="activeOperations && activeOperations.operations && activeOperations.operations.length > 0"\n class="operations-statuses btn-group">\n <button type="button"\n class="btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle" data-toggle="dropdown"\n ng-if="operationsSummary && operationsSummary.length > 0"\n ng-class="{\n \'btn-fade-danger\': OPERATION_STATUS.CRITICAL === activeOperations.status,\n \'btn-fade-warning\': OPERATION_STATUS.WARNING === activeOperations.status\n }">\n <div class="operation-status-header" ng-repeat="operationGroup in operationsSummary">\n <div ng-class="{\n \'icon-import\': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n \'icon-exchange\': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n \'fa fa-archive\': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n \'fa fa-sitemap\': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationGroup.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationGroup.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationGroup.status}">\n </div>\n <span ng-if="operationGroup.runningOperations" class="running-operation-count">\n <sup class="tag-info">{{operationGroup.runningOperations}}</sup>\n </span>\n </div>\n <span class="caret"></span>\n </button>\n <ul role="menu" class="dropdown-menu dropdown-menu-right">\n <div class="operations-statuses-content">\n <li ng-repeat="operationStatus in activeOperations.operations">\n <a class="operation-status-content btn btn-secondary row" target="_blank" ng-attr-href="{{operationStatus.monitoringViewUrl}}"\n ng-class="{\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationStatus.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationStatus.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationStatus.status\n }">\n <div class="operation-icon col-sm-1" ng-style="noPadding">\n <div ng-class="{\n \'icon-import\': OPERATION_TYPE.IMPORTS === operationStatus.type,\n \'icon-exchange\': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n \'fa fa-archive\': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n \'fa fa-sitemap\': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}">\n </div>\n </div>\n <div class="col-sm-8 operation-status-label">\n {{ \'global.operations_statuses.\' + operationStatus.titleLabelKey + \'.title\' | translate }}\n </div>\n <div class="operation-number col-sm-3">\n <div ng-if="operationStatus.runningOperationCount" class="operation-status-running-operation-count tag-info">\n {{operationStatus.runningOperationCount}}\n </div>\n </div>\n </a>\n </li>\n </div>\n </ul>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[424],{560:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/rdf-resource-search.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div ng-cloak>\n <div id="search-box"\n class="card search-rdf-input"\n ng-class="{\'show-rdf-search-box-visible\': showRdfSearchInput, \'show-rdf-search-box-invisible\': !showRdfSearchInput}"\n ng-keydown="onKeyDown($event)">\n <div class="card-block">\n <search-resource-input\n repository-namespaces="repositoryNamespaces"\n is-autocomplete-enabled="isAutocompleteEnabled"\n empty="empty"\n open-in-new-tab="true"\n preserve-search="true"\n radio-buttons="true"\n clear-input-icon="true">\n </search-resource-input>\n <button class="btn btn-link close-rdf-search-btn"\n gdb-tooltip="{{\'search.resource.close.msg\' | translate}}" tooltip-placement="bottom"\n ng-click="hideInput()">\n <i class="icon-close icon-2x" aria-hidden="true"></i>\n </button>\n </div>\n </div>\n <button class="btn btn-link search-rdf-btn"\n ng-if="!showRdfSearchInput"\n gdb-tooltip="{{\'search.resources.msg\' | translate}}"\n tooltip-placement="bottom"\n ng-click="showInput()">\n <i class="icon-search" aria-hidden="true"></i>\n </button>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[424],{560:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/rdf-resource-search.css?v=3.0.2" rel="stylesheet"/>\n\n<div ng-cloak>\n <div id="search-box"\n class="card search-rdf-input"\n ng-class="{\'show-rdf-search-box-visible\': showRdfSearchInput, \'show-rdf-search-box-invisible\': !showRdfSearchInput}"\n ng-keydown="onKeyDown($event)">\n <div class="card-block">\n <search-resource-input\n repository-namespaces="repositoryNamespaces"\n is-autocomplete-enabled="isAutocompleteEnabled"\n empty="empty"\n open-in-new-tab="true"\n preserve-search="true"\n radio-buttons="true"\n clear-input-icon="true">\n </search-resource-input>\n <button class="btn btn-link close-rdf-search-btn"\n gdb-tooltip="{{\'search.resource.close.msg\' | translate}}" tooltip-placement="bottom"\n ng-click="hideInput()">\n <i class="icon-close icon-2x" aria-hidden="true"></i>\n </button>\n </div>\n </div>\n <button class="btn btn-link search-rdf-btn"\n ng-if="!showRdfSearchInput"\n gdb-tooltip="{{\'search.resources.msg\' | translate}}"\n tooltip-placement="bottom"\n ng-click="showInput()">\n <i class="icon-search" aria-hidden="true"></i>\n </button>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[425],{561:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/shuttle-multiselect.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div class="shuttle-multiselect">\n <div class="shuttle-panel available-options">\n <div class="shuttle-panel-header">\n <h5>{{labels.availableOptionsTitle | translate}}</h5>\n </div>\n <div class="shuttle-panel-toolbar toolbar-left">\n <input type="text" class="form-control filter-selected"\n placeholder="{{labels.availableOptionsFilter | translate}}"\n ng-model="searchLeft">\n <a href="#" ng-click="selectAll()" class="btn-link secondary add-all-btn"\n gdb-tooltip="{{labels.selectAllTooltip | translate}}"\n tooltip-placement="top">{{labels.selectAllLabel | translate}}</a>\n </div>\n <div class="options-list">\n <div class="option-item"\n ng-repeat="item in availableOptions | searchFilter:searchLeft | orderBy:\'label\' track by $index">\n <span>{{item.label}}</span>\n <a href="#" ng-click="selectOption(item)" class="btn-link secondary item-action add-btn"\n gdb-tooltip="{{labels.selectTooltip | translate}}"\n tooltip-placement="top">\n <span class="fa fa-plus-circle"></span>\n </a>\n </div>\n </div>\n </div>\n <div class="shuttle-panel selected-options">\n <div class="shuttle-panel-header">\n <h5>{{labels.selectedOptionsTitle | translate}}</h5>\n </div>\n <div class="shuttle-panel-toolbar toolbar-right">\n <div ng-if="selectedOptions.length" class="selected-items-message">\n {{labels.selectedOptionsCount | translate:{count: selectedOptions.length} }}\n </div>\n <a href="#" ng-click="deselectAll()" class="btn-link secondary remove-all-btn"\n gdb-tooltip="{{labels.deselectAllTooltip | translate}}"\n tooltip-placement="top">{{labels.deselectAllLabel | translate}}</a>\n </div>\n <div class="options-list">\n <div class="option-item" ng-repeat="item in selectedOptions | orderBy:\'label\' track by $index">\n <span>{{item.label}}</span>\n <a href="#" ng-click="deselectOption(item)" class="btn-link secondary item-action remove-btn"\n gdb-tooltip="{{labels.deselectTooltip | translate}}"\n tooltip-placement="top">\n <span class="fa fa-minus-circle"></span>\n </a>\n </div>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[425],{561:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/shuttle-multiselect.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="shuttle-multiselect">\n <div class="shuttle-panel available-options">\n <div class="shuttle-panel-header">\n <h5>{{labels.availableOptionsTitle | translate}}</h5>\n </div>\n <div class="shuttle-panel-toolbar toolbar-left">\n <input type="text" class="form-control filter-selected"\n placeholder="{{labels.availableOptionsFilter | translate}}"\n ng-model="searchLeft">\n <a href="#" ng-click="selectAll()" class="btn-link secondary add-all-btn"\n gdb-tooltip="{{labels.selectAllTooltip | translate}}"\n tooltip-placement="top">{{labels.selectAllLabel | translate}}</a>\n </div>\n <div class="options-list">\n <div class="option-item"\n ng-repeat="item in availableOptions | searchFilter:searchLeft | orderBy:\'label\' track by $index">\n <span>{{item.label}}</span>\n <a href="#" ng-click="selectOption(item)" class="btn-link secondary item-action add-btn"\n gdb-tooltip="{{labels.selectTooltip | translate}}"\n tooltip-placement="top">\n <span class="fa fa-plus-circle"></span>\n </a>\n </div>\n </div>\n </div>\n <div class="shuttle-panel selected-options">\n <div class="shuttle-panel-header">\n <h5>{{labels.selectedOptionsTitle | translate}}</h5>\n </div>\n <div class="shuttle-panel-toolbar toolbar-right">\n <div ng-if="selectedOptions.length" class="selected-items-message">\n {{labels.selectedOptionsCount | translate:{count: selectedOptions.length} }}\n </div>\n <a href="#" ng-click="deselectAll()" class="btn-link secondary remove-all-btn"\n gdb-tooltip="{{labels.deselectAllTooltip | translate}}"\n tooltip-placement="top">{{labels.deselectAllLabel | translate}}</a>\n </div>\n <div class="options-list">\n <div class="option-item" ng-repeat="item in selectedOptions | orderBy:\'label\' track by $index">\n <span>{{item.label}}</span>\n <a href="#" ng-click="deselectOption(item)" class="btn-link secondary item-action remove-btn"\n gdb-tooltip="{{labels.deselectTooltip | translate}}"\n tooltip-placement="top">\n <span class="fa fa-minus-circle"></span>\n </a>\n </div>\n </div>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[426],{562:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/lib/ontotext-yasgui-web-component.css?v=3.0.2-TR1" rel="stylesheet">\n\n<ontotext-yasgui\n class="{{classToApply}}"\n ng-custom-element\n ngce-prop-config="ontotextYasguiConfig"\n ngce-prop-saved_query_config="savedQueryConfig"\n ngce-prop-language="language"\n ngce-on-create_saved_query="createSavedQuery($event)"\n ngce-on-update_saved_query="updateSavedQuery($event)"\n ngce-on-delete_saved_query="deleteSavedQuery($event)"\n ngce-on-share_saved_query="shareSavedQuery($event)"\n ngce-on-share_query="shareQuery($event)"\n ngce-on-query_share_link_copied="queryShareLinkCopied()"\n ngce-on-load_saved_queries="loadSavedQueries($event)"\n ngce-on-save_query_opened="saveQueryOpened($event)"\n ngce-on-output="output($event)">\n</ontotext-yasgui>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[426],{562:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/lib/ontotext-yasgui-web-component.css?v=3.0.2" rel="stylesheet">\n\n<ontotext-yasgui\n class="{{classToApply}}"\n ng-custom-element\n ngce-prop-config="ontotextYasguiConfig"\n ngce-prop-saved_query_config="savedQueryConfig"\n ngce-prop-language="language"\n ngce-on-create_saved_query="createSavedQuery($event)"\n ngce-on-update_saved_query="updateSavedQuery($event)"\n ngce-on-delete_saved_query="deleteSavedQuery($event)"\n ngce-on-share_saved_query="shareSavedQuery($event)"\n ngce-on-share_query="shareQuery($event)"\n ngce-on-query_share_link_copied="queryShareLinkCopied()"\n ngce-on-load_saved_queries="loadSavedQueries($event)"\n ngce-on-save_query_opened="saveQueryOpened($event)"\n ngce-on-output="output($event)">\n</ontotext-yasgui>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[427],{563:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div class="cookie-consent-modal" ng-show="showCookieConsent">\n <div class="cookie-consent-content">\n <span>{{\'cookie.cookie_consent\' | translate}} <a href="#" class="btn btn-link p-0"\n ng-click="showCookiePolicy()">{{\'cookie.cookie_policy_url_label\' | translate}}</a>.</span>\n <button class="btn btn-primary" ng-click="acceptConsent()">{{\'common.ok.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[427],{563:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="cookie-consent-modal" ng-show="showCookieConsent">\n <div class="cookie-consent-content">\n <span>{{\'cookie.cookie_consent\' | translate}} <a href="#" class="btn btn-link p-0"\n ng-click="showCookiePolicy()">{{\'cookie.cookie_policy_url_label\' | translate}}</a>.</span>\n <button class="btn btn-primary" ng-click="acceptConsent()">{{\'common.ok.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[428],{564:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div class="cookie-policy-modal">\n <div class="title">{{\'cookie.policy.title\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.purpose_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.purpose_text\' | translate}}</div>\n <div class="text mt-1">{{\'cookie.policy.purpose_enterprise_text\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.privacy_commitment_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.privacy_commitment_text\' | translate}}</div>\n <ul>\n <li>{{\'cookie.policy.privacy_commitment_1\' | translate}}</li>\n <li>{{\'cookie.policy.privacy_commitment_2\' | translate}}</li>\n </ul>\n\n <div class="heading">{{\'cookie.policy.cookies_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.cookies_text\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.manage_cookies_heading\' | translate}}</div>\n <div id="statistic-consent" class="toggle-group">\n <label><strong>{{\'cookie.policy.statistic_cookies\' | translate}}</strong></label>\n <span gdb-tooltip="{{\'cookie.policy.statistic_tooltip\' | translate}}" tooltip-placement="top"\n ng-click="toggleConsent(ConsentTypes.STATISTIC)"\n class="switch">\n <input type="checkbox" class="switch" ng-checked="cookieConsent.getStatisticConsent()"/>\n <label for="statistic-consent"></label>\n </span>\n </div>\n <div class="text">{{\'cookie.policy.statistic_text\' | translate}}</div>\n\n <div id="third-party-consent" class="toggle-group mt-1">\n <label><strong>{{\'cookie.policy.third_party_cookies\' | translate}}</strong></label>\n <span gdb-tooltip="{{\'cookie.policy.third_party_tooltip\' | translate}}" tooltip-placement="top"\n ng-click="toggleConsent(ConsentTypes.THIRD_PARTY)"\n class="switch">\n <input type="checkbox" class="switch" ng-checked="cookieConsent.thirdParty"/>\n <label for="third-party-consent"></label>\n </span>\n </div>\n <div class="text">{{\'cookie.policy.third_party_cookies_text\' | translate}}</div>\n\n <div class="text mt-1"><span>{{\'cookie.policy.change_cookies\' | translate}} <i>{{\'menu.setup.label\' | translate}} > {{\'menu.my.settings.label\' | translate}} > {{\'security.user.settings\' | translate}} > {{\'cookie.policy.change_cookies_location4\' | translate}}</i></span></div>\n\n <div class="text-right">\n <button class="btn btn-primary" ng-click="close()">{{\'common.close.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[428],{564:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/cookie-policy.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="cookie-policy-modal">\n <div class="title">{{\'cookie.policy.title\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.purpose_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.purpose_text\' | translate}}</div>\n <div class="text mt-1">{{\'cookie.policy.purpose_enterprise_text\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.privacy_commitment_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.privacy_commitment_text\' | translate}}</div>\n <ul>\n <li>{{\'cookie.policy.privacy_commitment_1\' | translate}}</li>\n <li>{{\'cookie.policy.privacy_commitment_2\' | translate}}</li>\n </ul>\n\n <div class="heading">{{\'cookie.policy.cookies_heading\' | translate}}</div>\n <div class="text">{{\'cookie.policy.cookies_text\' | translate}}</div>\n\n <div class="heading">{{\'cookie.policy.manage_cookies_heading\' | translate}}</div>\n <div id="statistic-consent" class="toggle-group">\n <label><strong>{{\'cookie.policy.statistic_cookies\' | translate}}</strong></label>\n <span gdb-tooltip="{{\'cookie.policy.statistic_tooltip\' | translate}}" tooltip-placement="top"\n ng-click="toggleConsent(ConsentTypes.STATISTIC)"\n class="switch">\n <input type="checkbox" class="switch" ng-checked="cookieConsent.getStatisticConsent()"/>\n <label for="statistic-consent"></label>\n </span>\n </div>\n <div class="text">{{\'cookie.policy.statistic_text\' | translate}}</div>\n\n <div id="third-party-consent" class="toggle-group mt-1">\n <label><strong>{{\'cookie.policy.third_party_cookies\' | translate}}</strong></label>\n <span gdb-tooltip="{{\'cookie.policy.third_party_tooltip\' | translate}}" tooltip-placement="top"\n ng-click="toggleConsent(ConsentTypes.THIRD_PARTY)"\n class="switch">\n <input type="checkbox" class="switch" ng-checked="cookieConsent.thirdParty"/>\n <label for="third-party-consent"></label>\n </span>\n </div>\n <div class="text">{{\'cookie.policy.third_party_cookies_text\' | translate}}</div>\n\n <div class="text mt-1"><span>{{\'cookie.policy.change_cookies\' | translate}} <i>{{\'menu.setup.label\' | translate}} > {{\'menu.my.settings.label\' | translate}} > {{\'security.user.settings\' | translate}} > {{\'cookie.policy.change_cookies_location4\' | translate}}</i></span></div>\n\n <div class="text-right">\n <button class="btn btn-primary" ng-click="close()">{{\'common.close.btn\' | translate}}</button>\n </div>\n</div>\n';return __p}}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[44,268,269,270,297,305,388],{104:function(n,t,e){"use strict";e.r(t),e.d(t,"RenderingMode",(function(){return o}));var o={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},115:function(n,t,e){"use strict";e.r(t),e.d(t,"YasqeMode",(function(){return o}));var o={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}},118:function(n,t){function e(n,t){return{showToastMessageWithDelay:function(e){return new Promise((function(o){n.success(t.instant(e)),setTimeout(o,300)}))}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",e),e.$inject=["toastr","$translate"]},228:function(n,t,e){"use strict";function o(n){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function r(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,u(o.key),o)}}function i(n,t,e){return t&&r(n.prototype,t),e&&r(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function u(n){var t=function(n,t){if("object"!=o(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var r=e.call(n,t||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==o(t)?t:t+""}function c(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}e.r(t),e.d(t,"DEFAULT_SPARQL_QUERY",(function(){return a})),e.d(t,"JdbcConfigurationInfo",(function(){return s}));var a="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}",s=i((function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;c(this,n),this.query=t,this.jdbcConfigurationName=o,this.isNewJdbcConfiguration=e,this.isValidQuery=!0,this.isValidQueryType=!0,this.hasUndefinedColumns=!1,this.isColumnsEmpty=!1,this.columns=[]}))},229:function(n,t,e){"use strict";function o(n){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function r(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,i(o.key),o)}}function i(n){var t=function(n,t){if("object"!=o(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var r=e.call(n,t||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==o(t)?t:t+""}function u(n,t,e){return t=l(t),function(n,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n)}(n,s()?Reflect.construct(t,e||[],l(n).constructor):t.apply(n,e))}function c(n){var t="function"==typeof Map?new Map:void 0;return(c=function(n){if(null===n||!function(n){try{return-1!==Function.toString.call(n).indexOf("[native code]")}catch(t){return"function"==typeof n}}(n))return n;if("function"!=typeof n)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(n))return t.get(n);t.set(n,e)}function e(){return a(n,arguments,l(this).constructor)}return e.prototype=Object.create(n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),f(e,n)})(n)}function a(n,t,e){if(s())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,t);var r=new(n.bind.apply(n,o));return e&&f(r,e.prototype),r}function s(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(n){}return(s=function(){return!!n})()}function f(n,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n})(n,t)}function l(n){return(l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}e.r(t),e.d(t,"JdbcConfigurationError",(function(){return d}));var d=function(n){function t(n,e){var o;return function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(o=u(this,t,[n])).jdbcConfigurationInfo=e,o}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),t&&f(n,t)}(t,n),e=t,o&&r(e.prototype,o),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,o,i}(c(Error))},230:function(n,t,e){"use strict";function o(n){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function r(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,u(o.key),o)}}function i(n,t,e){return t&&r(n.prototype,t),e&&r(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function u(n){var t=function(n,t){if("object"!=o(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var r=e.call(n,t||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==o(t)?t:t+""}e.r(t),e.d(t,"JdbcColumn",(function(){return c})),e.d(t,"toJDBCColumns",(function(){return a})),e.d(t,"updateColumn",(function(){return s}));var c=i((function n(){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this.column_name="",this.column_type="",this.sparql_type="",this.nullable=!0})),a=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return n.map((function(n){return{column_name:n,column_type:t[n].column_type,nullable:!0,sparql_type:t[n].sparql_type}}))},s=function(n,t){n.column_type=t[n.column_name].column_type,n.sparql_type=t[n.column_name].sparql_type}},343:function(n,t,e){"use strict";e.r(t);e(53),e(55),e(118),e(10),e(30);var o=e(228),r=e(115),i=e(229),u=e(104),c=e(230),a=e(27),s=e(1);function f(n,t){return function(n){if(Array.isArray(n))return n}(n)||function(n,t){var e=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=e){var o,r,i,u,c=[],a=!0,s=!1;try{if(i=(e=e.call(n)).next,0===t){if(Object(e)!==e)return;a=!1}else for(;!(a=(o=i.call(e)).done)&&(c.push(o.value),c.length!==t);a=!0);}catch(n){s=!0,r=n}finally{try{if(!a&&null!=e.return&&(u=e.return(),Object(u)!==u))return}finally{if(s)throw r}}return c}}(n,t)||function(n,t){if(n){if("string"==typeof n)return l(n,t);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?l(n,t):void 0}}(n,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,o=Array(t);e<t;e++)o[e]=n[e];return o}function d(n,t,e,o,r,i){n.getSqlConfigurations=function(){!t.getActiveRepository()||t.isActiveRepoOntopType()||t.isActiveRepoFedXType()?n.jdbcConfigurations=[]:e.getJdbcConfigurations().success((function(t){n.jdbcConfigurations=t})).error((function(n){var t=getError(n);o.error(t,i.instant("jdbc.not.get.SQL.msg"))}))},n.$watch((function(){return t.getActiveRepository()}),(function(){n.getSqlConfigurations()})),n.deleteConfiguration=function(t){r.openSimpleModal({title:i.instant("common.warning"),message:i.instant("jdbc.delete.sql.table.warning.msg",{name:t}),warning:!0}).result.then((function(){e.deleteJdbcConfiguration(t).success((function(){n.getSqlConfigurations()})).error((function(n){o.error(getError(n),i.instant("jdbc.not.delete.sql.msg"))}))}))}}function g(n,t,e,l,d,g,p,b,m,y,h,v,C,j,w,S){t.emptySparqlResponse='{"head": {"vars": []},"results": {"bindings": []}}',t.getSuggestionSqlType="",t.sqlTypes=[],t.activeTab=1,t.jdbcConfigurationInfo=new o.JdbcConfigurationInfo,t.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",t.saveOrUpdateExecuted=!1,t.jdbcConfigurationInfo.isNewJdbcConfiguration=!t.jdbcConfigurationInfo.jdbcConfigurationName,t.language=w.getLanguage(),t.isDirty=!1,t.prefixes=[],t.loadingControllerResources=!1,t.isQueryRunning=!1,t.canEditActiveRepo=!1;var E=!0;t.saveJdbcConfiguration=function(){if(t.saveOrUpdateExecuted=!0,t.jdbcConfigurationInfo.jdbcConfigurationName)if(t.isDirty){var n=t.jdbcConfigurationInfo.isNewJdbcConfiguration?q:P;_(t.jdbcConfigurationInfo).then(J).then(N).then(x).then(n).catch((function(n){if(!(n instanceof i.JdbcConfigurationError)){var t=getError(n);d.error(t,j.instant("jdbc.not.saved.configuration"))}}))}else W()},t.getPreview=function(){t.activeTab=1,t.isQueryRunning=!0,_(t.jdbcConfigurationInfo).then(J).then(N).then(x).then((function(n){return O({render:u.RenderingMode.YASQE,initialQuery:n.query}),n})).then(T).then((function(n){var t=f(n,2),e=t[0],o=t[1],r=e&&e.results.bindings&&e.results.bindings.length>0,i=u.RenderingMode.YASGUI;r||(i=u.RenderingMode.YASQE,d.info(j.instant("jdbc.table.definition"),j.instant("jdbc.preview.sql"))),O({render:i,sparqlResponse:e,initialQuery:o.query})})).catch((function(n){n instanceof i.JdbcConfigurationError?n.jdbcConfigurationInfo&&(n.jdbcConfigurationInfo.isColumnsEmpty||n.jdbcConfigurationInfo.hasUndefinedColumns)&&(D(),t.activeTab=2):d.error(getError(n,0,100),j.instant("jdbc.not.show.preview"))})).finally((function(){t.isQueryRunning=!1}))},t.setActiveTab=function(n){t.activeTab=n;var e=t.jdbcConfigurationInfo.columns;2!==t.activeTab||e&&0!==e.length||_(t.jdbcConfigurationInfo).then(J).then((function(){t.getColumnsSuggestions()}))},t.setDirty=function(){t.isDirty=!0},t.getTypeLabel=function(n){switch(n){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return n.indexOf(" ")>0?n:n.toUpperCase()}},t.selectColumnType=function(n,e){t.setDirty();var o=t.jdbcConfigurationInfo.columns.find((function(t){return t.column_name===n}));o.column_type===t.getSuggestionSqlType&&x(t.jdbcConfigurationInfo).then((function(t){return y.getColumnsTypeSuggestion(t.query,[n])})).then((function(n){return n.data})).then((function(n){Object(c.updateColumn)(o,n),R(o.column_type,e)})).catch((function(n){d.error(getError(n),j.instant("jdbc.not.suggest.column.type"))}))},t.deleteColumn=function(n,e){C.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.delete.column.msg",{columnName:n}),warning:!0}).result.then((function(){t.jdbcConfigurationInfo.columns.splice(e,1),t.setDirty()}))},t.getColumnsSuggestions=function(){t.jdbcConfigurationInfo.columns&&t.jdbcConfigurationInfo.columns.length>0?C.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){D()})):D()},t.hasPrecision=function(n){return"iri"===n||"string"===n||"decimal"===n},t.containsColumnsWithPrecision=function(n){return n&&n.some((function(n){return t.hasPrecision(n.column_type)}))},t.containsColumnsWithScale=function(n){return n&&n.some((function(n){return L(n.column_type)}))},t.isLiteral=function(n){return"iri"!==n&&"unknown"!==n},t.containsNonLiteralColumnsOnly=function(n){return n&&n.every((function(n){return!t.isLiteral(n.column_type)}))};var T=function(n){if(t.canWriteActiveRepo){var e=JSON.stringify({name:t.jdbcConfigurationInfo.jdbcConfigurationName,query:t.jdbcConfigurationInfo.query,columns:t.jdbcConfigurationInfo.columns||[]});return Promise.all([y.getNewSqlTablePreview(e).then((function(n){return n.data})),Promise.resolve(n)])}return Promise.all([y.getExistingSqlTablePreview(t.jdbcConfigurationInfo.jdbcConfigurationName).then((function(n){return n.data})),Promise.resolve(n)])},R=function(n,t){n===t?d.info(Object(s.decodeHTML)(j.instant("jdbc.same.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):d.success(Object(s.decodeHTML)(j.instant("jdbc.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},I=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new o.JdbcConfigurationInfo;t.jdbcConfigurationInfo.columns=e.columns,t.jdbcConfigurationInfo.query=e.query,t.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",t.jdbcConfigurationInfo.isNewJdbcConfiguration=!t.jdbcConfigurationInfo.jdbcConfigurationName,t.prefixes=n,O(),k()},q=function(n){var e={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return y.createNewJdbcConfiguration(e).then((function(){t.isDirty=!1,t.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(j.instant("jdbc.saved.configuration")),V()}))},P=function(n){var e={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return y.updateJdbcConfiguration(e).then((function(){t.isDirty=!1,t.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(j.instant("jdbc.configuration.updated")),V()}))},O=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={};angular.extend(e,t.yasguiConfig||A(),n),t.yasguiConfig=e},A=function(){return{showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showQueryButton:!1,showResultInfo:!1,downloadAsOn:!1,showYasqeResizer:!1,initialQuery:t.jdbcConfigurationInfo.query,componentId:"jdbc-component",prefixes:t.prefixes,maxPersistentResponseSize:0,render:u.RenderingMode.YASQE,getCellContent:U,sparqlResponse:t.emptySparqlResponse,yasqeActionButtons:a.DISABLE_YASQE_BUTTONS_CONFIGURATION,yasqeMode:t.canEditActiveRepo?r.YasqeMode.WRITE:r.YasqeMode.PROTECTED}},_=function(n){return M().getQueryType().then((function(t){return n.isValidQueryType="SELECT"===t,n.isValidQueryType?n:Promise.reject(new i.JdbcConfigurationError("Query type is not valid."))}))},J=function(n){return M().isQueryValid().then((function(t){return n.isValidQuery=t,n.isValidQuery?n:Promise.reject(new i.JdbcConfigurationError("Invalid query."))}))},N=function(n){return n.columns&&0!==n.columns.length?t.jdbcConfigurationInfo.columns&&t.jdbcConfigurationInfo.columns.find((function(n){return"unknown"===n.column_type}))?(n.hasUndefinedColumns=!0,Promise.reject(new i.JdbcConfigurationError("There are columns without defined type.",n))):Promise.resolve(n):(n.isColumnsEmpty=!0,d.error(j.instant("jdbc.warning.one.column.msg")),Promise.reject(new i.JdbcConfigurationError("There are not defined columns.",n)))},D=function(){_(t.jdbcConfigurationInfo).then(J).then(x).then(Q).then($).then((function(n){return t.jdbcConfigurationInfo=n})).catch((function(n){console.log(n)}))},Q=function(n){return y.getColumnNames(n.query).then((function(t){return[n,t.data]})).catch((function(n){d.error(getError(n),j.instant("jdbc.not.suggest.column.names"))}))},$=function(n){var e=f(n,2),o=e[0],r=e[1];return y.getColumnsTypeSuggestion(o.query,r).then((function(n){return o.columns=Object(c.toJDBCColumns)(r,n.data),o.isColumnsEmpty=o.columns.length,t.setDirty(),o})).catch((function(n){d.error(getError(n),j.instant("jdbc.not.suggest.column.types"))}))},M=function(){return a.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor")},x=function(n){return M().getQuery().then((function(t){return n.query=t,n}))},L=function(n){return"decimal"===n},U=function(n,t){var e=n.value;return"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+(e=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"))+"</p>")+"</div>"},Y=function(n,t,e,o){C.openSimpleModal({title:n,message:t,warning:!0}).result.then((function(){angular.isFunction(e)&&e()}),(function(){angular.isFunction(o)&&o()}))},k=function(){t.getSuggestionSqlType=j.instant("view.jdbc.create.get_suggestion_sql_type"),t.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp",t.getSuggestionSqlType]},V=function(){setTimeout((function(){W()}),1e3)},W=function(){l.url("/jdbc")},B=function(n){t.isDirty&&(n.returnValue=!0)},F=function(){window.removeEventListener("beforeunload",B),H.forEach((function(n){return n()}))},H=[];H.push(e.$on("$translateChangeSuccess",(function(){t.language=w.getLanguage(),k()}))),H.push(t.$on("$locationChangeStart",(function(n,e){if(t.isDirty){n.preventDefault();var o=j.instant("common.confirm"),r=j.instant("jdbc.warning.unsaved.changes");Y(o,r,(function(){F();var n=l.absUrl().length-l.url().length,t=e.substring(n);l.path(t)}))}else F()}))),H.push(S.subscribe("repositoryWillChangeEvent",(function(n){return new Promise((function(e){if(t.jdbcConfigurationInfo.isNewJdbcConfiguration)e(n);else{var o=function(){t.isDirty=!1,W(),e(n)};if(t.isDirty){var r=j.instant("common.confirm"),i=j.instant("jdbc.warning.unsaved.changes");Y(r,i,o,(function(){n.cancel=!0,e(n)}))}else o()}}))}))),H.push(t.$on("$destroy",F)),window.addEventListener("beforeunload",B),H.push(t.$watch(t.getActiveRepositoryObject,(function(n){n&&(t.canEditActiveRepo=t.canWriteActiveRepo(),E?(!function(){t.loadingControllerResources=!0;var n=g.getActiveRepository();t.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([g.getPrefixes(n),y.getJdbcConfiguration(t.jdbcConfigurationInfo.jdbcConfigurationName)]).then((function(n){var t=f(n,2),e=t[0],o=t[1];I(e,o.data)})).finally((function(){return t.loadingControllerResources=!1})):g.getPrefixes(n).then((function(n){return I(n)})).finally((function(){return t.loadingControllerResources=!1}))}(),E=!1):M().abortQuery().then(W))})))}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr","graphdb.framework.utils.event-emitter-service"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",d).controller("JdbcCreateCtrl",g),d.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],g.$inject=["$q","$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate","$languageService","EventEmitterService"]}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[44,268,269,270,297,305,388],{104:function(n,t,e){"use strict";e.r(t),e.d(t,"RenderingMode",(function(){return o}));var o={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},115:function(n,t,e){"use strict";e.r(t),e.d(t,"YasqeMode",(function(){return o}));var o={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}},118:function(n,t){function e(n,t){return{showToastMessageWithDelay:function(e){return new Promise((function(o){n.success(t.instant(e)),setTimeout(o,300)}))}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",e),e.$inject=["toastr","$translate"]},228:function(n,t,e){"use strict";function o(n){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function r(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,u(o.key),o)}}function i(n,t,e){return t&&r(n.prototype,t),e&&r(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function u(n){var t=function(n,t){if("object"!=o(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var r=e.call(n,t||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==o(t)?t:t+""}function c(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}e.r(t),e.d(t,"DEFAULT_SPARQL_QUERY",(function(){return a})),e.d(t,"JdbcConfigurationInfo",(function(){return s}));var a="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}",s=i((function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;c(this,n),this.query=t,this.jdbcConfigurationName=o,this.isNewJdbcConfiguration=e,this.isValidQuery=!0,this.isValidQueryType=!0,this.hasUndefinedColumns=!1,this.isColumnsEmpty=!1,this.columns=[]}))},229:function(n,t,e){"use strict";function o(n){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function r(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,i(o.key),o)}}function i(n){var t=function(n,t){if("object"!=o(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var r=e.call(n,t||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==o(t)?t:t+""}function u(n,t,e){return t=l(t),function(n,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n)}(n,s()?Reflect.construct(t,e||[],l(n).constructor):t.apply(n,e))}function c(n){var t="function"==typeof Map?new Map:void 0;return(c=function(n){if(null===n||!function(n){try{return-1!==Function.toString.call(n).indexOf("[native code]")}catch(t){return"function"==typeof n}}(n))return n;if("function"!=typeof n)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(n))return t.get(n);t.set(n,e)}function e(){return a(n,arguments,l(this).constructor)}return e.prototype=Object.create(n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),f(e,n)})(n)}function a(n,t,e){if(s())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,t);var r=new(n.bind.apply(n,o));return e&&f(r,e.prototype),r}function s(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(n){}return(s=function(){return!!n})()}function f(n,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n})(n,t)}function l(n){return(l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}e.r(t),e.d(t,"JdbcConfigurationError",(function(){return d}));var d=function(n){function t(n,e){var o;return function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(o=u(this,t,[n])).jdbcConfigurationInfo=e,o}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),t&&f(n,t)}(t,n),e=t,o&&r(e.prototype,o),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,o,i}(c(Error))},230:function(n,t,e){"use strict";function o(n){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function r(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,u(o.key),o)}}function i(n,t,e){return t&&r(n.prototype,t),e&&r(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function u(n){var t=function(n,t){if("object"!=o(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var r=e.call(n,t||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==o(t)?t:t+""}e.r(t),e.d(t,"JdbcColumn",(function(){return c})),e.d(t,"toJDBCColumns",(function(){return a})),e.d(t,"updateColumn",(function(){return s}));var c=i((function n(){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this.column_name="",this.column_type="",this.sparql_type="",this.nullable=!0})),a=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return n.map((function(n){return{column_name:n,column_type:t[n].column_type,nullable:!0,sparql_type:t[n].sparql_type}}))},s=function(n,t){n.column_type=t[n.column_name].column_type,n.sparql_type=t[n.column_name].sparql_type}},343:function(n,t,e){"use strict";e.r(t);e(53),e(55),e(118),e(10),e(30);var o=e(228),r=e(115),i=e(229),u=e(104),c=e(230),a=e(27),s=e(1);function f(n,t){return function(n){if(Array.isArray(n))return n}(n)||function(n,t){var e=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=e){var o,r,i,u,c=[],a=!0,s=!1;try{if(i=(e=e.call(n)).next,0===t){if(Object(e)!==e)return;a=!1}else for(;!(a=(o=i.call(e)).done)&&(c.push(o.value),c.length!==t);a=!0);}catch(n){s=!0,r=n}finally{try{if(!a&&null!=e.return&&(u=e.return(),Object(u)!==u))return}finally{if(s)throw r}}return c}}(n,t)||function(n,t){if(n){if("string"==typeof n)return l(n,t);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?l(n,t):void 0}}(n,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,o=Array(t);e<t;e++)o[e]=n[e];return o}function d(n,t,e,o,r,i){n.getSqlConfigurations=function(){!t.getActiveRepository()||t.isActiveRepoOntopType()||t.isActiveRepoFedXType()?n.jdbcConfigurations=[]:e.getJdbcConfigurations().success((function(t){n.jdbcConfigurations=t})).error((function(n){var t=getError(n);o.error(t,i.instant("jdbc.not.get.SQL.msg"))}))},n.$watch((function(){return t.getActiveRepository()}),(function(){n.getSqlConfigurations()})),n.deleteConfiguration=function(t){r.openSimpleModal({title:i.instant("common.warning"),message:i.instant("jdbc.delete.sql.table.warning.msg",{name:t}),warning:!0}).result.then((function(){e.deleteJdbcConfiguration(t).success((function(){n.getSqlConfigurations()})).error((function(n){o.error(getError(n),i.instant("jdbc.not.delete.sql.msg"))}))}))}}function g(n,t,e,l,d,g,p,b,m,y,h,v,C,j,w,S){t.emptySparqlResponse='{"head": {"vars": []},"results": {"bindings": []}}',t.getSuggestionSqlType="",t.sqlTypes=[],t.activeTab=1,t.jdbcConfigurationInfo=new o.JdbcConfigurationInfo,t.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",t.saveOrUpdateExecuted=!1,t.jdbcConfigurationInfo.isNewJdbcConfiguration=!t.jdbcConfigurationInfo.jdbcConfigurationName,t.language=w.getLanguage(),t.isDirty=!1,t.prefixes=[],t.loadingControllerResources=!1,t.isQueryRunning=!1,t.canEditActiveRepo=!1;var E=!0;t.saveJdbcConfiguration=function(){if(t.saveOrUpdateExecuted=!0,t.jdbcConfigurationInfo.jdbcConfigurationName)if(t.isDirty){var n=t.jdbcConfigurationInfo.isNewJdbcConfiguration?q:P;_(t.jdbcConfigurationInfo).then(J).then(N).then(x).then(n).catch((function(n){if(!(n instanceof i.JdbcConfigurationError)){var t=getError(n);d.error(t,j.instant("jdbc.not.saved.configuration"))}}))}else W()},t.getPreview=function(){t.activeTab=1,t.isQueryRunning=!0,_(t.jdbcConfigurationInfo).then(J).then(N).then(x).then((function(n){return O({render:u.RenderingMode.YASQE,initialQuery:n.query}),n})).then(R).then((function(n){var t=f(n,2),e=t[0],o=t[1],r=e&&e.results.bindings&&e.results.bindings.length>0,i=u.RenderingMode.YASGUI;r||(i=u.RenderingMode.YASQE,d.info(j.instant("jdbc.table.definition"),j.instant("jdbc.preview.sql"))),O({render:i,sparqlResponse:e,initialQuery:o.query})})).catch((function(n){n instanceof i.JdbcConfigurationError?n.jdbcConfigurationInfo&&(n.jdbcConfigurationInfo.isColumnsEmpty||n.jdbcConfigurationInfo.hasUndefinedColumns)&&(D(),t.activeTab=2):d.error(getError(n,0,100),j.instant("jdbc.not.show.preview"))})).finally((function(){t.isQueryRunning=!1}))},t.setActiveTab=function(n){t.activeTab=n;var e=t.jdbcConfigurationInfo.columns;2!==t.activeTab||e&&0!==e.length||_(t.jdbcConfigurationInfo).then(J).then((function(){t.getColumnsSuggestions()}))},t.setDirty=function(){t.isDirty=!0},t.getTypeLabel=function(n){switch(n){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return n.indexOf(" ")>0?n:n.toUpperCase()}},t.selectColumnType=function(n,e){t.setDirty();var o=t.jdbcConfigurationInfo.columns.find((function(t){return t.column_name===n}));o.column_type===t.getSuggestionSqlType&&x(t.jdbcConfigurationInfo).then((function(t){return y.getColumnsTypeSuggestion(t.query,[n])})).then((function(n){return n.data})).then((function(n){Object(c.updateColumn)(o,n),I(o.column_type,e)})).catch((function(n){d.error(getError(n),j.instant("jdbc.not.suggest.column.type"))}))},t.deleteColumn=function(n,e){C.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.delete.column.msg",{columnName:n}),warning:!0}).result.then((function(){t.jdbcConfigurationInfo.columns.splice(e,1),t.setDirty()}))},t.getColumnsSuggestions=function(){t.jdbcConfigurationInfo.columns&&t.jdbcConfigurationInfo.columns.length>0?C.openSimpleModal({title:j.instant("common.warning"),message:j.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){D()})):D()},t.hasPrecision=function(n){return"iri"===n||"string"===n||"decimal"===n},t.containsColumnsWithPrecision=function(n){return n&&n.some((function(n){return t.hasPrecision(n.column_type)}))},t.containsColumnsWithScale=function(n){return n&&n.some((function(n){return L(n.column_type)}))},t.isLiteral=function(n){return"iri"!==n&&"unknown"!==n},t.containsNonLiteralColumnsOnly=function(n){return n&&n.every((function(n){return!t.isLiteral(n.column_type)}))};var R=function(n){if(t.canWriteActiveRepo){var e=JSON.stringify({name:t.jdbcConfigurationInfo.jdbcConfigurationName,query:t.jdbcConfigurationInfo.query,columns:t.jdbcConfigurationInfo.columns||[]});return Promise.all([y.getNewSqlTablePreview(e).then((function(n){return n.data})),Promise.resolve(n)])}return Promise.all([y.getExistingSqlTablePreview(t.jdbcConfigurationInfo.jdbcConfigurationName).then((function(n){return n.data})),Promise.resolve(n)])},I=function(n,t){n===t?d.info(Object(s.decodeHTML)(j.instant("jdbc.same.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):d.success(Object(s.decodeHTML)(j.instant("jdbc.suggested.sql.type",{type:n})),j.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},T=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new o.JdbcConfigurationInfo;t.jdbcConfigurationInfo.columns=e.columns,t.jdbcConfigurationInfo.query=e.query,t.jdbcConfigurationInfo.jdbcConfigurationName=l.search().name||"",t.jdbcConfigurationInfo.isNewJdbcConfiguration=!t.jdbcConfigurationInfo.jdbcConfigurationName,t.prefixes=n,O(),k()},q=function(n){var e={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return y.createNewJdbcConfiguration(e).then((function(){t.isDirty=!1,t.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(j.instant("jdbc.saved.configuration")),V()}))},P=function(n){var e={name:n.jdbcConfigurationName,query:n.query,columns:n.columns};return y.updateJdbcConfiguration(e).then((function(){t.isDirty=!1,t.jdbcConfigurationInfo.isNewConfiguration=!1,d.success(j.instant("jdbc.configuration.updated")),V()}))},O=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={};angular.extend(e,t.yasguiConfig||A(),n),t.yasguiConfig=e},A=function(){return{showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showQueryButton:!1,showResultInfo:!1,downloadAsOn:!1,showYasqeResizer:!1,initialQuery:t.jdbcConfigurationInfo.query,componentId:"jdbc-component",prefixes:t.prefixes,maxPersistentResponseSize:0,render:u.RenderingMode.YASQE,getCellContent:U,sparqlResponse:t.emptySparqlResponse,yasqeActionButtons:a.DISABLE_YASQE_BUTTONS_CONFIGURATION,yasqeMode:t.canEditActiveRepo?r.YasqeMode.WRITE:r.YasqeMode.READ}},_=function(n){return M().getQueryType().then((function(t){return n.isValidQueryType="SELECT"===t,n.isValidQueryType?n:Promise.reject(new i.JdbcConfigurationError("Query type is not valid."))}))},J=function(n){return M().isQueryValid().then((function(t){return n.isValidQuery=t,n.isValidQuery?n:Promise.reject(new i.JdbcConfigurationError("Invalid query."))}))},N=function(n){return n.columns&&0!==n.columns.length?t.jdbcConfigurationInfo.columns&&t.jdbcConfigurationInfo.columns.find((function(n){return"unknown"===n.column_type}))?(n.hasUndefinedColumns=!0,Promise.reject(new i.JdbcConfigurationError("There are columns without defined type.",n))):Promise.resolve(n):(n.isColumnsEmpty=!0,d.error(j.instant("jdbc.warning.one.column.msg")),Promise.reject(new i.JdbcConfigurationError("There are not defined columns.",n)))},D=function(){_(t.jdbcConfigurationInfo).then(J).then(x).then(Q).then($).then((function(n){return t.jdbcConfigurationInfo=n})).catch((function(n){console.log(n)}))},Q=function(n){return y.getColumnNames(n.query).then((function(t){return[n,t.data]})).catch((function(n){d.error(getError(n),j.instant("jdbc.not.suggest.column.names"))}))},$=function(n){var e=f(n,2),o=e[0],r=e[1];return y.getColumnsTypeSuggestion(o.query,r).then((function(n){return o.columns=Object(c.toJDBCColumns)(r,n.data),o.isColumnsEmpty=o.columns.length,t.setDirty(),o})).catch((function(n){d.error(getError(n),j.instant("jdbc.not.suggest.column.types"))}))},M=function(){return a.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor")},x=function(n){return M().getQuery().then((function(t){return n.query=t,n}))},L=function(n){return"decimal"===n},U=function(n,t){var e=n.value;return"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+(e=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"))+"</p>")+"</div>"},Y=function(n,t,e,o){C.openSimpleModal({title:n,message:t,warning:!0}).result.then((function(){angular.isFunction(e)&&e()}),(function(){angular.isFunction(o)&&o()}))},k=function(){t.getSuggestionSqlType=j.instant("view.jdbc.create.get_suggestion_sql_type"),t.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp",t.getSuggestionSqlType]},V=function(){setTimeout((function(){W()}),1e3)},W=function(){l.url("/jdbc")},B=function(n){t.isDirty&&(n.returnValue=!0)},F=function(){window.removeEventListener("beforeunload",B),H.forEach((function(n){return n()}))},H=[];H.push(e.$on("$translateChangeSuccess",(function(){t.language=w.getLanguage(),k()}))),H.push(t.$on("$locationChangeStart",(function(n,e){if(t.isDirty){n.preventDefault();var o=j.instant("common.confirm"),r=j.instant("jdbc.warning.unsaved.changes");Y(o,r,(function(){F();var n=l.absUrl().length-l.url().length,t=e.substring(n);l.path(t)}))}else F()}))),H.push(S.subscribe("repositoryWillChangeEvent",(function(n){return new Promise((function(e){if(t.jdbcConfigurationInfo.isNewJdbcConfiguration)e(n);else{var o=function(){t.isDirty=!1,W(),e(n)};if(t.isDirty){var r=j.instant("common.confirm"),i=j.instant("jdbc.warning.unsaved.changes");Y(r,i,o,(function(){n.cancel=!0,e(n)}))}else o()}}))}))),H.push(t.$on("$destroy",F)),window.addEventListener("beforeunload",B),H.push(t.$watch(t.getActiveRepositoryObject,(function(n){n&&(t.canEditActiveRepo=t.canWriteActiveRepo(),E?(!function(){t.loadingControllerResources=!0;var n=g.getActiveRepository();t.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([g.getPrefixes(n),y.getJdbcConfiguration(t.jdbcConfigurationInfo.jdbcConfigurationName)]).then((function(n){var t=f(n,2),e=t[0],o=t[1];T(e,o.data)})).finally((function(){return t.loadingControllerResources=!1})):g.getPrefixes(n).then((function(n){return T(n)})).finally((function(){return t.loadingControllerResources=!1}))}(),E=!1):M().abortQuery().then(W))})))}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr","graphdb.framework.utils.event-emitter-service"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",d).controller("JdbcCreateCtrl",g),d.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],g.$inject=["$q","$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate","$languageService","EventEmitterService"]}}]);
@@ -1 +1 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[443],{579:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/graphql/create-graphql-endpoint.css?v=3.0.2-TR1" rel="stylesheet"/>\n<link href="css/wizard.css?v=3.0.2-TR1" rel="stylesheet"/>\n\n<div class="create-graphql-endpoint-view">\n <h1 id="title-container">\n <span>{{title}}</span>\n <page-info-tooltip></page-info-tooltip>\n </h1>\n\n <div class="core-errors-container" core-errors></div>\n\n <div class="create-graphql-endpoint-container">\n\n <div class="content">\n <div class="toolbar">\n <div class="form-inline">\n <label\n for="sourceRepositorySelector">{{\'graphql.create_endpoint.toolbar.source_repository_selector.label\' | translate}}</label>\n <select id="sourceRepositorySelector" ng-model="selectedSourceRepository"\n ng-options="repository as repository.label for repository in sourceRepositories"\n ng-change="onSelectedSourceRepositoryChange(selectedSourceRepository)"\n ng-disabled="generatingEndpoint"\n class="form-control source-repository-selector"\n gdb-tooltip="{{\'graphql.create_endpoint.toolbar.source_repository_selector.tooltip\' | translate}}"\n tooltip-placement="top">\n </select>\n </div>\n </div>\n\n <div class="wizard-container mt-2">\n <div class="wizard">\n <div class="wizard-steps">\n <div ng-repeat="step in wizardModel.steps" ng-click="onStepClick(step); $event.preventDefault()"\n class="wizard-step" ng-class="{active: step.active, completed: step.visited}">\n <span class="step-title">{{\'graphql.create_endpoint.wizard_steps.\' + step.id + \'.title\' | translate}}</span>\n <span class="fa fa-chevron-right step-decoration"></span>\n </div>\n </div>\n\n <div class="wizard-content">\n <div ng-repeat="step in wizardModel.steps" ng-if="step.active" class="wizard-step-content">\n <div ng-switch="step.id">\n <div ng-switch-when="select_schema_sources">\n <select-schema-sources step-definition="step"></select-schema-sources>\n </div>\n <div ng-switch-when="configure_endpoint">\n <configure-endpoint step-definition="step"></configure-endpoint>\n </div>\n <div ng-switch-when="generate_endpoint">\n <generate-endpoint step-definition="step"></generate-endpoint>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n';return __p}}}]);
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[443],{579:function(module,exports){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='<link href="css/graphql/create-graphql-endpoint.css?v=3.0.2" rel="stylesheet"/>\n<link href="css/wizard.css?v=3.0.2" rel="stylesheet"/>\n\n<div class="create-graphql-endpoint-view">\n <h1 id="title-container">\n <span>{{title}}</span>\n <page-info-tooltip></page-info-tooltip>\n </h1>\n\n <div class="core-errors-container" core-errors></div>\n\n <div class="create-graphql-endpoint-container">\n\n <div class="content">\n <div class="toolbar">\n <div class="form-inline">\n <label\n for="sourceRepositorySelector">{{\'graphql.create_endpoint.toolbar.source_repository_selector.label\' | translate}}</label>\n <select id="sourceRepositorySelector" ng-model="selectedSourceRepository"\n ng-options="repository as repository.label for repository in sourceRepositories"\n ng-change="onSelectedSourceRepositoryChange(selectedSourceRepository)"\n ng-disabled="generatingEndpoint"\n class="form-control source-repository-selector"\n gdb-tooltip="{{\'graphql.create_endpoint.toolbar.source_repository_selector.tooltip\' | translate}}"\n tooltip-placement="top">\n </select>\n </div>\n </div>\n\n <div class="wizard-container mt-2">\n <div class="wizard">\n <div class="wizard-steps">\n <div ng-repeat="step in wizardModel.steps" ng-click="onStepClick(step); $event.preventDefault()"\n class="wizard-step" ng-class="{active: step.active, completed: step.visited}">\n <span class="step-title">{{\'graphql.create_endpoint.wizard_steps.\' + step.id + \'.title\' | translate}}</span>\n <span class="fa fa-chevron-right step-decoration"></span>\n </div>\n </div>\n\n <div class="wizard-content">\n <div ng-repeat="step in wizardModel.steps" ng-if="step.active" class="wizard-step-content">\n <div ng-switch="step.id">\n <div ng-switch-when="select_schema_sources">\n <select-schema-sources step-definition="step"></select-schema-sources>\n </div>\n <div ng-switch-when="configure_endpoint">\n <configure-endpoint step-definition="step"></configure-endpoint>\n </div>\n <div ng-switch-when="generate_endpoint">\n <generate-endpoint step-definition="step"></generate-endpoint>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n';return __p}}}]);