graphdb-workbench 3.1.0-TR11 → 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.0e82ea391201a21331b7.bundle.js → 12396.a4cb05c47cf17cbfd891.bundle.js} +2 -2
- package/dist/{12396.0e82ea391201a21331b7.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.48081afce23c62f128e9.bundle.js → 15535.aa936791f2b5dd74f7ee.bundle.js} +2 -2
- package/dist/{15535.48081afce23c62f128e9.bundle.js.map → 15535.aa936791f2b5dd74f7ee.bundle.js.map} +1 -1
- package/dist/{16162.df8405c22910f90c37ad.bundle.js → 16162.dca58b88b4d145a7fcf7.bundle.js} +2 -2
- package/dist/{16162.df8405c22910f90c37ad.bundle.js.map → 16162.dca58b88b4d145a7fcf7.bundle.js.map} +1 -1
- package/dist/{20287.1da2ac80bac0f2a8672c.bundle.js → 20287.22c94209c4a5b0aa569b.bundle.js} +2 -2
- package/dist/{20287.1da2ac80bac0f2a8672c.bundle.js.map → 20287.22c94209c4a5b0aa569b.bundle.js.map} +1 -1
- package/dist/{21136.4ab3afcde1292d1f06bd.bundle.js → 21136.b0b60f89d0aecc146390.bundle.js} +2 -2
- package/dist/{21136.4ab3afcde1292d1f06bd.bundle.js.map → 21136.b0b60f89d0aecc146390.bundle.js.map} +1 -1
- package/dist/{21142.aaa6ddd23c1aa3fb59f3.bundle.js → 21142.c1026a9490be83c3be64.bundle.js} +2 -2
- package/dist/{21142.aaa6ddd23c1aa3fb59f3.bundle.js.map → 21142.c1026a9490be83c3be64.bundle.js.map} +1 -1
- package/dist/{21170.f3fa40f23586f6ee4efc.bundle.js → 21170.4f1089c6ecb858d32307.bundle.js} +2 -2
- package/dist/{21170.f3fa40f23586f6ee4efc.bundle.js.map → 21170.4f1089c6ecb858d32307.bundle.js.map} +1 -1
- package/dist/{21195.5354c27d13a1f201dd19.bundle.js → 21195.4025ee868703a7826ae6.bundle.js} +2 -2
- package/dist/{21195.5354c27d13a1f201dd19.bundle.js.map → 21195.4025ee868703a7826ae6.bundle.js.map} +1 -1
- package/dist/23283.cc3b7fb640bcd9a0f7d2.bundle.js +2 -0
- package/dist/23283.cc3b7fb640bcd9a0f7d2.bundle.js.map +1 -0
- 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.d6f1641bf4600fe2570e.bundle.js → 25747.d8d9c4a6472dddad834f.bundle.js} +2 -2
- package/dist/{25747.d6f1641bf4600fe2570e.bundle.js.map → 25747.d8d9c4a6472dddad834f.bundle.js.map} +1 -1
- package/dist/{27580.53ac898e74f0bcc1ea5b.bundle.js → 27580.af47ce7d030e916c7a4e.bundle.js} +2 -2
- package/dist/{27580.53ac898e74f0bcc1ea5b.bundle.js.map → 27580.af47ce7d030e916c7a4e.bundle.js.map} +1 -1
- package/dist/28319.60fe63ffc79f8ba2cb23.bundle.js +2 -0
- package/dist/28319.60fe63ffc79f8ba2cb23.bundle.js.map +1 -0
- package/dist/{31636.be790098c5979344c509.bundle.js → 31636.fbeed6706183663eeee2.bundle.js} +2 -2
- package/dist/{31636.be790098c5979344c509.bundle.js.map → 31636.fbeed6706183663eeee2.bundle.js.map} +1 -1
- package/dist/{32489.a540e39f30922c1c5341.bundle.js → 32489.fafc19e8e0eb964a3ec5.bundle.js} +2 -2
- package/dist/{32489.a540e39f30922c1c5341.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.e36ea443ec8352b615e6.bundle.js → 34495.bcc635daf309f60ba23b.bundle.js} +2 -2
- package/dist/{34495.e36ea443ec8352b615e6.bundle.js.map → 34495.bcc635daf309f60ba23b.bundle.js.map} +1 -1
- package/dist/36665.eda6cfdf545f2608a6c7.bundle.js +2 -0
- package/dist/36665.eda6cfdf545f2608a6c7.bundle.js.map +1 -0
- package/dist/36737.9d37e743918e6d45c10b.bundle.js +2 -0
- package/dist/36737.9d37e743918e6d45c10b.bundle.js.map +1 -0
- package/dist/{38360.f109d6e1129e9f58f7e4.bundle.js → 38360.55d84891b7ad65b37108.bundle.js} +2 -2
- package/dist/{38360.f109d6e1129e9f58f7e4.bundle.js.map → 38360.55d84891b7ad65b37108.bundle.js.map} +1 -1
- package/dist/{38644.8ad2f682465c65e84a9e.bundle.js → 38644.62bda02822616b30f0c7.bundle.js} +2 -2
- package/dist/{38644.8ad2f682465c65e84a9e.bundle.js.map → 38644.62bda02822616b30f0c7.bundle.js.map} +1 -1
- package/dist/{38843.a59a07e73a42cfb5e52d.bundle.js → 38843.28a56aadf139c5f83a07.bundle.js} +2 -2
- package/dist/{38843.a59a07e73a42cfb5e52d.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.77133465be137d37352f.bundle.js → 39518.24cdd6c870b5b026f43b.bundle.js} +2 -2
- package/dist/{39518.77133465be137d37352f.bundle.js.map → 39518.24cdd6c870b5b026f43b.bundle.js.map} +1 -1
- package/dist/{39539.60c0d00449eb3988203c.bundle.js → 39539.cb091b6ad5074999b72d.bundle.js} +2 -2
- package/dist/{39539.60c0d00449eb3988203c.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.9d5109ca609b8a870e5f.bundle.js → 41453.b696ac82dcadda585f04.bundle.js} +2 -2
- package/dist/{41453.9d5109ca609b8a870e5f.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.42e556d7bd6885bba119.bundle.js → 42129.f9f2bafc4520aad7f942.bundle.js} +2 -2
- package/dist/{42129.42e556d7bd6885bba119.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.834176d51f7ef0dab499.bundle.js → 44444.153ba656276a2f1bfdc3.bundle.js} +2 -2
- package/dist/{44444.834176d51f7ef0dab499.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/51490.ca9c851e556c4c7940e5.bundle.js +2 -0
- package/dist/51490.ca9c851e556c4c7940e5.bundle.js.map +1 -0
- package/dist/{55862.bed529171c68ce972610.bundle.js → 55862.88796a9db69e193b8b83.bundle.js} +2 -2
- package/dist/{55862.bed529171c68ce972610.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.67303bb681080a4df993.bundle.js → 58306.f76e839a5a73f4f4e23a.bundle.js} +2 -2
- package/dist/{58306.67303bb681080a4df993.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.7c67b21eb93e77d4bb70.bundle.js → 67888.1537da0fa115fd7a2f06.bundle.js} +2 -2
- package/dist/{67888.7c67b21eb93e77d4bb70.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.db460365f0917f4f179b.bundle.js → 72379.207930bac55b212354ae.bundle.js} +2 -2
- package/dist/{72379.db460365f0917f4f179b.bundle.js.map → 72379.207930bac55b212354ae.bundle.js.map} +1 -1
- package/dist/{73667.551fe5a23573c3b0af21.bundle.js → 73667.f42971a7477d6744c54c.bundle.js} +2 -2
- package/dist/{73667.551fe5a23573c3b0af21.bundle.js.map → 73667.f42971a7477d6744c54c.bundle.js.map} +1 -1
- package/dist/{73793.c064cab7716d96ea9713.bundle.js → 73793.adf7b10d53a8ee7fa07c.bundle.js} +2 -2
- package/dist/{73793.c064cab7716d96ea9713.bundle.js.map → 73793.adf7b10d53a8ee7fa07c.bundle.js.map} +1 -1
- package/dist/{73964.adb0a07a8c4dad17f592.bundle.js → 73964.fd1ad5e7aa228ad4cbbb.bundle.js} +2 -2
- package/dist/73964.fd1ad5e7aa228ad4cbbb.bundle.js.map +1 -0
- package/dist/74106.f94ca66e9fc021789d6a.bundle.js +2 -0
- package/dist/74106.f94ca66e9fc021789d6a.bundle.js.map +1 -0
- package/dist/{75282.5e1cc49318a8ae5f34cf.bundle.js → 75282.f097da30576bae97c906.bundle.js} +2 -2
- package/dist/{75282.5e1cc49318a8ae5f34cf.bundle.js.map → 75282.f097da30576bae97c906.bundle.js.map} +1 -1
- package/dist/{75849.33196fcbd48643974506.bundle.js → 75849.9c78b9889eccbaee7ae0.bundle.js} +2 -2
- package/dist/{75849.33196fcbd48643974506.bundle.js.map → 75849.9c78b9889eccbaee7ae0.bundle.js.map} +1 -1
- package/dist/{78250.9ea78ce55f322719b1d8.bundle.js → 78250.9f4b0c688bdb06967ed6.bundle.js} +2 -2
- package/dist/{78250.9ea78ce55f322719b1d8.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.93d02072a678a29fbd64.bundle.js → 82926.ce06c4bb3d76b9fe5fa9.bundle.js} +2 -2
- package/dist/{82926.93d02072a678a29fbd64.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.c781c7dfbb1a5f907a71.bundle.js → 9062.91ba683ec5a6cb53c23f.bundle.js} +2 -2
- package/dist/{9062.c781c7dfbb1a5f907a71.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.4ea6a7c68a22779ba299.bundle.js +2 -0
- package/dist/95953.4ea6a7c68a22779ba299.bundle.js.map +1 -0
- package/dist/96089.7e28823f34c450de1f7e.bundle.js +2 -0
- package/dist/96089.7e28823f34c450de1f7e.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.d257ae9548057a204517.bundle.js → 99448.b2524aa8fdf2f3aee82a.bundle.js} +2 -2
- package/dist/{99448.d257ae9548057a204517.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 +9 -0
- package/dist/i18n/locale-fr.json +9 -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 +34 -5
- 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.f804eda735b6f1961ceb.js → legacyWorkbench.c5245455051fd0bab730.js} +3 -3
- package/dist/{legacyWorkbench.f804eda735b6f1961ceb.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/23283.a69ab10a85671d5323b4.bundle.js +0 -2
- package/dist/23283.a69ab10a85671d5323b4.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/28319.54765ea398eaa88b7b54.bundle.js +0 -2
- package/dist/28319.54765ea398eaa88b7b54.bundle.js.map +0 -1
- package/dist/34330.a2a4211b14d118bd4c03.bundle.js +0 -2
- package/dist/34330.a2a4211b14d118bd4c03.bundle.js.map +0 -1
- package/dist/36665.8a0821c1742e6bd10e66.bundle.js +0 -2
- package/dist/36665.8a0821c1742e6bd10e66.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/51490.358f66f8d298a6251e90.bundle.js +0 -2
- package/dist/51490.358f66f8d298a6251e90.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/73964.adb0a07a8c4dad17f592.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.a3a25c9508f4287f135c.bundle.js +0 -2
- package/dist/79329.a3a25c9508f4287f135c.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.1334544dd7e80f0da6cf.bundle.js +0 -2
- package/dist/95953.1334544dd7e80f0da6cf.bundle.js.map +0 -1
- package/dist/96089.15302200bfd9f685b009.bundle.js +0 -2
- package/dist/96089.15302200bfd9f685b009.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.f804eda735b6f1961ceb.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,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=39539;export const __webpack_ids__=[39539];export const __webpack_modules__={39539:(e,i,d)=>{d.r(i),d.d(i,{default:()=>l});const l='<link href="css/dynamic-form.css?v=3.1.0-
|
|
2
|
-
//# sourceMappingURL=39539.
|
|
1
|
+
export const __webpack_id__=39539;export const __webpack_ids__=[39539];export const __webpack_modules__={39539:(e,i,d)=>{d.r(i),d.d(i,{default:()=>l});const l='<link href="css/dynamic-form.css?v=3.1.0-TR13" rel="stylesheet"/> <div class="dynamic-form-container"> <form name="dynamicForm" novalidate class="dynamic-form"> <div ng-repeat="model in formModel.models"> <div ng-if="model.groupId && (model.fields.length > 0 || showAllFields)" class="form-group"> <h5 class="group-title"> <span gdb-tooltip="{{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + \'.tooltip\') : null) | translate}}"> {{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + \'.label\') : model.groupId) | translate}} </span> </h5> <dynamic-form-field ng-repeat="field in model.fields" field="field" form="dynamicForm" translation-key-prefix="translationKeyPrefix"> </dynamic-form-field> <div class="hidden-fields"> <dynamic-form-field ng-if="showAllFields" ng-repeat="field in model.hiddenFields" field="field" form="dynamicForm" translation-key-prefix="translationKeyPrefix"> </dynamic-form-field> </div> </div> <dynamic-form-field ng-if="!model.groupId" field="model" form-name="dynamicForm" translation-key-prefix="translationKeyPrefix"> </dynamic-form-field> </div> </form> </div> '}};
|
|
2
|
+
//# sourceMappingURL=39539.cb091b6ad5074999b72d.bundle.js.map
|
package/dist/{39539.60c0d00449eb3988203c.bundle.js.map → 39539.cb091b6ad5074999b72d.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"39539.
|
|
1
|
+
{"version":3,"file":"39539.cb091b6ad5074999b72d.bundle.js","mappings":"uJAGA,QAFW,qmC","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/templates/dynamic-form.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/dynamic-form.css?v=3.1.0-TR13\" rel=\"stylesheet\"/> <div class=\"dynamic-form-container\"> <form name=\"dynamicForm\" novalidate class=\"dynamic-form\"> <div ng-repeat=\"model in formModel.models\"> <div ng-if=\"model.groupId && (model.fields.length > 0 || showAllFields)\" class=\"form-group\"> <h5 class=\"group-title\"> <span gdb-tooltip=\"{{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + '.tooltip') : null) | translate}}\"> {{(translationKeyPrefix ? (translationKeyPrefix + model.groupId + '.label') : model.groupId) | translate}} </span> </h5> <dynamic-form-field ng-repeat=\"field in model.fields\" field=\"field\" form=\"dynamicForm\" translation-key-prefix=\"translationKeyPrefix\"> </dynamic-form-field> <div class=\"hidden-fields\"> <dynamic-form-field ng-if=\"showAllFields\" ng-repeat=\"field in model.hiddenFields\" field=\"field\" form=\"dynamicForm\" translation-key-prefix=\"translationKeyPrefix\"> </dynamic-form-field> </div> </div> <dynamic-form-field ng-if=\"!model.groupId\" field=\"model\" form-name=\"dynamicForm\" translation-key-prefix=\"translationKeyPrefix\"> </dynamic-form-field> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=39874;export const __webpack_ids__=[39874];export const __webpack_modules__={39874:(e,i,t)=>{t.r(i),t.d(i,{onto_layout:()=>r});var s=t(87848),a=t(57154);const r=class{constructor(e){(0,s.r)(this,e),this.securityContextService=a.ServiceProvider.get(a.SecurityContextService),this.authenticationService=a.ServiceProvider.get(a.AuthenticationService),this.navigationContextService=a.ServiceProvider.get(a.NavigationContextService),this.isLowResolution=!1,this.hasPermission=!0,this.showFooter=this.isAuthenticatedFully(),this.subscriptions=new a.SubscriptionList,this.isNavbarCollapsed=!1,this.windowResizeObserver=function(e,i=300){let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e.apply(this,s),i)}}(()=>this.windowResizeHandler(),50),a.WindowService.getWindow().addEventListener("storage",this.handleStorageChange)}componentDidLoad(){this.windowResizeHandler()}connectedCallback(){this.subscribeToSecurityChanges(),this.updateVisibility(),this.subscriptions.add(this.securityContextService.onRestrictedPagesChanged(e=>this.setPermission(e))),this.subscriptions.add(a.ServiceProvider.get(a.EventService).subscribe(a.EventName.NAVIGATION_END,e=>{this.navigationContextService.updatePreviousRoute(e.oldUrl),this.setPermission(this.securityContextService.getRestrictedPages())})),this.setPermission(this.securityContextService.getRestrictedPages())}disconnectedCallback(){this.subscriptions.unsubscribeAll()}render(){return(0,s.h)(s.a,{key:"5d814f892fde4148f87848dbfb6a1297479b110d",class:"wb-layout"},(0,s.h)("div",{key:"3189f4fd2434630807d924b656e70e0f91aac9ec",class:"default-slot-wrapper"},(0,s.h)("slot",{key:"58aafe83a0ca87647bf9de541228b07f2acebdc8",name:"default"})),(0,s.h)("header",{key:"ee1a6fc5254f30e198b190725bdbfebf76c3932d",class:"wb-header"},this.isVisible&&(0,s.h)("onto-header",{key:"6eed310ab3e1707d24c4331fe70962b41e628bb9"})),(0,s.h)("nav",{key:"7759747f8d91d95e569e9a603b9d11c20d46a75c",class:"wb-navbar"},(0,s.h)("onto-navbar",{key:"08946fa871e0cb2bd84831b4ab57592ade2813b1",ref:this.assignNavbarRef(),"navbar-collapsed":this.isLowResolution})),this.hasPermission?(0,s.h)("div",{class:"main-slot-wrapper"},(0,s.h)("slot",{name:"main"})):(0,s.h)("onto-permission-banner",null),(0,s.h)("footer",{key:"
|
|
2
|
-
//# sourceMappingURL=39874.
|
|
1
|
+
export const __webpack_id__=39874;export const __webpack_ids__=[39874];export const __webpack_modules__={39874:(e,i,t)=>{t.r(i),t.d(i,{onto_layout:()=>r});var s=t(87848),a=t(57154);const r=class{constructor(e){(0,s.r)(this,e),this.securityContextService=a.ServiceProvider.get(a.SecurityContextService),this.authenticationService=a.ServiceProvider.get(a.AuthenticationService),this.navigationContextService=a.ServiceProvider.get(a.NavigationContextService),this.isLowResolution=!1,this.hasPermission=!0,this.showFooter=this.isAuthenticatedFully(),this.subscriptions=new a.SubscriptionList,this.isNavbarCollapsed=!1,this.windowResizeObserver=function(e,i=300){let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e.apply(this,s),i)}}(()=>this.windowResizeHandler(),50),a.WindowService.getWindow().addEventListener("storage",this.handleStorageChange)}componentDidLoad(){this.windowResizeHandler()}connectedCallback(){this.subscribeToSecurityChanges(),this.updateVisibility(),this.subscriptions.add(this.securityContextService.onRestrictedPagesChanged(e=>this.setPermission(e))),this.subscriptions.add(a.ServiceProvider.get(a.EventService).subscribe(a.EventName.NAVIGATION_END,e=>{this.navigationContextService.updatePreviousRoute(e.oldUrl),this.setPermission(this.securityContextService.getRestrictedPages())})),this.setPermission(this.securityContextService.getRestrictedPages())}disconnectedCallback(){this.subscriptions.unsubscribeAll()}render(){return(0,s.h)(s.a,{key:"5d814f892fde4148f87848dbfb6a1297479b110d",class:"wb-layout"},(0,s.h)("div",{key:"3189f4fd2434630807d924b656e70e0f91aac9ec",class:"default-slot-wrapper"},(0,s.h)("slot",{key:"58aafe83a0ca87647bf9de541228b07f2acebdc8",name:"default"})),(0,s.h)("header",{key:"ee1a6fc5254f30e198b190725bdbfebf76c3932d",class:"wb-header"},this.isVisible&&(0,s.h)("onto-header",{key:"6eed310ab3e1707d24c4331fe70962b41e628bb9"})),(0,s.h)("nav",{key:"7759747f8d91d95e569e9a603b9d11c20d46a75c",class:"wb-navbar"},(0,s.h)("onto-navbar",{key:"08946fa871e0cb2bd84831b4ab57592ade2813b1",ref:this.assignNavbarRef(),"navbar-collapsed":this.isLowResolution})),this.hasPermission?(0,s.h)("div",{class:"main-slot-wrapper"},(0,s.h)("slot",{name:"main"})):(0,s.h)("onto-permission-banner",null),(0,s.h)("footer",{key:"4094b415a835ca67ef922404c4a105e7052fcdb9",class:"wb-footer"},this.isVisible&&(0,s.h)("onto-footer",{key:"d425c29158a1b26792e71b4e60193c57ee860e09"})),(0,s.h)("onto-tooltip",{key:"2cb4c8b15a44683773ef6796b070d9a4936bbff3"}),(0,s.h)("onto-toastr",{key:"f24a99bf4a4c01ff4ea0db6a23c5d0caf0c60ed4"}))}onNavbarToggled(e){this.isNavbarCollapsed=e.detail.payload,this.isNavbarCollapsed?this.hostElement.classList.add("expanded"):this.hostElement.classList.remove("expanded")}onResize(){this.windowResizeObserver()}windowResizeHandler(){this.isLowResolution=a.WindowService.getWindow().innerWidth<=768,this.isLowResolution||this.isNavbarCollapsed?this.hostElement.classList.add("expanded"):this.hostElement.classList.remove("expanded")}handleStorageChange(e){a.ServiceProvider.get(a.LocalStorageSubscriptionHandlerService).handleStorageChange(e)}subscribeToSecurityChanges(){const e=a.ServiceProvider.get(a.SecurityContextService);this.subscriptions.add(e.onAuthenticatedUserChanged(e=>{this.authenticatedUser=e,this.updateVisibility()})),this.subscriptions.add(e.onSecurityConfigChanged(e=>{this.securityConfig=e,this.updateVisibility()})),this.subscriptions.add(a.ServiceProvider.get(a.EventService).subscribe(a.EventName.LOGOUT,()=>{this.setNavbarItemVisibility(),this.updateVisibility()})),this.subscriptions.add(e.onAuthTokenChanged(()=>{this.setNavbarItemVisibility(),this.updateVisibility()}))}setPermission(e){if(e){const i=(0,a.getPathName)();this.hasPermission=!e.isRestricted(i)}else this.hasPermission=!0;const i=document.querySelector(".wb-layout main");i&&(i.style.display=this.hasPermission?"block":"none")}updateVisibility(){if(this.authenticationService.isSecurityEnabled()){const e=!!this.authenticatedUser&&!!this.securityConfig,i=this.authenticationService.isAuthenticated()||this.authenticationService.hasFreeAccess();this.isVisible=e&&i,this.showFooter=i}else this.isVisible=!0,this.showFooter=!0}isAuthenticatedFully(){const e=a.ServiceProvider.get(a.AuthenticationService);return!e.isSecurityEnabled()||e.isAuthenticated()||e.hasFreeAccess()}shouldShowMenu(e){return this.isAuthenticatedFully()&&a.ServiceProvider.get(a.AuthenticationService).hasRole(e)}assignNavbarRef(){return e=>{this.navbarRef=e,this.navbarRef.menuItems=a.WindowService.getWindow().PluginRegistry.get("main.menu"),this.setNavbarItemVisibility()}}setNavbarItemVisibility(){var e,i,t;if(!(null===(e=this.navbarRef)||void 0===e?void 0:e.menuItems))return;const s=e=>{var i;e.shouldShow=this.shouldShowMenu(e.role),(null===(i=e.children)||void 0===i?void 0:i.length)&&e.children.forEach(s)};null===(t=null===(i=this.navbarRef)||void 0===i?void 0:i.menuItems)||void 0===t||t.forEach(e=>{e.items.forEach(s)}),this.navbarRef.menuItems=[...this.navbarRef.menuItems]}get hostElement(){return(0,s.g)(this)}};r.style=':host{display:block;height:100%}.wb-layout{display:grid;grid-template-columns:15rem minmax(200px, 1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"nav header" "nav main" "nav footer";min-height:100vh;margin:0}.wb-layout.expanded{grid-template-columns:4.375rem 1fr}.wb-layout nav{grid-area:nav}.wb-layout header{grid-area:header}.wb-layout main{grid-area:main}.wb-layout main .main-container{margin-left:0}.wb-layout .default-slot-wrapper{display:none}.wb-layout footer{grid-area:footer}.wb-header{position:sticky;top:0;z-index:999}'}};
|
|
2
|
+
//# sourceMappingURL=39874.ff510b958fcdbda4db58.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"39874.ff510b958fcdbda4db58.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>\n </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 })\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 this.hasPermission = !permissions.isRestricted(path);\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","onAuthTokenChanged","permissions","path","getPathName","isRestricted","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":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
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,l=[{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"),disablePreviousFlow:!1,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,disablePreviousFlow:!1,onNextValidate:()=>Promise.resolve(o.validateTextInput(r,i))},e)}];return e.rulesetName&&l.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"),disablePreviousFlow:!1,show:()=>()=>{o.validateTextInput(r,i)}},e)}),e.fts&&l.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"),disablePreviousFlow:!1,onNextValidate:()=>Promise.resolve(o.isChecked(o.getGuideElementSelector("enable-fts-search","input")))},e)}),l.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"),disablePreviousFlow:!1,show:()=>()=>{o.validateTextInput(r,i)},onNextClick:o.clickOnGuideElement("graphDBRepositoryCrateButton")},e)}),l}}])}};
|
|
2
|
+
//# sourceMappingURL=4125.fd7946ca01aa51acba15.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"4125.fd7946ca01aa51acba15.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,aACLC,gBAAiBb,EAAWG,wBAAwB,oBACpDW,YAAad,EAAWe,oBAAoB,qBAC7CjB,IACJ,CACCF,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,kEACTC,MAAO,qCACPC,IAAK,oBACLC,gBAAiBb,EAAWG,wBAAwB,2BACpDa,qBAAqB,EACrBF,YAAad,EAAWe,oBAAoB,4BAC7CjB,IACJ,CACCF,eAAgB,gBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,4DACTC,MAAO,uCACPC,IAAK,4BACLC,gBAAiBX,EACjBc,qBAAqB,EACrBC,eAAgBA,IAAMC,QAAQC,QAAQnB,EAAWoB,kBAAkBlB,EAA2BE,KAC/FN,KAiDX,OA7CIA,EAAQuB,aACRhB,EAAMiB,KAAK,CACP1B,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,+DACTE,IAAK,4BACLD,MAAO,6CACPE,gBAAiBb,EAAWG,wBAAwB,kCACpDa,qBAAqB,EACrBO,KAAMA,IAAM,KACRvB,EAAWoB,kBAAkBlB,EAA2BE,KAE7DN,KAGRA,EAAQ0B,KACPnB,EAAMiB,KAAK,CACI1B,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,yDACTE,IAAK,4BACLD,MAAO,yCACPc,aAAc,+DACdC,kBAAmB,6BACnBb,gBAAiBb,EAAWG,wBAAwB,qBACpDa,qBAAqB,EACrBC,eAAgBA,IAAMC,QAAQC,QAAQnB,EAAW2B,UAAU3B,EAAWG,wBAAwB,oBAAqB,YACpHL,KAGtBO,EAAMiB,KAAK,CACP1B,eAAgB,oBAChBE,QAASQ,QAAQC,OAAO,CAAC,EAAG,CACxBG,QAAS,0DACTE,IAAK,4BACLD,MAAO,wCACPE,gBAAiBb,EAAWG,wBAAwB,gCACpDa,qBAAqB,EACrBO,KAAMA,IAAM,KACRvB,EAAWoB,kBAAkBlB,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 disablePreviousFlow: false,\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 disablePreviousFlow: false,\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 disablePreviousFlow: false,\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 disablePreviousFlow: false,\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 disablePreviousFlow: false,\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","disablePreviousFlow","onNextValidate","Promise","resolve","validateTextInput","rulesetName","push","show","fts","extraContent","extraContentClass","isChecked"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=41453;export const __webpack_ids__=[41453];export const __webpack_modules__={41453:(n,t,a)=>{a.r(t),a.d(t,{default:()=>e});const e='<link href="css/graphql/graphql-endpoint-configuration-modal.css?v=3.1.0-
|
|
2
|
-
//# sourceMappingURL=41453.
|
|
1
|
+
export const __webpack_id__=41453;export const __webpack_ids__=[41453];export const __webpack_modules__={41453:(n,t,a)=>{a.r(t),a.d(t,{default:()=>e});const e='<link href="css/graphql/graphql-endpoint-configuration-modal.css?v=3.1.0-TR13" rel="stylesheet"/> <div class="modal-header"> <h3 class="modal-title">{{\'graphql.endpoints_management.endpoint_configuration_modal.title\' | translate}}</h3> <span ng-click="toggleAdvancedSettings()" class="toggle-advanced-settings"> <input type="checkbox" class="switch" ng-checked="showAdvancedSettings"/> <label></label> <span>{{\'graphql.endpoints_management.endpoint_configuration_modal.actions.show_advanced_settings.label\' | translate}}</span> </span> </div> <div class="modal-body graphql-endpoint-configuration-modal-body"> <div class="graphql-endpoint-configuration-loader" onto-loader-new hide-message="true" size="100" ng-show="loadingEndpointConfigurationSettings"></div> <dynamic-form ng-if="!loadingEndpointConfigurationSettings" form-model="endpointConfigurationSettings.settings" on-validity-change="handleValidityChange(valid)" show-all-fields="showAdvancedSettings" translation-key-prefix="graphql.endpoints_management.endpoint_configuration_modal.settings." form-ctrl="formCtrl"> </dynamic-form> </div> <div class="modal-footer mt-0"> <button type="button" class="btn btn-secondary cancel-btn" ng-click="cancel()">{{\'common.cancel.btn\' | translate}} </button> <button id="graphql-endpoint-configuration-modal-submit" class="btn btn-primary" ng-disabled="!endpointConfigurationSettingsValid || savingEndpointSettings || formCtrl.$pristine" ng-click="ok()" type="submit"> <span>{{\'save.changes.label\' | translate}}</span> <span class="saving-endpoint-settings" ng-if="savingEndpointSettings" onto-loader-fancy hide-message="true" size="15"></span> </button> </div> '}};
|
|
2
|
+
//# sourceMappingURL=41453.b696ac82dcadda585f04.bundle.js.map
|
package/dist/{41453.9d5109ca609b8a870e5f.bundle.js.map → 41453.b696ac82dcadda585f04.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"41453.
|
|
1
|
+
{"version":3,"file":"41453.b696ac82dcadda585f04.bundle.js","mappings":"uJAGA,QAFW,soD","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/templates/modal/endpoint-configuration-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/graphql/graphql-endpoint-configuration-modal.css?v=3.1.0-TR13\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <h3 class=\"modal-title\">{{'graphql.endpoints_management.endpoint_configuration_modal.title' | translate}}</h3> <span ng-click=\"toggleAdvancedSettings()\" class=\"toggle-advanced-settings\"> <input type=\"checkbox\" class=\"switch\" ng-checked=\"showAdvancedSettings\"/> <label></label> <span>{{'graphql.endpoints_management.endpoint_configuration_modal.actions.show_advanced_settings.label' | translate}}</span> </span> </div> <div class=\"modal-body graphql-endpoint-configuration-modal-body\"> <div class=\"graphql-endpoint-configuration-loader\" onto-loader-new hide-message=\"true\" size=\"100\" ng-show=\"loadingEndpointConfigurationSettings\"></div> <dynamic-form ng-if=\"!loadingEndpointConfigurationSettings\" form-model=\"endpointConfigurationSettings.settings\" on-validity-change=\"handleValidityChange(valid)\" show-all-fields=\"showAdvancedSettings\" translation-key-prefix=\"graphql.endpoints_management.endpoint_configuration_modal.settings.\" form-ctrl=\"formCtrl\"> </dynamic-form> </div> <div class=\"modal-footer mt-0\"> <button type=\"button\" class=\"btn btn-secondary cancel-btn\" ng-click=\"cancel()\">{{'common.cancel.btn' | translate}} </button> <button id=\"graphql-endpoint-configuration-modal-submit\" class=\"btn btn-primary\" ng-disabled=\"!endpointConfigurationSettingsValid || savingEndpointSettings || formCtrl.\\$pristine\" ng-click=\"ok()\" type=\"submit\"> <span>{{'save.changes.label' | translate}}</span> <span class=\"saving-endpoint-settings\" ng-if=\"savingEndpointSettings\" onto-loader-fancy hide-message=\"true\" size=\"15\"></span> </button> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=41621;export const __webpack_ids__=[12098,14824,41621,44207,46570,47775,54159,62677,64803,69112,94003];export const __webpack_modules__={12098:(e,r,o)=>{o.r(r),o.d(r,{JdbcDriverType:()=>t});const t={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},14824:(e,r,o)=>{o.r(r);var t=o(46591),n=o(64803),i=o(54159),s=o(44207),a=o(94003),c=o(47775),p=o(12098);function l(e,r,o,l,d){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(m){m.isGenericDriver=!0,m.defaultUrlTemplate="jdbc:database://localhost:port/database_name",m.ontopProperiesLink="https://ontop-vkg.org/guide/advanced/configuration.html",m.ontopFileType=n.OntopFileType,m.selectedDriver=new c.OntopDriverData,m.supportedDriversData=[],m.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},m.selectDriver=e=>{m.selectedDriver=m.supportedDriversData.find(r=>r.driverType===e),m.isGenericDriver=c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType),m.editRepoPage&&m.currentOntopRepoInfo&&m.currentOntopRepoInfo.connectionInformation.driverType===e?m.formData=_.cloneDeep(m.currentOntopRepoInfo):(O(),m.formData.connectionInformation.driverType=m.selectedDriver.driverType),m.formData.connectionInformation.driverClass=m.selectedDriver.driverClass,m.updateUrl()},m.getOntopFileInfo=e=>m.formData.settings.ontopFiles.find(r=>e===r.type),m.getHostNameLabel=()=>{const e=c.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?"ontop.repo.database.snowflake.host_name":"ontop.repo.database.host_name";return d.instant(e)+"*"},m.getDatabaseNameLabel=()=>{let e="";switch(m.selectedDriver.driverType){case p.JdbcDriverType.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case p.JdbcDriverType.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case p.JdbcDriverType.DREMIO:e="ontop.repo.database.schema.database_name";break;default:e="ontop.repo.database.database_name"}return d.instant(e)},m.updateUrl=()=>{const e=u()||"";m.formData.connectionInformation.url=e+m.formData.connectionInformation.urlUserInput},m.isTestConnectionDisabled=()=>{const e=m.formData.connectionInformation,r=m.selectedDriver;return!(e.driverClass&&e.url&&(!r.portRequired||e.port)&&(c.OntopDriverData.isGenericDriver(r.driverType)||e.hostName&&e.databaseName))},m.testConnection=()=>{D().then(T).then(I).then(w).then(N).then(b).then(()=>r.validateOntopPropertiesConnection(m.repositoryInfo)).then(()=>o.success(d.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):h(d.instant("ontop.repo.failed.to.connect"),e)})},m.editFile=o=>{const n=m.repositoryInfo.params[o.type].label,i=d.instant("update.file.edit.content.header",{fileName:n});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=m.repositoryInfo.params[o.type];return e?e.value:""},dialogTitle:()=>i,location:()=>m.repositoryInfo.location}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,m.repositoryInfo.location).success(e=>{o.fileName=(0,t.getFileName)(e.fileLocation),m.repositoryInfo.params[o.type].value=e.fileLocation}).error(e=>{h(d.instant("common.error"),e)})})},m.uploadOntopFile=(e,r)=>{if(e&&e.length){const t=e[0];r.loading=!0;const n={url:"rest/repositories/file/upload",data:{file:t,location:m.repositoryInfo.location}};l.upload(n).success(e=>{e.success?(r.fileName=t.name,m.repositoryInfo.params[r.type].value=e.fileLocation):o.error(e.errorMessage)}).error(e=>{h(d.instant("common.error"),e),m.uploadFile=""}).finally(()=>{r.loading=!1})}},m.updateOntopRepo=()=>{const e=m.editRepoPage?m.editRepository:m.createRepo;R().then(D).then(T).then(I).then(w).then(N).then(S).then(b).then(e).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):console.log(e)})},m.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const o=u();if(!o)return;const t=e.ctrlKey||e.metaKey;if(t&&65===r||t&&67===r)return;const n=e.target.selectionStart;8===r&&n-1<o.length&&(e.preventDefault(),e.stopPropagation()),n<o.length&&(e.preventDefault(),e.stopPropagation())},m.onKeyUpInUrlInput=()=>{f()};const f=()=>{const e=u();e&&m.formData.connectionInformation.url.startsWith(e)?m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url.substring(e.length):m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url},u=()=>c.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?v():y(),v=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=e.replace("{identifier}",r.hostName)),r.port&&(e=e.replace(".snowflakecomputing.com/?",`.snowflakecomputing.com:${r.port}/?`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},y=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=r.port?e.replace("{hostport}",`${r.hostName}:${r.port}`):e.replace("{hostport}",`${r.hostName}`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},g=e=>{m.formData.settings.ontopFiles.forEach(r=>{r.loading=e})},b=()=>{g(!0);const e=m.formData.connectionInformation,o={hostName:e.hostName,port:e.port,databaseName:e.databaseName,userName:e.username,password:e.password,driverClass:e.driverClass,url:e.url,additionalProperties:m.formData.settings.additionalProperties};return r.updatePropertiesFile(m.repositoryInfo.params.propertiesFile.value,o,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{m.repositoryInfo.params.propertiesFile.value=e.fileLocation}).error(e=>{h(d.instant("common.error"),e)}).finally(()=>g(!1))},h=(e,r)=>{const t=getError(r);o.error(t,e)},D=()=>c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.host_name")}))),I=()=>c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.database_name")}))),w=()=>m.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.driver_class")}))),N=()=>m.formData.connectionInformation.url?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.url")}))),R=()=>m.repositoryInfo.id?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("empty.repoid.warning"))),S=()=>m.getOntopFileInfo(n.OntopFileType.OBDA).fileName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("ontop.repo.missing.required.file",{fileName:m.repositoryInfo.params[n.OntopFileType.OBDA].label}))),T=()=>m.selectedDriver.portRequired&&!m.formData.connectionInformation.port?Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.port")}))):Promise.resolve(),O=()=>{m.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(n.OntopFileType).forEach(e=>{const r=new s.OntopFileInfo(e);m.formData.settings.ontopFiles.push(r)}),m.getOntopFileInfo(n.OntopFileType.OBDA).required=!0};r.getSupportedDriversData(m.repositoryInfo).success(e=>{m.supportedDriversData=e}).error(e=>{h(d.instant("common.error"),e)}).then(()=>{m.editRepoPage?(g(!0),r.loadPropertiesFile(m.repositoryInfo.params.propertiesFile.value,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{let r=m.supportedDriversData.find(r=>r.driverClass===e.driverClass);r&&e.hostName||(r=m.supportedDriversData.find(e=>c.OntopDriverData.isGenericDriver(e.driverType))),m.selectDriver(r.driverType),m.formData.connectionInformation.driverType=r.driverType,m.formData.connectionInformation.driverClass=e.driverClass,m.formData.connectionInformation.password=e.password,m.formData.connectionInformation.username=e.userName,m.formData.connectionInformation.url=e.url,m.formData.settings.additionalProperties=e.additionalProperties,c.OntopDriverData.isGenericDriver(r.driverType)||(m.formData.connectionInformation.hostName=e.hostName,m.formData.connectionInformation.databaseName=e.databaseName,m.formData.connectionInformation.port=e.port?parseInt(e.port,10):void 0),f(),m.updateUrl(),Object.values(n.OntopFileType).forEach(e=>{const r=m.repositoryInfo.params[e],o=m.getOntopFileInfo(e);r&&(o.fileName=(0,t.getFileName)(r.value))}),m.currentOntopRepoInfo=_.cloneDeep(m.formData)}).error(e=>{h(d.instant("common.error"),e)}).finally(()=>{g(!1)})):m.selectDriver(p.JdbcDriverType.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",l),l.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]},41621:(e,r,o)=>{o.r(r),o(82493),o(5687),o(60116),o(46591),o(14824),o(62677),o(76933),o(69112),o(47195),o(56669),angular.module("graphdb.framework.repositories",["ui.bootstrap","toastr","ngCookies","ngRoute","graphdb.framework.repositories.controllers","graphdb.framework.repositories.ontop-repo.directive","graphdb.framework.repositories.fedx-repo.directive","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.core.controllers","graphdb.framework.settings"])},44207:(e,r,o)=>{o.r(r),o.d(r,{OntopFileInfo:()=>t});class t{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},46570:(e,r,o)=>{function t(e,r,o,t,n){e.supportsStatistics=!0,e.settings={statistics:!1},e.getSettings=function(){e.loader=!0,t.getStatistics().then(function(r){e.settings.statistics="true"===r.data,e.supportsStatistics=!0},function(o){if(404===o.status)e.supportsStatistics=!1;else{const e=getError(o.data);r.error(e,n.instant("error.getting.settings"))}})},e.getSettings(),e.setSettings=function(){e.loader=!0,t.toggleStatistics(e.settings.statistics).then(function(){o.close(),r.success(n.instant("saving.settings.success"))},function(e){const o=getError(e.data);r.error(o,n.instant("saving.settings.error"))})},e.submitForm=function(){e.setSettings()},e.cancel=function(){o.dismiss("cancel")}}function n(e,r,o,t,n,i,s,a){e.loadingLicense=function(){return o.loadingLicense()},o.checkLicenseStatus(),e.removeLicense=function(){i.openSimpleModal({title:s.instant("confirm.operation"),message:s.instant("remove.license.warning.msg"),warning:!0}).result.then(function(){r.unregisterLicense().success(function(){o.checkLicenseStatus().then(()=>a.applyTrackingConsent()).catch(e=>{const r=getError(e.data,e.status);t.error(r,s.instant("common.error"))})})})}}function i(e,r,o,t,n,i,s,a){e.$on("securityInit",function(){s.isAdmin()||o.path("/license")}),e.sendLicenseToValidateAndActivate=p;const c=$(".license-textarea");function p(e){r.sendLicenseToValidate(e).success(function(o){o.present?(c.val(e),function(e,o){t.open({templateUrl:"js/angular/settings/modal/validate-license.html",controller:"ValidateLicenseModalCtrl",size:"lg",resolve:{license:function(){return e}}}).result.then(function(){!function(e){if(e||(e=c.val()),e){const o=atob(e.replace(/\s/g,""));r.registerLicense(o).success(function(){i.history.back()}).error(function(e){n.error(e,a.instant("license.register.error"))})}else n.error(a.instant("no.license.code.error"))}(o)})}(o,e)):(c.val(""),n.error(o.message))}).error(function(){n.error(a.instant("invalid.license"))})}e.$watch("currentFile",function(){if(e.currentFile){const o=e.currentFile;r.extractFromLicenseFile(o).success(function(e){p(e)}).error(function(){n.error(a.instant("could.not.upload.file.error"))})}}),e.getBackToPreviousPage=function(){i.history.back()}}function s(e,r,o){e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")},e.license=o}function a(e){e.loader=!0,e.setLoader=function(r){e.loader=r}}o.r(r),o(82493),o(98599),angular.module("graphdb.framework.settings.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","toastr"]).controller("ActiveLocationSettingsCtrl",t).controller("ValidateLicenseModalCtrl",s).controller("LicenseCtrl",n).controller("RegisterLicenseCtrl",i).controller("LoaderSamplesCtrl",a),t.$inject=["$scope","toastr","$uibModalInstance","LicenseRestService","$translate"],n.$inject=["$scope","LicenseRestService","$licenseService","toastr","$rootScope","ModalService","$translate","TrackingService"],i.$inject=["$scope","LicenseRestService","$location","$uibModal","toastr","$window","$jwtAuth","$translate"],s.$inject=["$scope","$uibModalInstance","license"],a.$inject=["$scope"]},47775:(e,r,o)=>{o.r(r),o.d(r,{OntopDriverData:()=>n});var t=o(12098);class n{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===t.JdbcDriverType.GENERIC}static isSnowflakeDriver(e){return e===t.JdbcDriverType.SNOWFLAKE}}},54159:(e,r,o)=>{o.r(r),o.d(r,{OntopConnectionInformation:()=>t});class t{constructor(e="generic"){this.driverType=e,this.hostName="",this.port=void 0,this.databaseName="",this.username="",this.password="",this.driverClass="",this.url="",this.urlUserInput=""}}},62677:()=>{function e(e,r,o,t){return{restrict:"E",scope:!0,templateUrl:"js/angular/repositories/templates/fedx-repo.html",link:function(n){const i="ResolvableRepository",s="RemoteRepository",a="SPARQLEndpoint",c="NativeStore";function p(){for(const e of n.fedxMembers)n.knownRepos=n.knownRepos.filter(function(r){return e.repositoryServer?r.id!==e.repositoryName||r.location!==e.repositoryServer:r.id!==e.repositoryName||!r.local})}function l(){r.getRepositories(n.repositoryInfo.location).success(function(e){let r=[];_.values(e).forEach(e=>{r.push.apply(r,e)}),n.allAttachedRepos=_.cloneDeep(r)}).error(function(e){const r=getError(e);o.error(r,t.instant("common.error"))}).then(function(){n.knownRepos=n.allAttachedRepos.slice(),p()})}n.fedxMembers=[],n.knownRepos=[],n.allAttachedRepos=[],n.editRepoPage&&(n.fedxMembers=n.repositoryInfo.params.member.value.slice()),n.setWritableRepo=function(e){let r=n.fedxMembers.find(e=>"true"===e.writable);r&&((r.store!==i||e.store===i&&r.repositoryName===e.repositoryName)&&(r.store!==s||e.store===s&&r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)||(r.writable="false")),e.writable=JSON.stringify("false"===e.writable)},n.getActiveClass=function(e){return"true"===e.writable?" active":""},n.checkIfRepoExist=function(e){return!n.allAttachedRepos.length||(e.store===i?n.allAttachedRepos.find(r=>r.id===e.repositoryName&&!r.location):e.store!==s||n.allAttachedRepos.find(r=>r.id===e.repositoryName&&r.location===e.repositoryServer))},n.getRepositoryServer=function(e){return e.local?"Local":e.location};const d=setInterval(function(){l()},5e3);function m(e){n.fedxMembers.push(e),n.repositoryInfo.params.member.value=n.fedxMembers}function f(e){return"/"===e.slice(-1)?e.slice(0,-1):e}function u(){return n.editRepoPage&&!n.editRepoPage||!n.model.editMode}n.$on("$destroy",function(){clearInterval(d)}),n.addMember=function(e){let r;r="Local"===n.getRepositoryServer(e)?{store:i,repositoryName:e.id,repoType:e.type,respectRights:"true",writable:"false"}:{store:s,repositoryName:e.id,repositoryServer:e.location,username:"",password:"",supportsASKQueries:"true",writable:"false"},n.knownRepos=n.knownRepos.filter(r=>r.id!==e.id||r.location!==e.location),m(r)},n.removeMember=function(e){e.store&&e.store===i?(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName&&!r.repositoryServer),l()):e.store&&e.store===a?n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint):e.store&&e.store===c?n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryLocation!==e.repositoryLocation):e.store&&e.store===s&&(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer),l()),n.repositoryInfo.params.member.value=n.fedxMembers},n.addRemoteMember=function(){n.mode="remote",n.model={editMode:!1,store:s,repositoryName:"",repositoryServer:"",sparqlEndpoint:"",username:"",password:"",supportsASKQueries:"true",writable:"false"},n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.getMemberIcon=function(e){return e.repoType?"icon-repo-"+e.repoType:e.store===c?"icon-warning":"icon-link"},n.editFedXRepository=function(r){r.store===i?(n.mode="local",n.model={editMode:!0,store:r.store,respectRights:r.respectRights,repositoryName:r.repositoryName,repoType:r.repoType,writable:r.writable}):(n.mode="remote",n.model={editMode:!0,store:r.store,repositoryName:r.repositoryName,repositoryServer:r.repositoryServer,sparqlEndpoint:r.store===a?r.endpoint:r.repositoryLocation,username:r.username,password:r.password,supportsASKQueries:r.supportsASKQueries,writable:r.writable}),n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.resolveName=function(e){switch(e.store){case i:return e.repositoryName;case s:return e.repositoryName+"@"+e.repositoryServer;case a:return e.endpoint;case c:return e.repositoryLocation;default:return""}},n.cancel=function(){n.$uibModalInstance.dismiss("cancel")},n.ok=function(){let e;if(n.model.repositoryName&&n.model.store===i)e={store:i,repositoryName:n.model.repositoryName,repoType:n.model.repoType,respectRights:n.model.respectRights,writable:n.model.writable},n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store);else if(n.model.repositoryName&&n.model.store===s){if(e={store:s,repositoryName:n.model.repositoryName,repositoryServer:f(n.model.repositoryServer),username:n.model.username,password:n.model.password,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.member.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)}else{if(e={store:a,endpoint:f(n.model.sparqlEndpoint),username:n.model.username,password:n.model.password,supportsASKQueries:n.model.supportsASKQueries,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.endpoint===e.endpoint)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.sparql.endpoint.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint)}m(e),p(),n.$uibModalInstance.close()},n.$on("changedLocation",function(){n.fedxMembers=[],l()}),l()}}}angular.module("graphdb.framework.repositories.fedx-repo.directive",[]).directive("fedxRepo",e),e.$inject=["$uibModal","RepositoriesRestService","toastr","$translate"]},64803:(e,r,o)=>{o.r(r),o.d(r,{OntopFileType:()=>t});const t={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},69112:(e,r,o)=>{function t(e){e.interceptors.push("$unauthorizedInterceptor"),e.interceptors.push("$authenticationInterceptor")}function n(e,r,o){e.$on("$locationChangeStart",function(){o.isLicenseHardcoded()&&"/license/register"===r.url()&&r.path("license")})}o.r(r),o(82493),o(5687),o(21774),o(46570),o(9619),o(35805),o(98599),o(47195),o(56669),angular.module("graphdb.framework.settings",["toastr","ui.bootstrap","graphdb.framework.rest.license.service","graphdb.framework.settings.controllers","graphdb.framework.core.interceptors.unauthorized","graphdb.framework.core.interceptors.authentication","graphdb.framework.core.services.jwtauth"]).config(t).run(n),t.$inject=["$httpProvider","$routeProvider"],n.$inject=["$rootScope","$location","$licenseService"]},94003:(e,r,o)=>{o.r(r),o.d(r,{OntopRepositoryError:()=>t});class t extends Error{}}};
|
|
2
|
-
//# sourceMappingURL=41621.
|
|
1
|
+
export const __webpack_id__=41621;export const __webpack_ids__=[12098,14824,41621,44207,46570,47775,54159,62677,64803,69112,94003];export const __webpack_modules__={12098:(e,r,o)=>{o.r(r),o.d(r,{JdbcDriverType:()=>t});const t={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},14824:(e,r,o)=>{o.r(r);var t=o(46591),n=o(64803),i=o(54159),s=o(44207),a=o(94003),c=o(47775),p=o(12098);function l(e,r,o,l,d){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(m){m.isGenericDriver=!0,m.defaultUrlTemplate="jdbc:database://localhost:port/database_name",m.ontopProperiesLink="https://ontop-vkg.org/guide/advanced/configuration.html",m.ontopFileType=n.OntopFileType,m.selectedDriver=new c.OntopDriverData,m.supportedDriversData=[],m.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},m.selectDriver=e=>{m.selectedDriver=m.supportedDriversData.find(r=>r.driverType===e),m.isGenericDriver=c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType),m.editRepoPage&&m.currentOntopRepoInfo&&m.currentOntopRepoInfo.connectionInformation.driverType===e?m.formData=_.cloneDeep(m.currentOntopRepoInfo):(O(),m.formData.connectionInformation.driverType=m.selectedDriver.driverType),m.formData.connectionInformation.driverClass=m.selectedDriver.driverClass,m.updateUrl()},m.getOntopFileInfo=e=>m.formData.settings.ontopFiles.find(r=>e===r.type),m.getHostNameLabel=()=>{const e=c.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?"ontop.repo.database.snowflake.host_name":"ontop.repo.database.host_name";return d.instant(e)+"*"},m.getDatabaseNameLabel=()=>{let e="";switch(m.selectedDriver.driverType){case p.JdbcDriverType.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case p.JdbcDriverType.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case p.JdbcDriverType.DREMIO:e="ontop.repo.database.schema.database_name";break;default:e="ontop.repo.database.database_name"}return d.instant(e)},m.updateUrl=()=>{const e=u()||"";m.formData.connectionInformation.url=e+m.formData.connectionInformation.urlUserInput},m.isTestConnectionDisabled=()=>{const e=m.formData.connectionInformation,r=m.selectedDriver;return!(e.driverClass&&e.url&&(!r.portRequired||e.port)&&(c.OntopDriverData.isGenericDriver(r.driverType)||e.hostName&&e.databaseName))},m.testConnection=()=>{D().then(T).then(w).then(I).then(N).then(b).then(()=>r.validateOntopPropertiesConnection(m.repositoryInfo)).then(()=>o.success(d.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):h(d.instant("ontop.repo.failed.to.connect"),e)})},m.editFile=o=>{const n=m.repositoryInfo.params[o.type].label,i=d.instant("update.file.edit.content.header",{fileName:n});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=m.repositoryInfo.params[o.type];return e?e.value:""},dialogTitle:()=>i,location:()=>m.repositoryInfo.location}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,m.repositoryInfo.location).success(e=>{o.fileName=(0,t.getFileName)(e.fileLocation),m.repositoryInfo.params[o.type].value=e.fileLocation}).error(e=>{h(d.instant("common.error"),e)})})},m.uploadOntopFile=(e,r)=>{if(e&&e.length){const t=e[0];r.loading=!0;const n={url:"rest/repositories/file/upload",data:{file:t,location:m.repositoryInfo.location}};l.upload(n).success(e=>{e.success?(r.fileName=t.name,m.repositoryInfo.params[r.type].value=e.fileLocation):o.error(e.errorMessage)}).error(e=>{h(d.instant("common.error"),e),m.uploadFile=""}).finally(()=>{r.loading=!1})}},m.updateOntopRepo=()=>{const e=m.editRepoPage?m.editRepository:m.createRepo;R().then(D).then(T).then(w).then(I).then(N).then(S).then(b).then(e).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):console.log(e)})},m.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const o=u();if(!o)return;const t=e.ctrlKey||e.metaKey;if(t&&65===r||t&&67===r)return;const n=e.target.selectionStart;8===r&&n-1<o.length&&(e.preventDefault(),e.stopPropagation()),n<o.length&&(e.preventDefault(),e.stopPropagation())},m.onKeyUpInUrlInput=()=>{f()};const f=()=>{const e=u();e&&m.formData.connectionInformation.url.startsWith(e)?m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url.substring(e.length):m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url},u=()=>c.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?v():y(),v=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=e.replace("{identifier}",r.hostName)),r.port&&(e=e.replace(".snowflakecomputing.com/?",`.snowflakecomputing.com:${r.port}/?`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},y=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=r.port?e.replace("{hostport}",`${r.hostName}:${r.port}`):e.replace("{hostport}",`${r.hostName}`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},g=e=>{m.formData.settings.ontopFiles.forEach(r=>{r.loading=e})},b=()=>{g(!0);const e=m.formData.connectionInformation,o={hostName:e.hostName,port:e.port,databaseName:e.databaseName,userName:e.username,password:e.password,driverClass:e.driverClass,url:e.url,additionalProperties:m.formData.settings.additionalProperties};return r.updatePropertiesFile(m.repositoryInfo.params.propertiesFile.value,o,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{m.repositoryInfo.params.propertiesFile.value=e.fileLocation}).error(e=>{h(d.instant("common.error"),e)}).finally(()=>g(!1))},h=(e,r)=>{const t=getError(r);o.error(t,e)},D=()=>c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.host_name")}))),w=()=>c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.database_name")}))),I=()=>m.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.driver_class")}))),N=()=>m.formData.connectionInformation.url?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.url")}))),R=()=>m.repositoryInfo.id?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("empty.repoid.warning"))),S=()=>m.getOntopFileInfo(n.OntopFileType.OBDA).fileName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("ontop.repo.missing.required.file",{fileName:m.repositoryInfo.params[n.OntopFileType.OBDA].label}))),T=()=>m.selectedDriver.portRequired&&!m.formData.connectionInformation.port?Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.port")}))):Promise.resolve(),O=()=>{m.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(n.OntopFileType).forEach(e=>{const r=new s.OntopFileInfo(e);m.formData.settings.ontopFiles.push(r)}),m.getOntopFileInfo(n.OntopFileType.OBDA).required=!0};r.getSupportedDriversData(m.repositoryInfo).success(e=>{m.supportedDriversData=e}).error(e=>{h(d.instant("common.error"),e)}).then(()=>{m.editRepoPage?(g(!0),r.loadPropertiesFile(m.repositoryInfo.params.propertiesFile.value,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{let r=m.supportedDriversData.find(r=>r.driverClass===e.driverClass);r&&e.hostName||(r=m.supportedDriversData.find(e=>c.OntopDriverData.isGenericDriver(e.driverType))),m.selectDriver(r.driverType),m.formData.connectionInformation.driverType=r.driverType,m.formData.connectionInformation.driverClass=e.driverClass,m.formData.connectionInformation.password=e.password,m.formData.connectionInformation.username=e.userName,m.formData.connectionInformation.url=e.url,m.formData.settings.additionalProperties=e.additionalProperties,c.OntopDriverData.isGenericDriver(r.driverType)||(m.formData.connectionInformation.hostName=e.hostName,m.formData.connectionInformation.databaseName=e.databaseName,m.formData.connectionInformation.port=e.port?parseInt(e.port,10):void 0),f(),m.updateUrl(),Object.values(n.OntopFileType).forEach(e=>{const r=m.repositoryInfo.params[e],o=m.getOntopFileInfo(e);r&&(o.fileName=(0,t.getFileName)(r.value))}),m.currentOntopRepoInfo=_.cloneDeep(m.formData)}).error(e=>{h(d.instant("common.error"),e)}).finally(()=>{g(!1)})):m.selectDriver(p.JdbcDriverType.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",l),l.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]},41621:(e,r,o)=>{o.r(r),o(82493),o(5687),o(60116),o(46591),o(14824),o(62677),o(76933),o(69112),o(47195),o(56669),angular.module("graphdb.framework.repositories",["ui.bootstrap","toastr","ngCookies","ngRoute","graphdb.framework.repositories.controllers","graphdb.framework.repositories.ontop-repo.directive","graphdb.framework.repositories.fedx-repo.directive","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.core.controllers","graphdb.framework.settings"])},44207:(e,r,o)=>{o.r(r),o.d(r,{OntopFileInfo:()=>t});class t{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},46570:(e,r,o)=>{function t(e,r,o,t,n){e.supportsStatistics=!0,e.settings={statistics:!1},e.getSettings=function(){e.loader=!0,t.getStatistics().then(function(r){e.settings.statistics="true"===r.data,e.supportsStatistics=!0},function(o){if(404===o.status)e.supportsStatistics=!1;else{const e=getError(o.data);r.error(e,n.instant("error.getting.settings"))}})},e.getSettings(),e.setSettings=function(){e.loader=!0,t.toggleStatistics(e.settings.statistics).then(function(){o.close(),r.success(n.instant("saving.settings.success"))},function(e){const o=getError(e.data);r.error(o,n.instant("saving.settings.error"))})},e.submitForm=function(){e.setSettings()},e.cancel=function(){o.dismiss("cancel")}}function n(e,r,o,t,n,i,s,a){e.loadingLicense=function(){return o.loadingLicense()},o.checkLicenseStatus(),e.removeLicense=function(){i.openSimpleModal({title:s.instant("confirm.operation"),message:s.instant("remove.license.warning.msg"),warning:!0}).result.then(function(){r.unregisterLicense().success(function(){o.checkLicenseStatus().then(()=>a.applyTrackingConsent()).catch(e=>{const r=getError(e.data,e.status);t.error(r,s.instant("common.error"))})})})}}function i(e,r,o,t,n,i,s,a){e.$on("securityInit",function(){s.isAdmin()||o.path("/license")}),e.sendLicenseToValidateAndActivate=p;const c=$(".license-textarea");function p(e){r.sendLicenseToValidate(e).success(function(o){o.present?(c.val(e),function(e,o){t.open({templateUrl:"js/angular/settings/modal/validate-license.html",controller:"ValidateLicenseModalCtrl",size:"lg",resolve:{license:function(){return e}}}).result.then(function(){!function(e){if(e||(e=c.val()),e){const o=atob(e.replace(/\s/g,""));r.registerLicense(o).success(function(){i.history.back()}).error(function(e){n.error(e,a.instant("license.register.error"))})}else n.error(a.instant("no.license.code.error"))}(o)})}(o,e)):(c.val(""),n.error(o.message))}).error(function(){n.error(a.instant("invalid.license"))})}e.$watch("currentFile",function(){if(e.currentFile){const o=e.currentFile;r.extractFromLicenseFile(o).success(function(e){p(e)}).error(function(){n.error(a.instant("could.not.upload.file.error"))})}}),e.getBackToPreviousPage=function(){i.history.back()}}function s(e,r,o){e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")},e.license=o}function a(e){e.loader=!0,e.setLoader=function(r){e.loader=r}}o.r(r),o(82493),o(98599),angular.module("graphdb.framework.settings.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","toastr"]).controller("ActiveLocationSettingsCtrl",t).controller("ValidateLicenseModalCtrl",s).controller("LicenseCtrl",n).controller("RegisterLicenseCtrl",i).controller("LoaderSamplesCtrl",a),t.$inject=["$scope","toastr","$uibModalInstance","LicenseRestService","$translate"],n.$inject=["$scope","LicenseRestService","$licenseService","toastr","$rootScope","ModalService","$translate","TrackingService"],i.$inject=["$scope","LicenseRestService","$location","$uibModal","toastr","$window","$jwtAuth","$translate"],s.$inject=["$scope","$uibModalInstance","license"],a.$inject=["$scope"]},47775:(e,r,o)=>{o.r(r),o.d(r,{OntopDriverData:()=>n});var t=o(12098);class n{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===t.JdbcDriverType.GENERIC}static isSnowflakeDriver(e){return e===t.JdbcDriverType.SNOWFLAKE}}},54159:(e,r,o)=>{o.r(r),o.d(r,{OntopConnectionInformation:()=>t});class t{constructor(e="generic"){this.driverType=e,this.hostName="",this.port=void 0,this.databaseName="",this.username="",this.password="",this.driverClass="",this.url="",this.urlUserInput=""}}},62677:()=>{function e(e,r,o,t){return{restrict:"E",scope:!0,templateUrl:"js/angular/repositories/templates/fedx-repo.html",link:function(n){const i="ResolvableRepository",s="RemoteRepository",a="SPARQLEndpoint",c="NativeStore";function p(){for(const e of n.fedxMembers)n.knownRepos=n.knownRepos.filter(function(r){return e.repositoryServer?r.id!==e.repositoryName||r.location!==e.repositoryServer:r.id!==e.repositoryName||!r.local})}function l(){r.getRepositories(n.repositoryInfo.location).success(function(e){let r=[];_.values(e).forEach(e=>{r.push.apply(r,e)}),n.allAttachedRepos=_.cloneDeep(r)}).error(function(e){const r=getError(e);o.error(r,t.instant("common.error"))}).then(function(){n.knownRepos=n.allAttachedRepos.slice(),p()})}n.fedxMembers=[],n.knownRepos=[],n.allAttachedRepos=[],n.editRepoPage&&(n.fedxMembers=n.repositoryInfo.params.member.value.slice()),n.setWritableRepo=function(e){let r=n.fedxMembers.find(e=>"true"===e.writable);r&&((r.store!==i||e.store===i&&r.repositoryName===e.repositoryName)&&(r.store!==s||e.store===s&&r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)||(r.writable="false")),e.writable=JSON.stringify("false"===e.writable)},n.getActiveClass=function(e){return"true"===e.writable?" active":""},n.checkIfRepoExist=function(e){return!n.allAttachedRepos.length||(e.store===i?n.allAttachedRepos.find(r=>r.id===e.repositoryName&&!r.location):e.store!==s||n.allAttachedRepos.find(r=>r.id===e.repositoryName&&r.location===e.repositoryServer))},n.getRepositoryServer=function(e){return e.local?"Local":e.location};const d=setInterval(function(){l()},5e3);function m(e){n.fedxMembers.push(e),n.repositoryInfo.params.member.value=n.fedxMembers}function f(e){return"/"===e.slice(-1)?e.slice(0,-1):e}function u(){return n.editRepoPage&&!n.editRepoPage||!n.model.editMode}n.$on("$destroy",function(){clearInterval(d)}),n.addMember=function(e){let r;r="Local"===n.getRepositoryServer(e)?{store:i,repositoryName:e.id,repoType:e.type,respectRights:"true",writable:"false"}:{store:s,repositoryName:e.id,repositoryServer:e.location,username:"",password:"",supportsASKQueries:"true",writable:"false"},n.knownRepos=n.knownRepos.filter(r=>r.id!==e.id||r.location!==e.location),m(r)},n.removeMember=function(e){e.store&&e.store===i?(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName&&!r.repositoryServer),l()):e.store&&e.store===a?n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint):e.store&&e.store===c?n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryLocation!==e.repositoryLocation):e.store&&e.store===s&&(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer),l()),n.repositoryInfo.params.member.value=n.fedxMembers},n.addRemoteMember=function(){n.mode="remote",n.model={editMode:!1,store:s,repositoryName:"",repositoryServer:"",sparqlEndpoint:"",username:"",password:"",supportsASKQueries:"true",writable:"false"},n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.getMemberIcon=function(e){return e.repoType?"icon-repo-"+e.repoType:e.store===c?"icon-warning":"icon-link"},n.editFedXRepository=function(r){r.store===i?(n.mode="local",n.model={editMode:!0,store:r.store,respectRights:r.respectRights,repositoryName:r.repositoryName,repoType:r.repoType,writable:r.writable}):(n.mode="remote",n.model={editMode:!0,store:r.store,repositoryName:r.repositoryName,repositoryServer:r.repositoryServer,sparqlEndpoint:r.store===a?r.endpoint:r.repositoryLocation,username:r.username,password:r.password,supportsASKQueries:r.supportsASKQueries,writable:r.writable}),n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.resolveName=function(e){switch(e.store){case i:return e.repositoryName;case s:return e.repositoryName+"@"+e.repositoryServer;case a:return e.endpoint;case c:return e.repositoryLocation;default:return""}},n.cancel=function(){n.$uibModalInstance.dismiss("cancel")},n.ok=function(){let e;if(n.model.repositoryName&&n.model.store===i)e={store:i,repositoryName:n.model.repositoryName,repoType:n.model.repoType,respectRights:n.model.respectRights,writable:n.model.writable},n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store);else if(n.model.repositoryName&&n.model.store===s){if(e={store:s,repositoryName:n.model.repositoryName,repositoryServer:f(n.model.repositoryServer),username:n.model.username,password:n.model.password,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.member.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)}else{if(e={store:a,endpoint:f(n.model.sparqlEndpoint),username:n.model.username,password:n.model.password,supportsASKQueries:n.model.supportsASKQueries,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.endpoint===e.endpoint)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.sparql.endpoint.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint)}m(e),p(),n.$uibModalInstance.close()},n.$on("changedLocation",function(){n.fedxMembers=[],l()}),l()}}}angular.module("graphdb.framework.repositories.fedx-repo.directive",[]).directive("fedxRepo",e),e.$inject=["$uibModal","RepositoriesRestService","toastr","$translate"]},64803:(e,r,o)=>{o.r(r),o.d(r,{OntopFileType:()=>t});const t={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},69112:(e,r,o)=>{function t(e){e.interceptors.push("$authenticationInterceptor")}function n(e,r,o){e.$on("$locationChangeStart",function(){o.isLicenseHardcoded()&&"/license/register"===r.url()&&r.path("license")})}o.r(r),o(82493),o(5687),o(21774),o(46570),o(9619),o(35805),o(98599),o(47195),o(56669),angular.module("graphdb.framework.settings",["toastr","ui.bootstrap","graphdb.framework.rest.license.service","graphdb.framework.settings.controllers","graphdb.framework.core.interceptors.unauthorized","graphdb.framework.core.interceptors.authentication","graphdb.framework.core.services.jwtauth"]).config(t).run(n),t.$inject=["$httpProvider","$routeProvider"],n.$inject=["$rootScope","$location","$licenseService"]},94003:(e,r,o)=>{o.r(r),o.d(r,{OntopRepositoryError:()=>t});class t extends Error{}}};
|
|
2
|
+
//# sourceMappingURL=41621.68c5ebc2104a62e2b41d.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"41621.68c5ebc2104a62e2b41d.bundle.js","mappings":"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","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('$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":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=42129;export const __webpack_ids__=[42129];export const __webpack_modules__={42129:(e,l,t)=>{t.r(l),t.d(l,{default:()=>s});const s='<link href="css/shuttle-multiselect.css?v=3.1.0-
|
|
2
|
-
//# sourceMappingURL=42129.
|
|
1
|
+
export const __webpack_id__=42129;export const __webpack_ids__=[42129];export const __webpack_modules__={42129:(e,l,t)=>{t.r(l),t.d(l,{default:()=>s});const s='<link href="css/shuttle-multiselect.css?v=3.1.0-TR13" rel="stylesheet"/> <div class="shuttle-multiselect"> <div class="shuttle-panel available-options"> <div class="shuttle-panel-header"> <h5>{{labels.availableOptionsTitle | translate}}</h5> </div> <div class="shuttle-panel-toolbar toolbar-left"> <input type="text" class="form-control filter-selected" placeholder="{{labels.availableOptionsFilter | translate}}" ng-model="searchLeft"> <a href="#" ng-click="selectAll()" class="btn-link secondary add-all-btn" gdb-tooltip="{{labels.selectAllTooltip | translate}}" tooltip-placement="top">{{labels.selectAllLabel | translate}}</a> </div> <div class="options-list"> <div class="option-item" ng-repeat="item in availableOptions | searchFilter:searchLeft | orderBy:\'label\' track by $index"> <span>{{item.label}}</span> <a href="#" ng-click="selectOption(item)" class="btn-link secondary item-action add-btn" gdb-tooltip="{{labels.selectTooltip | translate}}" tooltip-placement="top"> <span class="fa fa-plus-circle"></span> </a> </div> </div> </div> <div class="shuttle-panel selected-options"> <div class="shuttle-panel-header"> <h5>{{labels.selectedOptionsTitle | translate}}</h5> </div> <div class="shuttle-panel-toolbar toolbar-right"> <div ng-if="selectedOptions.length" class="selected-items-message"> {{labels.selectedOptionsCount | translate:{count: selectedOptions.length} }} </div> <a href="#" ng-click="deselectAll()" class="btn-link secondary remove-all-btn" gdb-tooltip="{{labels.deselectAllTooltip | translate}}" tooltip-placement="top">{{labels.deselectAllLabel | translate}}</a> </div> <div class="options-list"> <div class="option-item" ng-repeat="item in selectedOptions | orderBy:\'label\' track by $index"> <span>{{item.label}}</span> <a href="#" ng-click="deselectOption(item)" class="btn-link secondary item-action remove-btn" gdb-tooltip="{{labels.deselectTooltip | translate}}" tooltip-placement="top"> <span class="fa fa-minus-circle"></span> </a> </div> </div> </div> </div> '}};
|
|
2
|
+
//# sourceMappingURL=42129.f9f2bafc4520aad7f942.bundle.js.map
|
package/dist/{42129.42e556d7bd6885bba119.bundle.js.map → 42129.f9f2bafc4520aad7f942.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"42129.
|
|
1
|
+
{"version":3,"file":"42129.f9f2bafc4520aad7f942.bundle.js","mappings":"uJAGA,QAFW,k9D","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/shuttle-multiselect.css?v=3.1.0-TR13\" rel=\"stylesheet\"/> <div class=\"shuttle-multiselect\"> <div class=\"shuttle-panel available-options\"> <div class=\"shuttle-panel-header\"> <h5>{{labels.availableOptionsTitle | translate}}</h5> </div> <div class=\"shuttle-panel-toolbar toolbar-left\"> <input type=\"text\" class=\"form-control filter-selected\" placeholder=\"{{labels.availableOptionsFilter | translate}}\" ng-model=\"searchLeft\"> <a href=\"#\" ng-click=\"selectAll()\" class=\"btn-link secondary add-all-btn\" gdb-tooltip=\"{{labels.selectAllTooltip | translate}}\" tooltip-placement=\"top\">{{labels.selectAllLabel | translate}}</a> </div> <div class=\"options-list\"> <div class=\"option-item\" ng-repeat=\"item in availableOptions | searchFilter:searchLeft | orderBy:'label' track by \\$index\"> <span>{{item.label}}</span> <a href=\"#\" ng-click=\"selectOption(item)\" class=\"btn-link secondary item-action add-btn\" gdb-tooltip=\"{{labels.selectTooltip | translate}}\" tooltip-placement=\"top\"> <span class=\"fa fa-plus-circle\"></span> </a> </div> </div> </div> <div class=\"shuttle-panel selected-options\"> <div class=\"shuttle-panel-header\"> <h5>{{labels.selectedOptionsTitle | translate}}</h5> </div> <div class=\"shuttle-panel-toolbar toolbar-right\"> <div ng-if=\"selectedOptions.length\" class=\"selected-items-message\"> {{labels.selectedOptionsCount | translate:{count: selectedOptions.length} }} </div> <a href=\"#\" ng-click=\"deselectAll()\" class=\"btn-link secondary remove-all-btn\" gdb-tooltip=\"{{labels.deselectAllTooltip | translate}}\" tooltip-placement=\"top\">{{labels.deselectAllLabel | translate}}</a> </div> <div class=\"options-list\"> <div class=\"option-item\" ng-repeat=\"item in selectedOptions | orderBy:'label' track by \\$index\"> <span>{{item.label}}</span> <a href=\"#\" ng-click=\"deselectOption(item)\" class=\"btn-link secondary item-action remove-btn\" gdb-tooltip=\"{{labels.deselectTooltip | translate}}\" tooltip-placement=\"top\"> <span class=\"fa fa-minus-circle\"></span> </a> </div> </div> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=42143;export const __webpack_ids__=[42143];export const __webpack_modules__={42143:()=>{PluginRegistry.add("guide.step",[{guideBlockName:"import-rdf-file",getSteps:(e,t)=>{const i=t.GuideUtils,o=t.toastr,l=t.$translate,r=t.$interpolate,n=t.EventEmitterService;e.mainAction="import-file";const c=[{guideBlockName:"click-main-menu",options:angular.extend({},{menu:"import",showIntro:!0},e)}];e.resourcePath&&c.push({guideBlockName:"download-guide-resource",options:angular.extend({},{title:""},e)});const s=i.getGuideElementSelector("import-settings-import-button");let a;return c.push({guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.content",url:"import",elementSelector:i.getGuideElementSelector("uploadRdfFileButton"),class:"upload-rdf-file-button-guide-dialog",advanceOn:void 0,show:t=>()=>{a=n.subscribe("filesForUploadSelected",o=>{(o.files||[]).some(t=>t.name===e.resourceFile)?i.isVisible(i.getGuideElementSelector("import-file-"+e.resourceFile))?i.getOrWaitFor(".confirm-duplicate-files-dialog").then(()=>t.next()):i.getOrWaitFor(s).then(()=>t.next()):o.cancel=!0})},hide:()=>()=>{a&&a()},onNextValidate:()=>Promise.allSettled([i.getOrWaitFor(".confirm-duplicate-files-dialog"),i.getOrWaitFor(i.getGuideElementSelector("import-file-"+e.resourceFile))]).then(([t,n])=>"rejected"!==t.status||"rejected"!==n.status||(i.noNextErrorToast(o,l,r,"guide.step_plugin.import_rdf_file.file-must-be-uploaded",e),!1)),onNextClick:t=>{i.getOrWaitFor(i.getGuideElementSelector("import-file-"+e.resourceFile)).then(e=>{e.click()}).catch(e=>{console.log(e)}).finally(()=>t.next())}},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.confirm_duplicate_files_dialog.content",elementSelector:i.getElementSelector(".confirm-duplicate-files-dialog .confirm-overwrite-btn"),url:"import",placement:"bottom",class:"import-file-button-guide-dialog",skipFromHistory:!0,showOn:()=>i.isVisible(i.getElementSelector(".confirm-duplicate-files-dialog")),onNextClick:()=>i.clickOnElement(".confirm-duplicate-files-dialog .confirm-overwrite-btn")(),onPreviousClick:()=>i.isVisible(i.getElementSelector(".confirm-duplicate-files-dialog"))?i.clickOnElement(".confirm-duplicate-files-dialog .cancel-btn"):Promise.resolve()},e)},{guideBlockName:"clickable-element",options:angular.extend({},{content:"guide.step_plugin.import_rdf_file.import-settings.import.button.content",elementSelector:s,placement:"top",class:"import-settings-import-file-button-guide-dialog",onPreviousClick:()=>new Promise(function(e){i.clickOnGuideElement("import-settings-cancel-button")().then(()=>e())}),beforeShowPromise:()=>t.GuideUtils.deferredShow(300)().then(()=>i.getOrWaitFor(s,3).catch(e=>(t.toastr.error(t.$translate.instant("guide.unexpected.error.message")),Promise.reject(e)))),onNextClick:()=>i.clickOnGuideElement("import-settings-import-button")(),canBePaused:!1},e)},{guideBlockName:"read-only-element",options:angular.extend({},{content:"guide.step_plugin.import_status_info.content",url:"import",elementSelector:".import-resource-message",class:"import-status-info-guide-dialog",beforeShowPromise:()=>i.isVisible(".import-resource-message")?Promise.resolve():i.waitFor(".import-resource-message",10),onPreviousClick:()=>i.getOrWaitFor(i.getGuideElementSelector("import-file-"+e.resourceFile),10).then(e=>{e.click()})},e)}),c}}])}};
|
|
2
|
+
//# sourceMappingURL=42143.1483a9470e09485cc4e4.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"42143.1483a9470e09485cc4e4.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/guides/steps/complex/import-rdf-file/plugin.js"],"sourcesContent":["PluginRegistry.add('guide.step', [\n {\n guideBlockName: 'import-rdf-file',\n getSteps: (options, services) => {\n const GuideUtils = services.GuideUtils;\n const toastr = services.toastr;\n const $translate = services.$translate;\n const $interpolate = services.$interpolate;\n const EventEmitterService = services.EventEmitterService;\n options.mainAction = 'import-file';\n\n const steps = [\n {\n guideBlockName: 'click-main-menu',\n options: angular.extend({}, {\n menu: 'import',\n showIntro: true\n }, options)\n }\n ];\n\n if (options.resourcePath) {\n steps.push(\n {\n guideBlockName: 'download-guide-resource',\n options: angular.extend({}, {\n title: ''\n }, options)\n }\n );\n }\n\n const importSettingsButtonSelector = GuideUtils.getGuideElementSelector('import-settings-import-button');\n let filesForUploadSelectedSubscription;\n steps.push(...[\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.content',\n url: 'import',\n elementSelector: GuideUtils.getGuideElementSelector('uploadRdfFileButton'),\n class: 'upload-rdf-file-button-guide-dialog',\n // Disable default behavior of service when element is clicked.\n advanceOn: undefined,\n show: (guide) => () => {\n // Subscribes to event \"filesForUploadSelected\", when the step is showing, this will give opportunity\n // to canceling uploading if user not choose correct file.\n filesForUploadSelectedSubscription = EventEmitterService.subscribe('filesForUploadSelected', ((eventData) => {\n const uploadedFiles = eventData.files || [];\n if (uploadedFiles.some((uploadedFile) => uploadedFile.name === options.resourceFile)) {\n // When tha correct file is selected, the guide can continue.\n\n // Check for duplicated name, if import button for guide rdf data exist.\n if (GuideUtils.isVisible(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile))) {\n GuideUtils.getOrWaitFor('.confirm-duplicate-files-dialog')\n .then(() => guide.next());\n } else {\n GuideUtils.getOrWaitFor(importSettingsButtonSelector)\n .then(() => guide.next());\n }\n } else {\n // Canceling the automatically uploading of files because the guide rdf file is not selected.\n eventData.cancel = true;\n }\n }));\n },\n hide: () => () => {\n if (filesForUploadSelectedSubscription) {\n filesForUploadSelectedSubscription();\n }\n },\n onNextValidate: () => {\n return Promise.allSettled([GuideUtils.getOrWaitFor('.confirm-duplicate-files-dialog'), GuideUtils.getOrWaitFor(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile))])\n .then(([confirmDialogPromise, importButtonPromise]) => {\n // There are two ways to exit this step: if the duplication dialog is opened or if the import button for the guide file is displayed.\n // The first scenario indicates that the user is trying to upload the same file,\n // while the second scenario suggests that the guide has been started more than once.\n if ('rejected' === confirmDialogPromise.status && 'rejected' === importButtonPromise.status) {\n GuideUtils.noNextErrorToast(toastr, $translate, $interpolate, 'guide.step_plugin.import_rdf_file.file-must-be-uploaded', options);\n return false;\n }\n return true;\n });\n },\n onNextClick: (guide) => {\n GuideUtils.getOrWaitFor(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile))\n .then((element) => {\n // if we have file import button for the guide rdf file, this indicates that we go through this step for second time.\n // This can happen if user start guide for second time.\n element.click();\n })\n .catch((error) => {\n // This shouldn't be happening.\n console.log(error);\n })\n .finally(() => guide.next());\n }\n }, options)\n },\n // This step is optional and will only appear if the file we want to upload has already been uploaded.\n // If the file is already uploaded, a confirmation dialog will be opened, and this step will display the confirm button of the dialog.\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.confirm_duplicate_files_dialog.content',\n elementSelector: GuideUtils.getElementSelector('.confirm-duplicate-files-dialog .confirm-overwrite-btn'),\n url: 'import',\n placement: 'bottom',\n class: 'import-file-button-guide-dialog',\n skipFromHistory: true,\n // Checks whether the confirm dialog is currently open.\n showOn: () => GuideUtils.isVisible(GuideUtils.getElementSelector('.confirm-duplicate-files-dialog')),\n onNextClick: () => GuideUtils.clickOnElement('.confirm-duplicate-files-dialog .confirm-overwrite-btn')(),\n onPreviousClick: () => {\n if (GuideUtils.isVisible(GuideUtils.getElementSelector('.confirm-duplicate-files-dialog'))) {\n return GuideUtils.clickOnElement('.confirm-duplicate-files-dialog .cancel-btn');\n }\n return Promise.resolve();\n }\n }, options)\n },\n {\n guideBlockName: 'clickable-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_rdf_file.import-settings.import.button.content',\n elementSelector: importSettingsButtonSelector,\n placement: 'top',\n class: 'import-settings-import-file-button-guide-dialog',\n onPreviousClick: () => new Promise(function (resolve) {\n GuideUtils.clickOnGuideElement('import-settings-cancel-button')()\n .then(() => resolve());\n }),\n beforeShowPromise: () => services.GuideUtils.deferredShow(300)()\n .then(() => GuideUtils.getOrWaitFor(importSettingsButtonSelector, 3)\n .catch((error) => {\n services.toastr.error(services.$translate.instant('guide.unexpected.error.message'));\n return Promise.reject(error);\n })\n ),\n onNextClick: () => GuideUtils.clickOnGuideElement('import-settings-import-button')(),\n canBePaused: false\n }, options)\n },\n {\n guideBlockName: 'read-only-element',\n options: angular.extend({}, {\n content: 'guide.step_plugin.import_status_info.content',\n url: 'import',\n elementSelector: '.import-resource-message',\n class: 'import-status-info-guide-dialog',\n beforeShowPromise: () => {\n if (GuideUtils.isVisible('.import-resource-message')) {\n return Promise.resolve();\n }\n return GuideUtils.waitFor('.import-resource-message', 10);\n },\n onPreviousClick: () => GuideUtils.getOrWaitFor(GuideUtils.getGuideElementSelector('import-file-' + options.resourceFile), 10)\n .then((element) => { element.click() })\n }, options)\n }\n ]);\n\n return steps;\n }\n }\n]);\n"],"names":["PluginRegistry","add","guideBlockName","getSteps","options","services","GuideUtils","toastr","$translate","$interpolate","EventEmitterService","mainAction","steps","angular","extend","menu","showIntro","resourcePath","push","title","importSettingsButtonSelector","getGuideElementSelector","filesForUploadSelectedSubscription","content","url","elementSelector","class","advanceOn","undefined","show","guide","subscribe","eventData","files","some","uploadedFile","name","resourceFile","isVisible","getOrWaitFor","then","next","cancel","hide","onNextValidate","Promise","allSettled","confirmDialogPromise","importButtonPromise","status","noNextErrorToast","onNextClick","element","click","catch","error","console","log","finally","getElementSelector","placement","skipFromHistory","showOn","clickOnElement","onPreviousClick","resolve","clickOnGuideElement","beforeShowPromise","deferredShow","instant","reject","canBePaused","waitFor"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=44444;export const __webpack_ids__=[44444];export const __webpack_modules__={44444:(t,e,a)=>{a.r(e),a.d(e,{default:()=>s});const s='<link href="css/ttyg/no-agents-view.css?v=3.1.0-
|
|
2
|
-
//# sourceMappingURL=44444.
|
|
1
|
+
export const __webpack_id__=44444;export const __webpack_ids__=[44444];export const __webpack_modules__={44444:(t,e,a)=>{a.r(e),a.d(e,{default:()=>s});const s='<link href="css/ttyg/no-agents-view.css?v=3.1.0-TR13" rel="stylesheet"/> <div class="no-agents-view-component" data-test="no-agents-view-component"> <div class="content"> <div class="alert alert-help mb-3" data-test="ttyg-info-message" ng-bind-html="\'ttyg.agent.messages.help_1\' | translate | trustAsHtml"></div> <div class="alert alert-help mb-3" data-test="ttyg-agent-message" ng-bind-html="\'ttyg.agent.messages.help_2\' | translate | trustAsHtml"></div> <div class="actions"> <button class="btn btn-outline-primary btn-lg text-xs-left create-agent-btn" gdb-tooltip="{{!canModifyAgent ? (\'ttyg.agent.fat_btn.create_agent.tooltip_disabled\' | translate) : \'\'}}" ng-disabled="!canModifyAgent" ng-click="onCreateAgent()" guide-selector="create-agent-btn"> <i class="fa fa-message-bot fa-xl"></i> <span class="text">{{\'ttyg.agent.fat_btn.create_agent.label\' | translate}}</span> </button> </div> <div class="alert alert-warning mt-3" data-test="ttyg-api-key-message"> <div ng-bind-html="\'ttyg.agent.messages.help_config\' | translate: {talkToGraphDocumentationLink: talkToGraphDocumentationLink} | trustAsHtml"></div> </div> </div> </div> '}};
|
|
2
|
+
//# sourceMappingURL=44444.153ba656276a2f1bfdc3.bundle.js.map
|