graphdb-workbench 2.3.0-TR4 → 2.3.0-TR5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/108.d415d719be3fc3a428f4.bundle.js +2 -0
  2. package/dist/108.d415d719be3fc3a428f4.bundle.js.map +1 -0
  3. package/dist/11.e3c940aa59365084050b.bundle.js +1 -1
  4. package/dist/11.e3c940aa59365084050b.bundle.js.map +1 -1
  5. package/dist/148.45985ae23de642595544.bundle.js +1 -1
  6. package/dist/148.45985ae23de642595544.bundle.js.map +1 -1
  7. package/dist/{172.bf2dc278095883bd8c2a.bundle.js → 172.d60c0e511738e8c50a5f.bundle.js} +2 -2
  8. package/dist/{172.bf2dc278095883bd8c2a.bundle.js.map → 172.d60c0e511738e8c50a5f.bundle.js.map} +1 -1
  9. package/dist/20.4eb25ede434dc329ecf1.bundle.js +1 -1
  10. package/dist/20.4eb25ede434dc329ecf1.bundle.js.map +1 -1
  11. package/dist/{21.5586732af2e5cec0d05a.bundle.js → 21.dd1a8782fa1bea210dc2.bundle.js} +2 -2
  12. package/dist/21.dd1a8782fa1bea210dc2.bundle.js.map +1 -0
  13. package/dist/27.fef157d9275358c9f1a0.bundle.js +1 -1
  14. package/dist/27.fef157d9275358c9f1a0.bundle.js.map +1 -1
  15. package/dist/33.fde8076c81c87c25c367.bundle.js +1 -1
  16. package/dist/33.fde8076c81c87c25c367.bundle.js.map +1 -1
  17. package/dist/40.10f42e3f6d8d87bd3221.bundle.js +1 -1
  18. package/dist/40.10f42e3f6d8d87bd3221.bundle.js.map +1 -1
  19. package/dist/94.94158487a9024ff3a623.bundle.js +1 -1
  20. package/dist/94.94158487a9024ff3a623.bundle.js.map +1 -1
  21. package/dist/{bundle.155a8cba7919ff58b159.bundle.js → bundle.906b129d438637005f08.bundle.js} +3 -3
  22. package/dist/{bundle.155a8cba7919ff58b159.bundle.js.map → bundle.906b129d438637005f08.bundle.js.map} +1 -1
  23. package/dist/i18n/locale-en.json +2 -1
  24. package/dist/i18n/locale-fr.json +2 -1
  25. package/dist/index.html +3 -3
  26. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  27. package/dist/js/angular/repositories/templates/ontop-repo.html +8 -1
  28. package/dist/pages/autocomplete.html +1 -1
  29. package/dist/pages/choose-repository-type.html +1 -1
  30. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  31. package/dist/pages/create-index.html +4 -4
  32. package/dist/pages/dependencies.html +1 -1
  33. package/dist/pages/domainRangeInfo.html +2 -2
  34. package/dist/pages/edit.html +1 -1
  35. package/dist/pages/explore.html +1 -1
  36. package/dist/pages/export.html +1 -1
  37. package/dist/pages/find.html +1 -1
  38. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  39. package/dist/pages/graphs-visualizations.html +7 -7
  40. package/dist/pages/guides.html +1 -1
  41. package/dist/pages/import.html +1 -1
  42. package/dist/pages/jdbc-create.html +5 -5
  43. package/dist/pages/monitor/queries.html +1 -1
  44. package/dist/pages/monitor/resources.html +2 -2
  45. package/dist/pages/namespaces.html +2 -2
  46. package/dist/pages/plugins.html +1 -1
  47. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  48. package/dist/pages/rdfrank.html +2 -2
  49. package/dist/pages/repositories.html +2 -2
  50. package/dist/pages/repository.html +2 -2
  51. package/dist/pages/similarity-indexes.html +1 -1
  52. package/dist/pages/sparql-template-create.html +5 -5
  53. package/dist/pages/sparql.html +3 -3
  54. package/dist/pages/webapi.html +2 -2
  55. package/dist/res/swagger/index.html +27 -27
  56. package/package.json +1 -1
  57. package/dist/108.162ea156d1fc4ad2525f.bundle.js +0 -2
  58. package/dist/108.162ea156d1fc4ad2525f.bundle.js.map +0 -1
  59. package/dist/21.5586732af2e5cec0d05a.bundle.js.map +0 -1
@@ -958,7 +958,8 @@
958
958
  "ontop.repo.successful.connection.msg": "Connection is successful",
959
959
  "ontop.repo.failed.to.connect": "Failed to connect",
960
960
  "ontop.repo.properties.label": "Additional Ontop/JDBC properties",
961
- "ontop.repo.properties.tooltip": "Allows to specify additional Ontop/JDBC properties",
961
+ "ontop.repo.properties.tooltip": "Allows to specify additional Ontop/JDBC in properties file format",
962
+ "ontop.repo.properties.configuration.link": "Ontop configuration properties",
962
963
  "ontop.repo.properties.placeholder": "# Ontop/JDBC properties in properties file format",
963
964
  "missing.required.field.error": "Missing required field",
964
965
  "restart.repo.check.tooltip": "Check to restart the repository and apply the changes.",
@@ -955,7 +955,8 @@
955
955
  "ontop.repo.successful.connection.msg": "La connexion a réussi",
956
956
  "ontop.repo.failed.to.connect": "Échec de connexion",
957
957
  "ontop.repo.properties.label": "Propriétés supplémentaires de Ontop/JDBC",
958
- "ontop.repo.properties.tooltip": "Permet de spécifier des propriétés supplémentaires de Ontop/JDBC",
958
+ "ontop.repo.properties.tooltip": "Permet de spécifier des Ontop/JDBC supplémentaires dans le format du fichier de propriétés",
959
+ "ontop.repo.properties.configuration.link": "Propriétés de configuration d'Ontop",
959
960
  "ontop.repo.properties.placeholder": "# Propriétés Ontop/JDBC dans le format de fichier properties",
960
961
  "missing.required.field.error": "Champ obligatoire manquant",
961
962
  "restart.repo.check.tooltip": "Cochez pour redémarrer le dépôt et appliquer les changements.",
package/dist/index.html CHANGED
@@ -13,8 +13,8 @@
13
13
 
14
14
  <link rel="apple-touch-icon-precomposed" href="icon.png">
15
15
 
16
- <script src="plugin-registry.js?v=2.3.0-TR4"></script>
17
- <script src="plugins.js?v=2.3.0-TR4"></script>
16
+ <script src="plugin-registry.js?v=2.3.0-TR5"></script>
17
+ <script src="plugins.js?v=2.3.0-TR5"></script>
18
18
  <link rel="shortcut icon" href="icon.png"><link href="vendor.a43cfebcaaba38dfc77d.css" rel="stylesheet"><link href="main.59e407d8a8b46a1a9bad.css" rel="stylesheet"></head>
19
19
 
20
20
  <body>
@@ -166,6 +166,6 @@
166
166
  <object data="img/graphdb-splash.1ef2940889acddc03c7defb3f9f41f8d.svg"></object>
