graphdb-workbench 3.1.0-TR12 → 3.1.0-TR13
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/{12396.fcc54d85460017a32ca1.bundle.js → 12396.a4cb05c47cf17cbfd891.bundle.js} +2 -2
- package/dist/{12396.fcc54d85460017a32ca1.bundle.js.map → 12396.a4cb05c47cf17cbfd891.bundle.js.map} +1 -1
- package/dist/{13486.58f89862c40c0f84cb09.bundle.js → 13486.b4c8bf17c522084e59fb.bundle.js} +2 -2
- package/dist/13486.b4c8bf17c522084e59fb.bundle.js.map +1 -0
- package/dist/13813.84b8832e83dec53d66b9.bundle.js +2 -0
- package/dist/13813.84b8832e83dec53d66b9.bundle.js.map +1 -0
- package/dist/{15535.4f5aebf06ef94d0d730c.bundle.js → 15535.aa936791f2b5dd74f7ee.bundle.js} +2 -2
- package/dist/{15535.4f5aebf06ef94d0d730c.bundle.js.map → 15535.aa936791f2b5dd74f7ee.bundle.js.map} +1 -1
- package/dist/{16162.93e0b5dcd33d9227fd60.bundle.js → 16162.dca58b88b4d145a7fcf7.bundle.js} +2 -2
- package/dist/{16162.93e0b5dcd33d9227fd60.bundle.js.map → 16162.dca58b88b4d145a7fcf7.bundle.js.map} +1 -1
- package/dist/{20287.c6714e25dfba36a7abff.bundle.js → 20287.22c94209c4a5b0aa569b.bundle.js} +2 -2
- package/dist/{20287.c6714e25dfba36a7abff.bundle.js.map → 20287.22c94209c4a5b0aa569b.bundle.js.map} +1 -1
- package/dist/{21136.92d89e72506eccad7d06.bundle.js → 21136.b0b60f89d0aecc146390.bundle.js} +2 -2
- package/dist/{21136.92d89e72506eccad7d06.bundle.js.map → 21136.b0b60f89d0aecc146390.bundle.js.map} +1 -1
- package/dist/{21142.3f3aa7d3ef22074e49a3.bundle.js → 21142.c1026a9490be83c3be64.bundle.js} +2 -2
- package/dist/{21142.3f3aa7d3ef22074e49a3.bundle.js.map → 21142.c1026a9490be83c3be64.bundle.js.map} +1 -1
- package/dist/{21170.43dc0783a81039cd2eca.bundle.js → 21170.4f1089c6ecb858d32307.bundle.js} +2 -2
- package/dist/{21170.43dc0783a81039cd2eca.bundle.js.map → 21170.4f1089c6ecb858d32307.bundle.js.map} +1 -1
- package/dist/{21195.e4da0e7735e18c1c24d7.bundle.js → 21195.4025ee868703a7826ae6.bundle.js} +2 -2
- package/dist/{21195.e4da0e7735e18c1c24d7.bundle.js.map → 21195.4025ee868703a7826ae6.bundle.js.map} +1 -1
- package/dist/24785.ff0689efffa1540e2904.bundle.js +2 -0
- package/dist/24785.ff0689efffa1540e2904.bundle.js.map +1 -0
- package/dist/25090.a073fc84568f38c40d67.bundle.js +2 -0
- package/dist/25090.a073fc84568f38c40d67.bundle.js.map +1 -0
- package/dist/{25747.5c8e79ac3088d275e4f6.bundle.js → 25747.d8d9c4a6472dddad834f.bundle.js} +2 -2
- package/dist/{25747.5c8e79ac3088d275e4f6.bundle.js.map → 25747.d8d9c4a6472dddad834f.bundle.js.map} +1 -1
- package/dist/{27580.70186989dfc08ef0506b.bundle.js → 27580.af47ce7d030e916c7a4e.bundle.js} +2 -2
- package/dist/{27580.70186989dfc08ef0506b.bundle.js.map → 27580.af47ce7d030e916c7a4e.bundle.js.map} +1 -1
- package/dist/{31636.4e5d6e986e990a12facf.bundle.js → 31636.fbeed6706183663eeee2.bundle.js} +2 -2
- package/dist/{31636.4e5d6e986e990a12facf.bundle.js.map → 31636.fbeed6706183663eeee2.bundle.js.map} +1 -1
- package/dist/{32489.ca36d6c8822d9a770a8b.bundle.js → 32489.fafc19e8e0eb964a3ec5.bundle.js} +2 -2
- package/dist/{32489.ca36d6c8822d9a770a8b.bundle.js.map → 32489.fafc19e8e0eb964a3ec5.bundle.js.map} +1 -1
- package/dist/34330.298b3fb714ce7fc0bda1.bundle.js +2 -0
- package/dist/34330.298b3fb714ce7fc0bda1.bundle.js.map +1 -0
- package/dist/{34495.7b0a4828632863d0fdd4.bundle.js → 34495.bcc635daf309f60ba23b.bundle.js} +2 -2
- package/dist/{34495.7b0a4828632863d0fdd4.bundle.js.map → 34495.bcc635daf309f60ba23b.bundle.js.map} +1 -1
- package/dist/36737.9d37e743918e6d45c10b.bundle.js +2 -0
- package/dist/36737.9d37e743918e6d45c10b.bundle.js.map +1 -0
- package/dist/{38360.1361bf281a19ba415d10.bundle.js → 38360.55d84891b7ad65b37108.bundle.js} +2 -2
- package/dist/{38360.1361bf281a19ba415d10.bundle.js.map → 38360.55d84891b7ad65b37108.bundle.js.map} +1 -1
- package/dist/{38644.d90ed562660e1bfeddd3.bundle.js → 38644.62bda02822616b30f0c7.bundle.js} +2 -2
- package/dist/{38644.d90ed562660e1bfeddd3.bundle.js.map → 38644.62bda02822616b30f0c7.bundle.js.map} +1 -1
- package/dist/{38843.297cc7a018bd4df634e8.bundle.js → 38843.28a56aadf139c5f83a07.bundle.js} +2 -2
- package/dist/{38843.297cc7a018bd4df634e8.bundle.js.map → 38843.28a56aadf139c5f83a07.bundle.js.map} +1 -1
- package/dist/39448.10bcf72a104ce8276328.bundle.js +2 -0
- package/dist/39448.10bcf72a104ce8276328.bundle.js.map +1 -0
- package/dist/{39518.8547d972593f8717ee28.bundle.js → 39518.24cdd6c870b5b026f43b.bundle.js} +2 -2
- package/dist/{39518.8547d972593f8717ee28.bundle.js.map → 39518.24cdd6c870b5b026f43b.bundle.js.map} +1 -1
- package/dist/{39539.9693149f20106d3b0884.bundle.js → 39539.cb091b6ad5074999b72d.bundle.js} +2 -2
- package/dist/{39539.9693149f20106d3b0884.bundle.js.map → 39539.cb091b6ad5074999b72d.bundle.js.map} +1 -1
- package/dist/{39874.6ca23ead080b52dc1bc6.bundle.js → 39874.ff510b958fcdbda4db58.bundle.js} +2 -2
- package/dist/39874.ff510b958fcdbda4db58.bundle.js.map +1 -0
- package/dist/4125.fd7946ca01aa51acba15.bundle.js +2 -0
- package/dist/4125.fd7946ca01aa51acba15.bundle.js.map +1 -0
- package/dist/{41453.f28b2cc3e8e80afc8871.bundle.js → 41453.b696ac82dcadda585f04.bundle.js} +2 -2
- package/dist/{41453.f28b2cc3e8e80afc8871.bundle.js.map → 41453.b696ac82dcadda585f04.bundle.js.map} +1 -1
- package/dist/{41621.d1b7d799116c07df17d1.bundle.js → 41621.68c5ebc2104a62e2b41d.bundle.js} +2 -2
- package/dist/41621.68c5ebc2104a62e2b41d.bundle.js.map +1 -0
- package/dist/{42129.64ead03391752af23325.bundle.js → 42129.f9f2bafc4520aad7f942.bundle.js} +2 -2
- package/dist/{42129.64ead03391752af23325.bundle.js.map → 42129.f9f2bafc4520aad7f942.bundle.js.map} +1 -1
- package/dist/42143.1483a9470e09485cc4e4.bundle.js +2 -0
- package/dist/42143.1483a9470e09485cc4e4.bundle.js.map +1 -0
- package/dist/{44444.77a79ddd001ef03216fc.bundle.js → 44444.153ba656276a2f1bfdc3.bundle.js} +2 -2
- package/dist/{44444.77a79ddd001ef03216fc.bundle.js.map → 44444.153ba656276a2f1bfdc3.bundle.js.map} +1 -1
- package/dist/{45843.49565fdfa9b426eeb208.bundle.js → 45843.2fb1782023f0992f82c1.bundle.js} +2 -2
- package/dist/{45843.49565fdfa9b426eeb208.bundle.js.map → 45843.2fb1782023f0992f82c1.bundle.js.map} +1 -1
- package/dist/51087.2e79fab6ad7c1282ee52.bundle.js +2 -0
- package/dist/51087.2e79fab6ad7c1282ee52.bundle.js.map +1 -0
- package/dist/{55862.9f799792bc876532e44f.bundle.js → 55862.88796a9db69e193b8b83.bundle.js} +2 -2
- package/dist/{55862.9f799792bc876532e44f.bundle.js.map → 55862.88796a9db69e193b8b83.bundle.js.map} +1 -1
- package/dist/57952.b096d19a802e06030ef0.bundle.js +2 -0
- package/dist/57952.b096d19a802e06030ef0.bundle.js.map +1 -0
- package/dist/{58306.2a9393e91eef386c5162.bundle.js → 58306.f76e839a5a73f4f4e23a.bundle.js} +2 -2
- package/dist/{58306.2a9393e91eef386c5162.bundle.js.map → 58306.f76e839a5a73f4f4e23a.bundle.js.map} +1 -1
- package/dist/{59718.f1ae3d1480c7179c57f0.bundle.js → 59718.dfd5982de2b39ccaa2ee.bundle.js} +2 -2
- package/dist/59718.dfd5982de2b39ccaa2ee.bundle.js.map +1 -0
- package/dist/67232.5a23ef1e641a2ca030c6.bundle.js +2 -0
- package/dist/67232.5a23ef1e641a2ca030c6.bundle.js.map +1 -0
- package/dist/{67888.da842e9221435c4ce47f.bundle.js → 67888.1537da0fa115fd7a2f06.bundle.js} +2 -2
- package/dist/{67888.da842e9221435c4ce47f.bundle.js.map → 67888.1537da0fa115fd7a2f06.bundle.js.map} +1 -1
- package/dist/68685.3ec66ceae3e494eba19b.bundle.js +2 -0
- package/dist/68685.3ec66ceae3e494eba19b.bundle.js.map +1 -0
- package/dist/{69112.817cf7b4d2911108c736.bundle.js → 69112.82e4d57df53e40b54050.bundle.js} +2 -2
- package/dist/69112.82e4d57df53e40b54050.bundle.js.map +1 -0
- package/dist/{70938.aee60e09777981a03d4c.bundle.js → 70938.fd6dd4e05b512128a074.bundle.js} +2 -2
- package/dist/{70938.aee60e09777981a03d4c.bundle.js.map → 70938.fd6dd4e05b512128a074.bundle.js.map} +1 -1
- package/dist/{72379.6eecf9bfd4bd4c65b659.bundle.js → 72379.207930bac55b212354ae.bundle.js} +2 -2
- package/dist/{72379.6eecf9bfd4bd4c65b659.bundle.js.map → 72379.207930bac55b212354ae.bundle.js.map} +1 -1
- package/dist/{73667.942b41c1d4ad078e2a6a.bundle.js → 73667.f42971a7477d6744c54c.bundle.js} +2 -2
- package/dist/{73667.942b41c1d4ad078e2a6a.bundle.js.map → 73667.f42971a7477d6744c54c.bundle.js.map} +1 -1
- package/dist/{73793.67628222a731868e5ddc.bundle.js → 73793.adf7b10d53a8ee7fa07c.bundle.js} +2 -2
- package/dist/{73793.67628222a731868e5ddc.bundle.js.map → 73793.adf7b10d53a8ee7fa07c.bundle.js.map} +1 -1
- package/dist/74106.f94ca66e9fc021789d6a.bundle.js +2 -0
- package/dist/74106.f94ca66e9fc021789d6a.bundle.js.map +1 -0
- package/dist/{75282.eae2387932c55dc997e3.bundle.js → 75282.f097da30576bae97c906.bundle.js} +2 -2
- package/dist/{75282.eae2387932c55dc997e3.bundle.js.map → 75282.f097da30576bae97c906.bundle.js.map} +1 -1
- package/dist/{75849.f5d1a50a8b03fb10008f.bundle.js → 75849.9c78b9889eccbaee7ae0.bundle.js} +2 -2
- package/dist/{75849.f5d1a50a8b03fb10008f.bundle.js.map → 75849.9c78b9889eccbaee7ae0.bundle.js.map} +1 -1
- package/dist/{78250.52061302438b3c0323d3.bundle.js → 78250.9f4b0c688bdb06967ed6.bundle.js} +2 -2
- package/dist/{78250.52061302438b3c0323d3.bundle.js.map → 78250.9f4b0c688bdb06967ed6.bundle.js.map} +1 -1
- package/dist/79329.69815208f7a0b1678dc2.bundle.js +2 -0
- package/dist/79329.69815208f7a0b1678dc2.bundle.js.map +1 -0
- package/dist/{82926.32c69a801c99f029c69f.bundle.js → 82926.ce06c4bb3d76b9fe5fa9.bundle.js} +2 -2
- package/dist/{82926.32c69a801c99f029c69f.bundle.js.map → 82926.ce06c4bb3d76b9fe5fa9.bundle.js.map} +1 -1
- package/dist/86142.3f4acbd124c99af11e48.bundle.js +2 -0
- package/dist/86142.3f4acbd124c99af11e48.bundle.js.map +1 -0
- package/dist/86639.5584db5b403656b75ad4.bundle.js +2 -0
- package/dist/86639.5584db5b403656b75ad4.bundle.js.map +1 -0
- package/dist/89695.9a36bd7b51d76634b902.bundle.js +2 -0
- package/dist/89695.9a36bd7b51d76634b902.bundle.js.map +1 -0
- package/dist/{9062.8a9659bd978a5ac7a1e2.bundle.js → 9062.91ba683ec5a6cb53c23f.bundle.js} +2 -2
- package/dist/{9062.8a9659bd978a5ac7a1e2.bundle.js.map → 9062.91ba683ec5a6cb53c23f.bundle.js.map} +1 -1
- package/dist/94519.1b7b699d10f1278380c3.bundle.js +2 -0
- package/dist/94519.1b7b699d10f1278380c3.bundle.js.map +1 -0
- package/dist/{95953.f930b9ba889a452ca771.bundle.js → 95953.4ea6a7c68a22779ba299.bundle.js} +2 -2
- package/dist/95953.4ea6a7c68a22779ba299.bundle.js.map +1 -0
- package/dist/98860.5ade579c8f05a0df416b.bundle.js +2 -0
- package/dist/98860.5ade579c8f05a0df416b.bundle.js.map +1 -0
- package/dist/{99448.66df63e0704114d6127a.bundle.js → 99448.b2524aa8fdf2f3aee82a.bundle.js} +2 -2
- package/dist/{99448.66df63e0704114d6127a.bundle.js.map → 99448.b2524aa8fdf2f3aee82a.bundle.js.map} +1 -1
- package/dist/api/ontotext-workbench-api.js +1 -1
- package/dist/api/ontotext-workbench-api.js.map +1 -1
- package/dist/css/ttyg/agent-settings-modal.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-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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +4 -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.a918490fca19fd205bef.js → legacyWorkbench.c5245455051fd0bab730.js} +3 -3
- package/dist/{legacyWorkbench.a918490fca19fd205bef.js.map → legacyWorkbench.c5245455051fd0bab730.js.map} +1 -1
- package/dist/{main.5a06ce3271fcd9cb93e7.js → main.fa0b99f721588e894d1d.js} +3 -3
- package/dist/{main.5a06ce3271fcd9cb93e7.js.map → main.fa0b99f721588e894d1d.js.map} +1 -1
- package/dist/pages/aclmanagement.html +2 -2
- 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 +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/import.html +2 -2
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/login.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/ux-test1.html +2 -2
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins.js +1 -1
- package/dist/res/swagger5/index.html +11 -11
- package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-layout.cjs.entry.js.map +1 -1
- package/dist/shared-components/cjs/onto-layout.entry.cjs.js.map +1 -1
- package/dist/shared-components/collection/components/onto-layout/onto-layout.js +1 -1
- package/dist/shared-components/collection/components/onto-layout/onto-layout.js.map +1 -1
- package/dist/shared-components/esm/onto-layout.entry.js +1 -1
- package/dist/shared-components/esm/onto-layout.entry.js.map +1 -1
- package/dist/shared-components/shared-components/onto-layout.entry.esm.js.map +1 -1
- package/dist/shared-components/shared-components/p-504c7e8e.entry.js +1 -0
- package/dist/shared-components/shared-components/p-504c7e8e.entry.js.map +1 -0
- package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
- package/package.json +1 -1
- package/dist/13486.58f89862c40c0f84cb09.bundle.js.map +0 -1
- package/dist/13813.a49f3fcf17ecd10c738e.bundle.js +0 -2
- package/dist/13813.a49f3fcf17ecd10c738e.bundle.js.map +0 -1
- package/dist/24785.07db24a70db7d20d268a.bundle.js +0 -2
- package/dist/24785.07db24a70db7d20d268a.bundle.js.map +0 -1
- package/dist/25090.8336e69433235ea3dfc6.bundle.js +0 -2
- package/dist/25090.8336e69433235ea3dfc6.bundle.js.map +0 -1
- package/dist/34330.a2a4211b14d118bd4c03.bundle.js +0 -2
- package/dist/34330.a2a4211b14d118bd4c03.bundle.js.map +0 -1
- package/dist/36737.0f3e0ff6942f79d49804.bundle.js +0 -2
- package/dist/36737.0f3e0ff6942f79d49804.bundle.js.map +0 -1
- package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js +0 -2
- package/dist/39448.a6ec42f0d72642fe9ee9.bundle.js.map +0 -1
- package/dist/39874.6ca23ead080b52dc1bc6.bundle.js.map +0 -1
- package/dist/4125.28d3c85c122f270c9b2c.bundle.js +0 -2
- package/dist/4125.28d3c85c122f270c9b2c.bundle.js.map +0 -1
- package/dist/41621.d1b7d799116c07df17d1.bundle.js.map +0 -1
- package/dist/42143.87a6b0a089da7a2318dd.bundle.js +0 -2
- package/dist/42143.87a6b0a089da7a2318dd.bundle.js.map +0 -1
- package/dist/51087.8bc01b7861b40bc7082d.bundle.js +0 -2
- package/dist/51087.8bc01b7861b40bc7082d.bundle.js.map +0 -1
- package/dist/57952.afa9e0608388e5bae876.bundle.js +0 -2
- package/dist/57952.afa9e0608388e5bae876.bundle.js.map +0 -1
- package/dist/59718.f1ae3d1480c7179c57f0.bundle.js.map +0 -1
- package/dist/67232.ca7667a39c74efdb90e1.bundle.js +0 -2
- package/dist/67232.ca7667a39c74efdb90e1.bundle.js.map +0 -1
- package/dist/68685.314faeaa55a342568c0b.bundle.js +0 -2
- package/dist/68685.314faeaa55a342568c0b.bundle.js.map +0 -1
- package/dist/69112.817cf7b4d2911108c736.bundle.js.map +0 -1
- package/dist/74106.82ee18377b0ae14c6a7f.bundle.js +0 -2
- package/dist/74106.82ee18377b0ae14c6a7f.bundle.js.map +0 -1
- package/dist/79329.d966e9755b8abe0219dc.bundle.js +0 -2
- package/dist/79329.d966e9755b8abe0219dc.bundle.js.map +0 -1
- package/dist/86142.ed366f6953d750eb99b8.bundle.js +0 -2
- package/dist/86142.ed366f6953d750eb99b8.bundle.js.map +0 -1
- package/dist/86639.6cf8f34680ceacc7298d.bundle.js +0 -2
- package/dist/86639.6cf8f34680ceacc7298d.bundle.js.map +0 -1
- package/dist/89695.2d49f93862aee2cf23af.bundle.js +0 -2
- package/dist/89695.2d49f93862aee2cf23af.bundle.js.map +0 -1
- package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js +0 -2
- package/dist/94519.f41b6f4fb1b1bb6e3bf5.bundle.js.map +0 -1
- package/dist/95953.f930b9ba889a452ca771.bundle.js.map +0 -1
- package/dist/98860.30ea9a212cf6e622ec36.bundle.js +0 -2
- package/dist/98860.30ea9a212cf6e622ec36.bundle.js.map +0 -1
- package/dist/shared-components/shared-components/p-28a4ce8f.entry.js +0 -1
- package/dist/shared-components/shared-components/p-28a4ce8f.entry.js.map +0 -1
- /package/dist/{legacyWorkbench.a918490fca19fd205bef.js.LICENSE.txt → legacyWorkbench.c5245455051fd0bab730.js.LICENSE.txt} +0 -0
- /package/dist/{main.5a06ce3271fcd9cb93e7.js.LICENSE.txt → main.fa0b99f721588e894d1d.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as o,H as e,b as t}from"./p-I_gcXFWK.js";export{s as setNonce}from"./p-I_gcXFWK.js";import{g as n}from"./p-DQuL1Twl.js";var a=()=>{i(e.prototype);const t=import.meta.url,n={};return""!==t&&(n.resourcesUrl=new URL(".",t).href),o(n)},i=e=>{const o=e.cloneNode;e.cloneNode=function(e){if("TEMPLATE"===this.nodeName)return o.call(this,e);const t=o.call(this,!1),n=this.childNodes;if(e)for(let e=0;e<n.length;e++)2!==n[e].nodeType&&t.appendChild(n[e].cloneNode(!0));return t}};a().then(async e=>(await n(),t([["p-
|
|
1
|
+
import{p as o,H as e,b as t}from"./p-I_gcXFWK.js";export{s as setNonce}from"./p-I_gcXFWK.js";import{g as n}from"./p-DQuL1Twl.js";var a=()=>{i(e.prototype);const t=import.meta.url,n={};return""!==t&&(n.resourcesUrl=new URL(".",t).href),o(n)},i=e=>{const o=e.cloneNode;e.cloneNode=function(e){if("TEMPLATE"===this.nodeName)return o.call(this,e);const t=o.call(this,!1),n=this.childNodes;if(e)for(let e=0;e<n.length;e++)2!==n[e].nodeType&&t.appendChild(n[e].cloneNode(!0));return t}};a().then(async e=>(await n(),t([["p-504c7e8e",[[4,"onto-layout",{authenticatedUser:[32],authToken:[32],securityConfig:[32],isLowResolution:[32],hasPermission:[32],showFooter:[32],isVisible:[32]},[[0,"navbarToggled","onNavbarToggled"],[9,"resize","onResize"]]]]],["p-e1dd3759",[[0,"onto-test-context",{updateLicense:[64],updateProductInfo:[64],loadRepositories:[64],setAuthenticatedUser:[64],setSecurityConfig:[64],changeLanguage:[64],emitNavigateEndEvent:[64],updateRestrictedPage:[64],updateSelectedRepository:[64],updateIsLoadingActiveRepositoryLocation:[64],addToastr:[64],setAutocomplete:[64],updateNamespaces:[64]}]]],["p-4391c0b6",[[0,"onto-dropdown",{dropdownButtonName:[1,"dropdown-button-name"],dropdownButtonNameLabelKey:[1,"dropdown-button-name-label-key"],dropdownButtonGuideSelector:[1,"dropdown-button-guide-selector"],dropdownButtonTooltip:[1,"dropdown-button-tooltip"],dropdownButtonTooltipLabelKey:[1,"dropdown-button-tooltip-label-key"],dropdownTooltipTrigger:[1,"dropdown-tooltip-trigger"],iconClass:[1,"icon-class"],items:[16],tooltipTheme:[1,"tooltip-theme"],tooltipPlacement:[1,"tooltip-placement"],dropdownAlignment:[1,"dropdown-alignment"],autoClose:[4,"auto-close"],open:[32],buttonTooltipContent:[32]},[[8,"keydown","keydownListener"],[8,"click","mouseClickListener"]]]]],["p-879e5fc1",[[0,"translate-label",{labelKey:[1,"label-key"],translationParameters:[16,"translation-parameters"],translatedLabel:[32]}]]],["p-48869cea",[[4,"onto-dialog",{config:[16]}],[0,"onto-toggle-switch",{checked:[1028],labelKey:[1,"label-key"],tooltipTranslationKey:[1,"tooltip-translation-key"],context:[1],tooltipLabel:[32]}]]],["p-5401c1ee",[[0,"onto-cookie-consent",{showModal:[32]}],[0,"onto-cookie-policy-dialog",{dialogHandler:[16,"dialog-handler"]},[[0,"toggleChanged","toggleChanged"]]]]],["p-fa30a30a",[[0,"onto-rdf-search",{isOpen:[32],buttonConfig:[32]},[[8,"click","handleClick"]]],[0,"onto-language-selector",{dropdownAlignment:[1,"dropdown-alignment"],currentLanguage:[32]}],[0,"onto-license-alert",{license:[16]}],[0,"onto-operations-notification",{activeOperations:[16,"active-operations"],isOpen:[32]},[[8,"click","handleOutsideClick"]]],[0,"onto-repository-selector",{currentRepository:[16,"current-repository"],items:[16],repositorySizeInfoFetcher:[16,"repository-size-info-fetcher"],totalTripletsFormatter:[16,"total-triplets-formatter"],canWriteRepo:[16,"can-write-repo"],defaultToggleButtonName:[32],noRepositoriesButtonMessage:[32]},null,{items:["onItemsChanged"]}],[0,"onto-user-login"],[0,"onto-user-menu",{user:[16],securityConfig:[16,"security-config"],isOpen:[32]}],[0,"onto-search-icon",{tooltipLabel:[32]}],[0,"onto-search-resource-input",{context:[1],skipValidation:[4,"skip-validation"],preserveSearch:[4,"preserve-search"],isHidden:[4,"is-hidden"],buttonConfig:[16,"button-config"],inputValue:[32],searchResult:[32],isAutocompleteEnabled:[32]},null,{isHidden:["onVisibilityChange"]}]]],["p-3ab81548",[[0,"onto-header",{activeOperations:[32],license:[32],isFreeAccessEnabled:[32],shouldShowSearch:[32],isHomePage:[32],repositoryList:[32],currentRoute:[32],currentRepository:[32],securityConfig:[32]}],[0,"onto-footer",{productInfo:[32],shouldShowCookieConsent:[32]},[[0,"consentGiven","handleConsentGiven"]]],[0,"onto-navbar",{navbarCollapsed:[4,"navbar-collapsed"],menuItems:[16,"menu-items"],menuModel:[32],isCollapsed:[32]},null,{navbarCollapsed:["navbarCollapsedChange"],menuItems:["menuItemsChanged"]}],[0,"onto-permission-banner"],[0,"onto-toastr",{toasts:[32]},[[16,"create-toast-event","handleToastCreate"]]],[0,"onto-tooltip",null,[[5,"mouseover","onMouseover"],[5,"mouseout","onMouseout"]]]]]],e)));
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"13486.58f89862c40c0f84cb09.bundle.js","mappings":"oHAAAA,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,gBACNC,cAAe,aACfC,aAAc,aACdC,SAAU,IAEd,CACIR,MAAO,UACPC,SAAU,qBACVC,KAAM,IACNC,MAAO,EAEPC,KAAM,YACNC,KAAM,kBACNC,cAAe,eACfC,aAAc,kBACdC,SAAU,IAEd,CACIR,MAAO,MACPC,SAAU,iBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,yBACNC,KAAM,cACNC,cAAe,WACfC,aAAc,WACdC,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: \"icon-settings\",\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: 'icon-monitoring',\n guideSelector: 'menu-monitor',\n testSelector: 'menu-monitoring',\n children: []\n },\n {\n label: 'Lab',\n labelKey: 'menu.lab.label',\n href: '#',\n order: 6,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: \"fa fa-flask\",\n guideSelector: 'menu-lab',\n testSelector: 'menu-lab',\n children: []\n }\n ]\n }\n);\n"],"names":["PluginRegistry","add","items","label","labelKey","href","order","role","icon","guideSelector","testSelector","children"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=13813;export const __webpack_ids__=[13813];export const __webpack_modules__={13813:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"fts-search-method",getSteps:(e,t)=>{const l=t.GuideUtils;e.mainAction="fts-search-method";const s=e.disable,o=l.getGuideElementSelector("query-method-fts_search-input");return s?[{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.fts-search-method.disable-toggle",class:"toggle-fts-search-guide-dialog",url:"/ttyg",showOn:()=>l.isChecked(o),elementSelector:l.getGuideElementSelector("query-method-fts_search"),clickableElementSelector:o,onNextValidate:()=>Promise.resolve(!l.isChecked(o))},e)}]:[{guideBlockName:"info-message",options:angular.extend({},{content:"guide.step_plugin.fts-search-method.content",url:"/ttyg",class:"info-fts-search-guide-dialog",disablePreviousFlow:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.fts-search-method.enable-toggle",class:"toggle-fts-search-guide-dialog",url:"/ttyg",elementSelector:l.getGuideElementSelector("query-method-fts_search"),clickableElementSelector:o,onNextValidate:()=>Promise.resolve(l.isChecked(o))},e)}]}}])}};
|
|
2
|
-
//# sourceMappingURL=13813.a49f3fcf17ecd10c738e.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"13813.a49f3fcf17ecd10c738e.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,oBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAC5BF,EAAQG,WAAa,oBAErB,MAAMC,EAAkBJ,EAAQK,QAC1BC,EAAiBJ,EAAWK,wBAAwB,iCAE1D,OAAIH,EACO,CAAC,CACJN,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,qDACTC,MAAO,iCACPC,IAAK,QACLC,OAAQA,IAAMX,EAAWY,UAAUR,GACnCS,gBAAiBb,EAAWK,wBAAwB,2BACpDS,yBAA0BV,EAC1BW,eAAgBA,IAAMC,QAAQC,SAASjB,EAAWY,UAAUR,KAC7DN,KAIJ,CACH,CACIF,eAAgB,eAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,8CACTE,IAAK,QACLD,MAAO,+BACPS,qBAAqB,GACtBpB,IAEP,CACIF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,oDACTC,MAAO,iCACPC,IAAK,QACLG,gBAAiBb,EAAWK,wBAAwB,2BACpDS,yBAA0BV,EAC1BW,eAAgBA,IAAMC,QAAQC,QAAQjB,EAAWY,UAAUR,KAC5DN,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/common/fts-search-method/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'fts-search-method',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'fts-search-method';\n\n const shouldToggleOff = options.disable;\n const toggleSelector = GuideUtils.getGuideElementSelector('query-method-fts_search-input');\n\n if (shouldToggleOff) {\n return [{\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.fts-search-method.disable-toggle',\n class: 'toggle-fts-search-guide-dialog',\n url: '/ttyg',\n showOn: () => GuideUtils.isChecked(toggleSelector),\n elementSelector: GuideUtils.getGuideElementSelector('query-method-fts_search'),\n clickableElementSelector: toggleSelector,\n onNextValidate: () => Promise.resolve(!GuideUtils.isChecked(toggleSelector))\n }, options)\n }]\n }\n\n return [\n {\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n content: 'guide.step_plugin.fts-search-method.content',\n url: '/ttyg',\n class: 'info-fts-search-guide-dialog',\n disablePreviousFlow: true\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.fts-search-method.enable-toggle',\n class: 'toggle-fts-search-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('query-method-fts_search'),\n clickableElementSelector: toggleSelector,\n onNextValidate: () => Promise.resolve(GuideUtils.isChecked(toggleSelector))\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","shouldToggleOff","disable","toggleSelector","getGuideElementSelector","angular","extend","content","class","url","showOn","isChecked","elementSelector","clickableElementSelector","onNextValidate","Promise","resolve","disablePreviousFlow"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=24785;export const __webpack_ids__=[24785];export const __webpack_modules__={24785:()=>{const e=()=>()=>{$(".node-wrapper").addClass("disable-visual-graph-node")},i=()=>()=>{$(".node-wrapper").removeClass("disable-visual-graph-node")};PluginRegistry.add("guide.step",[{guideBlockName:"visual-graph",getSteps:(e,i)=>{const t=i.GuideUtils,o=i.RoutingUtil;return e.mainAction="visual-graph",[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"visual-graph",showIntro:!0},e)},{guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.visual_graph_input_IRI.content",forceReload:!0,url:"/graphs-visualizations",elementSelector:t.getGuideElementSelector("graphVisualisationSearchInputNotConfigured"," input"),class:"visual-graph-input-iri-guide-dialog",onNextValidate:e=>Promise.resolve(t.validateTextInput(e.elementSelector,e.easyGraphInputText))},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.visual_graph_show_autocomplete.content",url:"/graphs-visualizations",elementSelector:t.getGuideElementSelector(`autocomplete-${e.iri}`),class:"visual-graph-show-autocomplete-guide-dialog",onNextClick:(e,i)=>t.waitFor(i.elementSelector,3).then(()=>$(i.elementSelector).trigger("click")),canBePaused:!1,forceReload:!0},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.visual_graph_intro.content",url:"/graphs-visualizations",elementSelector:".graph-visualization",placement:"left",onPreviousClick:()=>{o.navigate("/graphs-visualizations");const i=t.getGuideElementSelector("graphVisualisationSearchInputNotConfigured"," input");return t.waitFor(i,3).then(()=>{t.validateTextInput(i,e.easyGraphInputText)})},initPreviousStep:()=>{if("/graphs-visualizations?uri="+e.iri!==decodeURIComponent(o.getCurrentRoute())){const i="/graphs-visualizations?uri="+e.iri;return o.navigate(i),t.waitFor(`.node-wrapper[id^="${e.iri}"] circle`,3)}return Promise.resolve()},canBePaused:!1,forceReload:!0},e)}]}},{guideBlockName:"visual-graph-expand",getSteps:(e,i)=>{const t=i.GuideUtils,o=i.$rootScope,a=i.$route,n=`.node-wrapper[id^="${e.iri}"] circle`;return[{guideBlockName:"clickable-element",options:angular.extend({},{title:"guide.step_plugin.visual-graph-expand.title",content:"guide.step_plugin.visual-graph-expand.content",url:"/graphs-visualizations",canBePaused:!1,class:"visual-graph-expand-node-guide-dialog",elementSelector:n,advanceOn:void 0,onNextClick:e=>{t.graphVizExpandNode(n),e.getCurrentStep().hide(),t.awaitAlphaDropD3(null,o)().then(()=>{e.next()})},show:e=>()=>{$(n).on("dblclick.onNodeDbClicked",(e=>()=>{t.graphVizExpandNode(n),e.getCurrentStep().hide(),t.awaitAlphaDropD3(null,o)().then(()=>{e.next()})})(e))},hide:()=>()=>{$(n).off("dblclick.onNodeDbClicked")},beforeShowPromise:()=>(a.reload(),t.deferredShow(50)().then(()=>t.awaitAlphaDropD3(n,o)())),initPreviousStep:(e,i)=>{const a=e.ShepherdService.getPreviousStepFromHistory(i);return a.options.initPreviousStep(e,a.id).then(()=>e.ShepherdService.getCurrentStepId()===i?Promise.resolve:(t.graphVizExpandNode(n),t.deferredShow(50)().then(()=>t.awaitAlphaDropD3(null,o)())))}},e)}]}},{guideBlockName:"visual-graph-properties",getSteps:(e,i)=>{const t=i.GuideUtils,o=i.$rootScope,a=`.node-wrapper[id^="${e.iri}"] circle`;let n,r;const l=[{guideBlockName:"clickable-element",options:angular.extend({},{title:"guide.step_plugin.visual-graph-properties.title",content:"guide.step_plugin.visual-graph-properties.content",url:"/graphs-visualizations",class:"visual-graph-show-properties-intro-guide-dialog",elementSelector:a,canBePaused:!1,advanceOn:void 0,show:e=>()=>{$(a).on("click.onNodeClicked",((e,i)=>o=>{r?o.timeStamp-n<400&&(e.$timeout.cancel(r),r=null):(n=o.timeStamp,r=e.$timeout(function(){t.graphVizShowNodeInfo(a),r=null,i.next()},500))})(i,e))},hide:()=>()=>{$(a).off("click.onNodeClicked")},onNextClick:(e,i)=>{t.graphVizShowNodeInfo(i.elementSelector),e.next()},beforeShowPromise:t.awaitAlphaDropD3(a,o)},e)},{guideBlockName:"read-only-element",options:angular.extend({},{title:"guide.step_plugin.visual-graph-properties-side-panel.title",content:"guide.step_plugin.visual-graph-properties-side-panel.content",url:"/graphs-visualizations",elementSelector:".rdf-side-panel-content",class:"visual-graph-side-panel-content-guide-dialog",canBePaused:!1,placement:"left",beforeShowPromise:t.deferredShow(500),onPreviousClick:()=>new Promise(function(e){t.waitFor(s,3).then(()=>{$(s).trigger("click"),e()}).catch(()=>e())})},e)}];angular.isArray(e.focusProperties)&&e.focusProperties.forEach(i=>{angular.isObject(i)||(i={property:i});const o="types"===i.property?"-types":"-property",a=i.skipGenericMessage&&i.message?null:"guide.step_plugin.visual-graph-properties-focus"+o+".content";l.push({guideBlockName:"read-only-element",options:angular.extend({},{title:"guide.step_plugin.visual-graph-properties-focus"+o+".title",content:a,url:"/graphs-visualizations",class:"visual-graph-properties-focus-guide-dialog",canBePaused:!1,placement:"left",elementSelector:t.getGuideElementSelector("graph-visualization-node-info-"+i.property),focusProperty:i.property,extraContent:i.message},e)})});const s=t.getGuideElementSelector("close-info-panel");return l.push({guideBlockName:"clickable-element",options:angular.extend({},{title:"guide.step_plugin.visual-graph-properties-side-panel-close.title",content:"guide.step_plugin.visual-graph-properties-side-panel-close.content",url:"/graphs-visualizations",canBePaused:!1,placement:"left",class:"visual-graph-properties-side-panel-close-guide-dialog",elementSelector:s,advanceOn:{selector:s,event:"click"},beforeShowPromise:()=>(t.graphVizShowNodeInfo(a),t.deferredShow(500)()),onNextClick:()=>t.waitFor(s,3).then(()=>$(s).trigger("click"))},e)}),l}},{guideBlockName:"visual-graph-link-focus",getSteps:(t,o)=>{const a=o.GuideUtils,n=o.$rootScope,r=`.link-wrapper[id^="${t.fromIri}>${t.toIri}"]`;return[{guideBlockName:"read-only-element",options:angular.extend({},{title:"guide.step_plugin.visual-graph-link-focus.title",content:"guide.step_plugin.visual-graph-link-focus.content",url:"/graphs-visualizations",canBePaused:!1,class:"visual-graph-link-focus-guide-dialog",elementSelector:r,show:e,hide:i,beforeShowPromise:a.awaitAlphaDropD3(r,n)},t)}]}},{guideBlockName:"visual-graph-node-focus",getSteps:(t,o)=>{const a=o.GuideUtils,n=o.$rootScope,r=`.node-wrapper[id^="${t.iri}"] circle`;return[{guideBlockName:"read-only-element",options:angular.extend({},{title:"guide.step_plugin.visual-graph-node-focus.title",content:"guide.step_plugin.visual-graph-node-focus.content",url:"/graphs-visualizations",canBePaused:!1,elementSelector:r,class:"visual-graph-node-focus-guide-dialog",show:e,hide:i,beforeShowPromise:a.awaitAlphaDropD3(r,n),initPreviousStep:(e,i)=>{if(a.isVisible(r))return Promise.resolve();const t=e.ShepherdService.getPreviousStepFromHistory(i);return t.options.initPreviousStep(e,t.id)}},t)}]}}])}};
|
|
2
|
-
//# sourceMappingURL=24785.07db24a70db7d20d268a.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"24785.07db24a70db7d20d268a.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/visual-graph/plugin.js"],"sourcesContent":["const disableAllNodes = () => () => {\n $('.node-wrapper').addClass('disable-visual-graph-node');\n};\n\nconst enableAllNodes = () => () => {\n $('.node-wrapper').removeClass('disable-visual-graph-node');\n};\n\nPluginRegistry.add('guide.step', [\n {\n guideBlockName: 'visual-graph',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const RoutingUtil = services.RoutingUtil;\n options.mainAction = 'visual-graph';\n\n return [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'visual-graph',\n showIntro: true\n }, options)\n }, {\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.visual_graph_input_IRI.content',\n forceReload: true,\n url: '/graphs-visualizations',\n elementSelector: GuideUtils.getGuideElementSelector('graphVisualisationSearchInputNotConfigured', ' input'),\n class: 'visual-graph-input-iri-guide-dialog',\n onNextValidate: (step) => Promise.resolve(GuideUtils.validateTextInput(step.elementSelector, step.easyGraphInputText))\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.visual_graph_show_autocomplete.content',\n url: '/graphs-visualizations',\n elementSelector: GuideUtils.getGuideElementSelector(`autocomplete-${options.iri}`),\n class: 'visual-graph-show-autocomplete-guide-dialog',\n onNextClick: (guide, step) => GuideUtils.waitFor(step.elementSelector, 3).then(() => $(step.elementSelector).trigger('click')),\n canBePaused: false,\n forceReload: true\n }, options)\n }, {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.visual_graph_intro.content',\n url: '/graphs-visualizations',\n elementSelector: '.graph-visualization',\n placement: 'left',\n onPreviousClick: () => {\n RoutingUtil.navigate('/graphs-visualizations');\n const searchInputSelector = GuideUtils.getGuideElementSelector('graphVisualisationSearchInputNotConfigured', ' input');\n return GuideUtils.waitFor(searchInputSelector, 3)\n .then(() => {\n GuideUtils.validateTextInput(searchInputSelector, options.easyGraphInputText);\n });\n },\n initPreviousStep: () => {\n const url = '/graphs-visualizations?uri=' + options.iri;\n if (url !== decodeURIComponent(RoutingUtil.getCurrentRoute())) {\n const URL = '/graphs-visualizations?uri=' + options.iri;\n RoutingUtil.navigate(URL);\n return GuideUtils.waitFor(`.node-wrapper[id^=\"${options.iri}\"] circle`, 3);\n }\n return Promise.resolve();\n },\n canBePaused: false,\n forceReload: true\n }, options)\n }\n ];\n }\n },\n {\n guideBlockName: 'visual-graph-expand',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const $rootScope = services.$rootScope;\n const $route = services.$route;\n const elementSelector = `.node-wrapper[id^=\"${options.iri}\"] circle`;\n\n // Expands visual graph when a node is double-clicked.\n const dblClickFunction = (guide) => () => {\n GuideUtils.graphVizExpandNode(elementSelector);\n guide.getCurrentStep().hide();\n GuideUtils.awaitAlphaDropD3(null, $rootScope)()\n .then(() => {\n guide.next();\n });\n };\n\n return [\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n title: 'guide.step_plugin.visual-graph-expand.title',\n content: 'guide.step_plugin.visual-graph-expand.content',\n url: '/graphs-visualizations',\n canBePaused: false,\n class: 'visual-graph-expand-node-guide-dialog',\n elementSelector,\n // Disable default behavior of service when element is clicked.\n advanceOn: undefined,\n onNextClick: (guide) => {\n GuideUtils.graphVizExpandNode(elementSelector);\n guide.getCurrentStep().hide();\n GuideUtils.awaitAlphaDropD3(null, $rootScope)()\n .then(() => {\n guide.next();\n });\n },\n show: (guide) => () => {\n // Add \"dblclick\" listener to the element. Processing of double-click event is disabled for the visual graph when guide is started.\n // So we have expanded the graph manually when a selected node is double-clicked.\n $(elementSelector).on('dblclick.onNodeDbClicked', dblClickFunction(guide));\n },\n hide: () => () => {\n // Remove the \"dblclick\" listener of element. It is important when step is hided.\n $(elementSelector).off('dblclick.onNodeDbClicked');\n },\n beforeShowPromise: () => {\n $route.reload();\n return GuideUtils.deferredShow(50)()\n .then(() => {\n return GuideUtils.awaitAlphaDropD3(elementSelector, $rootScope)();\n });\n },\n initPreviousStep: (services, stepId) => {\n const previousStep = services.ShepherdService.getPreviousStepFromHistory(stepId);\n return previousStep.options.initPreviousStep(services, previousStep.id)\n .then(() => {\n const currentStepId = services.ShepherdService.getCurrentStepId();\n // Skip expanding of node if last step is \"visual-graph-expand\"\n if (currentStepId === stepId) {\n return Promise.resolve;\n }\n\n GuideUtils.graphVizExpandNode(elementSelector);\n return GuideUtils.deferredShow(50)()\n .then(() => {\n return GuideUtils.awaitAlphaDropD3(null, $rootScope)();\n });\n });\n }\n }, options)\n }\n ];\n }\n },\n {\n guideBlockName: 'visual-graph-properties',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const $rootScope = services.$rootScope;\n const elementSelector = `.node-wrapper[id^=\"${options.iri}\"] circle`;\n\n let mouseClickTimeStamp;\n let mouseEventTimer;\n\n // Expands Node info sidebar panel when a node is clicked.\n const onClick = (services, guide) => (event) => {\n if (mouseEventTimer) {\n // Cancels expansion of the sidebar panel if user double-clicked.\n if (event.timeStamp - mouseClickTimeStamp < 400) {\n services.$timeout.cancel(mouseEventTimer);\n mouseEventTimer = null;\n }\n } else {\n mouseClickTimeStamp = event.timeStamp;\n mouseEventTimer = services.$timeout(function () {\n GuideUtils.graphVizShowNodeInfo(elementSelector);\n mouseEventTimer = null;\n guide.next();\n }, 500);\n }\n };\n\n const steps = [\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n title: 'guide.step_plugin.visual-graph-properties.title',\n content: 'guide.step_plugin.visual-graph-properties.content',\n url: '/graphs-visualizations',\n class: 'visual-graph-show-properties-intro-guide-dialog',\n elementSelector,\n canBePaused: false,\n // Disable default behavior of service when element is clicked.\n advanceOn: undefined,\n show: (guide) => () => {\n // Add \"click\" listener to the element. Processing of click event is disabled for the visual graph when guide is started.\n // So we have to open side panel info manually when a selected node is clicked.\n $(elementSelector).on('click.onNodeClicked', onClick(services, guide));\n },\n hide: () => () => {\n // Remove the \"click\" listener of element. It is important when step is hided.\n $(elementSelector).off('click.onNodeClicked');\n },\n onNextClick: (guide, step) => {\n GuideUtils.graphVizShowNodeInfo(step.elementSelector);\n guide.next();\n },\n beforeShowPromise: GuideUtils.awaitAlphaDropD3(elementSelector, $rootScope)\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n title: 'guide.step_plugin.visual-graph-properties-side-panel.title',\n content: 'guide.step_plugin.visual-graph-properties-side-panel.content',\n url: '/graphs-visualizations',\n elementSelector: '.rdf-side-panel-content',\n class: 'visual-graph-side-panel-content-guide-dialog',\n canBePaused: false,\n placement: 'left',\n beforeShowPromise: GuideUtils.deferredShow(500),\n onPreviousClick: () => new Promise(function (resolve) {\n GuideUtils.waitFor(closeButtonSelector, 3)\n .then(() => {\n $(closeButtonSelector).trigger('click');\n resolve();\n }).catch(() => resolve());\n })\n }, options)\n }\n ];\n\n if (angular.isArray(options.focusProperties)) {\n options.focusProperties.forEach((focusProperty) => {\n if (!angular.isObject(focusProperty)) {\n focusProperty = {\n property: focusProperty\n };\n }\n const translationIdSuffix = focusProperty.property === 'types' ? '-types' : '-property';\n const content = focusProperty.skipGenericMessage && focusProperty.message ?\n null : 'guide.step_plugin.visual-graph-properties-focus' + translationIdSuffix + '.content';\n steps.push({\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n title: 'guide.step_plugin.visual-graph-properties-focus' + translationIdSuffix + '.title',\n content: content,\n url: '/graphs-visualizations',\n class: 'visual-graph-properties-focus-guide-dialog',\n canBePaused: false,\n placement: 'left',\n elementSelector: GuideUtils.getGuideElementSelector('graph-visualization-node-info-' + focusProperty.property),\n focusProperty: focusProperty.property,\n extraContent: focusProperty.message\n }, options)\n });\n });\n }\n\n const closeButtonSelector = GuideUtils.getGuideElementSelector('close-info-panel');\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n title: 'guide.step_plugin.visual-graph-properties-side-panel-close.title',\n content: 'guide.step_plugin.visual-graph-properties-side-panel-close.content',\n url: '/graphs-visualizations',\n canBePaused: false,\n placement: 'left',\n class: 'visual-graph-properties-side-panel-close-guide-dialog',\n elementSelector: closeButtonSelector,\n advanceOn: {\n selector: closeButtonSelector,\n event: 'click'\n },\n beforeShowPromise: () => {\n // We have to be sure that node info sidebar is open. It is needed when this step is loaded when next step \"Previous\"\n // button is clicked.\n GuideUtils.graphVizShowNodeInfo(elementSelector);\n return GuideUtils.deferredShow(500)();\n },\n onNextClick: () => GuideUtils.waitFor(closeButtonSelector, 3).then(() => $(closeButtonSelector).trigger('click'))\n }, options)\n });\n\n return steps;\n }\n },\n {\n guideBlockName: 'visual-graph-link-focus',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const $rootScope = services.$rootScope;\n const elementSelector = `.link-wrapper[id^=\"${options.fromIri}>${options.toIri}\"]`;\n return [\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n title: 'guide.step_plugin.visual-graph-link-focus.title',\n content: 'guide.step_plugin.visual-graph-link-focus.content',\n url: '/graphs-visualizations',\n canBePaused: false,\n class: 'visual-graph-link-focus-guide-dialog',\n elementSelector,\n show: disableAllNodes,\n hide: enableAllNodes,\n beforeShowPromise: GuideUtils.awaitAlphaDropD3(elementSelector, $rootScope)\n }, options)\n }\n ];\n }\n },\n {\n guideBlockName: 'visual-graph-node-focus',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const $rootScope = services.$rootScope;\n const elementSelector = `.node-wrapper[id^=\"${options.iri}\"] circle`;\n return [\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n title: 'guide.step_plugin.visual-graph-node-focus.title',\n content: 'guide.step_plugin.visual-graph-node-focus.content',\n url: '/graphs-visualizations',\n canBePaused: false,\n elementSelector,\n class: 'visual-graph-node-focus-guide-dialog',\n show: disableAllNodes,\n hide: enableAllNodes,\n beforeShowPromise: GuideUtils.awaitAlphaDropD3(elementSelector, $rootScope),\n initPreviousStep: (services, stepId) => {\n if (GuideUtils.isVisible(elementSelector)) {\n return Promise.resolve();\n }\n\n const previousStep = services.ShepherdService.getPreviousStepFromHistory(stepId);\n return previousStep.options.initPreviousStep(services, previousStep.id);\n }\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["disableAllNodes","$","addClass","enableAllNodes","removeClass","PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","RoutingUtil","mainAction","angular","extend","menu","showIntro","content","forceReload","url","elementSelector","getGuideElementSelector","class","onNextValidate","step","Promise","resolve","validateTextInput","easyGraphInputText","iri","onNextClick","guide","waitFor","then","trigger","canBePaused","placement","onPreviousClick","navigate","searchInputSelector","initPreviousStep","decodeURIComponent","getCurrentRoute","URL","$rootScope","$route","title","advanceOn","undefined","graphVizExpandNode","getCurrentStep","hide","awaitAlphaDropD3","next","show","on","dblClickFunction","off","beforeShowPromise","reload","deferredShow","stepId","previousStep","ShepherdService","getPreviousStepFromHistory","id","getCurrentStepId","mouseClickTimeStamp","mouseEventTimer","steps","onClick","event","timeStamp","$timeout","cancel","graphVizShowNodeInfo","closeButtonSelector","catch","isArray","focusProperties","forEach","focusProperty","isObject","property","translationIdSuffix","skipGenericMessage","message","push","extraContent","selector","fromIri","toIri","isVisible"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=25090;export const __webpack_ids__=[25090];export const __webpack_modules__={25090:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"create-ttyg-agent",getSteps:(e,t)=>{const n=t.GuideUtils;return e.mainAction="create-ttyg-agent",[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"ttyg",showIntro:!0},e)},{guideBlockName:"end-on-api-key-error"},{guideBlockName:"info-message",options:angular.extend({},{content:"guide.step_plugin.create-ttyg-agent.intro"},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create-ttyg-agent.create-agent",class:"create-agent-btn-guide-dialog",url:"/ttyg",maxWaitTime:10,elementSelector:n.getGuideElementSelector("create-agent-btn"),disableNextFlow:!0},e)},{guideBlockName:"configure-agent",options:angular.extend({},e,{editName:!0})},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create-ttyg-agent.save-agent-settings",class:"save-agent-guide-dialog",url:"/ttyg",elementSelector:n.getGuideElementSelector("save-agent-settings"),disableNextFlow:!0},e)},{guideBlockName:"wait-for-element-to-hide",options:angular.extend({},{elementSelectorToHide:n.getElementSelector(".agent-settings-modal"),timeToWait:10},e)}]}}])}};
|
|
2
|
-
//# sourceMappingURL=25090.8336e69433235ea3dfc6.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"25090.8336e69433235ea3dfc6.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,oBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAG5B,OAFAF,EAAQG,WAAa,oBAEd,CACH,CACIL,eAAgB,kBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBC,KAAM,OACNC,WAAW,GACZP,IAEP,CACIF,eAAgB,wBAEpB,CACIA,eAAgB,eAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,6CACVR,IAEP,CACIF,eAAgB,oBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,mDACTC,MAAO,gCACPC,IAAK,QACLC,YAAa,GACbC,gBAAiBV,EAAWW,wBAAwB,oBACpDC,iBAAiB,GAClBd,IAEP,CACIF,eAAgB,kBAEhBE,QAASI,QAAQC,OAAO,CAAC,EAAGL,EAAS,CAACe,UAAU,KAEpD,CACIjB,eAAgB,oBAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,0DACTC,MAAO,0BACPC,IAAK,QACLE,gBAAiBV,EAAWW,wBAAwB,uBACpDC,iBAAiB,GAClBd,IAEP,CACIF,eAAgB,2BAChBE,QAASI,QAAQC,OAAO,CAAC,EAAG,CACxBW,sBAAuBd,EAAWe,mBAAmB,yBACrDC,WAAY,IACblB,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/create-ttyg-agent/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'create-ttyg-agent',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'create-ttyg-agent';\n\n return [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'ttyg',\n showIntro: true\n }, options)\n },\n {\n guideBlockName: 'end-on-api-key-error'\n },\n {\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create-ttyg-agent.intro',\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create-ttyg-agent.create-agent',\n class: 'create-agent-btn-guide-dialog',\n url: '/ttyg',\n maxWaitTime: 10,\n elementSelector: GuideUtils.getGuideElementSelector('create-agent-btn'),\n disableNextFlow: true\n }, options)\n },\n {\n guideBlockName: 'configure-agent',\n // Set name field as mandatory for creation\n options: angular.extend({}, options, {editName: true})\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create-ttyg-agent.save-agent-settings',\n class: 'save-agent-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('save-agent-settings'),\n disableNextFlow: true\n }, options)\n },\n {\n guideBlockName: 'wait-for-element-to-hide',\n options: angular.extend({}, {\n elementSelectorToHide: GuideUtils.getElementSelector('.agent-settings-modal'),\n timeToWait: 10\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","angular","extend","menu","showIntro","content","class","url","maxWaitTime","elementSelector","getGuideElementSelector","disableNextFlow","editName","elementSelectorToHide","getElementSelector","timeToWait"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=34330;export const __webpack_ids__=[34330];export const __webpack_modules__={34330:()=>{const e=(e,t)=>(e.RoutingUtil.navigate("/hierarchy"),e.GuideUtils.waitFor(t,3).then(()=>(e.GuideUtils.classHierarchyFocus(t),e.GuideUtils.deferredShow(500)())));PluginRegistry.add("guide.step",[{guideBlockName:"class-hierarchy",getSteps:(e,t)=>{const n=t.GuideUtils;e.mainAction="class-hierarchy";const i=[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"class-hierarchy",showIntro:!0},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.class_hierarchy_intro.content",url:"/hierarchy",elementSelector:"#classChart",placement:"left"},e)}];return e.introExtraContent&&i.push({guideBlockName:"read-only-element",options:angular.extend({},{content:"",extraContent:e.introExtraContent,url:"/hierarchy",elementSelector:"#classChart #main-group",class:"clas-hierarchy-intro-guide-dialog",placement:"left"},e)}),angular.isArray(e.zoomIris)&&e.zoomIris.forEach(t=>{const l=n.getGuideElementSelector("class-"+t.iri);i.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.class_hierarchy_zoom.content",url:"/hierarchy",placement:"left",elementSelector:l,class:"class-hierarchy-zoom-content-guide-dialog",onNextClick:(e,t)=>{n.classHierarchyZoom(t.elementSelector),e.next()}},e,t)}),t.postExtraContent&&i.push({guideBlockName:"read-only-element",options:angular.extend({},{content:"",extraContent:t.postExtraContent,url:"/hierarchy",placement:"left",beforeShowPromise:n.deferredShow(800),elementSelector:l,class:"class-hierarchy-instances-guide-dialog"},e)})}),i}},{guideBlockName:"class-hierarchy-instances",getSteps:(t,n)=>{const i=n.GuideUtils,l=n.RoutingUtil;t.title="guide.step_plugin.class-hierarchy-instances.title";const s=i.getGuideElementSelector("close-info-panel"),a=i.getGuideElementSelector("class-"+t.iri),c=[{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.class-hierarchy-instances.content",url:"/hierarchy",elementSelector:a,class:"class-hierarchy-instance-guide-dialog",placement:"top",onNextClick:e=>{i.classHierarchyFocus(a),e.next()},initPreviousStep:()=>i.isVisible(s)?Promise.resolve():e({RoutingUtil:l,GuideUtils:i},a)},t)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.class-hierarchy-instances-side-panel.content",url:"/hierarchy",elementSelector:".rdf-info-side-panel div",class:"class-hierarchy-side-panel-info-guide-dialog",canBePaused:!1,placement:"left",beforeShowPromise:i.deferredShow(800),onPreviousClick:()=>new Promise(function(e){i.waitFor(s,1).then(()=>$(s).trigger("click")),e()})},t)}];angular.isArray(t.focusInstances)&&t.focusInstances.forEach(e=>{angular.isObject(e)||(e={instance:e}),c.push({guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.class-hierarchy-instances-focus.content",url:"/hierarchy",canBePaused:!1,elementSelector:i.getGuideElementSelector("instance-"+e.instance),class:"class-hierarchy-side-bar-instance-info-guide-dialog",focusInstance:e.instance,extraContent:e.message},t)})});const o=i.getGuideElementSelector("instances-count");return t.followCountLink&&(c.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.class-hierarchy-instances-count.content",url:"/hierarchy",canBePaused:!1,elementSelector:o,class:"class-hierarchy-side-panel-instances-count-guide-dialog",onNextClick:i.clickOnGuideElement("instances-count")},t)}),c.push({guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.class-hierarchy-instances-query.content",url:"/sparql",elementSelector:i.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,beforeShowPromise:()=>i.waitFor(i.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,3).then(()=>i.deferredShow(500)()),class:"class-hierarchy-instances-query-guide-dialog",scrollToHandler:i.scrollToTop},t)}),c.push({guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.class-hierarchy-instances-results.content",extraContent:!1!==t.showExtraCommentSparql?"guide.step_plugin.class-hierarchy-instances-results.extraContent":null,url:"/sparql",placement:"top",elementSelector:i.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR,class:"class-hierarchy-instances-results-guide-dialog",fileName:t.fileName,scrollToHandler:i.scrollToTop,onNextClick:e=>{window.history.back(),e.next()},initPreviousStep:()=>Promise.resolve()},t)})),c.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.class-hierarchy-instances-side-panel-close.content",url:"/hierarchy",canBePaused:!1,elementSelector:s,class:"class-hierarchy-side-panel-close-guide-dialog",placement:"left",beforeShowPromise:t.followCountLink?i.deferredShow(1500):Promise.resolve(),advanceOn:{selector:s,event:"click"},onNextClick:()=>i.waitFor(s,3).then(()=>$(s).trigger("click")),initPreviousStep:(n,s)=>n.ShepherdService.getCurrentStepId()===s&&t.followCountLink?i.waitFor(o,3).then(()=>($(o).trigger("click"),i.waitFor(i.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR,3).then(()=>i.deferredShow(50)()))):e({RoutingUtil:l,GuideUtils:i},a)},t)}),c}}])}};
|
|
2
|
-
//# sourceMappingURL=34330.a2a4211b14d118bd4c03.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"34330.a2a4211b14d118bd4c03.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/class-hierarchy/plugin.js"],"sourcesContent":["const reloadAndOpenInfoPanel = (services, clasInstanceSelector) => {\n services.RoutingUtil.navigate('/hierarchy');\n return services.GuideUtils.waitFor(clasInstanceSelector, 3)\n .then(() => {\n services.GuideUtils.classHierarchyFocus(clasInstanceSelector);\n // Wait a little time animation to complete.\n return services.GuideUtils.deferredShow(500)();\n });\n};\n\nPluginRegistry.add('guide.step', [\n {\n guideBlockName: 'class-hierarchy',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'class-hierarchy';\n\n const steps = [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'class-hierarchy',\n showIntro: true\n }, options)\n }, {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class_hierarchy_intro.content',\n url: '/hierarchy',\n elementSelector: '#classChart',\n placement: 'left'\n }, options)\n }\n ];\n\n if (options.introExtraContent) {\n steps.push({\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: '',\n extraContent: options.introExtraContent,\n url: '/hierarchy',\n elementSelector: '#classChart #main-group',\n class: 'clas-hierarchy-intro-guide-dialog',\n placement: 'left'\n }, options)\n });\n }\n\n if (angular.isArray(options.zoomIris)) {\n options.zoomIris.forEach((zoomIri) => {\n const selector = GuideUtils.getGuideElementSelector('class-' + zoomIri.iri);\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class_hierarchy_zoom.content',\n url: '/hierarchy',\n placement: 'left',\n elementSelector: selector,\n class: 'class-hierarchy-zoom-content-guide-dialog',\n onNextClick: (guide, step) => {\n GuideUtils.classHierarchyZoom(step.elementSelector);\n guide.next();\n }\n }, options, zoomIri)\n });\n if (zoomIri.postExtraContent) {\n steps.push({\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: '',\n extraContent: zoomIri.postExtraContent,\n url: '/hierarchy',\n placement: 'left',\n beforeShowPromise: GuideUtils.deferredShow(800),\n elementSelector: selector,\n class: 'class-hierarchy-instances-guide-dialog'\n }, options)\n });\n }\n });\n }\n\n return steps;\n }\n },\n {\n guideBlockName: 'class-hierarchy-instances',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const RoutingUtil = services.RoutingUtil;\n options.title = 'guide.step_plugin.class-hierarchy-instances.title';\n const closeButtonSelector = GuideUtils.getGuideElementSelector('close-info-panel');\n const clasInstanceSelector = GuideUtils.getGuideElementSelector('class-' + options.iri);\n const steps = [\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class-hierarchy-instances.content',\n url: '/hierarchy',\n elementSelector: clasInstanceSelector,\n class: 'class-hierarchy-instance-guide-dialog',\n placement: 'top',\n onNextClick: (guide) => {\n GuideUtils.classHierarchyFocus(clasInstanceSelector);\n guide.next();\n },\n initPreviousStep: () => {\n if (!GuideUtils.isVisible(closeButtonSelector)) {\n return reloadAndOpenInfoPanel({RoutingUtil, GuideUtils}, clasInstanceSelector);\n }\n\n return Promise.resolve();\n }\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class-hierarchy-instances-side-panel.content',\n url: '/hierarchy',\n elementSelector: '.rdf-info-side-panel div',\n class: 'class-hierarchy-side-panel-info-guide-dialog',\n canBePaused: false,\n placement: 'left',\n beforeShowPromise: GuideUtils.deferredShow(800),\n onPreviousClick: () => new Promise(function (resolve) {\n GuideUtils.waitFor(closeButtonSelector, 1)\n .then(() => $(closeButtonSelector).trigger('click'));\n resolve();\n })\n }, options)\n }\n ];\n\n if (angular.isArray(options.focusInstances)) {\n options.focusInstances.forEach((focusInstance) => {\n if (!angular.isObject(focusInstance)) {\n focusInstance = {\n instance: focusInstance\n };\n }\n steps.push({\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class-hierarchy-instances-focus.content',\n url: '/hierarchy',\n canBePaused: false,\n elementSelector: GuideUtils.getGuideElementSelector('instance-' + focusInstance.instance),\n class: 'class-hierarchy-side-bar-instance-info-guide-dialog',\n focusInstance: focusInstance.instance,\n extraContent: focusInstance.message\n }, options)\n });\n });\n }\n\n const instanceCountSelector = GuideUtils.getGuideElementSelector('instances-count');\n if (options.followCountLink) {\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class-hierarchy-instances-count.content',\n url: '/hierarchy',\n canBePaused: false,\n elementSelector: instanceCountSelector,\n class: 'class-hierarchy-side-panel-instances-count-guide-dialog',\n onNextClick: GuideUtils.clickOnGuideElement('instances-count')\n }, options)\n });\n\n steps.push({\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class-hierarchy-instances-query.content',\n url: '/sparql',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,\n beforeShowPromise: () => GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR, 3)\n .then(() => GuideUtils.deferredShow(500)()),\n class: 'class-hierarchy-instances-query-guide-dialog',\n scrollToHandler: GuideUtils.scrollToTop\n }, options)\n });\n steps.push({\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class-hierarchy-instances-results.content',\n extraContent: options.showExtraCommentSparql !== false ?\n 'guide.step_plugin.class-hierarchy-instances-results.extraContent' : null,\n url: '/sparql',\n placement: 'top',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR,\n class: 'class-hierarchy-instances-results-guide-dialog',\n fileName: options.fileName,\n scrollToHandler: GuideUtils.scrollToTop,\n onNextClick: (guide) => {\n window.history.back();\n guide.next();\n },\n initPreviousStep: () => Promise.resolve()\n }, options)\n });\n }\n\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.class-hierarchy-instances-side-panel-close.content',\n url: '/hierarchy',\n canBePaused: false,\n elementSelector: closeButtonSelector,\n class: 'class-hierarchy-side-panel-close-guide-dialog',\n placement: 'left',\n // If we followed the count link we come back here from another view\n // and the side panel needs time to open\n beforeShowPromise: options.followCountLink ? GuideUtils.deferredShow(1500) : Promise.resolve(),\n advanceOn: {\n selector: closeButtonSelector,\n event: 'click'\n },\n onNextClick: () => GuideUtils.waitFor(closeButtonSelector, 3)\n .then(() => $(closeButtonSelector).trigger('click')),\n initPreviousStep: (services, stepId) => {\n\n const currentStepId = services.ShepherdService.getCurrentStepId();\n // If method is called from same step just click count link\n if (currentStepId === stepId && options.followCountLink) {\n return GuideUtils.waitFor(instanceCountSelector, 3)\n .then(() => {\n $(instanceCountSelector).trigger('click');\n return GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR, 3)\n .then(() => GuideUtils.deferredShow(50)());\n });\n }\n // If is called from other step we have to reload and open the info panel.\n return reloadAndOpenInfoPanel({RoutingUtil, GuideUtils}, clasInstanceSelector);\n }\n }, options)\n });\n\n return steps;\n }\n }\n]);\n"],"names":["reloadAndOpenInfoPanel","services","clasInstanceSelector","RoutingUtil","navigate","GuideUtils","waitFor","then","classHierarchyFocus","deferredShow","PluginRegistry","add","guideBlockName","getSteps","options","mainAction","steps","angular","extend","menu","showIntro","content","url","elementSelector","placement","introExtraContent","push","extraContent","class","isArray","zoomIris","forEach","zoomIri","selector","getGuideElementSelector","iri","onNextClick","guide","step","classHierarchyZoom","next","postExtraContent","beforeShowPromise","title","closeButtonSelector","initPreviousStep","isVisible","Promise","resolve","canBePaused","onPreviousClick","$","trigger","focusInstances","focusInstance","isObject","instance","message","instanceCountSelector","followCountLink","clickOnGuideElement","CSS_SELECTORS","SPARQL_EDITOR_SELECTOR","scrollToHandler","scrollToTop","showExtraCommentSparql","SPARQL_RESULTS_SELECTOR","fileName","window","history","back","advanceOn","event","stepId","ShepherdService","getCurrentStepId"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=36737;export const __webpack_ids__=[36737];export const __webpack_modules__={36737:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"similarity-search-method",getSteps:(e,t)=>{const i=t.GuideUtils;e.mainAction="similarity-search-method";const l=e.disable,s=i.getGuideElementSelector("query-method-similarity_search-input");return l?[{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.similarity-search-method.disable-toggle",class:"toggle-similarity-search-guide-dialog",url:"/ttyg",showOn:()=>i.isChecked(s),elementSelector:i.getGuideElementSelector("query-method-similarity_search"),clickableElementSelector:s,onNextValidate:()=>Promise.resolve(!i.isChecked(s))},e)}]:[{guideBlockName:"info-message",options:angular.extend({},{content:"guide.step_plugin.similarity-search-method.content",url:"/ttyg",class:"info-similarity-search-guide-dialog",disablePreviousFlow:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.similarity-search-method.enable-toggle",class:"toggle-similarity-search-guide-dialog",url:"/ttyg",elementSelector:i.getGuideElementSelector("query-method-similarity_search"),clickableElementSelector:s,onNextValidate:()=>Promise.resolve(i.isChecked(s))},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.similarity-search-method.select-index",elementSelector:i.getGuideElementSelector("similarity-index-select"),class:"select-similarity-index-guide-dialog"},e)}]}}])}};
|
|
2
|
-
//# sourceMappingURL=36737.0f3e0ff6942f79d49804.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"36737.0f3e0ff6942f79d49804.bundle.js","mappings":"oHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,2BAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAC5BF,EAAQG,WAAa,2BAErB,MAAMC,EAAkBJ,EAAQK,QAC1BC,EAAiBJ,EAAWK,wBAAwB,wCAE1D,OAAIH,EACO,CAAC,CACJN,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,4DACTC,MAAO,wCACPC,IAAK,QACLC,OAAQA,IAAMX,EAAWY,UAAUR,GACnCS,gBAAiBb,EAAWK,wBAAwB,kCACpDS,yBAA0BV,EAC1BW,eAAgBA,IAAMC,QAAQC,SAASjB,EAAWY,UAAUR,KAC7DN,KAIJ,CACH,CACIF,eAAgB,eAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,qDACTE,IAAK,QACLD,MAAO,sCACPS,qBAAqB,GACtBpB,IAEP,CACIF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,2DACTC,MAAO,wCACPC,IAAK,QACLG,gBAAiBb,EAAWK,wBAAwB,kCACpDS,yBAA0BV,EAC1BW,eAAgBA,IAAMC,QAAQC,QAAQjB,EAAWY,UAAUR,KAC5DN,IAEP,CACIF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,QAAS,0DACTK,gBAAiBb,EAAWK,wBAAwB,2BACpDI,MAAO,wCACRX,Q","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/ttyg/common/similarity-search-method/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'similarity-search-method',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'similarity-search-method';\n\n const shouldToggleOff = options.disable;\n const toggleSelector = GuideUtils.getGuideElementSelector('query-method-similarity_search-input');\n\n if (shouldToggleOff) {\n return [{\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.similarity-search-method.disable-toggle',\n class: 'toggle-similarity-search-guide-dialog',\n url: '/ttyg',\n showOn: () => GuideUtils.isChecked(toggleSelector),\n elementSelector: GuideUtils.getGuideElementSelector('query-method-similarity_search'),\n clickableElementSelector: toggleSelector,\n onNextValidate: () => Promise.resolve(!GuideUtils.isChecked(toggleSelector))\n }, options)\n }]\n }\n\n return [\n {\n guideBlockName: 'info-message',\n options: angular.extend({}, {\n content: 'guide.step_plugin.similarity-search-method.content',\n url: '/ttyg',\n class: 'info-similarity-search-guide-dialog',\n disablePreviousFlow: true\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.similarity-search-method.enable-toggle',\n class: 'toggle-similarity-search-guide-dialog',\n url: '/ttyg',\n elementSelector: GuideUtils.getGuideElementSelector('query-method-similarity_search'),\n clickableElementSelector: toggleSelector,\n onNextValidate: () => Promise.resolve(GuideUtils.isChecked(toggleSelector))\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.similarity-search-method.select-index',\n elementSelector: GuideUtils.getGuideElementSelector('similarity-index-select'),\n class: 'select-similarity-index-guide-dialog',\n }, options)\n }\n ];\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","shouldToggleOff","disable","toggleSelector","getGuideElementSelector","angular","extend","content","class","url","showOn","isChecked","elementSelector","clickableElementSelector","onNextValidate","Promise","resolve","disablePreviousFlow"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=39448;export const __webpack_ids__=[39448];export const __webpack_modules__={39448:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"execute-sparql-query",getSteps:(e,t)=>{const r="#query-editor",n=t.GuideUtils,o=t.YasguiComponentDirectiveUtil,i=t.toastr,s=t.$translate,u=t.$interpolate,l=t.RoutingUtil;e.mainAction="execute-sparql-query";const a=document.createElement("code"),c=document.createElement("button"),p="guide-copy-to-editor-query-button";c.className=`btn btn-sm btn-secondary ${p}`,c.innerText=s.instant("guide.step_plugin.execute-sparql-query.copy-to-editor.button"),c.setAttribute("ng-click","copyQuery()");const d=[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"sparql",showIntro:!0},e)}],S={"-1":'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nselect * where { \n\t?s ?p ?o .\n?o rdf:type ""\n} limit 100 '};let g=!1;return e.queries.forEach((y,m)=>{const q=y.query;S[m]=q,a.innerText=q,e.queryAsHtmlCodeElement='<div class="shepherd-code">'+a.outerHTML+c.outerHTML+"</div>";const E=((e,t,r)=>n=>{n.preventDefault(),e.setQuery(t,r).then(()=>{})})(o,r,q);let _;d.push({guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.execute-sparql-query.query-editor.content",url:"/sparql",elementSelector:n.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,class:"yasgui-query-editor-guide-dialog",beforeShowPromise:()=>o.getOntotextYasguiElementAsync(r).then(()=>n.waitFor(n.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,3)).then(()=>n.deferredShow(500)()).catch(e=>{throw t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),e}),onNextValidate:()=>o.getOntotextYasguiElementAsync(r).then(e=>e.getQuery().then(t=>({yasgui:e,queryFromEditor:t}))).then(({yasgui:t,queryFromEditor:r})=>{const o=n.removeWhiteSpaces(r);if(o!==n.removeWhiteSpaces(q)){if("select*where{?s?p?o.}limit100"!==o&&!g)return n.noNextErrorToast(i,s,u,"guide.step_plugin.execute-sparql-query.query-not-same.error",e),!1;t.setQuery(q)}return g=!0,!0}),initPreviousStep:()=>0===m?o.setQuery(r,"select * where { \n\t?s ?p ?o .\n} limit 100 \n"):("sparql"!==l.getCurrentRoute()&&l.navigate("/sparql"),n.waitFor(n.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR).then(()=>o.executeSparqlQuery("#query-editor",q))),scrollToHandler:n.scrollToTop,extraContent:y.queryExtraContent,show:e=>()=>{_=e.currentStep.el.querySelector(`.${p}`),_.addEventListener("click",E)},hide:()=>()=>{_&&_.removeEventListener("click",E)}},e)}),d.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.execute-sparql-query.run-sparql-query.content",url:"/sparql",elementSelector:n.CSS_SELECTORS.SPARQL_RUN_BUTTON_SELECTOR,class:"yasgui-run-button-guide-dialog",onNextClick:e=>o.getOntotextYasguiElementAsync(r).then(t=>{t.query(),e.next()}),scrollToHandler:n.scrollToTop,canBePaused:!1,initPreviousStep:(e,t)=>{const r=e.ShepherdService.getPreviousStepFromHistory(t);return r.options.initPreviousStep(e,r.options.id).then(()=>e.ShepherdService.getCurrentStepId()===t?Promise.resolve():o.executeSparqlQuery("#query-editor",q))}},e)}),d.push({guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.execute-sparql-query.result-explain.content",url:"/sparql",placement:"top",elementSelector:n.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR,class:"yasgui-query-results-guide-dialog",fileName:e.fileName,scrollToHandler:n.scrollToTop,extraContent:y.resultExtraContent,canBePaused:!1,initPreviousStep:(e,t)=>{if("sparql"!==l.getCurrentRoute())return l.navigate("/sparql"),n.waitFor(n.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR).then(()=>n.deferredShow(500)()).then(()=>o.executeSparqlQuery("#query-editor",q));const i=e.ShepherdService.getPreviousStepFromHistory(t);return i.options.initPreviousStep(e,i.options.id).then(()=>o.setQuery(r,q))}},e)})}),d}}])}};
|
|
2
|
-
//# sourceMappingURL=39448.a6ec42f0d72642fe9ee9.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"39448.a6ec42f0d72642fe9ee9.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/execute-sparql-query/plugin.js"],"sourcesContent":["const createCopyToEditorListener = (YasguiComponentDirectiveUtil, sparqlDirectiveSelector, query) => {\n return (event) => {\n event.preventDefault();\n YasguiComponentDirectiveUtil.setQuery(sparqlDirectiveSelector, query).then(() => {});\n }\n}\n\nPluginRegistry.add('guide.step', [\n {\n guideBlockName: 'execute-sparql-query',\n getSteps: (options, services) => {\n const SPARQL_DIRECTIVE_SELECTOR = '#query-editor';\n const GuideUtils = services.GuideUtils;\n const YasguiComponentDirectiveUtil = services.YasguiComponentDirectiveUtil;\n const toastr = services.toastr;\n const $translate = services.$translate;\n const $interpolate = services.$interpolate;\n const RoutingUtil = services.RoutingUtil;\n options.mainAction = 'execute-sparql-query';\n\n const code = document.createElement('code');\n const copy = document.createElement('button');\n const copyToEditorButtonClass = 'guide-copy-to-editor-query-button';\n copy.className = `btn btn-sm btn-secondary ${copyToEditorButtonClass}`;\n copy.innerText = $translate.instant('guide.step_plugin.execute-sparql-query.copy-to-editor.button');\n copy.setAttribute('ng-click', 'copyQuery()');\n\n const steps = [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'sparql',\n showIntro: true\n }, options)\n }\n ];\n\n const defaultQuery = 'select * where { \\n\\t?s ?p ?o .\\n} limit 100 \\n';\n const queries = {};\n queries[-1] = 'PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\\nselect * where { \\n\\t?s ?p ?o .\\n?o rdf:type \"\"\\n} limit 100 ';\n\n let overwriteQuery = false;\n options.queries.forEach((queryDef, index) => {\n const query = queryDef.query;\n queries[index] = query;\n code.innerText = query;\n options.queryAsHtmlCodeElement = '<div class=\"shepherd-code\">' + code.outerHTML + copy.outerHTML + '</div>';\n\n const copyToEditorListener = createCopyToEditorListener(YasguiComponentDirectiveUtil, SPARQL_DIRECTIVE_SELECTOR, query);\n let stepHTMLElement;\n\n steps.push({\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.execute-sparql-query.query-editor.content',\n url: '/sparql',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR,\n class: 'yasgui-query-editor-guide-dialog',\n beforeShowPromise: () => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then(() => GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR, 3))\n .then(() => GuideUtils.deferredShow(500)())\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n throw error;\n }),\n onNextValidate: () => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then((yasgui) => yasgui.getQuery().then((query) => ({yasgui, queryFromEditor: query})))\n .then(({yasgui, queryFromEditor}) => {\n const editorQuery = GuideUtils.removeWhiteSpaces(queryFromEditor);\n const stepQuery = GuideUtils.removeWhiteSpaces(query);\n if (editorQuery !== stepQuery) {\n if (editorQuery === 'select*where{?s?p?o.}limit100' || overwriteQuery) {\n // The query is the default query OR we previously overwrote it => we can overwrite it\n yasgui.setQuery(query);\n } else {\n GuideUtils.noNextErrorToast(toastr, $translate, $interpolate,\n 'guide.step_plugin.execute-sparql-query.query-not-same.error', options);\n return false;\n }\n }\n overwriteQuery = true;\n return true;\n }),\n initPreviousStep: () => {\n if (index === 0) {\n return YasguiComponentDirectiveUtil.setQuery(SPARQL_DIRECTIVE_SELECTOR, defaultQuery);\n }\n\n const haveToReload = 'sparql' !== RoutingUtil.getCurrentRoute();\n\n if (haveToReload) {\n RoutingUtil.navigate('/sparql');\n }\n\n return GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR)\n .then(() => YasguiComponentDirectiveUtil.executeSparqlQuery(\"#query-editor\", query));\n },\n scrollToHandler: GuideUtils.scrollToTop,\n extraContent: queryDef.queryExtraContent,\n show: (_guide) => () => {\n stepHTMLElement = _guide.currentStep.el.querySelector(`.${copyToEditorButtonClass}`);\n stepHTMLElement.addEventListener('click', copyToEditorListener);\n },\n hide: () => () => {\n if (stepHTMLElement) {\n stepHTMLElement.removeEventListener('click', copyToEditorListener);\n }\n }\n }, options)\n });\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.execute-sparql-query.run-sparql-query.content',\n url: '/sparql',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_RUN_BUTTON_SELECTOR,\n class: 'yasgui-run-button-guide-dialog',\n onNextClick: (guide) => YasguiComponentDirectiveUtil.getOntotextYasguiElementAsync(SPARQL_DIRECTIVE_SELECTOR)\n .then((yasgui) => {\n yasgui.query();\n guide.next();\n }),\n scrollToHandler: GuideUtils.scrollToTop,\n canBePaused: false,\n initPreviousStep: (services, stepId) => {\n const previousStep = services.ShepherdService.getPreviousStepFromHistory(stepId);\n return previousStep.options.initPreviousStep(services, previousStep.options.id)\n .then(() => {\n const currentStepId = services.ShepherdService.getCurrentStepId();\n // Skip expanding of node if last step is \"visual-graph-expand\"\n if (currentStepId === stepId) {\n return Promise.resolve();\n }\n\n return YasguiComponentDirectiveUtil.executeSparqlQuery(\"#query-editor\", query);\n });\n }\n }, options)\n });\n steps.push({\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.execute-sparql-query.result-explain.content',\n url: '/sparql',\n placement: 'top',\n elementSelector: GuideUtils.CSS_SELECTORS.SPARQL_RESULTS_SELECTOR,\n class: 'yasgui-query-results-guide-dialog',\n fileName: options.fileName,\n scrollToHandler: GuideUtils.scrollToTop,\n extraContent: queryDef.resultExtraContent,\n canBePaused: false,\n initPreviousStep: (services, stepId) => {\n if ('sparql' !== RoutingUtil.getCurrentRoute()) {\n RoutingUtil.navigate('/sparql');\n return GuideUtils.waitFor(GuideUtils.CSS_SELECTORS.SPARQL_EDITOR_SELECTOR)\n .then(() => GuideUtils.deferredShow(500)())\n .then(() => YasguiComponentDirectiveUtil.executeSparqlQuery(\"#query-editor\", query));\n }\n\n const previousStep = services.ShepherdService.getPreviousStepFromHistory(stepId);\n return previousStep.options.initPreviousStep(services, previousStep.options.id)\n .then(() => YasguiComponentDirectiveUtil.setQuery(SPARQL_DIRECTIVE_SELECTOR, query));\n }\n }, options)\n });\n });\n\n return steps;\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","SPARQL_DIRECTIVE_SELECTOR","GuideUtils","YasguiComponentDirectiveUtil","toastr","$translate","$interpolate","RoutingUtil","mainAction","code","document","createElement","copy","copyToEditorButtonClass","className","innerText","instant","setAttribute","steps","angular","extend","menu","showIntro","queries","overwriteQuery","forEach","queryDef","index","query","queryAsHtmlCodeElement","outerHTML","copyToEditorListener","createCopyToEditorListener","sparqlDirectiveSelector","event","preventDefault","setQuery","then","stepHTMLElement","push","content","url","elementSelector","CSS_SELECTORS","SPARQL_EDITOR_SELECTOR","class","beforeShowPromise","getOntotextYasguiElementAsync","waitFor","deferredShow","catch","error","onNextValidate","yasgui","getQuery","queryFromEditor","editorQuery","removeWhiteSpaces","noNextErrorToast","initPreviousStep","getCurrentRoute","navigate","executeSparqlQuery","scrollToHandler","scrollToTop","extraContent","queryExtraContent","show","_guide","currentStep","el","querySelector","addEventListener","hide","removeEventListener","SPARQL_RUN_BUTTON_SELECTOR","onNextClick","guide","next","canBePaused","stepId","previousStep","ShepherdService","getPreviousStepFromHistory","id","getCurrentStepId","Promise","resolve","placement","SPARQL_RESULTS_SELECTOR","fileName","resultExtraContent"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"39874.6ca23ead080b52dc1bc6.bundle.js","mappings":"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","sources":["webpack://root-config/src/models/constants.ts","webpack://root-config/src/components/onto-layout/onto-layout.tsx","webpack://root-config/src/utils/function-utils.ts","webpack://root-config/src/components/onto-layout/onto-layout.scss"],"sourcesContent":["export const RESPONSIVE_BREAKPOINTS = {\n SM: 640,\n MD: 768,\n LG: 1024,\n XL: 1280,\n XXL: 1400,\n};\n\n/**\n * The width of the window in pixels at which the navbar should collapse.\n */\nexport const WINDOW_WIDTH_FOR_COLLAPSED_NAVBAR = RESPONSIVE_BREAKPOINTS.MD;\n","import {Component, Host, h, Listen, Element, State} from '@stencil/core';\nimport {NavbarToggledEvent} from \"../onto-navbar/navbar-toggled-event\";\nimport {debounce} from \"../../utils/function-utils\";\nimport {WINDOW_WIDTH_FOR_COLLAPSED_NAVBAR} from \"../../models/constants\";\nimport {\n ServiceProvider,\n LocalStorageSubscriptionHandlerService,\n SecurityContextService,\n RestrictedPages,\n EventService,\n EventName,\n SubscriptionList,\n AuthenticatedUser,\n SecurityConfig,\n Authority,\n AuthenticationService, NavigationEndPayload, NavigationContextService, getPathName, WindowService\n} from '@ontotext/workbench-api';\nimport {ExternalMenuItemModel} from '../onto-navbar/external-menu-model';\n\n@Component({\n tag: 'onto-layout',\n styleUrl: 'onto-layout.scss',\n shadow: false,\n})\nexport class OntoLayout {\n // ========================\n // Services\n // ========================\n private readonly securityContextService = ServiceProvider.get(SecurityContextService);\n private readonly authenticationService = ServiceProvider.get(AuthenticationService);\n private readonly navigationContextService = ServiceProvider.get(NavigationContextService);\n\n // ========================\n // DOM Refs\n // ========================\n @Element() hostElement: HTMLOntoLayoutElement;\n private navbarRef: HTMLOntoNavbarElement;\n\n // ========================\n // State\n // ========================\n @State() authenticatedUser: AuthenticatedUser;\n @State() authToken: string | null;\n @State() securityConfig: SecurityConfig;\n @State() isLowResolution = false;\n @State() hasPermission: boolean = true;\n @State() showFooter = this.isAuthenticatedFully();\n @State() isVisible: boolean;\n\n // ========================\n // Private\n // ========================\n /**\n * List of subscriptions to manage component lifecycle\n * */\n private readonly subscriptions: SubscriptionList = new SubscriptionList();\n private readonly windowResizeObserver: (...args: any) => void;\n private isNavbarCollapsed = false;\n\n // ========================\n // Lifecycle methods\n // ========================\n constructor() {\n this.windowResizeObserver = debounce(() => this.windowResizeHandler(), 50);\n WindowService.getWindow().addEventListener(\"storage\", this.handleStorageChange);\n }\n\n componentDidLoad() {\n this.windowResizeHandler();\n }\n\n connectedCallback() {\n this.subscribeToSecurityChanges();\n this.updateVisibility();\n // Subscribing here, because after a disconnectedCallback the connectedCallback is called, instead of componentDidLoad or constructor\n this.subscriptions.add(this.securityContextService.onRestrictedPagesChanged((restrictedPages) => this.setPermission(restrictedPages)));\n this.subscriptions.add(\n ServiceProvider.get(EventService).subscribe(EventName.NAVIGATION_END, (navigationEndPayload: NavigationEndPayload) => {\n this.navigationContextService.updatePreviousRoute(navigationEndPayload.oldUrl);\n this.setPermission(this.securityContextService.getRestrictedPages());\n }));\n this.setPermission(this.securityContextService.getRestrictedPages());\n }\n\n /**\n * Lifecycle method called when the component is about to be removed from the DOM.\n * Unsubscribes from all subscriptions to prevent memory leaks.\n */\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n\n render() {\n return (\n <Host class=\"wb-layout\">\n {/* Default slot is explicitly defined to be able to hide the main content in the user permission check */}\n <div class=\"default-slot-wrapper\">\n <slot name=\"default\"></slot>\n </div>\n <header class=\"wb-header\">\n {this.isVisible && <onto-header></onto-header>}\n </header>\n\n <nav class=\"wb-navbar\">\n <onto-navbar ref={this.assignNavbarRef()}\n navbar-collapsed={this.isLowResolution}></onto-navbar>\n </nav>\n\n {this.hasPermission ? (\n <div class='main-slot-wrapper'>\n <slot name=\"main\"></slot></div>\n ) : (\n <onto-permission-banner></onto-permission-banner>\n )}\n <footer class=\"wb-footer\">\n {this.isVisible && <onto-footer></onto-footer>}\n </footer>\n <onto-tooltip></onto-tooltip>\n <onto-toastr></onto-toastr>\n </Host>\n );\n }\n\n // ========================\n // Event Listeners\n // ========================\n /**\n * Event listener for the navbar toggled event. The layout needs to respond properly when the navbar is toggled in\n * order to fit the content.\n * @param event\n */\n @Listen('navbarToggled')\n onNavbarToggled(event: CustomEvent<NavbarToggledEvent>) {\n this.isNavbarCollapsed = event.detail.payload;\n if (this.isNavbarCollapsed) {\n this.hostElement.classList.add('expanded');\n } else {\n this.hostElement.classList.remove('expanded');\n }\n }\n\n /**\n * Event listener for window resize event. We need to handle this in order to allow the navbar to collapse when the\n * window is resized.\n */\n @Listen('resize', {target: 'window'})\n onResize() {\n this.windowResizeObserver();\n }\n\n // ========================\n // Handlers\n // ========================\n private windowResizeHandler(): void {\n this.isLowResolution = WindowService.getWindow().innerWidth <= WINDOW_WIDTH_FOR_COLLAPSED_NAVBAR;\n if (!this.isLowResolution && !this.isNavbarCollapsed) {\n this.hostElement.classList.remove('expanded');\n } else {\n this.hostElement.classList.add('expanded');\n }\n }\n\n private handleStorageChange(event: StorageEvent) {\n const service = ServiceProvider.get(LocalStorageSubscriptionHandlerService);\n service.handleStorageChange(event);\n }\n\n // ========================\n // Security & Permissions\n // ========================\n private subscribeToSecurityChanges() {\n const securityContextService = ServiceProvider.get(SecurityContextService);\n this.subscriptions.add(\n securityContextService.onAuthenticatedUserChanged((authenticatedUser) => {\n this.authenticatedUser = authenticatedUser;\n this.updateVisibility();\n })\n );\n\n this.subscriptions.add(\n securityContextService.onSecurityConfigChanged((securityConfig) => {\n this.securityConfig = securityConfig;\n this.updateVisibility();\n })\n );\n\n this.subscriptions.add(\n ServiceProvider.get(EventService).subscribe(EventName.LOGOUT, () => {\n this.setNavbarItemVisibility();\n this.updateVisibility();\n this.securityContextService.updateRestrictedPages(new RestrictedPages());\n })\n );\n this.subscriptions.add(\n securityContextService.onAuthTokenChanged(()=>{\n this.setNavbarItemVisibility();\n this.updateVisibility();\n })\n );\n }\n\n private setPermission(permissions: RestrictedPages) {\n if (permissions) {\n const path = getPathName();\n // Delegate to legacy, when a user has authority in order to show the authority banner, which is not migrated yet\n this.hasPermission = !permissions.isRestricted(path) ? true : !this.authenticationService.hasAuthority();\n } else {\n // If the permissions are undefined, the user can access the url\n this.hasPermission = true;\n }\n\n const mainContent = document.querySelector('.wb-layout main') as HTMLElement;\n if (mainContent) {\n mainContent.style.display = this.hasPermission ? 'block' : 'none';\n }\n }\n\n private updateVisibility() {\n if (!this.authenticationService.isSecurityEnabled()) {\n this.isVisible = true;\n this.showFooter = true;\n } else {\n const hasAuth = !!this.authenticatedUser && !!this.securityConfig;\n const isAuthenticated = this.authenticationService.isAuthenticated() || this.authenticationService.hasFreeAccess();\n\n this.isVisible = hasAuth && isAuthenticated;\n this.showFooter = isAuthenticated;\n }\n }\n\n private isAuthenticatedFully() {\n const authService = ServiceProvider.get(AuthenticationService);\n return !authService.isSecurityEnabled() || authService.isAuthenticated() || authService.hasFreeAccess();\n }\n\n private shouldShowMenu(role: Authority): boolean {\n return this.isAuthenticatedFully()\n && ServiceProvider.get(AuthenticationService).hasRole(role);\n }\n\n // ========================\n // Navbar logic\n // ========================\n private assignNavbarRef() {\n return (navbar: HTMLOntoNavbarElement) => {\n this.navbarRef = navbar;\n this.navbarRef.menuItems = WindowService.getWindow().PluginRegistry.get('main.menu');\n this.setNavbarItemVisibility();\n }\n }\n\n private setNavbarItemVisibility() {\n if (!this.navbarRef?.menuItems) {\n return;\n }\n // recursively check for children and set their shouldShow property\n const processItem = (item: ExternalMenuItemModel) => {\n item.shouldShow = this.shouldShowMenu(item.role as Authority);\n if (item.children?.length) {\n item.children.forEach(processItem);\n }\n };\n\n this.navbarRef?.menuItems?.forEach(plugin => {\n plugin.items.forEach(processItem);\n });\n // Update the reference to trigger a re-render\n this.navbarRef.menuItems = [...this.navbarRef.menuItems];\n }\n}\n","export function debounce(func, wait = 300) {\n let timer: string | number | NodeJS.Timeout;\n return (...args: any) => {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), wait);\n };\n}\n",":host {\n display: block;\n height: 100%;\n}\n.wb-layout {\n display: grid;\n grid-template-columns: 15rem minmax(200px, 1fr);\n grid-template-rows: auto 1fr auto;\n grid-template-areas:\n \"nav header\"\n \"nav main\"\n \"nav footer\";\n min-height: 100vh;\n margin: 0;\n\n &.expanded {\n grid-template-columns: 4.375rem 1fr;\n }\n\n nav {\n grid-area: nav;\n }\n\n header {\n grid-area: header;\n }\n\n main {\n grid-area: main;\n }\n\n main .main-container {\n /* This is a temporary solution to properly align the main container next to the sidebar until a proper layout is in place. */\n margin-left: 0;\n }\n\n .default-slot-wrapper {\n display: none;\n }\n\n footer {\n grid-area: footer;\n }\n}\n\n.wb-header {\n position: sticky;\n top: 0;\n z-index: 999;\n}\n"],"names":["OntoLayout","constructor","hostRef","securityContextService","ServiceProvider","get","SecurityContextService","authenticationService","AuthenticationService","navigationContextService","NavigationContextService","isLowResolution","hasPermission","showFooter","this","isAuthenticatedFully","subscriptions","SubscriptionList","isNavbarCollapsed","windowResizeObserver","func","wait","timer","args","clearTimeout","setTimeout","apply","debounce","windowResizeHandler","WindowService","getWindow","addEventListener","handleStorageChange","componentDidLoad","connectedCallback","subscribeToSecurityChanges","updateVisibility","add","onRestrictedPagesChanged","restrictedPages","setPermission","EventService","subscribe","EventName","NAVIGATION_END","navigationEndPayload","updatePreviousRoute","oldUrl","getRestrictedPages","disconnectedCallback","unsubscribeAll","render","h","Host","key","class","name","isVisible","ref","assignNavbarRef","onNavbarToggled","event","detail","payload","hostElement","classList","remove","onResize","innerWidth","LocalStorageSubscriptionHandlerService","onAuthenticatedUserChanged","authenticatedUser","onSecurityConfigChanged","securityConfig","LOGOUT","setNavbarItemVisibility","updateRestrictedPages","RestrictedPages","onAuthTokenChanged","permissions","path","getPathName","isRestricted","hasAuthority","mainContent","document","querySelector","style","display","isSecurityEnabled","hasAuth","isAuthenticated","hasFreeAccess","authService","shouldShowMenu","role","hasRole","navbar","navbarRef","menuItems","PluginRegistry","_a","processItem","item","shouldShow","children","length","forEach","_c","_b","plugin","items"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=4125;export const __webpack_ids__=[4125];export const __webpack_modules__={4125:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"create-repository",getSteps:(e,t)=>{const o=t.GuideUtils;e.mainAction="create-repository";const r=o.getGuideElementSelector("graphDBRepositoryIdInput"),i=e.repositoryId,n=[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"repositories",showIntro:!0},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create_repository.create_repository_button.content",class:"create-repository-guide-dialog",url:"/repository",elementSelector:o.getGuideElementSelector("createRepository"),onNextClick:o.clickOnGuideElement("createRepository")},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create_repository.graph_db_repository.content",class:"create-gdb-repository-guide-dialog",url:"/repository/create",elementSelector:o.getGuideElementSelector("createGraphDBRepository"),onNextClick:o.clickOnGuideElement("createGraphDBRepository")},e)},{guideBlockName:"input-element",options:angular.extend({},{content:"guide.step_plugin.create_repository.repository_id.content",class:"gdb-repository-id-input-guide-dialog",url:"/repository/create/graphdb",elementSelector:r,onNextValidate:()=>Promise.resolve(o.validateTextInput(r,i))},e)}];return e.rulesetName&&n.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create_repository.ruleset_dropdown.content",url:"/repository/create/graphdb",class:"gdb-repository-ruleset-select-guide-dialog",elementSelector:o.getGuideElementSelector("graphDBRepositoryRulesetSelect"),show:()=>()=>{o.validateTextInput(r,i)}},e)}),e.fts&&n.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create_repository.enable-fts.content",url:"/repository/create/graphdb",class:"gdb-repository-enable-fts-guide-dialog",extraContent:"guide.step_plugin.create_repository.enable-fts.extra-content",extraContentClass:"alert alert-help text-left",elementSelector:o.getGuideElementSelector("enable-fts-search"),onNextValidate:()=>Promise.resolve(o.isChecked(o.getGuideElementSelector("enable-fts-search","input")))},e)}),n.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.create_repository.save_button.content",url:"/repository/create/graphdb",class:"create-repository-button-guide-dialog",elementSelector:o.getGuideElementSelector("graphDBRepositoryCrateButton"),show:()=>()=>{o.validateTextInput(r,i)},onNextClick:o.clickOnGuideElement("graphDBRepositoryCrateButton")},e)}),n}}])}};
|
|
2
|
-
//# sourceMappingURL=4125.28d3c85c122f270c9b2c.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"4125.28d3c85c122f270c9b2c.bundle.js","mappings":"iHAAAA,eAAeC,IAAI,aAAc,CAC7B,CACIC,eAAgB,oBAChBC,SAAUA,CAACC,EAASC,KAChB,MAAMC,EAAaD,EAASC,WAC5BF,EAAQG,WAAa,oBAErB,MAAMC,EAA4BF,EAAWG,wBAAwB,4BAC/DC,EAAeN,EAAQM,aACvBC,EAAQ,CACV,CACIT,eAAgB,kBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBC,KAAM,eACNC,WAAW,GACZX,IACJ,CACCF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,uEACTC,MAAO,iCACPC,IAAK,cACLC,gBAAiBb,EAAWG,wBAAwB,oBACpDW,YAAad,EAAWe,oBAAoB,qBAC7CjB,IACJ,CACCF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,kEACTC,MAAO,qCACPC,IAAK,qBACLC,gBAAiBb,EAAWG,wBAAwB,2BACpDW,YAAad,EAAWe,oBAAoB,4BAC7CjB,IACJ,CACCF,eAAgB,gBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,4DACTC,MAAO,uCACPC,IAAK,6BACLC,gBAAiBX,EACjBc,eAAgBA,IAAMC,QAAQC,QAAQlB,EAAWmB,kBAAkBjB,EAA2BE,KAC/FN,KA8CX,OA1CIA,EAAQsB,aACRf,EAAMgB,KAAK,CACPzB,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,+DACTE,IAAK,6BACLD,MAAO,6CACPE,gBAAiBb,EAAWG,wBAAwB,kCACpDmB,KAAMA,IAAM,KACRtB,EAAWmB,kBAAkBjB,EAA2BE,KAE7DN,KAGRA,EAAQyB,KACPlB,EAAMgB,KAAK,CACIzB,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,yDACTE,IAAK,6BACLD,MAAO,yCACPa,aAAc,+DACdC,kBAAmB,6BACnBZ,gBAAiBb,EAAWG,wBAAwB,qBACpDa,eAAgBA,IAAMC,QAAQC,QAAQlB,EAAW0B,UAAU1B,EAAWG,wBAAwB,oBAAqB,YACpHL,KAGtBO,EAAMgB,KAAK,CACPzB,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,0DACTE,IAAK,6BACLD,MAAO,wCACPE,gBAAiBb,EAAWG,wBAAwB,gCACpDmB,KAAMA,IAAM,KACRtB,EAAWmB,kBAAkBjB,EAA2BE,IAE5DU,YAAad,EAAWe,oBAAoB,iCAC7CjB,KAGAO,K","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/create-repository/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'create-repository',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n options.mainAction = 'create-repository';\n\n const repositoryIdInputSelector = GuideUtils.getGuideElementSelector('graphDBRepositoryIdInput');\n const repositoryId = options.repositoryId;\n const steps = [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'repositories',\n showIntro: true\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create_repository.create_repository_button.content',\n class: 'create-repository-guide-dialog',\n url: '/repository',\n elementSelector: GuideUtils.getGuideElementSelector('createRepository'),\n onNextClick: GuideUtils.clickOnGuideElement('createRepository')\n }, options)\n }, {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create_repository.graph_db_repository.content',\n class: 'create-gdb-repository-guide-dialog',\n url: '/repository/create',\n elementSelector: GuideUtils.getGuideElementSelector('createGraphDBRepository'),\n onNextClick: GuideUtils.clickOnGuideElement('createGraphDBRepository')\n }, options)\n }, {\n guideBlockName: 'input-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create_repository.repository_id.content',\n class: 'gdb-repository-id-input-guide-dialog',\n url: '/repository/create/graphdb',\n elementSelector: repositoryIdInputSelector,\n onNextValidate: () => Promise.resolve(GuideUtils.validateTextInput(repositoryIdInputSelector, repositoryId))\n }, options)\n }\n ];\n\n if (options.rulesetName) {\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create_repository.ruleset_dropdown.content',\n url: '/repository/create/graphdb',\n class: 'gdb-repository-ruleset-select-guide-dialog',\n elementSelector: GuideUtils.getGuideElementSelector('graphDBRepositoryRulesetSelect'),\n show: () => () => {\n GuideUtils.validateTextInput(repositoryIdInputSelector, repositoryId);\n }\n }, options)\n });\n }\n if(options.fts) {\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create_repository.enable-fts.content',\n url: '/repository/create/graphdb',\n class: 'gdb-repository-enable-fts-guide-dialog',\n extraContent: 'guide.step_plugin.create_repository.enable-fts.extra-content',\n extraContentClass: 'alert alert-help text-left',\n elementSelector: GuideUtils.getGuideElementSelector('enable-fts-search'),\n onNextValidate: () => Promise.resolve(GuideUtils.isChecked(GuideUtils.getGuideElementSelector('enable-fts-search', 'input')))\n }, options)\n });\n }\n steps.push({\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.create_repository.save_button.content',\n url: '/repository/create/graphdb',\n class: 'create-repository-button-guide-dialog',\n elementSelector: GuideUtils.getGuideElementSelector('graphDBRepositoryCrateButton'),\n show: () => () => {\n GuideUtils.validateTextInput(repositoryIdInputSelector, repositoryId);\n },\n onNextClick: GuideUtils.clickOnGuideElement('graphDBRepositoryCrateButton')\n }, options)\n });\n\n return steps;\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","mainAction","repositoryIdInputSelector","getGuideElementSelector","repositoryId","steps","angular","extend","menu","showIntro","content","class","url","elementSelector","onNextClick","clickOnGuideElement","onNextValidate","Promise","resolve","validateTextInput","rulesetName","push","show","fts","extraContent","extraContentClass","isChecked"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"41621.d1b7d799116c07df17d1.bundle.js","mappings":"0NAAO,MAAMA,EAAiB,CAC1B,QAAW,UACX,OAAU,QACV,UAAa,aACb,OAAU,SACV,OAAU,QACV,IAAO,MACP,OAAU,SACV,WAAc,aACd,UAAa,Y,0GCQjB,SAASC,EAAmBC,EAAWC,EAAyBC,EAAQC,EAAQC,GAC5E,MAAO,CACHC,SAAU,IACVC,OAAO,EACPC,YAAa,oDAEbC,KAGJ,SAAkBC,GAQdA,EAAOC,iBAAkB,EACzBD,EAAOE,mBAAqB,+CAC5BF,EAAOG,mBA3Be,0DA4BtBH,EAAOI,cAAgBC,EAAAA,cAOvBL,EAAOM,eAAiB,IAAIC,EAAAA,gBAM5BP,EAAOQ,qBAAuB,GAC9BR,EAAOS,SAAW,CACdC,sBAAuB,IAAIC,EAAAA,2BAC3BC,SAAU,CACNC,qBAAsB,GAItBC,WAAY,KAYpBd,EAAOe,aAAgBC,IACnBhB,EAAOM,eAAiBN,EAAOQ,qBAAqBS,KAAMC,GAAWA,EAAOF,aAAeA,GAC3FhB,EAAOC,gBAAkBM,EAAAA,gBAAgBN,gBAAgBD,EAAOM,eAAeU,YAC3EhB,EAAOmB,cAAgBnB,EAAOoB,sBAAwBpB,EAAOoB,qBAAqBV,sBAAsBM,aAAeA,EACvHhB,EAAOS,SAAWY,EAAEC,UAAUtB,EAAOoB,uBAErCG,IACAvB,EAAOS,SAASC,sBAAsBM,WAAahB,EAAOM,eAAeU,YAE7EhB,EAAOS,SAASC,sBAAsBc,YAAcxB,EAAOM,eAAekB,YAC1ExB,EAAOyB,aAQXzB,EAAO0B,iBAAoBtB,GAChBJ,EAAOS,SAASG,SAASE,WAAWG,KAAMU,GAAkBvB,IAAkBuB,EAAcC,MAGvG5B,EAAO6B,iBAAmB,KACtB,MAAMC,EAAgBvB,EAAAA,gBAAgBwB,kBAAkB/B,EAAOM,eAAeU,YAAc,0CAA4C,gCACxI,OAAOrB,EAAWqC,QAAQF,GAAiB,KAG/C9B,EAAOiC,qBAAuB,KAC1B,IAAIC,EAAuB,GAC3B,OAAQlC,EAAOM,eAAeU,YAC1B,KAAK3B,EAAAA,eAAe8C,UAChBD,EAAuB,8CACvB,MACJ,KAAK7C,EAAAA,eAAe+C,WAChBF,EAAuB,8CACvB,MACJ,KAAK7C,EAAAA,eAAegD,OAChBH,EAAuB,2CACvB,MACJ,QACIA,EAAuB,oCAE/B,OAAOvC,EAAWqC,QAAQE,IAM9BlC,EAAOyB,UAAY,KACf,MAAM3B,EAAcwC,KAA0B,GAC9CtC,EAAOS,SAASC,sBAAsB6B,IAAMzC,EAAcE,EAAOS,SAASC,sBAAsB8B,cAOpGxC,EAAOyC,yBAA2B,KAC9B,MAAM/B,EAAwBV,EAAOS,SAASC,sBACxCJ,EAAiBN,EAAOM,eAC9B,QAAKI,EAAsBc,aAAgBd,EAAsB6B,OAAOjC,EAAeoC,cAAiBhC,EAAsBiC,QAGtHpC,EAAAA,gBAAgBN,gBAAgBK,EAAeU,aAAiBN,EAAsBkC,UAAalC,EAAsBmC,gBAMrI7C,EAAO8C,eAAiB,KACpBC,IACKC,KAAKC,GACLD,KAAKE,GACLF,KAAKG,GACLH,KAAKI,GACLJ,KAAKK,GACLL,KAAK,IAAMxD,EAAwB8D,kCAAkCtD,EAAOuD,iBAC5EP,KAAK,IAAMvD,EAAO+D,QAAQ7D,EAAWqC,QAAQ,0CAC7CyB,MAAOC,IACAA,aAAiBC,EAAAA,qBACjBlE,EAAOiE,MAAMA,EAAME,SAEnBC,EAAalE,EAAWqC,QAAQ,gCAAiC0B,MAUjF1D,EAAO8D,SAAYnC,IAEf,MAAMoC,EAAW/D,EAAOuD,eAAeS,OAAOrC,EAAcC,MAAMqC,MAC5DC,EAAQvE,EAAWqC,QAAQ,kCAAmC,CAAC+B,aAC/CxE,EAAU4E,KAAK,CACjCrE,YAAa,+CACbsE,WAAY,yBACZC,YAAa,2BACbC,QAAS,CACLC,KAAMA,KACF,MAAMC,EAAYxE,EAAOuD,eAAeS,OAAOrC,EAAcC,MAC7D,OAAO4C,EAAYA,EAAUC,MAAQ,IAEzCC,YAAaA,IACFR,EAEXS,SAAUA,IACC3E,EAAOuD,eAAeoB,YAK3BC,OAAO5B,KAAM6B,IAEvBrF,EAAwBsF,4BAA4BD,EAAKE,aAAcF,EAAKG,QAAShF,EAAOuD,eAAeoB,UACtGnB,QAASoB,IACNjD,EAAcoC,UAAWkB,EAAAA,EAAAA,aAAYL,EAAOG,cAC5C/E,EAAOuD,eAAeS,OAAOrC,EAAcC,MAAM6C,MAAQG,EAAOG,eACjErB,MAAOA,IACVG,EAAalE,EAAWqC,QAAQ,gBAAiB0B,QAK7D1D,EAAOkF,gBAAkB,CAACC,EAAOxD,KAC7B,GAAIwD,GAASA,EAAMC,OAAQ,CACvB,MAAMC,EAAaF,EAAM,GACzBxD,EAAc2D,SAAU,EACxB,MAAMC,EAAa,CACfhD,IAAK,gCACLsC,KAAM,CAACN,KAAMc,EAAYV,SAAU3E,EAAOuD,eAAeoB,WAE7DjF,EAAO8F,OAAOD,GACT/B,QAASqB,IACDA,EAAKrB,SAGN7B,EAAcoC,SAAWsB,EAAWI,KACpCzF,EAAOuD,eAAeS,OAAOrC,EAAcC,MAAM6C,MAAQI,EAAKE,cAH9DtF,EAAOiE,MAAMmB,EAAKa,gBAMzBhC,MAAOmB,IACJhB,EAAalE,EAAWqC,QAAQ,gBAAiB6C,GACjD7E,EAAOqF,WAAa,KAEvBM,QAAQ,KACLhE,EAAc2D,SAAU,GAEpC,GAGJtF,EAAO4F,gBAAkB,KACrB,MAAMC,EAAiB7F,EAAOmB,aAAenB,EAAO8F,eAAiB9F,EAAO+F,WAC5EC,IACKhD,KAAKD,GACLC,KAAKC,GACLD,KAAKE,GACLF,KAAKG,GACLH,KAAKI,GACLJ,KAAKiD,GACLjD,KAAKK,GACLL,KAAK6C,GACLpC,MAAOC,IACAA,aAAiBC,EAAAA,qBACjBlE,EAAOiE,MAAMA,EAAME,SAEnBsC,QAAQC,IAAIzC,MAc5B1D,EAAOoG,oBAAuBC,IAC1B,MAAMC,EAAUD,EAAMC,QAGtB,GAnOe,KAmOXA,GAlOY,KAkOcA,GArOjB,KAqO4CA,GApO7C,KAoOqEA,EAC7E,OAGJ,MAAMxG,EAAcwC,IAGpB,IAAKxC,EACD,OAKJ,MAAMyG,EAAWF,EAAMG,SAAWH,EAAMI,QACxC,GAAIF,GA7OM,KA6OgBD,GAAWC,GA9O3B,KA8OiDD,EACvD,OAGJ,MAAMI,EAAiBL,EAAMM,OAAOC,eAnPtB,IAqPVN,GAAyBI,EAAiB,EAAI5G,EAAYsF,SAC1DiB,EAAMQ,iBACNR,EAAMS,mBAGNJ,EAAiB5G,EAAYsF,SAE7BiB,EAAMQ,iBACNR,EAAMS,oBAMd9G,EAAO+G,kBAAoB,KACvBC,KAUJ,MAAMA,EAAkBA,KACpB,MAAMlH,EAAcwC,IAChBxC,GACIE,EAAOS,SAASC,sBAAsB6B,IAAI0E,WAAWnH,GAErDE,EAAOS,SAASC,sBAAsB8B,aAAexC,EAAOS,SAASC,sBAAsB6B,IAAI2E,UAAUpH,EAAYsF,QAQzHpF,EAAOS,SAASC,sBAAsB8B,aAAexC,EAAOS,SAASC,sBAAsB6B,KAI7FD,EAAuBA,IACrB/B,EAAAA,gBAAgBwB,kBAAkB/B,EAAOM,eAAeU,YACjDmG,IAELC,IAGJD,EAAgCA,KAClC,IAAI5E,EAAMvC,EAAOM,eAAe+G,YAChC,MAAM3G,EAAwBV,EAAOS,SAASC,sBAa9C,OAXIA,EAAsBkC,WACtBL,EAAMA,EAAI+E,QAAQ,eAAgB5G,EAAsBkC,WAGxDlC,EAAsBiC,OACtBJ,EAAMA,EAAI+E,QAAQ,4BAA6B,2BAA2B5G,EAAsBiC,WAGhGjC,EAAsBmC,eACtBN,EAAMA,EAAI+E,QAAQ,aAAc5G,EAAsBmC,eAEnDN,GAGL6E,EAA8BA,KAChC,IAAI7E,EAAMvC,EAAOM,eAAe+G,YAChC,MAAM3G,EAAwBV,EAAOS,SAASC,sBAW9C,OAVIA,EAAsBkC,WAElBL,EADA7B,EAAsBiC,KAChBJ,EAAI+E,QAAQ,aAAc,GAAG5G,EAAsBkC,YAAYlC,EAAsBiC,QAErFJ,EAAI+E,QAAQ,aAAc,GAAG5G,EAAsBkC,aAG7DlC,EAAsBmC,eACtBN,EAAMA,EAAI+E,QAAQ,aAAc5G,EAAsBmC,eAEnDN,GAYLgF,EAAcjC,IAChBtF,EAAOS,SAASG,SAASE,WAAW0G,QAAShD,IACzCA,EAAUc,QAAUA,KAkDtBjC,EAAuBA,KACzBkE,GAAW,GACX,MAAM7G,EAAwBV,EAAOS,SAASC,sBAExC+G,EAAO,CACT7E,SAAUlC,EAAsBkC,SAChCD,KAAMjC,EAAsBiC,KAC5BE,aAAcnC,EAAsBmC,aACpC6E,SAAUhH,EAAsBiH,SAChCC,SAAUlH,EAAsBkH,SAChCpG,YAAad,EAAsBc,YACnCe,IAAK7B,EAAsB6B,IAC3B1B,qBAAsBb,EAAOS,SAASG,SAASC,sBAGnD,OAAOrB,EACF6D,qBAAqBrD,EAAOuD,eAAeS,OAAO6D,eAAepD,MAAOgD,EAAMzH,EAAOuD,eAAeoB,SAAU3E,EAAOM,eAAeU,YACpIwC,QAASqB,IACN7E,EAAOuD,eAAeS,OAAO6D,eAAepD,MAAQI,EAAKE,eAC1DrB,MAAOmB,IACNhB,EAAalE,EAAWqC,QAAQ,gBAAiB6C,KAEpDc,QAAQ,IAAM4B,GAAW,KAG5B1D,EAAeA,CAACK,EAAOW,KACzB,MAAMiD,EAAMC,SAASlD,GACrBpF,EAAOiE,MAAMoE,EAAK5D,IAGhBnB,EAAmBA,IAChBxC,EAAAA,gBAAgBN,gBAAgBD,EAAOM,eAAeU,aAClDhB,EAAOS,SAASC,sBAAsBkC,SAIxCoF,QAAQ1D,UAHA0D,QAAQC,OAAO,IAAItE,EAAAA,qBAAqBhE,EAAWqC,QAAQ,yBAA0B,CAACkG,UAAWvI,EAAWqC,QAAQ,qCAMjIkB,EAAuBA,IACpB3C,EAAAA,gBAAgBN,gBAAgBD,EAAOM,eAAeU,aAClDhB,EAAOS,SAASC,sBAAsBmC,aAIxCmF,QAAQ1D,UAHA0D,QAAQC,OAAO,IAAItE,EAAAA,qBAAqBhE,EAAWqC,QAAQ,yBAA0B,CAACkG,UAAWvI,EAAWqC,QAAQ,yCAMjImB,EAAsBA,IACnBnD,EAAOS,SAASC,sBAAsBc,YAGpCwG,QAAQ1D,UAFJ0D,QAAQC,OAAO,IAAItE,EAAAA,qBAAqBhE,EAAWqC,QAAQ,yBAA0B,CAACkG,UAAWvI,EAAWqC,QAAQ,wCAK7HoB,EAAcA,IACXpD,EAAOS,SAASC,sBAAsB6B,IAGpCyF,QAAQ1D,UAFJ0D,QAAQC,OAAO,IAAItE,EAAAA,qBAAqBhE,EAAWqC,QAAQ,yBAA0B,CAACkG,UAAWvI,EAAWqC,QAAQ,+BAK7HgE,EAAuBA,IACpBhG,EAAOuD,eAAe4E,GAGpBH,QAAQ1D,UAFJ0D,QAAQC,OAAO,IAAItE,EAAAA,qBAAqBhE,EAAWqC,QAAQ,0BAKpEiE,EAAqBA,IAClBjG,EAAO0B,iBAAiBrB,EAAAA,cAAc+H,MAAMrE,SAG1CiE,QAAQ1D,UAFJ0D,QAAQC,OAAO,IAAItE,EAAAA,qBAAqBhE,EAAWqC,QAAQ,mCAAoC,CAAC+B,SAAU/D,EAAOuD,eAAeS,OAAO3D,EAAAA,cAAc+H,MAAMnE,UAKpKhB,EAAeA,IACbjD,EAAOM,eAAeoC,eAAiB1C,EAAOS,SAASC,sBAAsBiC,KACtEqF,QAAQC,OAAO,IAAItE,EAAAA,qBAAqBhE,EAAWqC,QAAQ,yBAA0B,CAACkG,UAAWvI,EAAWqC,QAAQ,gCAExHgG,QAAQ1D,UAGb/C,EAAgBA,KAClBvB,EAAOS,SAAW,CACdC,sBAAuB,IAAIC,EAAAA,2BAC3BC,SAAU,CACNC,qBAAsB,GACtBC,WAAY,KAIpBuH,OAAOC,OAAOjI,EAAAA,eACTmH,QAASpH,IACN,MAAMuB,EAAgB,IAAI4G,EAAAA,cAAcnI,GACxCJ,EAAOS,SAASG,SAASE,WAAW0H,KAAK7G,KAGjD3B,EAAO0B,iBAAiBrB,EAAAA,cAAc+H,MAAMK,UAAW,GA9JhDjJ,EAAwBkJ,wBAAwB1I,EAAOuD,gBACzDC,QAASmF,IACN3I,EAAOQ,qBAAuBmI,IAC/BjF,MAAOiF,IACN9E,EAAalE,EAAWqC,QAAQ,gBAAiB2G,KAiKxD3F,KAAK,KACEhD,EAAOmB,cAvJfoG,GAAW,GACX/H,EAAwBoJ,mBAAmB5I,EAAOuD,eAAeS,OAAO6D,eAAepD,MAAOzE,EAAOuD,eAAeoB,SAAU3E,EAAOM,eAAeU,YAC/IwC,QAASqF,IACN,IAAI3H,EAASlB,EAAOQ,qBAAqBS,KAAMC,GAAWA,EAAOM,cAAgBqH,EAAWrH,aAIvFN,GAAW2H,EAAWjG,WACvB1B,EAASlB,EAAOQ,qBAAqBS,KAAMC,GAAWX,EAAAA,gBAAgBN,gBAAgBiB,EAAOF,cAEjGhB,EAAOe,aAAaG,EAAOF,YAC3BhB,EAAOS,SAASC,sBAAsBM,WAAaE,EAAOF,WAC1DhB,EAAOS,SAASC,sBAAsBc,YAAcqH,EAAWrH,YAC/DxB,EAAOS,SAASC,sBAAsBkH,SAAWiB,EAAWjB,SAC5D5H,EAAOS,SAASC,sBAAsBiH,SAAWkB,EAAWnB,SAC5D1H,EAAOS,SAASC,sBAAsB6B,IAAMsG,EAAWtG,IACvDvC,EAAOS,SAASG,SAASC,qBAAuBgI,EAAWhI,qBAEtDN,EAAAA,gBAAgBN,gBAAgBiB,EAAOF,cACxChB,EAAOS,SAASC,sBAAsBkC,SAAWiG,EAAWjG,SAC5D5C,EAAOS,SAASC,sBAAsBmC,aAAegG,EAAWhG,aAChE7C,EAAOS,SAASC,sBAAsBiC,KAAOkG,EAAWlG,KAAOmG,SAASD,EAAWlG,KAAM,SAAMoG,GAGnG/B,IACAhH,EAAOyB,YAEP4G,OAAOC,OAAOjI,EAAAA,eACTmH,QAASpH,IACN,MAAMuB,EAAgB3B,EAAOuD,eAAeS,OAAO5D,GAC7CoE,EAAYxE,EAAO0B,iBAAiBtB,GACtCuB,IACA6C,EAAUT,UAAWkB,EAAAA,EAAAA,aAAYtD,EAAc8C,UAG3DzE,EAAOoB,qBAAuBC,EAAEC,UAAUtB,EAAOS,YAEpDiD,MAAOmB,IACJhB,EAAalE,EAAWqC,QAAQ,gBAAiB6C,KAEpDc,QAAQ,KACL4B,GAAW,MAiHXvH,EAAOe,aAAa1B,EAAAA,eAAe2J,UAGnD,EACJ,CA1gBAC,QACKC,OAAO,sDAAuD,IAC9DC,UAAU,YAAa7J,GAE5BA,EAAmB8J,QAAU,CAAC,YAAa,0BAA2B,SAAU,SAAU,a,kHCU1FH,QAAQC,OAAO,iCAdC,CACZ,eACA,SACA,YACA,UACA,6CACA,sDACA,qDACA,+CACA,oCACA,qCACA,8B,sDCtBG,MAAMX,EAOTc,WAAAA,CAAYzH,EAAM6G,GAAW,GACzBa,KAAK1H,KAAOA,EACZ0H,KAAKvF,SAAW,GAChBuF,KAAKhE,SAAU,EACfgE,KAAKb,SAAWA,CACpB,E,kBCMJ,SAASc,EAA2BvJ,EAAQP,EAAQ+J,EAAmBC,EAAoB9J,GACvFK,EAAO0J,oBAAqB,EAC5B1J,EAAOY,SAAW,CAAC+I,YAAY,GAC/B3J,EAAO4J,YAEP,WACI5J,EAAO6J,QAAS,EAChBJ,EAAmBK,gBAAgB9G,KAAK,SAAU2F,GAC9C3I,EAAOY,SAAS+I,WAA+B,SAAlBhB,EAAS9D,KACtC7E,EAAO0J,oBAAqB,CAChC,EAAG,SAAUf,GACT,GAAwB,MAApBA,EAASoB,OACT/J,EAAO0J,oBAAqB,MACzB,CACH,MAAM5B,EAAMC,SAASY,EAAS9D,MAC9BpF,EAAOiE,MAAMoE,EAAKnI,EAAWqC,QAAQ,0BACzC,CACJ,EACJ,EAEAhC,EAAO4J,cAEP5J,EAAOgK,YAAc,WACjBhK,EAAO6J,QAAS,EAChBJ,EAAmBQ,iBAAiBjK,EAAOY,SAAS+I,YAAY3G,KAAK,WACjEwG,EAAkBU,QAClBzK,EAAO+D,QAAQ7D,EAAWqC,QAAQ,2BACtC,EAAG,SAAU2G,GACT,MAAMb,EAAMC,SAASY,EAAS9D,MAC9BpF,EAAOiE,MAAMoE,EAAKnI,EAAWqC,QAAQ,yBACzC,EACJ,EAEAhC,EAAOmK,WAAa,WAChBnK,EAAOgK,aACX,EAEAhK,EAAOoK,OAAS,WACZZ,EAAkBa,QAAQ,SAC9B,CACJ,CAIA,SAASC,EAAYtK,EAAQyJ,EAAoBc,EAAiB9K,EAAQ+K,EAAYC,EAAc9K,EAAY+K,GAE5G1K,EAAO2K,eAAiB,WACpB,OAAOJ,EAAgBI,gBAC3B,EAGAJ,EAAgBK,qBAEhB5K,EAAO6K,cAAgB,WACnBJ,EAAaK,gBAAgB,CACzB5G,MAAOvE,EAAWqC,QAAQ,qBAC1B4B,QAASjE,EAAWqC,QAAQ,8BAC5B+I,SAAS,IACVnG,OACE5B,KAAK,WACFyG,EAAmBuB,oBACdxH,QAAQ,WACL+G,EAAgBK,qBACX5H,KAAK,IAAM0H,EAAgBO,wBAC3BxH,MAAOC,IACJ,MAAMoE,EAAMC,SAASrE,EAAMmB,KAAMnB,EAAMqG,QACvCtK,EAAOiE,MAAMoE,EAAKnI,EAAWqC,QAAQ,kBAEjD,EACR,EACR,CACJ,CAIA,SAASkJ,EAAoBlL,EAAQyJ,EAAoB0B,EAAW5L,EAAWE,EAAQ2L,EAASC,EAAU1L,GACtGK,EAAOsL,IAAI,eAAgB,WAClBD,EAASE,WACVJ,EAAUK,KAAK,WAEvB,GAEAxL,EAAOyL,iCAAmCA,EAE1C,MAAMC,EAAcC,EAAE,qBAoBtB,SAASF,EAAiCG,GACtCnC,EAAmBoC,sBAAsBD,GACpCpI,QAAQ,SAAUsI,GACXA,EAAiBC,SAEjBL,EAAYM,IAAIJ,GAkBhC,SAAwCK,EAASL,GACvBrM,EAAU4E,KAAK,CACjCrE,YAAa,kDACbsE,WAAY,2BACZ8H,KAAM,KACN5H,QAAS,CACL2H,QAAS,WACL,OAAOA,CACX,KAIMrH,OAAO5B,KAAK,YAM9B,SAAyB4I,GAKrB,GAJKA,IACDA,EAAcF,EAAYM,OAG1BJ,EAAa,CAGb,MAAMO,EAAiBC,KAAKR,EAAYtE,QAAQ,MAAO,KACvDmC,EAAmB4C,gBAAgBF,GAC9B3I,QAAQ,WACL4H,EAAQkB,QAAQC,MACpB,GAAG7I,MAAM,SAAUA,GACfjE,EAAOiE,MAAMA,EAAO/D,EAAWqC,QAAQ,0BAC3C,EACR,MACIvC,EAAOiE,MAAM/D,EAAWqC,QAAQ,yBAExC,CAvBQqK,CAAgBT,EACpB,EACJ,CA/BgBY,CAA+BV,EAAkBF,KAGjDF,EAAYM,IAAI,IAEhBvM,EAAOiE,MAAMoI,EAAiBlI,SAEtC,GACCF,MAAM,WACHjE,EAAOiE,MAAM/D,EAAWqC,QAAQ,mBACpC,EACR,CAnCAhC,EAAOyM,OAAO,cAAe,WACzB,GAAIzM,EAAO0M,YAAa,CACpB,MAAMnI,EAAOvE,EAAO0M,YACpBjD,EAAmBkD,uBAAuBpI,GACrCf,QAAQ,SAAUoI,GACfH,EAAiCG,EACrC,GAAGlI,MAAM,WACLjE,EAAOiE,MAAM/D,EAAWqC,QAAQ,+BACpC,EACR,CACJ,GAEAhC,EAAO4M,sBAAwB,WAC3BxB,EAAQkB,QAAQC,MACpB,CA+DJ,CAIA,SAASM,EAAyB7M,EAAQwJ,EAAmByC,GACzDjM,EAAO8M,GAIP,WACItD,EAAkBU,OACtB,EALAlK,EAAOoK,OAOP,WACIZ,EAAkBa,QAAQ,SAC9B,EARArK,EAAOiM,QAAUA,CASrB,CAIA,SAASc,EAAkB/M,GACvBA,EAAO6J,QAAS,EAChB7J,EAAOgN,UAAY,SAAUnD,GACzB7J,EAAO6J,OAASA,CACpB,CACJ,C,yBA5MAZ,QACKC,OAAO,yCAA0C,CAC9C,YACA,eACA,0CACA,WAEH9E,WAAW,6BAA8BmF,GACzCnF,WAAW,2BAA4ByI,GACvCzI,WAAW,cAAekG,GAC1BlG,WAAW,sBAAuB8G,GAClC9G,WAAW,oBAAqB2I,GAErCxD,EAA2BH,QAAU,CAAC,SAAU,SAAU,oBAAqB,qBAAsB,cA4CrGkB,EAAYlB,QAAU,CAAC,SAAU,qBAAsB,kBAAmB,SAAU,aAAc,eAAgB,aAAc,mBA+BhI8B,EAAoB9B,QAAU,CAAC,SAAU,qBAAsB,YAAa,YAAa,SAAU,UAAW,WAAY,cA6F1HyD,EAAyBzD,QAAU,CAAC,SAAU,oBAAqB,WAgBnE2D,EAAkB3D,QAAU,CAAC,S,uECtMtB,MAAM7I,EACT8I,WAAAA,GACIC,KAAK2D,gBAAiB,EACtB3D,KAAK4D,kBAAoB,GACzB5D,KAAK9H,YAAc,GACnB8H,KAAK6D,WAAa,GAClB7D,KAAKtI,WAAa,GAClBsI,KAAK5G,cAAe,EACpB4G,KAAKjC,YAAc,EACvB,CAEA,sBAAOpH,CAAgB2B,GACnB,OAAOA,IAASvC,EAAAA,eAAe2J,OACnC,CAEA,wBAAOjH,CAAkBH,GACrB,OAAOA,IAASvC,EAAAA,eAAe8C,SACnC,E,mECnBG,MAAMxB,EACT0I,WAAAA,CAAYrI,EAAa,WACrBsI,KAAKtI,WAAaA,EAClBsI,KAAK1G,SAAW,GAChB0G,KAAK3G,UAAOoG,EACZO,KAAKzG,aAAe,GACpByG,KAAK3B,SAAW,GAChB2B,KAAK1B,SAAW,GAChB0B,KAAK9H,YAAc,GACnB8H,KAAK/G,IAAM,GACX+G,KAAK9G,aAAe,EACxB,E,aCLJ,SAAS4K,EAAkB7N,EAAWC,EAAyBC,EAAQE,GACnE,MAAO,CACHC,SAAU,IACVC,OAAO,EACPC,YAAa,mDAEbC,KAGJ,SAAkBC,GAEd,MAAMqN,EAAmB,uBACnBC,EAAoB,mBACpBC,EAAwB,iBACxBC,EAAe,cAwBrB,SAASC,IACL,IAAK,MAAMC,KAAU1N,EAAO2N,YACxB3N,EAAO4N,WAAa5N,EAAO4N,WAAWC,OAAO,SAAUC,GACnD,OAAIJ,EAAOK,iBAEAD,EAAK3F,KAAOuF,EAAOM,gBAAkBF,EAAKnJ,WAAa+I,EAAOK,iBAG9DD,EAAK3F,KAAOuF,EAAOM,iBAAmBF,EAAKG,KAE1D,EAER,CAsBA,SAASC,IA/CE1O,EAAwB2O,gBAAgBnO,EAAOuD,eAAeoB,UAChEnB,QAAQ,SAAUmF,GACf,IAAIyF,EAAQ,GACZ/M,EAAEiH,OAAOK,GAAUnB,QAAS/C,IACxB2J,EAAM5F,KAAK6F,MAAMD,EAAO3J,KAE5BzE,EAAOsO,iBAAmBjN,EAAEC,UAAU8M,EAC1C,GAAG1K,MAAM,SAAUiF,GACf,MAAMb,EAAMC,SAASY,GACrBlJ,EAAOiE,MAAMoE,EAAKnI,EAAWqC,QAAQ,gBACzC,GAuCCgB,KAAK,WACFhD,EAAO4N,WAAa5N,EAAOsO,iBAAiBC,QAC5Cd,GACJ,EACR,CA9DAzN,EAAO2N,YAAc,GACrB3N,EAAO4N,WAAa,GACpB5N,EAAOsO,iBAAmB,GAEtBtO,EAAOmB,eACPnB,EAAO2N,YAAc3N,EAAOuD,eAAeS,OAAO0J,OAAOjJ,MAAM8J,SA+BnEvO,EAAOwO,gBAAkB,SAAUd,GAC/B,IAAIe,EAgBGzO,EAAO2N,YAAY1M,KAAKyM,GAA8B,SAApBA,EAAOgB,UAf5CD,KACIA,EAAgBE,QAAUtB,GAAqBK,EAAOiB,QAAUtB,GAAoBoB,EAAgBT,iBAAmBN,EAAOM,kBAEvHS,EAAgBE,QAAUrB,GAAsBI,EAAOiB,QAAUrB,GAAqBmB,EAAgBT,iBAAmBN,EAAOM,gBAAkBS,EAAgBV,mBAAqBL,EAAOK,oBADrMU,EAAgBC,SAAW,UAKnChB,EAAOgB,SAAWE,KAAKC,UAA8B,UAApBnB,EAAOgB,SAC5C,EAEA1O,EAAO8O,eAAiB,SAAUpB,GAC9B,MAA2B,SAApBA,EAAOgB,SAAsB,UAAY,EACpD,EAcA1O,EAAO+O,iBAAmB,SAAUrB,GAChC,OAAK1N,EAAOsO,iBAAiBlJ,SAGzBsI,EAAOiB,QAAUtB,EACVrN,EAAOsO,iBAAiBrN,KAAK6M,GAAQA,EAAK3F,KAAOuF,EAAOM,iBAAmBF,EAAKnJ,UAChF+I,EAAOiB,QAAUrB,GACjBtN,EAAOsO,iBAAiBrN,KAAK6M,GAAQA,EAAK3F,KAAOuF,EAAOM,gBAAkBF,EAAKnJ,WAAa+I,EAAOK,kBAIlH,EAEA/N,EAAOgP,oBAAsB,SAAUlB,GACnC,OAAIA,EAAKG,MACE,QAEAH,EAAKnJ,QAEpB,EAEA,MAAMsK,EAAkBC,YAAY,WAChChB,GACJ,EAAG,KAoIH,SAASiB,EAAczB,GACnB1N,EAAO2N,YAAYnF,KAAKkF,GACxB1N,EAAOuD,eAAeS,OAAe,OAAES,MAAQzE,EAAO2N,WAC1D,CAEA,SAASyB,EAAkB7M,GACvB,MAAyB,MAAlBA,EAAIgM,OAAO,GAAahM,EAAIgM,MAAM,GAAI,GAAKhM,CACtD,CAEA,SAAS8M,IACL,OAAOrP,EAAOmB,eAAiBnB,EAAOmB,eAAiBnB,EAAOsP,MAAMC,QACxE,CA7IAvP,EAAOsL,IAAI,WAAY,WACnBkE,cAAcP,EAClB,GAEAjP,EAAOyP,UAAY,SAASC,GACxB,IAAIhC,EAEAA,EAD2C,UAA3C1N,EAAOgP,oBAAoBU,GAClB,CACLf,MAAOtB,EACPW,eAAgB0B,EAAWvH,GAC3BwH,SAAUD,EAAW9N,KACrBgO,cAAe,OACflB,SAAU,SAGL,CACLC,MAAOrB,EACPU,eAAgB0B,EAAWvH,GAC3B4F,iBAAkB2B,EAAW/K,SAC7BgD,SAAU,GACVC,SAAU,GACViI,mBAAoB,OACpBnB,SAAU,SAGlB1O,EAAO4N,WAAa5N,EAAO4N,WAAWC,OAAOC,GAAQA,EAAK3F,KAAOuH,EAAWvH,IAAM2F,EAAKnJ,WAAa+K,EAAW/K,UAC/GwK,EAAczB,EAClB,EAEA1N,EAAO8P,aAAe,SAAUpC,GACxBA,EAAOiB,OAASjB,EAAOiB,QAAUtB,GACjCrN,EAAO2N,YAAc3N,EAAO2N,YAAYE,OAAOkC,GAAMA,EAAGpB,QAAUjB,EAAOiB,OAASoB,EAAG/B,iBAAmBN,EAAOM,iBAAmB+B,EAAGhC,kBACrIG,KACOR,EAAOiB,OAASjB,EAAOiB,QAAUpB,EACxCvN,EAAO2N,YAAc3N,EAAO2N,YAAYE,OAAOkC,GAAMA,EAAGC,WAAatC,EAAOsC,UACrEtC,EAAOiB,OAASjB,EAAOiB,QAAUnB,EACxCxN,EAAO2N,YAAc3N,EAAO2N,YAAYE,OAAOkC,GAAMA,EAAGE,qBAAuBvC,EAAOuC,oBAC/EvC,EAAOiB,OAASjB,EAAOiB,QAAUrB,IACxCtN,EAAO2N,YAAc3N,EAAO2N,YAAYE,OAAOkC,GAAMA,EAAGpB,QAAUjB,EAAOiB,OAASoB,EAAG/B,iBAAmBN,EAAOM,gBAC5B+B,EAAGhC,mBAAqBL,EAAOK,kBAClHG,KAEJlO,EAAOuD,eAAeS,OAAe,OAAES,MAAQzE,EAAO2N,WAC1D,EAEA3N,EAAOkQ,gBAAkB,WACrBlQ,EAAOmQ,KAAO,SACdnQ,EAAOsP,MAAQ,CACXC,UAAU,EACVZ,MAAOrB,EACPU,eAAgB,GAChBD,iBAAkB,GAClBqC,eAAgB,GAChBzI,SAAU,GACVC,SAAU,GACViI,mBAAoB,OACpBnB,SAAU,SAGd1O,EAAOwJ,kBAAoBjK,EAAU4E,KAAK,CACtCrE,YAAa,uDACbD,MAAOG,GAEf,EAEAA,EAAOqQ,cAAgB,SAAU3C,GAC7B,OAAIA,EAAOiC,SACA,aAAejC,EAAOiC,SACtBjC,EAAOiB,QAAUnB,EACjB,eAEA,WAEf,EAEAxN,EAAOsQ,mBAAqB,SAAU5C,GAC9BA,EAAOiB,QAAUtB,GACjBrN,EAAOmQ,KAAO,QACdnQ,EAAOsP,MAAQ,CACXC,UAAU,EACVZ,MAAOjB,EAAOiB,MACdiB,cAAelC,EAAOkC,cACtB5B,eAAgBN,EAAOM,eACvB2B,SAAUjC,EAAOiC,SACjBjB,SAAUhB,EAAOgB,YAGrB1O,EAAOmQ,KAAO,SACdnQ,EAAOsP,MAAQ,CACXC,UAAU,EACVZ,MAAOjB,EAAOiB,MACdX,eAAgBN,EAAOM,eACvBD,iBAAkBL,EAAOK,iBACzBqC,eAAgB1C,EAAOiB,QAAUpB,EAAwBG,EAAOsC,SAAWtC,EAAOuC,mBAClFtI,SAAU+F,EAAO/F,SACjBC,SAAU8F,EAAO9F,SACjBiI,mBAAoBnC,EAAOmC,mBAC3BnB,SAAUhB,EAAOgB,WAIzB1O,EAAOwJ,kBAAoBjK,EAAU4E,KAAK,CACtCrE,YAAa,uDACbD,MAAOG,GAEf,EAEAA,EAAOuQ,YAAc,SAAU7C,GAC3B,OAAQA,EAAOiB,OACX,KAAKtB,EACD,OAAOK,EAAOM,eAElB,KAAKV,EACD,OAAOI,EAAOM,eAAiB,IAAMN,EAAOK,iBAEhD,KAAKR,EACD,OAAOG,EAAOsC,SAElB,KAAKxC,EACD,OAAOE,EAAOuC,mBAElB,QACI,MAAO,GAEnB,EAEAjQ,EAAOoK,OAAS,WACZpK,EAAOwJ,kBAAkBa,QAAQ,SACrC,EAeArK,EAAO8M,GAAK,WACR,IAAIY,EACJ,GAAI1N,EAAOsP,MAAMtB,gBAAkBhO,EAAOsP,MAAMX,QAAUtB,EACtDK,EAAS,CACLiB,MAAOtB,EACPW,eAAgBhO,EAAOsP,MAAMtB,eAC7B2B,SAAU3P,EAAOsP,MAAMK,SACvBC,cAAe5P,EAAOsP,MAAMM,cAC5BlB,SAAU1O,EAAOsP,MAAMZ,UAE3B1O,EAAO2N,YAAc3N,EAAO2N,YAAYE,OAAOkC,GAAMA,EAAG/B,iBAAmBN,EAAOM,gBAAkB+B,EAAGpB,QAAUjB,EAAOiB,YACrH,GAAI3O,EAAOsP,MAAMtB,gBAAkBhO,EAAOsP,MAAMX,QAAUrB,EAAmB,CAShF,GARAI,EAAS,CACLiB,MAAOrB,EACPU,eAAgBhO,EAAOsP,MAAMtB,eAC7BD,iBAAkBqB,EAAkBpP,EAAOsP,MAAMvB,kBACjDpG,SAAU3H,EAAOsP,MAAM3H,SACvBC,SAAU5H,EAAOsP,MAAM1H,SACvB8G,SAAU1O,EAAOsP,MAAMZ,UAEvBW,KAAmBrP,EAAO2N,YAAY1M,KAAK8O,GAAMA,EAAG/B,iBAAmBN,EAAOM,gBAC3E+B,EAAGhC,mBAAqBL,EAAOK,kBAAmB,CACrD,IAAIyC,EAAexQ,EAAOuQ,YAAY7C,GAGtC,OAFAjO,EAAOiE,MAAM/D,EAAWqC,QAAQ,uCAAwC,CAACyD,KAAM+K,UAC/ExQ,EAAOwJ,kBAAkBU,OAE7B,CACAlK,EAAO2N,YAAc3N,EAAO2N,YAAYE,OAAOkC,GAAMA,EAAG/B,iBAAmBN,EAAOM,gBAC3E+B,EAAGhC,mBAAqBL,EAAOK,iBAC1C,KAAO,CAUH,GATAL,EAAS,CACLiB,MAAOpB,EACPyC,SAAUZ,EAAkBpP,EAAOsP,MAAMc,gBACzCzI,SAAU3H,EAAOsP,MAAM3H,SACvBC,SAAU5H,EAAOsP,MAAM1H,SACvBiI,mBAAoB7P,EAAOsP,MAAMO,mBACjCnB,SAAU1O,EAAOsP,MAAMZ,UAGvBW,KAAmBrP,EAAO2N,YAAY1M,KAAK8O,GAAMA,EAAGC,WAAatC,EAAOsC,UAAW,CACnF,IAAIQ,EAAexQ,EAAOuQ,YAAY7C,GAGtC,OAFAjO,EAAOiE,MAAM/D,EAAWqC,QAAQ,gDAAiD,CAACyD,KAAM+K,UACxFxQ,EAAOwJ,kBAAkBU,OAE7B,CAEAlK,EAAO2N,YAAc3N,EAAO2N,YAAYE,OAAOkC,GAAMA,EAAGC,WAAatC,EAAOsC,SAChF,CAEAb,EAAczB,GACdD,IACAzN,EAAOwJ,kBAAkBU,OAC7B,EAEAlK,EAAOsL,IAAI,kBAAmB,WAC1BtL,EAAO2N,YAAc,GACrBO,GACJ,GAEAA,GACJ,EACJ,CA3TAjF,QACKC,OAAO,qDAAsD,IAC7DC,UAAU,WAAYiE,GAE3BA,EAAkBhE,QAAU,CAAC,YAAa,0BAA2B,SAAU,a,sDCJxE,MAAM/I,EAAgB,CACzB,KAAQ,WACR,IAAO,UACP,WAAc,iBACd,OAAU,aACV,YAAe,iB,kBCmBnB,SAASoQ,EAAOC,GACZA,EAAcC,aAAanI,KAAK,4BAChCkI,EAAcC,aAAanI,KAAK,6BACpC,CAIA,SAASoI,EAAIpG,EAAYW,EAAWZ,GAChCC,EAAWc,IAAI,uBAAwB,WAC/Bf,EAAgBsG,sBAA4C,sBAApB1F,EAAU5I,OAClD4I,EAAUK,KAAK,UAEvB,EACJ,C,sFA3BAvC,QAAQC,OAAO,6BAA8B,CACzC,SACA,eACA,yCACA,yCACA,mDACA,qDACA,4CAECuH,OAAOA,GACPG,IAAIA,GAETH,EAAOrH,QAAU,CAAC,gBAAiB,kBAOnCwH,EAAIxH,QAAU,CAAC,aAAc,YAAa,kB,6DC7BnC,MAAMzF,UAA6BmN,O","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/jdbc-driver-type.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/ontop-repo.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/app.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-file-info.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-driver-data.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-connection-information.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/fedx-repo.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-file-type.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/app.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-repository-error.js"],"sourcesContent":["export const JdbcDriverType = {\n 'GENERIC': 'generic',\n 'MY_SQL': 'mySQL',\n 'POSTGRESS': 'postgreSQL',\n 'ORACLE': 'oracle',\n 'MS_SQL': 'msSQL',\n 'DB2': 'DB2',\n 'DREMIO': 'dremio',\n 'DATABRICKS': 'databricks',\n 'SNOWFLAKE': 'snowflake'\n};\n","import {getFileName} from \"./controllers\";\nimport {OntopFileType} from \"../models/ontop/ontop-file-type\";\nimport {OntopConnectionInformation} from \"../models/ontop/ontop-connection-information\";\nimport {OntopFileInfo} from \"../models/ontop/ontop-file-info\";\nimport {OntopRepositoryError} from \"../models/ontop/ontop-repository-error\";\nimport {OntopDriverData} from \"../models/ontop/ontop-driver-data\";\nimport {JdbcDriverType} from \"../models/ontop/jdbc-driver-type\";\n\n// A link to Ontop's website with all Ontop configuration keys\nconst ONTOP_PROPERTIES_LINK = 'https://ontop-vkg.org/guide/advanced/configuration.html';\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 const HOME_KEY = 36;\n const END_KEY = 35;\n const LEFT_ARROW = 37;\n const RIGHT_ARROW = 39;\n const BACKSPACE = 8;\n const KEY_C = 67;\n const KEY_A = 65;\n $scope.isGenericDriver = true;\n $scope.defaultUrlTemplate = 'jdbc:database://localhost:port/database_name';\n $scope.ontopProperiesLink = ONTOP_PROPERTIES_LINK;\n $scope.ontopFileType = OntopFileType;\n\n /**\n * Holds reference to selected driver.\n *\n * @type {OntopDriverData}\n */\n $scope.selectedDriver = new OntopDriverData();\n\n /**\n * Holds all supported jdbc drivers.\n * @type {OntopDriverData[]}\n */\n $scope.supportedDriversData = [];\n $scope.formData = {\n connectionInformation: new OntopConnectionInformation(),\n settings: {\n additionalProperties: '',\n /**\n * Holds information about repository files.\n */\n ontopFiles: []\n }\n };\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Changes selected driver and updates url field.\n * @param {string} driverType - the type of driver.\n */\n $scope.selectDriver = (driverType) => {\n $scope.selectedDriver = $scope.supportedDriversData.find((driver) => driver.driverType === driverType);\n $scope.isGenericDriver = OntopDriverData.isGenericDriver($scope.selectedDriver.driverType);\n if ($scope.editRepoPage && $scope.currentOntopRepoInfo && $scope.currentOntopRepoInfo.connectionInformation.driverType === driverType) {\n $scope.formData = _.cloneDeep($scope.currentOntopRepoInfo);\n } else {\n clearFormData();\n $scope.formData.connectionInformation.driverType = $scope.selectedDriver.driverType;\n }\n $scope.formData.connectionInformation.driverClass = $scope.selectedDriver.driverClass;\n $scope.updateUrl();\n };\n\n /**\n * Finds ontop file depends on file type <code>ontopFileType</code>\n * @param {OntopFileType} ontopFileType - the type of searched ontop file.\n * @return {OntopFileInfo} found ontop file.\n */\n $scope.getOntopFileInfo = (ontopFileType) => {\n return $scope.formData.settings.ontopFiles.find((ontopFileInfo) => ontopFileType === ontopFileInfo.type);\n };\n\n $scope.getHostNameLabel = () => {\n const hostNameLabel = OntopDriverData.isSnowflakeDriver($scope.selectedDriver.driverType) ? 'ontop.repo.database.snowflake.host_name' : 'ontop.repo.database.host_name';\n return $translate.instant(hostNameLabel) + '*';\n };\n\n $scope.getDatabaseNameLabel = () => {\n let dataBaseNameLabelKey = '';\n switch ($scope.selectedDriver.driverType) {\n case JdbcDriverType.SNOWFLAKE:\n dataBaseNameLabelKey = 'ontop.repo.database.warehouse.database_name';\n break;\n case JdbcDriverType.DATABRICKS:\n dataBaseNameLabelKey = 'ontop.repo.database.http_path.database_name';\n break;\n case JdbcDriverType.DREMIO:\n dataBaseNameLabelKey = 'ontop.repo.database.schema.database_name';\n break;\n default:\n dataBaseNameLabelKey = 'ontop.repo.database.database_name';\n }\n return $translate.instant(dataBaseNameLabelKey);\n };\n\n /**\n * Updates value of <code>$scope.formData.connectionInformation.url</code> depends on other connection information: Host name, Port...\n */\n $scope.updateUrl = () => {\n const templateUrl = calculateTemplateUrl() || '';\n $scope.formData.connectionInformation.url = templateUrl + $scope.formData.connectionInformation.urlUserInput;\n };\n\n /**\n * Checks if test connection can be executed.\n * @return {boolean} true if all needed data is filled by the user.\n */\n $scope.isTestConnectionDisabled = () => {\n const connectionInformation = $scope.formData.connectionInformation;\n const selectedDriver = $scope.selectedDriver;\n if (!connectionInformation.driverClass || !connectionInformation.url || selectedDriver.portRequired && !connectionInformation.port) {\n return true;\n }\n return !OntopDriverData.isGenericDriver(selectedDriver.driverType) && (!connectionInformation.hostName || !connectionInformation.databaseName);\n };\n\n /**\n * Performs a test connection.\n */\n $scope.testConnection = () => {\n validateHostName()\n .then(validatePort)\n .then(validateDatabaseName)\n .then(validateDriverClass)\n .then(validateUrl)\n .then(updatePropertiesFile)\n .then(() => RepositoriesRestService.validateOntopPropertiesConnection($scope.repositoryInfo))\n .then(() => toastr.success($translate.instant('ontop.repo.successful.connection.msg')))\n .catch((error) => {\n if (error instanceof OntopRepositoryError) {\n toastr.error(error.message);\n } else {\n showErrorMsg($translate.instant('ontop.repo.failed.to.connect'), error);\n }\n });\n };\n\n /**\n * Updates the file with type <code>ontopFileType</code>.\n *\n * @param {OntopFileInfo} ontopFileInfo\n */\n $scope.editFile = (ontopFileInfo) => {\n\n const fileName = $scope.repositoryInfo.params[ontopFileInfo.type].label;\n const title = $translate.instant('update.file.edit.content.header', {fileName});\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/editRepoFile.html',\n controller: 'EditRepositoryFileCtrl',\n windowClass: 'update-ontop-repo-dialog',\n resolve: {\n file: () => {\n const ontopFile = $scope.repositoryInfo.params[ontopFileInfo.type];\n return ontopFile ? ontopFile.value : '';\n },\n dialogTitle: () => {\n return title;\n },\n location: () => {\n return $scope.repositoryInfo.location\n }\n }\n });\n\n modalInstance.result.then((data) => {\n // send data to backend\n RepositoriesRestService.updateRepositoryFileContent(data.fileLocation, data.content, $scope.repositoryInfo.location)\n .success((result) => {\n ontopFileInfo.fileName = getFileName(result.fileLocation);\n $scope.repositoryInfo.params[ontopFileInfo.type].value = result.fileLocation;\n }).error((error) => {\n showErrorMsg($translate.instant('common.error'), error);\n });\n });\n };\n\n $scope.uploadOntopFile = (files, ontopFileInfo) => {\n if (files && files.length) {\n const uploadFile = files[0];\n ontopFileInfo.loading = true;\n const uploadData = {\n url: 'rest/repositories/file/upload',\n data: {file: uploadFile, location: $scope.repositoryInfo.location}\n };\n Upload.upload(uploadData)\n .success((data) => {\n if (!data.success) {\n toastr.error(data.errorMessage);\n } else {\n ontopFileInfo.fileName = uploadFile.name;\n $scope.repositoryInfo.params[ontopFileInfo.type].value = data.fileLocation;\n }\n })\n .error((data) => {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFile = '';\n })\n .finally(() => {\n ontopFileInfo.loading = false;\n });\n }\n };\n\n $scope.updateOntopRepo = () => {\n const createOrUpdate = $scope.editRepoPage ? $scope.editRepository : $scope.createRepo;\n validateRepositoryId()\n .then(validateHostName)\n .then(validatePort)\n .then(validateDatabaseName)\n .then(validateDriverClass)\n .then(validateUrl)\n .then(validateOntopFiles)\n .then(updatePropertiesFile)\n .then(createOrUpdate)\n .catch((error) => {\n if (error instanceof OntopRepositoryError) {\n toastr.error(error.message);\n } else {\n console.log(error);\n }\n });\n };\n\n /**\n * Some databases expect additional properties than hostname, port, database name in order to establish the connection.\n * So url is not readonly and user can modify it. Every driver instead generic one has template tha can't be changed by the user, it\n * is filled automatically when user writes hostname, port, and database name.\n *\n * This function prevent modification of driver template.\n *\n * @param {*} event - event fired by key down.\n */\n $scope.onKeyDownInUrlInput = (event) => {\n const keyCode = event.keyCode;\n // We don't prevent event if user clicked on left, right arrow, home or end key,\n // the client can move cursor without matter where the cursor is.\n if (keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW || keyCode === HOME_KEY || keyCode === END_KEY) {\n return;\n }\n\n const templateUrl = calculateTemplateUrl();\n // If templateUrl is empty this means that chosen driver is generic or user is not filled hostname, port, or database name.\n // So user can type any characters into url input.\n if (!templateUrl) {\n return;\n }\n\n // Allows user to select all and copy the url value regardless that cursor position is in url template area.\n // event.metaKey -> Mac support\n const ctrlDown = event.ctrlKey || event.metaKey;\n if (ctrlDown && KEY_A === keyCode || ctrlDown && KEY_C === keyCode) {\n return;\n }\n\n const cursorPosition = event.target.selectionStart;\n\n if (keyCode === BACKSPACE && cursorPosition - 1 < templateUrl.length) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (cursorPosition < templateUrl.length) {\n // If templateUrl is not empty and cursor is in the middle of it, we will prevent the event and not allow to modify the url.\n event.preventDefault();\n event.stopPropagation();\n }\n\n // If templateUrl is not empty and cursor is after it, the user can write any character into the url input.\n };\n\n $scope.onKeyUpInUrlInput = () => {\n extractExtraUrl();\n };\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Extracts manual user input from url input element.\n */\n const extractExtraUrl = () => {\n const templateUrl = calculateTemplateUrl();\n if (templateUrl) {\n if ($scope.formData.connectionInformation.url.startsWith(templateUrl)) {\n // If templateUrl is not empty and url input value starts with the templateUrl, the text entered by user is part after the templateUrl.\n $scope.formData.connectionInformation.urlUserInput = $scope.formData.connectionInformation.url.substring(templateUrl.length);\n } else {\n // If templateUrl is not empty and url input value don't start with the templateUrl, all url is entered by the user.\n $scope.formData.connectionInformation.urlUserInput = $scope.formData.connectionInformation.url;\n }\n } else {\n // If templateUrl is empty this means that chosen driver is generic or user is not filled hostname, port, or database name.\n // So all characters in url input are entered by user.\n $scope.formData.connectionInformation.urlUserInput = $scope.formData.connectionInformation.url;\n }\n };\n\n const calculateTemplateUrl = () => {\n if (OntopDriverData.isSnowflakeDriver($scope.selectedDriver.driverType)) {\n return calculateSnowflakeTemplateUrl();\n }\n return calculateDefaultTemplateUrl();\n };\n\n const calculateSnowflakeTemplateUrl = () => {\n let url = $scope.selectedDriver.urlTemplate;\n const connectionInformation = $scope.formData.connectionInformation;\n\n if (connectionInformation.hostName) {\n url = url.replace('{identifier}', connectionInformation.hostName);\n }\n\n if (connectionInformation.port) {\n url = url.replace('.snowflakecomputing.com/?', `.snowflakecomputing.com:${connectionInformation.port}/?`);\n }\n\n if (connectionInformation.databaseName) {\n url = url.replace('{database}', connectionInformation.databaseName);\n }\n return url;\n };\n\n const calculateDefaultTemplateUrl = () => {\n let url = $scope.selectedDriver.urlTemplate;\n const connectionInformation = $scope.formData.connectionInformation;\n if (connectionInformation.hostName) {\n if (connectionInformation.port) {\n url = url.replace('{hostport}', `${connectionInformation.hostName}:${connectionInformation.port}`);\n } else {\n url = url.replace('{hostport}', `${connectionInformation.hostName}`);\n }\n }\n if (connectionInformation.databaseName) {\n url = url.replace('{database}', connectionInformation.databaseName);\n }\n return url;\n };\n\n const loadSupportedDriversData = () => {\n return RepositoriesRestService.getSupportedDriversData($scope.repositoryInfo)\n .success((response) => {\n $scope.supportedDriversData = response;\n }).error((response) => {\n showErrorMsg($translate.instant('common.error'), response);\n });\n };\n\n const setLoading = (loading) => {\n $scope.formData.settings.ontopFiles.forEach((ontopFile) => {\n ontopFile.loading = loading;\n });\n };\n\n const loadPropertiesFile = () => {\n setLoading(true);\n RepositoriesRestService.loadPropertiesFile($scope.repositoryInfo.params.propertiesFile.value, $scope.repositoryInfo.location, $scope.selectedDriver.driverType)\n .success((driverData) => {\n let driver = $scope.supportedDriversData.find((driver) => driver.driverClass === driverData.driverClass);\n // If driver not found this means that driver is generic.\n // If the driver is found, but the data returned by the server does not contain a hostname,\n // it means that the driver class (which we support) is filled in as the driver class of a generic type.\n if (!driver || !driverData.hostName) {\n driver = $scope.supportedDriversData.find((driver) => OntopDriverData.isGenericDriver(driver.driverType));\n }\n $scope.selectDriver(driver.driverType);\n $scope.formData.connectionInformation.driverType = driver.driverType;\n $scope.formData.connectionInformation.driverClass = driverData.driverClass;\n $scope.formData.connectionInformation.password = driverData.password;\n $scope.formData.connectionInformation.username = driverData.userName;\n $scope.formData.connectionInformation.url = driverData.url;\n $scope.formData.settings.additionalProperties = driverData.additionalProperties;\n\n if (!OntopDriverData.isGenericDriver(driver.driverType)) {\n $scope.formData.connectionInformation.hostName = driverData.hostName;\n $scope.formData.connectionInformation.databaseName = driverData.databaseName;\n $scope.formData.connectionInformation.port = driverData.port ? parseInt(driverData.port, 10) : undefined;\n }\n\n extractExtraUrl();\n $scope.updateUrl();\n\n Object.values(OntopFileType)\n .forEach((ontopFileType) => {\n const ontopFileInfo = $scope.repositoryInfo.params[ontopFileType];\n const ontopFile = $scope.getOntopFileInfo(ontopFileType);\n if (ontopFileInfo) {\n ontopFile.fileName = getFileName(ontopFileInfo.value);\n }\n });\n $scope.currentOntopRepoInfo = _.cloneDeep($scope.formData);\n })\n .error((data) => {\n showErrorMsg($translate.instant('common.error'), data);\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const updatePropertiesFile = () => {\n setLoading(true);\n const connectionInformation = $scope.formData.connectionInformation;\n\n const jdbc = {\n hostName: connectionInformation.hostName,\n port: connectionInformation.port,\n databaseName: connectionInformation.databaseName,\n userName: connectionInformation.username,\n password: connectionInformation.password,\n driverClass: connectionInformation.driverClass,\n url: connectionInformation.url,\n additionalProperties: $scope.formData.settings.additionalProperties\n };\n\n return RepositoriesRestService\n .updatePropertiesFile($scope.repositoryInfo.params.propertiesFile.value, jdbc, $scope.repositoryInfo.location, $scope.selectedDriver.driverType)\n .success((data) => {\n $scope.repositoryInfo.params.propertiesFile.value = data.fileLocation;\n }).error((data) => {\n showErrorMsg($translate.instant('common.error'), data);\n })\n .finally(() => setLoading(false));\n };\n\n const showErrorMsg = (title, data) => {\n const msg = getError(data);\n toastr.error(msg, title);\n };\n\n const validateHostName = () => {\n if (!OntopDriverData.isGenericDriver($scope.selectedDriver.driverType)) {\n if (!$scope.formData.connectionInformation.hostName) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.host_name')})));\n }\n }\n return Promise.resolve();\n };\n\n const validateDatabaseName = () => {\n if (!OntopDriverData.isGenericDriver($scope.selectedDriver.driverType)) {\n if (!$scope.formData.connectionInformation.databaseName) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.database_name')})));\n }\n }\n return Promise.resolve();\n };\n\n const validateDriverClass = () => {\n if (!$scope.formData.connectionInformation.driverClass) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.driver_class')})));\n }\n return Promise.resolve();\n };\n\n const validateUrl = () => {\n if (!$scope.formData.connectionInformation.url) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.url')})));\n }\n return Promise.resolve();\n };\n\n const validateRepositoryId = () => {\n if (!$scope.repositoryInfo.id) {\n return Promise.reject(new OntopRepositoryError($translate.instant('empty.repoid.warning')));\n }\n return Promise.resolve();\n };\n\n const validateOntopFiles = () => {\n if (!$scope.getOntopFileInfo(OntopFileType.OBDA).fileName) {\n return Promise.reject(new OntopRepositoryError($translate.instant('ontop.repo.missing.required.file', {fileName: $scope.repositoryInfo.params[OntopFileType.OBDA].label})));\n }\n return Promise.resolve();\n };\n\n const validatePort = () => {\n if ($scope.selectedDriver.portRequired && !$scope.formData.connectionInformation.port) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.port')})));\n }\n return Promise.resolve();\n };\n\n const clearFormData = () => {\n $scope.formData = {\n connectionInformation: new OntopConnectionInformation(),\n settings: {\n additionalProperties: '',\n ontopFiles: []\n }\n };\n\n Object.values(OntopFileType)\n .forEach((ontopFileType) => {\n const ontopFileInfo = new OntopFileInfo(ontopFileType);\n $scope.formData.settings.ontopFiles.push(ontopFileInfo);\n });\n\n $scope.getOntopFileInfo(OntopFileType.OBDA).required = true;\n };\n\n // =========================\n // Initialize component data\n // =========================\n loadSupportedDriversData()\n .then(() => {\n if ($scope.editRepoPage) {\n loadPropertiesFile();\n } else {\n $scope.selectDriver(JdbcDriverType.GENERIC);\n }\n });\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/core/controllers';\nimport 'angular/repositories/controllers';\nimport 'angular/repositories/ontop-repo.directive';\nimport 'angular/repositories/fedx-repo.directive';\nimport 'angular/core/services/repositories.service';\nimport 'angular/settings/app';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'ngCookies',\n 'ngRoute',\n 'graphdb.framework.repositories.controllers',\n 'graphdb.framework.repositories.ontop-repo.directive',\n 'graphdb.framework.repositories.fedx-repo.directive',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives',\n 'graphdb.framework.core.controllers',\n 'graphdb.framework.settings'\n];\n\nangular.module('graphdb.framework.repositories', modules);\n","export class OntopFileInfo {\n\n /**\n * Initializes ontop file info object.\n * @param {string} type - the type of ontop file. It's value have to be one of {@link OntopFileType};\n * @param {boolean} required - true if file is required.\n */\n constructor(type, required = false) {\n this.type = type;\n this.fileName = '';\n this.loading = false;\n this.required = required;\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$uibModalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $uibModalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $uibModalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate', 'TrackingService'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate, TrackingService) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense();\n };\n\n // TODO - Check if redundant call and remove\n $licenseService.checkLicenseStatus();\n\n $scope.removeLicense = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"remove.license.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus()\n .then(() => TrackingService.applyTrackingConsent())\n .catch((error) => {\n const msg = getError(error.data, error.status);\n toastr.error(msg, $translate.instant('common.error'));\n });\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$uibModal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $uibModal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.present) {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function (error) {\n toastr.error(error, $translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$uibModalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $uibModalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $uibModalInstance.close();\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import {JdbcDriverType} from \"./jdbc-driver-type\";\n\nexport class OntopDriverData {\n constructor() {\n this.classAvailable = false;\n this.downloadDriverUrl = '';\n this.driverClass = '';\n this.driverName = '';\n this.driverType = '';\n this.portRequired = false;\n this.urlTemplate = '';\n }\n\n static isGenericDriver(type) {\n return type === JdbcDriverType.GENERIC;\n }\n\n static isSnowflakeDriver(type) {\n return type === JdbcDriverType.SNOWFLAKE;\n }\n}\n","export class OntopConnectionInformation {\n constructor(driverType = 'generic') {\n this.driverType = driverType;\n this.hostName = '';\n this.port = undefined;\n this.databaseName = '';\n this.username = '';\n this.password = '';\n this.driverClass = '';\n this.url = '';\n this.urlUserInput = '';\n }\n}\n","angular\n .module('graphdb.framework.repositories.fedx-repo.directive', [])\n .directive('fedxRepo', fedxRepoDirective);\n\nfedxRepoDirective.$inject = ['$uibModal', 'RepositoriesRestService', 'toastr', '$translate'];\n\nfunction fedxRepoDirective($uibModal, RepositoriesRestService, toastr, $translate) {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'js/angular/repositories/templates/fedx-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n const LOCAL_REPO_STORE = 'ResolvableRepository';\n const REMOTE_REPO_STORE = 'RemoteRepository';\n const SPARQL_ENDPOINT_STORE = 'SPARQLEndpoint';\n const NATIVE_STORE = 'NativeStore';\n\n $scope.fedxMembers = [];\n $scope.knownRepos = [];\n $scope.allAttachedRepos = [];\n\n if ($scope.editRepoPage) {\n $scope.fedxMembers = $scope.repositoryInfo.params.member.value.slice();\n }\n\n function getRepositories() {\n return RepositoriesRestService.getRepositories($scope.repositoryInfo.location)\n .success(function (response) {\n let repos = [];\n _.values(response).forEach((value) => {\n repos.push.apply(repos, value);\n });\n $scope.allAttachedRepos = _.cloneDeep(repos);\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n function populateKnownRepos() {\n for (const member of $scope.fedxMembers) {\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n // if the member is a remote attached member\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n // if the member is a local one\n return repo.id !== member.repositoryName || !repo.local;\n }\n });\n }\n }\n\n $scope.setWritableRepo = function (member) {\n let currentWritable = getWritableRepo();\n if (currentWritable) {\n if (currentWritable.store === LOCAL_REPO_STORE && (member.store !== LOCAL_REPO_STORE || currentWritable.repositoryName !== member.repositoryName) ) {\n currentWritable.writable = 'false';\n } else if (currentWritable.store === REMOTE_REPO_STORE && (member.store !== REMOTE_REPO_STORE || currentWritable.repositoryName !== member.repositoryName || currentWritable.repositoryServer !== member.repositoryServer)) {\n currentWritable.writable = 'false';\n }\n }\n member.writable = JSON.stringify(member.writable === 'false');\n }\n\n $scope.getActiveClass = function (member) {\n return member.writable === 'true' ? ' active' : '';\n }\n\n function getWritableRepo() {\n return $scope.fedxMembers.find(member => member.writable === \"true\");\n }\n\n function getKnownRepos() {\n getRepositories()\n .then(function () {\n $scope.knownRepos = $scope.allAttachedRepos.slice();\n populateKnownRepos();\n });\n }\n\n $scope.checkIfRepoExist = function (member) {\n if (!$scope.allAttachedRepos.length) {\n return true;\n }\n if (member.store === LOCAL_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && !repo.location);\n } else if (member.store === REMOTE_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && repo.location === member.repositoryServer);\n } else {\n return true;\n }\n }\n\n $scope.getRepositoryServer = function (repo) {\n if (repo.local) {\n return \"Local\";\n } else {\n return repo.location;\n }\n }\n\n const localReposTimer = setInterval(function () {\n getKnownRepos();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n clearInterval(localReposTimer);\n });\n\n $scope.addMember = function(repository) {\n let member;\n if ($scope.getRepositoryServer(repository) === \"Local\") {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: repository.id,\n repoType: repository.type,\n respectRights: \"true\",\n writable: \"false\"\n };\n } else {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: repository.id,\n repositoryServer: repository.location,\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n };\n }\n $scope.knownRepos = $scope.knownRepos.filter(repo => repo.id !== repository.id || repo.location !== repository.location);\n updateMembers(member);\n }\n\n $scope.removeMember = function (member) {\n if (member.store && member.store === LOCAL_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName && !el.repositoryServer);\n getKnownRepos();\n } else if (member.store && member.store === SPARQL_ENDPOINT_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n } else if (member.store && member.store === NATIVE_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryLocation !== member.repositoryLocation);\n } else if (member.store && member.store === REMOTE_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n getKnownRepos();\n }\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n $scope.addRemoteMember = function () {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: false,\n store: REMOTE_REPO_STORE,\n repositoryName: '',\n repositoryServer: '',\n sparqlEndpoint: '',\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n }\n\n $scope.$uibModalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope,\n });\n };\n\n $scope.getMemberIcon = function (member) {\n if (member.repoType) {\n return 'icon-repo-' + member.repoType;\n } else if (member.store === NATIVE_STORE) {\n return 'icon-warning';\n } else {\n return 'icon-link';\n }\n }\n\n $scope.editFedXRepository = function (member) {\n if (member.store === LOCAL_REPO_STORE) {\n $scope.mode = 'local';\n $scope.model = {\n editMode: true,\n store: member.store,\n respectRights: member.respectRights,\n repositoryName: member.repositoryName,\n repoType: member.repoType,\n writable: member.writable\n }\n } else {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: true,\n store: member.store,\n repositoryName: member.repositoryName,\n repositoryServer: member.repositoryServer,\n sparqlEndpoint: member.store === SPARQL_ENDPOINT_STORE ? member.endpoint : member.repositoryLocation,\n username: member.username,\n password: member.password,\n supportsASKQueries: member.supportsASKQueries,\n writable: member.writable\n }\n }\n\n $scope.$uibModalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope\n });\n };\n\n $scope.resolveName = function (member) {\n switch (member.store) {\n case LOCAL_REPO_STORE : {\n return member.repositoryName;\n }\n case REMOTE_REPO_STORE : {\n return member.repositoryName + '@' + member.repositoryServer;\n }\n case SPARQL_ENDPOINT_STORE : {\n return member.endpoint;\n }\n case NATIVE_STORE : {\n return member.repositoryLocation;\n }\n default :\n return \"\";\n }\n }\n\n $scope.cancel = function () {\n $scope.$uibModalInstance.dismiss('cancel');\n };\n\n function updateMembers(member) {\n $scope.fedxMembers.push(member);\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n function removeEndingSlash(url) {\n return url.slice(-1) === '/' ? url.slice(0, -1) : url\n }\n\n function checkEditMode() {\n return $scope.editRepoPage && !$scope.editRepoPage || !$scope.model.editMode;\n }\n\n $scope.ok = function () {\n let member;\n if ($scope.model.repositoryName && $scope.model.store === LOCAL_REPO_STORE) {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repoType: $scope.model.repoType,\n respectRights: $scope.model.respectRights,\n writable: $scope.model.writable\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName || el.store !== member.store );\n } else if ($scope.model.repositoryName && $scope.model.store === REMOTE_REPO_STORE) {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repositoryServer: removeEndingSlash($scope.model.repositoryServer),\n username: $scope.model.username,\n password: $scope.model.password,\n writable: $scope.model.writable\n };\n if (checkEditMode() && $scope.fedxMembers.find(el => el.repositoryName === member.repositoryName\n && el.repositoryServer === member.repositoryServer)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.member.error', {name: resolvedName}));\n $scope.$uibModalInstance.close();\n return;\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n } else {\n member = {\n store: SPARQL_ENDPOINT_STORE,\n endpoint: removeEndingSlash($scope.model.sparqlEndpoint),\n username: $scope.model.username,\n password: $scope.model.password,\n supportsASKQueries: $scope.model.supportsASKQueries,\n writable: $scope.model.writable\n };\n\n if (checkEditMode() && $scope.fedxMembers.find(el => el.endpoint === member.endpoint)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.sparql.endpoint.error', {name: resolvedName}));\n $scope.$uibModalInstance.close();\n return;\n }\n\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n }\n\n updateMembers(member);\n populateKnownRepos();\n $scope.$uibModalInstance.close();\n };\n\n $scope.$on('changedLocation', function () {\n $scope.fedxMembers = [];\n getKnownRepos();\n });\n\n getKnownRepos();\n }\n}\n","export const OntopFileType = {\n 'OBDA': 'obdaFile',\n 'OWL': 'owlFile',\n 'CONSTRAINT': 'constraintFile',\n 'LENSES': 'lensesFile',\n 'DB_METADATA': 'dbMetadataFile'\n};\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/interceptors/authentication.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.interceptors.authentication',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$unauthorizedInterceptor');\n $httpProvider.interceptors.push('$authenticationInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded() && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n","export class OntopRepositoryError extends Error {\n}\n"],"names":["JdbcDriverType","ontopRepoDirective","$uibModal","RepositoriesRestService","toastr","Upload","$translate","restrict","scope","templateUrl","link","$scope","isGenericDriver","defaultUrlTemplate","ontopProperiesLink","ontopFileType","OntopFileType","selectedDriver","OntopDriverData","supportedDriversData","formData","connectionInformation","OntopConnectionInformation","settings","additionalProperties","ontopFiles","selectDriver","driverType","find","driver","editRepoPage","currentOntopRepoInfo","_","cloneDeep","clearFormData","driverClass","updateUrl","getOntopFileInfo","ontopFileInfo","type","getHostNameLabel","hostNameLabel","isSnowflakeDriver","instant","getDatabaseNameLabel","dataBaseNameLabelKey","SNOWFLAKE","DATABRICKS","DREMIO","calculateTemplateUrl","url","urlUserInput","isTestConnectionDisabled","portRequired","port","hostName","databaseName","testConnection","validateHostName","then","validatePort","validateDatabaseName","validateDriverClass","validateUrl","updatePropertiesFile","validateOntopPropertiesConnection","repositoryInfo","success","catch","error","OntopRepositoryError","message","showErrorMsg","editFile","fileName","params","label","title","open","controller","windowClass","resolve","file","ontopFile","value","dialogTitle","location","result","data","updateRepositoryFileContent","fileLocation","content","getFileName","uploadOntopFile","files","length","uploadFile","loading","uploadData","upload","name","errorMessage","finally","updateOntopRepo","createOrUpdate","editRepository","createRepo","validateRepositoryId","validateOntopFiles","console","log","onKeyDownInUrlInput","event","keyCode","ctrlDown","ctrlKey","metaKey","cursorPosition","target","selectionStart","preventDefault","stopPropagation","onKeyUpInUrlInput","extractExtraUrl","startsWith","substring","calculateSnowflakeTemplateUrl","calculateDefaultTemplateUrl","urlTemplate","replace","setLoading","forEach","jdbc","userName","username","password","propertiesFile","msg","getError","Promise","reject","fieldName","id","OBDA","Object","values","OntopFileInfo","push","required","getSupportedDriversData","response","loadPropertiesFile","driverData","parseInt","undefined","GENERIC","angular","module","directive","$inject","constructor","this","ActiveLocationSettingsCtrl","$uibModalInstance","LicenseRestService","supportsStatistics","statistics","getSettings","loader","getStatistics","status","setSettings","toggleStatistics","close","submitForm","cancel","dismiss","LicenseCtrl","$licenseService","$rootScope","ModalService","TrackingService","loadingLicense","checkLicenseStatus","removeLicense","openSimpleModal","warning","unregisterLicense","applyTrackingConsent","RegisterLicenseCtrl","$location","$window","$jwtAuth","$on","isAdmin","path","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","present","val","license","size","decodedLicense","atob","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","classAvailable","downloadDriverUrl","driverName","fedxRepoDirective","LOCAL_REPO_STORE","REMOTE_REPO_STORE","SPARQL_ENDPOINT_STORE","NATIVE_STORE","populateKnownRepos","member","fedxMembers","knownRepos","filter","repo","repositoryServer","repositoryName","local","getKnownRepos","getRepositories","repos","apply","allAttachedRepos","slice","setWritableRepo","currentWritable","writable","store","JSON","stringify","getActiveClass","checkIfRepoExist","getRepositoryServer","localReposTimer","setInterval","updateMembers","removeEndingSlash","checkEditMode","model","editMode","clearInterval","addMember","repository","repoType","respectRights","supportsASKQueries","removeMember","el","endpoint","repositoryLocation","addRemoteMember","mode","sparqlEndpoint","getMemberIcon","editFedXRepository","resolveName","resolvedName","config","$httpProvider","interceptors","run","isLicenseHardcoded","Error"],"sourceRoot":""}
|