graphdb-workbench 4.0.0-TR2 → 4.0.0-TR3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{30575.19fdf3b549db571bb535.bundle.js → 30575.184c5f6f13b5bff89fec.bundle.js} +2 -2
- package/dist/30575.184c5f6f13b5bff89fec.bundle.js.map +1 -0
- package/dist/32401.e87fc66be912718fffc3.bundle.js +2 -0
- package/dist/32401.e87fc66be912718fffc3.bundle.js.map +1 -0
- package/dist/44906.42387d9a889a05ef93ae.bundle.js +2 -0
- package/dist/44906.42387d9a889a05ef93ae.bundle.js.map +1 -0
- package/dist/{64700.a10c20a33a6c92f01733.bundle.js → 64700.847995c53301ff65bccd.bundle.js} +2 -2
- package/dist/64700.847995c53301ff65bccd.bundle.js.map +1 -0
- package/dist/{64709.dfde8159d07e957a12b0.bundle.js → 64709.d0144177c2b8d83b494f.bundle.js} +2 -2
- package/dist/{64709.dfde8159d07e957a12b0.bundle.js.map → 64709.d0144177c2b8d83b494f.bundle.js.map} +1 -1
- package/dist/{65677.4ed21f2097d86718611c.bundle.js → 65677.9e40e2d5fe66932a18ab.bundle.js} +2 -2
- package/dist/{65677.4ed21f2097d86718611c.bundle.js.map → 65677.9e40e2d5fe66932a18ab.bundle.js.map} +1 -1
- package/dist/{75384.cc7de25be91251aa6aa4.bundle.js → 75384.94d3d9790b82fe24ba69.bundle.js} +2 -2
- package/dist/75384.94d3d9790b82fe24ba69.bundle.js.map +1 -0
- package/dist/79796.9e99cce3ecaefe7b75fc.bundle.js +2 -0
- package/dist/79796.9e99cce3ecaefe7b75fc.bundle.js.map +1 -0
- package/dist/{80933.19f69bc85c52a8b19311.bundle.js → 80933.d5c0bca925e9cb27ac57.bundle.js} +2 -2
- package/dist/{80933.19f69bc85c52a8b19311.bundle.js.map → 80933.d5c0bca925e9cb27ac57.bundle.js.map} +1 -1
- package/dist/{82917.c68c153aaca95c11341f.bundle.js → 82917.9da9f14ffe9dc7768d10.bundle.js} +2 -2
- package/dist/{82917.c68c153aaca95c11341f.bundle.js.map → 82917.9da9f14ffe9dc7768d10.bundle.js.map} +1 -1
- package/dist/{86099.ab0bf43b346e9cfb20d8.bundle.js → 86099.33c740b4d5684dde18c7.bundle.js} +2 -2
- package/dist/{86099.ab0bf43b346e9cfb20d8.bundle.js.map → 86099.33c740b4d5684dde18c7.bundle.js.map} +1 -1
- package/dist/api/models/broadcast/broadcast-message.d.ts +11 -0
- package/dist/api/models/broadcast/index.d.ts +3 -0
- package/dist/api/models/broadcast/message-handler.d.ts +5 -0
- package/dist/api/models/broadcast/message-type.d.ts +3 -0
- package/dist/api/ontotext-workbench-api.d.ts +2 -0
- package/dist/api/ontotext-workbench-api.js +1 -1
- package/dist/api/ontotext-workbench-api.js.map +1 -1
- package/dist/api/services/broadcast/broadcast.service.d.ts +24 -0
- package/dist/api/services/broadcast/index.d.ts +1 -0
- package/dist/api/services/broadcast/test/broadcast.service.spec.d.ts +1 -0
- package/dist/assets/i18n/language-config.json +1 -1
- package/dist/css/user.css +1 -1
- package/dist/i18n/locale-en.json +1 -0
- package/dist/i18n/locale-fr.json +1 -0
- package/dist/index.html +8 -8
- package/dist/js/angular/clustermanagement/templates/cluster-configuration/cluster-configuration.html +1 -1
- package/dist/js/angular/clustermanagement/templates/cluster-configuration/multi-region.html +1 -1
- package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
- package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
- package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +2 -2
- package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
- package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
- package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
- package/dist/js/angular/core/templates/search-resource-input.html +1 -1
- package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
- package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
- package/dist/js/angular/graphql/templates/graphql-playground.html +2 -2
- package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
- package/dist/js/angular/security/templates/user.html +8 -5
- package/dist/js/angular/security/templates/users.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +3 -3
- package/dist/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/no-agents-view.html +1 -1
- package/dist/js/angular/ttyg/templates/ttyg.html +1 -1
- package/dist/legacyWorkbench.5ba16dfe45d478531c81.js +3 -0
- package/dist/{legacyWorkbench.d546b7e4a3f1505b1746.js.map → legacyWorkbench.5ba16dfe45d478531c81.js.map} +1 -1
- package/dist/pages/aclmanagement.html +1 -1
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +2 -2
- package/dist/pages/create-index.html +1 -1
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +8 -8
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/home.html +1 -1
- package/dist/pages/import.html +2 -2
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/jdbc.html +1 -1
- package/dist/pages/monitor/backup-and-restore.html +1 -1
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +1 -1
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +1 -1
- package/dist/pages/repository.html +1 -1
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-editor.html +1 -1
- package/dist/pages/sparql-template-create.html +1 -1
- package/dist/pages/sparql-templates.html +1 -1
- package/dist/pages/ux-test1.html +2 -2
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins/plugins-bundle.js +1 -1
- package/dist/plugins/plugins-bundle.js.map +1 -1
- package/dist/plugins.js +1 -1
- package/dist/res/swagger5/index.html +11 -11
- package/dist/shared-components/collection/pages/js/main.js +1 -1
- package/package.json +2 -2
- package/dist/30575.19fdf3b549db571bb535.bundle.js.map +0 -1
- package/dist/32401.023d0082b98ee532b4d3.bundle.js +0 -2
- package/dist/32401.023d0082b98ee532b4d3.bundle.js.map +0 -1
- package/dist/44906.6d83b4aafb42ccc2f46c.bundle.js +0 -2
- package/dist/44906.6d83b4aafb42ccc2f46c.bundle.js.map +0 -1
- package/dist/64700.a10c20a33a6c92f01733.bundle.js.map +0 -1
- package/dist/75384.cc7de25be91251aa6aa4.bundle.js.map +0 -1
- package/dist/79796.c484b55f1aa1581ac64c.bundle.js +0 -2
- package/dist/79796.c484b55f1aa1581ac64c.bundle.js.map +0 -1
- package/dist/legacyWorkbench.d546b7e4a3f1505b1746.js +0 -3
- /package/dist/{legacyWorkbench.d546b7e4a3f1505b1746.js.LICENSE.txt → legacyWorkbench.5ba16dfe45d478531c81.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_esm_id__=30575;export const __webpack_esm_ids__=[30575];export const __webpack_esm_modules__={30575(){PluginRegistry.add("route",{url:"/",module:"graphdb.workbench",chunk:"home",path:"controllers",controller:"homeCtrl",templateUrl:"pages/home.html"}),PluginRegistry.add("main.menu",{items:[{label:"Setup",labelKey:"menu.setup.label",href:"#",order:5,role:"IS_AUTHENTICATED_FULLY",icon:"ri-settings-3-line",guideSelector:"menu-setup",testSelector:"menu-setup",children:[]},{label:"Monitor",labelKey:"menu.monitor.label",href:"#",order:3,role:"ROLE_USER",icon:"ri-heart-pulse-line",guideSelector:"menu-monitor",testSelector:"menu-monitoring",children:[]},{label:"Lab",labelKey:"menu.lab.label",href:"#",order:6,role:"ROLE_USER",icon:"ri-flask-line",guideSelector:"menu-lab",testSelector:"menu-lab",children:[]}]}),PluginRegistry.add("main.menu",{disabled:!0,items:[{label:"New YASGUI",labelKey:"New YASGUI",href:"sparql-new",order:1.9,role:"IS_AUTHENTICATED_FULLY",icon:"icon-sparql",guideSelector:"menu-new-yasgui",children:[]}]})}};
|
|
2
|
-
//# sourceMappingURL=30575.
|
|
1
|
+
export const __webpack_esm_id__=30575;export const __webpack_esm_ids__=[30575];export const __webpack_esm_modules__={30575(){PluginRegistry.add("route",{url:"/",module:"graphdb.workbench",chunk:"home",path:"controllers",controller:"homeCtrl",templateUrl:"pages/home.html"}),PluginRegistry.add("main.menu",{items:[{label:"Setup",labelKey:"menu.setup.label",href:"#",order:5,role:"IS_AUTHENTICATED_FULLY",icon:"ri-settings-3-line",guideSelector:"menu-setup",testSelector:"menu-setup",children:[]},{label:"Monitor",labelKey:"menu.monitor.label",href:"#",order:3,role:"ROLE_USER",icon:"ri-heart-pulse-line",guideSelector:"menu-monitor",testSelector:"menu-monitoring",children:[]}]}),PluginRegistry.add("main.menu",{disabled:!0,items:[{label:"Lab",labelKey:"menu.lab.label",href:"#",order:6,role:"ROLE_USER",icon:"ri-flask-line",guideSelector:"menu-lab",testSelector:"menu-lab",children:[]}]}),PluginRegistry.add("main.menu",{disabled:!0,items:[{label:"New YASGUI",labelKey:"New YASGUI",href:"sparql-new",order:1.9,role:"IS_AUTHENTICATED_FULLY",icon:"icon-sparql",guideSelector:"menu-new-yasgui",children:[]}]})}};
|
|
2
|
+
//# sourceMappingURL=30575.184c5f6f13b5bff89fec.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"30575.184c5f6f13b5bff89fec.bundle.js","mappings":"6HAAAA,eAAeC,IAAI,QAAS,CACxB,IAAO,IACP,OAAU,oBACV,MAAS,OACT,KAAQ,cACR,WAAc,WACd,YAAe,oBAGnBD,eAAeC,IAAI,YAAa,CACxBC,MAAO,CACH,CACIC,MAAO,QACPC,SAAU,mBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,yBACNC,KAAM,qBACNC,cAAe,aACfC,aAAc,aACdC,SAAU,IAEd,CACIR,MAAO,UACPC,SAAU,qBACVC,KAAM,IACNC,MAAO,EAEPC,KAAM,YACNC,KAAM,sBACNC,cAAe,eACfC,aAAc,kBACdC,SAAU,OAK1BX,eAAeC,IAAI,YAAa,CACxBW,UAAU,EACVV,MAAO,CACH,CACIC,MAAO,MACPC,SAAU,iBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,YACNC,KAAM,gBACNC,cAAe,WACfC,aAAc,WACdC,SAAU,OAK1BX,eAAeC,IAAI,YAAa,CACxBW,UAAU,EACVV,MAAO,CACH,CACIC,MAAO,aACPC,SAAU,aACVC,KAAM,aACNC,MAAO,IACPC,KAAM,yBACNC,KAAM,cACNC,cAAe,kBACfE,SAAU,M","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/plugin.js"],"sourcesContent":["PluginRegistry.add('route', {\n 'url': '/',\n 'module': 'graphdb.workbench',\n 'chunk': 'home',\n 'path': 'controllers',\n 'controller': 'homeCtrl',\n 'templateUrl': 'pages/home.html',\n});\n\nPluginRegistry.add('main.menu', {\n items: [\n {\n label: 'Setup',\n labelKey: 'menu.setup.label',\n href: '#',\n order: 5,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: \"ri-settings-3-line\",\n guideSelector: 'menu-setup',\n testSelector: 'menu-setup',\n children: [],\n },\n {\n label: 'Monitor',\n labelKey: 'menu.monitor.label',\n href: '#',\n order: 3,\n // Changed to role user as now users can monitor their own queries\n role: 'ROLE_USER',\n icon: 'ri-heart-pulse-line',\n guideSelector: 'menu-monitor',\n testSelector: 'menu-monitoring',\n children: [],\n },\n ],\n },\n);\nPluginRegistry.add('main.menu', {\n disabled: true,\n items: [\n {\n label: 'Lab',\n labelKey: 'menu.lab.label',\n href: '#',\n order: 6,\n role: 'ROLE_USER',\n icon: \"ri-flask-line\",\n guideSelector: 'menu-lab',\n testSelector: 'menu-lab',\n children: [],\n },\n ],\n },\n);\nPluginRegistry.add('main.menu', {\n disabled: true,\n items: [\n {\n label: 'New YASGUI',\n labelKey: 'New YASGUI',\n href: 'sparql-new',\n order: 1.9,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: \"icon-sparql\",\n guideSelector: 'menu-new-yasgui',\n children: [],\n },\n ],\n },\n);\n"],"names":["PluginRegistry","add","items","label","labelKey","href","order","role","icon","guideSelector","testSelector","children","disabled"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_esm_id__=32401;export const __webpack_esm_ids__=[32401];export const __webpack_esm_modules__={50972(e,t,n){n.d(t,{I:()=>o});var r=n(12454);class o extends r.TI{constructor(e){super(e),this.canEditAgent=!1,this.canCopyAgent=!1,this.canDeleteAgent=!1,this.canOpenExternalIntegrationConfiguration=!1}}},32401(e,t,n){n.d(t,{Wz:()=>h,hL:()=>_,hb:()=>f,p$:()=>p,qC:()=>c});var r=n(12454),o=n(88338),s=n(79069),i=n(11310),a=n(9297),d=n(50972),l=n(57154);const c=(e,t,n)=>{if(!e)return;const i=n===a.A1.CREATE,d=new o.jv;d.id=e.id||t.id,d.name=e.name||t.name,d.repositoryId=e.repositoryId||t.repositoryId,d.model=e.model||t.model,d.contextSize=e.contextSize||t.contextSize,d.contextSizeCopy=t.contextSize;const c=new s.U0({...r.Hn});c.value=i?t.temperature:e.temperature,d.temperature=c,d.temperatureEnabled=!l.ObjectUtil.isNullOrUndefined(d.temperature.value);const p=new s.U0({...r.Zb});return p.value=i?t.topP:e.topP,d.topP=p,d.topPEnabled=!l.ObjectUtil.isNullOrUndefined(d.topP.value),d.seed=e.seed||t.seed,d.instructions=m(e.instructions,t.instructions),u(d,n,t.assistantExtractionMethods,e.assistantExtractionMethods),function(e,t,n){if(!e)return;const s=e.map(n=>{const s={method:n.method||t.method,expanded:n.expanded||t.expanded};return n.method!==r.eA.IRI_DISCOVERY_SEARCH&&n.method!==r.eA.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH||(s.selected=e.some(e=>e.method===n.method)),n.method===r.eA.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH&&(s.maxNumberOfResultsPerCall=n._maxNumberOfResultsPerCall||t.maxNumberOfResultsPerCall),new o.B1(s)});n.additionalExtractionMethods.setAdditionalExtractionMethod(s)}(e.additionalExtractionMethods,t.additionalExtractionMethods,d),d},m=(e,t)=>{if(!e&&!t)return;const n=e&&e.systemInstruction||t.systemInstruction,r=e&&e.userInstruction||t.userInstruction;return new o.ce({systemInstruction:n,userInstruction:r,defaultSystemInstruction:t.systemInstruction,defaultUserInstruction:t.userInstruction})},u=(e,t,n,r=[])=>{const i=n.filter(e=>!r.some(t=>t.method===e.method)),d=n.find(e=>"sparql_search"===e.method);[...r,...i].forEach(n=>{const i=r.some(e=>e.method===n.method);let l="";i&&"sparql_search"===n.method&&(a.A1.CREATE===t?l="":n.sparqlQuery?l="sparqlQuery":n.ontologyGraph&&(l="ontologyGraph"));const c=t===a.A1.EDIT||t===a.A1.CLONE,m=new o.sH({selected:c&&i,method:n.method,sparqlOption:l,ontologyGraph:n.ontologyGraph||d.ontologyGraph,addMissingNamespaces:n.addMissingNamespaces,sparqlQuery:new s.T8({value:n.sparqlQuery||d.sparqlQuery,minLength:1,maxLength:2380}),connectorType:n.connectorType,connectorFields:n.connectorFields,selectedConnectorField:n.connectorFields[0],similarityIndex:n.similarityIndex,similarityIndexThreshold:n.similarityIndexThreshold&&new s.U0({value:n.similarityIndexThreshold,minValue:0,maxValue:1,step:.1}),maxNumberOfTriplesPerCall:0===n.maxNumberOfTriplesPerCall?null:n.maxNumberOfTriplesPerCall,queryTemplate:n.queryTemplate&&new s.T8({value:n.queryTemplate,minLength:1,maxLength:2380}),retrievalConnectorInstance:n.retrievalConnectorInstance});e.assistantExtractionMethods.setExtractionMethod(m)})},p=(e,t)=>{if(!e)return new r.Ff;const n=e.map(e=>h(e,t));return new r.Ff(n)},h=(e,t)=>{if(!e)return;const n=(0,i.A)();return new r.TI({id:e.id,name:e.name,repositoryId:e.repositoryId,isRepositoryDeleted:!t.includes(e.repositoryId),model:e.model,contextSize:"openai-assistants"===e.api?null:e.contextSize,temperature:e.temperature,topP:e.topP,seed:e.seed,instructions:C(e.instructions),assistantExtractionMethods:I(e.assistantExtractionMethods),additionalExtractionMethods:x(e.additionalExtractionMethods),compatibility:e.compatibility},n)},I=e=>{if(e)return e.map(e=>y(e))},y=e=>{if(e)return new r.WJ({method:e.method,ontologyGraph:e.ontologyGraph,addMissingNamespaces:e.addMissingNamespaces,sparqlQuery:e.sparqlQuery,similarityIndex:e.similarityIndex,connectorFields:e.connectorFields,connectorType:e.connectorType,similarityIndexThreshold:e.similarityIndexThreshold,maxNumberOfTriplesPerCall:e.maxNumberOfTriplesPerCall,queryTemplate:e.queryTemplate,retrievalConnectorInstance:e.retrievalConnectorInstance})},x=e=>{if(e)return e.map(e=>E(e))},E=e=>{if(e)return e.method===r.eA.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH?new r.zn({method:e.method,maxNumberOfResultsPerCall:e.limit||0}):e.method===r.eA.IRI_DISCOVERY_SEARCH?new r.zn({method:e.method}):void 0},C=e=>{if(e)return new r.Sk({systemInstruction:e.systemInstruction,userInstruction:e.userInstruction})},_=(e,t)=>new r.Ff(e.agents.map(e=>f(e,t))),f=(e,t)=>{const n=new d.I(e),r=t.canMaintainRepo({id:e.repositoryId,location:""});return n.canEditAgent=r,n.canCopyAgent=!0,n.canDeleteAgent=r,n.canOpenExternalIntegrationConfiguration=r,n}}};
|
|
2
|
+
//# sourceMappingURL=32401.e87fc66be912718fffc3.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"32401.e87fc66be912718fffc3.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/model/agent-view.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/services/agents.mapper.js"],"sourcesContent":["import {AgentModel} from '../../models/ttyg/agents';\n\nexport class AgentViewModel extends AgentModel {\n /**\n * @param agent\n * @type {AgentModel}\n */\n constructor(agent) {\n super(agent);\n this.canEditAgent = false;\n this.canCopyAgent = false;\n this.canDeleteAgent = false;\n this.canOpenExternalIntegrationConfiguration = false;\n }\n}\n","import {\n AdditionalExtractionMethod,\n AdditionalExtractionMethodModel,\n AgentInstructionsModel,\n AgentListModel,\n AgentModel, DEFAULT_TEMPERATURE_RANGE, DEFAULT_TOP_P_RANGE,\n ExtractionMethodModel,\n} from '../../models/ttyg/agents';\nimport {\n AdditionalExtractionMethodFormModel,\n AgentFormModel,\n AgentInstructionsFormModel,\n ExtractionMethodFormModel,\n} from '../../models/ttyg/agent-form';\nimport {NumericRangeModel, TextFieldModel} from '../../models/form-fields';\nimport {md5HashGenerator} from '../../utils/hash-utils';\nimport {AGENT_OPERATION} from \"./constants\";\nimport {AgentViewModel} from '../model/agent-view';\nimport {\n ObjectUtil,\n} from '@ontotext/workbench-api';\n\n/**\n * Converts an agent model to an agent form model.\n * @param {AgentModel} agentModel\n * @param {AgentModel} defaultAgentModel\n * @param {string} operation\n * @return {AgentFormModel}\n */\nexport const agentFormModelMapper = (agentModel, defaultAgentModel, operation ) => {\n if (!agentModel) {\n return;\n }\n const isNewAgent = operation === AGENT_OPERATION.CREATE;\n const agentFormModel = new AgentFormModel();\n agentFormModel.id = agentModel.id || defaultAgentModel.id;\n agentFormModel.name = agentModel.name || defaultAgentModel.name;\n agentFormModel.repositoryId = agentModel.repositoryId || defaultAgentModel.repositoryId;\n agentFormModel.model = agentModel.model || defaultAgentModel.model;\n agentFormModel.contextSize = agentModel.contextSize || defaultAgentModel.contextSize;\n agentFormModel.contextSizeCopy = defaultAgentModel.contextSize;\n // Set temperature related properties.\n const temperatureFormModel = new NumericRangeModel({...DEFAULT_TEMPERATURE_RANGE});\n temperatureFormModel.value = isNewAgent ? defaultAgentModel.temperature : agentModel.temperature;\n agentFormModel.temperature = temperatureFormModel;\n agentFormModel.temperatureEnabled = !ObjectUtil.isNullOrUndefined(agentFormModel.temperature.value);\n\n // Set topP related properties.\n const topPFormModel = new NumericRangeModel({...DEFAULT_TOP_P_RANGE});\n topPFormModel.value = isNewAgent ? defaultAgentModel.topP : agentModel.topP;\n agentFormModel.topP = topPFormModel;\n agentFormModel.topPEnabled = !ObjectUtil.isNullOrUndefined(agentFormModel.topP.value);\n\n agentFormModel.seed = agentModel.seed || defaultAgentModel.seed;\n agentFormModel.instructions = agentInstructionsFormMapper(agentModel.instructions, defaultAgentModel.instructions);\n extractionMethodsFormMapper(agentFormModel, operation, defaultAgentModel.assistantExtractionMethods, agentModel.assistantExtractionMethods);\n // Select additional methods if they are present in the list returned from the backend (BE).\n additionalExtractionMethodsFormMapper(agentModel.additionalExtractionMethods, defaultAgentModel.additionalExtractionMethods, agentFormModel);\n return agentFormModel;\n};\n\n/**\n * @param {AgentInstructionsModel} currentAgentModelInstructions\n * @param {AgentInstructionsModel} defaultInstructions\n * @return {AgentInstructionsFormModel}\n */\nconst agentInstructionsFormMapper = (currentAgentModelInstructions, defaultInstructions) => {\n if (!currentAgentModelInstructions && !defaultInstructions) {\n return;\n }\n const systemInstruction = currentAgentModelInstructions && currentAgentModelInstructions.systemInstruction || defaultInstructions.systemInstruction;\n const userInstruction = currentAgentModelInstructions && currentAgentModelInstructions.userInstruction || defaultInstructions.userInstruction;\n return new AgentInstructionsFormModel({\n systemInstruction: systemInstruction,\n userInstruction: userInstruction,\n defaultSystemInstruction: defaultInstructions.systemInstruction,\n defaultUserInstruction: defaultInstructions.userInstruction,\n });\n};\n\n/**\n * @param {AgentFormModel} agentFormModel\n * @param {string} operation\n * @param {ExtractionMethodModel[]} defaultData\n * @param {ExtractionMethodModel[]} data\n */\nconst extractionMethodsFormMapper = (agentFormModel, operation, defaultData, data = []) => {\n const defaultExtractionMethods = defaultData.filter((defaultExtractionMethod) => !data.some((agentMethod) => agentMethod.method === defaultExtractionMethod.method));\n const defaultSparqlMethodValues = defaultData.find((defaultExtractionMethod) => defaultExtractionMethod.method === 'sparql_search');\n const extractionMethods = [...data, ...defaultExtractionMethods];\n extractionMethods.forEach((extractionMethod) => {\n const isMethodSelected = data.some((method) => method.method === extractionMethod.method);\n // The sparqlOption is applicable only for the sparql_search method.\n let sparqlOption = '';\n if (isMethodSelected && extractionMethod.method === 'sparql_search') {\n if (AGENT_OPERATION.CREATE === operation) {\n sparqlOption = '';\n } else if (extractionMethod.sparqlQuery) {\n sparqlOption = 'sparqlQuery';\n } else if (extractionMethod.ontologyGraph) {\n sparqlOption = 'ontologyGraph';\n }\n }\n // In edit and clone operations we have an existing agent instance, so we should show the selected methods from it.\n const shouldShowSelectedMethods = operation === AGENT_OPERATION.EDIT || operation === AGENT_OPERATION.CLONE;\n const existingMethod = new ExtractionMethodFormModel({\n selected: shouldShowSelectedMethods && isMethodSelected,\n method: extractionMethod.method,\n sparqlOption: sparqlOption,\n ontologyGraph: extractionMethod.ontologyGraph || defaultSparqlMethodValues.ontologyGraph,\n addMissingNamespaces: extractionMethod.addMissingNamespaces,\n sparqlQuery: new TextFieldModel({\n value: extractionMethod.sparqlQuery || defaultSparqlMethodValues.sparqlQuery,\n minLength: 1,\n maxLength: 2380,\n }),\n connectorType: extractionMethod.connectorType,\n connectorFields: extractionMethod.connectorFields,\n selectedConnectorField: extractionMethod.connectorFields[0],\n similarityIndex: extractionMethod.similarityIndex,\n similarityIndexThreshold: extractionMethod.similarityIndexThreshold && new NumericRangeModel({\n value: extractionMethod.similarityIndexThreshold,\n minValue: 0,\n maxValue: 1,\n step: 0.1,\n }),\n // In case backend returns 0 as a default value this means that there is no limit, so we set the null in order\n // to show the placeholder in the input field.\n maxNumberOfTriplesPerCall: extractionMethod.maxNumberOfTriplesPerCall === 0 ? null : extractionMethod.maxNumberOfTriplesPerCall,\n queryTemplate: extractionMethod.queryTemplate && new TextFieldModel({\n value: extractionMethod.queryTemplate,\n minLength: 1,\n maxLength: 2380,\n }),\n retrievalConnectorInstance: extractionMethod.retrievalConnectorInstance,\n });\n agentFormModel.assistantExtractionMethods.setExtractionMethod(existingMethod);\n });\n};\n\n/**\n * @param {AdditionalExtractionMethodsModel} additionalExtractionMethodsResponse\n * @param {AdditionalExtractionMethodsModel} defaultAdditionalExtractionMethodData\n * @param {AgentFormModel} agentFormModel\n */\nfunction additionalExtractionMethodsFormMapper(additionalExtractionMethodsResponse, defaultAdditionalExtractionMethodData, agentFormModel) {\n // No Additional extraction methods on new agent creation\n if (!additionalExtractionMethodsResponse) {\n return;\n }\n const additionalExtractionMethods = additionalExtractionMethodsResponse.map((method) => {\n const data = {\n method: method.method || defaultAdditionalExtractionMethodData.method,\n expanded: method.expanded || defaultAdditionalExtractionMethodData.expanded,\n };\n if (method.method === AdditionalExtractionMethod.IRI_DISCOVERY_SEARCH || method.method === AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH) {\n data.selected = additionalExtractionMethodsResponse.some((agentMethod) => agentMethod.method === method.method);\n }\n\n if (method.method === AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH) {\n data.maxNumberOfResultsPerCall = method._maxNumberOfResultsPerCall || defaultAdditionalExtractionMethodData.maxNumberOfResultsPerCall;\n }\n return new AdditionalExtractionMethodFormModel(data);\n });\n agentFormModel.additionalExtractionMethods.setAdditionalExtractionMethod(additionalExtractionMethods);\n}\n\n/**\n * Converts the response from the server to a list of AgentModel.\n * @param {*[]} data\n * @param {string[]} localRepositoryIds\n * @return {AgentListModel}\n */\nexport const agentListMapper = (data, localRepositoryIds) => {\n if (!data) {\n return new AgentListModel();\n }\n const agentModels = data\n .map((agent) => agentModelMapper(agent, localRepositoryIds));\n return new AgentListModel(agentModels);\n};\n\nexport const agentModelMapper = (data, localRepositoryIds) => {\n if (!data) {\n return;\n }\n const hashGenerator = md5HashGenerator();\n return new AgentModel({\n id: data.id,\n name: data.name,\n repositoryId: data.repositoryId,\n // Sets the isRepositoryDeleted flag based on whether the repository ID is not in the list of repositories.\n isRepositoryDeleted: !localRepositoryIds.includes(data.repositoryId),\n model: data.model,\n contextSize: data.api === 'openai-assistants' ? null : data.contextSize,\n temperature: data.temperature,\n topP: data.topP,\n seed: data.seed,\n instructions: agentInstructionsMapper(data.instructions),\n assistantExtractionMethods: extractionMethodsMapper(data.assistantExtractionMethods),\n additionalExtractionMethods: additionalExtractionMethodsMapper(data.additionalExtractionMethods),\n compatibility: data.compatibility,\n }, hashGenerator);\n};\n\nconst extractionMethodsMapper = (data) => {\n if (!data) {\n return;\n }\n return data.map((extractionMethod) => extractionMethodMapper(extractionMethod));\n};\n\nconst extractionMethodMapper = (data) => {\n if (!data) {\n return;\n }\n return new ExtractionMethodModel({\n method: data.method,\n ontologyGraph: data.ontologyGraph,\n addMissingNamespaces: data.addMissingNamespaces,\n sparqlQuery: data.sparqlQuery,\n similarityIndex: data.similarityIndex,\n connectorFields: data.connectorFields,\n connectorType: data.connectorType,\n similarityIndexThreshold: data.similarityIndexThreshold,\n maxNumberOfTriplesPerCall: data.maxNumberOfTriplesPerCall,\n queryTemplate: data.queryTemplate,\n retrievalConnectorInstance: data.retrievalConnectorInstance,\n });\n};\n\nconst additionalExtractionMethodsMapper = (data) => {\n if (!data) {\n return;\n }\n return data.map((additionalExtractionMethod) => additionalExtractionMethodMapper(additionalExtractionMethod));\n};\n\nconst additionalExtractionMethodMapper = (data) => {\n if (!data) {\n return;\n }\n if (data.method === AdditionalExtractionMethod.AUTOCOMPLETE_IRI_DISCOVERY_SEARCH) {\n return new AdditionalExtractionMethodModel({\n method: data.method,\n maxNumberOfResultsPerCall: data.limit || 0,\n });\n } else if (data.method === AdditionalExtractionMethod.IRI_DISCOVERY_SEARCH) {\n return new AdditionalExtractionMethodModel({\n method: data.method,\n });\n }\n};\n\nconst agentInstructionsMapper = (data) => {\n if (!data) {\n return;\n }\n return new AgentInstructionsModel({\n systemInstruction: data.systemInstruction,\n userInstruction: data.userInstruction,\n });\n};\n\n/**\n * Converts an agent list containing {@link AgentModel} instances into an agent list\n * containing {@link AgentViewModel} instances enriched with UI permissions.\n *\n * @param {AgentListModel} agentList The agent list to convert.\n * @param {AuthorizationService} authorizationService The authorization service used to determine user permissions.\n * @returns {AgentListModel} An agent list containing {@link AgentViewModel} instances.\n */\nexport const mapAgentListModelToAgentViewListModel = (agentList, authorizationService) => {\n return new AgentListModel(agentList.agents.map((agent) => mapAgentModelToAgentViewModel(agent, authorizationService)));\n};\n\n/**\n * Converts an {@link AgentModel} into an {@link AgentViewModel} by enriching it\n * with UI-specific permissions based on the current user's repository maintain rights.\n *\n * @param {AgentModel} agent The agent to convert.\n * @param {AuthorizationService} authorizationService The authorization service used to determine user permissions.\n * @returns {AgentViewModel} The converted agent view model.\n */\nexport const mapAgentModelToAgentViewModel = (agent, authorizationService) => {\n const viewAgent = new AgentViewModel(agent);\n const canMaintainRepo = authorizationService.canMaintainRepo({id: agent.repositoryId, location: ''});\n viewAgent.canEditAgent = canMaintainRepo;\n viewAgent.canCopyAgent = true;\n viewAgent.canDeleteAgent = canMaintainRepo;\n viewAgent.canOpenExternalIntegrationConfiguration = canMaintainRepo;\n\n return viewAgent;\n};\n"],"names":["AgentViewModel","AgentModel","constructor","agent","super","this","canEditAgent","canCopyAgent","canDeleteAgent","canOpenExternalIntegrationConfiguration","agentFormModelMapper","agentModel","defaultAgentModel","operation","isNewAgent","AGENT_OPERATION","CREATE","agentFormModel","AgentFormModel","id","name","repositoryId","model","contextSize","contextSizeCopy","temperatureFormModel","NumericRangeModel","DEFAULT_TEMPERATURE_RANGE","value","temperature","temperatureEnabled","ObjectUtil","isNullOrUndefined","topPFormModel","DEFAULT_TOP_P_RANGE","topP","topPEnabled","seed","instructions","agentInstructionsFormMapper","extractionMethodsFormMapper","assistantExtractionMethods","additionalExtractionMethodsResponse","defaultAdditionalExtractionMethodData","additionalExtractionMethods","map","method","data","expanded","AdditionalExtractionMethod","IRI_DISCOVERY_SEARCH","AUTOCOMPLETE_IRI_DISCOVERY_SEARCH","selected","some","agentMethod","maxNumberOfResultsPerCall","_maxNumberOfResultsPerCall","AdditionalExtractionMethodFormModel","setAdditionalExtractionMethod","additionalExtractionMethodsFormMapper","currentAgentModelInstructions","defaultInstructions","systemInstruction","userInstruction","AgentInstructionsFormModel","defaultSystemInstruction","defaultUserInstruction","defaultData","defaultExtractionMethods","filter","defaultExtractionMethod","defaultSparqlMethodValues","find","forEach","extractionMethod","isMethodSelected","sparqlOption","sparqlQuery","ontologyGraph","shouldShowSelectedMethods","EDIT","CLONE","existingMethod","ExtractionMethodFormModel","addMissingNamespaces","TextFieldModel","minLength","maxLength","connectorType","connectorFields","selectedConnectorField","similarityIndex","similarityIndexThreshold","minValue","maxValue","step","maxNumberOfTriplesPerCall","queryTemplate","retrievalConnectorInstance","setExtractionMethod","agentListMapper","localRepositoryIds","AgentListModel","agentModels","agentModelMapper","hashGenerator","md5HashGenerator","isRepositoryDeleted","includes","api","agentInstructionsMapper","extractionMethodsMapper","additionalExtractionMethodsMapper","compatibility","extractionMethodMapper","ExtractionMethodModel","additionalExtractionMethod","additionalExtractionMethodMapper","AdditionalExtractionMethodModel","limit","AgentInstructionsModel","mapAgentListModelToAgentViewListModel","agentList","authorizationService","agents","mapAgentModelToAgentViewModel","viewAgent","canMaintainRepo","location"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_esm_id__=44906;export const __webpack_esm_ids__=[44906,62062,67262,81417,83196];export const __webpack_esm_modules__={67262(e,o,t){var r=t(81417);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.r.isValidUrl(o))return!1;if(t.exclude&&!r.r.doesNotContain(o,t.exclude))return!1;if(t.excludeProtocol){const e=t.excludeProtocol.split(",");if(!r.r.doesNotUseProtocol(o,e))return!1}return!0}}}})},44906(e,o,t){t.d(o,{W:()=>l});var r=t(83196),n=t(41767),i=(t(62062),t(62831)),a=t(57154),s=t(82385);const c=1e4,l=function(e){let o=e.lastIndexOf("/");-1===o&&(o=e.lastIndexOf("\\"));let t=e;return-1!==o&&(t=t.substring(o+1)),t},p=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)&&u[o]&&(e[o].value=Number.isInteger(r)?parseInt(t.value,10):r,t.isNumber=!0)}})},d=function(){const e=document.getElementById("shaclOptions");if(e){const o=e.getAttribute("aria-expanded");if(o&&"true"===o)return"ri-arrow-down-s-line"}return"ri-arrow-right-s-line"},u={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"},f=function(e,o){if(!e)return"";const t=Object.keys(e).find(o=>{const t=e[o];return t.isNumber&&!r.nj.test(t.value)});return t&&u[t]?o.instant(u[t]):""},m=function(e){return`https://graphdb.ontotext.com/documentation/${e.shortVersion}`},y=function(e){return e.getLocations().then(e=>e.filter(e=>e.isGraphDBLocation()&&!e.errorMsg&&!e.degradedReason))};function g(e,o,t,s,c,l,p,d,u,f,m){const y=(0,a.service)(a.GuidesService),g=(0,a.service)(a.AuthorizationService);e.RemoteLocationType=i.Il,e.loader=!0,e.locations=[],e.isLocationInactive=function(o){return!o.active||!e.hasActiveLocation()};const h=m.defer();function v(){return c.getLocations(h).then(o=>(e.locations=o,o)).finally(()=>e.loader=!1)}e.getLocalLocation=(o,t)=>{const r=e.locations.filter(e=>{let r=!0;return t&&(r=e.locationType===t),r&&e.local===o});return e.isRepoManager()?r:r.filter(o=>e.getRepositoriesFromLocation(o.uri)?.length>0)},e.hasAnyRemoteLocation=(o,t)=>t.some(t=>e.getLocalLocation(o,t).length>0),e.hasActiveLocation=function(){return c.hasActiveLocation()},e.getActiveLocation=function(){return c.getActiveLocation()},e.getLocationError=function(){return c.getLocationError()},e.getDegradedReason=function(){return c.getDegradedReason()},e.getRepositories=function(){return c.getRepositories()},e.isRepoActive=function(e){return c.isRepoActive(e)},e.deleteLocation=function(o){l.openSimpleModal({title:f.instant("location.confirm.detach"),message:f.instant("location.confirm.detach.warning",{uri:o}),warning:!0}).result.then(function(){e.loader=!0,c.deleteLocation(o).finally(()=>v())})},e.addLocationHttp=function(o){e.loader=!0,p.addLocation(o).success(function(){c.init()}).error(function(e){const o=getError(e);s.error(o,f.instant("common.error"))}).finally(()=>v())},e.addLocation=()=>{e.openRemoteLocationDialog()},e.editLocation=o=>{void 0===o.locationType&&(o.locationType=i.Il.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(){c.init()}).error(function(e){const o=getError(e);s.error(o,f.instant("common.error"))}).finally(()=>v())},e.setRepository=function(e){c.setRepository(e)},e.deleteRepository=function(o){l.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,c.deleteRepository(o).finally(()=>{v(),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){l.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,c.restartRepository(o).finally(()=>v())})},e.toggleDefaultRepository=function(o){e.getDefaultRepository()===o?c.setDefaultRepository(null):c.setDefaultRepository(o)},e.getDefaultRepository=function(){return c.getDefaultRepository()},e.getRepositoryDownloadLink=function(e){let o=`rest/repositories/${e.id}${e.type===r.VH.ontop?"/download-zip":"/download-ttl"}?location=${e.location}`;const t=(0,a.service)(a.AuthenticationStorageService).getAuthToken().getValue();return t&&(o=`${o}&authToken=${encodeURIComponent(t)}`),o},e.copyToClipboard=function(e){l.openCopyToClipboardModal(e)},e.fromFile=function(){t.open({templateUrl:"js/angular/templates/modal/upload-repository-config.html",controller:"UploadRepositoryConfigCtrl"}).result.then(function(){c.init()})},e.openActiveLocationSettings=function(){t.open({templateUrl:"js/angular/settings/modal/location-settings.html",controller:"ActiveLocationSettingsCtrl"})},v();const R=u(function(){y.isActive()&&!o.guidePaused||(c.initQuick(),v())},5e3);e.$on("$destroy",function(){u.cancel(R),h&&h.resolve()}),e.getRepositoriesFromLocation=function(o){const t=c.getRepositoriesFromLocation(o)||[];return e.isRepoManager()?t:t.filter(e=>g.canReadRepo(e)||g.canReadGqlRepo(e))},e.isRepoManager=()=>g.isRepoManager(),e.canMaintainRepo=e=>g.canMaintainRepo(e)}function h(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 v(e,o,t,r,n){e.newLocation={uri:"",authType:"none",username:"",password:"",active:!1},e.docBase=m(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=m(r),e.ok=function(){o.close(e.editedLocation)},e.cancel=function(){o.dismiss("cancel")}}function I(e,o){e.repositoryTypes=r.VH,e.chooseRepositoryType=function(e){o.path(`${o.path()}/${e}`)}}function L(e,o,t,n,i,l,u,m,g,h,v){const R=(0,a.service)(a.BroadcastService);function I(e){switch(e){case r.VH.graphdbRepo:o.pageTitle=h.instant("view.create.repo.title",{repoType:"GraphDB"});break;case r.VH.ontop:o.pageTitle=h.instant("view.create.repo.title",{repoType:"Ontop Virtual SPARQL"});break;case r.VH.fedx:o.pageTitle=h.instant("view.create.repo.title",{repoType:"FedX Virtual SPARQL"})}}var L;o.rulesets=r.Ds.slice(),o.repositoryTypes=r.VH,o.params=m,o.repositoryType=m.repositoryType,o.enable=!0,o.entityIndexSizeMin=c,o.documentationUrlForStorageEncryption=s.m.getDocumentationUrl(v.shortVersion,"creating-a-repository.html#using-workbench"),o.encryptInput={hovered:!1},o.loader=!0,o.pageTitle=h.instant("view.create.repo.title"),o.repositoryInfo={id:"",params:{},title:"",type:"",location:""},y(n).then(e=>{o.locations=e}),o.changedLocation=function(){o.$broadcast("changedLocation")},o.getConfig=function(e){g.getRepositoryConfiguration(e).then(function(e){const t=e.data;var r;o.repositoryInfo.params=t.params,o.repositoryInfo.type=t.type,p(o.repositoryInfo.params),(r=o.repositoryInfo.params)&&r.member&&(r.member.value=[]),o.loader=!1,l(function(){angular.element(document).find("#id").focus()},50)}).catch(function(e){const r=getError(e);t.error(r,h.instant("common.error")),o.loader=!1})},o.repositoryType&&(function(e){return o.isEnterprise()&&e===r.VH.graphdbRepo}(L=o.repositoryType)||function(e){return!o.isFreeEdition()&&!o.isEnterprise()&&e===r.VH.graphdbRepo}(L)||function(e){return o.isFreeEdition()&&e===r.VH.graphdbRepo}(L)||function(e){return e===r.VH.ontop}(L)||function(e){return e===r.VH.fedx}(L))?(o.repositoryInfo.type=o.repositoryType,o.getConfig(o.repositoryType),I(o.repositoryType)):i.path("/repository/create"),o.hasActiveLocation=function(){return n.hasActiveLocation()},o.activeLocation=function(){return n.getActiveLocation()};let $=!1;o.uploadRuleset=function(e){e&&e.length&&(o.uploadFile=e[0],o.uploadFileLoader=!0,u.upload({url:"rest/repositories/ruleset/upload",data:{ruleset:o.uploadFile,location:o.repositoryInfo.location}}).progress(function(e){}).success(function(e){if(e.success){$=!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),$=!0,o.uploadFile="";o.uploadFileLoader=!1}).error(function(e){const r=getError(e);t.error(r,h.instant("common.error")),o.uploadFile="",o.uploadFileLoader=!1,$=!0}))},o.noMembersError=function(){t.error(h.instant("fedx.create.repo.no.members.warning"))},o.goBackToPreviousLocation=function(){const e=i.search().previous;if(e){i.search("previous",null);const o="string"==typeof e&&"/"===e.charAt(0)?e:"/"+e;i.url(o)}else i.path("/repository")},o.createRepoHttp=function(){o.loader=!0,g.createRepository(o.repositoryInfo).then(function(){return t.success(h.instant("created.repo.success.msg",{repoId:o.repositoryInfo.id})),n.init()}).then(()=>{o.goBackToPreviousLocation(),R.sendMessage(new a.BroadcastMessage(a.MessageType.REPOSITORIES_UPDATED))}).catch(function(e){const o=getError(e.data);t.error(o,h.instant("common.error"))}).finally(()=>{o.loader=!1})},o.createRepo=function(){if(!o.repositoryInfo.id)return void t.error(h.instant("empty.repoid.warning"));o.isInvalidRepoName=!r.vH.test(o.repositoryInfo.id),o.isInvalidEntityIndexSizeMin=o.repositoryInfo.params.entityIndexSize?.value<c;const e=f(o.repositoryInfo.params,h);$?t.error(h.instant("invalid.ruleset.file.error")):o.isInvalidRepoName?t.error(h.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(h.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?h.instant("repoTooltips.rulesetWarnings.needsSameAs"):0===e.ruleset.value.indexOf("rdfs")&&"false"===e.disableSameAs.value?h.instant("repoTooltips.rulesetWarnings.doesntNeedSameAs"):e.ruleset.value===o.rulesetPie?h.instant("repoTooltips.rulesetWarnings.customRuleset"):""},o.getShaclOptionsClass=function(){return d()},o.autofocusId="autofocus";const w=e.$on("$translateChangeSuccess",()=>{I(o.repositoryType)});o.$on("$destroy",()=>{w()})}function $(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 w(e,o,t,i,s,u,m,g,h,v){const R=(0,a.service)(a.AuthorizationService),I=(0,a.service)(a.BroadcastService);o.rulesets=r.Ds.slice(),o.repositoryTypes=r.VH,o.entityIndexSizeMin=c,o.editRepoPage=!0,o.canEditRepoId=!1,o.canRenameRepo=!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=h.instant("view.edit.repo.title",{repositoryId:o.params.repositoryId}),o.hasActiveLocation=function(){return s.hasActiveLocation()},o.$watch(o.hasActiveLocation,function(){if(o.hasActiveLocation){let e;y(s).then(e=>(o.locations=e,g.getRepository(o.repositoryInfo))).then(t=>(e=t,v.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(o.canRenameRepo=R.isAdminOrRepoManager()&&t.type===r.VH.graphdbRepo,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=l(t.params.ruleset.value);o.rulesets.unshift({id:t.params.ruleset.value,name:"Custom: "+e})}}o.repositoryInfo=t,o.setRepositoryType(t.type),p(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)(h.instant("edit.repo.error.not.exists",{repositoryId:s})):404===a&&"system"===s?(0,n.Gz)(h.instant("edit.system.repo.warning")):getError(r),i.error(c,h.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(h.instant("fedx.create.repo.no.members.warning"))},o.editRepoHttp=function(){o.loader=!0,g.editRepository(o.repositoryInfo.saveId,o.repositoryInfo).success(function(){i.success(h.instant("edit.repo.success.msg",{saveId:o.repositoryInfo.saveId})),s.init().finally(()=>{o.goBackToPreviousLocation(),I.sendMessage(new a.BroadcastMessage(a.MessageType.REPOSITORIES_UPDATED))}),o.repositoryInfo.saveId===o.repositoryInfo.id&&o.repositoryInfo.restartRequested&&s.restartRepository(o.repositoryInfo)}).error(function(e){const t=getError(e);i.error(t,h.instant("common.error")),o.loader=!1})},o.editRepository=function(){o.isInvalidRepoName=!r.vH.test(o.repositoryInfo.id),o.isInvalidEntityIndexSizeMin=o.repositoryInfo.params.entityIndexSize?.value<c;const e=f(o.repositoryInfo.params,h);let t=(0,n.Gz)(h.instant("edit.repo.save.changes.msg",{repoId:o.repositoryInfo.id}));o.repositoryInfo.saveId!==o.repositoryInfo.id?t+=(0,n.Gz)(h.instant("edit.repo.rename.changes.msg")):o.repositoryInfo.restartRequested?t+=(0,n.Gz)(h.instant("edit.repo.restart.requested.msg")):t+=(0,n.Gz)(h.instant("edit.repo.restart.needed.msg")),o.isInvalidRepoName?i.error(h.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(h.instant("repo.error.entityIndex.min")):o.canRenameRepo||o.repositoryInfo.saveId===o.repositoryInfo.id?m.openSimpleModal({title:h.instant("common.confirm.save"),message:t,warning:!0}).result.then(function(){o.editRepoHttp()}):i.error(h.instant("edit.repo.id.change.error",{repoType:o.repositoryInfo.type}))},o.editRepositoryId=function(){if(!o.canRenameRepo)return;const e=(0,n.Gz)(h.instant("edit.repo.id.warning.msg"));m.openSimpleModal({title:h.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 d()};const L=e.$on("$translateChangeSuccess",()=>{o.pageTitle=h.instant("view.edit.repo.title",{repositoryId:o.params.repositoryId})});o.$on("$destroy",()=>{L()})}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",g).controller("AddLocationCtrl",v).controller("EditLocationCtrl",R).controller("ChooseRepositoryCtrl",I).controller("AddRepositoryCtrl",L).controller("EditRepositoryCtrl",w).controller("EditRepositoryFileCtrl",$).controller("UploadRepositoryConfigCtrl",h),g.$inject=["$scope","$rootScope","$uibModal","toastr","$repositories","ModalService","LocationsRestService","LocalStorageAdapter","$interval","$translate","$q"],h.$inject=["$scope","$uibModalInstance","Upload","toastr","$translate"],v.$inject=["$scope","$uibModalInstance","toastr","productInfo","$translate"],R.$inject=["$scope","$uibModalInstance","location","productInfo"],I.$inject=["$scope","$location"],L.$inject=["$rootScope","$scope","toastr","$repositories","$location","$timeout","Upload","$routeParams","RepositoriesRestService","$translate","productInfo"],$.$inject=["$scope","$uibModalInstance","RepositoriesRestService","file","toastr","$translate","dialogTitle","repositoryReference"],w.$inject=["$rootScope","$scope","$routeParams","toastr","$repositories","$location","ModalService","RepositoriesRestService","$translate","MonitoringRestService"]},62062(e,o,t){var r=t(62831);function n(e,o,t,n){e.remoteLocation=n.remoteLocation?new r.TP({...n.remoteLocation}):new r.TP,e.RemoteLocationType=r.Il,e.RemoteLocationAuthType=r.Qk,e.isEdit=!!n.remoteLocation,e.docBase=`https://graphdb.ontotext.com/documentation/${t.shortVersion}`,e.ok=()=>{e.remoteLocationForm.$pristine||e.remoteLocationForm.$invalid||o.close(e.remoteLocation)},e.cancel=()=>{o.dismiss("cancel")},e.onLocationTypeChanged=()=>{[r.Il.ONTOPIC,r.Il.SPARQL].includes(e.remoteLocation.locationType)?e.remoteLocation.authType=r.Qk.BASIC:e.remoteLocation.authType=r.Qk.NONE}}t(67262),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"]},83196(e,o,t){t.d(o,{Ds:()=>r,VH:()=>n,nj:()=>a,vH:()=>i});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]+$")},81417(e,o,t){t.d(o,{r:()=>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)}}}};
|
|
2
|
+
//# sourceMappingURL=44906.42387d9a889a05ef93ae.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"44906.42387d9a889a05ef93ae.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/validate-url.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/controllers/manage-remote-location-dialog.controller.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/repository.constants.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/utils/url-utils.js"],"sourcesContent":["/**\n * @ngdoc directive\n * @name validateUrl\n * @module graphdb.framework.core.directives.validate-url\n * @restrict A\n *\n * @description\n * This directive validates the URL input field based on a specified pattern.\n * It ensures that the input URL adheres to standard URL formats and provides\n * visual feedback to the user if the URL is invalid.\n *\n * The directive can also be configured to exclude certain substrings or protocols from valid URLs,\n * and to control whether empty input values are considered valid.\n *\n * @example\n * <pre>\n * <form name=\"myForm\">\n * <!-- Basic URL validation -->\n * <input type=\"text\" name=\"urlField\" ng-model=\"url\" validate-url/>\n * <div ng-show=\"myForm.urlField.$error.validUrl\">\n * Invalid URL format.\n * </div>\n *\n * <!-- URL validation excluding a specific substring -->\n * <input type=\"text\" name=\"urlFieldWithExclusion\" ng-model=\"url\" validate-url exclude=\"/repositories\"/>\n * <div ng-show=\"myForm.urlFieldWithExclusion.$error.validUrl\">\n * Invalid URL format or contains excluded substring.\n * </div>\n *\n * <!-- URL validation excluding a specific protocol -->\n * <input type=\"text\" name=\"urlFieldWithProtocolExclusion\" ng-model=\"url\" validate-url exclude-protocol=\"ftp\"/>\n * <div ng-show=\"myForm.urlFieldWithProtocolExclusion.$error.validUrl\">\n * Invalid URL format or uses an excluded protocol.\n * </div>\n *\n * <!-- URL validation that does not allow empty values -->\n * <input type=\"text\" name=\"urlFieldNoEmpty\" ng-model=\"url\" validate-url allow-empty=\"false\"/>\n * <div ng-show=\"myForm.urlFieldNoEmpty.$error.validUrl\">\n * Invalid URL format or empty value not allowed.\n * </div>\n *\n * <!-- URL validation with both substring and protocol exclusions, and empty values not allowed -->\n * <input type=\"text\" name=\"urlFieldFullValidation\" ng-model=\"url\" validate-url exclude=\"/repositories\" exclude-protocol=\"ftp\" allow-empty=\"false\"/>\n * <div ng-show=\"myForm.urlFieldFullValidation.$error.validUrl\">\n * Invalid URL format, contains excluded substring, uses an excluded protocol, or empty value not allowed.\n * </div>\n * </form>\n * </pre>\n *\n * @usage\n * This directive can be added as an attribute to any input field where URL validation is required.\n * It will automatically validate the input value.\n *\n * Optional attributes:\n * - `exclude`: A string specifying a substring that must not be present in the URL.\n * - `exclude-protocol`: A comma-separated list of protocols (e.g., `ftp,http`) that must not be used in the URL.\n * - `allow-empty`: A boolean attribute (`true` by default). If set to `false`, empty values are considered invalid.\n */\n\nimport {UrlUtils} from \"../../utils/url-utils\";\n\nconst modules = [];\n\nangular\n .module('graphdb.framework.core.directives.validate-url', modules)\n .directive('validateUrl', validateUrl);\n\nfunction validateUrl() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, element, attr, ctrl) {\n ctrl.$validators.validUrl = function (modelValue, viewValue) {\n // Check if empty values should be allowed\n if (ctrl.$isEmpty(viewValue)) {\n return attr.allowEmpty !== 'false';\n }\n\n if (!UrlUtils.isValidUrl(viewValue)) {\n return false;\n }\n\n if (attr.exclude && !UrlUtils.doesNotContain(viewValue, attr.exclude)) {\n return false;\n }\n\n if (attr.excludeProtocol) {\n const excludedProtocols = attr.excludeProtocol.split(',');\n if (!UrlUtils.doesNotUseProtocol(viewValue, excludedProtocols)) {\n return false;\n }\n }\n return true;\n };\n }\n };\n}\n","import {\n FILENAME_PATTERN,\n NUMBER_PATTERN,\n REPOSITORY_TYPES,\n STATIC_RULESETS,\n} from \"./repository.constants\";\nimport {decodeHTML} from \"../../../app\";\nimport './controllers/manage-remote-location-dialog.controller';\nimport {RemoteLocationType} from \"../models/repository/remote-location.model\";\nimport {\n service,\n AuthenticationStorageService,\n AuthorizationService,\n GuidesService,\n BroadcastService,\n MessageType,\n BroadcastMessage,\n} from '@ontotext/workbench-api';\nimport {DocumentationUrlResolver} from \"../utils/documentation-url-resolver\";\n\nconst ENTITY_INDEX_SIZE_MIN = 10000;\n\nexport const getFileName = function(path) {\n let lastIdx = path.lastIndexOf('/');\n if (lastIdx === -1) {\n lastIdx = path.lastIndexOf('\\\\');\n }\n let name = path;\n if (lastIdx !== -1) {\n name = name.substring(lastIdx + 1);\n }\n return name;\n};\n\nconst parseNumberParamsIfNeeded = function(params) {\n if (!params) {\n return;\n }\n\n Object.keys(params).forEach((key) => {\n const param = params[key];\n if (param && typeof param.value === 'string') {\n const possibleNumber = parseFloat(params[key].value);\n if (!isNaN(possibleNumber) && numberParamToErrorKey[key]) {\n params[key].value = Number.isInteger(possibleNumber) ? parseInt(param.value, 10) : possibleNumber;\n // internal prop to indicate number value and save extra checks\n param.isNumber = true;\n }\n }\n });\n};\n\nconst parseMemberParamIfNeeded = function(param) {\n if (param && param.member) {\n param.member.value = [];\n }\n};\n\nconst getShaclOptionsClass = function() {\n const optionsModule = document.getElementById('shaclOptions');\n\n if (optionsModule) {\n const isAriaExpanded = optionsModule.getAttribute('aria-expanded');\n if (isAriaExpanded && isAriaExpanded === 'true') {\n return 'ri-arrow-down-s-line';\n }\n }\n return 'ri-arrow-right-s-line';\n};\n\nconst numberParamToErrorKey = {\n queryLimitResults: 'invalid.query.limit',\n queryTimeout: 'invalid.query.timeout',\n validationResultsLimitTotal: 'invalid.validation.results.limit.total',\n validationResultsLimitPerConstraint: 'invalid.validation.results.limit.per.constraint',\n joinWorkerThreads: 'invalid.join.worker.threads',\n leftJoinWorkerThreads: 'invalid.left.join.worker.threads',\n unionWorkerThreads: 'invalid.union.worker.threads',\n boundJoinBlockSize: 'invalid.bound.join.block.size',\n entityIndexSize: 'invalid.entity.index.size',\n};\n\nconst getNumberFormatError = function(params, $translate) {\n if (!params) {\n return '';\n }\n\n const errorEntry = Object.keys(params).find((key) => {\n const param = params[key];\n return param.isNumber && !NUMBER_PATTERN.test(param.value);\n });\n\n return errorEntry && numberParamToErrorKey[errorEntry]\n ? $translate.instant(numberParamToErrorKey[errorEntry])\n : '';\n};\n\nconst getDocBase = function(productInfo) {\n return `https://graphdb.ontotext.com/documentation/${productInfo.shortVersion}`;\n};\nconst filterLocations = function(result) {\n return result.filter((location) => location.isGraphDBLocation() && !location.errorMsg && !location.degradedReason);\n};\n\n/**\n * Gets the remote locations that are error free, without degraded reason and is not of type Ontopic\n * @param {*} $repositories the repositories service\n * @return {[] | Promise} returns the locations as array or a promise of the array\n */\nconst getFilteredLocations = function($repositories) {\n // Don't allow the user to create repository on location with error or degradeded reason\n return $repositories.getLocations().then((locations) => filterLocations(locations));\n};\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.utils.localstorageadapter',\n 'toastr',\n 'ngFileUpload',\n 'graphdb.framework.repositories.controllers.manage-remote-location-dialog',\n];\n\nangular.module('graphdb.framework.repositories.controllers', modules)\n .controller('LocationsAndRepositoriesCtrl', LocationsAndRepositoriesCtrl)\n .controller('AddLocationCtrl', AddLocationCtrl)\n .controller('EditLocationCtrl', EditLocationCtrl)\n .controller('ChooseRepositoryCtrl', ChooseRepositoryCtrl)\n .controller('AddRepositoryCtrl', AddRepositoryCtrl)\n .controller('EditRepositoryCtrl', EditRepositoryCtrl)\n .controller('EditRepositoryFileCtrl', EditRepositoryFileCtrl)\n .controller('UploadRepositoryConfigCtrl', UploadRepositoryConfigCtrl);\n\nLocationsAndRepositoriesCtrl.$inject = ['$scope', '$rootScope', '$uibModal', 'toastr', '$repositories', 'ModalService', 'LocationsRestService',\n 'LocalStorageAdapter', '$interval', '$translate', '$q'];\n\nfunction LocationsAndRepositoriesCtrl($scope, $rootScope, $uibModal, toastr, $repositories, ModalService, LocationsRestService, // NOSONAR\n LocalStorageAdapter, $interval, $translate, $q) {\n const guidesService = service(GuidesService);\n const authorizationService = service(AuthorizationService);\n $scope.RemoteLocationType = RemoteLocationType;\n $scope.loader = true;\n /**\n * @type {RemoteLocationModel[]}\n */\n $scope.locations = [];\n\n $scope.isLocationInactive = function(location) {\n return !location.active || !$scope.hasActiveLocation();\n };\n\n const getLocationsAbortRequestPromise = $q.defer();\n //Get locations\n function getLocations() {\n return $repositories.getLocations(getLocationsAbortRequestPromise)\n .then((locations) => {\n $scope.locations = locations;\n return locations;\n })\n .finally(() => $scope.loader = false);\n }\n\n $scope.getLocalLocation = (local, locationType) => {\n const remoteLocationModel = $scope.locations.filter((location) => {\n let locationTypeCheck = true;\n if (locationType) {\n locationTypeCheck = location.locationType === locationType;\n }\n return locationTypeCheck && location.local === local;\n });\n\n // Repository managers can access all locations.\n if ($scope.isRepoManager()) {\n return remoteLocationModel;\n }\n\n // Users without the repository manager role can access only locations where they have\n // repository-specific maintain permission for at least one repository.\n return remoteLocationModel.filter((location) => $scope.getRepositoriesFromLocation(location.uri)?.length > 0);\n };\n\n $scope.hasAnyRemoteLocation = (local, locationTypes) => {\n return locationTypes.some((locationType) => $scope.getLocalLocation(local, locationType).length > 0);\n };\n\n $scope.hasActiveLocation = function() {\n return $repositories.hasActiveLocation();\n };\n\n $scope.getActiveLocation = function() {\n return $repositories.getActiveLocation();\n };\n\n $scope.getLocationError = function() {\n return $repositories.getLocationError();\n };\n\n $scope.getDegradedReason = function() {\n return $repositories.getDegradedReason();\n };\n\n $scope.getRepositories = function() {\n return $repositories.getRepositories();\n };\n\n $scope.isRepoActive = function(repo) {\n return $repositories.isRepoActive(repo);\n };\n\n //Delete location\n $scope.deleteLocation = function(uri) {\n ModalService.openSimpleModal({\n title: $translate.instant('location.confirm.detach'),\n message: $translate.instant('location.confirm.detach.warning', {uri: uri}),\n warning: true,\n }).result\n .then(function() {\n $scope.loader = true;\n $repositories.deleteLocation(uri).finally(() => getLocations());\n });\n };\n\n //Add new location\n $scope.addLocationHttp = function(dataAddLocation) {\n $scope.loader = true;\n LocationsRestService.addLocation(dataAddLocation)\n .success(function() {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n $scope.addLocation = () => {\n $scope.openRemoteLocationDialog();\n };\n\n $scope.editLocation = (remoteLocation) => {\n if (remoteLocation.locationType === undefined) {\n // for backward compatibility. The old instances this property not exist so we assume it is GraphDB instance.\n remoteLocation.locationType = RemoteLocationType.GRAPH_DB;\n }\n $scope.openRemoteLocationDialog(remoteLocation);\n };\n\n /**\n * Opens the location dialog.\n * @param {RemoteLocationModel} remoteLocation (optional) If a location is passed, the dialog will open for editing; otherwise, it will open for registering a new one.\n */\n $scope.openRemoteLocationDialog = (remoteLocation) => {\n $uibModal.open({\n templateUrl: 'js/angular/repositories/templates/manage-remote-location-dialog.template.html',\n windowClass: 'addLocationDialog',\n controller: 'ManageRemoteLocationDialogController',\n resolve: {\n data: () => {\n return {\n remoteLocation,\n };\n },\n },\n }).result.then((dataAddLocation) => {\n if (remoteLocation) {\n $scope.editLocationHttp(dataAddLocation);\n } else {\n $scope.addLocationHttp(dataAddLocation);\n }\n });\n };\n\n //Edit location\n $scope.editLocationHttp = function(dataEditLocation) {\n $scope.loader = true;\n LocationsRestService.editLocation(dataEditLocation)\n .success(function() {\n //Reload locations and repositories\n $repositories.init();\n })\n .error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => getLocations());\n };\n\n //Change repository\n $scope.setRepository = function(repo) {\n $repositories.setRepository(repo);\n };\n\n //Delete repository\n $scope.deleteRepository = function(repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: decodeHTML($translate.instant('delete.repo.warning.msg', {repositoryId: repository.id})),\n warning: true,\n }).result\n .then(function() {\n $scope.loader = true;\n $repositories.deleteRepository(repository)\n .finally(() => {\n getLocations();\n $scope.loader = false;\n });\n removeCachedGraphsOnDelete(repository);\n });\n };\n\n $scope.restartRepository = function(repository) {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.restart.repo'),\n message: decodeHTML($translate.instant('confirm.restart.repo.warning.msg', {repositoryId: repository.id})),\n warning: true,\n }).result\n .then(function() {\n $scope.loader = true;\n $repositories.restartRepository(repository).finally(() => getLocations());\n });\n };\n\n $scope.toggleDefaultRepository = function(repositoryId) {\n if ($scope.getDefaultRepository() === repositoryId) {\n // unset\n $repositories.setDefaultRepository(null);\n } else {\n // set\n $repositories.setDefaultRepository(repositoryId);\n }\n };\n\n $scope.getDefaultRepository = function() {\n return $repositories.getDefaultRepository();\n };\n\n /* Unused, data urls don't behave well in all browsers, avoid them when possible\n $scope.getRepoTurtleConfig = function (repository) {\n function downloadRepoConfig(repoTurtleConfig, repository) {\n $('.download-turtle-config')\n .mouseup(function () {\n $(this)\n .attr('href', repoTurtleConfig)\n .attr('download', repository.id + '-config.ttl')\n });\n }\n\n $repositories.getRepositoryTurtleConfig(repository)\n .success(function (response) {\n var repoTurtleConfigDownload = 'data:application/octet-stream;charset=utf-8;base64,'\n + btoa(unescape(encodeURIComponent(response)));\n downloadRepoConfig(repoTurtleConfigDownload, repository);\n })\n .error(function () {\n toastr.error('Error getting repository configuration for '' + repository.id + ''');\n });\n };\n */\n\n $scope.getRepositoryDownloadLink = function(repository) {\n let url = `rest/repositories/${repository.id}${(repository.type === REPOSITORY_TYPES.ontop ? '/download-zip'\n : '/download-ttl')}?location=${repository.location}`;\n const token = service(AuthenticationStorageService).getAuthToken().getValue();\n if (token) {\n url = `${url}&authToken=${encodeURIComponent(token)}`;\n }\n return url;\n };\n\n ///Copy to clipboard popover options\n $scope.copyToClipboard = function(uri) {\n ModalService.openCopyToClipboardModal(uri);\n };\n\n $scope.fromFile = function() {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/upload-repository-config.html',\n controller: 'UploadRepositoryConfigCtrl',\n });\n modalInstance.result.then(function() {\n $repositories.init();\n });\n };\n\n //Delete repository\n $scope.openActiveLocationSettings = function() {\n $uibModal.open({\n templateUrl: 'js/angular/settings/modal/location-settings.html',\n controller: 'ActiveLocationSettingsCtrl',\n });\n };\n\n getLocations();\n const timer = $interval(function() {\n if (guidesService.isActive() && !$rootScope.guidePaused) {\n // Don't refresh list while a guide is active\n return;\n }\n\n // Update repositories state\n $repositories.initQuick();\n getLocations();\n }, 5000);\n\n $scope.$on('$destroy', function() {\n $interval.cancel(timer);\n // If there is a getLocations request in progress, abort it so the service can properly clear flags\n if (getLocationsAbortRequestPromise) {\n getLocationsAbortRequestPromise.resolve();\n }\n });\n\n function removeCachedGraphsOnDelete(repo) {\n const cashedDependenciesGraphPrefix = `dependencies-selectedGraph-${repo.id}`;\n const cashedClassHierarchyGraphPrefix = `classHierarchy-selectedGraph-${repo.id}`;\n angular.forEach(LocalStorageAdapter.keys(), function(key) {\n // remove everything but the hide prefixes setting, it should always persist\n if (key.startsWith(cashedClassHierarchyGraphPrefix) || key.startsWith(cashedDependenciesGraphPrefix)) {\n LocalStorageAdapter.remove(key);\n }\n });\n }\n\n /**\n * Returns the repositories available in the specified location that the current user is allowed to access.\n *\n * @param {string} locationId The identifier of the location.\n * @returns {Array<Repository>} The repositories visible to the current user in the specified location.\n */\n $scope.getRepositoriesFromLocation = function(locationId) {\n const repositoriesFromLocation = $repositories.getRepositoriesFromLocation(locationId) || [];\n\n if ($scope.isRepoManager()) {\n return repositoriesFromLocation;\n }\n\n return repositoriesFromLocation.filter((repo) => authorizationService.canReadRepo(repo) || authorizationService.canReadGqlRepo(repo));\n };\n\n $scope.isRepoManager = () => {\n return authorizationService.isRepoManager();\n };\n\n $scope.canMaintainRepo = (repo) => {\n return authorizationService.canMaintainRepo(repo);\n };\n}\n\nUploadRepositoryConfigCtrl.$inject = ['$scope', '$uibModalInstance', 'Upload', 'toastr', '$translate'];\n\nfunction UploadRepositoryConfigCtrl($scope, $uibModalInstance, Upload, toastr, $translate) {\n $scope.upload = function(files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n }\n };\n $scope.ok = function() {\n if ($scope.uploadFile) {\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories',\n method: 'POST',\n data: {config: $scope.uploadFile},\n })\n .success(function() {\n $scope.uploadFileLoader = false;\n $uibModalInstance.close();\n })\n .error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFileLoader = false;\n });\n }\n };\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nAddLocationCtrl.$inject = ['$scope', '$uibModalInstance', 'toastr', 'productInfo', '$translate'];\n\nfunction AddLocationCtrl($scope, $uibModalInstance, toastr, productInfo, $translate) {\n $scope.newLocation = {\n 'uri': '',\n 'authType': 'none',\n 'username': '',\n 'password': '',\n 'active': false,\n };\n $scope.docBase = getDocBase(productInfo);\n\n $scope.isValidLocation = function() {\n return ($scope.newLocation.uri.length < 6 ||\n $scope.newLocation.uri.indexOf('http:') === 0 || $scope.newLocation.uri.indexOf('https:') === 0)\n && $scope.newLocation.uri.indexOf('/repositories') <= -1;\n };\n\n $scope.ok = function() {\n if (!$scope.newLocation) {\n toastr.error($translate.instant('location.cannot.be.empty.error'));\n return;\n }\n $uibModalInstance.close($scope.newLocation);\n };\n\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nEditLocationCtrl.$inject = ['$scope', '$uibModalInstance', 'location', 'productInfo'];\n\nfunction EditLocationCtrl($scope, $uibModalInstance, location, productInfo) {\n $scope.editedLocation = _.cloneDeep(location);\n $scope.docBase = getDocBase(productInfo);\n\n $scope.ok = function() {\n $uibModalInstance.close($scope.editedLocation);\n };\n\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nChooseRepositoryCtrl.$inject = ['$scope', '$location'];\n\nfunction ChooseRepositoryCtrl($scope, $location) {\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.chooseRepositoryType = function(repoType) {\n $location.path(`${$location.path()}/${repoType}`);\n };\n}\n\nAddRepositoryCtrl.$inject = ['$rootScope', '$scope', 'toastr', '$repositories', '$location', '$timeout', 'Upload', '$routeParams',\n 'RepositoriesRestService', '$translate', 'productInfo'];\n\nfunction AddRepositoryCtrl($rootScope, $scope, toastr, $repositories, $location, $timeout, Upload, $routeParams, RepositoriesRestService, $translate, productInfo) {\n const broadcastService = service(BroadcastService);\n\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.params = $routeParams;\n $scope.repositoryType = $routeParams.repositoryType;\n $scope.enable = true;\n $scope.entityIndexSizeMin = ENTITY_INDEX_SIZE_MIN;\n $scope.documentationUrlForStorageEncryption = DocumentationUrlResolver.getDocumentationUrl(productInfo.shortVersion, 'creating-a-repository.html#using-workbench');\n $scope.encryptInput = {hovered: false};\n\n $scope.loader = true;\n $scope.pageTitle = $translate.instant('view.create.repo.title');\n $scope.repositoryInfo = {\n id: '',\n params: {},\n title: '',\n type: '',\n location: '',\n };\n\n getFilteredLocations($repositories)\n .then((locations) => {\n $scope.locations = locations;\n });\n\n $scope.changedLocation = function() {\n $scope.$broadcast('changedLocation');\n };\n\n function isValidEERepository(repositoryType) {\n return $scope.isEnterprise() && (repositoryType === REPOSITORY_TYPES.graphdbRepo);\n }\n\n function isValidSERepository(repositoryType) {\n return !$scope.isFreeEdition() && !$scope.isEnterprise() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidFRRepository(repositoryType) {\n return $scope.isFreeEdition() && repositoryType === REPOSITORY_TYPES.graphdbRepo;\n }\n\n function isValidOntopRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.ontop;\n }\n\n function isValidFedXRepository(repositoryType) {\n return repositoryType === REPOSITORY_TYPES.fedx;\n }\n\n function isRepositoryTypeValid(repositoryType) {\n return isValidEERepository(repositoryType) || isValidSERepository(repositoryType)\n || isValidFRRepository(repositoryType) || isValidOntopRepository(repositoryType)\n || isValidFedXRepository(repositoryType);\n }\n\n function setPageTitle(repositoryType) {\n switch (repositoryType) {\n case REPOSITORY_TYPES.graphdbRepo:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'GraphDB'});\n break;\n case REPOSITORY_TYPES.ontop:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'Ontop Virtual SPARQL'});\n break;\n case REPOSITORY_TYPES.fedx:\n $scope.pageTitle = $translate.instant('view.create.repo.title', {repoType: 'FedX Virtual SPARQL'});\n break;\n }\n }\n\n $scope.getConfig = function(repoType) {\n RepositoriesRestService.getRepositoryConfiguration(repoType).then(function(resp) {\n const data = resp.data;\n $scope.repositoryInfo.params = data.params;\n $scope.repositoryInfo.type = data.type;\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n parseMemberParamIfNeeded($scope.repositoryInfo.params);\n $scope.loader = false;\n // The clean way is the \"autofocus\" attribute and we use it but it doesn't seem to\n // work in all browsers because of the way dynamic content is handled so give it another\n // try here.\n $timeout(function() {\n // Focus the ID field\n angular.element(document).find('#id').focus();\n }, 50);\n }).catch(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n if ($scope.repositoryType && isRepositoryTypeValid($scope.repositoryType)) {\n $scope.repositoryInfo.type = $scope.repositoryType;\n $scope.getConfig($scope.repositoryType);\n setPageTitle($scope.repositoryType);\n } else {\n $location.path('/repository/create');\n }\n\n $scope.hasActiveLocation = function() {\n return $repositories.hasActiveLocation();\n };\n\n $scope.activeLocation = function() {\n return $repositories.getActiveLocation();\n };\n\n let isInvalidPieFile = false;\n $scope.uploadRuleset = function(files) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/ruleset/upload',\n data: {ruleset: $scope.uploadFile, location: $scope.repositoryInfo.location},\n }).progress(function(evt) {\n /*\t\t\t\t\t\tvar progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);*/\n }).success(function(data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n isInvalidPieFile = true;\n $scope.uploadFile = '';\n } else {\n isInvalidPieFile = false;\n const fileName = $scope.uploadFile.name;\n const newValue = {id: data.fileLocation, name: 'Custom: ' + fileName};\n if ($scope.rulesetPie) {\n // file was previously uploaded\n $scope.rulesets[0] = newValue;\n } else {\n // file uploaded for the first time\n $scope.rulesets.unshift(newValue);\n }\n $scope.rulesetPie = data.fileLocation;\n $scope.rulesetPieFile = fileName;\n $scope.repositoryInfo.params.ruleset.value = $scope.rulesetPie;\n }\n $scope.uploadFileLoader = false;\n }).error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n isInvalidPieFile = true;\n });\n }\n };\n\n $scope.noMembersError = function() {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.goBackToPreviousLocation = function() {\n const previous = $location.search().previous;\n if (previous) {\n $location.search('previous', null);\n const isAbsolute = typeof previous === 'string' && previous.charAt(0) === '/';\n const target = isAbsolute ? previous : '/' + previous;\n $location.url(target);\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.createRepoHttp = function() {\n $scope.loader = true;\n RepositoriesRestService.createRepository($scope.repositoryInfo)\n .then(function() {\n toastr.success($translate.instant('created.repo.success.msg', {repoId: $scope.repositoryInfo.id}));\n return $repositories.init();\n })\n .then(() => {\n $scope.goBackToPreviousLocation();\n broadcastService.sendMessage(new BroadcastMessage(MessageType.REPOSITORIES_UPDATED));\n })\n .catch(function(error) {\n const msg = getError(error.data);\n toastr.error(msg, $translate.instant('common.error'));\n })\n .finally(() => {\n $scope.loader = false;\n });\n };\n\n $scope.createRepo = function() {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n $scope.isInvalidEntityIndexSizeMin = $scope.repositoryInfo.params.entityIndexSize?.value < ENTITY_INDEX_SIZE_MIN;\n const numberFormatError = getNumberFormatError($scope.repositoryInfo.params, $translate);\n\n if (isInvalidPieFile) {\n toastr.error($translate.instant('invalid.ruleset.file.error'));\n } else if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (numberFormatError) {\n toastr.error(numberFormatError);\n } else if ($scope.isInvalidEntityIndexSizeMin) {\n toastr.error($translate.instant('repo.error.entityIndex.min'));\n } else {\n $scope.createRepoHttp();\n }\n };\n\n $scope.rulesetWarning = function() {\n const pp = $scope.repositoryInfo.params;\n if (pp === undefined || pp.ruleset === undefined || pp.disableSameAs === undefined) {\n return '';\n }\n\n if (pp.ruleset.value.indexOf('owl') === 0 && pp.disableSameAs.value === 'true') {\n return $translate.instant('repoTooltips.rulesetWarnings.needsSameAs');\n } else if (pp.ruleset.value.indexOf('rdfs') === 0 && pp.disableSameAs.value === 'false') {\n return $translate.instant('repoTooltips.rulesetWarnings.doesntNeedSameAs');\n } else if (pp.ruleset.value === $scope.rulesetPie) {\n return $translate.instant('repoTooltips.rulesetWarnings.customRuleset');\n } else {\n return '';\n }\n };\n\n $scope.getShaclOptionsClass = function() {\n return getShaclOptionsClass();\n };\n //TODO - check if repositoryID exist\n\n // Request auto-focus of the ID input when creating a repo (but not when editing)\n $scope.autofocusId = 'autofocus';\n\n const languageChangedSubscription = $rootScope.$on('$translateChangeSuccess', () => {\n setPageTitle($scope.repositoryType);\n });\n $scope.$on('$destroy', () => {\n languageChangedSubscription();\n });\n}\n\nEditRepositoryFileCtrl.$inject = ['$scope', '$uibModalInstance', 'RepositoriesRestService', 'file', 'toastr', '$translate', 'dialogTitle', 'repositoryReference'];\n\nfunction EditRepositoryFileCtrl($scope, $uibModalInstance, RepositoriesRestService, file, toastr, $translate, dialogTitle, repositoryReference) {\n $scope.dialogTitle = dialogTitle ? dialogTitle : $translate.instant('update.file.content.header');\n if (file) {\n RepositoriesRestService.getRepositoryFileContent(file, repositoryReference).success(function(data) {\n $scope.fileContent = data;\n }).error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n $scope.ok = function() {\n $uibModalInstance.close({\n content: $scope.fileContent,\n fileLocation: file,\n });\n };\n\n $scope.cancel = function() {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nEditRepositoryCtrl.$inject = ['$rootScope', '$scope', '$routeParams', 'toastr', '$repositories', '$location', 'ModalService', 'RepositoriesRestService',\n '$translate', 'MonitoringRestService'];\n\nfunction EditRepositoryCtrl($rootScope, $scope, $routeParams, toastr, $repositories, $location, ModalService, RepositoriesRestService, $translate, MonitoringRestService) {\n // =========================\n // Private variables\n // =========================\n\n const authorizationService = service(AuthorizationService);\n const broadcastService = service(BroadcastService);\n\n // =========================\n // Public variables\n // =========================\n\n $scope.rulesets = STATIC_RULESETS.slice();\n $scope.repositoryTypes = REPOSITORY_TYPES;\n $scope.entityIndexSizeMin = ENTITY_INDEX_SIZE_MIN;\n\n $scope.editRepoPage = true;\n $scope.canEditRepoId = false;\n // Renaming a repository is allowed only for administrators and repository managers. Users with a repository\n // specific maintain permission may change the repository configuration, but not its id.\n $scope.canRenameRepo = false;\n $scope.isRepoInCluster = true;\n $scope.params = $routeParams;\n $scope.loader = true;\n $scope.repositoryInfo = {};\n $scope.repositoryInfo.id = $scope.params.repositoryId;\n $scope.repositoryInfo.location = $scope.params.location;\n $scope.repositoryInfo.restartRequested = false;\n $scope.repositoryType = '';\n $scope.saveRepoId = $scope.params.repositoryId;\n $scope.pageTitle = $translate.instant('view.edit.repo.title', {repositoryId: $scope.params.repositoryId});\n $scope.hasActiveLocation = function() {\n return $repositories.hasActiveLocation();\n };\n\n // =========================\n // Private methods\n // =========================\n\n const loadRepositoryData = () => {\n return getFilteredLocations($repositories).then((locations) => {\n $scope.locations = locations;\n return RepositoriesRestService.getRepository($scope.repositoryInfo);\n });\n };\n\n const initView = (repositoryInfoResponse) => {\n const repositoryInfo = repositoryInfoResponse.data;\n $scope.canRenameRepo = authorizationService.isAdminOrRepoManager() && repositoryInfo.type === REPOSITORY_TYPES.graphdbRepo;\n if (angular.isDefined(repositoryInfo.params.ruleset)) {\n let ifRulesetExists = false;\n angular.forEach($scope.rulesets, function(item) {\n if (item.id === repositoryInfo.params.ruleset.value) {\n ifRulesetExists = true;\n }\n });\n if (repositoryInfo.params.ruleset && !ifRulesetExists) {\n const name = getFileName(repositoryInfo.params.ruleset.value);\n $scope.rulesets.unshift({id: repositoryInfo.params.ruleset.value, name: 'Custom: ' + name});\n }\n }\n $scope.repositoryInfo = repositoryInfo;\n $scope.setRepositoryType(repositoryInfo.type);\n parseNumberParamsIfNeeded($scope.repositoryInfo.params);\n $scope.repositoryInfo.saveId = $scope.saveRepoId;\n $scope.loader = false;\n };\n\n // =========================\n // Public methods\n // =========================\n\n $scope.$watch($scope.hasActiveLocation, function() {\n if ($scope.hasActiveLocation) {\n // Should get locations before getting repository info\n let repositoryInfoResponse;\n loadRepositoryData().then((repositoryInfo) => {\n repositoryInfoResponse = repositoryInfo;\n return MonitoringRestService.monitorActiveOperations($scope.repositoryInfo.id);\n }).then((monitoringResponse) => {\n $scope.isRepoInCluster = monitoringResponse.hasClusterOperation();\n }).catch((error) => {\n if (!repositoryInfoResponse) {\n $scope.repositoryInfo = undefined;\n return Promise.reject(error);\n }\n // the monitoring request failed, but we can still continue\n return Promise.resolve();\n }).then(() => {\n initView(repositoryInfoResponse);\n }).catch((response) => {\n const data = response.data;\n const status = response.status;\n const repositoryId = $routeParams.repositoryId;\n let toastrMsg;\n\n if (status === 404 && repositoryId !== 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.repo.error.not.exists', {repositoryId}));\n } else if (status === 404 && repositoryId === 'system') {\n toastrMsg = decodeHTML($translate.instant('edit.system.repo.warning'));\n } else {\n toastrMsg = getError(data);\n }\n\n toastr.error(toastrMsg, $translate.instant('common.error'), {allowHtml: true});\n\n if (status === 404) {\n setTimeout(function() {\n $scope.loader = false;\n $location.path('repository');\n }, 1000);\n } else {\n $scope.loader = false;\n }\n });\n }\n });\n\n $scope.setRepositoryType = function(type) {\n $scope.repositoryType = type;\n };\n\n $scope.noMembersError = function() {\n toastr.error($translate.instant('fedx.create.repo.no.members.warning'));\n };\n\n $scope.editRepoHttp = function() {\n $scope.loader = true;\n RepositoriesRestService.editRepository($scope.repositoryInfo.saveId, $scope.repositoryInfo)\n .success(function() {\n toastr.success($translate.instant('edit.repo.success.msg', {saveId: $scope.repositoryInfo.saveId}));\n $repositories.init().finally(() => {\n $scope.goBackToPreviousLocation();\n broadcastService.sendMessage(new BroadcastMessage(MessageType.REPOSITORIES_UPDATED));\n });\n if ($scope.repositoryInfo.saveId === $scope.repositoryInfo.id && $scope.repositoryInfo.restartRequested) {\n $repositories.restartRepository($scope.repositoryInfo);\n }\n }).error(function(data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n\n $scope.editRepository = function() {\n $scope.isInvalidRepoName = !FILENAME_PATTERN.test($scope.repositoryInfo.id);\n $scope.isInvalidEntityIndexSizeMin = $scope.repositoryInfo.params.entityIndexSize?.value < ENTITY_INDEX_SIZE_MIN;\n const numberFormatError = getNumberFormatError($scope.repositoryInfo.params, $translate);\n let modalMsg = decodeHTML($translate.instant('edit.repo.save.changes.msg', {repoId: $scope.repositoryInfo.id}));\n if ($scope.repositoryInfo.saveId !== $scope.repositoryInfo.id) {\n modalMsg += decodeHTML($translate.instant('edit.repo.rename.changes.msg'));\n } else if ($scope.repositoryInfo.restartRequested) {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.requested.msg'));\n } else {\n modalMsg += decodeHTML($translate.instant('edit.repo.restart.needed.msg'));\n }\n if ($scope.isInvalidRepoName) {\n toastr.error($translate.instant('wrong.repo.name.error'));\n } else if ($scope.repositoryType === \"fedx\" && $scope.repositoryInfo.params.member.value.length === 0) {\n $scope.noMembersError();\n } else if (numberFormatError) {\n toastr.error(numberFormatError);\n } else if ($scope.isInvalidEntityIndexSizeMin) {\n toastr.error($translate.instant('repo.error.entityIndex.min'));\n } else if (!$scope.canRenameRepo && $scope.repositoryInfo.saveId !== $scope.repositoryInfo.id) {\n toastr.error($translate.instant('edit.repo.id.change.error', {repoType: $scope.repositoryInfo.type}));\n } else {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.save'),\n message: modalMsg,\n warning: true,\n }).result\n .then(function() {\n $scope.editRepoHttp();\n });\n }\n };\n\n $scope.editRepositoryId = function() {\n if (!$scope.canRenameRepo) {\n return;\n }\n const msg = decodeHTML($translate.instant('edit.repo.id.warning.msg'));\n\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.enable.edit'),\n message: msg,\n warning: true,\n }).result.then(function() {\n $scope.canEditRepoId = true;\n });\n };\n\n $scope.goBackToPreviousLocation = function() {\n if (angular.isDefined($routeParams.previous)) {\n delete $location.$$search.previous;\n $location.path('/');\n } else {\n $location.path('/repository');\n }\n };\n\n $scope.getShaclOptionsClass = function() {\n return getShaclOptionsClass();\n };\n\n // =================================\n // Subscriptions and event handlers\n // =================================\n\n const languageChangedSubscription = $rootScope.$on('$translateChangeSuccess', () => {\n $scope.pageTitle = $translate.instant('view.edit.repo.title', {repositoryId: $scope.params.repositoryId});\n });\n $scope.$on('$destroy', () => {\n languageChangedSubscription();\n });\n}\n","import {RemoteLocationAuthType, RemoteLocationModel, RemoteLocationType} from \"../../models/repository/remote-location.model\";\nimport 'angular/core/directives/validate-url.directive';\n\nconst modules = [\n 'graphdb.framework.core.directives.validate-url',\n];\n\nangular.module('graphdb.framework.repositories.controllers.manage-remote-location-dialog', modules)\n .controller('ManageRemoteLocationDialogController', ManageRemoteLocationDialogController);\n\nManageRemoteLocationDialogController.$inject = ['$scope', '$uibModalInstance', 'productInfo', 'data'];\n\n/**\n * Controller for managing the remote location dialog, which handles both creation and editing of remote locations.\n *\n * @param {Object} $scope\n * @param {Object} $uibModalInstance\n * @param {Object} productInfo\n * @param {Object} data - Data passed to the dialog:\n * - If `data.remoteLocation` is provided, the dialog is in edit mode\n * and the remote location object is initialized with the provided data.\n * - If `data.remoteLocation` is not provided, the dialog is in create mode\n * and a new `RemoteLocationModel` instance is initialized.\n *\n * @constructor\n */\nfunction ManageRemoteLocationDialogController($scope, $uibModalInstance, productInfo, data) {\n /**\n * @type {RemoteLocationModel}\n */\n $scope.remoteLocation = data.remoteLocation ? new RemoteLocationModel({...data.remoteLocation}) : new RemoteLocationModel();\n\n $scope.RemoteLocationType = RemoteLocationType;\n $scope.RemoteLocationAuthType = RemoteLocationAuthType;\n $scope.isEdit = !!data.remoteLocation;\n $scope.docBase = `https://graphdb.ontotext.com/documentation/${productInfo.shortVersion}`;\n\n $scope.ok = () => {\n if ($scope.remoteLocationForm.$pristine || $scope.remoteLocationForm.$invalid) {\n return;\n }\n $uibModalInstance.close($scope.remoteLocation);\n };\n\n $scope.cancel = () => {\n $uibModalInstance.dismiss('cancel');\n };\n\n $scope.onLocationTypeChanged = () => {\n if ([RemoteLocationType.ONTOPIC, RemoteLocationType.SPARQL].includes($scope.remoteLocation.locationType)) {\n $scope.remoteLocation.authType = RemoteLocationAuthType.BASIC;\n } else {\n $scope.remoteLocation.authType = RemoteLocationAuthType.NONE;\n }\n };\n}\n","export const STATIC_RULESETS = [\n {id: 'empty', name: 'No inference'},\n {id: 'rdfs-optimized', name: 'RDFS (Optimized)'},\n {id: 'rdfs', name: 'RDFS'},\n {id: 'rdfsplus-optimized', name: 'RDFS-Plus (Optimized)'},\n {id: 'owl-horst-optimized', name: 'OWL-Horst (Optimized)'},\n {id: 'owl-horst', name: 'OWL-Horst'},\n {id: 'owl2-ql-optimized', name: 'OWL2-QL (Optimized)'},\n {id: 'owl2-ql', name: 'OWL2-QL'},\n {id: 'owl-max-optimized', name: 'OWL-Max (Optimized)'},\n {id: 'owl-max', name: 'OWL-Max'},\n {id: 'owl2-rl-optimized', name: 'OWL2-RL (Optimized)'},\n {id: 'owl2-rl', name: 'OWL2-RL'},\n\n];\n\nexport const REPOSITORY_TYPES = {graphdbRepo: 'graphdb', free: 'free', eeWorker: 'worker', eeMaster: 'master', ontop: 'ontop', se: 'se', fedx: 'fedx'};\nexport const FILENAME_PATTERN = new RegExp('^[a-zA-Z0-9-_]+$');\nexport const NUMBER_PATTERN = new RegExp('^[0-9]+$');\n","const httpRegex = /^(h|ht|htt|http|https|http:|https:|http:\\/|https:\\/|http:\\/\\/|https:\\/\\/|https?:\\/\\/[\\S]*)$/i;\nconst ftpRegex = /^(f|ft|ftp|ftps|ftp:|ftps:|ftp:\\/|ftps:\\/|ftp:\\/\\/|ftps:\\/\\/[\\S]*)$/i;\n\n\n/**\n * Utilities for URL manipulation, validation, etc.\n */\nexport class UrlUtils {\n /**\n * Validates whether the given string is a valid URL or a partial URL that follows the rules.\n *\n * @param {string} url - The URL string to validate.\n * @return {boolean} True if the URL is valid or a valid partial URL, false otherwise.\n */\n static isValidUrl(url) {\n return httpRegex.test(url) || ftpRegex.test(url);\n }\n\n /**\n * Checks if the URL contains an excluded substring.\n *\n * @param {string} url - The URL string to check.\n * @param {string} exclude - The substring to exclude.\n * @return {boolean} True if the URL does not contain the substring, false if it does.\n */\n static doesNotContain(url, exclude) {\n return !new RegExp(exclude).test(url);\n }\n\n /**\n * Checks if the URL uses an excluded protocol.\n *\n * @param {string} url - The URL string to check.\n * @param {Array<string>} excludedProtocols - The protocols to exclude.\n * @return {boolean} True if the URL does not use the excluded protocols, false if it does.\n */\n static doesNotUseProtocol(url, excludedProtocols) {\n const protocolPattern = new RegExp('^(' + excludedProtocols.join('|') + ')://', 'i');\n return !protocolPattern.test(url);\n }\n}\n"],"names":["angular","module","directive","restrict","require","link","scope","element","attr","ctrl","$validators","validUrl","modelValue","viewValue","$isEmpty","allowEmpty","UrlUtils","isValidUrl","exclude","doesNotContain","excludeProtocol","excludedProtocols","split","doesNotUseProtocol","ENTITY_INDEX_SIZE_MIN","getFileName","path","lastIdx","lastIndexOf","name","substring","parseNumberParamsIfNeeded","params","Object","keys","forEach","key","param","value","possibleNumber","parseFloat","isNaN","numberParamToErrorKey","Number","isInteger","parseInt","isNumber","getShaclOptionsClass","optionsModule","document","getElementById","isAriaExpanded","getAttribute","queryLimitResults","queryTimeout","validationResultsLimitTotal","validationResultsLimitPerConstraint","joinWorkerThreads","leftJoinWorkerThreads","unionWorkerThreads","boundJoinBlockSize","entityIndexSize","getNumberFormatError","$translate","errorEntry","find","NUMBER_PATTERN","test","instant","getDocBase","productInfo","shortVersion","getFilteredLocations","$repositories","getLocations","then","locations","filter","location","isGraphDBLocation","errorMsg","degradedReason","LocationsAndRepositoriesCtrl","$scope","$rootScope","$uibModal","toastr","ModalService","LocationsRestService","LocalStorageAdapter","$interval","$q","guidesService","service","GuidesService","authorizationService","AuthorizationService","RemoteLocationType","loader","isLocationInactive","active","hasActiveLocation","getLocationsAbortRequestPromise","defer","finally","getLocalLocation","local","locationType","remoteLocationModel","locationTypeCheck","isRepoManager","getRepositoriesFromLocation","uri","length","hasAnyRemoteLocation","locationTypes","some","getActiveLocation","getLocationError","getDegradedReason","getRepositories","isRepoActive","repo","deleteLocation","openSimpleModal","title","message","warning","result","addLocationHttp","dataAddLocation","addLocation","success","init","error","data","msg","getError","openRemoteLocationDialog","editLocation","remoteLocation","undefined","GRAPH_DB","open","templateUrl","windowClass","controller","resolve","editLocationHttp","dataEditLocation","setRepository","deleteRepository","repository","decodeHTML","repositoryId","id","cashedDependenciesGraphPrefix","cashedClassHierarchyGraphPrefix","startsWith","remove","removeCachedGraphsOnDelete","restartRepository","toggleDefaultRepository","getDefaultRepository","setDefaultRepository","getRepositoryDownloadLink","url","type","REPOSITORY_TYPES","ontop","token","AuthenticationStorageService","getAuthToken","getValue","encodeURIComponent","copyToClipboard","openCopyToClipboardModal","fromFile","openActiveLocationSettings","timer","isActive","guidePaused","initQuick","$on","cancel","locationId","repositoriesFromLocation","canReadRepo","canReadGqlRepo","canMaintainRepo","UploadRepositoryConfigCtrl","$uibModalInstance","Upload","upload","files","uploadFile","ok","uploadFileLoader","method","config","close","dismiss","AddLocationCtrl","newLocation","docBase","isValidLocation","indexOf","EditLocationCtrl","editedLocation","_","cloneDeep","ChooseRepositoryCtrl","$location","repositoryTypes","chooseRepositoryType","repoType","AddRepositoryCtrl","$timeout","$routeParams","RepositoriesRestService","broadcastService","BroadcastService","setPageTitle","repositoryType","graphdbRepo","pageTitle","fedx","rulesets","STATIC_RULESETS","slice","enable","entityIndexSizeMin","documentationUrlForStorageEncryption","DocumentationUrlResolver","getDocumentationUrl","encryptInput","hovered","repositoryInfo","changedLocation","$broadcast","getConfig","getRepositoryConfiguration","resp","member","focus","catch","isEnterprise","isValidEERepository","isFreeEdition","isValidSERepository","isValidFRRepository","isValidOntopRepository","isValidFedXRepository","activeLocation","isInvalidPieFile","uploadRuleset","ruleset","progress","evt","fileName","newValue","fileLocation","rulesetPie","unshift","rulesetPieFile","errorMessage","noMembersError","goBackToPreviousLocation","previous","search","target","charAt","createRepoHttp","createRepository","repoId","sendMessage","BroadcastMessage","MessageType","REPOSITORIES_UPDATED","createRepo","isInvalidRepoName","FILENAME_PATTERN","isInvalidEntityIndexSizeMin","numberFormatError","rulesetWarning","pp","disableSameAs","autofocusId","languageChangedSubscription","EditRepositoryFileCtrl","file","dialogTitle","repositoryReference","getRepositoryFileContent","fileContent","content","EditRepositoryCtrl","MonitoringRestService","editRepoPage","canEditRepoId","canRenameRepo","isRepoInCluster","restartRequested","saveRepoId","$watch","repositoryInfoResponse","getRepository","monitorActiveOperations","monitoringResponse","hasClusterOperation","Promise","reject","isAdminOrRepoManager","isDefined","ifRulesetExists","item","setRepositoryType","saveId","initView","response","status","toastrMsg","allowHtml","setTimeout","editRepoHttp","editRepository","modalMsg","editRepositoryId","$$search","$inject","ManageRemoteLocationDialogController","RemoteLocationModel","RemoteLocationAuthType","isEdit","remoteLocationForm","$pristine","$invalid","onLocationTypeChanged","ONTOPIC","SPARQL","includes","authType","BASIC","NONE","free","eeWorker","eeMaster","se","RegExp","httpRegex","ftpRegex","join"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_esm_id__=64700;export const __webpack_esm_ids__=[64700];export const __webpack_esm_modules__={64700(){PluginRegistry.add("route",[{url:"/ttyg",templateUrl:"js/angular/ttyg/templates/ttyg.html",module:"graphdb.framework.ttyg",path:"ttyg/app",controller:"TTYGViewCtrl",title:"menu.ttyg.label",helpInfo:"ttyg.helpInfo",documentationUrl:"talk-to-graph.html",allowAuthorities:["READ_REPO_{repoId}"]}]),PluginRegistry.add("main.menu",{items:[{label:"Talk to Your Graph",labelKey:"menu.ttyg.label",href:"ttyg",order:
|
|
2
|
-
//# sourceMappingURL=64700.
|
|
1
|
+
export const __webpack_esm_id__=64700;export const __webpack_esm_ids__=[64700];export const __webpack_esm_modules__={64700(){PluginRegistry.add("route",[{url:"/ttyg",templateUrl:"js/angular/ttyg/templates/ttyg.html",module:"graphdb.framework.ttyg",path:"ttyg/app",controller:"TTYGViewCtrl",title:"menu.ttyg.label",helpInfo:"ttyg.helpInfo",documentationUrl:"talk-to-graph.html",allowAuthorities:["READ_REPO_{repoId}"]}]),PluginRegistry.add("main.menu",{items:[{label:"Talk to Your Graph",labelKey:"menu.ttyg.label",href:"ttyg",order:2,role:"ROLE_USER",icon:"ri-robot-2-line",guideSelector:"menu-ttyg",testSelector:"menu-ttyg"}]})}};
|
|
2
|
+
//# sourceMappingURL=64700.847995c53301ff65bccd.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"64700.847995c53301ff65bccd.bundle.js","mappings":"6HAAAA,eAAeC,IAAI,QAAS,CACxB,CACI,IAAO,QACP,YAAe,sCACf,OAAU,yBACV,KAAQ,WACR,WAAc,eACd,MAAS,kBACT,SAAY,gBACZ,iBAAoB,qBACpB,iBAAoB,CAAC,yBAI7BD,eAAeC,IAAI,YAAa,CAC5B,MAAS,CACL,CACIC,MAAO,qBACPC,SAAU,kBACVC,KAAM,OACNC,MAAO,EACPC,KAAM,YACNC,KAAM,kBACNC,cAAe,YACfC,aAAc,e","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/plugin.js"],"sourcesContent":["PluginRegistry.add('route', [\n {\n 'url': '/ttyg',\n 'templateUrl': 'js/angular/ttyg/templates/ttyg.html',\n 'module': 'graphdb.framework.ttyg',\n 'path': 'ttyg/app',\n 'controller': 'TTYGViewCtrl',\n 'title': 'menu.ttyg.label',\n 'helpInfo': 'ttyg.helpInfo',\n 'documentationUrl': 'talk-to-graph.html',\n 'allowAuthorities': ['READ_REPO_{repoId}'],\n },\n]);\n\nPluginRegistry.add('main.menu', {\n 'items': [\n {\n label: 'Talk to Your Graph',\n labelKey: 'menu.ttyg.label',\n href: 'ttyg',\n order: 2,\n role: 'ROLE_USER',\n icon: 'ri-robot-2-line',\n guideSelector: 'menu-ttyg',\n testSelector: 'menu-ttyg',\n }],\n});\n"],"names":["PluginRegistry","add","label","labelKey","href","order","role","icon","guideSelector","testSelector"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_esm_id__=64709;export const __webpack_esm_ids__=[64709];export const __webpack_esm_modules__={64709(){function t(){return{link:function(t,e,o){t.$watch("file.status",function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+o.size+'" height="'+o.size+'" data="js/angular/templates/loader/ot-loader.svg?v=4.0.0-
|
|
2
|
-
//# sourceMappingURL=64709.
|
|
1
|
+
export const __webpack_esm_id__=64709;export const __webpack_esm_ids__=[64709];export const __webpack_esm_modules__={64709(){function t(){return{link:function(t,e,o){t.$watch("file.status",function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+o.size+'" height="'+o.size+'" data="js/angular/templates/loader/ot-loader.svg?v=4.0.0-TR3">{{\'common.loading\' | translate}}</object>')})}}}angular.module("graphdb.framework.import.directives.import-progress-indicator",[]).directive("ImportProgressIndicator",t),t.$inject=[]}};
|
|
2
|
+
//# sourceMappingURL=64709.d0144177c2b8d83b494f.bundle.js.map
|
package/dist/{64709.dfde8159d07e957a12b0.bundle.js.map → 64709.d0144177c2b8d83b494f.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"64709.
|
|
1
|
+
{"version":3,"file":"64709.d0144177c2b8d83b494f.bundle.js","mappings":"6HASA,SAASA,IACL,MAAO,CACHC,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMG,OAAO,cAAe,WACE,cAAtBH,EAAMI,KAAKC,QAAgD,cAAtBL,EAAMI,KAAKC,SAC3CC,EAAEL,GAASM,IAAI,UAAUC,OAAS,GACnCF,EAAEL,GAASQ,OAAO,kBAAoBP,EAAKQ,KAAO,aAAeR,EAAKQ,KAAO,6GAGzF,EACJ,EAER,CAnBAC,QACKC,OAAO,gEAHI,IAIXC,UAAU,0BAA2Bf,GAE1CA,EAAwBgB,QAAU,E","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-progress-indicator.directive.js"],"sourcesContent":["const modules = [];\n\nangular\n .module('graphdb.framework.import.directives.import-progress-indicator', modules)\n .directive('ImportProgressIndicator', ImportProgressIndicator);\n\nImportProgressIndicator.$inject = [];\n\n// importDirectives.directive('filesOntoLoader',\nfunction ImportProgressIndicator() {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=4.0.0-TR3\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n}\n"],"names":["ImportProgressIndicator","link","scope","element","attr","$watch","file","status","$","has","length","append","size","angular","module","directive","$inject"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_esm_id__=65677;export const __webpack_esm_ids__=[65677];export const __webpack_esm_modules__={65677(t,e,r){var a=r(66886),n=r(9508),o=(r(38473),r(44482));function s(t,e,r,s,c,i,l,d,p,u,f,g,h){return{restrict:"AE",template:'<div id="domain-range"></div>',scope:{showPredicatesInfoPanel:"=",selectedPredicate:"=",collapseEdges:"="},link:function(u){const f=d(function(){!function(u){var f=1200,y=f/18,x=f/110,m=x/2,v=f/90,b=1.2,k=o.select("#domain-range").append("svg").attr("viewBox","0 0 1200 600").attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null),w=o.forceSimulation(),E=o.drag().subject(function(t){return t}).on("start",function(t,e){w.stop(),e.fx=t.x,e.fy=t.y,o.select(this).classed("selected",!0)}).on("end",function(t,e){e.fx=null,e.fy=null,o.select(this).classed("selected",!1),C?(w.alpha(.2).restart(),C=!1):w.restart()}).on("drag",function(t,e){C=!0,w.alphaTarget(0).restart(),e.fx=t.x,e.fy=t.y}),N=k.append("defs");N.append("marker").attrs({id:"arrow",viewBox:"0 -5 10 10",refX:10,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"collapsed-arrow",viewBox:"0 -5 10 10",refX:9,refY:0,markerUnits:"strokeWidth",markerWidth:4,markerHeight:4,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"arrow-loop",viewBox:"0 -5 10 10",refX:7,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),o.select("#download-svg").on("mouseover",function(){var t=a.A.Export.getCSSRules("css/domain-range-graph.css?v=4.0.0-TR2");$("defs").append('<style type="text/css"><![CDATA['+t+"]]></style>");var e=a.A.Export.generateBase64ImageSource("#domain-range svg");o.select(this).attrs({href:e,download:"domain-range-graph-"+r.getActiveRepository()+".svg"})}),function(){var t=f/7,e=205.7142857142857,r=o.select(".legend-container").append("svg").attr("viewBox","0 0 "+t+" "+e).attr("preserveAspectRatio","xMidYMid meet");r.append("rect").attrs({width:t,height:e}).style("fill","rgba(235, 235, 235, 0.9)");var a=16,n=42.66666666666667,s=n+f/90,i=v/1.1,l=(r.append("circle").attrs({class:"legend-class-node",cx:29.333333333333336,cy:30,r:y/4.5}),30+f/370);r.append("text").attrs({x:s,y:l}).style("font-size",i+"px").text("main class node"),r.append("circle").attrs({class:"legend-object-node",cx:29.333333333333336,cy:70,r:8.727272727272727});var d=l+40;r.append("text").attrs({x:s,y:d}).style("font-size",i+"px").text("class node");var p=70+f/45;r.append("circle").attrs({class:"legend-datatype-node",cx:29.333333333333336,cy:p,r:m});var u=d+f/45;r.append("text").attrs({x:s,y:u}).style("font-size",i+"px").text("datatype node");var g=123.33333333333334;r.append("line").attrs({class:"property-arrow",x1:a,y1:g,x2:n,y2:g}).style("stroke-width",b).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:126.57657657657658}).style("font-size",i+"px").text("explicit property");var h=150;r.append("line").attrs({class:"implicit-property-arrow",x1:a,y1:h,x2:n,y2:h}).style("stroke-width",b).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:153.24324324324326}).style("font-size",i+"px").text("implicit property");var x=176.66666666666666;r.append("line").attrs({class:"collapsed-property-arrow",x1:a,y1:x,x2:n,y2:x}).style("stroke-width",2).attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)"),r.append("text").attrs({x:s,y:179.9099099099099}).style("font-size",i+"px").text("collapsed property")}();var R=c.search().uri,A=c.search().name;const L=c.search().collapsed;(function(t,e){s.getDomainRangeData(t,e).success(function(t,e,r){u.domainRangeGraphData=t}).error(function(t){p.error("Request for "+A+" failed!")})})(R,L),$(window).on("popstate",function(){i.set(l.DOMAIN_RANGE_WENT_BACK,!0)}),e.onpopstate=function(e){e.state&&t.$broadcast("changeCollapsedEdgesState",e.state.collapsed)},u.$watch("collapseEdges",function(){angular.isUndefined(u.collapseEdges)||(i.set(l.DOMAIN_RANGE_COLLAPSE_EDGES,u.collapseEdges),"true"!==i.get(l.DOMAIN_RANGE_WENT_BACK)&&function(e){t.$broadcast("switchEdgeMode",{uri:R,name:A,collapsed:e})}(u.collapseEdges),i.remove(l.DOMAIN_RANGE_WENT_BACK))}),u.$watch("domainRangeGraphData",function(){if(u.domainRangeGraphData){var r=_.cloneDeep(u.domainRangeGraphData);const S=r.nodes,I=r.links;w.nodes(S).force("x",o.forceX(600)).force("y",o.forceY(300)).force("charge",o.forceManyBody().strength(-800)).force("link",o.forceLink(I).distance(f/3.5));var a=k.selectAll(".link").data(I).enter().append("g");function B(t){t.style("stroke",g),t.style("stroke-width",2),t.attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)")}var s,i,l=0;a.each(function(t){if(t.objectPropNodeClassUri!==R)s=a.append("line").attrs({class:"link","marker-end":"url("+c.absUrl()+"#arrow)"}).style("stroke-width",b).each(function(t){switch(t.propertyType){case"objectLeft":t.targetRadius=y;break;case"objectRight":t.targetRadius=x;break;case"datatype":t.targetRadius=m;break;default:t.targetRadius=0}var e=o.select(this);t.targetNodeEdgeCount>1?B(e):t.implicit&&e.style("stroke-dasharray","3, 3")});else{if(angular.isUndefined(i)){var e=y/2;i=o.select(this).append("path").attrs({d:"M 0 0 A "+e+" "+e+" 0 1 1 0 "+e,class:"loop-link",fill:"none","marker-end":"url("+c.absUrl()+"#arrow-loop)"}).style("stroke-width",b)}(l+=t.targetNodeEdgeCount)>1&&B(o.select(".loop-link"))}});var p={};function G(){$.isEmptyObject(p)||(p.text.style("fill","black"),p.background.style("fill","#f0f0f0"))}function W(t,e){G(),p.text=o.select(this),p.background=o.select(this.previousSibling),p.text.style("fill","white"),p.background.style("fill",g),d(function(){u.showPredicatesInfoPanel=!0,u.selectedPredicate=e}),t.stopPropagation()}$("document").ready(function(){$("#domain-range").bind("click",G)});var N=a.append("text").attr("class",function(t){return t.objectPropNodeClassUri===R?"loop-link-property-name":"property-name"}).attr("dx",function(t){return y/2*("objectLeft"===t.propertyType?1:-1)}).style("text-anchor",function(t){return"objectLeft"===t.propertyType?"end":"start"}).style("font-size",v).text(function(t){return t.targetNodeEdgeCount>1?t.targetNodeEdgeCount+" predicates":t.name});N.each(function(t){var r=o.select(this);/\d\spredicates/.test(r.text())?r.style("font-weight","bold").on("click",W):r.on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.uri),"_blank")})});var L=a.append("rect").attr("class",function(t){return t.objectPropNodeClassUri!==R?"link-background":"loop-link-background"}).attr("width",function(t){return t.calculatedWidth=this.previousSibling.getBBox().width,t.calculatedWidth+4}).attr("height",function(t){return t.calculatedHeight=this.previousSibling.getBBox().height,t.calculatedHeight+2}).attr("transform",function(t){var e=2-y/2*("objectLeft"===t.propertyType?1:-1);return"objectLeft"===t.propertyType&&(e+=t.calculatedWidth),"translate(-"+e+",-"+(2+t.calculatedHeight/2)+")"}).on("click",function(t){t.stopPropagation()}),C=k.selectAll(".node").data(S).enter().append("g"),P=C.filter(function(t){return t.objectPropClassUri!==R}).append("circle").each(function(t){var e=o.select(this);"main"===t.classPosition?e.attrs({class:"class-node",r:y}).attr("marker-end","url("+c.absUrl()+"#loop-link)"):null===t.objectPropClassName?e.attrs({class:"datatype-node",r:m}):e.attrs({class:"object-prop-node",r:x})}).call(E);function z(e,r,a){u.$apply(function(){t.$broadcast("reloadDomainRangeGraphView",r,a)})}o.selectAll(".object-prop-node").on("dblclick",z),C.filter(function(t){return t.objectPropClassName&&t.objectPropClassUri!==R}).append("text").attr("class",function(t){return t.classPosition+"-class-label"}).style("font-size",v).text(function(t){return t.objectPropClassName}).on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.objectPropClassUri),"_blank")});var U=C.select("text");k.select(".class-node").each(function(){o.select(this.parentNode).append("text").attr("class","rdf-class-label").style("font-size",function(t){return n.A.Text.calcFontSize(A,y)}).text(A).on("click",function(){e.open("resource?uri="+encodeURIComponent(R),"_blank")})});var j=k.select(".class-node + text"),T=o.select(".class-node"),M=o.selectAll(".loop-link-background"),O=o.selectAll(".loop-link-property-name");if(N=o.selectAll(".property-name"),!angular.isUndefined(i)){var D=[];M.each(function(t,e){o.select(this),D.push({idx:e,width:t.calculatedWidth,height:t.calculatedHeight})})}function F(t){var e=8*w.alpha();function r(t){var e=t.x+2*y,r=t.y-35.08771929824562;var a=[];M.each(function(n,s){a.push(n),s<h?function(a,n){var o=$.grep(D,function(t){return t.idx==n});n>0&&(e+=parseFloat(n*(o[0].height/(n/1.4)))),a.attrs({transform:"rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")",width:o[0].height,height:o[0].width})}(o.select(this),s):o.select(this).remove()}),function(t){var e;o.select(".view-more-preds-label").style("font-weight","bold").each(function(r){r.target.allEdges=t,e=this.getComputedTextLength()}).on("click",W),o.select(".view-more-preds-rect").attr("height",e+4)}(a)}s.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x1",function(t){return t.source.x}).attr("y1",function(t){return t.source.y}).attr("x2",function(t){return t.targetX}).attr("y2",function(t){return t.targetY}).each(function(t){!function(t){"objectLeft"===t.propertyType?(t.source.x-=8*e,t.source.y-=e/9):(t.target.x+=8*e,t.target.y-=e/9)}(t);var r=Math.atan2(t.target.y-t.source.y,t.target.x-t.source.x);t.targetX=t.target.x-Math.cos(r)*t.targetRadius,t.targetY=t.target.y-Math.sin(r)*t.targetRadius}),P.each(function(t){"main"!==t.classPosition||angular.isUndefined(i)||(function(t){var e=t.x+64,r=t.y-y/5.7-5;i.attr("transform","rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")")}(t),function(t){function e(e,r){var a=$.grep(D,function(t){return t.idx==r}),n=0;r>0&&(n=parseFloat(2*r*(a[0].height/1.4)));var o=t.x,s=t.y-2.1*y-n;e.attrs({x:o,y:s}).moveToFront()}O.each(function(t,r){var a=o.select(this),n=O.size()-h;n<0?e(a,r):(0==r&&!u.collapseEdges&&n>1&&(function(t,e,r){t.classed("view-more-preds-label",!0).text(r+" predicates more ..."),null!==this.nextSibling&&e.classed("view-more-preds-rect",!0)}(a,o.select(this.nextSibling),n),e(a,r)),r<h?e(a,r):a.remove())})}(t),r(t)),t.objectPropClassUri!==R&&o.select(this).attr("cx",function(t){return"main"===t.classPosition?function(t){!window.ActiveXObject&&"ActiveXObject"in window&&(Math.log10=function(t){return Math.log(t)/Math.LN10});var e=T.attr("cx")-600,r=.5*Math.log10(Math.abs(e));return t.x+=e>0?-r:r,t.x}(t):t.x}).attr("cy",function(t){return t.y})}),j.attr("x",function(t){return t.x}).attr("y",function(t){return t.y}).moveToFront(),L.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),N.attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),U.attr("x",function(t){return"right"===t.classPosition?t.x+13.09090909090909:t.x-13.09090909090909}).attr("y",function(t){return t.y}).moveToFront()}w.on("tick",F)}});let C=!1}(u)},50);u.$on("$destroy",function(){d.cancel(f)})}}}angular.module("graphdb.framework.graphexplore.directives.domainrange",["graphdb.framework.graphexplore.controllers.domainrange","graphdb.framework.utils.localstorageadapter"]).constant("ONTO_RED","var(--gw-primary-base)").constant("ONTO_GREEN","var(--gw-tertiary-base)").constant("ONTO_BLUE","var(--gw-secondary-base)").constant("NON_COLLAPSED_REFLEXIVE_LINK_LIMIT",6).directive("domainRangeGraph",s),s.$inject=["$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT"]}};
|
|
2
|
-
//# sourceMappingURL=65677.
|
|
1
|
+
export const __webpack_esm_id__=65677;export const __webpack_esm_ids__=[65677];export const __webpack_esm_modules__={65677(t,e,r){var a=r(66886),n=r(9508),o=(r(38473),r(44482));function s(t,e,r,s,c,i,l,d,p,u,f,g,h){return{restrict:"AE",template:'<div id="domain-range"></div>',scope:{showPredicatesInfoPanel:"=",selectedPredicate:"=",collapseEdges:"="},link:function(u){const f=d(function(){!function(u){var f=1200,y=f/18,x=f/110,m=x/2,v=f/90,b=1.2,k=o.select("#domain-range").append("svg").attr("viewBox","0 0 1200 600").attr("preserveAspectRatio","xMidYMid meet").on("dblclick.zoom",null),w=o.forceSimulation(),E=o.drag().subject(function(t){return t}).on("start",function(t,e){w.stop(),e.fx=t.x,e.fy=t.y,o.select(this).classed("selected",!0)}).on("end",function(t,e){e.fx=null,e.fy=null,o.select(this).classed("selected",!1),C?(w.alpha(.2).restart(),C=!1):w.restart()}).on("drag",function(t,e){C=!0,w.alphaTarget(0).restart(),e.fx=t.x,e.fy=t.y}),N=k.append("defs");N.append("marker").attrs({id:"arrow",viewBox:"0 -5 10 10",refX:10,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"collapsed-arrow",viewBox:"0 -5 10 10",refX:9,refY:0,markerUnits:"strokeWidth",markerWidth:4,markerHeight:4,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),N.append("marker").attrs({id:"arrow-loop",viewBox:"0 -5 10 10",refX:7,refY:0,markerUnits:"strokeWidth",markerWidth:5,markerHeight:5,orient:"auto",fill:g}).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"}),o.select("#download-svg").on("mouseover",function(){var t=a.A.Export.getCSSRules("css/domain-range-graph.css?v=4.0.0-TR3");$("defs").append('<style type="text/css"><![CDATA['+t+"]]></style>");var e=a.A.Export.generateBase64ImageSource("#domain-range svg");o.select(this).attrs({href:e,download:"domain-range-graph-"+r.getActiveRepository()+".svg"})}),function(){var t=f/7,e=205.7142857142857,r=o.select(".legend-container").append("svg").attr("viewBox","0 0 "+t+" "+e).attr("preserveAspectRatio","xMidYMid meet");r.append("rect").attrs({width:t,height:e}).style("fill","rgba(235, 235, 235, 0.9)");var a=16,n=42.66666666666667,s=n+f/90,i=v/1.1,l=(r.append("circle").attrs({class:"legend-class-node",cx:29.333333333333336,cy:30,r:y/4.5}),30+f/370);r.append("text").attrs({x:s,y:l}).style("font-size",i+"px").text("main class node"),r.append("circle").attrs({class:"legend-object-node",cx:29.333333333333336,cy:70,r:8.727272727272727});var d=l+40;r.append("text").attrs({x:s,y:d}).style("font-size",i+"px").text("class node");var p=70+f/45;r.append("circle").attrs({class:"legend-datatype-node",cx:29.333333333333336,cy:p,r:m});var u=d+f/45;r.append("text").attrs({x:s,y:u}).style("font-size",i+"px").text("datatype node");var g=123.33333333333334;r.append("line").attrs({class:"property-arrow",x1:a,y1:g,x2:n,y2:g}).style("stroke-width",b).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:126.57657657657658}).style("font-size",i+"px").text("explicit property");var h=150;r.append("line").attrs({class:"implicit-property-arrow",x1:a,y1:h,x2:n,y2:h}).style("stroke-width",b).attr("marker-end","url("+c.absUrl()+"#arrow)"),r.append("text").attrs({x:s,y:153.24324324324326}).style("font-size",i+"px").text("implicit property");var x=176.66666666666666;r.append("line").attrs({class:"collapsed-property-arrow",x1:a,y1:x,x2:n,y2:x}).style("stroke-width",2).attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)"),r.append("text").attrs({x:s,y:179.9099099099099}).style("font-size",i+"px").text("collapsed property")}();var R=c.search().uri,A=c.search().name;const L=c.search().collapsed;(function(t,e){s.getDomainRangeData(t,e).success(function(t,e,r){u.domainRangeGraphData=t}).error(function(t){p.error("Request for "+A+" failed!")})})(R,L),$(window).on("popstate",function(){i.set(l.DOMAIN_RANGE_WENT_BACK,!0)}),e.onpopstate=function(e){e.state&&t.$broadcast("changeCollapsedEdgesState",e.state.collapsed)},u.$watch("collapseEdges",function(){angular.isUndefined(u.collapseEdges)||(i.set(l.DOMAIN_RANGE_COLLAPSE_EDGES,u.collapseEdges),"true"!==i.get(l.DOMAIN_RANGE_WENT_BACK)&&function(e){t.$broadcast("switchEdgeMode",{uri:R,name:A,collapsed:e})}(u.collapseEdges),i.remove(l.DOMAIN_RANGE_WENT_BACK))}),u.$watch("domainRangeGraphData",function(){if(u.domainRangeGraphData){var r=_.cloneDeep(u.domainRangeGraphData);const S=r.nodes,I=r.links;w.nodes(S).force("x",o.forceX(600)).force("y",o.forceY(300)).force("charge",o.forceManyBody().strength(-800)).force("link",o.forceLink(I).distance(f/3.5));var a=k.selectAll(".link").data(I).enter().append("g");function B(t){t.style("stroke",g),t.style("stroke-width",2),t.attr("marker-end","url("+c.absUrl()+"#collapsed-arrow)")}var s,i,l=0;a.each(function(t){if(t.objectPropNodeClassUri!==R)s=a.append("line").attrs({class:"link","marker-end":"url("+c.absUrl()+"#arrow)"}).style("stroke-width",b).each(function(t){switch(t.propertyType){case"objectLeft":t.targetRadius=y;break;case"objectRight":t.targetRadius=x;break;case"datatype":t.targetRadius=m;break;default:t.targetRadius=0}var e=o.select(this);t.targetNodeEdgeCount>1?B(e):t.implicit&&e.style("stroke-dasharray","3, 3")});else{if(angular.isUndefined(i)){var e=y/2;i=o.select(this).append("path").attrs({d:"M 0 0 A "+e+" "+e+" 0 1 1 0 "+e,class:"loop-link",fill:"none","marker-end":"url("+c.absUrl()+"#arrow-loop)"}).style("stroke-width",b)}(l+=t.targetNodeEdgeCount)>1&&B(o.select(".loop-link"))}});var p={};function G(){$.isEmptyObject(p)||(p.text.style("fill","black"),p.background.style("fill","#f0f0f0"))}function W(t,e){G(),p.text=o.select(this),p.background=o.select(this.previousSibling),p.text.style("fill","white"),p.background.style("fill",g),d(function(){u.showPredicatesInfoPanel=!0,u.selectedPredicate=e}),t.stopPropagation()}$("document").ready(function(){$("#domain-range").bind("click",G)});var N=a.append("text").attr("class",function(t){return t.objectPropNodeClassUri===R?"loop-link-property-name":"property-name"}).attr("dx",function(t){return y/2*("objectLeft"===t.propertyType?1:-1)}).style("text-anchor",function(t){return"objectLeft"===t.propertyType?"end":"start"}).style("font-size",v).text(function(t){return t.targetNodeEdgeCount>1?t.targetNodeEdgeCount+" predicates":t.name});N.each(function(t){var r=o.select(this);/\d\spredicates/.test(r.text())?r.style("font-weight","bold").on("click",W):r.on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.uri),"_blank")})});var L=a.append("rect").attr("class",function(t){return t.objectPropNodeClassUri!==R?"link-background":"loop-link-background"}).attr("width",function(t){return t.calculatedWidth=this.previousSibling.getBBox().width,t.calculatedWidth+4}).attr("height",function(t){return t.calculatedHeight=this.previousSibling.getBBox().height,t.calculatedHeight+2}).attr("transform",function(t){var e=2-y/2*("objectLeft"===t.propertyType?1:-1);return"objectLeft"===t.propertyType&&(e+=t.calculatedWidth),"translate(-"+e+",-"+(2+t.calculatedHeight/2)+")"}).on("click",function(t){t.stopPropagation()}),C=k.selectAll(".node").data(S).enter().append("g"),P=C.filter(function(t){return t.objectPropClassUri!==R}).append("circle").each(function(t){var e=o.select(this);"main"===t.classPosition?e.attrs({class:"class-node",r:y}).attr("marker-end","url("+c.absUrl()+"#loop-link)"):null===t.objectPropClassName?e.attrs({class:"datatype-node",r:m}):e.attrs({class:"object-prop-node",r:x})}).call(E);function z(e,r,a){u.$apply(function(){t.$broadcast("reloadDomainRangeGraphView",r,a)})}o.selectAll(".object-prop-node").on("dblclick",z),C.filter(function(t){return t.objectPropClassName&&t.objectPropClassUri!==R}).append("text").attr("class",function(t){return t.classPosition+"-class-label"}).style("font-size",v).text(function(t){return t.objectPropClassName}).on("click",function(t,r){e.open("resource?uri="+encodeURIComponent(r.objectPropClassUri),"_blank")});var U=C.select("text");k.select(".class-node").each(function(){o.select(this.parentNode).append("text").attr("class","rdf-class-label").style("font-size",function(t){return n.A.Text.calcFontSize(A,y)}).text(A).on("click",function(){e.open("resource?uri="+encodeURIComponent(R),"_blank")})});var j=k.select(".class-node + text"),T=o.select(".class-node"),M=o.selectAll(".loop-link-background"),O=o.selectAll(".loop-link-property-name");if(N=o.selectAll(".property-name"),!angular.isUndefined(i)){var D=[];M.each(function(t,e){o.select(this),D.push({idx:e,width:t.calculatedWidth,height:t.calculatedHeight})})}function F(t){var e=8*w.alpha();function r(t){var e=t.x+2*y,r=t.y-35.08771929824562;var a=[];M.each(function(n,s){a.push(n),s<h?function(a,n){var o=$.grep(D,function(t){return t.idx==n});n>0&&(e+=parseFloat(n*(o[0].height/(n/1.4)))),a.attrs({transform:"rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")",width:o[0].height,height:o[0].width})}(o.select(this),s):o.select(this).remove()}),function(t){var e;o.select(".view-more-preds-label").style("font-weight","bold").each(function(r){r.target.allEdges=t,e=this.getComputedTextLength()}).on("click",W),o.select(".view-more-preds-rect").attr("height",e+4)}(a)}s.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x1",function(t){return t.source.x}).attr("y1",function(t){return t.source.y}).attr("x2",function(t){return t.targetX}).attr("y2",function(t){return t.targetY}).each(function(t){!function(t){"objectLeft"===t.propertyType?(t.source.x-=8*e,t.source.y-=e/9):(t.target.x+=8*e,t.target.y-=e/9)}(t);var r=Math.atan2(t.target.y-t.source.y,t.target.x-t.source.x);t.targetX=t.target.x-Math.cos(r)*t.targetRadius,t.targetY=t.target.y-Math.sin(r)*t.targetRadius}),P.each(function(t){"main"!==t.classPosition||angular.isUndefined(i)||(function(t){var e=t.x+64,r=t.y-y/5.7-5;i.attr("transform","rotate(270, "+t.x+","+t.y+") translate("+e+","+r+")")}(t),function(t){function e(e,r){var a=$.grep(D,function(t){return t.idx==r}),n=0;r>0&&(n=parseFloat(2*r*(a[0].height/1.4)));var o=t.x,s=t.y-2.1*y-n;e.attrs({x:o,y:s}).moveToFront()}O.each(function(t,r){var a=o.select(this),n=O.size()-h;n<0?e(a,r):(0==r&&!u.collapseEdges&&n>1&&(function(t,e,r){t.classed("view-more-preds-label",!0).text(r+" predicates more ..."),null!==this.nextSibling&&e.classed("view-more-preds-rect",!0)}(a,o.select(this.nextSibling),n),e(a,r)),r<h?e(a,r):a.remove())})}(t),r(t)),t.objectPropClassUri!==R&&o.select(this).attr("cx",function(t){return"main"===t.classPosition?function(t){!window.ActiveXObject&&"ActiveXObject"in window&&(Math.log10=function(t){return Math.log(t)/Math.LN10});var e=T.attr("cx")-600,r=.5*Math.log10(Math.abs(e));return t.x+=e>0?-r:r,t.x}(t):t.x}).attr("cy",function(t){return t.y})}),j.attr("x",function(t){return t.x}).attr("y",function(t){return t.y}).moveToFront(),L.filter(function(t){return t.objectPropNodeClassUri!==R}).attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),N.attr("x",function(t){return t.target.x>t.source.x?t.source.x+(t.target.x-t.source.x)/2:t.target.x+(t.source.x-t.target.x)/2}).attr("y",function(t){return t.target.y>t.source.y?t.source.y+(t.target.y-t.source.y)/2:t.target.y+(t.source.y-t.target.y)/2}).moveToFront(),U.attr("x",function(t){return"right"===t.classPosition?t.x+13.09090909090909:t.x-13.09090909090909}).attr("y",function(t){return t.y}).moveToFront()}w.on("tick",F)}});let C=!1}(u)},50);u.$on("$destroy",function(){d.cancel(f)})}}}angular.module("graphdb.framework.graphexplore.directives.domainrange",["graphdb.framework.graphexplore.controllers.domainrange","graphdb.framework.utils.localstorageadapter"]).constant("ONTO_RED","var(--gw-primary-base)").constant("ONTO_GREEN","var(--gw-tertiary-base)").constant("ONTO_BLUE","var(--gw-secondary-base)").constant("NON_COLLAPSED_REFLEXIVE_LINK_LIMIT",6).directive("domainRangeGraph",s),s.$inject=["$rootScope","$window","$repositories","GraphDataRestService","$location","LocalStorageAdapter","LSKeys","$timeout","toastr","ONTO_RED","ONTO_GREEN","ONTO_BLUE","NON_COLLAPSED_REFLEXIVE_LINK_LIMIT"]}};
|
|
2
|
+
//# sourceMappingURL=65677.9e40e2d5fe66932a18ab.bundle.js.map
|