167
167
  <div>GraphDB Workbench is loading...</div>
168
168
  </div>
169
- <script type="text/javascript" src="vendor.49ad20ac4aa296c27b45.bundle.js"></script><script type="text/javascript" src="main.35e30fd1f1326e91ed6c.bundle.js"></script><script type="text/javascript" src="bundle.155a8cba7919ff58b159.bundle.js"></script></body>
169
+ <script type="text/javascript" src="vendor.49ad20ac4aa296c27b45.bundle.js"></script><script type="text/javascript" src="main.35e30fd1f1326e91ed6c.bundle.js"></script><script type="text/javascript" src="bundle.906b129d438637005f08.bundle.js"></script></body>
170
170
 
171
171
  </html>
@@ -1,4 +1,4 @@
1
- <link href="css/rdf-resource-search.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/rdf-resource-search.css?v=2.3.0-TR5" rel="stylesheet"/>
2
2
 
3
3
  <div ng-if="getActiveRepository() && hasActiveLocation() && isNotLoading()" ng-cloak>
4
4
  <div id="search-box" class="card search-rdf-input" ng-keydown="onKeyDown($event)" ng-if="!isHomePage()">
@@ -57,7 +57,7 @@
57
57
  {{'ontop.repo.properties.label' | translate}}
58
58
  </label>
59
59
  <div class="col-xs-8 col-md-5 col-lg-4">
60
- <div class="mb-1" uib-tooltip="{{'ontop.repo.properties.tooltip' | translate}}">
60
+ <div class="mb-1" gdb-tooltip="{{'ontop.repo.properties.tooltip' | translate}}">
61
61
  <textarea class="form-control" rows="3" maxlength="1000"
62
62
  id="additionalProperties"
63
63
  ng-model="repositoryInfo.params.additionalProperties.value"
@@ -65,6 +65,13 @@
65
65
  </textarea>
66
66
  </div>
67
67
  </div>
68
+ <div class="col-xs-12 col-md-4">
69
+ <a class="uri"
70
+ href="{{ontopProperiesLink}}"
71
+ style="text-decoration: underline;">
72
+ {{'ontop.repo.properties.configuration.link' | translate}}
73
+ </a>
74
+ </div>
68
75
  </div>
69
76
 
70
77
  <div ng-repeat="file in ontopRepoFiles" class="form-group row indented-div"
@@ -1,4 +1,4 @@
1
- <link href="css/autocomplete.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/autocomplete.css?v=2.3.0-TR5" rel="stylesheet">
2
2
  <div id="autocomplete" class="page">
3
3
  <h1>
4
4
  {{title}}
@@ -1,4 +1,4 @@
1
- <link href="css/repository.create.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/repository.create.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
3
  <div>
4
4
  <h1 class="mb-3">{{pageTitle}}</h1>
@@ -1,6 +1,6 @@
1
- <link href="css/clustermanagement.css?v=2.3.0-TR4" rel="stylesheet"/>
2
- <link href="css/rdf-details-side-panel.css?v=2.3.0-TR4" rel="stylesheet"/>
3
- <link href="js/lib/d3-tip/d3-tip.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/clustermanagement.css?v=2.3.0-TR5" rel="stylesheet"/>
2
+ <link href="css/rdf-details-side-panel.css?v=2.3.0-TR5" rel="stylesheet"/>
3
+ <link href="js/lib/d3-tip/d3-tip.css?v=2.3.0-TR5" rel="stylesheet"/>
4
4
 
5
5
  <title>{{'view.clusterManagement.title' | translate}}</title>
6
6
 
@@ -1,10 +1,10 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
- <link href="css/lib/yasqe.min.css?v=2.3.0-TR4" rel="stylesheet"/>
3
+ <link href="css/lib/yasqe.min.css?v=2.3.0-TR5" rel="stylesheet"/>
4
4
 
5
- <link href="css/new-sparql.css?v=2.3.0-TR4" rel="stylesheet"/>
5
+ <link href="css/new-sparql.css?v=2.3.0-TR5" rel="stylesheet"/>
6
6
 
7
- <link href="css/graphs-config.css?v=2.3.0-TR4" rel="stylesheet"/>
7
+ <link href="css/graphs-config.css?v=2.3.0-TR5" rel="stylesheet"/>
8
8
 
9
9
 
10
10
  <div class="container-fluid">
@@ -1,4 +1,4 @@
1
- <link href="css/dependencies.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/dependencies.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
3
 
4
4
  <title>Explore Class Dependencies</title>
@@ -1,5 +1,5 @@
1
- <link href="css/domain-range-graph.css?v=2.3.0-TR4" rel="stylesheet"/>
2
- <link href="css/rdf-details-side-panel.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/domain-range-graph.css?v=2.3.0-TR5" rel="stylesheet"/>
2
+ <link href="css/rdf-details-side-panel.css?v=2.3.0-TR5" rel="stylesheet"/>
3
3
 
4
4
  <title>Explore Data Graph</title>
5
5
 
@@ -1,4 +1,4 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
3
  <div core-errors></div>
4
4
  <div class="page" ng-show="getActiveRepository()">
@@ -1,4 +1,4 @@
1
- <link href="css/explore.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/explore.css?v=2.3.0-TR5" rel="stylesheet"/>
2
2
  <div core-errors></div>
3
3
  <div class="page fit-content-on-mobile" ng-show="getActiveRepository()">
4
4
  <div class="resource-info" ng-if="!isTripleResource()">
@@ -1,4 +1,4 @@
1
- <link href="css/export.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/export.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
3
  <div id="wb-export">
4
4
 
@@ -1,4 +1,4 @@
1
- <link href="css/find.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/find.css?v=2.3.0-TR5" rel="stylesheet"/>
2
2
 
3
3
  <div class="page">
4
4
  <h1>
@@ -1,10 +1,10 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
- <link href="css/lib/yasqe.min.css?v=2.3.0-TR4" rel="stylesheet"/>
3
+ <link href="css/lib/yasqe.min.css?v=2.3.0-TR5" rel="stylesheet"/>
4
4
 
5
- <link href="css/new-sparql.css?v=2.3.0-TR4" rel="stylesheet"/>
5
+ <link href="css/new-sparql.css?v=2.3.0-TR5" rel="stylesheet"/>
6
6
 
7
- <link href="css/graphs-config.css?v=2.3.0-TR4" rel="stylesheet"/>
7
+ <link href="css/graphs-config.css?v=2.3.0-TR5" rel="stylesheet"/>
8
8
 
9
9
  <h1>
10
10
  {{title}}
@@ -82,7 +82,7 @@
82
82
  <div class="image-label-container mb-3" ng-show="page == 1">
83
83
  <label class="image-label d-flex" ng-class="{'active': newConfig.startMode == 'search'}">
84
84
  <input type="radio" class="form-check-input" id="checkboxSuccessSearch" ng-model="newConfig.startMode" value="search">
85
- <img class="image-label-image" src="css/images/search.png?v=2.3.0-TR4" alt="search image" width="100%">
85
+ <img class="image-label-image" src="css/images/search.png?v=2.3.0-TR5" alt="search image" width="100%">
86
86
  <div class="image-label-content">
