graphdb-workbench 2.1.0-RC1 → 2.1.0-RC3
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/{11.7d07164f552bc27c327e.bundle.js → 11.7e4dcae789c43fc6131e.bundle.js} +2 -2
- package/dist/11.7e4dcae789c43fc6131e.bundle.js.map +1 -0
- package/dist/134.674fc334ea03aadba240.bundle.js +1 -1
- package/dist/134.674fc334ea03aadba240.bundle.js.map +1 -1
- package/dist/18.b39247b09bf69883801d.bundle.js +1 -1
- package/dist/18.b39247b09bf69883801d.bundle.js.map +1 -1
- package/dist/{25.e39c618ca1d1636339cf.bundle.js → 25.4aee6f444ae15b393a95.bundle.js} +2 -2
- package/dist/25.4aee6f444ae15b393a95.bundle.js.map +1 -0
- package/dist/30.aa58eb05e16cb046b2bc.bundle.js +1 -1
- package/dist/30.aa58eb05e16cb046b2bc.bundle.js.map +1 -1
- package/dist/31.27bb6cb77874c106bdf3.bundle.js +1 -1
- package/dist/31.27bb6cb77874c106bdf3.bundle.js.map +1 -1
- package/dist/{5.53c0a20d56d6828fa504.bundle.js → 5.e6ebc1c858a5b922c8fb.bundle.js} +2 -2
- package/dist/5.e6ebc1c858a5b922c8fb.bundle.js.map +1 -0
- package/dist/70.9a3a49005f2f0f088bf0.bundle.js +2 -0
- package/dist/70.9a3a49005f2f0f088bf0.bundle.js.map +1 -0
- package/dist/71.997880006015b3f246cc.bundle.js +2 -0
- package/dist/71.997880006015b3f246cc.bundle.js.map +1 -0
- package/dist/73.2f485c964b689f1e927a.bundle.js +2 -0
- package/dist/73.2f485c964b689f1e927a.bundle.js.map +1 -0
- package/dist/75.7e5798d90571469de255.bundle.js +2 -0
- package/dist/75.7e5798d90571469de255.bundle.js.map +1 -0
- package/dist/77.4e84abd9b025b1812617.bundle.js +2 -0
- package/dist/77.4e84abd9b025b1812617.bundle.js.map +1 -0
- package/dist/78.931509bfe1d61d91eb06.bundle.js +2 -0
- package/dist/78.931509bfe1d61d91eb06.bundle.js.map +1 -0
- package/dist/79.ac5cb425c55f53b96a37.bundle.js +2 -0
- package/dist/79.ac5cb425c55f53b96a37.bundle.js.map +1 -0
- package/dist/{80.6dd83199b3a62951ba72.bundle.js → 80.e250a6936fcc15642e07.bundle.js} +1 -1
- package/dist/80.e250a6936fcc15642e07.bundle.js.map +1 -0
- package/dist/82.5546d65e41f31a410b86.bundle.js +1 -1
- package/dist/82.5546d65e41f31a410b86.bundle.js.map +1 -1
- package/dist/{bundle.cca41098c7f6b7b6d221.bundle.js → bundle.22ecad5921060aa35ed6.bundle.js} +11 -11
- package/dist/bundle.22ecad5921060aa35ed6.bundle.js.map +1 -0
- package/dist/i18n/locale-en.json +18 -10
- package/dist/i18n/locale-fr.json +7 -6
- package/dist/index.html +3 -3
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.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 +3 -3
- package/dist/pages/create-index.html +4 -4
- 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 +11 -11
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +5 -5
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +2 -2
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +8 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +2 -2
- package/dist/pages/repository.html +42 -11
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-template-create.html +5 -5
- package/dist/pages/sparql.html +3 -3
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins.js +172 -61
- package/dist/res/swagger/index.html +27 -27
- package/package.json +1 -1
- package/dist/11.7d07164f552bc27c327e.bundle.js.map +0 -1
- package/dist/25.e39c618ca1d1636339cf.bundle.js.map +0 -1
- package/dist/5.53c0a20d56d6828fa504.bundle.js.map +0 -1
- package/dist/70.24c74a3f706feb476c62.bundle.js +0 -2
- package/dist/70.24c74a3f706feb476c62.bundle.js.map +0 -1
- package/dist/71.0ab35e02331bebfd8b68.bundle.js +0 -2
- package/dist/71.0ab35e02331bebfd8b68.bundle.js.map +0 -1
- package/dist/73.cc31681a2d4d7c0fe2ba.bundle.js +0 -2
- package/dist/73.cc31681a2d4d7c0fe2ba.bundle.js.map +0 -1
- package/dist/75.f3535bf8818b4fe6d4ba.bundle.js +0 -2
- package/dist/75.f3535bf8818b4fe6d4ba.bundle.js.map +0 -1
- package/dist/77.4c80919e2b84b3b99cb9.bundle.js +0 -2
- package/dist/77.4c80919e2b84b3b99cb9.bundle.js.map +0 -1
- package/dist/78.be1f229c9fa413560a77.bundle.js +0 -2
- package/dist/78.be1f229c9fa413560a77.bundle.js.map +0 -1
- package/dist/79.58a71128203d7abe5973.bundle.js +0 -2
- package/dist/79.58a71128203d7abe5973.bundle.js.map +0 -1
- package/dist/80.6dd83199b3a62951ba72.bundle.js.map +0 -1
- package/dist/bundle.cca41098c7f6b7b6d221.bundle.js.map +0 -1
package/dist/plugins.js
CHANGED
|
@@ -299,8 +299,8 @@ PluginRegistry.add('guide.step', [
|
|
|
299
299
|
content: '',
|
|
300
300
|
extraContent: options.introExtraContent,
|
|
301
301
|
url: '/hierarchy',
|
|
302
|
-
elementSelector: '#classChart',
|
|
303
|
-
placement: '
|
|
302
|
+
elementSelector: '#classChart #main-group',
|
|
303
|
+
placement: 'left'
|
|
304
304
|
}, options)
|
|
305
305
|
});
|
|
306
306
|
}
|
|
@@ -313,6 +313,7 @@ PluginRegistry.add('guide.step', [
|
|
|
313
313
|
options: angular.extend({}, {
|
|
314
314
|
content: 'guide.step_plugin.class_hierarchy_zoom.content',
|
|
315
315
|
url: '/hierarchy',
|
|
316
|
+
placement: 'left',
|
|
316
317
|
elementSelector: selector,
|
|
317
318
|
onNextClick: (guide, step) => {
|
|
318
319
|
GuideUtils.classHierarchyZoom(step.elementSelector);
|
|
@@ -327,6 +328,8 @@ PluginRegistry.add('guide.step', [
|
|
|
327
328
|
content: '',
|
|
328
329
|
extraContent: zoomIri.postExtraContent,
|
|
329
330
|
url: '/hierarchy',
|
|
331
|
+
placement: 'left',
|
|
332
|
+
beforeShowPromise: GuideUtils.deferredShow(800),
|
|
330
333
|
elementSelector: selector
|
|
331
334
|
}, options)
|
|
332
335
|
});
|
|
@@ -467,6 +470,8 @@ PluginRegistry.add('guide.step', [
|
|
|
467
470
|
const GuideUtils = services.GuideUtils;
|
|
468
471
|
options.mainAction = 'create-repository';
|
|
469
472
|
|
|
473
|
+
const repositoryIdInputSelector = GuideUtils.getGuideElementSelector('graphDBRepositoryIdInput');
|
|
474
|
+
const repositoryId = options.repositoryId;
|
|
470
475
|
const steps = [
|
|
471
476
|
{
|
|
472
477
|
guideBlockName: 'click-main-menu',
|
|
@@ -496,19 +501,20 @@ PluginRegistry.add('guide.step', [
|
|
|
496
501
|
options: angular.extend({}, {
|
|
497
502
|
content: 'guide.step_plugin.create_repository.repository_id.content',
|
|
498
503
|
url: '/repository/create/graphdb',
|
|
499
|
-
elementSelector:
|
|
500
|
-
onNextValidate: (
|
|
504
|
+
elementSelector: repositoryIdInputSelector,
|
|
505
|
+
onNextValidate: () => GuideUtils.validateTextInput(repositoryIdInputSelector, repositoryId)
|
|
501
506
|
}, options)
|
|
502
507
|
}
|
|
503
508
|
];
|
|
504
509
|
|
|
505
|
-
if (
|
|
510
|
+
if (options.rulesetName) {
|
|
506
511
|
steps.push({
|
|
507
512
|
guideBlockName: 'clickable-element',
|
|
508
513
|
options: angular.extend({}, {
|
|
509
514
|
content: 'guide.step_plugin.create_repository.ruleset_dropdown.content',
|
|
510
515
|
url: '/repository/create/graphdb',
|
|
511
516
|
elementSelector: GuideUtils.getGuideElementSelector('graphDBRepositoryRulesetSelect'),
|
|
517
|
+
show: () => GuideUtils.validateTextInput(repositoryIdInputSelector, repositoryId),
|
|
512
518
|
rulesetName: options.rulesetName
|
|
513
519
|
}, options)
|
|
514
520
|
});
|
|
@@ -519,6 +525,7 @@ PluginRegistry.add('guide.step', [
|
|
|
519
525
|
content: 'guide.step_plugin.create_repository.save_button.content',
|
|
520
526
|
url: '/repository/create/graphdb',
|
|
521
527
|
elementSelector: GuideUtils.getGuideElementSelector('graphDBRepositoryCrateButton'),
|
|
528
|
+
show: () => GuideUtils.validateTextInput(repositoryIdInputSelector, repositoryId),
|
|
522
529
|
onNextClick: GuideUtils.clickOnGuideElement('graphDBRepositoryCrateButton')
|
|
523
530
|
}, options)
|
|
524
531
|
});
|
|
@@ -551,8 +558,12 @@ PluginRegistry.add('guide.step', [
|
|
|
551
558
|
guideBlockName: 'enable-autocomplete',
|
|
552
559
|
getSteps: (options, services) => {
|
|
553
560
|
const GuideUtils = services.GuideUtils;
|
|
561
|
+
const toastr = services.toastr;
|
|
562
|
+
const $translate = services.$translate;
|
|
563
|
+
const $interpolate = services.$interpolate;
|
|
554
564
|
options.mainAction = 'enable-autocomplete';
|
|
555
565
|
|
|
566
|
+
const autocompleteCheckboxSelector = GuideUtils.getGuideElementSelector('autocompleteCheckbox');
|
|
556
567
|
return [
|
|
557
568
|
{
|
|
558
569
|
guideBlockName: 'click-main-menu',
|
|
@@ -561,31 +572,46 @@ PluginRegistry.add('guide.step', [
|
|
|
561
572
|
showIntro: true
|
|
562
573
|
}, options)
|
|
563
574
|
}, {
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
575
|
+
guideBlockName: 'clickable-element',
|
|
576
|
+
options: angular.extend({}, {
|
|
577
|
+
content: 'guide.step_plugin.enable-autocomplete.content',
|
|
578
|
+
url: '/autocomplete',
|
|
579
|
+
elementSelector: autocompleteCheckboxSelector,
|
|
580
|
+
// Disable default behavior of service when element is clicked.
|
|
581
|
+
advanceOn: undefined,
|
|
582
|
+
show: (guide) => () => {
|
|
583
|
+
// Added listener to the element.
|
|
584
|
+
$(autocompleteCheckboxSelector)
|
|
585
|
+
.on('mouseup.autocompleteCheckboxClick', function () {
|
|
586
|
+
// If autocomplete is enabled go to the next step.
|
|
587
|
+
if (!GuideUtils.isGuideElementChecked('autocompleteCheckbox', ' input')) {
|
|
588
|
+
guide.next();
|
|
589
|
+
}
|
|
590
|
+
});
|
|
591
|
+
},
|
|
592
|
+
hide: () => () => {
|
|
593
|
+
// Remove ths listener from element. It is important when step is hided.
|
|
594
|
+
$(autocompleteCheckboxSelector).off('mouseup.autocompleteCheckboxClick');
|
|
595
|
+
},
|
|
596
|
+
onNextValidate: () => {
|
|
597
|
+
if (!GuideUtils.isGuideElementChecked('autocompleteCheckbox', ' input')) {
|
|
598
|
+
GuideUtils.noNextErrorToast(toastr, $translate, $interpolate, 'guide.step_plugin.enable-autocomplete.error', options);
|
|
599
|
+
return false;
|
|
600
|
+
}
|
|
601
|
+
return true;
|
|
602
|
+
}
|
|
603
|
+
}, options)
|
|
604
|
+
},
|
|
580
605
|
{
|
|
581
606
|
guideBlockName: 'read-only-element',
|
|
582
607
|
options: angular.extend({}, {
|
|
583
608
|
content: 'guide.step_plugin.enable-autocomplete.status_info.content',
|
|
584
609
|
url: '/autocomplete',
|
|
585
|
-
elementSelector: GuideUtils.getGuideElementSelector('autocompleteStatus')
|
|
610
|
+
elementSelector: GuideUtils.getGuideElementSelector('autocompleteStatus'),
|
|
611
|
+
canBePaused: false
|
|
586
612
|
}, options)
|
|
587
613
|
}
|
|
588
|
-
]
|
|
614
|
+
];
|
|
589
615
|
}
|
|
590
616
|
}
|
|
591
617
|
]);
|
|
@@ -760,6 +786,7 @@ PluginRegistry.add('guide.step', [
|
|
|
760
786
|
);
|
|
761
787
|
}
|
|
762
788
|
|
|
789
|
+
const importSettingsButtonSelector = GuideUtils.getGuideElementSelector('import-settings-import-button');
|
|
763
790
|
steps.push(...[
|
|
764
791
|
{
|
|
765
792
|
guideBlockName: 'clickable-element',
|
|
@@ -767,6 +794,21 @@ PluginRegistry.add('guide.step', [
|
|
|
767
794
|
content: 'guide.step_plugin.import_rdf_file.content',
|
|
768
795
|
url: '/import',
|
|
769
796
|
elementSelector: GuideUtils.getGuideElementSelector('uploadRdfFileButton'),
|
|
797
|
+
// Disable default behavior of service when element is clicked.
|
|
798
|
+
advanceOn: undefined,
|
|
799
|
+
show: (guide) => () => {
|
|
800
|
+
// Add "change" listener to the file upload input, it will be triggered when a file is selected.
|
|
801
|
+
$('#ngf-wb-import-uploadFile')
|
|
802
|
+
.on('change.importRdfFile', function () {
|
|
803
|
+
// Check if expected file is selected, then process to the next step.
|
|
804
|
+
GuideUtils.waitFor(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile), 2)
|
|
805
|
+
.then(() => guide.next());
|
|
806
|
+
});
|
|
807
|
+
},
|
|
808
|
+
hide: () => () => {
|
|
809
|
+
// Remove ths listener from element. It is important when step is hided.
|
|
810
|
+
$('#ngf-wb-import-uploadFile').off('change.importRdfFile');
|
|
811
|
+
},
|
|
770
812
|
onNextValidate: () => {
|
|
771
813
|
if (!$(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile)).length) {
|
|
772
814
|
GuideUtils.noNextErrorToast(toastr, $translate, $interpolate,
|
|
@@ -792,12 +834,25 @@ PluginRegistry.add('guide.step', [
|
|
|
792
834
|
guideBlockName: 'clickable-element',
|
|
793
835
|
options: angular.extend({}, {
|
|
794
836
|
content: 'guide.step_plugin.import_rdf_file.import-settings.import.button.content',
|
|
795
|
-
elementSelector:
|
|
837
|
+
elementSelector: importSettingsButtonSelector,
|
|
796
838
|
placement: 'top',
|
|
797
|
-
onPreviousClick: (
|
|
839
|
+
onPreviousClick: () => new Promise(function (resolve) {
|
|
798
840
|
GuideUtils.clickOnGuideElement('import-settings-cancel-button')()
|
|
799
841
|
.then(() => resolve());
|
|
800
842
|
}),
|
|
843
|
+
beforeShowPromise: () => new Promise(function (resolve, reject) {
|
|
844
|
+
services.GuideUtils.deferredShow(300)()
|
|
845
|
+
.then(() => {
|
|
846
|
+
services.GuideUtils.waitFor(importSettingsButtonSelector, 3)
|
|
847
|
+
.then(() => {
|
|
848
|
+
resolve();
|
|
849
|
+
})
|
|
850
|
+
.catch((error) => {
|
|
851
|
+
services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));
|
|
852
|
+
reject(error);
|
|
853
|
+
});
|
|
854
|
+
});
|
|
855
|
+
}),
|
|
801
856
|
onNextClick: () => GuideUtils.clickOnGuideElement('import-settings-import-button')(),
|
|
802
857
|
canBePaused: false
|
|
803
858
|
}, options)
|
|
@@ -808,10 +863,10 @@ PluginRegistry.add('guide.step', [
|
|
|
808
863
|
content: 'guide.step_plugin.import_status_info.content',
|
|
809
864
|
url: '/import',
|
|
810
865
|
elementSelector: GuideUtils.getGuideElementSelector('import-status-info'),
|
|
811
|
-
onPreviousClick: (
|
|
866
|
+
onPreviousClick: () => new Promise(function (resolve) {
|
|
812
867
|
GuideUtils.clickOnGuideElement('import-file-' + options.resourceFile)()
|
|
813
|
-
.then(() => resolve())
|
|
814
|
-
})
|
|
868
|
+
.then(() => resolve());
|
|
869
|
+
})
|
|
815
870
|
}, options)
|
|
816
871
|
}
|
|
817
872
|
]);
|
|
@@ -960,6 +1015,7 @@ PluginRegistry.add('guide.step', [
|
|
|
960
1015
|
const GuideUtils = services.GuideUtils;
|
|
961
1016
|
options.mainAction = 'select-repository';
|
|
962
1017
|
|
|
1018
|
+
let repositoryButtonSelector = GuideUtils.getGuideElementSelector(`repository-${options.repositoryId}-button`);
|
|
963
1019
|
return [{
|
|
964
1020
|
guideBlockName: 'clickable-element',
|
|
965
1021
|
options: angular.extend({}, {
|
|
@@ -972,8 +1028,17 @@ PluginRegistry.add('guide.step', [
|
|
|
972
1028
|
guideBlockName: 'clickable-element',
|
|
973
1029
|
options: angular.extend({}, {
|
|
974
1030
|
content: 'guide.step_plugin.select-repository.content',
|
|
975
|
-
elementSelector:
|
|
976
|
-
|
|
1031
|
+
elementSelector: repositoryButtonSelector,
|
|
1032
|
+
beforeShowPromise: () => new Promise(function (resolve, reject) {
|
|
1033
|
+
services.GuideUtils.waitFor(repositoryButtonSelector, 1)
|
|
1034
|
+
.then(() => resolve())
|
|
1035
|
+
.catch((error) => {
|
|
1036
|
+
services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));
|
|
1037
|
+
reject(error);
|
|
1038
|
+
});
|
|
1039
|
+
}),
|
|
1040
|
+
onNextClick: (guide) => GuideUtils.clickOnGuideElement(`repository-${options.repositoryId}-button`)().then(() => guide.next()),
|
|
1041
|
+
canBePaused: false
|
|
977
1042
|
}, options)
|
|
978
1043
|
}
|
|
979
1044
|
];
|
|
@@ -1008,7 +1073,6 @@ PluginRegistry.add('guide.step', [
|
|
|
1008
1073
|
guideBlockName: 'clickable-element',
|
|
1009
1074
|
options: angular.extend({}, {
|
|
1010
1075
|
content: 'guide.step-intro.table-graph',
|
|
1011
|
-
skipPoint: true,
|
|
1012
1076
|
scrollToHandler: GuideUtils.scrollToTop,
|
|
1013
1077
|
elementSelector: GuideUtils.getSparqlResultsSelectorForIri(options.iri),
|
|
1014
1078
|
onNextClick: (guide, step) => {
|
|
@@ -1022,7 +1086,7 @@ PluginRegistry.add('guide.step', [
|
|
|
1022
1086
|
options: angular.extend({}, {
|
|
1023
1087
|
content: 'guide.step_plugin.table-graph-overview',
|
|
1024
1088
|
scrollToHandler: GuideUtils.scrollToTop,
|
|
1025
|
-
elementSelector: GuideUtils.getSparqlResultsSelector(),
|
|
1089
|
+
elementSelector: GuideUtils.getSparqlResultsSelector() + ' tbody',
|
|
1026
1090
|
placement: 'top'
|
|
1027
1091
|
}, options)
|
|
1028
1092
|
}
|
|
@@ -1095,7 +1159,7 @@ PluginRegistry.add('guide.step', [
|
|
|
1095
1159
|
steps.push({
|
|
1096
1160
|
guideBlockName: 'read-only-element',
|
|
1097
1161
|
options: angular.extend({}, {
|
|
1098
|
-
elementSelector: GuideUtils.getSparqlResultsSelector()
|
|
1162
|
+
elementSelector: GuideUtils.getSparqlResultsSelector() + ' tbody'
|
|
1099
1163
|
}, angular.extend({}, options, subStep))
|
|
1100
1164
|
});
|
|
1101
1165
|
}
|
|
@@ -1107,13 +1171,13 @@ PluginRegistry.add('guide.step', [
|
|
|
1107
1171
|
}
|
|
1108
1172
|
]);
|
|
1109
1173
|
|
|
1110
|
-
const disableAllNodes = () => () =>{
|
|
1174
|
+
const disableAllNodes = () => () => {
|
|
1111
1175
|
$('.node-wrapper').addClass('disable-visual-graph-node');
|
|
1112
|
-
}
|
|
1176
|
+
};
|
|
1113
1177
|
|
|
1114
1178
|
const enableAllNodes = () => () => {
|
|
1115
1179
|
$('.node-wrapper').removeClass('disable-visual-graph-node');
|
|
1116
|
-
}
|
|
1180
|
+
};
|
|
1117
1181
|
|
|
1118
1182
|
PluginRegistry.add('guide.step', [
|
|
1119
1183
|
{
|
|
@@ -1160,13 +1224,13 @@ PluginRegistry.add('guide.step', [
|
|
|
1160
1224
|
onPreviousClick: () => new Promise(function (resolve, reject) {
|
|
1161
1225
|
$location.url('/graphs-visualizations');
|
|
1162
1226
|
$route.reload();
|
|
1163
|
-
|
|
1227
|
+
const searchInputSelector = GuideUtils.getGuideElementSelector('graphVisualisationSearchInputNotConfigured', ' input');
|
|
1164
1228
|
GuideUtils.waitFor(searchInputSelector, 3)
|
|
1165
1229
|
.then(() => {
|
|
1166
1230
|
GuideUtils.validateTextInput(searchInputSelector, options.easyGraphInputText);
|
|
1167
1231
|
resolve();
|
|
1168
1232
|
})
|
|
1169
|
-
.catch(() => reject());
|
|
1233
|
+
.catch((error) => reject(error));
|
|
1170
1234
|
}),
|
|
1171
1235
|
canBePaused: false,
|
|
1172
1236
|
forceReload: true
|
|
@@ -1182,6 +1246,17 @@ PluginRegistry.add('guide.step', [
|
|
|
1182
1246
|
const $rootScope = services.$rootScope;
|
|
1183
1247
|
const $route = services.$route;
|
|
1184
1248
|
const elementSelector = `.node-wrapper[id^="${options.iri}"] circle`;
|
|
1249
|
+
|
|
1250
|
+
// Expands visual graph when a node is double-clicked.
|
|
1251
|
+
const dblClickFunction = (guide) => () => {
|
|
1252
|
+
GuideUtils.graphVizExpandNode(elementSelector);
|
|
1253
|
+
guide.getCurrentStep().hide();
|
|
1254
|
+
GuideUtils.awaitAlphaDropD3(null, $rootScope)()
|
|
1255
|
+
.then(() => {
|
|
1256
|
+
guide.next();
|
|
1257
|
+
});
|
|
1258
|
+
};
|
|
1259
|
+
|
|
1185
1260
|
return [
|
|
1186
1261
|
{
|
|
1187
1262
|
guideBlockName: 'clickable-element',
|
|
@@ -1191,10 +1266,8 @@ PluginRegistry.add('guide.step', [
|
|
|
1191
1266
|
url: '/graphs-visualizations',
|
|
1192
1267
|
canBePaused: false,
|
|
1193
1268
|
elementSelector,
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
event: 'dblclick'
|
|
1197
|
-
},
|
|
1269
|
+
// Disable default behavior of service when element is clicked.
|
|
1270
|
+
advanceOn: undefined,
|
|
1198
1271
|
onNextClick: (guide, stepDescription) => {
|
|
1199
1272
|
GuideUtils.graphVizExpandNode(stepDescription.elementSelector);
|
|
1200
1273
|
guide.getCurrentStep().hide();
|
|
@@ -1203,15 +1276,24 @@ PluginRegistry.add('guide.step', [
|
|
|
1203
1276
|
guide.next();
|
|
1204
1277
|
});
|
|
1205
1278
|
},
|
|
1279
|
+
show: (guide) => () => {
|
|
1280
|
+
// Add "dblclick" listener to the element. Processing of double-click event is disabled for the visual graph when guide is started.
|
|
1281
|
+
// So we have expanded the graph manually when a selected node is double-clicked.
|
|
1282
|
+
$(elementSelector).on('dblclick.onNodeDbClicked', dblClickFunction(guide));
|
|
1283
|
+
},
|
|
1284
|
+
hide: () => () => {
|
|
1285
|
+
// Remove the "dblclick" listener of element. It is important when step is hided.
|
|
1286
|
+
$(elementSelector).off('dblclick.onNodeDbClicked');
|
|
1287
|
+
},
|
|
1206
1288
|
beforeShowPromise: () => new Promise(function (resolve, reject) {
|
|
1207
1289
|
$route.reload();
|
|
1208
1290
|
GuideUtils.deferredShow(50)()
|
|
1209
1291
|
.then(() => {
|
|
1210
1292
|
GuideUtils.awaitAlphaDropD3(elementSelector, $rootScope)()
|
|
1211
1293
|
.then(() => resolve())
|
|
1212
|
-
.catch(() => reject());
|
|
1294
|
+
.catch((error) => reject(error));
|
|
1213
1295
|
});
|
|
1214
|
-
})
|
|
1296
|
+
})
|
|
1215
1297
|
}, options)
|
|
1216
1298
|
}
|
|
1217
1299
|
];
|
|
@@ -1223,6 +1305,28 @@ PluginRegistry.add('guide.step', [
|
|
|
1223
1305
|
const GuideUtils = services.GuideUtils;
|
|
1224
1306
|
const $rootScope = services.$rootScope;
|
|
1225
1307
|
const elementSelector = `.node-wrapper[id^="${options.iri}"] circle`;
|
|
1308
|
+
|
|
1309
|
+
let mouseClickTimeStamp;
|
|
1310
|
+
let mouseEventTimer;
|
|
1311
|
+
|
|
1312
|
+
// Expands Node info sidebar panel when a node is clicked.
|
|
1313
|
+
const onClick = (services, guide) => (event) => {
|
|
1314
|
+
if (mouseEventTimer) {
|
|
1315
|
+
// Cancels expansion of the sidebar panel if user double-clicked.
|
|
1316
|
+
if (event.timeStamp - mouseClickTimeStamp < 400) {
|
|
1317
|
+
services.$timeout.cancel(mouseEventTimer);
|
|
1318
|
+
mouseEventTimer = null;
|
|
1319
|
+
}
|
|
1320
|
+
} else {
|
|
1321
|
+
mouseClickTimeStamp = event.timeStamp;
|
|
1322
|
+
mouseEventTimer = services.$timeout(function () {
|
|
1323
|
+
GuideUtils.graphVizShowNodeInfo(elementSelector);
|
|
1324
|
+
mouseEventTimer = null;
|
|
1325
|
+
guide.next();
|
|
1326
|
+
}, 500);
|
|
1327
|
+
}
|
|
1328
|
+
};
|
|
1329
|
+
|
|
1226
1330
|
const steps = [
|
|
1227
1331
|
{
|
|
1228
1332
|
guideBlockName: 'clickable-element',
|
|
@@ -1232,9 +1336,16 @@ PluginRegistry.add('guide.step', [
|
|
|
1232
1336
|
url: '/graphs-visualizations',
|
|
1233
1337
|
elementSelector,
|
|
1234
1338
|
canBePaused: false,
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1339
|
+
// Disable default behavior of service when element is clicked.
|
|
1340
|
+
advanceOn: undefined,
|
|
1341
|
+
show: (guide) => () => {
|
|
1342
|
+
// Add "click" listener to the element. Processing of click event is disabled for the visual graph when guide is started.
|
|
1343
|
+
// So we have to open side panel info manually when a selected node is clicked.
|
|
1344
|
+
$(elementSelector).on('click.onNodeClicked', onClick(services, guide));
|
|
1345
|
+
},
|
|
1346
|
+
hide: () => () => {
|
|
1347
|
+
// Remove the "click" listener of element. It is important when step is hided.
|
|
1348
|
+
$(elementSelector).off('click.onNodeClicked');
|
|
1238
1349
|
},
|
|
1239
1350
|
onNextClick: (guide, step) => {
|
|
1240
1351
|
GuideUtils.graphVizShowNodeInfo(step.elementSelector);
|
|
@@ -1256,7 +1367,7 @@ PluginRegistry.add('guide.step', [
|
|
|
1256
1367
|
onPreviousClick: () => new Promise(function (resolve) {
|
|
1257
1368
|
GuideUtils.waitFor(closeButtonSelector, 3)
|
|
1258
1369
|
.then(() => {
|
|
1259
|
-
$(closeButtonSelector).trigger('click')
|
|
1370
|
+
$(closeButtonSelector).trigger('click');
|
|
1260
1371
|
resolve();
|
|
1261
1372
|
}).catch(() => resolve());
|
|
1262
1373
|
})
|
|
@@ -1265,7 +1376,7 @@ PluginRegistry.add('guide.step', [
|
|
|
1265
1376
|
];
|
|
1266
1377
|
|
|
1267
1378
|
if (angular.isArray(options.focusProperties)) {
|
|
1268
|
-
options.focusProperties.forEach(focusProperty => {
|
|
1379
|
+
options.focusProperties.forEach((focusProperty) => {
|
|
1269
1380
|
if (!angular.isObject(focusProperty)) {
|
|
1270
1381
|
focusProperty = {
|
|
1271
1382
|
property: focusProperty
|
|
@@ -1382,11 +1493,11 @@ const BASIC_STEP = {
|
|
|
1382
1493
|
};
|
|
1383
1494
|
|
|
1384
1495
|
/**
|
|
1385
|
-
* This function will be
|
|
1386
|
-
* @param
|
|
1387
|
-
* @param
|
|
1388
|
-
* @param
|
|
1389
|
-
* @
|
|
1496
|
+
* This function will be called before show a step. Step will be shown after promise is resolve. It waits element of step to be visible on the page.
|
|
1497
|
+
* @param {*} services
|
|
1498
|
+
* @param {string} elementSelector
|
|
1499
|
+
* @param {number} maxWaitTime
|
|
1500
|
+
* @return {function(): *}
|
|
1390
1501
|
*/
|
|
1391
1502
|
const beforeShowPromise = (services, elementSelector, maxWaitTime) => {
|
|
1392
1503
|
return () => {
|
|
@@ -1397,22 +1508,22 @@ const beforeShowPromise = (services, elementSelector, maxWaitTime) => {
|
|
|
1397
1508
|
// throw the error, otherwise guide will continue with the next step.
|
|
1398
1509
|
throw error;
|
|
1399
1510
|
});
|
|
1400
|
-
}
|
|
1401
|
-
}
|
|
1511
|
+
};
|
|
1512
|
+
};
|
|
1402
1513
|
|
|
1403
1514
|
PluginRegistry.add('guide.step', [
|
|
1404
1515
|
{
|
|
1405
1516
|
guideBlockName: 'clickable-element',
|
|
1406
1517
|
getStep: (options, services) => {
|
|
1407
1518
|
const notOverridable = {
|
|
1408
|
-
type: 'clickable'
|
|
1519
|
+
type: 'clickable'
|
|
1409
1520
|
};
|
|
1410
1521
|
|
|
1411
1522
|
const stepDescription = angular.extend({}, BASIC_STEP, {
|
|
1412
1523
|
advanceOn: {
|
|
1413
1524
|
selector: options.elementSelector,
|
|
1414
1525
|
event: 'click'
|
|
1415
|
-
}
|
|
1526
|
+
}
|
|
1416
1527
|
}, options, notOverridable);
|
|
1417
1528
|
|
|
1418
1529
|
if (!stepDescription.beforeShowPromise) {
|
|
@@ -1425,7 +1536,7 @@ PluginRegistry.add('guide.step', [
|
|
|
1425
1536
|
guideBlockName: 'read-only-element',
|
|
1426
1537
|
getStep: (options, services) => {
|
|
1427
1538
|
const notOverridable = {
|
|
1428
|
-
type: 'readonly'
|
|
1539
|
+
type: 'readonly'
|
|
1429
1540
|
};
|
|
1430
1541
|
const stepDescription = angular.extend({}, BASIC_STEP, options, notOverridable);
|
|
1431
1542
|
if (!stepDescription.beforeShowPromise) {
|
|
@@ -1438,7 +1549,7 @@ PluginRegistry.add('guide.step', [
|
|
|
1438
1549
|
guideBlockName: 'input-element',
|
|
1439
1550
|
getStep: (options, services) => {
|
|
1440
1551
|
const notOverridable = {
|
|
1441
|
-
type: 'input'
|
|
1552
|
+
type: 'input'
|
|
1442
1553
|
};
|
|
1443
1554
|
const stepDescription = angular.extend({}, BASIC_STEP, options, notOverridable);
|
|
1444
1555
|
if (!stepDescription.beforeShowPromise) {
|
|
@@ -1451,7 +1562,7 @@ PluginRegistry.add('guide.step', [
|
|
|
1451
1562
|
guideBlockName: 'info-message',
|
|
1452
1563
|
getStep: (options) => {
|
|
1453
1564
|
const notOverridable = {
|
|
1454
|
-
type: 'readonly'
|
|
1565
|
+
type: 'readonly'
|
|
1455
1566
|
};
|
|
1456
1567
|
return angular.extend({}, BASIC_STEP, options, notOverridable);
|
|
1457
1568
|
}
|
|
@@ -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.1.0-
|
|
7
|
-
<link rel="icon" type="image/png" href="images/favicon-16x16.png?v=2.1.0-
|
|
8
|
-
<link href='../../css/common.css?v=2.1.0-
|
|
9
|
-
<link href='css/reset.css?v=2.1.0-
|
|
10
|
-
<link href='css/screen.css?v=2.1.0-
|
|
11
|
-
<link href='css/onto-theme.css?v=2.1.0-
|
|
12
|
-
<link href='css/reset.css?v=2.1.0-
|
|
13
|
-
<link href='css/print.css?v=2.1.0-
|
|
14
|
-
<link href='css/onto-theme.css?v=2.1.0-
|
|
6
|
+
<link rel="icon" type="image/png" href="images/favicon-32x32.png?v=2.1.0-RC3" sizes="32x32"/>
|
|
7
|
+
<link rel="icon" type="image/png" href="images/favicon-16x16.png?v=2.1.0-RC3" sizes="16x16"/>
|
|
8
|
+
<link href='../../css/common.css?v=2.1.0-RC3' media='screen' rel='stylesheet' type='text/css'/>
|
|
9
|
+
<link href='css/reset.css?v=2.1.0-RC3' media='screen' rel='stylesheet' type='text/css'/>
|
|
10
|
+
<link href='css/screen.css?v=2.1.0-RC3' media='screen' rel='stylesheet' type='text/css'/>
|
|
11
|
+
<link href='css/onto-theme.css?v=2.1.0-RC3' media='screen' rel='stylesheet' type='text/css'/>
|
|
12
|
+
<link href='css/reset.css?v=2.1.0-RC3' media='print' rel='stylesheet' type='text/css'/>
|
|
13
|
+
<link href='css/print.css?v=2.1.0-RC3' media='print' rel='stylesheet' type='text/css'/>
|
|
14
|
+
<link href='css/onto-theme.css?v=2.1.0-RC3' media='print' rel='stylesheet' type='text/css'/>
|
|
15
15
|
|
|
16
|
-
<script src='lib/object-assign-pollyfill.js?v=2.1.0-
|
|
17
|
-
<script src='lib/jquery-3.4.1.min.js?v=2.1.0-
|
|
18
|
-
<script src='lib/jquery.slideto.min.js?v=2.1.0-
|
|
19
|
-
<script src='lib/jquery.wiggle.min.js?v=2.1.0-
|
|
16
|
+
<script src='lib/object-assign-pollyfill.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
17
|
+
<script src='lib/jquery-3.4.1.min.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
18
|
+
<script src='lib/jquery.slideto.min.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
19
|
+
<script src='lib/jquery.wiggle.min.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
20
20
|
|
|
21
|
-
<script src="lib/jquery-migrate-1.4.1.min.js?v=2.1.0-
|
|
22
|
-
<script src='lib/jquery.ba-bbq.min.js?v=2.1.0-
|
|
23
|
-
<script src='lib/handlebars.min-v4.7.3.js?v=2.1.0-
|
|
24
|
-
<script src='lib/lodash.min.js?v=2.1.0-
|
|
25
|
-
<script src='lib/backbone-min.js?v=2.1.0-
|
|
26
|
-
<script src='swagger-ui.js?v=2.1.0-
|
|
27
|
-
<script src='lib/highlight.9.1.0.pack.js?v=2.1.0-
|
|
28
|
-
<script src='lib/highlight.9.1.0.pack_extended.js?v=2.1.0-
|
|
29
|
-
<script src='lib/jsoneditor.min.js?v=2.1.0-
|
|
30
|
-
<script src='lib/marked.js?v=2.1.0-
|
|
31
|
-
<script src='lib/swagger-oauth.js?v=2.1.0-
|
|
21
|
+
<script src="lib/jquery-migrate-1.4.1.min.js?v=2.1.0-RC3"></script>
|
|
22
|
+
<script src='lib/jquery.ba-bbq.min.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
23
|
+
<script src='lib/handlebars.min-v4.7.3.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
24
|
+
<script src='lib/lodash.min.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
25
|
+
<script src='lib/backbone-min.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
26
|
+
<script src='swagger-ui.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
27
|
+
<script src='lib/highlight.9.1.0.pack.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
28
|
+
<script src='lib/highlight.9.1.0.pack_extended.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
29
|
+
<script src='lib/jsoneditor.min.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
30
|
+
<script src='lib/marked.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
31
|
+
<script src='lib/swagger-oauth.js?v=2.1.0-RC3' type='text/javascript'></script>
|
|
32
32
|
|
|
33
33
|
<!-- Some basic translations -->
|
|
34
|
-
<!-- <script src='lang/translator.js?v=2.1.0-
|
|
35
|
-
<!-- <script src='lang/ru.js?v=2.1.0-
|
|
36
|
-
<!-- <script src='lang/en.js?v=2.1.0-
|
|
34
|
+
<!-- <script src='lang/translator.js?v=2.1.0-RC3' type='text/javascript'></script> -->
|
|
35
|
+
<!-- <script src='lang/ru.js?v=2.1.0-RC3' type='text/javascript'></script> -->
|
|
36
|
+
<!-- <script src='lang/en.js?v=2.1.0-RC3' type='text/javascript'></script> -->
|
|
37
37
|
|
|
38
38
|
<script type="text/javascript">
|
|
39
39
|
$(function () {
|