UNPKG

graphdb-workbench

Version:
2 lines 19.1 kB
export const __webpack_id__=46591;export const __webpack_ids__=[2109,14319,30690,46591,75331];export const __webpack_modules__={2109:(e,o,t)=>{t.r(o);var r=t(27932);function n(e,o,t,n){e.RemoteLocationType=r.RemoteLocationType,e.RemoteLocationAuthType=r.RemoteLocationAuthType,e.isEdit=!!n.remoteLocation,e.remoteLocation=n.remoteLocation?new r.RemoteLocationModel({...n.remoteLocation}):new r.RemoteLocationModel,e.docBase=`https://graphdb.ontotext.com/documentation/${t.productShortVersion}`,e.ok=()=>{e.remoteLocationForm.$pristine||e.remoteLocationForm.$invalid||o.close(e.remoteLocation)},e.cancel=()=>{o.dismiss("cancel")},e.onLocationTypeChanged=()=>{[r.RemoteLocationType.ONTOPIC,r.RemoteLocationType.SPARQL].includes(e.remoteLocation.locationType)?e.remoteLocation.authType=r.RemoteLocationAuthType.BASIC:e.remoteLocation.authType=r.RemoteLocationAuthType.NONE}}t(75331),angular.module("graphdb.framework.repositories.controllers.manage-remote-location-dialog",["graphdb.framework.core.directives.validate-url"]).controller("ManageRemoteLocationDialogController",n),n.$inject=["$scope","$uibModalInstance","productInfo","data"]},14319:(e,o,t)=>{t.r(o),t.d(o,{FILENAME_PATTERN:()=>i,NUMBER_PATTERN:()=>a,REPOSITORY_TYPES:()=>n,STATIC_RULESETS:()=>r});const r=[{id:"empty",name:"No inference"},{id:"rdfs-optimized",name:"RDFS (Optimized)"},{id:"rdfs",name:"RDFS"},{id:"rdfsplus-optimized",name:"RDFS-Plus (Optimized)"},{id:"owl-horst-optimized",name:"OWL-Horst (Optimized)"},{id:"owl-horst",name:"OWL-Horst"},{id:"owl2-ql-optimized",name:"OWL2-QL (Optimized)"},{id:"owl2-ql",name:"OWL2-QL"},{id:"owl-max-optimized",name:"OWL-Max (Optimized)"},{id:"owl-max",name:"OWL-Max"},{id:"owl2-rl-optimized",name:"OWL2-RL (Optimized)"},{id:"owl2-rl",name:"OWL2-RL"}],n={graphdbRepo:"graphdb",free:"free",eeWorker:"worker",eeMaster:"master",ontop:"ontop",se:"se",fedx:"fedx"},i=new RegExp("^[a-zA-Z0-9-_]+$"),a=new RegExp("^[0-9]+$")},30690:(e,o,t)=>{t.r(o),t.d(o,{UrlUtils:()=>i});const r=/^(h|ht|htt|http|https|http:|https:|http:\/|https:\/|http:\/\/|https:\/\/|https?:\/\/[\S]*)$/i,n=/^(f|ft|ftp|ftps|ftp:|ftps:|ftp:\/|ftps:\/|ftp:\/\/|ftps:\/\/[\S]*)$/i;class i{static isValidUrl(e){return r.test(e)||n.test(e)}static doesNotContain(e,o){return!new RegExp(o).test(e)}static doesNotUseProtocol(e,o){return!new RegExp("^("+o.join("|")+")://","i").test(e)}}},46591:(e,o,t)=>{t.r(o),t.d(o,{getFileName:()=>s});var r=t(14319),n=t(69937),i=(t(2109),t(27932));const a=1e4,s=function(e){let o=e.lastIndexOf("/");-1===o&&(o=e.lastIndexOf("\\"));let t=e;return-1!==o&&(t=t.substring(o+1)),t},c=function(e){e&&Object.keys(e).forEach(o=>{const t=e[o];if(t&&"string"==typeof t.value){const r=parseFloat(e[o].value);!isNaN(r)&&p[o]&&(e[o].value=Number.isInteger(r)?parseInt(t.value,10):r,t.isNumber=!0)}})},l=function(){const e=document.getElementById("shaclOptions");if(e){const o=e.getAttribute("aria-expanded");if(o&&"true"===o)return"fa fa-angle-down"}return"fa fa-angle-right"},p={queryLimitResults:"invalid.query.limit",queryTimeout:"invalid.query.timeout",validationResultsLimitTotal:"invalid.validation.results.limit.total",validationResultsLimitPerConstraint:"invalid.validation.results.limit.per.constraint",joinWorkerThreads:"invalid.join.worker.threads",leftJoinWorkerThreads:"invalid.left.join.worker.threads",unionWorkerThreads:"invalid.union.worker.threads",boundJoinBlockSize:"invalid.bound.join.block.size",entityIndexSize:"invalid.entity.index.size"},d=function(e,o){if(!e)return"";const t=Object.keys(e).find(o=>{const t=e[o];return t.isNumber&&!r.NUMBER_PATTERN.test(t.value)});return t&&p[t]?o.instant(p[t]):""},u=function(e){return`https://graphdb.ontotext.com/documentation/${e.productShortVersion}`},f=function(e){return e.getLocations().then(e=>e.filter(e=>e.isGraphDBLocation()&&!e.errorMsg&&!e.degradedReason))};function m(e,o,t,a,s,c,l,p,d,u,f,m,y){e.RemoteLocationType=i.RemoteLocationType,e.loader=!0,e.locations=[],e.isLocationInactive=function(o){return!o.active||!e.hasActiveLocation()};const g=m.defer();function R(){return s.getLocations(g).then(o=>(e.locations=o,o)).finally(()=>e.loader=!1)}e.getLocalLocation=(o,t)=>e.locations.filter(e=>{let r=!0;return t&&(r=e.locationType===t),r&&e.local===o}),e.hasAnyRemoteLocation=(o,t)=>t.some(t=>e.getLocalLocation(o,t).length>0),e.hasActiveLocation=function(){return s.hasActiveLocation()},e.getActiveLocation=function(){return s.getActiveLocation()},e.getLocationError=function(){return s.getLocationError()},e.getDegradedReason=function(){return s.getDegradedReason()},e.getRepositories=function(){return s.getRepositories()},e.isRepoActive=function(e){return s.isRepoActive(e)},e.deleteLocation=function(o){c.openSimpleModal({title:f.instant("location.confirm.detach"),message:f.instant("location.confirm.detach.warning",{uri:o}),warning:!0}).result.then(function(){e.loader=!0,s.deleteLocation(o).finally(()=>R())})},e.addLocationHttp=function(o){e.loader=!0,p.addLocation(o).success(function(){s.init()}).error(function(e){const o=getError(e);a.error(o,f.instant("common.error"))}).finally(()=>R())},e.addLocation=()=>{e.openRemoteLocationDialog()},e.editLocation=o=>{void 0===o.locationType&&(o.locationType=i.RemoteLocationType.GRAPH_DB),e.openRemoteLocationDialog(o)},e.openRemoteLocationDialog=o=>{t.open({templateUrl:"js/angular/repositories/templates/manage-remote-location-dialog.template.html",windowClass:"addLocationDialog",controller:"ManageRemoteLocationDialogController",resolve:{data:()=>({remoteLocation:o})}}).result.then(t=>{o?e.editLocationHttp(t):e.addLocationHttp(t)})},e.editLocationHttp=function(o){e.loader=!0,p.editLocation(o).success(function(){s.init()}).error(function(e){const o=getError(e);a.error(o,f.instant("common.error"))}).finally(()=>R())},e.setRepository=function(e){s.setRepository(e)},e.deleteRepository=function(o){c.openSimpleModal({title:f.instant("common.confirm.delete"),message:(0,n.Gz)(f.instant("delete.repo.warning.msg",{repositoryId:o.id})),warning:!0}).result.then(function(){e.loader=!0,s.deleteRepository(o).finally(()=>{R(),e.loader=!1}),function(e){const o=`dependencies-selectedGraph-${e.id}`,t=`classHierarchy-selectedGraph-${e.id}`;angular.forEach(d.keys(),function(e){(e.startsWith(t)||e.startsWith(o))&&d.remove(e)})}(o)})},e.restartRepository=function(o){c.openSimpleModal({title:f.instant("confirm.restart.repo"),message:(0,n.Gz)(f.instant("confirm.restart.repo.warning.msg",{repositoryId:o.id})),warning:!0}).result.then(function(){e.loader=!0,s.restartRepository(o).finally(()=>R())})},e.toggleDefaultRepository=function(o){e.getDefaultRepository()===o?s.setDefaultRepository(null):s.setDefaultRepository(o)},e.getDefaultRepository=function(){return s.getDefaultRepository()},e.getRepositoryDownloadLink=function(e){let o=`rest/repositories/${e.id}${e.type===r.REPOSITORY_TYPES.ontop?"/download-zip":"/download-ttl"}?location=${e.location}`;const t=l.getAuthToken();return t&&(o=`${o}&authToken=${encodeURIComponent(t)}`),o},e.copyToClipboard=function(e){c.openCopyToClipboardModal(e)},e.fromFile=function(){t.open({templateUrl:"js/angular/templates/modal/upload-repository-config.html",controller:"UploadRepositoryConfigCtrl"}).result.then(function(){s.init()})},e.openActiveLocationSettings=function(){t.open({templateUrl:"js/angular/settings/modal/location-settings.html",controller:"ActiveLocationSettingsCtrl"})},R();const h=u(function(){y.isActive()&&!o.guidePaused||(s.initQuick(),R())},5e3);e.$on("$destroy",function(){u.cancel(h),g&&g.resolve()}),e.getRepositoriesFromLocation=function(e){return s.getRepositoriesFromLocation(e)}}function y(e,o,t,r,n){e.upload=function(o){o&&o.length&&(e.uploadFile=o[0])},e.ok=function(){e.uploadFile&&(e.uploadFileLoader=!0,t.upload({url:"rest/repositories",method:"POST",data:{config:e.uploadFile}}).success(function(){e.uploadFileLoader=!1,o.close()}).error(function(o){const t=getError(o);r.error(t,n.instant("common.error")),e.uploadFileLoader=!1}))},e.cancel=function(){o.dismiss("cancel")}}function g(e,o,t,r,n){e.newLocation={uri:"",authType:"none",username:"",password:"",active:!1},e.docBase=u(r),e.isValidLocation=function(){return(e.newLocation.uri.length<6||0===e.newLocation.uri.indexOf("http:")||0===e.newLocation.uri.indexOf("https:"))&&e.newLocation.uri.indexOf("/repositories")<=-1},e.ok=function(){e.newLocation?o.close(e.newLocation):t.error(n.instant("location.cannot.be.empty.error"))},e.cancel=function(){o.dismiss("cancel")}}function R(e,o,t,r){e.editedLocation=_.cloneDeep(t),e.docBase=u(r),e.ok=function(){o.close(e.editedLocation)},e.cancel=function(){o.dismiss("cancel")}}function h(e,o){e.repositoryTypes=r.REPOSITORY_TYPES,e.chooseRepositoryType=function(e){o.path(`${o.path()}/${e}`)}}function L(e,o,t,n,i,s,p,u,m,y){function g(e){switch(e){case r.REPOSITORY_TYPES.graphdbRepo:o.pageTitle=y.instant("view.create.repo.title",{repoType:"GraphDB"});break;case r.REPOSITORY_TYPES.ontop:o.pageTitle=y.instant("view.create.repo.title",{repoType:"Ontop Virtual SPARQL"});break;case r.REPOSITORY_TYPES.fedx:o.pageTitle=y.instant("view.create.repo.title",{repoType:"FedX Virtual SPARQL"})}}var R;o.rulesets=r.STATIC_RULESETS.slice(),o.repositoryTypes=r.REPOSITORY_TYPES,o.params=u,o.repositoryType=u.repositoryType,o.enable=!0,o.entityIndexSizeMin=a,o.loader=!0,o.pageTitle=y.instant("view.create.repo.title"),o.repositoryInfo={id:"",params:{},title:"",type:"",location:""},f(n).then(e=>{o.locations=e}),o.changedLocation=function(){o.$broadcast("changedLocation")},o.getConfig=function(e){m.getRepositoryConfiguration(e).then(function(e){const t=e.data;var r;o.repositoryInfo.params=t.params,o.repositoryInfo.type=t.type,c(o.repositoryInfo.params),(r=o.repositoryInfo.params)&&r.member&&(r.member.value=[]),o.loader=!1,s(function(){angular.element(document).find("#id").focus()},50)}).catch(function(e){const r=getError(e);t.error(r,y.instant("common.error")),o.loader=!1})},o.repositoryType&&(function(e){return o.isEnterprise()&&e===r.REPOSITORY_TYPES.graphdbRepo}(R=o.repositoryType)||function(e){return!o.isFreeEdition()&&!o.isEnterprise()&&e===r.REPOSITORY_TYPES.graphdbRepo}(R)||function(e){return o.isFreeEdition()&&e===r.REPOSITORY_TYPES.graphdbRepo}(R)||function(e){return e===r.REPOSITORY_TYPES.ontop}(R)||function(e){return e===r.REPOSITORY_TYPES.fedx}(R))?(o.repositoryInfo.type=o.repositoryType,o.getConfig(o.repositoryType),g(o.repositoryType)):i.path("/repository/create"),o.hasActiveLocation=function(){return n.hasActiveLocation()},o.activeLocation=function(){return n.getActiveLocation()};let h=!1;o.uploadRuleset=function(e){e&&e.length&&(o.uploadFile=e[0],o.uploadFileLoader=!0,p.upload({url:"rest/repositories/ruleset/upload",data:{ruleset:o.uploadFile,location:o.repositoryInfo.location}}).progress(function(e){}).success(function(e){if(e.success){h=!1;const t=o.uploadFile.name,r={id:e.fileLocation,name:"Custom: "+t};o.rulesetPie?o.rulesets[0]=r:o.rulesets.unshift(r),o.rulesetPie=e.fileLocation,o.rulesetPieFile=t,o.repositoryInfo.params.ruleset.value=o.rulesetPie}else t.error(e.errorMessage),h=!0,o.uploadFile="";o.uploadFileLoader=!1}).error(function(e){const r=getError(e);t.error(r,y.instant("common.error")),o.uploadFile="",o.uploadFileLoader=!1,h=!0}))},o.noMembersError=function(){t.error(y.instant("fedx.create.repo.no.members.warning"))},o.goBackToPreviousLocation=function(){angular.isDefined(u.previous)?(delete i.$$search.previous,i.path("/")):i.path("/repository")},o.createRepoHttp=function(){o.loader=!0,m.createRepository(o.repositoryInfo).then(function(){return t.success(y.instant("created.repo.success.msg",{repoId:o.repositoryInfo.id})),n.init()}).then(()=>o.goBackToPreviousLocation()).catch(function(e){const o=getError(e.data);t.error(o,y.instant("common.error"))}).finally(()=>{o.loader=!1})},o.createRepo=function(){if(!o.repositoryInfo.id)return void t.error(y.instant("empty.repoid.warning"));o.isInvalidRepoName=!r.FILENAME_PATTERN.test(o.repositoryInfo.id),o.isInvalidEntityIndexSizeMin=o.repositoryInfo.params.entityIndexSize?.value<a;const e=d(o.repositoryInfo.params,y);h?t.error(y.instant("invalid.ruleset.file.error")):o.isInvalidRepoName?t.error(y.instant("wrong.repo.name.error")):"fedx"===o.repositoryType&&0===o.repositoryInfo.params.member.value.length?o.noMembersError():e?t.error(e):o.isInvalidEntityIndexSizeMin?t.error(y.instant("repo.error.entityIndex.min")):o.createRepoHttp()},o.rulesetWarning=function(){const e=o.repositoryInfo.params;return void 0===e||void 0===e.ruleset||void 0===e.disableSameAs?"":0===e.ruleset.value.indexOf("owl")&&"true"===e.disableSameAs.value?y.instant("repoTooltips.rulesetWarnings.needsSameAs"):0===e.ruleset.value.indexOf("rdfs")&&"false"===e.disableSameAs.value?y.instant("repoTooltips.rulesetWarnings.doesntNeedSameAs"):e.ruleset.value===o.rulesetPie?y.instant("repoTooltips.rulesetWarnings.customRuleset"):""},o.getShaclOptionsClass=function(){return l()},o.autofocusId="autofocus";const L=e.$on("$translateChangeSuccess",()=>{g(o.repositoryType)});o.$on("$destroy",()=>{L()})}function v(e,o,t,r,n,i,a,s){e.dialogTitle=a||i.instant("update.file.content.header"),r&&t.getRepositoryFileContent(r,s).success(function(o){e.fileContent=o}).error(function(e){const o=getError(e);n.error(o,i.instant("common.error"))}),e.ok=function(){o.close({content:e.fileContent,fileLocation:r})},e.cancel=function(){o.dismiss("cancel")}}function I(e,o,t,i,p,u,m,y,g,R){o.rulesets=r.STATIC_RULESETS.slice(),o.repositoryTypes=r.REPOSITORY_TYPES,o.entityIndexSizeMin=a,o.editRepoPage=!0,o.canEditRepoId=!1,o.isRepoInCluster=!0,o.params=t,o.loader=!0,o.repositoryInfo={},o.repositoryInfo.id=o.params.repositoryId,o.repositoryInfo.location=o.params.location,o.repositoryInfo.restartRequested=!1,o.repositoryType="",o.saveRepoId=o.params.repositoryId,o.pageTitle=g.instant("view.edit.repo.title",{repositoryId:o.params.repositoryId}),o.hasActiveLocation=function(){return p.hasActiveLocation()},o.$watch(o.hasActiveLocation,function(){if(o.hasActiveLocation){let e;f(p).then(e=>(o.locations=e,y.getRepository(o.repositoryInfo))).then(t=>(e=t,R.monitorActiveOperations(o.repositoryInfo.id))).then(e=>{o.isRepoInCluster=e.hasClusterOperation()}).catch(t=>e?Promise.resolve():(o.repositoryInfo=void 0,Promise.reject(t))).then(()=>{(e=>{const t=e.data;if(angular.isDefined(t.params.ruleset)){let e=!1;if(angular.forEach(o.rulesets,function(o){o.id===t.params.ruleset.value&&(e=!0)}),t.params.ruleset&&!e){const e=s(t.params.ruleset.value);o.rulesets.unshift({id:t.params.ruleset.value,name:"Custom: "+e})}}o.repositoryInfo=t,o.setRepositoryType(t.type),c(o.repositoryInfo.params),o.repositoryInfo.saveId=o.saveRepoId,o.loader=!1})(e)}).catch(e=>{const r=e.data,a=e.status,s=t.repositoryId;let c;c=404===a&&"system"!==s?(0,n.Gz)(g.instant("edit.repo.error.not.exists",{repositoryId:s})):404===a&&"system"===s?(0,n.Gz)(g.instant("edit.system.repo.warning")):getError(r),i.error(c,g.instant("common.error"),{allowHtml:!0}),404===a?setTimeout(function(){o.loader=!1,u.path("repository")},1e3):o.loader=!1})}}),o.setRepositoryType=function(e){o.repositoryType=e},o.noMembersError=function(){i.error(g.instant("fedx.create.repo.no.members.warning"))},o.editRepoHttp=function(){o.loader=!0,y.editRepository(o.repositoryInfo.saveId,o.repositoryInfo).success(function(){i.success(g.instant("edit.repo.success.msg",{saveId:o.repositoryInfo.saveId})),p.init().finally(()=>o.goBackToPreviousLocation()),o.repositoryInfo.saveId===o.repositoryInfo.id&&o.repositoryInfo.restartRequested&&p.restartRepository(o.repositoryInfo)}).error(function(e){const t=getError(e);i.error(t,g.instant("common.error")),o.loader=!1})},o.editRepository=function(){o.isInvalidRepoName=!r.FILENAME_PATTERN.test(o.repositoryInfo.id),o.isInvalidEntityIndexSizeMin=o.repositoryInfo.params.entityIndexSize?.value<a;const e=d(o.repositoryInfo.params,g);let t=(0,n.Gz)(g.instant("edit.repo.save.changes.msg",{repoId:o.repositoryInfo.id}));o.repositoryInfo.saveId!==o.repositoryInfo.id?t+=(0,n.Gz)(g.instant("edit.repo.rename.changes.msg")):o.repositoryInfo.restartRequested?t+=(0,n.Gz)(g.instant("edit.repo.restart.requested.msg")):t+=(0,n.Gz)(g.instant("edit.repo.restart.needed.msg")),o.isInvalidRepoName?i.error(g.instant("wrong.repo.name.error")):"fedx"===o.repositoryType&&0===o.repositoryInfo.params.member.value.length?o.noMembersError():e?i.error(e):o.isInvalidEntityIndexSizeMin?i.error(g.instant("repo.error.entityIndex.min")):m.openSimpleModal({title:g.instant("common.confirm.save"),message:t,warning:!0}).result.then(function(){o.editRepoHttp()})},o.editRepositoryId=function(){let e=(0,n.Gz)(g.instant("edit.repo.id.warning.msg"));m.openSimpleModal({title:g.instant("confirm.enable.edit"),message:e,warning:!0}).result.then(function(){o.canEditRepoId=!0})},o.goBackToPreviousLocation=function(){angular.isDefined(t.previous)?(delete u.$$search.previous,u.path("/")):u.path("/repository")},o.getShaclOptionsClass=function(){return l()};const h=e.$on("$translateChangeSuccess",()=>{o.pageTitle=g.instant("view.edit.repo.title",{repositoryId:o.params.repositoryId})});o.$on("$destroy",()=>{h()})}angular.module("graphdb.framework.repositories.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.utils.localstorageadapter","toastr","ngFileUpload","graphdb.framework.repositories.controllers.manage-remote-location-dialog"]).controller("LocationsAndRepositoriesCtrl",m).controller("AddLocationCtrl",g).controller("EditLocationCtrl",R).controller("ChooseRepositoryCtrl",h).controller("AddRepositoryCtrl",L).controller("EditRepositoryCtrl",I).controller("EditRepositoryFileCtrl",v).controller("UploadRepositoryConfigCtrl",y),m.$inject=["$scope","$rootScope","$uibModal","toastr","$repositories","ModalService","AuthTokenService","LocationsRestService","LocalStorageAdapter","$interval","$translate","$q","GuidesService"],y.$inject=["$scope","$uibModalInstance","Upload","toastr","$translate"],g.$inject=["$scope","$uibModalInstance","toastr","productInfo","$translate"],R.$inject=["$scope","$uibModalInstance","location","productInfo"],h.$inject=["$scope","$location"],L.$inject=["$rootScope","$scope","toastr","$repositories","$location","$timeout","Upload","$routeParams","RepositoriesRestService","$translate"],v.$inject=["$scope","$uibModalInstance","RepositoriesRestService","file","toastr","$translate","dialogTitle","location"],I.$inject=["$rootScope","$scope","$routeParams","toastr","$repositories","$location","ModalService","RepositoriesRestService","$translate","MonitoringRestService"]},75331:(e,o,t)=>{t.r(o);var r=t(30690);angular.module("graphdb.framework.core.directives.validate-url",[]).directive("validateUrl",function(){return{restrict:"A",require:"ngModel",link:function(e,o,t,n){n.$validators.validUrl=function(e,o){if(n.$isEmpty(o))return"false"!==t.allowEmpty;if(!r.UrlUtils.isValidUrl(o))return!1;if(t.exclude&&!r.UrlUtils.doesNotContain(o,t.exclude))return!1;if(t.excludeProtocol){const e=t.excludeProtocol.split(",");if(!r.UrlUtils.doesNotUseProtocol(o,e))return!1}return!0}}}})}}; //# sourceMappingURL=46591.ac9d19fd699104a9ed9b.bundle.js.map