87
87
  <h5>{{'start.with.search.box' | translate}}</h5>
88
88
  <div>{{'choose.starting.point' | translate}}</div>
@@ -91,7 +91,7 @@
91
91
 
92
92
  <label class="image-label d-flex" ng-class="{'active': newConfig.startMode == 'node'}">
93
93
  <input type="radio" class="form-check-input" id="checkboxSuccessNode" ng-model="newConfig.startMode" value="node">
94
- <img class="image-label-image" src="css/images/node.png?v=2.3.0-TR4" alt="node image" width="100%">
94
+ <img class="image-label-image" src="css/images/node.png?v=2.3.0-TR5" alt="node image" width="100%">
95
95
  <div class="image-label-content">
96
96
  <h5>{{'start.with.fixed.node' | translate}}</h5>
97
97
  <div>{{'visual.graph.start' | translate}}</div>
@@ -100,7 +100,7 @@
100
100
 
101
101
  <label class="image-label d-flex" ng-class="{'active': newConfig.startMode == 'query'}">
102
102
  <input type="radio" class="form-check-input" data-cy="graph-config-by-graph-query-checkbox" ng-model="newConfig.startMode" value="query">
103
- <img class="image-label-image" src="css/images/query.png?v=2.3.0-TR4" alt="query image" width="100%">
103
+ <img class="image-label-image" src="css/images/query.png?v=2.3.0-TR5" alt="query image" width="100%">
104
104
  <div class="image-label-content">
105
105
  <h5>{{'query.results.start' | translate}}</h5>
106
106
  <div>{{'results.start' | translate}}</div>
@@ -141,7 +141,7 @@
141
141
  <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'expandQuery')}}</em> {{'sample.query.used' | translate}}</p>
142
142
  </div>
143
143
  <div>
144
- <img src="css/images/expand.png?v=2.3.0-TR4" class="info-box-img" height="220" alt="expand image">
144
+ <img src="css/images/expand.png?v=2.3.0-TR5" class="info-box-img" height="220" alt="expand image">
145
145
  </div>
146
146
  </div>
147
147
 
@@ -167,7 +167,7 @@
167
167
  <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'resourceQuery')}}</em> {{'sample.query.used' | translate}}</p>
168
168
  </div>
169
169
  <div>
170
- <img src="css/images/labels-size.png?v=2.3.0-TR4" class="info-box-img" height="220" alt="labels size image">
170
+ <img src="css/images/labels-size.png?v=2.3.0-TR5" class="info-box-img" height="220" alt="labels size image">
171
171
  </div>
172
172
  </div>
173
173
 
@@ -186,7 +186,7 @@
186
186
  <p>{{'query.is.optional.local.name' | translate}}</p>
187
187
  </div>
188
188
  <div>
189
- <img src="css/images/predicates.png?v=2.3.0-TR4" class="info-box-img" height="220" alt="predicates image">
189
+ <img src="css/images/predicates.png?v=2.3.0-TR5" class="info-box-img" height="220" alt="predicates image">
190
190
  </div>
191
191
  </div>
192
192
 
@@ -211,7 +211,7 @@
211
211
  <p>{{'optional.query' | translate}} <em>{{getSampleName(samples[0], 'resourcePropertiesQuery')}}</em> {{'sample.query.used' | translate}}</p>
212
212
  </div>
213
213
  <div>
214
- <img src="css/images/side-panel.png?v=2.3.0-TR4" class="info-box-img" height="220" alt="side panel image">
214
+ <img src="css/images/side-panel.png?v=2.3.0-TR5" class="info-box-img" height="220" alt="side panel image">
215
215
  </div>
216
216
  </div>
217
217
 
@@ -1,7 +1,7 @@
1
- <link href="css/graphs-vizualizations.css?v=2.3.0-TR4" rel="stylesheet"/>
2
- <link href="css/rdf-details-side-panel.css?v=2.3.0-TR4" rel="stylesheet"/>
3
- <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.3.0-TR4" rel="stylesheet"/>
4
- <link href="js/lib/d3-tip/d3-tip.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/graphs-vizualizations.css?v=2.3.0-TR5" rel="stylesheet"/>
2
+ <link href="css/rdf-details-side-panel.css?v=2.3.0-TR5" rel="stylesheet"/>
3
+ <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.3.0-TR5" rel="stylesheet"/>
4
+ <link href="js/lib/d3-tip/d3-tip.css?v=2.3.0-TR5" rel="stylesheet"/>
5
5
 
6
6
  <div class="container-fluid">
7
7
 
@@ -131,9 +131,9 @@
131
131
  <tr ng-repeat="config in graphConfigs">
132
132
  <td width="20">
133
133
  <a href ng-click="goToGraphConfig(config)">
134
- <img ng-if="config.startMode == 'search'" src="css/images/search.png?v=2.3.0-TR4" alt="" width="64" uib-popover="{{'visual.config.search.box.starting.point' | translate}}" popover-trigger="mouseenter">
135
- <img ng-if="config.startMode == 'node'" src="css/images/node.png?v=2.3.0-TR4" alt="" width="64" uib-popover="{{'visual.config.fixed.resource.starting.point' | translate}}" popover-trigger="mouseenter">
136
- <img ng-if="config.startMode == 'query'" src="css/images/query.png?v=2.3.0-TR4" alt="" data-cy="graph-config-starting-point-query-results" width="64" uib-popover="{{'visual.config.query.results.starting.point' | translate}}" popover-trigger="mouseenter">
134
+ <img ng-if="config.startMode == 'search'" src="css/images/search.png?v=2.3.0-TR5" alt="" width="64" uib-popover="{{'visual.config.search.box.starting.point' | translate}}" popover-trigger="mouseenter">
135
+ <img ng-if="config.startMode == 'node'" src="css/images/node.png?v=2.3.0-TR5" alt="" width="64" uib-popover="{{'visual.config.fixed.resource.starting.point' | translate}}" popover-trigger="mouseenter">
136
+ <img ng-if="config.startMode == 'query'" src="css/images/query.png?v=2.3.0-TR5" alt="" data-cy="graph-config-starting-point-query-results" width="64" uib-popover="{{'visual.config.query.results.starting.point' | translate}}" popover-trigger="mouseenter">
137
137
  </a>
138
138
  </td>
139
139
  <td>
@@ -1,4 +1,4 @@
1
- <link href="css/guides.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/guides.css?v=2.3.0-TR5" rel="stylesheet">
2
2
  <h1>
3
3
  {{title}}
4
4
  <span class="btn btn-link"
@@ -1,4 +1,4 @@
1
- <link rel="stylesheet" type="text/css" href="css/import.css?v=2.3.0-TR4">
1
+ <link rel="stylesheet" type="text/css" href="css/import.css?v=2.3.0-TR5">
2
2
 
3
3
  <div id="wb-import">
4
4
  <h1>
@@ -1,12 +1,12 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
- <link href="css/lib/yasqe.min.css?v=2.3.0-TR4" rel="stylesheet"/>
3
+ <link href="css/lib/yasqe.min.css?v=2.3.0-TR5" rel="stylesheet"/>
4
4
 
