graphdb-workbench 3.1.1 → 3.2.0-TR1
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/README.md +45 -0
- package/dist/10142.f47cd2aec05492fce7ce.bundle.js +2 -0
- package/dist/10142.f47cd2aec05492fce7ce.bundle.js.map +1 -0
- package/dist/10406.52677950658780fd8859.bundle.js +2 -0
- package/dist/{10406.7fed4b667b0d2813b305.bundle.js.map → 10406.52677950658780fd8859.bundle.js.map} +1 -1
- package/dist/12358.2061f29dc113149946a3.bundle.js +3 -0
- package/dist/12358.2061f29dc113149946a3.bundle.js.map +1 -0
- package/dist/12396.4c26c8da50c790b0f39a.bundle.js +2 -0
- package/dist/12396.4c26c8da50c790b0f39a.bundle.js.map +1 -0
- package/dist/14874.d6973a34188c0335fa12.bundle.js +2 -0
- package/dist/14874.d6973a34188c0335fa12.bundle.js.map +1 -0
- package/dist/15535.ce8d657c04f3401b9539.bundle.js +2 -0
- package/dist/15535.ce8d657c04f3401b9539.bundle.js.map +1 -0
- package/dist/16162.8f482628d1b34d41d496.bundle.js +2 -0
- package/dist/16162.8f482628d1b34d41d496.bundle.js.map +1 -0
- package/dist/{18961.d83ba5fd0855f3cfa7d7.bundle.js → 18961.c6505525fb0491b48f8b.bundle.js} +2 -2
- package/dist/{18961.d83ba5fd0855f3cfa7d7.bundle.js.map → 18961.c6505525fb0491b48f8b.bundle.js.map} +1 -1
- package/dist/19968.fdb823f9a12e11a633ec.bundle.js +2 -0
- package/dist/19968.fdb823f9a12e11a633ec.bundle.js.map +1 -0
- package/dist/20287.c42f9d1d913c36e46931.bundle.js +2 -0
- package/dist/20287.c42f9d1d913c36e46931.bundle.js.map +1 -0
- package/dist/20694.70b6e390d6397249c72d.bundle.js.map +1 -1
- package/dist/21136.199caea09a1c9ad90393.bundle.js +2 -0
- package/dist/21136.199caea09a1c9ad90393.bundle.js.map +1 -0
- package/dist/21142.b690e00c8884fddb2bb3.bundle.js +2 -0
- package/dist/21142.b690e00c8884fddb2bb3.bundle.js.map +1 -0
- package/dist/21170.d5e3041241741d21080c.bundle.js +2 -0
- package/dist/21170.d5e3041241741d21080c.bundle.js.map +1 -0
- package/dist/21195.267abc9d42b711d0f17a.bundle.js +2 -0
- package/dist/21195.267abc9d42b711d0f17a.bundle.js.map +1 -0
- package/dist/25747.4e00941ec221c4d6ce8f.bundle.js +2 -0
- package/dist/25747.4e00941ec221c4d6ce8f.bundle.js.map +1 -0
- package/dist/27580.f71ebbc69dd1c7785ef3.bundle.js +2 -0
- package/dist/27580.f71ebbc69dd1c7785ef3.bundle.js.map +1 -0
- package/dist/28050.8ca1fa760c892bfc5466.bundle.js +2 -0
- package/dist/28050.8ca1fa760c892bfc5466.bundle.js.map +1 -0
- package/dist/31636.e34ccc2d6f2dec577446.bundle.js +2 -0
- package/dist/31636.e34ccc2d6f2dec577446.bundle.js.map +1 -0
- package/dist/32489.97fac2c3daa49b143d13.bundle.js +2 -0
- package/dist/32489.97fac2c3daa49b143d13.bundle.js.map +1 -0
- package/dist/32534.fb6ef715bfb44761ec63.bundle.js +2 -0
- package/dist/32534.fb6ef715bfb44761ec63.bundle.js.map +1 -0
- package/dist/34495.cfa15bda8009fa37c6ff.bundle.js +2 -0
- package/dist/34495.cfa15bda8009fa37c6ff.bundle.js.map +1 -0
- package/dist/{38360.437a12fa59878d1d43b9.bundle.js → 38360.0a90e77042876c86b279.bundle.js} +2 -2
- package/dist/38360.0a90e77042876c86b279.bundle.js.map +1 -0
- package/dist/38412.fa86361561ffa367709f.bundle.js +2 -0
- package/dist/38412.fa86361561ffa367709f.bundle.js.map +1 -0
- package/dist/38644.3a0954c798ec413a3810.bundle.js +2 -0
- package/dist/38644.3a0954c798ec413a3810.bundle.js.map +1 -0
- package/dist/38843.5ef7a063337524ce3bb2.bundle.js +2 -0
- package/dist/38843.5ef7a063337524ce3bb2.bundle.js.map +1 -0
- package/dist/39518.4199684f3273d29d9105.bundle.js +2 -0
- package/dist/{39518.0ee809a85c83dba1f56a.bundle.js.map → 39518.4199684f3273d29d9105.bundle.js.map} +1 -1
- package/dist/39539.c23e4878044d73f2505b.bundle.js +2 -0
- package/dist/39539.c23e4878044d73f2505b.bundle.js.map +1 -0
- package/dist/{39874.c2d7cab1a65e5a869e78.bundle.js → 39874.f94a5059e1ae4f4a87e9.bundle.js} +2 -2
- package/dist/39874.f94a5059e1ae4f4a87e9.bundle.js.map +1 -0
- package/dist/41453.8bb4c783da2c5077a6e9.bundle.js +2 -0
- package/dist/41453.8bb4c783da2c5077a6e9.bundle.js.map +1 -0
- package/dist/42129.f44b7b20f9cd376c6e59.bundle.js +2 -0
- package/dist/42129.f44b7b20f9cd376c6e59.bundle.js.map +1 -0
- package/dist/44444.ad66c8256bc5b653de1a.bundle.js +2 -0
- package/dist/44444.ad66c8256bc5b653de1a.bundle.js.map +1 -0
- package/dist/44874.5854c207bbe2c4f2438e.bundle.js +2 -0
- package/dist/44874.5854c207bbe2c4f2438e.bundle.js.map +1 -0
- package/dist/45149.2f77aa736bbfb13fd987.bundle.js +2 -0
- package/dist/45149.2f77aa736bbfb13fd987.bundle.js.map +1 -0
- package/dist/45758.6ceb731cbe0576149f31.bundle.js +2 -0
- package/dist/45758.6ceb731cbe0576149f31.bundle.js.map +1 -0
- package/dist/{46591.ac9d19fd699104a9ed9b.bundle.js → 46591.0b142aa76a8991a89848.bundle.js} +2 -2
- package/dist/46591.0b142aa76a8991a89848.bundle.js.map +1 -0
- package/dist/55862.1fb5abd075ba11a7e93c.bundle.js +2 -0
- package/dist/55862.1fb5abd075ba11a7e93c.bundle.js.map +1 -0
- package/dist/58306.ba9545cbaee021ebcbce.bundle.js +2 -0
- package/dist/58306.ba9545cbaee021ebcbce.bundle.js.map +1 -0
- package/dist/{60560.024578077d95b851beea.bundle.js → 60560.37740d97b418899a5d21.bundle.js} +2 -2
- package/dist/{60560.024578077d95b851beea.bundle.js.map → 60560.37740d97b418899a5d21.bundle.js.map} +1 -1
- package/dist/67232.e76f40f9d09e64ebb365.bundle.js.map +1 -1
- package/dist/67888.7d4966e0a22ba655f1b8.bundle.js +2 -0
- package/dist/67888.7d4966e0a22ba655f1b8.bundle.js.map +1 -0
- package/dist/72379.bac50d0011665a85b6cd.bundle.js +2 -0
- package/dist/72379.bac50d0011665a85b6cd.bundle.js.map +1 -0
- package/dist/73667.3dd4f377e7ef54fd8758.bundle.js +2 -0
- package/dist/73667.3dd4f377e7ef54fd8758.bundle.js.map +1 -0
- package/dist/73779.193df86f08e3a1d06d67.bundle.js +2 -0
- package/dist/73779.193df86f08e3a1d06d67.bundle.js.map +1 -0
- package/dist/73793.6d80d47c26ed60a587fd.bundle.js +2 -0
- package/dist/73793.6d80d47c26ed60a587fd.bundle.js.map +1 -0
- package/dist/75282.88819e851ed18720b275.bundle.js +2 -0
- package/dist/75282.88819e851ed18720b275.bundle.js.map +1 -0
- package/dist/75849.51ade15bf0074eab76f3.bundle.js +2 -0
- package/dist/75849.51ade15bf0074eab76f3.bundle.js.map +1 -0
- package/dist/78013.e32fade7ad42b64c8122.bundle.js +2 -0
- package/dist/78013.e32fade7ad42b64c8122.bundle.js.map +1 -0
- package/dist/78250.6db42146a120459280e4.bundle.js +2 -0
- package/dist/78250.6db42146a120459280e4.bundle.js.map +1 -0
- package/dist/{78681.e44a1eb1dce4a8a29f57.bundle.js → 78681.39694d37c0f75ea04df6.bundle.js} +2 -2
- package/dist/{78681.e44a1eb1dce4a8a29f57.bundle.js.map → 78681.39694d37c0f75ea04df6.bundle.js.map} +1 -1
- package/dist/79329.5a5cbfa466d1c62af915.bundle.js +2 -0
- package/dist/79329.5a5cbfa466d1c62af915.bundle.js.map +1 -0
- package/dist/82206.8ec983edcf675cfd4531.bundle.js +2 -0
- package/dist/82206.8ec983edcf675cfd4531.bundle.js.map +1 -0
- package/dist/82896.9aed45baf67510717c6f.bundle.js +2 -0
- package/dist/82896.9aed45baf67510717c6f.bundle.js.map +1 -0
- package/dist/{82926.f625cc022724426fb8fb.bundle.js → 82926.93dbf44f2bcccba34e9b.bundle.js} +2 -2
- package/dist/{82926.f625cc022724426fb8fb.bundle.js.map → 82926.93dbf44f2bcccba34e9b.bundle.js.map} +1 -1
- package/dist/85281.27b5a1eb8e7ac2cf8459.bundle.js +2 -0
- package/dist/85281.27b5a1eb8e7ac2cf8459.bundle.js.map +1 -0
- package/dist/{88206.fbbcf8ccd9460c579e87.bundle.js → 88206.28c337e2edbf17928836.bundle.js} +2 -2
- package/dist/88206.28c337e2edbf17928836.bundle.js.map +1 -0
- package/dist/9062.d9049833d076191d3e1a.bundle.js +2 -0
- package/dist/9062.d9049833d076191d3e1a.bundle.js.map +1 -0
- package/dist/99379.be6c85ef305af6667dc1.bundle.js +2 -0
- package/dist/99379.be6c85ef305af6667dc1.bundle.js.map +1 -0
- package/dist/99448.314018d0afb1af150ddf.bundle.js +2 -0
- package/dist/99448.314018d0afb1af150ddf.bundle.js.map +1 -0
- package/dist/api/error/error-base.d.ts +1 -1
- package/dist/api/ontotext-workbench-api.js +1 -1
- package/dist/api/ontotext-workbench-api.js.map +1 -1
- package/dist/i18n/locale-en.json +31 -0
- package/dist/i18n/locale-fr.json +31 -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 +4 -3
- 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 +2 -2
- 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.57fc12c172f6350ac4c5.js +3 -0
- package/dist/{legacyWorkbench.ad1d42d21ac42beabeb4.js.map → legacyWorkbench.57fc12c172f6350ac4c5.js.map} +1 -1
- package/dist/{main.400f2248f076a2d31d80.js → main.b9a83da68ffc43c91de0.js} +3 -3
- package/dist/{main.400f2248f076a2d31d80.js.map → main.b9a83da68ffc43c91de0.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/css/onto-theme.css +1 -1
- package/dist/res/swagger5/index.html +11 -11
- package/dist/shared-components/cjs/onto-cookie-consent_2.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-dialog_2.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-dropdown.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-footer_6.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-language-selector_9.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/onto-layout.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/translate-label.cjs.entry.js +1 -1
- package/dist/shared-components/collection/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.js +1 -1
- package/dist/shared-components/collection/components/dialogs/onto-dialog.js +1 -1
- package/dist/shared-components/collection/components/onto-cookie-consent/onto-cookie-consent.js +1 -1
- package/dist/shared-components/collection/components/onto-dropdown/onto-dropdown.js +1 -1
- package/dist/shared-components/collection/components/onto-footer/onto-footer.js +1 -1
- package/dist/shared-components/collection/components/onto-header/onto-header.js +1 -1
- package/dist/shared-components/collection/components/onto-language-selector/onto-language-selector.js +1 -1
- package/dist/shared-components/collection/components/onto-layout/onto-layout.js +1 -1
- package/dist/shared-components/collection/components/onto-navbar/navbar-model.js +1 -1
- package/dist/shared-components/collection/components/onto-navbar/navbar-service.js +1 -1
- package/dist/shared-components/collection/components/onto-operations-notification/onto-operations-notification.js +1 -1
- package/dist/shared-components/collection/components/onto-rdf-search/onto-rdf-search.js +1 -1
- package/dist/shared-components/collection/components/onto-repository-selector/onto-repository-selector.js +1 -1
- package/dist/shared-components/collection/components/onto-search-icon/onto-search-icon.js +1 -1
- package/dist/shared-components/collection/components/onto-search-resource-input/onto-search-resource-input.js +1 -1
- package/dist/shared-components/collection/components/onto-toastr/onto-toastr.js +1 -1
- package/dist/shared-components/collection/components/onto-toggle-switch/onto-toggle-switch.js +1 -1
- package/dist/shared-components/collection/components/onto-tooltip/onto-tooltip.js +1 -1
- package/dist/shared-components/collection/components/translate-label/translate-label.js +1 -1
- package/dist/shared-components/esm/onto-cookie-consent_2.entry.js +1 -1
- package/dist/shared-components/esm/onto-dialog_2.entry.js +1 -1
- package/dist/shared-components/esm/onto-dropdown.entry.js +1 -1
- package/dist/shared-components/esm/onto-footer_6.entry.js +1 -1
- package/dist/shared-components/esm/onto-language-selector_9.entry.js +1 -1
- package/dist/shared-components/esm/onto-layout.entry.js +1 -1
- package/dist/shared-components/esm/translate-label.entry.js +1 -1
- package/dist/shared-components/shared-components/p-17bac1e3.entry.js +1 -0
- package/dist/shared-components/shared-components/p-1bc2ac8e.entry.js +1 -0
- package/dist/shared-components/shared-components/p-2433b25f.entry.js +1 -0
- package/dist/shared-components/shared-components/p-25fa0ee5.entry.js +1 -0
- package/dist/shared-components/shared-components/{p-a4e82a3f.entry.js → p-6266be98.entry.js} +1 -1
- package/dist/shared-components/shared-components/{p-eed8b067.entry.js → p-91ad7f7f.entry.js} +1 -1
- package/dist/shared-components/shared-components/p-aef0b970.entry.js +1 -0
- package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
- package/dist/shared-components/types/components/onto-dropdown/onto-dropdown.d.ts +2 -2
- package/dist/shared-components/types/components/onto-navbar/navbar-model.d.ts +4 -1
- package/dist/shared-components/types/components/onto-navbar/navbar-toggled-event.d.ts +1 -1
- package/dist/shared-components/types/components/onto-navbar/onto-navbar.d.ts +2 -2
- package/dist/shared-components/types/components/onto-test-context/onto-test-context.d.ts +23 -23
- package/dist/shared-components/types/components/onto-tooltip/models/onto-tooltip-configuration.d.ts +1 -2
- package/dist/shared-components/types/components.d.ts +4 -4
- package/dist/shared-components/types/models/component-event.d.ts +1 -1
- package/dist/shared-components/types/utils/function-utils.d.ts +1 -1
- package/dist/shared-components/types/utils/tooltip-util.d.ts +2 -2
- package/dist/workbench/workbench/workbenchApp.js +1 -1
- package/package.json +8 -2
- package/dist/10142.6a276ff32f58aa4d1b72.bundle.js +0 -2
- package/dist/10142.6a276ff32f58aa4d1b72.bundle.js.map +0 -1
- package/dist/10153.1532fddd43604bf408c3.bundle.js +0 -2
- package/dist/10153.1532fddd43604bf408c3.bundle.js.map +0 -1
- package/dist/10406.7fed4b667b0d2813b305.bundle.js +0 -2
- package/dist/12358.736ea9c178c92655de3a.bundle.js +0 -3
- package/dist/12358.736ea9c178c92655de3a.bundle.js.map +0 -1
- package/dist/12396.47201b3f37dcfe963353.bundle.js +0 -2
- package/dist/12396.47201b3f37dcfe963353.bundle.js.map +0 -1
- package/dist/14874.17bc671b6ff6123b9eb1.bundle.js +0 -2
- package/dist/14874.17bc671b6ff6123b9eb1.bundle.js.map +0 -1
- package/dist/15535.e3d3f8071a4cc462b5eb.bundle.js +0 -2
- package/dist/15535.e3d3f8071a4cc462b5eb.bundle.js.map +0 -1
- package/dist/16162.bc70365c3f546e70a3e9.bundle.js +0 -2
- package/dist/16162.bc70365c3f546e70a3e9.bundle.js.map +0 -1
- package/dist/20287.c3d0095a3a5f18cd0087.bundle.js +0 -2
- package/dist/20287.c3d0095a3a5f18cd0087.bundle.js.map +0 -1
- package/dist/21136.fb6d69cd9e6dd31a65b2.bundle.js +0 -2
- package/dist/21136.fb6d69cd9e6dd31a65b2.bundle.js.map +0 -1
- package/dist/21142.0589f58f1a3b49b4fcfa.bundle.js +0 -2
- package/dist/21142.0589f58f1a3b49b4fcfa.bundle.js.map +0 -1
- package/dist/21170.8126948c956555b4f9ff.bundle.js +0 -2
- package/dist/21170.8126948c956555b4f9ff.bundle.js.map +0 -1
- package/dist/21195.77df14ed68c1f286839a.bundle.js +0 -2
- package/dist/21195.77df14ed68c1f286839a.bundle.js.map +0 -1
- package/dist/25747.612b1bce6250300d137f.bundle.js +0 -2
- package/dist/25747.612b1bce6250300d137f.bundle.js.map +0 -1
- package/dist/27580.88bc1444d863327a3697.bundle.js +0 -2
- package/dist/27580.88bc1444d863327a3697.bundle.js.map +0 -1
- package/dist/28050.1359d262b2e2c497ad6d.bundle.js +0 -2
- package/dist/28050.1359d262b2e2c497ad6d.bundle.js.map +0 -1
- package/dist/31636.625df78d380dadd69c07.bundle.js +0 -2
- package/dist/31636.625df78d380dadd69c07.bundle.js.map +0 -1
- package/dist/32489.5f438460389d65300913.bundle.js +0 -2
- package/dist/32489.5f438460389d65300913.bundle.js.map +0 -1
- package/dist/32534.73081e468e918a03bd70.bundle.js +0 -2
- package/dist/32534.73081e468e918a03bd70.bundle.js.map +0 -1
- package/dist/32606.376e14770ba6e81b7159.bundle.js +0 -2
- package/dist/32606.376e14770ba6e81b7159.bundle.js.map +0 -1
- package/dist/34495.e0f8e26f32d7d8def627.bundle.js +0 -2
- package/dist/34495.e0f8e26f32d7d8def627.bundle.js.map +0 -1
- package/dist/38360.437a12fa59878d1d43b9.bundle.js.map +0 -1
- package/dist/38412.85b4c12f5ed5ffb6e4dd.bundle.js +0 -2
- package/dist/38412.85b4c12f5ed5ffb6e4dd.bundle.js.map +0 -1
- package/dist/38644.6e82d4276df028701834.bundle.js +0 -2
- package/dist/38644.6e82d4276df028701834.bundle.js.map +0 -1
- package/dist/38843.428e7caf2e6805840b83.bundle.js +0 -2
- package/dist/38843.428e7caf2e6805840b83.bundle.js.map +0 -1
- package/dist/39518.0ee809a85c83dba1f56a.bundle.js +0 -2
- package/dist/39539.2a03bf4161ee846817d3.bundle.js +0 -2
- package/dist/39539.2a03bf4161ee846817d3.bundle.js.map +0 -1
- package/dist/39874.c2d7cab1a65e5a869e78.bundle.js.map +0 -1
- package/dist/41453.5370acf9540ff5382268.bundle.js +0 -2
- package/dist/41453.5370acf9540ff5382268.bundle.js.map +0 -1
- package/dist/42129.02f0b477c276dceb732c.bundle.js +0 -2
- package/dist/42129.02f0b477c276dceb732c.bundle.js.map +0 -1
- package/dist/44444.57b74adca89db793b77c.bundle.js +0 -2
- package/dist/44444.57b74adca89db793b77c.bundle.js.map +0 -1
- package/dist/44874.60bab9adf89019b35654.bundle.js +0 -2
- package/dist/44874.60bab9adf89019b35654.bundle.js.map +0 -1
- package/dist/45758.4e363b98020c3460b4ff.bundle.js +0 -2
- package/dist/45758.4e363b98020c3460b4ff.bundle.js.map +0 -1
- package/dist/46591.ac9d19fd699104a9ed9b.bundle.js.map +0 -1
- package/dist/55862.81467f263f3c46d9d889.bundle.js +0 -2
- package/dist/55862.81467f263f3c46d9d889.bundle.js.map +0 -1
- package/dist/58163.747b20ea052b22b24bd0.bundle.js +0 -2
- package/dist/58163.747b20ea052b22b24bd0.bundle.js.map +0 -1
- package/dist/58306.0ca44cc562ab1135c44b.bundle.js +0 -2
- package/dist/58306.0ca44cc562ab1135c44b.bundle.js.map +0 -1
- package/dist/67888.cc78716f885f98366859.bundle.js +0 -2
- package/dist/67888.cc78716f885f98366859.bundle.js.map +0 -1
- package/dist/72379.4023fb8f5c0dd8f32faa.bundle.js +0 -2
- package/dist/72379.4023fb8f5c0dd8f32faa.bundle.js.map +0 -1
- package/dist/73667.6925315f2649c49bade2.bundle.js +0 -2
- package/dist/73667.6925315f2649c49bade2.bundle.js.map +0 -1
- package/dist/73779.c4608b73b63083cb3352.bundle.js +0 -2
- package/dist/73779.c4608b73b63083cb3352.bundle.js.map +0 -1
- package/dist/73793.0cd99844e3792d5beb8c.bundle.js +0 -2
- package/dist/73793.0cd99844e3792d5beb8c.bundle.js.map +0 -1
- package/dist/75282.1005c493f43b9d6dcc5a.bundle.js +0 -2
- package/dist/75282.1005c493f43b9d6dcc5a.bundle.js.map +0 -1
- package/dist/75849.39b30ee4eb2f1b35f762.bundle.js +0 -2
- package/dist/75849.39b30ee4eb2f1b35f762.bundle.js.map +0 -1
- package/dist/78250.8462f5662da1fd9ece0b.bundle.js +0 -2
- package/dist/78250.8462f5662da1fd9ece0b.bundle.js.map +0 -1
- package/dist/79329.cd81f51fd3aed8ca8359.bundle.js +0 -2
- package/dist/79329.cd81f51fd3aed8ca8359.bundle.js.map +0 -1
- package/dist/82206.b3b37c3e0cc1aa18148c.bundle.js +0 -2
- package/dist/82206.b3b37c3e0cc1aa18148c.bundle.js.map +0 -1
- package/dist/85281.049ddec87de0b8b07e79.bundle.js +0 -2
- package/dist/85281.049ddec87de0b8b07e79.bundle.js.map +0 -1
- package/dist/88206.fbbcf8ccd9460c579e87.bundle.js.map +0 -1
- package/dist/9062.2b577ad9fc05b48b64a3.bundle.js +0 -2
- package/dist/9062.2b577ad9fc05b48b64a3.bundle.js.map +0 -1
- package/dist/99379.d5dffb14dd46150e91f9.bundle.js +0 -2
- package/dist/99379.d5dffb14dd46150e91f9.bundle.js.map +0 -1
- package/dist/99448.98a68cbf8bf84857b615.bundle.js +0 -2
- package/dist/99448.98a68cbf8bf84857b615.bundle.js.map +0 -1
- package/dist/legacyWorkbench.ad1d42d21ac42beabeb4.js +0 -3
- package/dist/shared-components/shared-components/p-106d7df8.entry.js +0 -1
- package/dist/shared-components/shared-components/p-17ce51bb.entry.js +0 -1
- package/dist/shared-components/shared-components/p-306527cc.entry.js +0 -1
- package/dist/shared-components/shared-components/p-96e87635.entry.js +0 -1
- package/dist/shared-components/shared-components/p-af359495.entry.js +0 -1
- /package/dist/{12358.736ea9c178c92655de3a.bundle.js.LICENSE.txt → 12358.2061f29dc113149946a3.bundle.js.LICENSE.txt} +0 -0
- /package/dist/{legacyWorkbench.ad1d42d21ac42beabeb4.js.LICENSE.txt → legacyWorkbench.57fc12c172f6350ac4c5.js.LICENSE.txt} +0 -0
- /package/dist/{main.400f2248f076a2d31d80.js.LICENSE.txt → main.b9a83da68ffc43c91de0.js.LICENSE.txt} +0 -0
- /package/dist/shared-components/cjs/{tooltip-util-CmDLnWqH.js → tooltip-util-CnEXLMnw.js} +0 -0
- /package/dist/shared-components/esm/{tooltip-util-C1So-qrf.js → tooltip-util-BqOc8q8q.js} +0 -0
- /package/dist/shared-components/shared-components/{p-Bisudk7O.js → p-DzOPDgzQ.js} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=27580;export const __webpack_ids__=[27580];export const __webpack_modules__={27580:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});const o='<link href="css/cluster-nodes-configuration.css?v=3.1.1" rel="stylesheet"/> <div onto-loader-new ng-if="loader" class="create-cluster-loader" message="getLoaderMessage" size="100"></div> <div class="add-node-wrapper pull-right mb-1"> <button ng-click="addNode()" ng-disabled="editedNodeIndex !== undefined" class="btn btn-primary add-node-btn" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip\' | translate}}"> <i class="fa fa-plus"></i> {{\'cluster_management.update_cluster_group_dialog.actions.add_node\' | translate}} </button> </div> <div class="table-responsive"> <form name="form" id="updateClusterGroupForm"> <table class="cluster-group table table-striped table-hover cluster-group-table" aria-describedby="cluster group table"> <thead> <tr class="labels-row"> <th scope="col" class="index-column"> {{\'cluster_management.update_cluster_group_dialog.column.index\' | translate}} </th> <th scope="col" class="location-column"> {{\'cluster_management.update_cluster_group_dialog.column.location\' | translate}} </th> <th scope="col" class="info-column"> {{\'cluster_management.update_cluster_group_dialog.column.info\' | translate}} </th> <th scope="col" class="status-column"> {{\'cluster_management.update_cluster_group_dialog.column.status\' | translate}} </th> <th scope="col" class="empty-column"></th> <th scope="col" class="actions-column"></th> </tr> </thead> <tbody> <tr ng-if="!viewModel.length"> <td colspan="5" class="no-data"> {{\'cluster_management.update_cluster_group_dialog.messages.no_cluster\' | translate}} </td> </tr> <tr ng-repeat-start="node in viewModel track by $index" ng-if="0"></tr> <tr ng-if="$index !== editedNodeIndex" class="node preview-node-row" data-endpoint="{{node.endpoint}}" capture-height="$index" ng-class="{\'selected\': $index === selectedNode || $index === editedNodeIndex}"> <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td> <td class="location-cell data" ng-class="{\'deleting\': node.isDeleted, \'adding\': !node.item.address}"> <div class="location-item" id="endpoint-{{::node.index}}"> <span class="text-only">{{node.item.endpoint}}</span> <copy-to-clipboard text-to-copy="{{node.item.endpoint}}" custom-tooltip-style="true" ng-attr-target-selector="#endpoint-{{::node.index}}" custom-tooltip-text="{{\'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip\' | translate}}"></copy-to-clipboard> </div> </td> <td class="info-cell data"> <span ng-if="node.isLocal"> {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span> </span> <span ng-if="node.item.nodeState"> {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class="status-cell data"> <div ng-if="!node.item.address" class="adding"> <i class="fa fa-circle-check status-icon"></i> {{\'cluster_management.update_cluster_group_dialog.new_node\' | translate}} </div> <div ng-if="node.isDeleted" class="deleting"> <i class="fa fa-xmark status-icon"></i> {{\'cluster_management.update_cluster_group_dialog.deleted_node\' | translate}} </div> </td> <td class="empty-cell"></td> <td class="actions-cell"> <div ng-if="editedNodeIndex === undefined && !node.isDeleted" class="actions-group"> <button ng-click="deleteNode($index, node)" ng-disabled="(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)" class="btn btn-link delete-node-btn secondary" gdb-tooltip="{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n (\'cluster_management.update_cluster_group_dialog.actions.delete_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_delete_node\' | translate) }}" title-class="delete-node-tooltip"> <i class="fa fa-xmark"></i> </button> <button ng-click="replaceNode($index, node)" class="btn btn-link replace-node-btn" ng-disabled="!hasCluster && node.isLocal" gdb-tooltip="{{hasCluster || !node.isLocal ?\n (\'cluster_management.update_cluster_group_dialog.actions.replace_node\' | translate) :\n (\'cluster_management.update_cluster_group_dialog.actions.cannot_replace_node\' | translate) }}"> <i class="fa fa-arrow-right-arrow-left"></i> </button> </div> <div ng-if="editedNodeIndex === undefined && node.isDeleted" class="actions-group"> <button ng-click="restoreNode(node)" class="btn btn-link restore-node-btn secondary" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.restore_node\' | translate}}"> <i class="fa fa-rotate-left"></i> </button> </div> </td> </tr> <tr ng-if="$index === editedNodeIndex" class="node edit-node-row" data-endpoint="{{node.endpoint}}" style="" ng-class="{\'selected table-info\': $index === editedNodeIndex}"> <td class="index-cell"><span ng-if="!node.isDeleted">{{node.index + 1}}</span></td> <td class="data location-cell"> <div class="autocomplete-container"> <input type="text" name="location" required ng-model="node.endpoint" ng-change="filterSuggestions(node)" ng-blur="hideSuggestions(node)" ng-click="filterSuggestions(node)" ng-keydown="handleKeydown($event, form.location.$valid, node.endpoint)" auto-grow validate-url exclude="/repositories" exclude-protocol="ftp,ftps" validate-duplicate-url excluded-urls="clusterNodesEndpoints" allow-empty="false" class="form-control form-control-sm textarea-edit" uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}" tooltip-placement="top" placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}"> <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown"> <li ng-repeat="suggestion in suggestions" ng-mouseup="selectSuggestion(node, suggestion)"> {{ suggestion }} </li> </ul> </div> </td> <td class="info-cell data"> <span ng-if="node.isLocal"> {{\'cluster_management.update_cluster_group_dialog.current_node\' | translate}}<span ng-if="node.item.nodeState">, </span> </span> <span ng-if="node.item.nodeState"> {{ (\'cluster_management.update_cluster_group_dialog.\' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class="status-cell"></td> <td class="empty-cell"></td> <td class="actions-cell"> <div class="crud-actions-group"> <button ng-click="cancel()" class="btn btn-link cancel-node-replace-btn secondary" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}"> <i class="fa fa-xmark"></i> </button> <button ng-click="saveNode(node.endpoint)" class="btn btn-link save-rule-btn" ng-disabled="!form.location.$valid" gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}"> <i class="fa fa-check"></i> </button> </div> </td> </tr> <tr ng-repeat-end ng-if="0"></tr> <tr ng-if="addNewLocation" class="node edit-node-row"> <td class="index-cell"></td> <td class="data location-cell"> <div class="autocomplete-container"> <input type="text" name="location" required ng-model="newLocation.endpoint" ng-change="filterSuggestions(newLocation)" ng-blur="hideSuggestions(newLocation)" ng-click="filterSuggestions(newLocation)" ng-keydown="handleKeydown($event, form.location.$valid, newLocation.endpoint)" auto-grow validate-url exclude="/repositories" exclude-protocol="ftp,ftps" validate-duplicate-url excluded-urls="clusterNodesEndpoints" allow-empty="false" class="form-control form-control-sm textarea-edit" uib-tooltip="{{\'remote.location.enter.url.msg\' | translate}}" tooltip-placement="top" placeholder="{{\'cluster_management.update_cluster_group_dialog.field_placeholders.location\' | translate}}"> <ul ng-show="suggestions.length > 0 && showDropdown" class="autocomplete-dropdown"> <li ng-repeat="suggestion in suggestions" ng-mouseup="selectSuggestion(newLocation, suggestion)"> {{ suggestion }} </li> </ul> </div> </td> <td class="info-cell data"></td> <td class="status-cell"></td> <td class="empty-cell"></td> <td class="actions-cell"> <div class="crud-actions-group"> <button ng-click="cancel()" class="btn btn-link cancel-node-replace-btn secondary" gdb-tooltip="{{\'cluster_management.update_cluster_group_dialog.actions.cancel\' | translate}}"> <i class="fa fa-xmark"></i> </button> <button ng-click="saveNode(newLocation.endpoint)" class="btn btn-link save-rule-btn" ng-disabled="!form.location.$valid" gdb-tooltip="{{form.location.$valid ? \'cluster_management.update_cluster_group_dialog.actions.add_node\' : \'cluster_management.update_cluster_group_dialog.messages.invalid_form\' | translate}}"> <i class="fa fa-check"></i> </button> </div> </td> </tr> </tbody> </table> <div class="errors"> <div class="error-message" ng-show="form.location.$error.validUrl && !form.location.$pristine"> * {{\'valid.remote.location.warning\' | translate}} http://server.example.com:7200/. </div> <div class="error-message" ng-show="form.location.$error.duplicateUrl && !form.location.$pristine"> * {{\'duplicate.remote.location.warning\' | translate}} </div> <div ng-repeat="error in errors" class="error-message"> {{error}} </div> </div> <div class="form-horizontal" ng-if="!hasCluster"> <div class="form-group"> <div class="indented-div"> <span class="padding-label wrapper-div" gdb-tooltip="{{\'cluster_management.cluster_page.advanced_options_tooltip\' | translate}}"> <button type="button" class="text-btn advanced-options-btn text-left" data-toggle="collapse" data-target="#advancedOptions"> <i class="{{getAdvancedOptionsClass()}} advanced-options-toggle" aria-hidden="true"></i> {{\'cluster_management.cluster_page.advanced_options\' | translate}} </button> </span> </div> <div id="advancedOptions" class="collapse pb-1 pl-2"> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.electionMinTimeout.$invalid}"> <label for="election-minimum-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_min_timeout\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.electionMinTimeout" required id="election-minimum-timeout" min="0" pattern="[0-9]+" name="electionMinTimeout"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionMinTimeout.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionMinTimeout.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.electionRangeTimeout.$invalid}"> <label for="election-range-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.election_range_timeout\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.electionRangeTimeout" required id="election-range-timeout" min="0" pattern="[0-9]+" name="electionRangeTimeout"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionRangeTimeout.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.electionRangeTimeout.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.heartbeatInterval.$invalid}"> <label for="heartbeat-interval" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.heartbeat_interval\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.heartbeatInterval" required id="heartbeat-interval" min="0" pattern="[0-9]+" name="heartbeatInterval"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.heartbeatInterval.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.heartbeatInterval.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.messageSizeKB.$invalid}"> <label for="message-size" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.message_size_kb\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.message_size_kb_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.messageSizeKB" required id="message-size" min="0" pattern="[0-9]+" name="messageSizeKB"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.messageSizeKB.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.messageSizeKB.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.verificationTimeout.$invalid}"> <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.verification_timeout\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.verification_timeout_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.verificationTimeout" required id="verification-timeout" min="0" pattern="[0-9]+" name="verificationTimeout"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.verificationTimeout.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.verificationTimeout.$error.pattern"> {{\'cluster_management.cluster_page.errors.only_positive_integers\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.transactionLogMaximumSizeGB.$invalid}"> <label for="verification-timeout" class="col-xs-4 col-form-label">{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb\' | translate}}*</label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.transactionLogMaximumSizeGB" required id="transaction-log-maximum-size-gb" pattern="-?[1-9][0-9]*(\\.[0-9]+)?" name="transaction_log_maximum_size_gb"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.required"> {{\'required.field\' | translate}} </div> <div class="form-control-feedback" ng-show="clusterConfigurationForm.transactionLogMaximumSizeGB.$error.pattern"> {{\'cluster_management.cluster_page.errors.small_transaction_log_max_size\' | translate}} </div> </div> </div> </div> <div class="form-group"> <div class="input-group" ng-class="{\'has-danger\': clusterConfigurationForm.batchUpdateInterval.$invalid}"> <label for="batch-update-interval" class="col-xs-4 col-form-label"> {{\'cluster_management.cluster_configuration_properties.batch_update_interval\' | translate}}* </label> <div class="col-xs-8" gdb-tooltip="{{\'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip\' | translate}}"> <input class="form-control" placeholder="{{\'required.field\' | translate}}" type="number" ng-model="clusterConfiguration.batchUpdateInterval" required id="batch-update-interval" min="0" name="batchUpdateInterval"> <div class="form-control-feedback" ng-show="clusterConfigurationForm.batchUpdateInterval.$error.required"> {{\'required.field\' | translate}} </div> </div> </div> </div> </div> </div> </div> </form> </div> '}};
|
|
2
|
-
//# sourceMappingURL=27580.88bc1444d863327a3697.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"27580.88bc1444d863327a3697.bundle.js","mappings":"uJAOA,QANW,omhB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/clustermanagement/templates/cluster-nodes-configuration.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/cluster-nodes-configuration.css?v=3.1.1\" rel=\"stylesheet\"/> <div onto-loader-new ng-if=\"loader\" class=\"create-cluster-loader\" message=\"getLoaderMessage\" size=\"100\"></div> <div class=\"add-node-wrapper pull-right mb-1\"> <button ng-click=\"addNode()\" ng-disabled=\"editedNodeIndex !== undefined\" class=\"btn btn-primary add-node-btn\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip' | translate}}\"> <i class=\"fa fa-plus\"></i> {{'cluster_management.update_cluster_group_dialog.actions.add_node' | translate}} </button> </div> <div class=\"table-responsive\"> <form name=\"form\" id=\"updateClusterGroupForm\"> <table class=\"cluster-group table table-striped table-hover cluster-group-table\" aria-describedby=\"cluster group table\"> <thead> <tr class=\"labels-row\"> <th scope=\"col\" class=\"index-column\"> {{'cluster_management.update_cluster_group_dialog.column.index' | translate}} </th> <th scope=\"col\" class=\"location-column\"> {{'cluster_management.update_cluster_group_dialog.column.location' | translate}} </th> <th scope=\"col\" class=\"info-column\"> {{'cluster_management.update_cluster_group_dialog.column.info' | translate}} </th> <th scope=\"col\" class=\"status-column\"> {{'cluster_management.update_cluster_group_dialog.column.status' | translate}} </th> <th scope=\"col\" class=\"empty-column\"></th> <th scope=\"col\" class=\"actions-column\"></th> </tr> </thead> <tbody> <tr ng-if=\"!viewModel.length\"> <td colspan=\"5\" class=\"no-data\"> {{'cluster_management.update_cluster_group_dialog.messages.no_cluster' | translate}} </td> </tr> <tr ng-repeat-start=\"node in viewModel track by \\$index\" ng-if=\"0\"></tr> <tr ng-if=\"\\$index !== editedNodeIndex\" class=\"node preview-node-row\" data-endpoint=\"{{node.endpoint}}\" capture-height=\"\\$index\" ng-class=\"{'selected': \\$index === selectedNode || \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"location-cell data\" ng-class=\"{'deleting': node.isDeleted, 'adding': !node.item.address}\"> <div class=\"location-item\" id=\"endpoint-{{::node.index}}\"> <span class=\"text-only\">{{node.item.endpoint}}</span> <copy-to-clipboard text-to-copy=\"{{node.item.endpoint}}\" custom-tooltip-style=\"true\" ng-attr-target-selector=\"#endpoint-{{::node.index}}\" custom-tooltip-text=\"{{'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip' | translate}}\"></copy-to-clipboard> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell data\"> <div ng-if=\"!node.item.address\" class=\"adding\"> <i class=\"fa fa-circle-check status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.new_node' | translate}} </div> <div ng-if=\"node.isDeleted\" class=\"deleting\"> <i class=\"fa fa-xmark status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.deleted_node' | translate}} </div> </td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div ng-if=\"editedNodeIndex === undefined && !node.isDeleted\" class=\"actions-group\"> <button ng-click=\"deleteNode(\\$index, node)\" ng-disabled=\"(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)\" class=\"btn btn-link delete-node-btn secondary\" gdb-tooltip=\"{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n ('cluster_management.update_cluster_group_dialog.actions.delete_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_delete_node' | translate) }}\" title-class=\"delete-node-tooltip\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"replaceNode(\\$index, node)\" class=\"btn btn-link replace-node-btn\" ng-disabled=\"!hasCluster && node.isLocal\" gdb-tooltip=\"{{hasCluster || !node.isLocal ?\n ('cluster_management.update_cluster_group_dialog.actions.replace_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_replace_node' | translate) }}\"> <i class=\"fa fa-arrow-right-arrow-left\"></i> </button> </div> <div ng-if=\"editedNodeIndex === undefined && node.isDeleted\" class=\"actions-group\"> <button ng-click=\"restoreNode(node)\" class=\"btn btn-link restore-node-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.restore_node' | translate}}\"> <i class=\"fa fa-rotate-left\"></i> </button> </div> </td> </tr> <tr ng-if=\"\\$index === editedNodeIndex\" class=\"node edit-node-row\" data-endpoint=\"{{node.endpoint}}\" style=\"\" ng-class=\"{'selected table-info': \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"node.endpoint\" ng-change=\"filterSuggestions(node)\" ng-blur=\"hideSuggestions(node)\" ng-click=\"filterSuggestions(node)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, node.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(node, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(node.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> <tr ng-repeat-end ng-if=\"0\"></tr> <tr ng-if=\"addNewLocation\" class=\"node edit-node-row\"> <td class=\"index-cell\"></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"newLocation.endpoint\" ng-change=\"filterSuggestions(newLocation)\" ng-blur=\"hideSuggestions(newLocation)\" ng-click=\"filterSuggestions(newLocation)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, newLocation.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(newLocation, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"></td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(newLocation.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> </tbody> </table> <div class=\"errors\"> <div class=\"error-message\" ng-show=\"form.location.\\$error.validUrl && !form.location.\\$pristine\"> * {{'valid.remote.location.warning' | translate}} http://server.example.com:7200/. </div> <div class=\"error-message\" ng-show=\"form.location.\\$error.duplicateUrl && !form.location.\\$pristine\"> * {{'duplicate.remote.location.warning' | translate}} </div> <div ng-repeat=\"error in errors\" class=\"error-message\"> {{error}} </div> </div> <div class=\"form-horizontal\" ng-if=\"!hasCluster\"> <div class=\"form-group\"> <div class=\"indented-div\"> <span class=\"padding-label wrapper-div\" gdb-tooltip=\"{{'cluster_management.cluster_page.advanced_options_tooltip' | translate}}\"> <button type=\"button\" class=\"text-btn advanced-options-btn text-left\" data-toggle=\"collapse\" data-target=\"#advancedOptions\"> <i class=\"{{getAdvancedOptionsClass()}} advanced-options-toggle\" aria-hidden=\"true\"></i> {{'cluster_management.cluster_page.advanced_options' | translate}} </button> </span> </div> <div id=\"advancedOptions\" class=\"collapse pb-1 pl-2\"> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionMinTimeout.\\$invalid}\"> <label for=\"election-minimum-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_min_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionMinTimeout\" required id=\"election-minimum-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionMinTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionRangeTimeout.\\$invalid}\"> <label for=\"election-range-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_range_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionRangeTimeout\" required id=\"election-range-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionRangeTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.heartbeatInterval.\\$invalid}\"> <label for=\"heartbeat-interval\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.heartbeat_interval' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.heartbeatInterval\" required id=\"heartbeat-interval\" min=\"0\" pattern=\"[0-9]+\" name=\"heartbeatInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.messageSizeKB.\\$invalid}\"> <label for=\"message-size\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.message_size_kb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.message_size_kb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.messageSizeKB\" required id=\"message-size\" min=\"0\" pattern=\"[0-9]+\" name=\"messageSizeKB\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.verificationTimeout.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.verification_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.verification_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.verificationTimeout\" required id=\"verification-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"verificationTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.transactionLogMaximumSizeGB.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.transactionLogMaximumSizeGB\" required id=\"transaction-log-maximum-size-gb\" pattern=\"-?[1-9][0-9]*(\\\\.[0-9]+)?\" name=\"transaction_log_maximum_size_gb\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.small_transaction_log_max_size' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.batchUpdateInterval.\\$invalid}\"> <label for=\"batch-update-interval\" class=\"col-xs-4 col-form-label\"> {{'cluster_management.cluster_configuration_properties.batch_update_interval' | translate}}* </label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.batchUpdateInterval\" required id=\"batch-update-interval\" min=\"0\" name=\"batchUpdateInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.batchUpdateInterval.\\$error.required\"> {{'required.field' | translate}} </div> </div> </div> </div> </div> </div> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=28050;export const __webpack_ids__=[10153,28050,29428,32534,69724,84727];export const __webpack_modules__={10307:(e,n,t)=>{t.r(n);var o=t(3588);function r(e){return{restrict:"E",scope:{field:"=",form:"=",translationKeyPrefix:"="},templateUrl:"js/angular/core/directives/dynamic-form/templates/form-field-template.html",link:function(e){e.FIELD_TYPE=o.FIELD_TYPE}}}angular.module("graphdb.framework.core.directives.dynamic-form-field",[]).directive("dynamicFormField",r),r.$inject=[]},28050:(e,n,t)=>{t.r(n);var o=t(32534),r=(t(69724),t(77512));function i(e,n,t,i,a,d){return{restrict:"E",templateUrl:"js/angular/graphql/templates/step-generate-endpoint.html",scope:{stepDefinition:"="},link:n=>{n.endpointConfiguration=void 0,n.endpointsCountToGenerate=0,n.endpointsOverview=void 0,n.activeRepository=i.getActiveRepository(),n.generateFromGraphqlSchemaShapes=!1,n.generatingEndpoint=!1,n.generationReport=void 0,n.endpointUrl=r.endpointUrl,n.back=()=>{d.previousEndpointCreationStep()},n.cancel=()=>{const n=t.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title"),o=t.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body");e.openConfirmation(n,o,()=>{d.cancelEndpointCreation()})},n.generateEndpoint=()=>{n.generatingEndpoint=!0,n.generationReport=void 0,d.generateEndpoint()},n.finishGenerationWorkflow=()=>{d.finishGenerationWorkflow()},n.showEndpointReport=e=>{d.openEndpointGenerationReport(e)},n.exploreInPlayground=e=>{d.exploreEndpointInPlayground(e)};const l=[];l.push(d.subscribe(o.GraphqlEventName.ENDPOINT_GENERATED,e=>{n.generatingEndpoint=!1,n.generationReport=e})),n.$on("$destroy",()=>{l.forEach(e=>e())}),n.endpointConfiguration=d.getNewEndpoint(),n.generateFromGraphqlSchemaShapes=n.endpointConfiguration.hasSelectedGraphqlSchemaShapes(),n.endpointsCountToGenerate=a.getEndpointsCountToGenerate(n.endpointConfiguration),n.endpointsOverview=a.getGenerateEndpointsOverview(n.endpointConfiguration)}}}angular.module("graphdb.framework.graphql.directives.generate-endpoint",["graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal"]).directive("generateEndpoint",i),i.$inject=["ModalService","$uibModal","$translate","$repositories","GraphqlService","GraphqlContextService"]},29428:()=>{angular.module("graphdb.framework.core.directives.multiselect-dropdown",[]).directive("multiselectDropdown",["$translate",function(e){return{restrict:"E",require:"ngModel",scope:{options:"=",dropdownLabel:"=?"},templateUrl:"js/angular/core/directives/multiselect-dropdown/templates/multiselect-dropdown.html",link:function(n,t,o,r){n.isOpen=!1;const i=e=>{t[0].contains(e.target)||n.$apply(()=>{n.isOpen=!1})};n.toggleDropdown=function(){n.isOpen=!n.isOpen},n.toggleSelection=function(e){e.selected=!e.selected,(()=>{const e=n.options.filter(function(e){return e.selected});r.$setViewValue(e)})()},n.getSelectedText=function(){const t=n.options.filter(e=>e.selected);return 0===t.length?n.dropdownLabel||e.instant("common.select"):t.map(e=>e.label).join(", ")},r.$render=function(){angular.isArray(r.$viewValue)&&n.options.forEach(function(e){e.selected=r.$viewValue.some(function(n){return n.value===e.value})})},document.addEventListener("click",i),n.$on("$destroy",()=>{document.removeEventListener("click",i)})}}}])},32534:(e,n,t)=>{t.r(n),t.d(n,{GraphqlEventName:()=>a});var o=t(98980),r=t(10406);function i(e){let n,t,i;const d=()=>n,l=()=>i,p=(n,t)=>{e.emitSync(n,(0,o.cloneDeep)(t))},c=(n,t)=>e.subscribeSync(n,e=>t(e));return{resetContext:()=>{t=void 0,i=void 0},updateSourceRepository:e=>{n=e,p(a.SOURCE_REPOSITORY_UPDATED,d())},getSourceRepository:d,setSelectedEndpoint:e=>{t=e},getSelectedEndpoint:()=>(0,o.cloneDeep)(t),getNewEndpoint:l,createEndpointConfig:()=>{i=new r.GraphqlEndpointConfiguration,e.emitSync(a.ENDPOINT_CONFIG_CREATED,i)},onEndpointConfigCreated:e=>(i&&angular.isFunction(e)&&e(i),c(a.ENDPOINT_CONFIG_CREATED,n=>e(n))),startCreateEndpointWizard:()=>{p(a.START_CREATE_ENDPOINT_WIZARD,null)},generateEndpoint:()=>{p(a.GENERATE_ENDPOINT,l())},endpointGenerated:e=>{p(a.ENDPOINT_GENERATED,e)},exploreEndpointInPlayground:e=>{p(a.EXPLORE_ENDPOINT_IN_PLAYGROUND,e)},openEndpointGenerationReport:e=>{p(a.OPEN_ENDPOINT_GENERATION_REPORT,e)},deleteEndpointGenerationReport:e=>{p(a.DELETE_ENDPOINT_REPORT,e)},cancelEndpointCreation:()=>{p(a.CANCEL_ENDPOINT_CREATION,{})},finishGenerationWorkflow:()=>{p(a.FINISH_GENERATION_WORKFLOW,{})},nextEndpointCreationStep:()=>{p(a.NEXT_ENDPOINT_CREATION_STEP,{})},previousEndpointCreationStep:()=>{p(a.PREVIOUS_ENDPOINT_CREATION_STEP,{})},subscribe:c}}angular.module("graphdb.framework.graphql.services.graphql-context",[]).factory("GraphqlContextService",i),i.$inject=["EventEmitterService","GraphqlService"];const a={SOURCE_REPOSITORY_UPDATED:"sourceRepositoryUpdated",START_CREATE_ENDPOINT_WIZARD:"startCreateEndpointWizard",ENDPOINT_CONFIG_CREATED:"updateConfigCreated",GENERATE_ENDPOINT:"generateEndpoint",ENDPOINT_GENERATED:"endpointGenerated",CANCEL_ENDPOINT_CREATION:"cancelEndpointCreation",FINISH_GENERATION_WORKFLOW:"finishGenerationWorkflow",EXPLORE_ENDPOINT_IN_PLAYGROUND:"exploreEndpointInPlayground",OPEN_ENDPOINT_GENERATION_REPORT:"openEndpointGenerationReport",DELETE_ENDPOINT_REPORT:"deleteEndpointReport",NEXT_ENDPOINT_CREATION_STEP:"nextEndpointCreationStep",PREVIOUS_ENDPOINT_CREATION_STEP:"previousEndpointCreationStep"}},58334:(e,n,t)=>{t.r(n),t(10307);var o=t(3588);function r(){return{restrict:"E",scope:{formModel:"=",showAllFields:"=?",onValidityChange:"&?",formCtrl:"=?",translationKeyPrefix:"@?"},templateUrl:"js/angular/core/directives/dynamic-form/templates/dynamic-form.html",link:function(e,n){e.FIELD_TYPE=o.FIELD_TYPE,e.formCtrl=void 0,e.showAllFields=e.showAllFields||!1,(()=>{const t=n.find("form").controller("form");if(!t)return void console.error("Form controller not found!");e.formCtrl=t;const o=t.$setValidity;e.formCtrl.$setValidity=function(n,r,i){o.call(t,n,r,i),e.onValidityChange&&e.onValidityChange({valid:t.$valid})}})()}}}angular.module("graphdb.framework.core.directives.dynamic-form",["graphdb.framework.core.directives.dynamic-form-field"]).directive("dynamicForm",r),r.$inject=[]},69724:(e,n,t)=>{function o(e,n,t,o){const r="generation-report.json";e.endpointReport=void 0,e.downloadReport=()=>{const n=JSON.stringify(e.endpointReport.toJSON(),null,2),t=new Blob([n],{type:"application/json"}),o=URL.createObjectURL(t),i=document.createElement("a");i.href=o,i.download=e.endpointReport.endpointId?`${e.endpointReport.endpointId}-${r}`:r,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o)},e.deleteReport=()=>{o.deleteEndpointGenerationReport(e.endpointReport),e.close()},e.close=()=>{n.dismiss("cancel")},e.endpointReport=t.endpointReport}t.r(n),t(14874),t(58334),t(29428),angular.module("graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal",["graphdb.framework.core.services.graphql-service"]).controller("EndpointGenerationResultFailureModalController",o),o.$inject=["$scope","$uibModalInstance","data","GraphqlContextService"]}};
|
|
2
|
-
//# sourceMappingURL=28050.1359d262b2e2c497ad6d.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"28050.1359d262b2e2c497ad6d.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/dynamic-form-field.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/directives/generate-endpoint.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/multiselect-dropdown/multiselect-dropdown.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/graphql-context.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/dynamic-form.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/controllers/endpoint-generation-failure-result-modal.controller.js"],"sourcesContent":["import {FIELD_TYPE} from \"./field-type\";\n\nconst modules = [];\nangular\n .module('graphdb.framework.core.directives.dynamic-form-field', modules)\n .directive('dynamicFormField', dynamicFormFieldDirective);\n\ndynamicFormFieldDirective.$inject = [];\n\nfunction dynamicFormFieldDirective($compile) {\n return {\n restrict: 'E',\n scope: {\n field: '=',\n form: '=',\n translationKeyPrefix: '='\n },\n templateUrl: 'js/angular/core/directives/dynamic-form/templates/form-field-template.html',\n link: function($scope) {\n $scope.FIELD_TYPE = FIELD_TYPE;\n }\n };\n}\n","import {GraphqlEventName} from \"../services/graphql-context.service\";\nimport '../controllers/endpoint-generation-failure-result-modal.controller';\nimport {endpointUrl} from \"../models/endpoints\";\n\nangular\n .module('graphdb.framework.graphql.directives.generate-endpoint', [\n 'graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal'\n ])\n .directive('generateEndpoint', GenerateEndpointComponent);\n\nGenerateEndpointComponent.$inject = ['ModalService', '$uibModal', '$translate', '$repositories', 'GraphqlService', 'GraphqlContextService'];\n\nfunction GenerateEndpointComponent(ModalService, $uibModal, $translate, $repositories, GraphqlService, GraphqlContextService) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/graphql/templates/step-generate-endpoint.html',\n scope: {\n stepDefinition: '='\n },\n link: ($scope) => {\n\n // =========================\n // Public variables\n // =========================\n\n /**\n * The endpoint configuration model.\n * @type {GraphqlEndpointConfiguration|undefined}\n */\n $scope.endpointConfiguration = undefined;\n\n /**\n * The count of the endpoints that will be generated.\n * @type {number}\n */\n $scope.endpointsCountToGenerate = 0;\n\n /**\n * A model with the overview of the endpoints to be generated.\n * @type {GraphqlEndpointOverviewList|undefined}\n */\n $scope.endpointsOverview = undefined;\n\n /**\n * The active repository.\n */\n $scope.activeRepository = $repositories.getActiveRepository();\n\n /**\n * A flag indicating if the endpoint will be generated from the GraphQL schema shapes.\n * @type {boolean}\n */\n $scope.generateFromGraphqlSchemaShapes = false;\n\n /**\n * A flag indicating if the endpoint generation is in progress.\n * @type {boolean}\n */\n $scope.generatingEndpoint = false;\n\n /**\n * The endpoint generation report.\n * @type {EndpointGenerationReportList|undefined}\n */\n $scope.generationReport = undefined;\n\n /**\n * Exposes the graphql module view URL constants for use in the template.\n * @type {{string?: string}}\n */\n $scope.endpointUrl = endpointUrl;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Handles the transition to the previous step in the create endpoint wizard.\n */\n $scope.back = () => {\n GraphqlContextService.previousEndpointCreationStep();\n };\n\n /**\n * Handles the termination of the create endpoint wizard.\n */\n $scope.cancel = () => {\n const title = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title');\n const confirmDeleteMessage = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body');\n ModalService.openConfirmation(title, confirmDeleteMessage, () => {\n GraphqlContextService.cancelEndpointCreation();\n });\n };\n\n /**\n * Handles the creation of the GraphQL endpoint.\n */\n $scope.generateEndpoint = () => {\n $scope.generatingEndpoint = true;\n $scope.generationReport = undefined;\n GraphqlContextService.generateEndpoint();\n };\n\n /**\n * Handles the completion of the endpoint generation workflow.\n */\n $scope.finishGenerationWorkflow = () => {\n GraphqlContextService.finishGenerationWorkflow();\n };\n\n /**\n * Triggers an event to open the endpoint generation report modal.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n $scope.showEndpointReport = (endpointReport) => {\n GraphqlContextService.openEndpointGenerationReport(endpointReport);\n }\n\n /**\n * Opens the endpoint in the playground in a new browser tab.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n $scope.exploreInPlayground = (endpointReport) => {\n GraphqlContextService.exploreEndpointInPlayground(endpointReport);\n }\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Handles the completion of the endpoint generation.\n * @param {EndpointGenerationReportList} generationReport The endpoint generation report.\n */\n const onEndpointGenerated = (generationReport) => {\n $scope.generatingEndpoint = false;\n $scope.generationReport = generationReport;\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n const subscriptions = [];\n\n const onDestroy = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n subscriptions.push(GraphqlContextService.subscribe(GraphqlEventName.ENDPOINT_GENERATED, onEndpointGenerated));\n\n $scope.$on('$destroy', onDestroy);\n\n const onInit = () => {\n $scope.endpointConfiguration = GraphqlContextService.getNewEndpoint();\n $scope.generateFromGraphqlSchemaShapes = $scope.endpointConfiguration.hasSelectedGraphqlSchemaShapes();\n $scope.endpointsCountToGenerate = GraphqlService.getEndpointsCountToGenerate($scope.endpointConfiguration);\n $scope.endpointsOverview = GraphqlService.getGenerateEndpointsOverview($scope.endpointConfiguration);\n }\n onInit();\n }\n };\n}\n","/**\n * @function multiselectDropdown\n * @description\n * A directive for rendering a multi-select dropdown.\n *\n * This directive displays a list of options with checkboxes that allows users\n * to select multiple items. Each option should be an instance of the\n * SelectOptionsModel, which encapsulates the display label, value,\n * selection state, and any additional data. Clicking the toggle button opens/closes\n * the dropdown; clicking outside the dropdown closes it.\n *\n * @example\n * ### HTML Usage:\n * ```html\n * <multiselect-dropdown\n * ng-model=\"selectedOptions\"\n * options=\"myOptions\"\n * dropdown-label=\"'Choose Items'\">\n * </multiselect-dropdown>\n * ```\n *\n * ### Controller Example:\n * ```javascript\n * angular.module('myApp', [])\n * .controller('ExampleController', function($scope) {\n * $scope.myOptions = [\n * new SelectOptionsModel({ label: 'Option A', value: 'A' }),\n * new SelectOptionsModel({ label: 'Option B', value: 'B' }),\n * new SelectOptionsModel({ label: 'Option C', value: 'C' })\n * ];\n * });\n * ```\n *\n * @param {Array.<SelectOptionsModel>} options - The array of options displayed in the dropdown.\n * @param {string=} [dropdownLabel='Select...'] - (Optional) The placeholder text if no items are selected.\n *\n * @returns {Object} The directive definition object.\n */\nangular.module('graphdb.framework.core.directives.multiselect-dropdown', [])\n .directive('multiselectDropdown', ['$translate', function ($translate) {\n return {\n restrict: 'E',\n require: 'ngModel',\n scope: {\n options: '=',\n dropdownLabel: '=?'\n },\n templateUrl: 'js/angular/core/directives/multiselect-dropdown/templates/multiselect-dropdown.html',\n link: function($scope, element, attrs, ngModel) {\n // =========================\n // Public variables\n // =========================\n $scope.isOpen = false;\n\n // =========================\n // Private methods\n // =========================\n // Close the dropdown if the user clicks outside it.\n const handleDocumentClick = (event) => {\n if (!element[0].contains(event.target)) {\n $scope.$apply(() => {\n $scope.isOpen = false;\n });\n }\n };\n\n const updateModel = () => {\n const selected = $scope.options.filter(function(option) {\n return option.selected;\n });\n ngModel.$setViewValue(selected);\n }\n\n // =========================\n // Public methods\n // =========================\n $scope.toggleDropdown = function () {\n $scope.isOpen = !$scope.isOpen;\n };\n\n /**\n * Toggle the selection state of an option.\n * @param {SelectOptionsModel} option\n */\n $scope.toggleSelection = function (option) {\n option.selected = !option.selected;\n updateModel();\n };\n\n /**\n * Build the display text for the dropdown toggle.\n * Iterates the options and joins the labels of selected options.\n * @returns {string}\n */\n $scope.getSelectedText = function () {\n const selectedOptions = $scope.options.filter((option) => option.selected);\n if (selectedOptions.length === 0) {\n return $scope.dropdownLabel || $translate.instant('common.select');\n }\n return selectedOptions.map((option) => option.label).join(', ');\n };\n\n /**\n * If ngModel provides an initial value, update the corresponding option selections.\n */\n ngModel.$render = function () {\n if (angular.isArray(ngModel.$viewValue)) {\n $scope.options.forEach(function(option) {\n option.selected = ngModel.$viewValue.some(function(selectedOption) {\n return selectedOption.value === option.value;\n });\n });\n }\n };\n\n // =========================\n // Subscriptions\n // =========================\n document.addEventListener('click', handleDocumentClick);\n $scope.$on('$destroy', () => {\n document.removeEventListener('click', handleDocumentClick);\n });\n }\n };\n }]);\n","import {cloneDeep} from 'lodash';\nimport {GraphqlEndpointConfiguration} from \"../../models/graphql/graphql-endpoint-configuration\";\nimport {EndpointGenerationReportList} from \"../../models/graphql/endpoint-generation-report\";\n\nangular\n .module('graphdb.framework.graphql.services.graphql-context', [])\n .factory('GraphqlContextService', GraphqlContextService);\n\nGraphqlContextService.$inject = ['EventEmitterService', 'GraphqlService'];\n\nfunction GraphqlContextService(EventEmitterService) {\n /**\n * The source repository from which the sources for the GraphQL schema generation are retrieved.\n * @type {string|undefined}`\n */\n let _sourceRepository = undefined;\n\n /**\n * The selected GraphQL endpoint info. The endpoint is selected when the user clicks on an endpoint in the endpoint\n * management view.\n * @type {GraphqlEndpointInfo|undefined}\n * @private\n */\n let _selectedEndpoint = undefined;\n\n /**\n * The new GraphQL endpoint is present when a new endpoint is being created.\n * @type {GraphqlEndpointConfiguration|undefined}\n * @private\n */\n let _newEndpointConfiguration = undefined;\n\n /**\n * Returns the value of the source repository.\n * @returns {string|undefined}\n */\n const getSourceRepository = () => {\n return _sourceRepository;\n };\n\n /**\n * Updates the source repository and emits an event with the new repository id.\n * @param {string} repositoryId The new source repository id.\n */\n const updateSourceRepository = (repositoryId) => {\n _sourceRepository = repositoryId;\n emit(GraphqlEventName.SOURCE_REPOSITORY_UPDATED, getSourceRepository());\n };\n\n /**\n * Returns the value of the new GraphQL endpoint.\n * @returns {GraphqlEndpointConfiguration|undefined}\n */\n const getNewEndpoint = () => {\n return _newEndpointConfiguration;\n };\n\n /**\n * Resets the context by clearing all the stored values.\n */\n const resetContext = () => {\n _selectedEndpoint = undefined;\n _newEndpointConfiguration = undefined;\n };\n\n /**\n * Sets the selected GraphQL endpoint.\n * @param {GraphqlEndpointInfo|EndpointGenerationReport} endpoint The selected endpoint.\n */\n const setSelectedEndpoint = (endpoint) => {\n _selectedEndpoint = endpoint;\n };\n\n /**\n * Returns a clone value of the selected GraphQL endpoint.\n * @return {GraphqlEndpointInfo|undefined}\n */\n const getSelectedEndpoint = () => {\n return cloneDeep(_selectedEndpoint);\n };\n\n /**\n * Initializes the new endpoint configuration and emits an event with the new endpoint configuration.\n */\n const createEndpointConfig = () => {\n _newEndpointConfiguration = new GraphqlEndpointConfiguration();\n EventEmitterService.emitSync(GraphqlEventName.ENDPOINT_CONFIG_CREATED, _newEndpointConfiguration);\n }\n\n const onEndpointConfigCreated = (callback) => {\n if (_newEndpointConfiguration && angular.isFunction(callback)) {\n callback(_newEndpointConfiguration);\n }\n return subscribe(GraphqlEventName.ENDPOINT_CONFIG_CREATED, (endpoint) => callback(endpoint));\n };\n\n const startCreateEndpointWizard = () => {\n emit(GraphqlEventName.START_CREATE_ENDPOINT_WIZARD, null);\n };\n\n const cancelEndpointCreation = () => {\n emit(GraphqlEventName.CANCEL_ENDPOINT_CREATION, {});\n }\n\n const finishGenerationWorkflow = () => {\n emit(GraphqlEventName.FINISH_GENERATION_WORKFLOW, {});\n }\n\n const nextEndpointCreationStep = () => {\n emit(GraphqlEventName.NEXT_ENDPOINT_CREATION_STEP, {});\n }\n\n const previousEndpointCreationStep = () => {\n emit(GraphqlEventName.PREVIOUS_ENDPOINT_CREATION_STEP, {});\n }\n\n const generateEndpoint = () => {\n emit(GraphqlEventName.GENERATE_ENDPOINT, getNewEndpoint());\n }\n\n /**\n * Emits an event when the endpoint generation is completed.\n * @param {EndpointGenerationReportList} endpointGenerationReportList The list of endpoint generation reports.\n */\n const endpointGenerated = (endpointGenerationReportList) => {\n emit(GraphqlEventName.ENDPOINT_GENERATED, endpointGenerationReportList);\n }\n\n /**\n * Emits an event to explore the generated endpoint in the GraphQL Playground.\n * @param endpoint\n */\n const exploreEndpointInPlayground = (endpoint) => {\n emit(GraphqlEventName.EXPLORE_ENDPOINT_IN_PLAYGROUND, endpoint);\n }\n\n /**\n * Emits an event to open the endpoint generation report.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n const openEndpointGenerationReport = (endpointReport) => {\n emit(GraphqlEventName.OPEN_ENDPOINT_GENERATION_REPORT, endpointReport);\n }\n\n /**\n * Emits an event to delete the endpoint generation report.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n const deleteEndpointGenerationReport = (endpointReport) => {\n emit(GraphqlEventName.DELETE_ENDPOINT_REPORT, endpointReport);\n }\n\n /**\n * Emits an event with a deep-cloned payload using the EventEmitterService.\n *\n * @param {string} event - The name of the event to emit. It must be a value from {@link GraphqlEventName}.\n * @param {*} payload - The data to emit with the event. The payload is deep-cloned before emission.\n */\n const emit = (event, payload) => {\n EventEmitterService.emitSync(event, cloneDeep(payload));\n };\n\n /**\n * Subscribes to an event with the specified callback using the EventEmitterService.\n *\n * @param {string} event - The name of the event to subscribe to. It must be a value from {@link GraphqlEventName}.\n * @param {function} callback - The function to call when the event is emitted.\n * @return {function} - Returns a function that can be called to unsubscribe from the event.\n */\n const subscribe = (event, callback) => {\n return EventEmitterService.subscribeSync(event, (payload) => callback(payload));\n };\n\n return {\n resetContext,\n updateSourceRepository,\n getSourceRepository,\n setSelectedEndpoint,\n getSelectedEndpoint,\n getNewEndpoint,\n createEndpointConfig,\n onEndpointConfigCreated,\n startCreateEndpointWizard,\n generateEndpoint,\n endpointGenerated,\n exploreEndpointInPlayground,\n openEndpointGenerationReport,\n deleteEndpointGenerationReport,\n cancelEndpointCreation,\n finishGenerationWorkflow,\n nextEndpointCreationStep,\n previousEndpointCreationStep,\n subscribe\n };\n}\n\nexport const GraphqlEventName = {\n /**\n * The event emitted when the source repository is updated.\n */\n SOURCE_REPOSITORY_UPDATED: 'sourceRepositoryUpdated',\n /**\n * The event emitted when the user wants to start the create endpoint wizard.\n */\n START_CREATE_ENDPOINT_WIZARD: 'startCreateEndpointWizard',\n /**\n * The event emitted when an endpoint configuration is created.\n */\n ENDPOINT_CONFIG_CREATED: 'updateConfigCreated',\n /**\n * The event emitted when a new GraphQL endpoint should be generated.\n */\n GENERATE_ENDPOINT: 'generateEndpoint',\n /**\n * The event emitted when the GraphQL endpoint generation completes.\n */\n ENDPOINT_GENERATED: 'endpointGenerated',\n /**\n * The event emitted when the user wants to cancel the endpoint creation.\n */\n CANCEL_ENDPOINT_CREATION: 'cancelEndpointCreation',\n /**\n * The event emitted when the user wants to finish the endpoint generation workflow.\n */\n FINISH_GENERATION_WORKFLOW: 'finishGenerationWorkflow',\n /**\n * The event emitted when the user wants to explore the generated endpoint in the GraphQL Playground.\n */\n EXPLORE_ENDPOINT_IN_PLAYGROUND: 'exploreEndpointInPlayground',\n /**\n * The event emitted when the user wants to open the endpoint generation report.\n */\n OPEN_ENDPOINT_GENERATION_REPORT: 'openEndpointGenerationReport',\n /**\n * The event emitted when the user wants to delete the endpoint generation report.\n */\n DELETE_ENDPOINT_REPORT: 'deleteEndpointReport',\n /**\n * The event emitted when the user wants to move to the next step in the create endpoint wizard.\n */\n NEXT_ENDPOINT_CREATION_STEP: 'nextEndpointCreationStep',\n /**\n * The event emitted when the user wants to move to the previous step in the create endpoint wizard.\n */\n PREVIOUS_ENDPOINT_CREATION_STEP: 'previousEndpointCreationStep'\n};\n","import 'angular/core/directives/dynamic-form/dynamic-form-field.directive';\nimport {FIELD_TYPE} from \"./field-type\";\n\n/**\n * @function dynamicFormDirective\n * @description\n * A directive for rendering a dynamic form based on an array of field objects.\n *\n * This directive creates a form where each object in the provided formModel defines the type of input to render\n * (for example, text input, checkbox, dropdown, multi-select, or textarea for JSON data). The directive uses the\n * {@link FIELD_TYPE} enum to determine which input type to display. For select and multi-select fields, the\n * {@link SelectMenuOptionsModel} should be used to model the options.\n *\n * Additionally, the directive supports an optional `onValidityChange` callback that will be called whenever the overall\n * validity of the form changes. This is useful for informing a parent component or controller about the current form validity.\n *\n * @example\n * ### HTML Usage:\n * ```html\n * <dynamic-form formModel=\"myFields\" on-validity-change=\"handleValidityChange(valid)\"></dynamic-form>\n * ```\n *\n * @param {Object[]} field - The array of field objects used to render the form fields.\n * @param {string} field[].label - The label displayed for the input.\n * @param {string} field[].type - The type of field input. Should be one of the values defined in {@link FIELD_TYPE}.\n * @param {*} field[].value - The current value of the field.\n * @param {SelectMenuOptionsModel[]} [field[].values] - The array of possible options for select and multi-select fields.\n * @param {(string|RegExp)} [field[].regex] - A regular expression or its string representation for validating the field value.\n * @param {boolean} [field[].required=false] - Indicates whether the field is required.\n *\n * @returns {Object} The directive definition object.\n */\nconst modules = ['graphdb.framework.core.directives.dynamic-form-field'];\nangular\n .module('graphdb.framework.core.directives.dynamic-form', modules)\n .directive('dynamicForm', dynamicFormDirective);\n\ndynamicFormDirective.$inject = [];\n\nfunction dynamicFormDirective() {\n return {\n restrict: 'E',\n scope: {\n /**\n * @type {DynamicFormModel}\n */\n formModel: '=',\n /**\n * Controls whether to show all fields or only the ones that are not hidden in the model.\n * @type {boolean}\n */\n showAllFields: '=?',\n onValidityChange: '&?',\n formCtrl: '=?',\n translationKeyPrefix: '@?'\n },\n templateUrl: 'js/angular/core/directives/dynamic-form/templates/dynamic-form.html',\n link: function($scope, element) {\n // =========================\n // Public variables\n // =========================\n $scope.FIELD_TYPE = FIELD_TYPE;\n $scope.formCtrl = undefined;\n $scope.showAllFields = $scope.showAllFields || false;\n\n // =========================\n // Private function\n // =========================\n const init = () => {\n const formElement = element.find('form');\n const formCtrl = formElement.controller('form');\n\n if (!formCtrl) {\n console.error('Form controller not found!');\n return;\n }\n\n $scope.formCtrl = formCtrl;\n const originalSetValidity = formCtrl.$setValidity;\n $scope.formCtrl.$setValidity = function (validationToken, isValid, modelCtrl) {\n originalSetValidity.call(formCtrl, validationToken, isValid, modelCtrl);\n if ($scope.onValidityChange) {\n $scope.onValidityChange({valid: formCtrl.$valid});\n }\n };\n };\n\n // =========================\n // Initialization\n // =========================\n init();\n }\n };\n}\n\n\n","import '../../core/services/graphql.service';\nimport 'angular/core/directives/dynamic-form/dynamic-form.directive';\nimport 'angular/core/directives/multiselect-dropdown/multiselect-dropdown.directive';\n\nconst modules = [\n 'graphdb.framework.core.services.graphql-service',\n];\n\nangular\n .module('graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal', modules)\n .controller('EndpointGenerationResultFailureModalController', EndpointGenerationResultFailureModalController);\n\nEndpointGenerationResultFailureModalController.$inject = ['$scope', '$uibModalInstance', 'data', 'GraphqlContextService'];\n\nfunction EndpointGenerationResultFailureModalController($scope, $uibModalInstance, data, GraphqlContextService) {\n // =========================\n // Private variables\n // =========================\n\n const REPORT_FILE_NAME = 'generation-report.json';\n\n // =========================\n // Public variables\n // =========================\n\n /**\n * The generation report model.\n * @type {EndpointGenerationReport|undefined}\n */\n $scope.endpointReport = undefined;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Handles the download report button click.\n */\n $scope.downloadReport = () => {\n const reportData = JSON.stringify($scope.endpointReport.toJSON(), null, 2);\n const blob = new Blob([reportData], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = $scope.endpointReport.endpointId ? `${$scope.endpointReport.endpointId}-${REPORT_FILE_NAME}` : REPORT_FILE_NAME;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n };\n\n /**\n * Deletes generation report and dismisses the modal.\n */\n $scope.deleteReport = () => {\n GraphqlContextService.deleteEndpointGenerationReport($scope.endpointReport);\n $scope.close();\n }\n\n /**\n * Cancels the operation and dismisses the modal.\n */\n $scope.close = () => {\n $uibModalInstance.dismiss('cancel')\n };\n\n // =========================\n // Private functions\n // =========================\n\n const init = () => {\n $scope.endpointReport = data.endpointReport;\n };\n\n // =========================\n // Initialization\n // =========================\n init();\n}\n"],"names":["dynamicFormFieldDirective","$compile","restrict","scope","field","form","translationKeyPrefix","templateUrl","link","$scope","FIELD_TYPE","angular","module","directive","$inject","GenerateEndpointComponent","ModalService","$uibModal","$translate","$repositories","GraphqlService","GraphqlContextService","stepDefinition","endpointConfiguration","undefined","endpointsCountToGenerate","endpointsOverview","activeRepository","getActiveRepository","generateFromGraphqlSchemaShapes","generatingEndpoint","generationReport","endpointUrl","back","previousEndpointCreationStep","cancel","title","instant","confirmDeleteMessage","openConfirmation","cancelEndpointCreation","generateEndpoint","finishGenerationWorkflow","showEndpointReport","endpointReport","openEndpointGenerationReport","exploreInPlayground","exploreEndpointInPlayground","subscriptions","push","subscribe","GraphqlEventName","ENDPOINT_GENERATED","$on","onDestroy","forEach","subscription","getNewEndpoint","hasSelectedGraphqlSchemaShapes","getEndpointsCountToGenerate","getGenerateEndpointsOverview","require","options","dropdownLabel","element","attrs","ngModel","isOpen","handleDocumentClick","event","contains","target","$apply","toggleDropdown","toggleSelection","option","selected","updateModel","filter","$setViewValue","getSelectedText","selectedOptions","length","map","label","join","$render","isArray","$viewValue","some","selectedOption","value","document","addEventListener","removeEventListener","EventEmitterService","_sourceRepository","_selectedEndpoint","_newEndpointConfiguration","getSourceRepository","emit","payload","emitSync","cloneDeep","callback","subscribeSync","resetContext","updateSourceRepository","repositoryId","SOURCE_REPOSITORY_UPDATED","setSelectedEndpoint","endpoint","getSelectedEndpoint","createEndpointConfig","GraphqlEndpointConfiguration","ENDPOINT_CONFIG_CREATED","onEndpointConfigCreated","isFunction","startCreateEndpointWizard","START_CREATE_ENDPOINT_WIZARD","GENERATE_ENDPOINT","endpointGenerated","endpointGenerationReportList","EXPLORE_ENDPOINT_IN_PLAYGROUND","OPEN_ENDPOINT_GENERATION_REPORT","deleteEndpointGenerationReport","DELETE_ENDPOINT_REPORT","CANCEL_ENDPOINT_CREATION","FINISH_GENERATION_WORKFLOW","nextEndpointCreationStep","NEXT_ENDPOINT_CREATION_STEP","PREVIOUS_ENDPOINT_CREATION_STEP","factory","dynamicFormDirective","formModel","showAllFields","onValidityChange","formCtrl","init","find","controller","console","error","originalSetValidity","$setValidity","validationToken","isValid","modelCtrl","call","valid","$valid","EndpointGenerationResultFailureModalController","$uibModalInstance","data","REPORT_FILE_NAME","downloadReport","reportData","JSON","stringify","toJSON","blob","Blob","type","url","URL","createObjectURL","a","createElement","href","download","endpointId","body","appendChild","click","removeChild","revokeObjectURL","deleteReport","close","dismiss"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=31636;export const __webpack_ids__=[31636];export const __webpack_modules__={31636:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});const a='<link href="css/ttyg/agent-select-menu.css?v=3.1.1" rel="stylesheet"/> <div class="btn-group agent-select-menu" uib-dropdown guide-selector="select-agent-dropdown"> <button type="button" class="btn dropdown-toggle-btn" uib-dropdown-toggle guide-selector="select-agent-dropdown-toggle" ng-attr-title="{{selectedAgent && !selectedAgent.isDeleted ? (selectedAgent.name + \' · \' + selectedAgent.repositoryId) : null}}"> <span ng-if="!selectedAgent">{{\'ttyg.agent.agent_select_menu.no_selection_label\' | translate}}</span> <div ng-if="selectedAgent && !selectedAgent.isDeleted" class="selected-agent-option"> <span class="agent-name" guide-selector="selected-agent">{{selectedAgent.name}}</span> · <i ng-if="!selectedAgent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i> <i ng-if="selectedAgent.isRepositoryDeleted" class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository" gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}"> </i> <span class="repository-id">{{selectedAgent.repositoryId}}</span> <span class="model-name">{{selectedAgent.model}}</span> </div> <span ng-if="selectedAgent && selectedAgent.isDeleted" class="text-warning"> <i class="fa fa-triangle-exclamation"></i> {{\'ttyg.agent.agent_select_menu.deleted_agent\' | translate}} </span> <span class="caret"></span> </button> <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button" guide-selector="select-agent-panel"> <li ng-repeat="agentOption in agentOptionsList" role="menuitem" class="agent-menu-item" ng-class="{\'selected\': agentOption.selected, \'incompatible-agent\': !agentOption.data.agent.isCompatible}" ng-attr-title="{{!agentOption.data.agent.isCompatible ? (\'ttyg.agent.incompatible_agent\' | translate) : agentOption.label + \' · \' + agentOption.data.agent.repositoryId}}"> <a href="#" class="agent-option" ng-click="onAgentSelected($event, agentOption.data.agent)"> <i ng-if="!agentOption.data.agent.isCompatible" class="fa fa-triangle-exclamation text-warning"> </i> <span class="agent-name">{{agentOption.label}}</span> · <i ng-if="!agentOption.data.agent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i> <i ng-if="agentOption.data.agent.isRepositoryDeleted" class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository" gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}"> </i> <span class="repository-id">{{agentOption.data.agent.repositoryId}}</span> </a> <span class="model-name">{{agentOption.data.agent.model}}</span> </li> </ul> </div> '}};
|
|
2
|
-
//# sourceMappingURL=31636.625df78d380dadd69c07.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"31636.625df78d380dadd69c07.bundle.js","mappings":"uJAGA,QAFW,ugF","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/agent-select-menu.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/agent-select-menu.css?v=3.1.1\" rel=\"stylesheet\"/> <div class=\"btn-group agent-select-menu\" uib-dropdown guide-selector=\"select-agent-dropdown\"> <button type=\"button\" class=\"btn dropdown-toggle-btn\" uib-dropdown-toggle guide-selector=\"select-agent-dropdown-toggle\" ng-attr-title=\"{{selectedAgent && !selectedAgent.isDeleted ? (selectedAgent.name + ' · ' + selectedAgent.repositoryId) : null}}\"> <span ng-if=\"!selectedAgent\">{{'ttyg.agent.agent_select_menu.no_selection_label' | translate}}</span> <div ng-if=\"selectedAgent && !selectedAgent.isDeleted\" class=\"selected-agent-option\"> <span class=\"agent-name\" guide-selector=\"selected-agent\">{{selectedAgent.name}}</span> · <i ng-if=\"!selectedAgent.isRepositoryDeleted\" class=\"fa-kit fa-gdb-repo-graphdb\"></i> <i ng-if=\"selectedAgent.isRepositoryDeleted\" class=\"fa fa-triangle-exclamation text-warning agent-with-deleted-repository\" gdb-tooltip=\"{{'ttyg.agent.deleted_repository' | translate}}\"> </i> <span class=\"repository-id\">{{selectedAgent.repositoryId}}</span> <span class=\"model-name\">{{selectedAgent.model}}</span> </div> <span ng-if=\"selectedAgent && selectedAgent.isDeleted\" class=\"text-warning\"> <i class=\"fa fa-triangle-exclamation\"></i> {{'ttyg.agent.agent_select_menu.deleted_agent' | translate}} </span> <span class=\"caret\"></span> </button> <ul class=\"dropdown-menu\" uib-dropdown-menu role=\"menu\" aria-labelledby=\"single-button\" guide-selector=\"select-agent-panel\"> <li ng-repeat=\"agentOption in agentOptionsList\" role=\"menuitem\" class=\"agent-menu-item\" ng-class=\"{'selected': agentOption.selected, 'incompatible-agent': !agentOption.data.agent.isCompatible}\" ng-attr-title=\"{{!agentOption.data.agent.isCompatible ? ('ttyg.agent.incompatible_agent' | translate) : agentOption.label + ' · ' + agentOption.data.agent.repositoryId}}\"> <a href=\"#\" class=\"agent-option\" ng-click=\"onAgentSelected(\\$event, agentOption.data.agent)\"> <i ng-if=\"!agentOption.data.agent.isCompatible\" class=\"fa fa-triangle-exclamation text-warning\"> </i> <span class=\"agent-name\">{{agentOption.label}}</span> · <i ng-if=\"!agentOption.data.agent.isRepositoryDeleted\" class=\"fa-kit fa-gdb-repo-graphdb\"></i> <i ng-if=\"agentOption.data.agent.isRepositoryDeleted\" class=\"fa fa-triangle-exclamation text-warning agent-with-deleted-repository\" gdb-tooltip=\"{{'ttyg.agent.deleted_repository' | translate}}\"> </i> <span class=\"repository-id\">{{agentOption.data.agent.repositoryId}}</span> </a> <span class=\"model-name\">{{agentOption.data.agent.model}}</span> </li> </ul> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=32489;export const __webpack_ids__=[32489];export const __webpack_modules__={32489:(t,n,a)=>{a.r(n),a.d(n,{default:()=>o});const o='<link href="css/operations-statuses-monitor.css?v=3.1.1" rel="stylesheet"/> <div ng-if="activeOperations && activeOperations.operations && activeOperations.operations.length > 0" class="operations-statuses btn-group"> <button type="button" class="btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle" data-toggle="dropdown" ng-if="operationsSummary && operationsSummary.length > 0" ng-class="{\n \'btn-fade-danger\': OPERATION_STATUS.CRITICAL === activeOperations.status,\n \'btn-fade-warning\': OPERATION_STATUS.WARNING === activeOperations.status\n }"> <div class="operation-status-header" ng-repeat="operationGroup in operationsSummary"> <div ng-class="{\n \'icon-import\': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n \'icon-exchange\': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n \'fa fa-archive\': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n \'fa fa-sitemap\': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationGroup.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationGroup.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationGroup.status}"> </div> <span ng-if="operationGroup.runningOperations" class="running-operation-count"> <sup class="tag-info">{{operationGroup.runningOperations}}</sup> </span> </div> <span class="caret"></span> </button> <ul role="menu" class="dropdown-menu dropdown-menu-right"> <div class="operations-statuses-content"> <li ng-repeat="operationStatus in activeOperations.operations"> <a class="operation-status-content btn btn-secondary row" target="_blank" ng-attr-href="{{operationStatus.monitoringViewUrl}}" ng-class="{\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationStatus.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationStatus.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationStatus.status\n }"> <div class="operation-icon col-sm-1" ng-style="noPadding"> <div ng-class="{\n \'icon-import\': OPERATION_TYPE.IMPORTS === operationStatus.type,\n \'icon-exchange\': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n \'fa fa-archive\': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n \'fa fa-sitemap\': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}"> </div> </div> <div class="col-sm-8 operation-status-label"> {{ \'global.operations_statuses.\' + operationStatus.titleLabelKey + \'.title\' | translate }} </div> <div class="operation-number col-sm-3"> <div ng-if="operationStatus.runningOperationCount" class="operation-status-running-operation-count tag-info"> {{operationStatus.runningOperationCount}} </div> </div> </a> </li> </div> </ul> </div> '}};
|
|
2
|
-
//# sourceMappingURL=32489.5f438460389d65300913.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"32489.5f438460389d65300913.bundle.js","mappings":"uJAqBA,QApBW,0hG","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/operations-statuses-monitor.css?v=3.1.1\" rel=\"stylesheet\"/> <div ng-if=\"activeOperations && activeOperations.operations && activeOperations.operations.length > 0\" class=\"operations-statuses btn-group\"> <button type=\"button\" class=\"btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle\" data-toggle=\"dropdown\" ng-if=\"operationsSummary && operationsSummary.length > 0\" ng-class=\"{\n 'btn-fade-danger': OPERATION_STATUS.CRITICAL === activeOperations.status,\n 'btn-fade-warning': OPERATION_STATUS.WARNING === activeOperations.status\n }\"> <div class=\"operation-status-header\" ng-repeat=\"operationGroup in operationsSummary\"> <div ng-class=\"{\n 'icon-import': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n 'icon-exchange': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n 'fa fa-archive': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n 'fa fa-sitemap': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n 'status-critical': OPERATION_STATUS.CRITICAL === operationGroup.status,\n 'status-information': OPERATION_STATUS.INFORMATION === operationGroup.status,\n 'status-warning': OPERATION_STATUS.WARNING === operationGroup.status}\"> </div> <span ng-if=\"operationGroup.runningOperations\" class=\"running-operation-count\"> <sup class=\"tag-info\">{{operationGroup.runningOperations}}</sup> </span> </div> <span class=\"caret\"></span> </button> <ul role=\"menu\" class=\"dropdown-menu dropdown-menu-right\"> <div class=\"operations-statuses-content\"> <li ng-repeat=\"operationStatus in activeOperations.operations\"> <a class=\"operation-status-content btn btn-secondary row\" target=\"_blank\" ng-attr-href=\"{{operationStatus.monitoringViewUrl}}\" ng-class=\"{\n 'status-critical': OPERATION_STATUS.CRITICAL === operationStatus.status,\n 'status-information': OPERATION_STATUS.INFORMATION === operationStatus.status,\n 'status-warning': OPERATION_STATUS.WARNING === operationStatus.status\n }\"> <div class=\"operation-icon col-sm-1\" ng-style=\"noPadding\"> <div ng-class=\"{\n 'icon-import': OPERATION_TYPE.IMPORTS === operationStatus.type,\n 'icon-exchange': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n 'fa fa-archive': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n 'fa fa-sitemap': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}\"> </div> </div> <div class=\"col-sm-8 operation-status-label\"> {{ 'global.operations_statuses.' + operationStatus.titleLabelKey + '.title' | translate }} </div> <div class=\"operation-number col-sm-3\"> <div ng-if=\"operationStatus.runningOperationCount\" class=\"operation-status-running-operation-count tag-info\"> {{operationStatus.runningOperationCount}} </div> </div> </a> </li> </div> </ul> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=32534;export const __webpack_ids__=[10153,32534];export const __webpack_modules__={32534:(e,E,n)=>{n.r(E),n.d(E,{GraphqlEventName:()=>_});var t=n(98980),o=n(10406);function N(e){let E,n,N;const r=()=>E,i=()=>N,T=(E,n)=>{e.emitSync(E,(0,t.cloneDeep)(n))},p=(E,n)=>e.subscribeSync(E,e=>n(e));return{resetContext:()=>{n=void 0,N=void 0},updateSourceRepository:e=>{E=e,T(_.SOURCE_REPOSITORY_UPDATED,r())},getSourceRepository:r,setSelectedEndpoint:e=>{n=e},getSelectedEndpoint:()=>(0,t.cloneDeep)(n),getNewEndpoint:i,createEndpointConfig:()=>{N=new o.GraphqlEndpointConfiguration,e.emitSync(_.ENDPOINT_CONFIG_CREATED,N)},onEndpointConfigCreated:e=>(N&&angular.isFunction(e)&&e(N),p(_.ENDPOINT_CONFIG_CREATED,E=>e(E))),startCreateEndpointWizard:()=>{T(_.START_CREATE_ENDPOINT_WIZARD,null)},generateEndpoint:()=>{T(_.GENERATE_ENDPOINT,i())},endpointGenerated:e=>{T(_.ENDPOINT_GENERATED,e)},exploreEndpointInPlayground:e=>{T(_.EXPLORE_ENDPOINT_IN_PLAYGROUND,e)},openEndpointGenerationReport:e=>{T(_.OPEN_ENDPOINT_GENERATION_REPORT,e)},deleteEndpointGenerationReport:e=>{T(_.DELETE_ENDPOINT_REPORT,e)},cancelEndpointCreation:()=>{T(_.CANCEL_ENDPOINT_CREATION,{})},finishGenerationWorkflow:()=>{T(_.FINISH_GENERATION_WORKFLOW,{})},nextEndpointCreationStep:()=>{T(_.NEXT_ENDPOINT_CREATION_STEP,{})},previousEndpointCreationStep:()=>{T(_.PREVIOUS_ENDPOINT_CREATION_STEP,{})},subscribe:p}}angular.module("graphdb.framework.graphql.services.graphql-context",[]).factory("GraphqlContextService",N),N.$inject=["EventEmitterService","GraphqlService"];const _={SOURCE_REPOSITORY_UPDATED:"sourceRepositoryUpdated",START_CREATE_ENDPOINT_WIZARD:"startCreateEndpointWizard",ENDPOINT_CONFIG_CREATED:"updateConfigCreated",GENERATE_ENDPOINT:"generateEndpoint",ENDPOINT_GENERATED:"endpointGenerated",CANCEL_ENDPOINT_CREATION:"cancelEndpointCreation",FINISH_GENERATION_WORKFLOW:"finishGenerationWorkflow",EXPLORE_ENDPOINT_IN_PLAYGROUND:"exploreEndpointInPlayground",OPEN_ENDPOINT_GENERATION_REPORT:"openEndpointGenerationReport",DELETE_ENDPOINT_REPORT:"deleteEndpointReport",NEXT_ENDPOINT_CREATION_STEP:"nextEndpointCreationStep",PREVIOUS_ENDPOINT_CREATION_STEP:"previousEndpointCreationStep"}}};
|
|
2
|
-
//# sourceMappingURL=32534.73081e468e918a03bd70.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"32534.73081e468e918a03bd70.bundle.js","mappings":"gMAUA,SAASA,EAAsBC,GAK3B,IAAIC,EAQAC,EAOAC,EAMJ,MAAMC,EAAsBA,IACjBH,EAgBLI,EAAiBA,IACZF,EAwGLG,EAAOA,CAACC,EAAOC,KACjBR,EAAoBS,SAASF,GAAOG,EAAAA,EAAAA,WAAUF,KAU5CG,EAAYA,CAACJ,EAAOK,IACfZ,EAAoBa,cAAcN,EAAQC,GAAYI,EAASJ,IAG1E,MAAO,CACHM,aAlHiBA,KACjBZ,OAAoBa,EACpBZ,OAA4BY,GAiH5BC,uBAnI4BC,IAC5BhB,EAAoBgB,EACpBX,EAAKY,EAAiBC,0BAA2Bf,MAkIjDA,sBACAgB,oBA5GyBC,IACzBnB,EAAoBmB,GA4GpBC,oBArGwBA,KACjBZ,EAAAA,EAAAA,WAAUR,GAqGjBG,iBACAkB,qBAhGyBA,KACzBpB,EAA4B,IAAIqB,EAAAA,6BAChCxB,EAAoBS,SAASS,EAAiBO,wBAAyBtB,IA+FvEuB,wBA5F6Bd,IACzBT,GAA6BwB,QAAQC,WAAWhB,IAChDA,EAAST,GAENQ,EAAUO,EAAiBO,wBAA0BJ,GAAaT,EAASS,KAyFlFQ,0BAtF8BA,KAC9BvB,EAAKY,EAAiBY,6BAA8B,OAsFpDC,iBAnEqBA,KACrBzB,EAAKY,EAAiBc,kBAAmB3B,MAmEzC4B,kBA5DuBC,IACvB5B,EAAKY,EAAiBiB,mBAAoBD,IA4D1CE,4BArDiCf,IACjCf,EAAKY,EAAiBmB,+BAAgChB,IAqDtDiB,6BA9CkCC,IAClCjC,EAAKY,EAAiBsB,gCAAiCD,IA8CvDE,+BAvCoCF,IACpCjC,EAAKY,EAAiBwB,uBAAwBH,IAuC9CI,uBAxF2BA,KAC3BrC,EAAKY,EAAiB0B,yBAA0B,CAAC,IAwFjDC,yBArF6BA,KAC7BvC,EAAKY,EAAiB4B,2BAA4B,CAAC,IAqFnDC,yBAlF6BA,KAC7BzC,EAAKY,EAAiB8B,4BAA6B,CAAC,IAkFpDC,6BA/EiCA,KACjC3C,EAAKY,EAAiBgC,gCAAiC,CAAC,IA+ExDvC,YAER,CA9LAgB,QACKwB,OAAO,qDAAsD,IAC7DC,QAAQ,wBAAyBrD,GAEtCA,EAAsBsD,QAAU,CAAC,sBAAuB,kBA4LjD,MAAMnC,EAAmB,CAI5BC,0BAA2B,0BAI3BW,6BAA8B,4BAI9BL,wBAAyB,sBAIzBO,kBAAmB,mBAInBG,mBAAoB,oBAIpBS,yBAA0B,yBAI1BE,2BAA4B,2BAI5BT,+BAAgC,8BAIhCG,gCAAiC,+BAIjCE,uBAAwB,uBAIxBM,4BAA6B,2BAI7BE,gCAAiC,+B","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/graphql-context.service.js"],"sourcesContent":["import {cloneDeep} from 'lodash';\nimport {GraphqlEndpointConfiguration} from \"../../models/graphql/graphql-endpoint-configuration\";\nimport {EndpointGenerationReportList} from \"../../models/graphql/endpoint-generation-report\";\n\nangular\n .module('graphdb.framework.graphql.services.graphql-context', [])\n .factory('GraphqlContextService', GraphqlContextService);\n\nGraphqlContextService.$inject = ['EventEmitterService', 'GraphqlService'];\n\nfunction GraphqlContextService(EventEmitterService) {\n /**\n * The source repository from which the sources for the GraphQL schema generation are retrieved.\n * @type {string|undefined}`\n */\n let _sourceRepository = undefined;\n\n /**\n * The selected GraphQL endpoint info. The endpoint is selected when the user clicks on an endpoint in the endpoint\n * management view.\n * @type {GraphqlEndpointInfo|undefined}\n * @private\n */\n let _selectedEndpoint = undefined;\n\n /**\n * The new GraphQL endpoint is present when a new endpoint is being created.\n * @type {GraphqlEndpointConfiguration|undefined}\n * @private\n */\n let _newEndpointConfiguration = undefined;\n\n /**\n * Returns the value of the source repository.\n * @returns {string|undefined}\n */\n const getSourceRepository = () => {\n return _sourceRepository;\n };\n\n /**\n * Updates the source repository and emits an event with the new repository id.\n * @param {string} repositoryId The new source repository id.\n */\n const updateSourceRepository = (repositoryId) => {\n _sourceRepository = repositoryId;\n emit(GraphqlEventName.SOURCE_REPOSITORY_UPDATED, getSourceRepository());\n };\n\n /**\n * Returns the value of the new GraphQL endpoint.\n * @returns {GraphqlEndpointConfiguration|undefined}\n */\n const getNewEndpoint = () => {\n return _newEndpointConfiguration;\n };\n\n /**\n * Resets the context by clearing all the stored values.\n */\n const resetContext = () => {\n _selectedEndpoint = undefined;\n _newEndpointConfiguration = undefined;\n };\n\n /**\n * Sets the selected GraphQL endpoint.\n * @param {GraphqlEndpointInfo|EndpointGenerationReport} endpoint The selected endpoint.\n */\n const setSelectedEndpoint = (endpoint) => {\n _selectedEndpoint = endpoint;\n };\n\n /**\n * Returns a clone value of the selected GraphQL endpoint.\n * @return {GraphqlEndpointInfo|undefined}\n */\n const getSelectedEndpoint = () => {\n return cloneDeep(_selectedEndpoint);\n };\n\n /**\n * Initializes the new endpoint configuration and emits an event with the new endpoint configuration.\n */\n const createEndpointConfig = () => {\n _newEndpointConfiguration = new GraphqlEndpointConfiguration();\n EventEmitterService.emitSync(GraphqlEventName.ENDPOINT_CONFIG_CREATED, _newEndpointConfiguration);\n }\n\n const onEndpointConfigCreated = (callback) => {\n if (_newEndpointConfiguration && angular.isFunction(callback)) {\n callback(_newEndpointConfiguration);\n }\n return subscribe(GraphqlEventName.ENDPOINT_CONFIG_CREATED, (endpoint) => callback(endpoint));\n };\n\n const startCreateEndpointWizard = () => {\n emit(GraphqlEventName.START_CREATE_ENDPOINT_WIZARD, null);\n };\n\n const cancelEndpointCreation = () => {\n emit(GraphqlEventName.CANCEL_ENDPOINT_CREATION, {});\n }\n\n const finishGenerationWorkflow = () => {\n emit(GraphqlEventName.FINISH_GENERATION_WORKFLOW, {});\n }\n\n const nextEndpointCreationStep = () => {\n emit(GraphqlEventName.NEXT_ENDPOINT_CREATION_STEP, {});\n }\n\n const previousEndpointCreationStep = () => {\n emit(GraphqlEventName.PREVIOUS_ENDPOINT_CREATION_STEP, {});\n }\n\n const generateEndpoint = () => {\n emit(GraphqlEventName.GENERATE_ENDPOINT, getNewEndpoint());\n }\n\n /**\n * Emits an event when the endpoint generation is completed.\n * @param {EndpointGenerationReportList} endpointGenerationReportList The list of endpoint generation reports.\n */\n const endpointGenerated = (endpointGenerationReportList) => {\n emit(GraphqlEventName.ENDPOINT_GENERATED, endpointGenerationReportList);\n }\n\n /**\n * Emits an event to explore the generated endpoint in the GraphQL Playground.\n * @param endpoint\n */\n const exploreEndpointInPlayground = (endpoint) => {\n emit(GraphqlEventName.EXPLORE_ENDPOINT_IN_PLAYGROUND, endpoint);\n }\n\n /**\n * Emits an event to open the endpoint generation report.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n const openEndpointGenerationReport = (endpointReport) => {\n emit(GraphqlEventName.OPEN_ENDPOINT_GENERATION_REPORT, endpointReport);\n }\n\n /**\n * Emits an event to delete the endpoint generation report.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n const deleteEndpointGenerationReport = (endpointReport) => {\n emit(GraphqlEventName.DELETE_ENDPOINT_REPORT, endpointReport);\n }\n\n /**\n * Emits an event with a deep-cloned payload using the EventEmitterService.\n *\n * @param {string} event - The name of the event to emit. It must be a value from {@link GraphqlEventName}.\n * @param {*} payload - The data to emit with the event. The payload is deep-cloned before emission.\n */\n const emit = (event, payload) => {\n EventEmitterService.emitSync(event, cloneDeep(payload));\n };\n\n /**\n * Subscribes to an event with the specified callback using the EventEmitterService.\n *\n * @param {string} event - The name of the event to subscribe to. It must be a value from {@link GraphqlEventName}.\n * @param {function} callback - The function to call when the event is emitted.\n * @return {function} - Returns a function that can be called to unsubscribe from the event.\n */\n const subscribe = (event, callback) => {\n return EventEmitterService.subscribeSync(event, (payload) => callback(payload));\n };\n\n return {\n resetContext,\n updateSourceRepository,\n getSourceRepository,\n setSelectedEndpoint,\n getSelectedEndpoint,\n getNewEndpoint,\n createEndpointConfig,\n onEndpointConfigCreated,\n startCreateEndpointWizard,\n generateEndpoint,\n endpointGenerated,\n exploreEndpointInPlayground,\n openEndpointGenerationReport,\n deleteEndpointGenerationReport,\n cancelEndpointCreation,\n finishGenerationWorkflow,\n nextEndpointCreationStep,\n previousEndpointCreationStep,\n subscribe\n };\n}\n\nexport const GraphqlEventName = {\n /**\n * The event emitted when the source repository is updated.\n */\n SOURCE_REPOSITORY_UPDATED: 'sourceRepositoryUpdated',\n /**\n * The event emitted when the user wants to start the create endpoint wizard.\n */\n START_CREATE_ENDPOINT_WIZARD: 'startCreateEndpointWizard',\n /**\n * The event emitted when an endpoint configuration is created.\n */\n ENDPOINT_CONFIG_CREATED: 'updateConfigCreated',\n /**\n * The event emitted when a new GraphQL endpoint should be generated.\n */\n GENERATE_ENDPOINT: 'generateEndpoint',\n /**\n * The event emitted when the GraphQL endpoint generation completes.\n */\n ENDPOINT_GENERATED: 'endpointGenerated',\n /**\n * The event emitted when the user wants to cancel the endpoint creation.\n */\n CANCEL_ENDPOINT_CREATION: 'cancelEndpointCreation',\n /**\n * The event emitted when the user wants to finish the endpoint generation workflow.\n */\n FINISH_GENERATION_WORKFLOW: 'finishGenerationWorkflow',\n /**\n * The event emitted when the user wants to explore the generated endpoint in the GraphQL Playground.\n */\n EXPLORE_ENDPOINT_IN_PLAYGROUND: 'exploreEndpointInPlayground',\n /**\n * The event emitted when the user wants to open the endpoint generation report.\n */\n OPEN_ENDPOINT_GENERATION_REPORT: 'openEndpointGenerationReport',\n /**\n * The event emitted when the user wants to delete the endpoint generation report.\n */\n DELETE_ENDPOINT_REPORT: 'deleteEndpointReport',\n /**\n * The event emitted when the user wants to move to the next step in the create endpoint wizard.\n */\n NEXT_ENDPOINT_CREATION_STEP: 'nextEndpointCreationStep',\n /**\n * The event emitted when the user wants to move to the previous step in the create endpoint wizard.\n */\n PREVIOUS_ENDPOINT_CREATION_STEP: 'previousEndpointCreationStep'\n};\n"],"names":["GraphqlContextService","EventEmitterService","_sourceRepository","_selectedEndpoint","_newEndpointConfiguration","getSourceRepository","getNewEndpoint","emit","event","payload","emitSync","cloneDeep","subscribe","callback","subscribeSync","resetContext","undefined","updateSourceRepository","repositoryId","GraphqlEventName","SOURCE_REPOSITORY_UPDATED","setSelectedEndpoint","endpoint","getSelectedEndpoint","createEndpointConfig","GraphqlEndpointConfiguration","ENDPOINT_CONFIG_CREATED","onEndpointConfigCreated","angular","isFunction","startCreateEndpointWizard","START_CREATE_ENDPOINT_WIZARD","generateEndpoint","GENERATE_ENDPOINT","endpointGenerated","endpointGenerationReportList","ENDPOINT_GENERATED","exploreEndpointInPlayground","EXPLORE_ENDPOINT_IN_PLAYGROUND","openEndpointGenerationReport","endpointReport","OPEN_ENDPOINT_GENERATION_REPORT","deleteEndpointGenerationReport","DELETE_ENDPOINT_REPORT","cancelEndpointCreation","CANCEL_ENDPOINT_CREATION","finishGenerationWorkflow","FINISH_GENERATION_WORKFLOW","nextEndpointCreationStep","NEXT_ENDPOINT_CREATION_STEP","previousEndpointCreationStep","PREVIOUS_ENDPOINT_CREATION_STEP","module","factory","$inject"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=32606;export const __webpack_ids__=[3632,10153,32534,32606];export const __webpack_modules__={3632:(e,t,o)=>{o.r(t);var a=o(98980);function i(){return{restrict:"E",scope:{options:"=",selected:"=",labels:"="},templateUrl:"js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html",link:function(e){const t=[];e.searchLeft="",e.availableOptions=[],e.selectedOptions=[],e.selectOption=t=>{e.selectedOptions.push(t),e.availableOptions=e.availableOptions.filter(e=>e!==t),o()},e.selectAll=()=>{e.selectedOptions=e.selectedOptions.concat(e.availableOptions),e.availableOptions=[],o()},e.deselectOption=t=>{e.availableOptions.push(t),e.selectedOptions=e.selectedOptions.filter(e=>e!==t),o()},e.deselectAll=()=>{e.availableOptions=e.availableOptions.concat(e.selectedOptions),e.selectedOptions=[],o()};const o=()=>{e.selected=[...e.selectedOptions]};e.$on("$destroy",()=>{t.forEach(e=>e())}),e.selectedOptions=(0,a.cloneDeep)(e.selected),e.selectedOptions.length?e.availableOptions=e.options.filter(t=>!e.selectedOptions.find(e=>e.id===t.id)):e.availableOptions=(0,a.cloneDeep)(e.options)}}}angular.module("graphdb.framework.core.directives.shuttle-multiselect",[]).directive("shuttleMultiselect",i),i.$inject=[]},32534:(e,t,o)=>{o.r(t),o.d(t,{GraphqlEventName:()=>l});var a=o(98980),i=o(10406);function n(e){let t,o,n;const r=()=>t,s=()=>n,p=(t,o)=>{e.emitSync(t,(0,a.cloneDeep)(o))},c=(t,o)=>e.subscribeSync(t,e=>o(e));return{resetContext:()=>{o=void 0,n=void 0},updateSourceRepository:e=>{t=e,p(l.SOURCE_REPOSITORY_UPDATED,r())},getSourceRepository:r,setSelectedEndpoint:e=>{o=e},getSelectedEndpoint:()=>(0,a.cloneDeep)(o),getNewEndpoint:s,createEndpointConfig:()=>{n=new i.GraphqlEndpointConfiguration,e.emitSync(l.ENDPOINT_CONFIG_CREATED,n)},onEndpointConfigCreated:e=>(n&&angular.isFunction(e)&&e(n),c(l.ENDPOINT_CONFIG_CREATED,t=>e(t))),startCreateEndpointWizard:()=>{p(l.START_CREATE_ENDPOINT_WIZARD,null)},generateEndpoint:()=>{p(l.GENERATE_ENDPOINT,s())},endpointGenerated:e=>{p(l.ENDPOINT_GENERATED,e)},exploreEndpointInPlayground:e=>{p(l.EXPLORE_ENDPOINT_IN_PLAYGROUND,e)},openEndpointGenerationReport:e=>{p(l.OPEN_ENDPOINT_GENERATION_REPORT,e)},deleteEndpointGenerationReport:e=>{p(l.DELETE_ENDPOINT_REPORT,e)},cancelEndpointCreation:()=>{p(l.CANCEL_ENDPOINT_CREATION,{})},finishGenerationWorkflow:()=>{p(l.FINISH_GENERATION_WORKFLOW,{})},nextEndpointCreationStep:()=>{p(l.NEXT_ENDPOINT_CREATION_STEP,{})},previousEndpointCreationStep:()=>{p(l.PREVIOUS_ENDPOINT_CREATION_STEP,{})},subscribe:c}}angular.module("graphdb.framework.graphql.services.graphql-context",[]).factory("GraphqlContextService",n),n.$inject=["EventEmitterService","GraphqlService"];const l={SOURCE_REPOSITORY_UPDATED:"sourceRepositoryUpdated",START_CREATE_ENDPOINT_WIZARD:"startCreateEndpointWizard",ENDPOINT_CONFIG_CREATED:"updateConfigCreated",GENERATE_ENDPOINT:"generateEndpoint",ENDPOINT_GENERATED:"endpointGenerated",CANCEL_ENDPOINT_CREATION:"cancelEndpointCreation",FINISH_GENERATION_WORKFLOW:"finishGenerationWorkflow",EXPLORE_ENDPOINT_IN_PLAYGROUND:"exploreEndpointInPlayground",OPEN_ENDPOINT_GENERATION_REPORT:"openEndpointGenerationReport",DELETE_ENDPOINT_REPORT:"deleteEndpointReport",NEXT_ENDPOINT_CREATION_STEP:"nextEndpointCreationStep",PREVIOUS_ENDPOINT_CREATION_STEP:"previousEndpointCreationStep"}},32606:(e,t,o)=>{o.r(t),o(3632);var a=o(82854),i=o(32534),n=o(21388);function l(e,t,o,l,r,s,p,c){return{restrict:"E",templateUrl:"js/angular/graphql/templates/step-select-schema-sources.html",scope:{stepDefinition:"="},link:(r,d)=>{const h=[];r.schemaSourceType=n.SchemaSourceType,r.ontologyShaclShapeSource=n.OntologyShaclShapeSource,r.shapesMultiselectLabels={availableOptionsTitle:"graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.title",availableOptionsFilter:"graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.filter_placeholder",selectedOptionsTitle:"graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.title",selectedOptionsCount:"graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.count",selectTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add.tooltip",selectAllLabel:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.label",selectAllTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.tooltip",deselectTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove.tooltip",deselectAllLabel:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.label",deselectAllTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.tooltip"},r.graphsMultiselectLabels={availableOptionsTitle:"graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.title",availableOptionsFilter:"graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.filter_placeholder",selectedOptionsTitle:"graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.title",selectedOptionsCount:"graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.count",selectTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add.tooltip",selectAllLabel:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.label",selectAllTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.tooltip",deselectTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove.tooltip",deselectAllLabel:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.label",deselectAllTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.tooltip"},r.endpointConfiguration=void 0,r.prefixList=[],r.loadingPrefixes=!1,r.graphs=void 0,r.shaclShapeGraphs=void 0,r.graphqlSchemaShapes=void 0,r.allGraphs=void 0,r.loadingGraphs=!1,r.cancel=()=>{const e=o.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title"),a=o.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body");t.openConfirmation(e,a,()=>{s.cancelEndpointCreation()})},r.next=()=>{s.nextEndpointCreationStep()},r.onSchemaSourceTypeChange=()=>{r.endpointConfiguration.schemaSourceType=r.stepDefinition.schemaSourceType,r.endpointConfiguration.generateFromShaclShapes()&&(r.stepDefinition.ontotlogyShaclShapeSource===n.OntologyShaclShapeSource.USE_ALL_GRAPHS?r.endpointConfiguration.selectedGraphs=r.allGraphs:r.stepDefinition.ontotlogyShaclShapeSource===n.OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH?r.endpointConfiguration.selectedGraphs=r.shaclShapeGraphs:r.stepDefinition.ontotlogyShaclShapeSource===n.OntologyShaclShapeSource.PICK_GRAPHS&&(r.endpointConfiguration.selectedGraphs=new a.GraphListOptions))},r.onOntologyShaclShapeSourceChange=()=>{r.endpointConfiguration.owlOrShaclSourceType=r.stepDefinition.ontotlogyShaclShapeSource,r.stepDefinition.ontotlogyShaclShapeSource===n.OntologyShaclShapeSource.USE_ALL_GRAPHS?r.endpointConfiguration.selectedGraphs=r.allGraphs:r.stepDefinition.ontotlogyShaclShapeSource===n.OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH?r.endpointConfiguration.selectedGraphs=r.shaclShapeGraphs:r.stepDefinition.ontotlogyShaclShapeSource===n.OntologyShaclShapeSource.PICK_GRAPHS&&(r.endpointConfiguration.selectedGraphs=new a.GraphListOptions)},r.canProceed=()=>{let e=!1;if(r.endpointConfiguration){const t=r.endpointConfiguration.hasSelectedGraphqlSchemaShapes(),o=r.endpointParamsForm.$valid;r.stepDefinition.schemaSourceType===n.SchemaSourceType.GRAPHQL_SCHEMA_SHAPES&&t?e=!0:r.stepDefinition.schemaSourceType===n.SchemaSourceType.SHACL_SHAPES&&o&&(e=r.endpointConfiguration.owlOrShaclSourceType===n.OntologyShaclShapeSource.USE_ALL_GRAPHS||r.endpointConfiguration.hasSelectedGraphs())}return e};const _=t=>{r.loadingData=!0,e.all([(r.loadingPrefixes=!0,p.getPrefixListAsSelectOptions(s.getSourceRepository()).catch(e=>{console.error("Error loading prefixes",e),l.error(getError(e))}).finally(()=>{r.loadingPrefixes=!1})),(r.loadingGraphs=!0,c.getGraphs(s.getSourceRepository()).catch(e=>{console.error("Error loading graphs",e),l.error(getError(e))}).finally(()=>{r.loadingGraphs=!1})),p.getGraphqlSchemaShapes(s.getSourceRepository()).catch(e=>{console.error("Error loading GraphQL schema shapes",e),l.error(getError(e))}),p.getShaclShapeGraphs(s.getSourceRepository()).catch(e=>{console.error("Error loading SHACL shape graphs",e),l.error(getError(e))})]).then(([e,o,i,n])=>{r.graphqlSchemaShapes=i,r.graphs=o,r.shaclShapeGraphs=n,r.allGraphs=new a.GraphListOptions([...o.graphList,...n.graphList]),r.prefixList=e,r.endpointConfiguration=t}).finally(()=>{r.loadingData=!1})},S=()=>{_(s.getNewEndpoint())},E=()=>{h.forEach(e=>e())};(()=>{r.$on("$destroy",E),h.push(s.subscribe(i.GraphqlEventName.SOURCE_REPOSITORY_UPDATED,S));const e=s.getNewEndpoint();e?_(e):h.push(s.onEndpointConfigCreated(_))})()}}}angular.module("graphdb.framework.graphql.directives.select-schema-sources",["graphdb.framework.core.directives.shuttle-multiselect"]).directive("selectSchemaSources",l),l.$inject=["$q","ModalService","$translate","toastr","$repositories","GraphqlContextService","GraphqlService","RDF4JRepositoriesService"]}};
|
|
2
|
-
//# sourceMappingURL=32606.376e14770ba6e81b7159.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"32606.376e14770ba6e81b7159.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/shuttle-multiselect/shuttle-multiselect.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/graphql-context.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/directives/select-schema-sources.directive.js"],"sourcesContent":["import {cloneDeep} from \"lodash\";\n\nangular\n .module('graphdb.framework.core.directives.shuttle-multiselect', [])\n .directive('shuttleMultiselect', ShuttleMultiselect);\n\nShuttleMultiselect.$inject = [];\n\nfunction ShuttleMultiselect() {\n return {\n restrict: 'E',\n scope: {\n /**\n * The list of options to be displayed in the shuttle.\n * @type {{label: string, id: string}[]}\n */\n options: '=',\n /**\n * The list of selected options.\n * @type {{label: string, id: string}[]}\n */\n selected: '=',\n /**\n * availableOptionsTitle\n * availableOptionsFilter\n * selectedOptionsTitle\n * selectedOptionsCount\n * selectTooltip\n * selectAllLabel\n * selectAllTooltip\n * deselectTooltip\n * deselectAllLabel\n * deselectAllTooltip\n */\n labels: '='\n },\n templateUrl: 'js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html',\n link: function ($scope) {\n\n // =========================\n // Private variables\n // =========================\n\n const subscriptions = [];\n\n // =========================\n // Public variables\n // =========================\n\n $scope.searchLeft = '';\n $scope.availableOptions = [];\n $scope.selectedOptions = [];\n\n // =========================\n // Public functions\n // =========================\n\n $scope.selectOption = (option) => {\n $scope.selectedOptions.push(option);\n $scope.availableOptions = $scope.availableOptions.filter((opt) => opt !== option);\n updateSelected();\n };\n\n $scope.selectAll = () => {\n $scope.selectedOptions = $scope.selectedOptions.concat($scope.availableOptions);\n $scope.availableOptions = [];\n updateSelected();\n };\n\n $scope.deselectOption = (option) => {\n $scope.availableOptions.push(option);\n $scope.selectedOptions = $scope.selectedOptions.filter((opt) => opt !== option);\n updateSelected();\n };\n\n $scope.deselectAll = () => {\n $scope.availableOptions = $scope.availableOptions.concat($scope.selectedOptions);\n $scope.selectedOptions = [];\n updateSelected();\n };\n\n // =========================\n // Private functions\n // =========================\n\n const updateSelected = () => {\n $scope.selected = [...$scope.selectedOptions];\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n const removeAllSubscribers = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n // Deregister the watcher when the scope/directive is destroyed\n $scope.$on('$destroy', removeAllSubscribers);\n\n const onInit = () => {\n $scope.selectedOptions = cloneDeep($scope.selected);\n // If there are selected options, filter them out from the available options\n if ($scope.selectedOptions.length) {\n $scope.availableOptions = $scope.options\n .filter(\n (option) => !$scope.selectedOptions\n .find((selectedOption) => selectedOption.id === option.id));\n } else {\n $scope.availableOptions = cloneDeep($scope.options);\n }\n }\n onInit();\n }\n };\n}\n","import {cloneDeep} from 'lodash';\nimport {GraphqlEndpointConfiguration} from \"../../models/graphql/graphql-endpoint-configuration\";\nimport {EndpointGenerationReportList} from \"../../models/graphql/endpoint-generation-report\";\n\nangular\n .module('graphdb.framework.graphql.services.graphql-context', [])\n .factory('GraphqlContextService', GraphqlContextService);\n\nGraphqlContextService.$inject = ['EventEmitterService', 'GraphqlService'];\n\nfunction GraphqlContextService(EventEmitterService) {\n /**\n * The source repository from which the sources for the GraphQL schema generation are retrieved.\n * @type {string|undefined}`\n */\n let _sourceRepository = undefined;\n\n /**\n * The selected GraphQL endpoint info. The endpoint is selected when the user clicks on an endpoint in the endpoint\n * management view.\n * @type {GraphqlEndpointInfo|undefined}\n * @private\n */\n let _selectedEndpoint = undefined;\n\n /**\n * The new GraphQL endpoint is present when a new endpoint is being created.\n * @type {GraphqlEndpointConfiguration|undefined}\n * @private\n */\n let _newEndpointConfiguration = undefined;\n\n /**\n * Returns the value of the source repository.\n * @returns {string|undefined}\n */\n const getSourceRepository = () => {\n return _sourceRepository;\n };\n\n /**\n * Updates the source repository and emits an event with the new repository id.\n * @param {string} repositoryId The new source repository id.\n */\n const updateSourceRepository = (repositoryId) => {\n _sourceRepository = repositoryId;\n emit(GraphqlEventName.SOURCE_REPOSITORY_UPDATED, getSourceRepository());\n };\n\n /**\n * Returns the value of the new GraphQL endpoint.\n * @returns {GraphqlEndpointConfiguration|undefined}\n */\n const getNewEndpoint = () => {\n return _newEndpointConfiguration;\n };\n\n /**\n * Resets the context by clearing all the stored values.\n */\n const resetContext = () => {\n _selectedEndpoint = undefined;\n _newEndpointConfiguration = undefined;\n };\n\n /**\n * Sets the selected GraphQL endpoint.\n * @param {GraphqlEndpointInfo|EndpointGenerationReport} endpoint The selected endpoint.\n */\n const setSelectedEndpoint = (endpoint) => {\n _selectedEndpoint = endpoint;\n };\n\n /**\n * Returns a clone value of the selected GraphQL endpoint.\n * @return {GraphqlEndpointInfo|undefined}\n */\n const getSelectedEndpoint = () => {\n return cloneDeep(_selectedEndpoint);\n };\n\n /**\n * Initializes the new endpoint configuration and emits an event with the new endpoint configuration.\n */\n const createEndpointConfig = () => {\n _newEndpointConfiguration = new GraphqlEndpointConfiguration();\n EventEmitterService.emitSync(GraphqlEventName.ENDPOINT_CONFIG_CREATED, _newEndpointConfiguration);\n }\n\n const onEndpointConfigCreated = (callback) => {\n if (_newEndpointConfiguration && angular.isFunction(callback)) {\n callback(_newEndpointConfiguration);\n }\n return subscribe(GraphqlEventName.ENDPOINT_CONFIG_CREATED, (endpoint) => callback(endpoint));\n };\n\n const startCreateEndpointWizard = () => {\n emit(GraphqlEventName.START_CREATE_ENDPOINT_WIZARD, null);\n };\n\n const cancelEndpointCreation = () => {\n emit(GraphqlEventName.CANCEL_ENDPOINT_CREATION, {});\n }\n\n const finishGenerationWorkflow = () => {\n emit(GraphqlEventName.FINISH_GENERATION_WORKFLOW, {});\n }\n\n const nextEndpointCreationStep = () => {\n emit(GraphqlEventName.NEXT_ENDPOINT_CREATION_STEP, {});\n }\n\n const previousEndpointCreationStep = () => {\n emit(GraphqlEventName.PREVIOUS_ENDPOINT_CREATION_STEP, {});\n }\n\n const generateEndpoint = () => {\n emit(GraphqlEventName.GENERATE_ENDPOINT, getNewEndpoint());\n }\n\n /**\n * Emits an event when the endpoint generation is completed.\n * @param {EndpointGenerationReportList} endpointGenerationReportList The list of endpoint generation reports.\n */\n const endpointGenerated = (endpointGenerationReportList) => {\n emit(GraphqlEventName.ENDPOINT_GENERATED, endpointGenerationReportList);\n }\n\n /**\n * Emits an event to explore the generated endpoint in the GraphQL Playground.\n * @param endpoint\n */\n const exploreEndpointInPlayground = (endpoint) => {\n emit(GraphqlEventName.EXPLORE_ENDPOINT_IN_PLAYGROUND, endpoint);\n }\n\n /**\n * Emits an event to open the endpoint generation report.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n const openEndpointGenerationReport = (endpointReport) => {\n emit(GraphqlEventName.OPEN_ENDPOINT_GENERATION_REPORT, endpointReport);\n }\n\n /**\n * Emits an event to delete the endpoint generation report.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n const deleteEndpointGenerationReport = (endpointReport) => {\n emit(GraphqlEventName.DELETE_ENDPOINT_REPORT, endpointReport);\n }\n\n /**\n * Emits an event with a deep-cloned payload using the EventEmitterService.\n *\n * @param {string} event - The name of the event to emit. It must be a value from {@link GraphqlEventName}.\n * @param {*} payload - The data to emit with the event. The payload is deep-cloned before emission.\n */\n const emit = (event, payload) => {\n EventEmitterService.emitSync(event, cloneDeep(payload));\n };\n\n /**\n * Subscribes to an event with the specified callback using the EventEmitterService.\n *\n * @param {string} event - The name of the event to subscribe to. It must be a value from {@link GraphqlEventName}.\n * @param {function} callback - The function to call when the event is emitted.\n * @return {function} - Returns a function that can be called to unsubscribe from the event.\n */\n const subscribe = (event, callback) => {\n return EventEmitterService.subscribeSync(event, (payload) => callback(payload));\n };\n\n return {\n resetContext,\n updateSourceRepository,\n getSourceRepository,\n setSelectedEndpoint,\n getSelectedEndpoint,\n getNewEndpoint,\n createEndpointConfig,\n onEndpointConfigCreated,\n startCreateEndpointWizard,\n generateEndpoint,\n endpointGenerated,\n exploreEndpointInPlayground,\n openEndpointGenerationReport,\n deleteEndpointGenerationReport,\n cancelEndpointCreation,\n finishGenerationWorkflow,\n nextEndpointCreationStep,\n previousEndpointCreationStep,\n subscribe\n };\n}\n\nexport const GraphqlEventName = {\n /**\n * The event emitted when the source repository is updated.\n */\n SOURCE_REPOSITORY_UPDATED: 'sourceRepositoryUpdated',\n /**\n * The event emitted when the user wants to start the create endpoint wizard.\n */\n START_CREATE_ENDPOINT_WIZARD: 'startCreateEndpointWizard',\n /**\n * The event emitted when an endpoint configuration is created.\n */\n ENDPOINT_CONFIG_CREATED: 'updateConfigCreated',\n /**\n * The event emitted when a new GraphQL endpoint should be generated.\n */\n GENERATE_ENDPOINT: 'generateEndpoint',\n /**\n * The event emitted when the GraphQL endpoint generation completes.\n */\n ENDPOINT_GENERATED: 'endpointGenerated',\n /**\n * The event emitted when the user wants to cancel the endpoint creation.\n */\n CANCEL_ENDPOINT_CREATION: 'cancelEndpointCreation',\n /**\n * The event emitted when the user wants to finish the endpoint generation workflow.\n */\n FINISH_GENERATION_WORKFLOW: 'finishGenerationWorkflow',\n /**\n * The event emitted when the user wants to explore the generated endpoint in the GraphQL Playground.\n */\n EXPLORE_ENDPOINT_IN_PLAYGROUND: 'exploreEndpointInPlayground',\n /**\n * The event emitted when the user wants to open the endpoint generation report.\n */\n OPEN_ENDPOINT_GENERATION_REPORT: 'openEndpointGenerationReport',\n /**\n * The event emitted when the user wants to delete the endpoint generation report.\n */\n DELETE_ENDPOINT_REPORT: 'deleteEndpointReport',\n /**\n * The event emitted when the user wants to move to the next step in the create endpoint wizard.\n */\n NEXT_ENDPOINT_CREATION_STEP: 'nextEndpointCreationStep',\n /**\n * The event emitted when the user wants to move to the previous step in the create endpoint wizard.\n */\n PREVIOUS_ENDPOINT_CREATION_STEP: 'previousEndpointCreationStep'\n};\n","import 'angular/core/directives/shuttle-multiselect/shuttle-multiselect.directive';\nimport {GraphListOptions} from \"../../models/graphs/graph-list-options\";\nimport {GraphqlEventName} from \"../services/graphql-context.service\";\nimport {OntologyShaclShapeSource, SchemaSourceType} from \"../../models/graphql/create-endpoint-wizard-steps\";\n\nconst modules = [\n 'graphdb.framework.core.directives.shuttle-multiselect'\n]\n\nangular\n .module('graphdb.framework.graphql.directives.select-schema-sources', modules)\n .directive('selectSchemaSources', SelectSchemaSourcesComponent);\n\nSelectSchemaSourcesComponent.$inject = ['$q', 'ModalService', '$translate', 'toastr', '$repositories', 'GraphqlContextService', 'GraphqlService', 'RDF4JRepositoriesService'];\n\nfunction SelectSchemaSourcesComponent($q, ModalService, $translate, toastr, $repositories, GraphqlContextService, GraphqlService, RDF4JRepositoriesService) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/graphql/templates/step-select-schema-sources.html',\n scope: {\n stepDefinition: '='\n },\n link: ($scope, element) => {\n\n // =========================\n // Private variables\n // =========================\n\n const subscriptions = [];\n\n // =========================\n // Public variables\n // =========================\n\n $scope.schemaSourceType = SchemaSourceType;\n $scope.ontologyShaclShapeSource = OntologyShaclShapeSource;\n\n /**\n * The label keys for the shacl shapes multiselect component.\n */\n $scope.shapesMultiselectLabels = {\n availableOptionsTitle: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.title',\n availableOptionsFilter: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.filter_placeholder',\n selectedOptionsTitle: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.title',\n selectedOptionsCount: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.count',\n selectTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add.tooltip',\n selectAllLabel: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.label',\n selectAllTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.tooltip',\n deselectTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove.tooltip',\n deselectAllLabel: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.label',\n deselectAllTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.tooltip'\n };\n\n /**\n * The label keys for the graphs multiselect component.\n */\n $scope.graphsMultiselectLabels = {\n availableOptionsTitle: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.title',\n availableOptionsFilter: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.filter_placeholder',\n selectedOptionsTitle: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.title',\n selectedOptionsCount: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.count',\n selectTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add.tooltip',\n selectAllLabel: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.label',\n selectAllTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.tooltip',\n deselectTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove.tooltip',\n deselectAllLabel: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.label',\n deselectAllTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.tooltip'\n }\n\n /**\n * The endpoint configuration model.\n * @type {GraphqlEndpointConfiguration|undefined}\n */\n $scope.endpointConfiguration = undefined\n\n /**\n * A list of prefixes available for the endpoint\n * @type {SelectMenuOptionsModel[]}\n */\n $scope.prefixList = [];\n\n /**\n * Flag indicating whether the prefixes are being loaded.\n * @type {boolean}\n */\n $scope.loadingPrefixes = false;\n\n /**\n * The list of graphs in the repository.\n * @type {GraphListOptions|undefined}\n */\n $scope.graphs = undefined;\n\n /**\n * The list of SHACL shape graphs in the repository.\n * @type {GraphListOptions|undefined}\n */\n $scope.shaclShapeGraphs = undefined;\n\n /**\n * The list of GraphQL schema shapes in the repository. The graphql shapes multiselect component uses this\n * list.\n * @type {GraphqlSchemaShapes|undefined}\n */\n $scope.graphqlSchemaShapes = undefined;\n\n /**\n * The list of all graphs in the repository. The graphs multiselect component uses this list.\n * @type {GraphListOptions|undefined}\n */\n $scope.allGraphs = undefined;\n\n /**\n * Flag indicating whether the graphs are being loaded.\n * @type {boolean}\n */\n $scope.loadingGraphs = false;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Handles the termination of the create endpoint wizard.\n */\n $scope.cancel = () => {\n const title = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title');\n const confirmDeleteMessage = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body');\n ModalService.openConfirmation(title, confirmDeleteMessage, () => {\n GraphqlContextService.cancelEndpointCreation();\n });\n };\n\n /**\n * Handles the transition to the next step in the create endpoint wizard.\n */\n $scope.next = () => {\n GraphqlContextService.nextEndpointCreationStep();\n };\n\n /**\n * Handles the switch between schema source types in the UI. Switching schema source types renders different\n * UI components for selecting the schema source and uses different data models.\n */\n $scope.onSchemaSourceTypeChange = () => {\n $scope.endpointConfiguration.schemaSourceType = $scope.stepDefinition.schemaSourceType;\n if ($scope.endpointConfiguration.generateFromShaclShapes()) {\n if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_ALL_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = $scope.allGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH) {\n $scope.endpointConfiguration.selectedGraphs = $scope.shaclShapeGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.PICK_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = new GraphListOptions();\n }\n }\n };\n\n /**\n * Handles the switch between ontology and SHACL shape sources in the UI. Switching between sources changes\n * the list of graphs available for selection.\n */\n $scope.onOntologyShaclShapeSourceChange = () => {\n $scope.endpointConfiguration.owlOrShaclSourceType = $scope.stepDefinition.ontotlogyShaclShapeSource;\n if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_ALL_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = $scope.allGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH) {\n $scope.endpointConfiguration.selectedGraphs = $scope.shaclShapeGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.PICK_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = new GraphListOptions();\n }\n };\n\n /**\n * Handles the transition to the next step in the create endpoint wizard.\n * @returns {boolean}\n */\n $scope.canProceed = () => {\n let canProceed = false;\n if ($scope.endpointConfiguration) {\n const hasSelectedShapes = $scope.endpointConfiguration.hasSelectedGraphqlSchemaShapes();\n const hasValidEndpointParameters = $scope.endpointParamsForm.$valid;\n // The first option (radiobutton) allows the user to select graphql shapes.\n if ($scope.stepDefinition.schemaSourceType === SchemaSourceType.GRAPHQL_SCHEMA_SHAPES && hasSelectedShapes) {\n canProceed = true;\n }\n // The second option (radiobutton) allows the user to select graphs: all graphs, shacl shape graph or\n // manually pick graphs.\n // Here the user must also fill in the endpoint parameters form.\n else if ($scope.stepDefinition.schemaSourceType === SchemaSourceType.SHACL_SHAPES && hasValidEndpointParameters) {\n // In case the user selects all graphs, we don't care how many graphs are there. We use all\n // the data in the repository. Also, it's possible that there are no other graphs in the\n // repository than the default one.\n if ($scope.endpointConfiguration.owlOrShaclSourceType === OntologyShaclShapeSource.USE_ALL_GRAPHS) {\n canProceed = true;\n } else {\n // In all the other cases there must be at least one graph selected.\n canProceed = $scope.endpointConfiguration.hasSelectedGraphs();\n }\n }\n }\n return canProceed;\n }\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Loads prefixes available in the source repository.\n * @returns {Promise<void>}\n */\n const loadPrefixes = () => {\n $scope.loadingPrefixes = true;\n return GraphqlService.getPrefixListAsSelectOptions(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n console.error('Error loading prefixes', error);\n toastr.error(getError(error));\n })\n .finally(() => {\n $scope.loadingPrefixes = false;\n });\n }\n\n /**\n * Loads all graphs available in the source repository.\n * @returns {Promise<GraphListOptions>}\n */\n const loadAllGraphs = () => {\n $scope.loadingGraphs = true;\n return RDF4JRepositoriesService.getGraphs(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n console.error('Error loading graphs', error);\n toastr.error(getError(error));\n })\n .finally(() => {\n $scope.loadingGraphs = false;\n });\n }\n\n /**\n * Loads the GraphQL schema shapes from the source repository.\n * @returns {Promise<GraphqlSchemaShapes>}\n */\n const loadGraphqlSchemaShapes = () => {\n return GraphqlService.getGraphqlSchemaShapes(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n console.error('Error loading GraphQL schema shapes', error);\n toastr.error(getError(error));\n });\n };\n\n /**\n * Loads the SHACL shape graphs from the source repository.\n * @returns {Promise<GraphListOptions>}\n */\n const loadShaclShapeGraphs = () => {\n return GraphqlService.getShaclShapeGraphs(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n console.error('Error loading SHACL shape graphs', error);\n toastr.error(getError(error));\n });\n }\n\n /**\n * Handles the update of the endpoint configuration model.\n * @param {GraphqlEndpointConfiguration} endpointConfiguration The updated endpoint configuration model.\n */\n const loadData = (endpointConfiguration) => {\n $scope.loadingData = true;\n $q.all([loadPrefixes(), loadAllGraphs(), loadGraphqlSchemaShapes(), loadShaclShapeGraphs()])\n .then(([prefixes, graphs, graphqlShapes, shaclShapeGraphs]) => {\n $scope.graphqlSchemaShapes = graphqlShapes;\n $scope.graphs = graphs;\n $scope.shaclShapeGraphs = shaclShapeGraphs;\n $scope.allGraphs = new GraphListOptions([...graphs.graphList, ...shaclShapeGraphs.graphList]);\n $scope.prefixList = prefixes;\n $scope.endpointConfiguration = endpointConfiguration;\n })\n .finally(() => {\n $scope.loadingData = false;\n });\n }\n\n /**\n * Handles the update of the source repository.\n */\n const onSourceRepositoryUpdated = () => {\n loadData(GraphqlContextService.getNewEndpoint());\n }\n\n // =========================\n // Subscriptions\n // =========================\n\n const onDestroy = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n const subscribeToEvents = () => {\n $scope.$on('$destroy', onDestroy);\n subscriptions.push(GraphqlContextService.subscribe(GraphqlEventName.SOURCE_REPOSITORY_UPDATED, onSourceRepositoryUpdated));\n const newEndpoint = GraphqlContextService.getNewEndpoint();\n if (!newEndpoint) {\n subscriptions.push(GraphqlContextService.onEndpointConfigCreated(loadData));\n } else {\n loadData(newEndpoint);\n }\n }\n\n const onInit = () => {\n subscribeToEvents();\n }\n onInit();\n }\n };\n}\n"],"names":["ShuttleMultiselect","restrict","scope","options","selected","labels","templateUrl","link","$scope","subscriptions","searchLeft","availableOptions","selectedOptions","selectOption","option","push","filter","opt","updateSelected","selectAll","concat","deselectOption","deselectAll","$on","removeAllSubscribers","forEach","subscription","cloneDeep","length","find","selectedOption","id","angular","module","directive","$inject","GraphqlContextService","EventEmitterService","_sourceRepository","_selectedEndpoint","_newEndpointConfiguration","getSourceRepository","getNewEndpoint","emit","event","payload","emitSync","subscribe","callback","subscribeSync","resetContext","undefined","updateSourceRepository","repositoryId","GraphqlEventName","SOURCE_REPOSITORY_UPDATED","setSelectedEndpoint","endpoint","getSelectedEndpoint","createEndpointConfig","GraphqlEndpointConfiguration","ENDPOINT_CONFIG_CREATED","onEndpointConfigCreated","isFunction","startCreateEndpointWizard","START_CREATE_ENDPOINT_WIZARD","generateEndpoint","GENERATE_ENDPOINT","endpointGenerated","endpointGenerationReportList","ENDPOINT_GENERATED","exploreEndpointInPlayground","EXPLORE_ENDPOINT_IN_PLAYGROUND","openEndpointGenerationReport","endpointReport","OPEN_ENDPOINT_GENERATION_REPORT","deleteEndpointGenerationReport","DELETE_ENDPOINT_REPORT","cancelEndpointCreation","CANCEL_ENDPOINT_CREATION","finishGenerationWorkflow","FINISH_GENERATION_WORKFLOW","nextEndpointCreationStep","NEXT_ENDPOINT_CREATION_STEP","previousEndpointCreationStep","PREVIOUS_ENDPOINT_CREATION_STEP","factory","SelectSchemaSourcesComponent","$q","ModalService","$translate","toastr","$repositories","GraphqlService","RDF4JRepositoriesService","stepDefinition","element","schemaSourceType","SchemaSourceType","ontologyShaclShapeSource","OntologyShaclShapeSource","shapesMultiselectLabels","availableOptionsTitle","availableOptionsFilter","selectedOptionsTitle","selectedOptionsCount","selectTooltip","selectAllLabel","selectAllTooltip","deselectTooltip","deselectAllLabel","deselectAllTooltip","graphsMultiselectLabels","endpointConfiguration","prefixList","loadingPrefixes","graphs","shaclShapeGraphs","graphqlSchemaShapes","allGraphs","loadingGraphs","cancel","title","instant","confirmDeleteMessage","openConfirmation","next","onSchemaSourceTypeChange","generateFromShaclShapes","ontotlogyShaclShapeSource","USE_ALL_GRAPHS","selectedGraphs","USE_SHACL_SHAPE_GRAPH","PICK_GRAPHS","GraphListOptions","onOntologyShaclShapeSourceChange","owlOrShaclSourceType","canProceed","hasSelectedShapes","hasSelectedGraphqlSchemaShapes","hasValidEndpointParameters","endpointParamsForm","$valid","GRAPHQL_SCHEMA_SHAPES","SHACL_SHAPES","hasSelectedGraphs","loadData","loadingData","all","getPrefixListAsSelectOptions","catch","error","console","getError","finally","getGraphs","getGraphqlSchemaShapes","getShaclShapeGraphs","then","prefixes","graphqlShapes","graphList","onSourceRepositoryUpdated","onDestroy","subscribeToEvents","newEndpoint"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=34495;export const __webpack_ids__=[34495];export const __webpack_modules__={34495:(t,o,e)=>{e.r(o),e.d(o,{default:()=>a});const a='<link href="css/ttyg/external-integration-configuration-modal.css?v=3.1.1" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h4 class="modal-title">{{\'ttyg.agent.external_integration_config_modal.title\' | translate}}</h4> </div> <div class="modal-body"> <h6 class="modal-title"> {{ \'ttyg.agent.external_integration_config_modal.label\' | translate:{agentName: agentName} }} </h6> <form class="form-horizontal"> <div class="form-group"> <label for="agentId" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.agent_id_label\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="agentId" ng-model="agentId" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{agentId}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.agent_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> <div class="form-group"> <label for="queryMethods" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.query_methods\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="queryMethods" ng-model="queryMethods" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{queryMethods}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.openAPI_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> <div class="form-group"> <label for="difyExtension" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.dify_extension\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="difyExtension" ng-model="difyExtension" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{difyExtension}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.dify_extension_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> </form> </div> '}};
|
|
2
|
-
//# sourceMappingURL=34495.e0f8e26f32d7d8def627.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"34495.e0f8e26f32d7d8def627.bundle.js","mappings":"uJAGA,QAFW,izE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/external-integration-configuration-modal.css?v=3.1.1\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h4 class=\"modal-title\">{{'ttyg.agent.external_integration_config_modal.title' | translate}}</h4> </div> <div class=\"modal-body\"> <h6 class=\"modal-title\"> {{ 'ttyg.agent.external_integration_config_modal.label' | translate:{agentName: agentName} }} </h6> <form class=\"form-horizontal\"> <div class=\"form-group\"> <label for=\"agentId\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.agent_id_label' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"agentId\" ng-model=\"agentId\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{agentId}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.agent_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> <div class=\"form-group\"> <label for=\"queryMethods\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.query_methods' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"queryMethods\" ng-model=\"queryMethods\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{queryMethods}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.openAPI_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> <div class=\"form-group\"> <label for=\"difyExtension\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.dify_extension' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"difyExtension\" ng-model=\"difyExtension\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{difyExtension}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.dify_extension_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"38360.437a12fa59878d1d43b9.bundle.js","mappings":"uJAGA,QAFW,uI","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/templates/markdown-content/markdown-content.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/markdown-content.css?v=3.1.1\" rel=\"stylesheet\"/> <div class=\"markdown-content\" ng-bind-html=\"markdownContent\"></div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=38412;export const __webpack_ids__=[38412,73779];export const __webpack_modules__={38412:(e,a,t)=>{t.r(a);var n=t(69289),i=t(73779);angular.module("graphdb.framework.rest.graphql.service",[]).factory("GraphqlRestService",o),o.$inject=["$http","Upload"];const s=!1;function o(e,a){const t=new i.GraphqlRestServiceMock;return{getEndpoints:a=>s?t.getEndpointsMock(a):e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/endpoints`),getEndpointsInfo:(a,i)=>s?t.getEndpointsInfoMock(a):e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/list`),getGraphqlSchemaShapes:a=>s?t.getGraphqlSchemaShapesMock(a):e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/graphql_shapes`),getPrefixes:a=>s?t.getPrefixesMock(a):e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/prefixes`),getShaclShapeGraphs:a=>s?t.getShaclGraphsMock(a):e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/shacl_graphs`),getGraphqlGenerationSettings:()=>s?t.getGraphqlGenerationSettingsMock():e.get(`${n.REPOSITORIES_ENDPOINT}/graphql/manage/generate/config`),getGraphqlEndpointConfigurationSettings:(a,i)=>s?t.getEndpointConfigurationMock():e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/endpoints/${i}/config`),getEndpointConfiguration:(a,i)=>s?t.getEndpointConfiguration():e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/endpoints/${i}`),editEndpointConfiguration:(a,i,o)=>s?t.saveEndpointConfigurationMock():e.post(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/endpoints/${i}`,o),deleteEndpoint:(a,i)=>s?t.deleteEndpointMock(a,i):e.delete(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/endpoints/${i}`),generateEndpointFromGraphqlShapes:(a,i)=>s?t.generateEndpointFromGraphqlShapesMock(i):e.post(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/generate/graphql_shapes`,i),generateEndpointFromOwl:(a,i)=>s?t.generateEndpointFromOwl(i):e.post(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/generate/owl_shacl`,i),exportEndpointDefinition:(a,t)=>e.get(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/endpoints/${t}/export`,{responseType:"blob"}),importEndpointDefinition:(e,t)=>a.http({url:`${n.REPOSITORIES_ENDPOINT}/${e}/graphql/manage/endpoints/import`,data:t,headers:{"Content-Type":void 0}}),deleteEndpointGenerationReport:(a,t)=>e.patch(`${n.REPOSITORIES_ENDPOINT}/${a}/graphql/manage/endpoints/${t}/messages`)}}},73779:(e,a,t)=>{t.r(a),t.d(a,{GraphqlRestServiceMock:()=>i});var n=t(98980);class i{getEndpointsMock(e){return new Promise(e=>{setTimeout(()=>e({data:(0,n.cloneDeep)(s)}),200)})}getEndpointsInfoMock(e){return new Promise(e=>{setTimeout(()=>e({data:(0,n.cloneDeep)(o)}),200)})}getGraphqlSchemaShapesMock(e){return new Promise(e=>{setTimeout(()=>e({data:(0,n.cloneDeep)(r)}),200)})}getEndpointConfigurationMock(){return new Promise(e=>{setTimeout(()=>e({data:(0,n.cloneDeep)(l)}),200)})}}const s={repository:"swapi",endpoints:[{id:"swapi",graphQL:"/rest/repositories/swapi/graphql/swapi",active:!0,default:!0},{id:"film-restricted",graphQL:"/rest/repositories/swapi/graphql/film-restricted",active:!0,default:!1},{id:"swapi-charcters",graphQL:"/rest/repositories/swapi/graphql/swapi-charcters",active:!1,default:!1}]},o={endpoints:[{id:"gqlendpoint1",endpointId:"swapi",endpointURI:"/rest/repositories/swapi/graphql/swapi",label:"SWAPI GraphQL endpoint",description:"SWAPI GraphQL endpoint description",default:!1,active:!0,lastModified:"2025-01-28",objects_count:10,properties_count:120,warnings:0,errors:0,status:""},{id:"gqlendpoint2",endpointId:"film-restricted",endpointURI:"/rest/repositories/swapi/graphql/film-restricted",label:"SWAPI GraphQL endpoint with restricted film relations",description:"SWAPI GraphQL endpoint with restricted film relations description",default:!0,active:!0,lastModified:"2025-01-28",objects_count:13,properties_count:133,warnings:0,errors:0,status:""},{id:"gqlendpoint3",endpointId:"swapi-characters",endpointURI:"/rest/repositories/swapi/graphql/swapi-characters",label:"SWAPI GraphQL endpoint for swapi characters",description:"SWAPI GraphQL endpoint for swapi characters description",default:!1,active:!1,lastModified:"2025-01-28",objects_count:3,properties_count:20,warnings:0,errors:0,status:""}]},r={shapes:[{id:"https://schema.ubs.net/schema/AIModelSchema",name:"AI Model Schema",label:"AI Model Schema",description:null},{id:"https://schema.ubs.net/schema/AIProductSchema",name:"AI Product Schema",label:"AI Product Schema",description:null},{id:"https://schema.ubs.net/schema/DatabaseSchema",name:null,label:"Database Schema",description:null},{id:"https://schema.ubs.net/schema/BbsPermissionSchema",name:null,label:"BBS Permissions",description:null},{id:"https://schema.ubs.net/schema/DataProductBasicSchema",name:null,label:"Data Product Basic Schema No Policy and No Provenance",description:null},{id:"https://schema.ubs.net/schema/DataQualityMetricSchema",name:null,label:"Data Quality Metric Schema",description:"This is the basic schema for DQV initiated from Metric class"},{id:"https://schema.ubs.net/schema/DataQualityObservationSchema",name:null,label:"Data Quality Observation Schema",description:null},{id:"https://schema.ubs.net/schema/DatasetSchema",name:null,label:"Dataset Schema",description:null},{id:"https://schema.ubs.net/schema/ApplicationSchema",name:null,label:"Application Schema",description:null},{id:"https://schema.ubs.net/schema/PolicyBasicSchema",name:null,label:"Policy Basic Schema",description:null},{id:"https://schema.ubs.net/schema/DataQualityMeasurementSchema",name:null,label:"Data Quality Measurement Schema",description:null},{id:"https://schema.ubs.net/schema/DataProductFullSchema",name:null,label:"Data Product Schema where datasets can also be defined",description:null},{id:"https://schema.ubs.net/schema/ValidationSchema",name:null,label:"Validation Schema",description:null},{id:"https://schema.ubs.net/schema/WMAAccountSchema",name:null,label:"WMA Account Schema",description:null}]},l={configs:[{key:"str",label:"String",type:"string",collection:!1,value:"strValue",values:[],regex:"^(?:ALL:?)?(?:(?:-?[\\w]{2}(?:-[\\w]*)?~?|-?NONE|ANY|BROWSER)?(?:,(?:-?[\\w]{2}(?:-[\\w]*)?~?|-?NONE|ANY|BROWSER))*)$"},{key:"bool",label:"Boolean value",description:"",type:"boolean",collection:!1,value:!1,values:[]},{key:"select",label:"Select",type:"",collection:!1,value:"Two",values:["One","Two","Three"]},{key:"multiselect",label:"Multiselect",type:"",collection:!0,value:["Angular","JavaScript"],values:["Angular","JavaScript","WebDevelopment"]},{key:"json",label:"JSON",type:"json",collection:!1,value:'{"foo": "bar"}',values:[],required:!0}]}}};
|
|
2
|
-
//# sourceMappingURL=38412.85b4c12f5ed5ffb6e4dd.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"38412.85b4c12f5ed5ffb6e4dd.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/graphql.rest.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/mock-backend/graphql-rest-service-mock.js"],"sourcesContent":["import {REPOSITORIES_ENDPOINT} from './repositories.rest.service';\nimport {GraphqlRestServiceMock} from \"./mock-backend/graphql-rest-service-mock\";\n\nangular\n .module('graphdb.framework.rest.graphql.service', [])\n .factory('GraphqlRestService', GraphqlRestService);\n\nGraphqlRestService.$inject = ['$http', 'Upload'];\n\n// const DEVELOPMENT = true;\nconst DEVELOPMENT = false;\n\nfunction GraphqlRestService($http, Upload) {\n\n const _mockBackend = new GraphqlRestServiceMock();\n\n /**\n * Get the GraphQL endpoints for the given repository.\n * @param {string} repositoryId The repository ID.\n * @return {*|Promise<unknown>}\n */\n const getEndpoints = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointsMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/endpoints`);\n };\n\n /**\n * Get the GraphQL endpoints info for the given repository.\n * @param {string} repositoryId The repository ID.\n * @param {string|undefined} lastModified The last modified date.\n * @return {*|Promise<unknown>}\n */\n const getEndpointsInfo = (repositoryId, lastModified) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointsInfoMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/list`);\n };\n\n /**\n * Get the GraphQL schema shapes for the given repository.\n * @param {string} repositoryId The repository ID.\n * @returns {*|Promise<unknown>}\n */\n const getGraphqlSchemaShapes = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getGraphqlSchemaShapesMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/graphql_shapes`);\n };\n\n /**\n * Get the prefixes for the given repository.\n * @param {string} repositoryId The repository ID.\n * @returns {*|Promise<unknown>}\n */\n const getPrefixes = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getPrefixesMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/prefixes`);\n }\n\n /**\n * Get the SHACL shape graphs for the given repository.\n * @param {string} repositoryId The repository ID.\n * @returns {*|Promise<unknown>} The SHACL shape graphs response.\n */\n const getShaclShapeGraphs = (repositoryId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getShaclGraphsMock(repositoryId);\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/shacl_graphs`);\n };\n\n /**\n * Get the GraphQL generation settings from the backend.\n * @returns {*|Promise<unknown>}\n */\n const getGraphqlGenerationSettings = () => {\n if (DEVELOPMENT) {\n return _mockBackend.getGraphqlGenerationSettingsMock();\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/graphql/manage/generate/config`);\n };\n\n /**\n * Get the GraphQL endpoint configuration settings from the backend.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {*|Promise<unknown>}\n */\n const getGraphqlEndpointConfigurationSettings = (repositoryId, endpointId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointConfigurationMock();\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}/config`);\n };\n\n /**\n * Get the GraphQL endpoint configuration from the backend.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {*|Promise<unknown>}\n */\n const getEndpointConfiguration = (repositoryId, endpointId) => {\n if (DEVELOPMENT) {\n return _mockBackend.getEndpointConfiguration();\n }\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}`);\n };\n\n /**\n * Edit the GraphQL endpoint configuration.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @param {*} data The request payload.\n * @returns {*|Promise<unknown>}\n */\n const editEndpointConfiguration = (repositoryId, endpointId, data) => {\n if (DEVELOPMENT) {\n return _mockBackend.saveEndpointConfigurationMock();\n }\n return $http.post(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}`, data);\n };\n\n /**\n * Delete the GraphQL endpoint.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {*|Promise<unknown>}\n */\n const deleteEndpoint = (repositoryId, endpointId) => {\n if (DEVELOPMENT) {\n return _mockBackend.deleteEndpointMock(repositoryId, endpointId);\n }\n return $http.delete(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}`);\n };\n\n /**\n * Generate the GraphQL endpoint from the GraphQL schema shapes.\n * @param {string} repositoryId The active repository ID.\n * @param {*} payload The request payload for the generation.\n * @returns {*|Promise<unknown>}\n */\n const generateEndpointFromGraphqlShapes = (repositoryId, payload) => {\n if (DEVELOPMENT) {\n return _mockBackend.generateEndpointFromGraphqlShapesMock(payload);\n }\n return $http.post(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/generate/graphql_shapes`, payload);\n };\n\n /**\n * Generate the GraphQL endpoint from the OWL ontologies.\n * @param {string} repositoryId The active repository ID.\n * @param {*} payload The request payload for the generation.\n * @returns {*|Promise<unknown>}\n */\n const generateEndpointFromOwl = (repositoryId, payload) => {\n if (DEVELOPMENT) {\n return _mockBackend.generateEndpointFromOwl(payload);\n }\n return $http.post(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/generate/owl_shacl`, payload);\n };\n\n /**\n * Export the endpoint definition.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<unknown>} The response from the backend.\n */\n const exportEndpointDefinition = (repositoryId, endpointId) => {\n return $http.get(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}/export`, {responseType: 'blob'});\n }\n\n /**\n * Import the endpoint definitions, either as a single file or as multiple files where the file type can be either\n * yaml or zip.\n * @param {string} repositoryId The repository ID.\n * @param {FormData|File} payload The request payload.\n * @returns {Promise<unknown>} The response from the backend.\n */\n const importEndpointDefinition = (repositoryId, payload) => {\n return Upload.http({\n url: `${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/import`,\n data: payload,\n headers: {\n 'Content-Type': undefined\n }\n });\n };\n\n /**\n * Deletes the endpoint generation report by calling the backend.\n * @param {string} repositoryId The repository ID.\n * @param {string} endpointId The endpoint ID.\n * @returns {Promise<unknown>} The response from the backend.\n */\n const deleteEndpointGenerationReport = (repositoryId, endpointId) => {\n return $http.patch(`${REPOSITORIES_ENDPOINT}/${repositoryId}/graphql/manage/endpoints/${endpointId}/messages`);\n };\n\n return {\n getEndpoints,\n getEndpointsInfo,\n getGraphqlSchemaShapes,\n getPrefixes,\n getShaclShapeGraphs,\n getGraphqlGenerationSettings,\n getGraphqlEndpointConfigurationSettings,\n getEndpointConfiguration,\n editEndpointConfiguration,\n deleteEndpoint,\n generateEndpointFromGraphqlShapes,\n generateEndpointFromOwl,\n exportEndpointDefinition,\n importEndpointDefinition,\n deleteEndpointGenerationReport\n };\n}\n","import {cloneDeep} from \"lodash\";\n\nconst GET_ENDPOINTS_DELAY = 200;\nconst GET_ENDPOINTS_INFO_DELAY = 200;\n\nexport class GraphqlRestServiceMock {\n\n getEndpointsMock(repositoryId) {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(endpoints)}), GET_ENDPOINTS_DELAY);\n });\n }\n\n getEndpointsInfoMock(repositoryId) {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(endpointsInfo)}), GET_ENDPOINTS_INFO_DELAY);\n // setTimeout(() => resolve({data: cloneDeep(emptyEndpointsInfo)}), GET_ENDPOINTS_INFO_DELAY);\n });\n }\n\n getGraphqlSchemaShapesMock(repositoryId) {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(graphqlSchemaShapes)}), GET_ENDPOINTS_INFO_DELAY);\n });\n }\n\n getEndpointConfigurationMock() {\n return new Promise((resolve) => {\n setTimeout(() => resolve({data: cloneDeep(endpointConfiguration)}), GET_ENDPOINTS_INFO_DELAY);\n });\n }\n}\n\nconst endpoints = {\n \"repository\": \"swapi\",\n \"endpoints\": [\n {\n \"id\": \"swapi\",\n \"graphQL\": \"/rest/repositories/swapi/graphql/swapi\",\n \"active\": true,\n \"default\": true\n },\n {\n \"id\": \"film-restricted\",\n \"graphQL\": \"/rest/repositories/swapi/graphql/film-restricted\",\n \"active\": true,\n \"default\": false\n },\n {\n \"id\": \"swapi-charcters\",\n \"graphQL\": \"/rest/repositories/swapi/graphql/swapi-charcters\",\n \"active\": false,\n \"default\": false\n }\n ]\n};\n\nconst emptyEndpointsInfo = {\n \"endpoints\": []\n};\n\nconst endpointsInfo = {\n \"endpoints\": [\n {\n \"id\": \"gqlendpoint1\",\n \"endpointId\": \"swapi\",\n \"endpointURI\": \"/rest/repositories/swapi/graphql/swapi\",\n \"label\": \"SWAPI GraphQL endpoint\",\n \"description\": \"SWAPI GraphQL endpoint description\",\n \"default\": false,\n \"active\": true,\n \"lastModified\": \"2025-01-28\",\n \"objects_count\": 10,\n \"properties_count\": 120,\n \"warnings\": 0,\n \"errors\": 0,\n \"status\": \"\"\n },\n {\n \"id\": \"gqlendpoint2\",\n \"endpointId\": \"film-restricted\",\n \"endpointURI\": \"/rest/repositories/swapi/graphql/film-restricted\",\n \"label\": \"SWAPI GraphQL endpoint with restricted film relations\",\n \"description\": \"SWAPI GraphQL endpoint with restricted film relations description\",\n \"default\": true,\n \"active\": true,\n \"lastModified\": \"2025-01-28\",\n \"objects_count\": 13,\n \"properties_count\": 133,\n \"warnings\": 0,\n \"errors\": 0,\n \"status\": \"\"\n },\n {\n \"id\": \"gqlendpoint3\",\n \"endpointId\": \"swapi-characters\",\n \"endpointURI\": \"/rest/repositories/swapi/graphql/swapi-characters\",\n \"label\": \"SWAPI GraphQL endpoint for swapi characters\",\n \"description\": \"SWAPI GraphQL endpoint for swapi characters description\",\n \"default\": false,\n \"active\": false,\n \"lastModified\": \"2025-01-28\",\n \"objects_count\": 3,\n \"properties_count\": 20,\n \"warnings\": 0,\n \"errors\": 0,\n \"status\": \"\"\n }\n ]\n};\n\nconst graphqlSchemaShapes = {\n \"shapes\": [\n {\n \"id\": \"https://schema.ubs.net/schema/AIModelSchema\",\n \"name\": \"AI Model Schema\",\n \"label\": \"AI Model Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/AIProductSchema\",\n \"name\": \"AI Product Schema\",\n \"label\": \"AI Product Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DatabaseSchema\",\n \"name\": null,\n \"label\": \"Database Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/BbsPermissionSchema\",\n \"name\": null,\n \"label\": \"BBS Permissions\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataProductBasicSchema\",\n \"name\": null,\n \"label\": \"Data Product Basic Schema No Policy and No Provenance\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataQualityMetricSchema\",\n \"name\": null,\n \"label\": \"Data Quality Metric Schema\",\n \"description\": \"This is the basic schema for DQV initiated from Metric class\"\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataQualityObservationSchema\",\n \"name\": null,\n \"label\": \"Data Quality Observation Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DatasetSchema\",\n \"name\": null,\n \"label\": \"Dataset Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/ApplicationSchema\",\n \"name\": null,\n \"label\": \"Application Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/PolicyBasicSchema\",\n \"name\": null,\n \"label\": \"Policy Basic Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataQualityMeasurementSchema\",\n \"name\": null,\n \"label\": \"Data Quality Measurement Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/DataProductFullSchema\",\n \"name\": null,\n \"label\": \"Data Product Schema where datasets can also be defined\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/ValidationSchema\",\n \"name\": null,\n \"label\": \"Validation Schema\",\n \"description\": null\n },\n {\n \"id\": \"https://schema.ubs.net/schema/WMAAccountSchema\",\n \"name\": null,\n \"label\": \"WMA Account Schema\",\n \"description\": null\n }\n ]\n}\n\nconst endpointConfiguration = {\n configs: [\n {\n key: 'str',\n label: 'String',\n type: 'string',\n collection: false,\n value: 'strValue',\n values: [],\n regex: '^(?:ALL:?)?(?:(?:-?[\\\\w]{2}(?:-[\\\\w]*)?~?|-?NONE|ANY|BROWSER)?(?:,(?:-?[\\\\w]{2}(?:-[\\\\w]*)?~?|-?NONE|ANY|BROWSER))*)$'\n },\n {\n key: 'bool',\n label: 'Boolean value',\n description: '',\n type: 'boolean',\n collection: false,\n value: false,\n values: []\n },\n {\n key: 'select',\n label: 'Select',\n type: '',\n collection: false,\n value: 'Two',\n values: ['One', 'Two', 'Three']\n },\n {\n key: 'multiselect',\n label: 'Multiselect',\n type: '',\n collection: true,\n value: ['Angular', 'JavaScript'],\n values: ['Angular', 'JavaScript', 'WebDevelopment']\n },\n {\n key: 'json',\n label: 'JSON',\n type: 'json',\n collection: false,\n value: '{\"foo\": \"bar\"}',\n values: [],\n required: true\n }\n ]\n};\n"],"names":["angular","module","factory","GraphqlRestService","$inject","DEVELOPMENT","$http","Upload","_mockBackend","GraphqlRestServiceMock","getEndpoints","repositoryId","getEndpointsMock","get","REPOSITORIES_ENDPOINT","getEndpointsInfo","lastModified","getEndpointsInfoMock","getGraphqlSchemaShapes","getGraphqlSchemaShapesMock","getPrefixes","getPrefixesMock","getShaclShapeGraphs","getShaclGraphsMock","getGraphqlGenerationSettings","getGraphqlGenerationSettingsMock","getGraphqlEndpointConfigurationSettings","endpointId","getEndpointConfigurationMock","getEndpointConfiguration","editEndpointConfiguration","data","saveEndpointConfigurationMock","post","deleteEndpoint","deleteEndpointMock","delete","generateEndpointFromGraphqlShapes","payload","generateEndpointFromGraphqlShapesMock","generateEndpointFromOwl","exportEndpointDefinition","responseType","importEndpointDefinition","http","url","headers","undefined","deleteEndpointGenerationReport","patch","Promise","resolve","setTimeout","cloneDeep","endpoints","endpointsInfo","graphqlSchemaShapes","endpointConfiguration","configs","key","label","type","collection","value","values","regex","description","required"],"sourceRoot":""}
|