5
- <link href="css/new-sparql.css?v=2.3.0-TR4" rel="stylesheet"/>
5
+ <link href="css/new-sparql.css?v=2.3.0-TR5" rel="stylesheet"/>
6
6
 
7
- <link href="css/graphs-config.css?v=2.3.0-TR4" rel="stylesheet"/>
7
+ <link href="css/graphs-config.css?v=2.3.0-TR5" rel="stylesheet"/>
8
8
 
9
- <link href="css/jdbc.css?v=2.3.0-TR4" rel="stylesheet"/>
9
+ <link href="css/jdbc.css?v=2.3.0-TR5" rel="stylesheet"/>
10
10
 
11
11
  <div class="container-fluid fit-content-on-mobile">
12
12
  <h1>
@@ -3,7 +3,7 @@
3
3
 
4
4
  <title>${messages.app.title} : ${messages.jmx.QueryMonitoringPage.title}</title>
5
5
 
6
- <link href="css/jmx.css?v=2.3.0-TR4" rel="stylesheet" />
6
+ <link href="css/jmx.css?v=2.3.0-TR5" rel="stylesheet" />
7
7
 
8
8
  <h1>
9
9
  {{title}}
@@ -1,7 +1,7 @@
1
- <link href="css/jmx.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/jmx.css?v=2.3.0-TR5" rel="stylesheet"/>
2
2
 
3
3
  <!-- nvd3 css and js starts-->
4
- <link href="js/lib/nvd3/nv.d3.css?v=2.3.0-TR4" rel="stylesheet"/>
4
+ <link href="js/lib/nvd3/nv.d3.css?v=2.3.0-TR5" rel="stylesheet"/>
5
5
 
6
6
 
7
7
  <div class="hiddenVariables" style="display: none;">
@@ -1,5 +1,5 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR4" rel="stylesheet">
2
- <link href="css/export.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR5" rel="stylesheet">
2
+ <link href="css/export.css?v=2.3.0-TR5" rel="stylesheet">
3
3
 
4
4
  <title>Namespaces</title>
5
5
 
@@ -1,4 +1,4 @@
1
- <link href="css/plugins.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/plugins.css?v=2.3.0-TR5" rel="stylesheet">
2
2
  <div id="plugins" class="page">
3
3
  <h1>
4
4
  {{title}} {{'for.repository' | translate}} {{getActiveRepository()}}
@@ -1,10 +1,10 @@
1
- <link href="css/rdf-class-hierarchy.css?v=2.3.0-TR4" rel="stylesheet"/>
2
- <link href="css/rdf-class-hierarchy-labels.css?v=2.3.0-TR4" rel="stylesheet"/>
3
- <link href="css/rdf-details-side-panel.css?v=2.3.0-TR4" rel="stylesheet"/>
4
- <link href="js/lib/rzslider/rzslider.min.css?v=2.3.0-TR4" rel="stylesheet"/>
5
- <link href="js/lib/angucomplete-alt/angucomplete-alt.css?v=2.3.0-TR4" rel="stylesheet"/>
6
- <link href="js/lib/d3-tip/d3-tip.css?v=2.3.0-TR4" rel="stylesheet"/>
7
- <link href="css/lib/animate/3.2.0/animate.min.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/rdf-class-hierarchy.css?v=2.3.0-TR5" rel="stylesheet"/>
2
+ <link href="css/rdf-class-hierarchy-labels.css?v=2.3.0-TR5" rel="stylesheet"/>
3
+ <link href="css/rdf-details-side-panel.css?v=2.3.0-TR5" rel="stylesheet"/>
4
+ <link href="js/lib/rzslider/rzslider.min.css?v=2.3.0-TR5" rel="stylesheet"/>
5
+ <link href="js/lib/angucomplete-alt/angucomplete-alt.css?v=2.3.0-TR5" rel="stylesheet"/>
6
+ <link href="js/lib/d3-tip/d3-tip.css?v=2.3.0-TR5" rel="stylesheet"/>
7
+ <link href="css/lib/animate/3.2.0/animate.min.css?v=2.3.0-TR5" rel="stylesheet"/>
8
8
 
9
9
  <title>Explore Data Graph</title>
10
10
 
@@ -1,5 +1,5 @@
1
- <link href="css/rdfrank.css?v=2.3.0-TR4" rel="stylesheet">
2
- <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.3.0-TR4" rel="stylesheet"/>
1
+ <link href="css/rdfrank.css?v=2.3.0-TR5" rel="stylesheet">
2
+ <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=2.3.0-TR5" rel="stylesheet"/>
3
3
 
4
4
  <div id="rdfRank" class="page">
5
5
  <h1>
@@ -1,6 +1,6 @@
1
- <link href="css/repositories.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/repositories.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
- <link href="css/lib/bootstrap-switch/bootstrap-switch.min.css?v=2.3.0-TR4" rel="stylesheet">
3
+ <link href="css/lib/bootstrap-switch/bootstrap-switch.min.css?v=2.3.0-TR5" rel="stylesheet">
4
4
 
5
5
  <h1>
6
6
  {{title}}
@@ -1,6 +1,6 @@
1
- <link href="css/repositories.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/repositories.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
- <link href="css/lib/bootstrap-switch/bootstrap-switch.min.css?v=2.3.0-TR4" rel="stylesheet">
3
+ <link href="css/lib/bootstrap-switch/bootstrap-switch.min.css?v=2.3.0-TR5" rel="stylesheet">
4
4
 
5
5
  <div id="wb-repository">
6
6
  <h1>{{pageTitle}}</h1>
@@ -1,4 +1,4 @@
1
- <link href="css/similarity.css?v=2.3.0-TR4" rel='stylesheet' type='text/css'/>
1
+ <link href="css/similarity.css?v=2.3.0-TR5" rel='stylesheet' type='text/css'/>
2
2
 
3
3
  <div class="container-fluid">
4
4
 
@@ -1,12 +1,12 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
- <link href="css/lib/yasqe.min.css?v=2.3.0-TR4" rel="stylesheet"/>
3
+ <link href="css/lib/yasqe.min.css?v=2.3.0-TR5" rel="stylesheet"/>
4
4
 
5
- <link href="css/new-sparql.css?v=2.3.0-TR4" rel="stylesheet"/>
5
+ <link href="css/new-sparql.css?v=2.3.0-TR5" rel="stylesheet"/>
6
6
 
7
- <link href="css/graphs-config.css?v=2.3.0-TR4" rel="stylesheet"/>
7
+ <link href="css/graphs-config.css?v=2.3.0-TR5" rel="stylesheet"/>
8
8
 
9
- <link href="css/jdbc.css?v=2.3.0-TR4" rel="stylesheet"/>
9
+ <link href="css/jdbc.css?v=2.3.0-TR5" rel="stylesheet"/>
10
10
 
11
11
  <div class="container-fluid fit-content-on-mobile">
12
12
  <h1>
@@ -1,8 +1,8 @@
1
- <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR4" rel="stylesheet">
1
+ <link href="css/lib/angular-xeditable/xeditable.min.css?v=2.3.0-TR5" rel="stylesheet">
2
2
 
3
- <link href="css/lib/yasqe.min.css?v=2.3.0-TR4" rel="stylesheet"/>
3
+ <link href="css/lib/yasqe.min.css?v=2.3.0-TR5" rel="stylesheet"/>
4
4
 
5
- <link href="css/new-sparql.css?v=2.3.0-TR4" rel="stylesheet"/>
5
+ <link href="css/new-sparql.css?v=2.3.0-TR5" rel="stylesheet"/>
6
6
  <div id="wb-sparql">
7
7
 
8
8
  <div ng-show="getActiveRepositoryNoError()" class="pull-right mt-1">
@@ -1,6 +1,6 @@
1
1
 
2
- <link href='css/lib/swagger-ui.min.css?v=2.3.0-TR4' rel='stylesheet' type='text/css'/>
3
- <link href='css/swagger.custom.css?v=2.3.0-TR4' rel='stylesheet' type='text/css'/>
2
+ <link href='css/lib/swagger-ui.min.css?v=2.3.0-TR5' rel='stylesheet' type='text/css'/>
3
+ <link href='css/swagger.custom.css?v=2.3.0-TR5' rel='stylesheet' type='text/css'/>
4
4
 
5
5
  <h1>
6
6
  {{title}}
@@ -3,37 +3,37 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <title>Swagger UI</title>
6
- <link rel="icon" type="image/png" href="images/favicon-32x32.png?v=2.3.0-TR4" sizes="32x32"/>
7
- <link rel="icon" type="image/png" href="images/favicon-16x16.png?v=2.3.0-TR4" sizes="16x16"/>
8
- <link href='../../css/common.css?v=2.3.0-TR4' media='screen' rel='stylesheet' type='text/css'/>
9
- <link href='css/reset.css?v=2.3.0-TR4' media='screen' rel='stylesheet' type='text/css'/>
10
- <link href='css/screen.css?v=2.3.0-TR4' media='screen' rel='stylesheet' type='text/css'/>
11
- <link href='css/onto-theme.css?v=2.3.0-TR4' media='screen' rel='stylesheet' type='text/css'/>
12
- <link href='css/reset.css?v=2.3.0-TR4' media='print' rel='stylesheet' type='text/css'/>
13
- <link href='css/print.css?v=2.3.0-TR4' media='print' rel='stylesheet' type='text/css'/>
14
- <link href='css/onto-theme.css?v=2.3.0-TR4' media='print' rel='stylesheet' type='text/css'/>
6
+ <link rel="icon" type="image/png" href="images/favicon-32x32.png?v=2.3.0-TR5" sizes="32x32"/>
7
+ <link rel="icon" type="image/png" href="images/favicon-16x16.png?v=2.3.0-TR5" sizes="16x16"/>
8
+ <link href='../../css/common.css?v=2.3.0-TR5' media='screen' rel='stylesheet' type='text/css'/>
9
+ <link href='css/reset.css?v=2.3.0-TR5' media='screen' rel='stylesheet' type='text/css'/>
10
+ <link href='css/screen.css?v=2.3.0-TR5' media='screen' rel='stylesheet' type='text/css'/>
11
+ <link href='css/onto-theme.css?v=2.3.0-TR5' media='screen' rel='stylesheet' type='text/css'/>
12
+ <link href='css/reset.css?v=2.3.0-TR5' media='print' rel='stylesheet' type='text/css'/>
13
+ <link href='css/print.css?v=2.3.0-TR5' media='print' rel='stylesheet' type='text/css'/>
14
+ <link href='css/onto-theme.css?v=2.3.0-TR5' media='print' rel='stylesheet' type='text/css'/>
15
15
 
16
- <script src='lib/object-assign-pollyfill.js?v=2.3.0-TR4' type='text/javascript'></script>
17
- <script src='lib/jquery-3.4.1.min.js?v=2.3.0-TR4' type='text/javascript'></script>
18
- <script src='lib/jquery.slideto.min.js?v=2.3.0-TR4' type='text/javascript'></script>
19
- <script src='lib/jquery.wiggle.min.js?v=2.3.0-TR4' type='text/javascript'></script>
16
+ <script src='lib/object-assign-pollyfill.js?v=2.3.0-TR5' type='text/javascript'></script>
17
+ <script src='lib/jquery-3.4.1.min.js?v=2.3.0-TR5' type='text/javascript'></script>
18
+ <script src='lib/jquery.slideto.min.js?v=2.3.0-TR5' type='text/javascript'></script>
19
+ <script src='lib/jquery.wiggle.min.js?v=2.3.0-TR5' type='text/javascript'></script>
20
20
 
21
- <script src="lib/jquery-migrate-1.4.1.min.js?v=2.3.0-TR4"></script>
22
- <script src='lib/jquery.ba-bbq.min.js?v=2.3.0-TR4' type='text/javascript'></script>
23
- <script src='lib/handlebars.min-v4.7.3.js?v=2.3.0-TR4' type='text/javascript'></script>
24
- <script src='lib/lodash.min.js?v=2.3.0-TR4' type='text/javascript'></script>
25
- <script src='lib/backbone-min.js?v=2.3.0-TR4' type='text/javascript'></script>
26
- <script src='swagger-ui.js?v=2.3.0-TR4' type='text/javascript'></script>
27
- <script src='lib/highlight.9.1.0.pack.js?v=2.3.0-TR4' type='text/javascript'></script>
28
- <script src='lib/highlight.9.1.0.pack_extended.js?v=2.3.0-TR4' type='text/javascript'></script>
29
- <script src='lib/jsoneditor.min.js?v=2.3.0-TR4' type='text/javascript'></script>
30
- <script src='lib/marked.js?v=2.3.0-TR4' type='text/javascript'></script>
31
- <script src='lib/swagger-oauth.js?v=2.3.0-TR4' type='text/javascript'></script>
21
+ <script src="lib/jquery-migrate-1.4.1.min.js?v=2.3.0-TR5"></script>
22
+ <script src='lib/jquery.ba-bbq.min.js?v=2.3.0-TR5' type='text/javascript'></script>
23
+ <script src='lib/handlebars.min-v4.7.3.js?v=2.3.0-TR5' type='text/javascript'></script>
24
+ <script src='lib/lodash.min.js?v=2.3.0-TR5' type='text/javascript'></script>
25
+ <script src='lib/backbone-min.js?v=2.3.0-TR5' type='text/javascript'></script>
26
+ <script src='swagger-ui.js?v=2.3.0-TR5' type='text/javascript'></script>
27
+ <script src='lib/highlight.9.1.0.pack.js?v=2.3.0-TR5' type='text/javascript'></script>
28
+ <script src='lib/highlight.9.1.0.pack_extended.js?v=2.3.0-TR5' type='text/javascript'></script>
29
+ <script src='lib/jsoneditor.min.js?v=2.3.0-TR5' type='text/javascript'></script>
30
+ <script src='lib/marked.js?v=2.3.0-TR5' type='text/javascript'></script>
31
+ <script src='lib/swagger-oauth.js?v=2.3.0-TR5' type='text/javascript'></script>
32
32
 
33
33
  <!-- Some basic translations -->
34
- <!-- <script src='lang/translator.js?v=2.3.0-TR4' type='text/javascript'></script> -->
35
- <!-- <script src='lang/ru.js?v=2.3.0-TR4' type='text/javascript'></script> -->
36
- <!-- <script src='lang/en.js?v=2.3.0-TR4' type='text/javascript'></script> -->
34
+ <!-- <script src='lang/translator.js?v=2.3.0-TR5' type='text/javascript'></script> -->
35
+ <!-- <script src='lang/ru.js?v=2.3.0-TR5' type='text/javascript'></script> -->
36
+ <!-- <script src='lang/en.js?v=2.3.0-TR5' type='text/javascript'></script> -->
37
37
 
38
38
  <script type="text/javascript">
39
39
  $(function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphdb-workbench",
3
- "version": "2.3.0-TR4",
3
+ "version": "2.3.0-TR5",
4
4
  "description": "The web application for GraphDB APIs",
5
5
  "scripts": {
6
6
  "build": "webpack --config=webpack.config.prod.js",
@@ -1,2 +0,0 @@
1
- (window.webpackJsonp=window.webpackJsonp||[]).push([[108],{99:function(e,r,o){"use strict";o.r(r);var t=o(66);function i(e,r,o,i,s){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(n){n.selectedDriver={driverType:"generic",driverName:"Generic JDBC Driver",jdbc:{hostName:"",port:"",databaseName:"",userName:"",password:"",driverClass:"",url:""},urlTemplate:"",downloadDriverUrl:""},n.ontopRepoFileNames={},n.supportedDriversData=[],n.ontopRepoFileLabels={propertiesFile:"JDBC properties",obdaFile:"OBDA or R2RML",owlFile:"ontology file",constraintFile:"constraint file",dbMetadataFile:"DB metadata file"},n.ontopRepoFiles=Object.keys(n.ontopRepoFileLabels),n.ontopRepoFiles.forEach((function(e){n.repositoryInfo.params[e]&&(n.ontopRepoFileNames[e]=Object(t.getFileName)(n.repositoryInfo.params[e].value))})),n.supportedDriverLabels={hostName:"Hostname",port:"Port",databaseName:"Database name",userName:"Username",password:"Password",driverClass:"Driver class",url:"URL"},n.propertiesFileParams=Object.keys(n.supportedDriverLabels),n.classAvailable=!1,n.genericDriverType="generic",n.propertiesFile="propertiesFile";const a=[n.propertiesFile,"obdaFile"],l=["hostName","databaseName","userName"];function p(){return n.selectedDriver.driverType!==n.genericDriverType?l.filter((function(e){return!n.selectedDriver.jdbc[e]})).length>0&&(o.error(s.instant("missing.required.field.error")),1)?Promise.reject(s.instant("missing.required.field.error")):(n.uploadFileLoader=!0,r.updatePropertiesFile(n.repositoryInfo.params[n.propertiesFile].value,n.selectedDriver.jdbc,n.repositoryInfo.location).success((function(e){n.ontopRepoFileNames[n.propertiesFile]=Object(t.getFileName)(e.fileLocation),n.repositoryInfo.params[n.propertiesFile].value=e.fileLocation,n.uploadFileLoader=!1})).error((function(e){c(s.instant("common.error"),e),n.uploadFileLoader=!1}))):Promise.resolve()}function c(e,r){const t=getError(r);o.error(t,e)}n.loadDriverByClass=function(e){const r=n.supportedDriversData.find(r=>r.driverClass===e);return r&&n.copyDriverProperties(r),r},n.selectDriverByType=function(e){n.copyDriverProperties(n.supportedDriversData.find(r=>r.driverType===e)),n.concatURL("hostName",n)},n.copyDriverProperties=function(e){n.selectedDriver.driverType=e.driverType,n.selectedDriver.jdbc.driverClass=e.driverClass,n.selectedDriver.jdbc.url=e.urlTemplate,n.selectedDriver.urlTemplate=e.urlTemplate,n.selectedDriver.downloadDriverUrl=e.downloadDriverUrl,n.selectedDriver.portRequired=e.portRequired,n.classAvailable=e.classAvailable},n.isReadOnly=function(e){return"driverClass"===e||"url"===e},n.editFile=function(o){e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",resolve:{file:function(){return n.repositoryInfo.params[o]?n.repositoryInfo.params[o].value:""}}}).result.then((function(e){r.updateRepositoryFileContent(e.fileLocation,e.content,n.repositoryInfo.location).success((function(e){n.ontopRepoFileNames[o]=Object(t.getFileName)(e.fileLocation),n.repositoryInfo.params[o].value=e.fileLocation})).error((function(e){c(s.instant("common.error"),e)}))}))},n.uploadOntopRepoFile=function(e,r){e&&e.length&&(n.uploadFile=e[0],n.uploadFileLoader=!0,i.upload({url:"rest/repositories/file/upload",data:{file:n.uploadFile,location:n.repositoryInfo.location}}).success((function(e){e.success?(n.ontopRepoFileNames[r]=n.uploadFile.name,n.repositoryInfo.params[r].value=e.fileLocation):o.error(e.errorMessage),n.uploadFileLoader=!1})).error((function(e){c(s.instant("common.error"),e),n.uploadFile="",n.uploadFileLoader=!1})))},n.concatURL=function(e){if("hostName"===e||"port"===e||"databaseName"===e){let e=n.selectedDriver.urlTemplate;n.selectedDriver.jdbc.hostName&&(e=n.selectedDriver.jdbc.port?e.replace("{hostport}",`${n.selectedDriver.jdbc.hostName}:${n.selectedDriver.jdbc.port}`):e.replace("{hostport}",n.selectedDriver.jdbc.hostName)),n.selectedDriver.jdbc.databaseName&&(e=e.replace("{database}",n.selectedDriver.jdbc.databaseName)),n.selectedDriver.jdbc.url=e}},n.getInputType=function(e){switch(e){case"password":return"password";case"port":return"number";default:return"text"}},n.checkForRequiredOntopFiles=function(){return p().then((function(){return a.filter((function(e){return!n.repositoryInfo.params[e].value})).length>0?(o.error(s.instant("ontop.repo.missing.required.file.error")),Promise.reject(s.instant("ontop.repo.missing.required.file.error"))):Promise.resolve()}))},n.validateOntopPropertiesConnection=function(){p().then((function(){r.validateOntopPropertiesConnection(n.repositoryInfo).success((function(){o.success(s.instant("ontop.repo.successful.connection.msg"))})).error((function(e){c(s.instant("ontop.repo.failed.to.connect"),e)}))}))},n.isOntopRepoFileUploaded=function(){return n.repositoryInfo.params.propertiesFile&&n.repositoryInfo.params.propertiesFile.value.length>0},n.isRequiredOntopRepoFile=function(e){return a.indexOf(e)>-1},n.isRequiredField=function(e){return l.indexOf(e)>-1||"port"===e&&n.selectedDriver.portRequired},n.getFieldTooltip=function(e){return"port"===e&&n.selectedDriver.portRequired&&(e="portIfRequired"),s.instant("repoTooltips.ontop."+e)},n.editOntopRepo=function(){n.checkForRequiredOntopFiles().then((function(){n.editRepository()})).catch((function(e){}))},n.createOntopRepo=function(){n.repositoryInfo.id?n.checkForRequiredOntopFiles().then((function(){n.createRepo()})).catch((function(e){})):o.error(s.instant("empty.repoid.warning"))},n.goBackToPrevious=function(){n.goBackToPreviousLocation()},r.getSupportedDriversData(n.repositoryInfo).success((function(e){n.supportedDriversData=e})).error((function(e){c(s.instant("common.error"),e)})).then((function(){n.editRepoPage&&r.loadPropertiesFile(n.repositoryInfo.params[n.propertiesFile].value,n.repositoryInfo.location).success((function(e){n.loadDriverByClass(e.driverClass)&&(n.selectedDriver.jdbc.hostName=e.hostName,n.selectedDriver.jdbc.port=parseInt(e.port),n.selectedDriver.jdbc.databaseName=e.databaseName,n.selectedDriver.jdbc.userName=e.userName,n.selectedDriver.jdbc.password=e.password,n.selectedDriver.jdbc.url=e.url)})).error((function(e){c(s.instant("common.error"),e),n.uploadFileLoader=!1}))}))}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",i),i.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]}}]);
2
- //# sourceMappingURL=108.162ea156d1fc4ad2525f.bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/js/angular/repositories/ontop-repo.directive.js"],"names":["ontopRepoDirective","$uibModal","RepositoriesRestService","toastr","Upload","$translate","restrict","scope","templateUrl","link","$scope","selectedDriver","driverType","driverName","jdbc","hostName","port","databaseName","userName","password","driverClass","url","urlTemplate","downloadDriverUrl","ontopRepoFileNames","supportedDriversData","ontopRepoFileLabels","propertiesFile","obdaFile","owlFile","constraintFile","dbMetadataFile","ontopRepoFiles","Object","keys","forEach","key","repositoryInfo","params","value","supportedDriverLabels","propertiesFileParams","classAvailable","genericDriverType","REQUIRED_ONTOP_REPO_PARAMS","REQUIRED_PROPERTIES_FIELD_PARAMS","updateProperties","filter","requiredField","length","error","instant","Promise","reject","uploadFileLoader","updatePropertiesFile","location","success","data","fileLocation","showErrorMsg","resolve","title","msg","getError","loadDriverByClass","foundDriver","find","driver","copyDriverProperties","selectDriverByType","concatURL","portRequired","isReadOnly","labelName","editFile","file","open","controller","result","then","updateRepositoryFileContent","content","uploadOntopRepoFile","files","param","uploadFile","upload","name","errorMessage","replace","getInputType","checkForRequiredOntopFiles","requiredFile","validateOntopPropertiesConnection","isOntopRepoFileUploaded","isRequiredOntopRepoFile","indexOf","isRequiredField","field","getFieldTooltip","editOntopRepo","editRepository","catch","err","createOntopRepo","id","createRepo","goBackToPrevious","goBackToPreviousLocation","getSupportedDriversData","response","editRepoPage","loadPropertiesFile","driverData","parseInt","angular","module","directive","$inject"],"mappings":"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","file":"108.162ea156d1fc4ad2525f.bundle.js","sourcesContent":["import {getFileName} from \"./controllers\";\n\nangular\n .module('graphdb.framework.repositories.ontop-repo.directive', [])\n .directive('ontopRepo', ontopRepoDirective);\n\nontopRepoDirective.$inject = ['$uibModal', 'RepositoriesRestService', 'toastr', 'Upload', '$translate'];\n\nfunction ontopRepoDirective($uibModal, RepositoriesRestService, toastr, Upload, $translate) {\n return {\n restrict: 'E',\n scope: false,\n templateUrl: 'js/angular/repositories/templates/ontop-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n $scope.selectedDriver = {\n driverType: \"generic\",\n driverName: \"Generic JDBC Driver\",\n jdbc: {\n hostName: \"\",\n port: \"\",\n databaseName: \"\",\n userName: \"\",\n password: \"\",\n driverClass: \"\",\n url: \"\"\n },\n urlTemplate: \"\",\n downloadDriverUrl: \"\"\n };\n $scope.ontopRepoFileNames = {};\n $scope.supportedDriversData = [];\n $scope.ontopRepoFileLabels =\n {propertiesFile: 'JDBC properties', obdaFile: 'OBDA or R2RML', owlFile: 'ontology file',\n constraintFile: 'constraint file', dbMetadataFile: 'DB metadata file'};\n $scope.ontopRepoFiles = Object.keys($scope.ontopRepoFileLabels);\n $scope.ontopRepoFiles.forEach(function(key) {\n if ($scope.repositoryInfo.params[key]) {\n $scope.ontopRepoFileNames[key] = getFileName($scope.repositoryInfo.params[key].value);\n }\n });\n $scope.supportedDriverLabels = {hostName: 'Hostname', port: \"Port\", databaseName: 'Database name',\n userName: 'Username', password: 'Password', driverClass: 'Driver class', url: 'URL'};\n $scope.propertiesFileParams = Object.keys($scope.supportedDriverLabels);\n $scope.classAvailable = false;\n $scope.genericDriverType = 'generic';\n $scope.propertiesFile = 'propertiesFile';\n\n const REQUIRED_ONTOP_REPO_PARAMS = [$scope.propertiesFile, 'obdaFile'];\n const REQUIRED_PROPERTIES_FIELD_PARAMS = ['hostName', 'databaseName', 'userName'];\n\n function getSupportedDriversData() {\n return RepositoriesRestService.getSupportedDriversData($scope.repositoryInfo)\n .success(function (response) {\n $scope.supportedDriversData = response;\n }).error(function (response) {\n showErrorMsg($translate.instant('common.error'), response);\n });\n }\n\n $scope.loadDriverByClass = function (driverClass) {\n const foundDriver = $scope.supportedDriversData\n .find((driver) => driver.driverClass === driverClass);\n if (foundDriver) {\n $scope.copyDriverProperties(foundDriver);\n }\n return foundDriver;\n };\n\n $scope.selectDriverByType = function (driverType) {\n $scope.copyDriverProperties($scope.supportedDriversData\n .find((driver) => driver.driverType === driverType));\n // Call concatURL with proper labelName to apply changes to url field\n $scope.concatURL('hostName', $scope);\n };\n\n $scope.copyDriverProperties = function (driver) {\n $scope.selectedDriver.driverType = driver.driverType;\n $scope.selectedDriver.jdbc.driverClass = driver.driverClass;\n $scope.selectedDriver.jdbc.url = driver.urlTemplate;\n $scope.selectedDriver.urlTemplate = driver.urlTemplate;\n $scope.selectedDriver.downloadDriverUrl = driver.downloadDriverUrl;\n $scope.selectedDriver.portRequired = driver.portRequired;\n $scope.classAvailable = driver.classAvailable;\n };\n\n $scope.isReadOnly = function (labelName) {\n return labelName === 'driverClass' || labelName === 'url';\n }\n\n $scope.editFile = function(file) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/editRepoFile.html',\n controller: 'EditRepositoryFileCtrl',\n resolve: {\n file: function () {\n return $scope.repositoryInfo.params[file] ? $scope.repositoryInfo.params[file].value : '';\n }\n }\n });\n\n modalInstance.result.then(function (data) {\n // send data to backend\n RepositoriesRestService.updateRepositoryFileContent(data.fileLocation, data.content, $scope.repositoryInfo.location).success(function(result) {\n $scope.ontopRepoFileNames[file] = getFileName(result.fileLocation);\n $scope.repositoryInfo.params[file].value = result.fileLocation;\n }).error(function (error) {\n showErrorMsg($translate.instant('common.error'), error);\n })\n });\n }\n\n $scope.uploadOntopRepoFile = function(files, param) {\n if (files && files.length) {\n $scope.uploadFile = files[0];\n $scope.uploadFileLoader = true;\n Upload.upload({\n url: 'rest/repositories/file/upload',\n data: {file: $scope.uploadFile, location: $scope.repositoryInfo.location}\n })\n .success(function (data) {\n if (!data.success) {\n toastr.error(data.errorMessage);\n } else {\n $scope.ontopRepoFileNames[param] = $scope.uploadFile.name;\n $scope.repositoryInfo.params[param].value = data.fileLocation;\n }\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFile = '';\n $scope.uploadFileLoader = false;\n });\n }\n }\n\n $scope.concatURL = function(labelName) {\n if (labelName === 'hostName' || labelName === 'port' || labelName === 'databaseName') {\n let result = $scope.selectedDriver.urlTemplate;\n if ($scope.selectedDriver.jdbc.hostName) {\n if ($scope.selectedDriver.jdbc.port) {\n result = result.replace('{hostport}',\n `${$scope.selectedDriver.jdbc.hostName}:${$scope.selectedDriver.jdbc.port}`);\n } else {\n result = result.replace('{hostport}', $scope.selectedDriver.jdbc.hostName);\n }\n }\n\n if ($scope.selectedDriver.jdbc.databaseName) {\n result = result.replace('{database}', $scope.selectedDriver.jdbc.databaseName);\n }\n\n $scope.selectedDriver.jdbc.url = result;\n }\n }\n\n $scope.getInputType = function (labelName) {\n switch (labelName) {\n case 'password':\n return 'password';\n case 'port':\n return 'number';\n default:\n return 'text';\n }\n }\n\n $scope.checkForRequiredOntopFiles = function () {\n // Should guarantee that code will be executed in sequential manner,\n // because properties file is not created yet\n return updateProperties()\n .then(function () {\n const missingRequired = REQUIRED_ONTOP_REPO_PARAMS.filter(function (requiredFile) {\n return !$scope.repositoryInfo.params[requiredFile].value;\n });\n if (missingRequired.length > 0) {\n toastr.error($translate.instant('ontop.repo.missing.required.file.error'));\n return Promise.reject($translate.instant('ontop.repo.missing.required.file.error'));\n }\n return Promise.resolve();\n });\n }\n\n function loadPropertiesFile() {\n RepositoriesRestService.loadPropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.repositoryInfo.location)\n .success(function (driverData) {\n const driver = $scope.loadDriverByClass(driverData.driverClass);\n // If driver class is not found means that the selected driver is a GENERIC ONE\n if (driver) {\n $scope.selectedDriver.jdbc.hostName = driverData.hostName;\n $scope.selectedDriver.jdbc.port = parseInt(driverData.port);\n $scope.selectedDriver.jdbc.databaseName = driverData.databaseName;\n $scope.selectedDriver.jdbc.userName = driverData.userName;\n $scope.selectedDriver.jdbc.password = driverData.password;\n $scope.selectedDriver.jdbc.url = driverData.url;\n }\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.validateOntopPropertiesConnection = function () {\n updateProperties()\n .then(function () {\n RepositoriesRestService.validateOntopPropertiesConnection($scope.repositoryInfo)\n .success(function () {\n toastr.success($translate.instant('ontop.repo.successful.connection.msg'));\n }).error(function (data) {\n showErrorMsg($translate.instant('ontop.repo.failed.to.connect'), data);\n });\n });\n }\n\n $scope.isOntopRepoFileUploaded = function() {\n return $scope.repositoryInfo.params.propertiesFile &&\n $scope.repositoryInfo.params.propertiesFile.value.length > 0\n };\n\n function missingRequiredField() {\n const missing = REQUIRED_PROPERTIES_FIELD_PARAMS\n .filter(function (requiredField) {\n return !$scope.selectedDriver.jdbc[requiredField]\n });\n if (missing.length > 0) {\n toastr.error($translate.instant('missing.required.field.error'));\n return true;\n }\n return false;\n }\n\n function updateProperties() {\n if ($scope.selectedDriver.driverType !== $scope.genericDriverType) {\n if (missingRequiredField()) {\n return Promise.reject($translate.instant('missing.required.field.error'));\n }\n return updatePropertiesFile();\n }\n return Promise.resolve();\n }\n\n function updatePropertiesFile() {\n $scope.uploadFileLoader = true;\n return RepositoriesRestService\n .updatePropertiesFile($scope.repositoryInfo.params[$scope.propertiesFile].value, $scope.selectedDriver.jdbc, $scope.repositoryInfo.location)\n .success(function (data) {\n $scope.ontopRepoFileNames[$scope.propertiesFile] = getFileName(data.fileLocation);\n $scope.repositoryInfo.params[$scope.propertiesFile].value = data.fileLocation;\n $scope.uploadFileLoader = false;\n }).error(function (data) {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFileLoader = false;\n });\n }\n\n $scope.isRequiredOntopRepoFile = function(file) {\n return REQUIRED_ONTOP_REPO_PARAMS.indexOf(file) > -1;\n };\n\n $scope.isRequiredField = function (field) {\n return REQUIRED_PROPERTIES_FIELD_PARAMS.indexOf(field) > -1\n || field === 'port' && $scope.selectedDriver.portRequired;\n };\n\n $scope.getFieldTooltip = function (field) {\n if (field === 'port' && $scope.selectedDriver.portRequired) {\n field = 'portIfRequired';\n }\n return $translate.instant('repoTooltips.ontop.' + field);\n };\n\n $scope.editOntopRepo = function () {\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.editRepository();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n }\n\n $scope.createOntopRepo = function () {\n if (!$scope.repositoryInfo.id) {\n toastr.error($translate.instant('empty.repoid.warning'));\n return;\n }\n\n $scope.checkForRequiredOntopFiles()\n .then(function () {\n $scope.createRepo();\n }).catch(function (err) {\n // The catch block is empty, because error is handled in promise\n });\n };\n\n $scope.goBackToPrevious = function () {\n $scope.goBackToPreviousLocation();\n }\n\n function showErrorMsg (title, data) {\n const msg = getError(data);\n toastr.error(msg, title);\n }\n\n getSupportedDriversData()\n .then(function () {\n if ($scope.editRepoPage) {\n loadPropertiesFile();\n }\n });\n }\n}\n"],"sourceRoot":""}