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
package/dist/{78681.e44a1eb1dce4a8a29f57.bundle.js.map → 78681.39694d37c0f75ea04df6.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"78681.e44a1eb1dce4a8a29f57.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-tooltip-placement-D_J2-9CG.js","webpack://root-config/./packages/shared-components/dist/esm/translation.service-Hf6024E7.js","webpack://root-config/./packages/shared-components/dist/esm/onto-dialog_2.entry.js","webpack://root-config/./packages/shared-components/dist/esm/html-util-C8DO915D.js"],"sourcesContent":["var OntoTooltipPlacement;\n(function (OntoTooltipPlacement) {\n OntoTooltipPlacement[\"LEFT\"] = \"left\";\n OntoTooltipPlacement[\"RIGHT\"] = \"right\";\n OntoTooltipPlacement[\"TOP\"] = \"top\";\n OntoTooltipPlacement[\"BOTTOM\"] = \"bottom\";\n OntoTooltipPlacement[\"AUTO\"] = \"auto\";\n})(OntoTooltipPlacement || (OntoTooltipPlacement = {}));\n\nexport { OntoTooltipPlacement as O };\n","import { ServiceProvider, LanguageContextService } from '@ontotext/workbench-api';\n\nfunction sanitizeHTML(html) {\n const element = document.createElement('textarea');\n element.innerHTML = html;\n return element.value;\n}\n\n/**\n * Service responsible for translation operations in the component.\n */\nclass TranslationServiceClassDefinition {\n constructor() {\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.translationChangedObservers = {};\n // log with background color\n this.defaultBundle = this.languageContextService.getDefaultBundle();\n this.subscribeToBundleChange();\n }\n /**\n * Translates the <code>messageLabelKey</code> with <code>translationParameter</code> and call <code>translationCallback</code> with translation of current language.\n * The <code>translationCallback</code> is called upon subscription and whenever the selected language is changed.\n *\n * @param messageLabelKey - The label key for the translation.\n * @param translationParameter - Parameters, if needed, for translation.\n * @param translationCallback - A function to be called when translating the `messageLabelKey`.\n * @returns A function that, when called, unsubscribes the provided callback from further translation updates.\n */\n onTranslate(messageLabelKey, translationParameter = [], translationCallback = () => { }) {\n this.translationChangedObservers[messageLabelKey] = this.translationChangedObservers[messageLabelKey] || [];\n const observer = { parameters: translationParameter, callback: translationCallback };\n this.translationChangedObservers[messageLabelKey].push(observer);\n translationCallback(this.translate(messageLabelKey, translationParameter));\n return () => {\n const index = this.translationChangedObservers[messageLabelKey].indexOf(observer);\n if (index !== -1) {\n this.translationChangedObservers[messageLabelKey].splice(index, 1);\n }\n };\n }\n /**\n * Translates the provided key using the currently selected language by applying the parameters if\n * provided.\n * @param key The key for the label which needs to be translated.\n * @param parameters Optional parameters which to be applied during the translation.\n */\n translate(key, parameters) {\n return this.translateInLocale(key, parameters);\n }\n /**\n * Translates a given key into the specified locale. If parameters are provided,\n * they will be applied to the translation.\n *\n * @param key - The translation key, which can be dot-separated for nested translations.\n * @param parameters - Optional parameters to be substituted into the translation string.\n * @returns The translated string with parameters applied if available, or the key itself if not found.\n */\n translateInLocale(key, parameters) {\n // Attempt to retrieve the translation from the specified locale's bundle.\n let translation = this.translateFromBundle(this.currentBundle, key);\n // If not found, fall back to the default language bundle.\n if (!translation) {\n translation = this.translateFromBundle(this.defaultBundle, key);\n }\n // If translation was found, apply any parameters provided and return the result.\n if (translation) {\n translation = this.applyParameters(translation, parameters);\n return sanitizeHTML(translation);\n }\n console.warn(`Missing translation for key: [${key}]`);\n return key;\n }\n /**\n * Retrieves a translation from a specified translation bundle using the given key.\n * If the key represents a nested JSON path, it attempts to resolve the key as such.\n *\n * @param bundle - The translation bundle for the specified locale.\n * @param key - The key to translate, which may be a simple key or dot-separated for nested keys.\n * @returns The translation string if found, or `undefined` if not available.\n */\n translateFromBundle(bundle, key) {\n if (!bundle) {\n return undefined;\n }\n // Try to retrieve the translation directly if it is defined as a whole string,\n // for instance as \"some_function.btn.label\".\n let translation = bundle[key];\n // If not found, attempt to retrieve the translation if it is defined as a JSON object.\n if (typeof translation !== 'string') {\n translation = this.translateAsJsonObject(bundle, key);\n }\n return translation;\n }\n /**\n * Resolves a nested translation key by treating it as a path in a JSON object.\n * For example, if the key is \"some.key.path\", this method will navigate through\n * the JSON object structure to retrieve the value at that path.\n *\n * @param bundle - The translation bundle containing nested keys.\n * @param key - The dot-separated key representing the path to the translation.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n translateAsJsonObject(bundle, key) {\n let path = key.split('.');\n return this.getTranslation(bundle, path);\n }\n /**\n * Recursively navigates through a JSON object based on a path array to retrieve\n * a translation string. Each element in the path array represents a nested key.\n *\n * @param jsonObject - The current JSON object or nested object being searched.\n * @param path - An array representing the path to the translation, where each element is a key.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n getTranslation(jsonObject, path) {\n // Stop the recursion if path or reach the inner element\n if (!path || !jsonObject) {\n return undefined;\n }\n const jsonOrTranslation = jsonObject[path.splice(0, 1)[0]];\n if (path.length === 0) {\n return jsonOrTranslation;\n }\n if (typeof jsonOrTranslation !== 'string') {\n // continue if the inner element is not reached.\n if (path.length > 0) {\n return this.getTranslation(jsonOrTranslation, path);\n }\n return jsonOrTranslation;\n }\n return undefined;\n }\n applyParameters(translation, parameters) {\n if (parameters) {\n return parameters.reduce(\n // replace all occurrence of parameter key with parameter value.\n (translation, parameter) => TranslationServiceClassDefinition.replaceAll(translation, parameter), translation);\n }\n return translation;\n }\n static replaceAll(translation, parameter) {\n return parameter ? translation.split(`{{${parameter.key}}}`).join(parameter.value) : translation;\n }\n notifyTranslationsChanged() {\n Object.keys(this.translationChangedObservers).forEach((eventName) => {\n const observers = this.translationChangedObservers[eventName] || [];\n observers.forEach((observer) => observer.callback(this.translate(eventName, observer.parameters)));\n });\n }\n subscribeToBundleChange() {\n this.languageChangeSubscription = this.languageContextService.onLanguageBundleChanged((bundle) => {\n if (bundle) {\n this.currentBundle = bundle;\n this.notifyTranslationsChanged();\n }\n });\n }\n destroy() {\n if (this.languageChangeSubscription) {\n this.languageChangeSubscription();\n }\n }\n}\nconst TranslationService = new TranslationServiceClassDefinition();\n\nexport { TranslationService as T, sanitizeHTML as s };\n","import { r as registerInstance, h, a as Host, g as getElement, c as createEvent } from './index-I_gcXFWK.js';\nimport { H as HtmlUtil } from './html-util-C8DO915D.js';\nimport { T as TranslationService } from './translation.service-Hf6024E7.js';\nimport { O as OntoTooltipPlacement } from './onto-tooltip-placement-D_J2-9CG.js';\nimport '@ontotext/workbench-api';\n\nconst ontoDialogCss = \".dialog-overlay{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:9998;margin-left:-10px;background-color:rgba(0, 0, 0, 0.5);font-family:var(--main-font), sans-serif;font-weight:var(--main-font-weight);color:var(--secondary-color, #373a3c)}.dialog{z-index:1001;max-width:60vw;max-height:90vh;background-color:#FFF;box-shadow:0 5px 15px rgba(0, 0, 0, 0.5);font-family:inherit;font-weight:inherit;display:flex;flex-direction:column;position:relative;justify-content:space-between;border:none}.dialog .dialog-header{display:flex;justify-content:space-between;padding:15px;font-size:20px}.dialog .dialog-header .dialog-title{margin:0.5rem 0;font-weight:400}.dialog .dialog-body{padding:0 15px 15px;overflow:auto}.dialog .dialog-footer{display:flex;justify-content:flex-end;padding:15px}\";\n\nconst OntoDialog = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.handleClose = (evt) => {\n this.config.onClose(evt);\n };\n }\n componentDidLoad() {\n this.documentOverflow = HtmlUtil.hideDocumentBodyOverflow();\n this.hostElement.addEventListener('keydown', this.preventLeavingDialog.bind(this));\n this.closeButton.focus();\n }\n disconnectedCallback() {\n this.hostElement.removeEventListener('keydown', this.preventLeavingDialog.bind(this));\n HtmlUtil.setDocumentBodyOverflow(this.documentOverflow);\n }\n render() {\n return (h(Host, { key: 'eeffeaac1aa5b80b89d0d176d89dc44291fd0cbb', tabindex: \"-1\" }, h(\"div\", { key: '2ba8415fa038ad2666cc0b340a3ceba6f0919bc6', class: `dialog-overlay ${this.config.modalClass ? this.config.modalClass : ''}` }, h(\"dialog\", { key: '39b9fc94944e12e8dcae98a65e74593dc173b336', class: \"dialog\" }, h(\"header\", { key: '183327aad084ff6fd619d204a537871cace84684', class: \"dialog-header\" }, h(\"h3\", { key: 'ae4c514e0f75e46d5787d284154392de808100ca', class: \"dialog-title\" }, this.config.dialogTitle)), h(\"main\", { key: 'dc991f0ef3baa22f42f683528a4ca67ab8d5e7f4', class: \"dialog-body\" }, h(\"slot\", { key: 'ddc1c5176d976f5a518fed1d2faa138d0bc5082a', name: \"body\" })), h(\"footer\", { key: 'b3cb9449b54583a7b5489b7d56fa084e456b4d75', class: \"dialog-footer\" }, h(\"slot\", { key: 'b3bc85bdfe12da62019be2e542737e5b6f7db4f6', name: \"footer\" }), h(\"button\", { key: 'c91a35cc01761c22f59ec28ab7fd6f76604eb180', class: \"onto-btn onto-btn-primary\", onClick: this.handleClose, ref: (el) => (this.closeButton = el) }, h(\"translate-label\", { key: '661aa6b5dd885b9c4496cac2d977e912209294ba', labelKey: 'common.button.close' })))))));\n }\n preventLeavingDialog(ev) {\n HtmlUtil.preventLeavingDialog(this.hostElement, ev);\n }\n get hostElement() { return getElement(this); }\n};\nOntoDialog.style = ontoDialogCss;\n\nclass ObjectUtil {\n /**\n * Performs a deep equality check between two values.\n *\n * This function compares two values to determine if they are deeply equal.\n * It supports comparison of primitives, arrays, and objects, including nested structures.\n *\n * @param obj1 - The first value to compare.\n * @param obj2 - The second value to compare.\n * @returns `true` if both values are deeply equal, otherwise `false`.\n *\n * @example\n * // Comparing two deeply nested objects\n * const obj1 = { a: 1, b: { c: [1, 2, 3], d: { e: 'hello' } } };\n * const obj2 = { a: 1, b: { c: [1, 2, 3], d: { e: 'hello' } } };\n * console.log(deepEqual(obj1, obj2)); // true\n *\n * @example\n * // Comparing two arrays with different values\n * const arr1 = [1, 2, 3];\n * const arr2 = [1, 2, 4];\n * console.log(deepEqual(arr1, arr2)); // false\n */\n static deepEqual(obj1, obj2) {\n // Check if both values are strictly equal (handles primitives and references)\n if (obj1 === obj2) {\n return true;\n }\n // Check if either value is null or undefined\n if (obj1 === null || obj1 === undefined || obj2 === null || obj2 === undefined) {\n return false;\n }\n // Check if both values are objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n // Ensure both have the same constructor (handles different types of objects, like Date, RegExp)\n if (obj1.constructor !== obj2.constructor) {\n return false;\n }\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n // Check if both arrays have the same length\n if (obj1.length !== obj2.length) {\n return false;\n }\n // Compare each element recursively\n for (let i = 0; i < obj1.length; i++) {\n if (!ObjectUtil.deepEqual(obj1[i], obj2[i])) {\n return false;\n }\n }\n return true;\n }\n // Handle plain objects\n if (!Array.isArray(obj1) && !Array.isArray(obj2)) {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n // Check if both objects have the same number of keys\n if (keys1.length !== keys2.length) {\n return false;\n }\n // Check if all keys and values are deeply equal\n for (const key of keys1) {\n if (!(key in obj2) || // Ensure the key exists in obj2\n !ObjectUtil.deepEqual(obj1[key], obj2[key])) {\n return false;\n }\n }\n return true;\n }\n // If one is an array and the other is not, they are not equal\n return false;\n }\n // Default case: Not equal\n return false;\n }\n /**\n * Creates a deep copy of the given object.\n *\n * This method recursively copies all properties and values of the object,\n * handling different types such as primitives, arrays, and plain objects.\n * It ensures that the copied object does not share references with the original object,\n * meaning that all nested structures are also copied independently.\n *\n * @param obj - The object to be deeply copied. Can be any type, including primitives,\n * arrays, or objects.\n * @returns A deep copy of the object. If the input is a primitive, null, undefined,\n * or a function, the original value is returned as-is.\n */\n static deepCopy(obj) {\n // Handle primitives, null, undefined, and functions\n if (typeof obj !== 'object' || obj === null || obj === undefined || typeof obj === 'function') {\n return obj;\n }\n // Handle arrays separately to ensure deep copy of elements\n if (Array.isArray(obj)) {\n return obj.map(item => ObjectUtil.deepCopy(item));\n }\n // Handle plain objects or objects with a prototype\n const result = Object.create(Object.getPrototypeOf(obj));\n // Recursively copy each key-value pair\n for (const key of Object.keys(obj)) {\n result[key] = ObjectUtil.deepCopy(obj[key]);\n }\n return result;\n }\n /**\n * Type guard to check if the value has a 'copy' method.\n * @param value - The value to check.\n * @returns True if the value has a 'copy' method, false otherwise.\n */\n static hasCopyMethod(value) {\n return typeof value === 'object' && value !== null && Object.prototype.hasOwnProperty.call(value, 'copy') && typeof value.copy === 'function';\n }\n}\n\n/**\n * Base class for all models, providing deep copy functionality.\n *\n * This abstract class ensures that any model extending it implements immutability\n * by providing a `copy` method, which creates a deep copy of the current instance.\n *\n * All models in the application are expected to extend this class to inherit the\n * `copy` behavior, ensuring consistency in how objects are cloned and manipulated.\n *\n * @template <T> The type of the model extending this class.\n */\nclass Model {\n /**\n * Creates a deep copy of the current instance.\n *\n * This method utilizes `ObjectUtil.deepCopy` to create a new instance of the model\n * with all properties and nested objects deeply cloned, ensuring that any changes\n * to the copy do not affect the original instance.\n *\n * @returns A new instance of the type `T` that is a deep copy of the original.\n */\n copy() {\n return ObjectUtil.deepCopy(this);\n }\n}\n\n/**\n * Abstract base class for managing a list of items that extends the {@link Model} class.\n *\n * This class provides common utility methods for manipulating and querying the list of items,\n * such as sorting, filtering, and finding elements. Subclasses can extend this class to work\n * with specific types of models.\n *\n * @template T - The type of items in the list.\n */\nclass ModelList extends Model {\n /**\n * Creates an instance of the {@link ModelList}.\n *\n * @param items - An optional array of items to initialize the list. If no items are provided,\n * an empty array is used by default.\n */\n constructor(items = []) {\n super();\n this.items = items;\n }\n getItems() {\n return this.items;\n }\n /**\n * Sorts the items in place using the specified comparator function.\n *\n * @param comparator - A comparison function that defines the sort order.\n * Should return a negative number if `a` < `b`,\n * zero if `a` === `b`, or a positive number if `a` > `b`.\n *\n * @example\n * const modelList = new MyModelList([{ id: 2 }, { id: 1 }]);\n * modelList.sort((a, b) => a.id - b.id);\n * console.log(modelList.items); // Outputs: [{ id: 1 }, { id: 2 }]\n */\n sort(comparator) {\n this.items.sort(comparator);\n }\n /**\n * Filters the items using the specified filter function.\n *\n * @param filterFunction - A function that returns `true` for items to include\n * and `false` for items to exclude.\n * @returns A new array of items that match the filter criteria.\n */\n filter(filterFunction) {\n return this.items.filter(filterFunction);\n }\n /**\n * Finds an item in the list that matches the specified filter function.\n *\n * @param filterFunction - A function that returns `true` for the desired item.\n * @returns The first item that matches the filter criteria, or `undefined` if none match.\n */\n find(filterFunction) {\n return this.items.find(filterFunction);\n }\n /**\n * Checks if the collection of items is empty.\n *\n * @returns {boolean} - Returns `true` if there are no items in the collection, otherwise `false`.\n */\n isEmpty() {\n return this.items.length === 0;\n }\n /**\n * Adds a new item to the list in the first position.\n *\n * @param item - The item to add.\n */\n addToStart(item) {\n this.items.unshift(item);\n }\n /**\n * Adds an array of items to the end of the list.\n *\n * @param items the items to add\n */\n addItems(items) {\n this.items.push(...items);\n }\n /**\n * Removes a specific item from the list.\n *\n * This method finds the first occurrence of the specified item in the list and removes it.\n * If the item is not found in the list, no changes are made.\n *\n * @param item - The item to be removed from the list.\n */\n remove(item) {\n const index = this.items.indexOf(item);\n if (index !== -1) {\n this.items.splice(index, 1);\n }\n }\n}\n\n/**\n * Represents a list of subscriptions that can be managed collectively.\n * Extends the {@link ModelList} class, specialized for {@link Subscription} type.\n */\nclass SubscriptionList extends ModelList {\n /**\n * Creates a new instance of SubscriptionList.\n * @param subscriptions - An optional array of Subscription functions to initialize the list.\n */\n constructor(subscriptions) {\n super(subscriptions);\n }\n /**\n * Adds a new subscription to the list.\n * @param subscription - The Subscription function to be added to the list.\n */\n add(subscription) {\n this.items.push(subscription);\n }\n /**\n * Adds multiple subscriptions to the list.\n * @param subscriptions - An array of Subscription functions to be added.\n */\n addAll(subscriptions) {\n this.items.push(...subscriptions);\n }\n /**\n * Calls all subscription functions in the list and then clears the list. Calling a subscription\n * function unsubscribes the subscription. This effectively unsubscribes all subscriptions\n * and removes them from the list.\n */\n unsubscribeAll() {\n this.items.forEach(subscription => subscription());\n this.items = [];\n }\n}\n\nconst ontoToggleSwitchCss = \".toggle-switch{all:unset;clear:both;margin:0 5px;width:36px}.toggle-switch:focus{outline:none;box-shadow:none}.toggle-switch:focus-visible{outline:none;box-shadow:none}.toggle-switch input:empty{display:none}.toggle-switch input:empty~label{position:relative;cursor:pointer;user-select:none;margin:0.05em 0.6em -0.05em 0}.toggle-switch input:empty~label:before{display:block;content:\\\" \\\";width:2.2em;height:0.8em;background-color:rgba(181, 181, 181, 0.5);border-radius:10em;transition:all 100ms ease-in}.toggle-switch input:empty~label:after{position:absolute;display:block;top:-0.2em;left:-0.3em;content:\\\" \\\";width:1.25em;height:1.25em;background-color:#888888;border-radius:50%;transition:all 100ms ease-in}.toggle-switch input:checked~label:before{background-color:hsla(var(--secondary-color-hsl, 210, 3%, 22%), 0.5)}.toggle-switch input:checked~label:after{left:1.3em;background-color:var(--secondary-color, #373a3c)}\";\n\nconst OntoToggleSwitch = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.toggleChanged = createEvent(this, \"toggleChanged\");\n this.subscriptions = new SubscriptionList();\n /**\n * Determines whether the toggle switch is checked or not.\n */\n this.checked = false;\n this.toggle = () => {\n this.checked = !this.checked;\n this.toggleChanged.emit({ checked: this.checked, context: this.context });\n };\n }\n subscribeToLanguageChange() {\n if (this.tooltipTranslationKey) {\n this.subscriptions.add(TranslationService.onTranslate(this.tooltipTranslationKey, [], (translation) => {\n this.tooltipLabel = translation;\n }));\n }\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n connectedCallback() {\n this.subscribeToLanguageChange();\n }\n render() {\n return (h(\"section\", { key: '61f57d75ab3c41db9ce033d883c3efd9e50ae789' }, this.labelKey &&\n h(\"label\", { key: '5e62380c1ea0a4b20d9294d76d3ab8d05a95cd60' }, h(\"strong\", { key: '93072a39d05f6af3e445f001f93ce5071dd20d44' }, h(\"translate-label\", { key: '4a40640f84224fbeb55e80a2a1779fe0d212fb10', labelKey: this.labelKey }), \"\\u00A0\")), h(\"button\", { key: 'd9cea7b80df3b02a719899c7a067bbdbe86e08f4', class: \"toggle-switch\", onClick: this.toggle, \"tooltip-append-to\": \"parent\", \"tooltip-content\": this.tooltipLabel, \"tooltip-placement\": OntoTooltipPlacement.TOP }, h(\"input\", { key: '3f665f7b2b420292a2df994137277e71c908b0ed', type: \"checkbox\", checked: this.checked }), h(\"label\", { key: 'c15661c93f86abb868e536a3dae9a0fc89719d91' }))));\n }\n};\nOntoToggleSwitch.style = ontoToggleSwitchCss;\n\nexport { OntoDialog as onto_dialog, OntoToggleSwitch as onto_toggle_switch };\n","const INTERACTIVE_ELEMENTS_SELECTOR = 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\nclass HtmlUtil {\n /**\n * Setter for the document body overflow property.\n *\n * @param newOverflow - the new overflow value.\n *\n * @return the old overflow value.\n */\n static setDocumentBodyOverflow(newOverflow) {\n const oldOverflow = document.body.style.overflow;\n document.body.style.overflow = newOverflow;\n return oldOverflow;\n }\n /**\n * Hides the document body overflow.\n *\n * @return the value of overflow before set it to hidden.\n */\n static hideDocumentBodyOverflow() {\n return HtmlUtil.setDocumentBodyOverflow('hidden');\n }\n /**\n * Focuses the next element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusNextElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (currentIndex + 1) % focusableElements.length;\n const nextActiveElement = focusableElements[nextIndex];\n if (nextActiveElement) {\n nextActiveElement.focus();\n }\n }\n }\n /**\n * Focuses the previous element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusPreviousElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (currentIndex - 1 + focusableElements.length) % focusableElements.length;\n const previousActiveElement = focusableElements[previousIndex];\n if (previousActiveElement) {\n previousActiveElement.focus();\n }\n }\n }\n static preventLeavingDialog(hostElement, ev) {\n if (ev.key === 'Tab') {\n ev.preventDefault();\n if (ev.shiftKey) {\n HtmlUtil.focusPreviousElement(hostElement);\n }\n else {\n HtmlUtil.focusNextElement(hostElement);\n }\n }\n }\n /**\n * Focuses an element in the document based on the provided CSS selector.\n *\n * @param selector - A CSS selector string used to identify the element to focus.\n * This should be a valid CSS selector that uniquely identifies the target element.\n */\n static focusElement(selector) {\n const element = document.querySelector(selector);\n element === null || element === void 0 ? void 0 : element.focus();\n }\n /**\n * Scrolls an element into the visible area of its scrollable container.\n *\n * @param elementSelector - A CSS selector string used to identify the element to scroll into view.\n * This should be a valid CSS selector that uniquely identifies the target element.\n * @param options the scroll into view options.\n */\n static scrollElementIntoView(elementSelector, options = { block: 'nearest' }) {\n const element = document.querySelector(elementSelector);\n if (!element) {\n return;\n }\n element.scrollIntoView(options);\n }\n /**\n * Waits for an element to appear in the DOM by observing DOM mutations.\n * This function creates a MutationObserver that watches for changes in the document body\n * and resolves with the element once it becomes available.\n *\n * @param selector - A CSS selector string used to identify the element to wait for.\n * This should be a valid CSS selector that uniquely identifies the target element.\n *\n * @returns A Promise that resolves with the found HTMLElement when it appears in the DOM,\n * or rejects if an error occurs during the observation process.\n */\n static waitForElement(selector) {\n return new Promise((resolve, reject) => {\n const observer = new MutationObserver(() => {\n try {\n const element = document.querySelector(selector);\n if (element) {\n observer.disconnect();\n resolve(element);\n }\n }\n catch (error) {\n observer.disconnect();\n reject(error);\n }\n });\n observer.observe(document.body, { subtree: true, childList: true, attributes: true });\n });\n }\n}\n\nexport { HtmlUtil as H };\n"],"names":["OntoTooltipPlacement","sanitizeHTML","html","element","document","createElement","innerHTML","value","TranslationServiceClassDefinition","constructor","this","languageContextService","ServiceProvider","get","LanguageContextService","translationChangedObservers","defaultBundle","getDefaultBundle","subscribeToBundleChange","onTranslate","messageLabelKey","translationParameter","translationCallback","observer","parameters","callback","push","translate","index","indexOf","splice","key","translateInLocale","translation","translateFromBundle","currentBundle","applyParameters","console","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","length","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","forEach","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy","TranslationService","OntoDialog","hostRef","registerInstance","handleClose","evt","config","onClose","componentDidLoad","documentOverflow","HtmlUtil","hideDocumentBodyOverflow","hostElement","addEventListener","preventLeavingDialog","bind","closeButton","focus","disconnectedCallback","removeEventListener","setDocumentBodyOverflow","render","h","Host","tabindex","class","modalClass","dialogTitle","name","onClick","ref","el","labelKey","ev","getElement","style","ObjectUtil","deepEqual","obj1","obj2","Array","isArray","i","keys1","keys2","deepCopy","obj","map","item","result","create","getPrototypeOf","hasCopyMethod","prototype","hasOwnProperty","call","copy","Model","ModelList","items","super","getItems","sort","comparator","filter","filterFunction","find","isEmpty","addToStart","unshift","addItems","remove","SubscriptionList","subscriptions","add","subscription","addAll","unsubscribeAll","OntoToggleSwitch","toggleChanged","createEvent","checked","toggle","emit","context","subscribeToLanguageChange","tooltipTranslationKey","tooltipLabel","connectedCallback","TOP","type","INTERACTIVE_ELEMENTS_SELECTOR","newOverflow","oldOverflow","body","overflow","focusNextElement","parentElement","activeElementSelector","focusableElements","from","querySelectorAll","currentIndex","activeElement","nextActiveElement","focusPreviousElement","previousActiveElement","preventDefault","shiftKey","focusElement","selector","querySelector","scrollElementIntoView","elementSelector","options","block","scrollIntoView","waitForElement","Promise","resolve","reject","MutationObserver","disconnect","error","observe","subtree","childList","attributes"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"78681.39694d37c0f75ea04df6.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/onto-tooltip-placement-D_J2-9CG.js","webpack://root-config/./packages/shared-components/dist/esm/translation.service-Hf6024E7.js","webpack://root-config/./packages/shared-components/dist/esm/onto-dialog_2.entry.js","webpack://root-config/./packages/shared-components/dist/esm/html-util-C8DO915D.js"],"sourcesContent":["var OntoTooltipPlacement;\n(function (OntoTooltipPlacement) {\n OntoTooltipPlacement[\"LEFT\"] = \"left\";\n OntoTooltipPlacement[\"RIGHT\"] = \"right\";\n OntoTooltipPlacement[\"TOP\"] = \"top\";\n OntoTooltipPlacement[\"BOTTOM\"] = \"bottom\";\n OntoTooltipPlacement[\"AUTO\"] = \"auto\";\n})(OntoTooltipPlacement || (OntoTooltipPlacement = {}));\n\nexport { OntoTooltipPlacement as O };\n","import { ServiceProvider, LanguageContextService } from '@ontotext/workbench-api';\n\nfunction sanitizeHTML(html) {\n const element = document.createElement('textarea');\n element.innerHTML = html;\n return element.value;\n}\n\n/**\n * Service responsible for translation operations in the component.\n */\nclass TranslationServiceClassDefinition {\n constructor() {\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.translationChangedObservers = {};\n // log with background color\n this.defaultBundle = this.languageContextService.getDefaultBundle();\n this.subscribeToBundleChange();\n }\n /**\n * Translates the <code>messageLabelKey</code> with <code>translationParameter</code> and call <code>translationCallback</code> with translation of current language.\n * The <code>translationCallback</code> is called upon subscription and whenever the selected language is changed.\n *\n * @param messageLabelKey - The label key for the translation.\n * @param translationParameter - Parameters, if needed, for translation.\n * @param translationCallback - A function to be called when translating the `messageLabelKey`.\n * @returns A function that, when called, unsubscribes the provided callback from further translation updates.\n */\n onTranslate(messageLabelKey, translationParameter = [], translationCallback = () => { }) {\n this.translationChangedObservers[messageLabelKey] = this.translationChangedObservers[messageLabelKey] || [];\n const observer = { parameters: translationParameter, callback: translationCallback };\n this.translationChangedObservers[messageLabelKey].push(observer);\n translationCallback(this.translate(messageLabelKey, translationParameter));\n return () => {\n const index = this.translationChangedObservers[messageLabelKey].indexOf(observer);\n if (index !== -1) {\n this.translationChangedObservers[messageLabelKey].splice(index, 1);\n }\n };\n }\n /**\n * Translates the provided key using the currently selected language by applying the parameters if\n * provided.\n * @param key The key for the label which needs to be translated.\n * @param parameters Optional parameters which to be applied during the translation.\n */\n translate(key, parameters) {\n return this.translateInLocale(key, parameters);\n }\n /**\n * Translates a given key into the specified locale. If parameters are provided,\n * they will be applied to the translation.\n *\n * @param key - The translation key, which can be dot-separated for nested translations.\n * @param parameters - Optional parameters to be substituted into the translation string.\n * @returns The translated string with parameters applied if available, or the key itself if not found.\n */\n translateInLocale(key, parameters) {\n // Attempt to retrieve the translation from the specified locale's bundle.\n let translation = this.translateFromBundle(this.currentBundle, key);\n // If not found, fall back to the default language bundle.\n if (!translation) {\n translation = this.translateFromBundle(this.defaultBundle, key);\n }\n // If translation was found, apply any parameters provided and return the result.\n if (translation) {\n translation = this.applyParameters(translation, parameters);\n return sanitizeHTML(translation);\n }\n console.warn(`Missing translation for key: [${key}]`);\n return key;\n }\n /**\n * Retrieves a translation from a specified translation bundle using the given key.\n * If the key represents a nested JSON path, it attempts to resolve the key as such.\n *\n * @param bundle - The translation bundle for the specified locale.\n * @param key - The key to translate, which may be a simple key or dot-separated for nested keys.\n * @returns The translation string if found, or `undefined` if not available.\n */\n translateFromBundle(bundle, key) {\n if (!bundle) {\n return undefined;\n }\n // Try to retrieve the translation directly if it is defined as a whole string,\n // for instance as \"some_function.btn.label\".\n let translation = bundle[key];\n // If not found, attempt to retrieve the translation if it is defined as a JSON object.\n if (typeof translation !== 'string') {\n translation = this.translateAsJsonObject(bundle, key);\n }\n return translation;\n }\n /**\n * Resolves a nested translation key by treating it as a path in a JSON object.\n * For example, if the key is \"some.key.path\", this method will navigate through\n * the JSON object structure to retrieve the value at that path.\n *\n * @param bundle - The translation bundle containing nested keys.\n * @param key - The dot-separated key representing the path to the translation.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n translateAsJsonObject(bundle, key) {\n let path = key.split('.');\n return this.getTranslation(bundle, path);\n }\n /**\n * Recursively navigates through a JSON object based on a path array to retrieve\n * a translation string. Each element in the path array represents a nested key.\n *\n * @param jsonObject - The current JSON object or nested object being searched.\n * @param path - An array representing the path to the translation, where each element is a key.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n getTranslation(jsonObject, path) {\n // Stop the recursion if path or reach the inner element\n if (!path || !jsonObject) {\n return undefined;\n }\n const jsonOrTranslation = jsonObject[path.splice(0, 1)[0]];\n if (path.length === 0) {\n return jsonOrTranslation;\n }\n if (typeof jsonOrTranslation !== 'string') {\n // continue if the inner element is not reached.\n if (path.length > 0) {\n return this.getTranslation(jsonOrTranslation, path);\n }\n return jsonOrTranslation;\n }\n return undefined;\n }\n applyParameters(translation, parameters) {\n if (parameters) {\n return parameters.reduce(\n // replace all occurrence of parameter key with parameter value.\n (translation, parameter) => TranslationServiceClassDefinition.replaceAll(translation, parameter), translation);\n }\n return translation;\n }\n static replaceAll(translation, parameter) {\n return parameter ? translation.split(`{{${parameter.key}}}`).join(parameter.value) : translation;\n }\n notifyTranslationsChanged() {\n Object.keys(this.translationChangedObservers).forEach((eventName) => {\n const observers = this.translationChangedObservers[eventName] || [];\n observers.forEach((observer) => observer.callback(this.translate(eventName, observer.parameters)));\n });\n }\n subscribeToBundleChange() {\n this.languageChangeSubscription = this.languageContextService.onLanguageBundleChanged((bundle) => {\n if (bundle) {\n this.currentBundle = bundle;\n this.notifyTranslationsChanged();\n }\n });\n }\n destroy() {\n if (this.languageChangeSubscription) {\n this.languageChangeSubscription();\n }\n }\n}\nconst TranslationService = new TranslationServiceClassDefinition();\n\nexport { TranslationService as T, sanitizeHTML as s };\n","import { r as registerInstance, h, a as Host, g as getElement, c as createEvent } from './index-I_gcXFWK.js';\nimport { H as HtmlUtil } from './html-util-C8DO915D.js';\nimport { T as TranslationService } from './translation.service-Hf6024E7.js';\nimport { O as OntoTooltipPlacement } from './onto-tooltip-placement-D_J2-9CG.js';\nimport '@ontotext/workbench-api';\n\nconst ontoDialogCss = \".dialog-overlay{position:fixed;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:9998;margin-left:-10px;background-color:rgba(0, 0, 0, 0.5);font-family:var(--main-font), sans-serif;font-weight:var(--main-font-weight);color:var(--secondary-color, #373a3c)}.dialog{z-index:1001;max-width:60vw;max-height:90vh;background-color:#FFF;box-shadow:0 5px 15px rgba(0, 0, 0, 0.5);font-family:inherit;font-weight:inherit;display:flex;flex-direction:column;position:relative;justify-content:space-between;border:none}.dialog .dialog-header{display:flex;justify-content:space-between;padding:15px;font-size:20px}.dialog .dialog-header .dialog-title{margin:0.5rem 0;font-weight:400}.dialog .dialog-body{padding:0 15px 15px;overflow:auto}.dialog .dialog-footer{display:flex;justify-content:flex-end;padding:15px}\";\n\nconst OntoDialog = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.handleClose = (evt) => {\n this.config.onClose(evt);\n };\n }\n componentDidLoad() {\n this.documentOverflow = HtmlUtil.hideDocumentBodyOverflow();\n this.hostElement.addEventListener('keydown', this.preventLeavingDialog.bind(this));\n this.closeButton.focus();\n }\n disconnectedCallback() {\n this.hostElement.removeEventListener('keydown', this.preventLeavingDialog.bind(this));\n HtmlUtil.setDocumentBodyOverflow(this.documentOverflow);\n }\n render() {\n return (h(Host, { key: 'eeffeaac1aa5b80b89d0d176d89dc44291fd0cbb', tabindex: \"-1\" }, h(\"div\", { key: '2ba8415fa038ad2666cc0b340a3ceba6f0919bc6', class: `dialog-overlay ${this.config.modalClass ? this.config.modalClass : ''}` }, h(\"dialog\", { key: '39b9fc94944e12e8dcae98a65e74593dc173b336', class: \"dialog\" }, h(\"header\", { key: '183327aad084ff6fd619d204a537871cace84684', class: \"dialog-header\" }, h(\"h3\", { key: 'ae4c514e0f75e46d5787d284154392de808100ca', class: \"dialog-title\" }, this.config.dialogTitle)), h(\"main\", { key: 'dc991f0ef3baa22f42f683528a4ca67ab8d5e7f4', class: \"dialog-body\" }, h(\"slot\", { key: 'ddc1c5176d976f5a518fed1d2faa138d0bc5082a', name: \"body\" })), h(\"footer\", { key: 'b3cb9449b54583a7b5489b7d56fa084e456b4d75', class: \"dialog-footer\" }, h(\"slot\", { key: 'b3bc85bdfe12da62019be2e542737e5b6f7db4f6', name: \"footer\" }), h(\"button\", { key: 'c58a84d33d8d07ae67a9988adaa320166371cc5b', class: \"onto-btn onto-btn-primary\", onClick: this.handleClose, ref: (el) => (this.closeButton = el) }, h(\"translate-label\", { key: 'b593b5e113baa66e6878a2e885a46bc6581bf27f', labelKey: 'common.button.close' })))))));\n }\n preventLeavingDialog(ev) {\n HtmlUtil.preventLeavingDialog(this.hostElement, ev);\n }\n get hostElement() { return getElement(this); }\n};\nOntoDialog.style = ontoDialogCss;\n\nclass ObjectUtil {\n /**\n * Performs a deep equality check between two values.\n *\n * This function compares two values to determine if they are deeply equal.\n * It supports comparison of primitives, arrays, and objects, including nested structures.\n *\n * @param obj1 - The first value to compare.\n * @param obj2 - The second value to compare.\n * @returns `true` if both values are deeply equal, otherwise `false`.\n *\n * @example\n * // Comparing two deeply nested objects\n * const obj1 = { a: 1, b: { c: [1, 2, 3], d: { e: 'hello' } } };\n * const obj2 = { a: 1, b: { c: [1, 2, 3], d: { e: 'hello' } } };\n * console.log(deepEqual(obj1, obj2)); // true\n *\n * @example\n * // Comparing two arrays with different values\n * const arr1 = [1, 2, 3];\n * const arr2 = [1, 2, 4];\n * console.log(deepEqual(arr1, arr2)); // false\n */\n static deepEqual(obj1, obj2) {\n // Check if both values are strictly equal (handles primitives and references)\n if (obj1 === obj2) {\n return true;\n }\n // Check if either value is null or undefined\n if (obj1 === null || obj1 === undefined || obj2 === null || obj2 === undefined) {\n return false;\n }\n // Check if both values are objects\n if (typeof obj1 === 'object' && typeof obj2 === 'object') {\n // Ensure both have the same constructor (handles different types of objects, like Date, RegExp)\n if (obj1.constructor !== obj2.constructor) {\n return false;\n }\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n // Check if both arrays have the same length\n if (obj1.length !== obj2.length) {\n return false;\n }\n // Compare each element recursively\n for (let i = 0; i < obj1.length; i++) {\n if (!ObjectUtil.deepEqual(obj1[i], obj2[i])) {\n return false;\n }\n }\n return true;\n }\n // Handle plain objects\n if (!Array.isArray(obj1) && !Array.isArray(obj2)) {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n // Check if both objects have the same number of keys\n if (keys1.length !== keys2.length) {\n return false;\n }\n // Check if all keys and values are deeply equal\n for (const key of keys1) {\n if (!(key in obj2) || // Ensure the key exists in obj2\n !ObjectUtil.deepEqual(obj1[key], obj2[key])) {\n return false;\n }\n }\n return true;\n }\n // If one is an array and the other is not, they are not equal\n return false;\n }\n // Default case: Not equal\n return false;\n }\n /**\n * Creates a deep copy of the given object.\n *\n * This method recursively copies all properties and values of the object,\n * handling different types such as primitives, arrays, and plain objects.\n * It ensures that the copied object does not share references with the original object,\n * meaning that all nested structures are also copied independently.\n *\n * @param obj - The object to be deeply copied. Can be any type, including primitives,\n * arrays, or objects.\n * @returns A deep copy of the object. If the input is a primitive, null, undefined,\n * or a function, the original value is returned as-is.\n */\n static deepCopy(obj) {\n // Handle primitives, null, undefined, and functions\n if (typeof obj !== 'object' || obj === null || obj === undefined || typeof obj === 'function') {\n return obj;\n }\n // Handle arrays separately to ensure deep copy of elements\n if (Array.isArray(obj)) {\n return obj.map(item => ObjectUtil.deepCopy(item));\n }\n // Handle plain objects or objects with a prototype\n const result = Object.create(Object.getPrototypeOf(obj));\n // Recursively copy each key-value pair\n for (const key of Object.keys(obj)) {\n result[key] = ObjectUtil.deepCopy(obj[key]);\n }\n return result;\n }\n /**\n * Type guard to check if the value has a 'copy' method.\n * @param value - The value to check.\n * @returns True if the value has a 'copy' method, false otherwise.\n */\n static hasCopyMethod(value) {\n return typeof value === 'object' && value !== null && Object.prototype.hasOwnProperty.call(value, 'copy') && typeof value.copy === 'function';\n }\n}\n\n/**\n * Base class for all models, providing deep copy functionality.\n *\n * This abstract class ensures that any model extending it implements immutability\n * by providing a `copy` method, which creates a deep copy of the current instance.\n *\n * All models in the application are expected to extend this class to inherit the\n * `copy` behavior, ensuring consistency in how objects are cloned and manipulated.\n *\n * @template <T> The type of the model extending this class.\n */\nclass Model {\n /**\n * Creates a deep copy of the current instance.\n *\n * This method utilizes `ObjectUtil.deepCopy` to create a new instance of the model\n * with all properties and nested objects deeply cloned, ensuring that any changes\n * to the copy do not affect the original instance.\n *\n * @returns A new instance of the type `T` that is a deep copy of the original.\n */\n copy() {\n return ObjectUtil.deepCopy(this);\n }\n}\n\n/**\n * Abstract base class for managing a list of items that extends the {@link Model} class.\n *\n * This class provides common utility methods for manipulating and querying the list of items,\n * such as sorting, filtering, and finding elements. Subclasses can extend this class to work\n * with specific types of models.\n *\n * @template T - The type of items in the list.\n */\nclass ModelList extends Model {\n /**\n * Creates an instance of the {@link ModelList}.\n *\n * @param items - An optional array of items to initialize the list. If no items are provided,\n * an empty array is used by default.\n */\n constructor(items = []) {\n super();\n this.items = items;\n }\n getItems() {\n return this.items;\n }\n /**\n * Sorts the items in place using the specified comparator function.\n *\n * @param comparator - A comparison function that defines the sort order.\n * Should return a negative number if `a` < `b`,\n * zero if `a` === `b`, or a positive number if `a` > `b`.\n *\n * @example\n * const modelList = new MyModelList([{ id: 2 }, { id: 1 }]);\n * modelList.sort((a, b) => a.id - b.id);\n * console.log(modelList.items); // Outputs: [{ id: 1 }, { id: 2 }]\n */\n sort(comparator) {\n this.items.sort(comparator);\n }\n /**\n * Filters the items using the specified filter function.\n *\n * @param filterFunction - A function that returns `true` for items to include\n * and `false` for items to exclude.\n * @returns A new array of items that match the filter criteria.\n */\n filter(filterFunction) {\n return this.items.filter(filterFunction);\n }\n /**\n * Finds an item in the list that matches the specified filter function.\n *\n * @param filterFunction - A function that returns `true` for the desired item.\n * @returns The first item that matches the filter criteria, or `undefined` if none match.\n */\n find(filterFunction) {\n return this.items.find(filterFunction);\n }\n /**\n * Checks if the collection of items is empty.\n *\n * @returns {boolean} - Returns `true` if there are no items in the collection, otherwise `false`.\n */\n isEmpty() {\n return this.items.length === 0;\n }\n /**\n * Adds a new item to the list in the first position.\n *\n * @param item - The item to add.\n */\n addToStart(item) {\n this.items.unshift(item);\n }\n /**\n * Adds an array of items to the end of the list.\n *\n * @param items the items to add\n */\n addItems(items) {\n this.items.push(...items);\n }\n /**\n * Removes a specific item from the list.\n *\n * This method finds the first occurrence of the specified item in the list and removes it.\n * If the item is not found in the list, no changes are made.\n *\n * @param item - The item to be removed from the list.\n */\n remove(item) {\n const index = this.items.indexOf(item);\n if (index !== -1) {\n this.items.splice(index, 1);\n }\n }\n}\n\n/**\n * Represents a list of subscriptions that can be managed collectively.\n * Extends the {@link ModelList} class, specialized for {@link Subscription} type.\n */\nclass SubscriptionList extends ModelList {\n /**\n * Creates a new instance of SubscriptionList.\n * @param subscriptions - An optional array of Subscription functions to initialize the list.\n */\n constructor(subscriptions) {\n super(subscriptions);\n }\n /**\n * Adds a new subscription to the list.\n * @param subscription - The Subscription function to be added to the list.\n */\n add(subscription) {\n this.items.push(subscription);\n }\n /**\n * Adds multiple subscriptions to the list.\n * @param subscriptions - An array of Subscription functions to be added.\n */\n addAll(subscriptions) {\n this.items.push(...subscriptions);\n }\n /**\n * Calls all subscription functions in the list and then clears the list. Calling a subscription\n * function unsubscribes the subscription. This effectively unsubscribes all subscriptions\n * and removes them from the list.\n */\n unsubscribeAll() {\n this.items.forEach(subscription => subscription());\n this.items = [];\n }\n}\n\nconst ontoToggleSwitchCss = \".toggle-switch{all:unset;clear:both;margin:0 5px;width:36px}.toggle-switch:focus{outline:none;box-shadow:none}.toggle-switch:focus-visible{outline:none;box-shadow:none}.toggle-switch input:empty{display:none}.toggle-switch input:empty~label{position:relative;cursor:pointer;user-select:none;margin:0.05em 0.6em -0.05em 0}.toggle-switch input:empty~label:before{display:block;content:\\\" \\\";width:2.2em;height:0.8em;background-color:rgba(181, 181, 181, 0.5);border-radius:10em;transition:all 100ms ease-in}.toggle-switch input:empty~label:after{position:absolute;display:block;top:-0.2em;left:-0.3em;content:\\\" \\\";width:1.25em;height:1.25em;background-color:#888888;border-radius:50%;transition:all 100ms ease-in}.toggle-switch input:checked~label:before{background-color:hsla(var(--secondary-color-hsl, 210, 3%, 22%), 0.5)}.toggle-switch input:checked~label:after{left:1.3em;background-color:var(--secondary-color, #373a3c)}\";\n\nconst OntoToggleSwitch = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.toggleChanged = createEvent(this, \"toggleChanged\");\n this.subscriptions = new SubscriptionList();\n /**\n * Determines whether the toggle switch is checked or not.\n */\n this.checked = false;\n this.toggle = () => {\n this.checked = !this.checked;\n this.toggleChanged.emit({ checked: this.checked, context: this.context });\n };\n }\n subscribeToLanguageChange() {\n if (this.tooltipTranslationKey) {\n this.subscriptions.add(TranslationService.onTranslate(this.tooltipTranslationKey, [], (translation) => {\n this.tooltipLabel = translation;\n }));\n }\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n connectedCallback() {\n this.subscribeToLanguageChange();\n }\n render() {\n return (h(\"section\", { key: '61f57d75ab3c41db9ce033d883c3efd9e50ae789' }, this.labelKey &&\n h(\"label\", { key: '5e62380c1ea0a4b20d9294d76d3ab8d05a95cd60' }, h(\"strong\", { key: '93072a39d05f6af3e445f001f93ce5071dd20d44' }, h(\"translate-label\", { key: '4a40640f84224fbeb55e80a2a1779fe0d212fb10', labelKey: this.labelKey }), \"\\u00A0\")), h(\"button\", { key: 'c4d70e37ea61c8e5977f432a898e63c091f431be', class: \"toggle-switch\", onClick: this.toggle, \"tooltip-append-to\": \"parent\", \"tooltip-content\": this.tooltipLabel, \"tooltip-placement\": OntoTooltipPlacement.TOP }, h(\"input\", { key: 'b5a46c098d733281fa9e0a5e4e068e708860c1ca', type: \"checkbox\", checked: this.checked }), h(\"label\", { key: '588d5db134666764d02ec1b7e7ea7a336a709e44' }))));\n }\n};\nOntoToggleSwitch.style = ontoToggleSwitchCss;\n\nexport { OntoDialog as onto_dialog, OntoToggleSwitch as onto_toggle_switch };\n","const INTERACTIVE_ELEMENTS_SELECTOR = 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\nclass HtmlUtil {\n /**\n * Setter for the document body overflow property.\n *\n * @param newOverflow - the new overflow value.\n *\n * @return the old overflow value.\n */\n static setDocumentBodyOverflow(newOverflow) {\n const oldOverflow = document.body.style.overflow;\n document.body.style.overflow = newOverflow;\n return oldOverflow;\n }\n /**\n * Hides the document body overflow.\n *\n * @return the value of overflow before set it to hidden.\n */\n static hideDocumentBodyOverflow() {\n return HtmlUtil.setDocumentBodyOverflow('hidden');\n }\n /**\n * Focuses the next element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusNextElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const nextIndex = (currentIndex + 1) % focusableElements.length;\n const nextActiveElement = focusableElements[nextIndex];\n if (nextActiveElement) {\n nextActiveElement.focus();\n }\n }\n }\n /**\n * Focuses the previous element within a specified parent element based on the <code>activeElementSelector</code>, that selects all elements to be focused.\n *\n * @param parentElement - The parent element containing the focusable elements.\n * @param activeElementSelector - The CSS selector for identifying focusable elements.\n */\n static focusPreviousElement(parentElement, activeElementSelector = INTERACTIVE_ELEMENTS_SELECTOR) {\n const focusableElements = Array.from(parentElement.querySelectorAll(activeElementSelector));\n if (focusableElements.length > 0) {\n const currentIndex = focusableElements.indexOf(document.activeElement);\n const previousIndex = (currentIndex - 1 + focusableElements.length) % focusableElements.length;\n const previousActiveElement = focusableElements[previousIndex];\n if (previousActiveElement) {\n previousActiveElement.focus();\n }\n }\n }\n static preventLeavingDialog(hostElement, ev) {\n if (ev.key === 'Tab') {\n ev.preventDefault();\n if (ev.shiftKey) {\n HtmlUtil.focusPreviousElement(hostElement);\n }\n else {\n HtmlUtil.focusNextElement(hostElement);\n }\n }\n }\n /**\n * Focuses an element in the document based on the provided CSS selector.\n *\n * @param selector - A CSS selector string used to identify the element to focus.\n * This should be a valid CSS selector that uniquely identifies the target element.\n */\n static focusElement(selector) {\n const element = document.querySelector(selector);\n element === null || element === void 0 ? void 0 : element.focus();\n }\n /**\n * Scrolls an element into the visible area of its scrollable container.\n *\n * @param elementSelector - A CSS selector string used to identify the element to scroll into view.\n * This should be a valid CSS selector that uniquely identifies the target element.\n * @param options the scroll into view options.\n */\n static scrollElementIntoView(elementSelector, options = { block: 'nearest' }) {\n const element = document.querySelector(elementSelector);\n if (!element) {\n return;\n }\n element.scrollIntoView(options);\n }\n /**\n * Waits for an element to appear in the DOM by observing DOM mutations.\n * This function creates a MutationObserver that watches for changes in the document body\n * and resolves with the element once it becomes available.\n *\n * @param selector - A CSS selector string used to identify the element to wait for.\n * This should be a valid CSS selector that uniquely identifies the target element.\n *\n * @returns A Promise that resolves with the found HTMLElement when it appears in the DOM,\n * or rejects if an error occurs during the observation process.\n */\n static waitForElement(selector) {\n return new Promise((resolve, reject) => {\n const observer = new MutationObserver(() => {\n try {\n const element = document.querySelector(selector);\n if (element) {\n observer.disconnect();\n resolve(element);\n }\n }\n catch (error) {\n observer.disconnect();\n reject(error);\n }\n });\n observer.observe(document.body, { subtree: true, childList: true, attributes: true });\n });\n }\n}\n\nexport { HtmlUtil as H };\n"],"names":["OntoTooltipPlacement","sanitizeHTML","html","element","document","createElement","innerHTML","value","TranslationServiceClassDefinition","constructor","this","languageContextService","ServiceProvider","get","LanguageContextService","translationChangedObservers","defaultBundle","getDefaultBundle","subscribeToBundleChange","onTranslate","messageLabelKey","translationParameter","translationCallback","observer","parameters","callback","push","translate","index","indexOf","splice","key","translateInLocale","translation","translateFromBundle","currentBundle","applyParameters","console","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","length","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","forEach","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy","TranslationService","OntoDialog","hostRef","registerInstance","handleClose","evt","config","onClose","componentDidLoad","documentOverflow","HtmlUtil","hideDocumentBodyOverflow","hostElement","addEventListener","preventLeavingDialog","bind","closeButton","focus","disconnectedCallback","removeEventListener","setDocumentBodyOverflow","render","h","Host","tabindex","class","modalClass","dialogTitle","name","onClick","ref","el","labelKey","ev","getElement","style","ObjectUtil","deepEqual","obj1","obj2","Array","isArray","i","keys1","keys2","deepCopy","obj","map","item","result","create","getPrototypeOf","hasCopyMethod","prototype","hasOwnProperty","call","copy","Model","ModelList","items","super","getItems","sort","comparator","filter","filterFunction","find","isEmpty","addToStart","unshift","addItems","remove","SubscriptionList","subscriptions","add","subscription","addAll","unsubscribeAll","OntoToggleSwitch","toggleChanged","createEvent","checked","toggle","emit","context","subscribeToLanguageChange","tooltipTranslationKey","tooltipLabel","connectedCallback","TOP","type","INTERACTIVE_ELEMENTS_SELECTOR","newOverflow","oldOverflow","body","overflow","focusNextElement","parentElement","activeElementSelector","focusableElements","from","querySelectorAll","currentIndex","activeElement","nextActiveElement","focusPreviousElement","previousActiveElement","preventDefault","shiftKey","focusElement","selector","querySelector","scrollElementIntoView","elementSelector","options","block","scrollIntoView","waitForElement","Promise","resolve","reject","MutationObserver","disconnect","error","observe","subtree","childList","attributes"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=79329;export const __webpack_ids__=[79329];export const __webpack_modules__={79329:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});const o='<link href="css/ttyg/agent-settings-modal.css?v=3.2.0-TR1" rel="stylesheet"/> <link href="css/lib/ng-tags-input/ng-tags-input.min.css?v=3.2.0-TR1" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h4 class="modal-title">{{( operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.title.edit \' : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.title.clone\' : \'ttyg.agent.create_agent_modal.title.create\') | translate}}</h4> </div> <div class="modal-body"> <form novalidate name="agentSettingsForm" id="agentSettingsForm" class="agent-settings-form" guide-selector="agent-form"> <div class="form-group agent-name-label"> <label for="name" uib-popover="{{\'ttyg.agent.create_agent_modal.form.agent_name.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.agent_name.label\' | translate}}</label> <input type="text" class="form-control" id="name" name="name" ng-model="agentFormModel.name" required autocomplete="off" guide-selector="agent-name" placeholder="{{\'ttyg.agent.create_agent_modal.form.agent_name.placeholder\' | translate}}"> <div class="alert alert-danger" ng-if="agentSettingsForm.name.$touched && agentSettingsForm.name.$invalid"> {{\'required.field\' | translate}} </div> </div> <div> <button class="external-config-btn" ng-click="openExternalIntegrationConfig()" ng-if="operation !== AGENT_OPERATION.CREATE" uib-popover="{{\'ttyg.agent.create_agent_modal.form.external_config.tooltip\' | translate}}" popover-trigger="mouseenter"> <i class="fa-regular fa-plug-circle-plus"></i> {{\'ttyg.agent.create_agent_modal.form.external_config.label\' | translate}} </button> </div> <div class="form-group repository-id"> <label for="repositoryId" uib-popover="{{\'ttyg.agent.create_agent_modal.form.repository.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.repository.label\' | translate}}</label> <select class="form-control" id="repositoryId" name="repositoryId" ng-model="agentFormModel.repositoryId" required ng-change="onRepositoryChange()" guide-selector="repository-id" ng-options="repository.value as repository.label for repository in activeRepositoryList"> </select> <div class="alert alert-danger" ng-if="agentSettingsForm.repositoryId.$touched && agentSettingsForm.repositoryId.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-row clearfix"> <div class="form-group llm-model" ng-class="{\'col-md-3\': showContextSize, \'col-md-4\': !showContextSize}"> <label for="model">{{\'ttyg.agent.create_agent_modal.form.model.label\' | translate}}</label> <help-info-popover help-info="helpInfoForModel"></help-info-popover> <input type="text" class="form-control" id="model" name="model" ng-model="agentFormModel.model" guide-selector="model" required autocomplete="off"> <div class="alert alert-danger" ng-if="agentSettingsForm.model.$touched && agentSettingsForm.model.$invalid"> {{\'required.field\' | translate}} </div> </div> <div ng-if="showContextSize" class="form-group context-size col-md-3"> <div class="context-size-wrapper"> <label for="contextSize"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.context_size.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.context_size.label\' | translate}}</span> </label> <button type="button" class="btn btn-link btn-sm reset-context-size-btn" ng-click="onRestoreDefaultContextSize()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.context_size.restore_default_btn.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> <div class="input-with-unit"> <input type="number" id="contextSize" name="contextSize" class="form-control" min="1" ng-model="agentFormModel.contextSize" required autocomplete="off"> <span class="token-unit-label"> {{\'ttyg.agent.create_agent_modal.form.context_size.field_addon\' | translate}} </span> </div> </div> <div class="alert alert-danger" ng-if="agentSettingsForm.contextSize.$touched && agentSettingsForm.contextSize.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group temperature" ng-class="{\'col-md-3\': showContextSize, \'col-md-4\': !showContextSize}" guide-selector="temperature-control"> <label for="temperature"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.temperature.label\' | translate}}</span> <i class="fa fa-triangle-exclamation text-warning high-temperature-warning" ng-if="showHighTemperatureWarning" uib-popover="{{\'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning\' | translate}}" popover-trigger="mouseenter"></i> </label> <input type="text" id="temperature" name="temperature" readonly="readonly" class="form-control" ng-class="{\'has-warning\': showHighTemperatureWarning}" ng-model="agentFormModel.temperature.value"> <input id="temperatureSlider" name="temperature" type="range" guide-selector="temperature-control-input" min="{{agentFormModel.temperature.minValue}}" max="{{agentFormModel.temperature.maxValue}}" step="{{agentFormModel.temperature.step}}" ng-change="onTemperatureChange()" ng-model="agentFormModel.temperature.value"/> </div> <div class="form-group top-p" ng-class="{\'col-md-3\': showContextSize, \'col-md-4\': !showContextSize}" guide-selector="top-p-control"> <label for="topP" uib-popover="{{\'ttyg.agent.create_agent_modal.form.top_p.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.top_p.label\' | translate}}</label> <input type="text" class="form-control" id="topP" name="topP" readonly="readonly" ng-model="agentFormModel.topP.value"> <input id="topPSlider" name="topP" type="range" min="{{agentFormModel.topP.minValue}}" guide-selector="top-p-control-input" max="{{agentFormModel.topP.maxValue}}" step="{{agentFormModel.topP.step}}" ng-model="agentFormModel.topP.value"/> </div> </div> <div class="form-group extraction-methods-group"> <label for="extractionMethods" uib-popover="{{\'ttyg.agent.create_agent_modal.form.extraction_method.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.extraction_method.label\' | translate}}</label> <div id="extractionMethods" name="extractionMethods" ng-model="agentFormModel.assistantExtractionMethods.extractionMethods" required class="accordion extraction-methods" ng-class="{\'has-error\': agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid}"> <div ng-repeat="extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods" class="extraction-method"> <div id="{{extractionMethod.method + \'_method_heading\'}}" class="extraction-method-heading" ng-class="{\'selected\': extractionMethod.selected}" guide-selector="query-method-{{extractionMethod.method}}"> <div class="mr-0 extraction-method-toggle"> <input type="checkbox" id="{{extractionMethod.method + \'_checkbox\'}}" guide-selector="query-method-{{extractionMethod.method}}-input" name="{{extractionMethod.method}}" class="switch" ng-click="toggleExtractionMethod(extractionMethod, $event)" ng-model="extractionMethod.selected"/> <label for="{{extractionMethod.method + \'_checkbox\'}}"></label> </div> <a class="btn btn-link panel-toggle-link" aria-expanded="false" aria-controls="{{extractionMethod.method + \'_method_content\'}}" ng-click="onExtractionMethodPanelToggle(extractionMethod)"> <span class="mr-1" uib-popover="{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.\' + extractionMethod.method + \'.label\' | translate}}</span> <i class="fa fa-chevron-down toggle-icon" ng-class="{\'expanded\': extractionMethod.expanded}"> </i> </a> </div> <div id="{{extractionMethod.method + \'_method_content\'}}" class="show extraction-method-content" aria-labelledby="{{extractionMethod.method + \'_method_heading\'}}" data-parent="#extractionMethods"> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL" class="extraction-method-options" ng-class="{\'has-error\': extractionMethod.selected && !extractionMethod.sparqlOption}"> <div class="sparql-option ontology-graph-option" guide-selector="sparql-ontology-graph-option"> <label class="radio-inline" uib-popover="{{\'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip\' | translate}}" popover-trigger="mouseenter"> <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" guide-selector="sparql-ontology-graph-option-input" ng-model="extractionMethod.sparqlOption" value="ontologyGraph"> {{\'ttyg.agent.create_agent_modal.form.ontology_graph.label\' | translate}} </label> <div class="panel" ng-show="extractionMethod.sparqlOption === \'ontologyGraph\'"> <div class="form-group"> <input type="text" class="form-control" id="ontologyGraph" guide-selector="sparql-ontology-graph-input" name="ontologyGraph" ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'ontologyGraph\'" ng-model="extractionMethod.ontologyGraph"> </div> </div> </div> <div class="sparql-option sparql-query-option" guide-selector="sparql-query-option"> <label class="radio-inline" uib-popover="{{\'ttyg.agent.create_agent_modal.form.construct_query.tooltip\' | translate}}" popover-trigger="mouseenter"> <input type="radio" name="sparqlOption" ng-required="extractionMethod.selected" guide-selector="sparql-query-option-input" ng-model="extractionMethod.sparqlOption" value="sparqlQuery"> {{\'ttyg.agent.create_agent_modal.form.construct_query.label\' | translate}} </label> <div class="panel" ng-show="extractionMethod.sparqlOption === \'sparqlQuery\'"> <div class="form-group"> <textarea type="text" class="form-control" id="sparqlQuery" guide-selector="sparql-query-input" name="sparqlQuery" rows="10" ng-required="extractionMethod.selected && extractionMethod.sparqlOption === \'sparqlQuery\'" ng-minlength="extractionMethod.sparqlQuery.minLength" ng-maxlength="extractionMethod.sparqlQuery.maxLength" ng-model="extractionMethod.sparqlQuery.value">\n </textarea> </div> </div> </div> <div class="alert alert-danger sparql-method-option-required-error mb-0" ng-if="extractionMethod.selected && !extractionMethod.sparqlOption"> {{\'ttyg.agent.create_agent_modal.form.sparql_search.required_option\' | translate}} </div> <div class="add-missing-namespaces-option mt-1" guide-selector="add-missing-namespaces-option"> <input id="addMissingNamespaces" name="addMissingNamespaces" type="checkbox" guide-selector="add-missing-namespaces-input" ng-model="extractionMethod.addMissingNamespaces"> <label for="addMissingNamespaces" uib-popover="{{\'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip\' | translate}}" popover-trigger="mouseenter">{{ \'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label\' | translate }}</label> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH" ng-class="{\'has-error\': agentSettingsForm.$error.FTSDisabled || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="checkIfFTSEnabled()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="!ftsEnabled && agentFormModel.repositoryId" class="fts-disabled-message" ng-bind-html="getFTSDisabledHelpMessage()"> </div> <div class="form-group max-triples" ng-show="ftsEnabled && agentFormModel.repositoryId"> <label for="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label\' | translate}} </label> <input type="number" class="form-control" guide-selector="max-triples-per-call-input" id="{{extractionMethods.FTS_SEARCH + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY" ng-class="{\'has-error\': agentSettingsForm.$error.missingIndex || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="updateSimilaritySearchPanel()" ng-disabled="disabled" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="agentFormModel.repositoryId && !similarityIndexes.length" class="no-similarity-index-message"> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1\' | translate}} <a href="" ng-click="goToCreateSimilarityView($event)"> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2\' | translate}} </a> {{\'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3\' | translate}}. </div> <div ng-show="similarityIndexes.length"> <div class="form-group similarity-index"> <label for="similarityIndex" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_index.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_index.label\' | translate}}</label> <span ng-if="extractionMethodLoaderFlags.similarity_search" onto-loader-fancy size="16"></span> <select class="form-control" id="similarityIndex" name="similarityIndex" guide-selector="similarity-index-select" ng-required="extractionMethod.selected" ng-if="!extractionMethodLoaderFlags.similarity_search" ng-model="extractionMethod.similarityIndex" ng-options="similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes"> </select> <div class="alert alert-danger" ng-if="extractionMethod.similarityIndex.$touched && extractionMethod.similarityIndex.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group similarity-index-threshold"> <label for="similarityIndexThreshold" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.similarity_threshold.label\' | translate}}</label> <input type="text" class="form-control" id="similarityIndexThreshold" name="similarityIndexThreshold" readonly="readonly" ng-model="extractionMethod.similarityIndexThreshold.value"> <input id="similarityIndexThresholdSlider" name="similarityIndexThreshold" type="range" ng-required="extractionMethod.selected" min="{{extractionMethod.similarityIndexThreshold.minValue}}" max="{{extractionMethod.similarityIndexThreshold.maxValue}}" step="0.1" ng-model="extractionMethod.similarityIndexThreshold.value"/> </div> <div class="form-group similarity-max-triples"> <label for="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label\' | translate}}</label> <input type="number" class="form-control" id="{{extractionMethods.SIMILARITY + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> </div> <div ng-if="extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL" ng-class="{\'has-error\': agentSettingsForm.$error.missingConnector || agentSettingsForm.repositoryId.$invalid}" class="extraction-method-options"> <button ng-if="agentFormModel.repositoryId" class="btn btn-link btn-sm pull-right" ng-click="updateRetrievalConnectorPanel()" ng-disabled="disabled" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip\' | translate}}"> <i class="fa fa-arrows-rotate"></i> </button> <div class="alert alert-danger missing-repositoryid-error mb-0" ng-if="agentSettingsForm.repositoryId.$invalid"> {{\'ttyg.agent.create_agent_modal.form.missing_repository_id\' | translate}} </div> <div ng-if="agentFormModel.repositoryId && !retrievalConnectors.length" class="no-retrieval-connector-message"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1\' | translate}} <a href="" ng-click="goToConnectorsView($event)"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2\' | translate}} </a> {{\'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3\' | translate}}. </div> <div ng-show="retrievalConnectors.length"> <div class="form-group retrieval-connector"> <label for="retrievalConnectorInstance" uib-popover="{{\'ttyg.agent.create_agent_modal.form.connector_id.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.connector_id.label\' | translate}}</label> <span ng-if="extractionMethodLoaderFlags.retrieval_search" onto-loader-fancy size="16"></span> <select class="form-control" id="retrievalConnectorInstance" name="retrievalConnectorInstance" ng-required="extractionMethod.selected" ng-if="!extractionMethodLoaderFlags.retrieval_search" ng-model="extractionMethod.retrievalConnectorInstance" ng-options="retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors"> </select> <div class="alert alert-danger" ng-if="extractionMethod.retrievalConnectorInstance.$touched && extractionMethod.retrievalConnectorInstance.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group query-template"> <label for="queryTemplate" uib-popover="{{\'ttyg.agent.create_agent_modal.form.query_template.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.query_template.label\' | translate}}</label> <textarea type="text" class="form-control" id="queryTemplate" name="queryTemplate" rows="10" ng-required="extractionMethod.selected" ng-minlength="extractionMethod.queryTemplate.minLength" ng-maxlength="extractionMethod.queryTemplate.maxLength" ng-model="extractionMethod.queryTemplate.value">\n </textarea> <div class="alert alert-danger" ng-if="extractionMethod.name.$touched && extractionMethod.name.$invalid"> {{\'required.field\' | translate}} </div> </div> <div class="form-group retrieval-connector-max-triples"> <label for="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}" uib-popover="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label\' | translate}}</label> <input type="number" class="form-control" id="{{extractionMethods.RETRIEVAL + \'_maxNumberOfTriplesPerCall\'}}" name="maxNumberOfTriplesPerCall" min="0" ng-model="extractionMethod.maxNumberOfTriplesPerCall" placeholder="{{\'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder\' | translate}}"> </div> </div> </div> </div> </div> </div> <div class="alert alert-danger extraction-method-required-error" ng-if="agentSettingsForm.extractionMethods.$touched && agentSettingsForm.extractionMethods.$invalid"> {{\'ttyg.agent.create_agent_modal.form.extraction_method.required\' | translate}} </div> </div> <div id="additionalExtractionMethods" class="form-group additional-extraction-methods"> <label uib-popover="{{\'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip\' | translate}}" popover-trigger="mouseenter"> {{\'ttyg.agent.create_agent_modal.form.additional_query_methods.label\' | translate}} </label> <div ng-repeat="extractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods" class="additional-extraction-method"> <div ng-if="ExtractionMethodTemplates[extractionMethod.method]"> <div ng-include="\'js/angular/ttyg/templates/\' + ExtractionMethodTemplates[extractionMethod.method] + \'.html\'"></div> </div> </div> </div> <div class="form-group user-instructions"> <div class="toolbar"> <label for="userInstruction" uib-popover="{{\'ttyg.agent.create_agent_modal.form.user_instruction.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.user_instruction.label\' | translate}}</label> <div class="actions"> <copy-to-clipboard tooltip-text="ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip" text-to-copy="{{agentFormModel.instructions.userInstruction}}"></copy-to-clipboard> <button class="btn btn-link btn-sm create-chat-btn" ng-click="onRestoreDefaultUserInstructions()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> </div> </div> <textarea type="text" class="form-control" id="userInstruction" name="userInstruction" rows="5" guide-selector="user-instructions" ng-model="agentFormModel.instructions.userInstruction" placeholder="{{\'ttyg.agent.create_agent_modal.form.user_instruction.placeholder\' | translate}}">\n </textarea> </div> <div class="text-xs-center"> <button type="button" ng-click="showAdvancedSettings = !showAdvancedSettings" class="btn btn-link btn-sm toggle-advanced-settings"> <span ng-hide="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.show\' | translate}}<em class="icon-caret-down"></em></span> <span ng-show="showAdvancedSettings">{{\'ttyg.agent.create_agent_modal.advanced_settings.hide\' | translate}}<em class="icon-caret-up"></em></span> </button> </div> <div ng-show="showAdvancedSettings" class="advanced-settings"> <div class="form-group system-instructions"> <div class="toolbar"> <label for="systemInstruction"> <span uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.tooltip\' | translate}}" popover-trigger="mouseenter">{{\'ttyg.agent.create_agent_modal.form.system_instruction.label\' | translate}}</span> <i class="fa fa-triangle-exclamation text-warning overriding-system-instructions-warning" ng-if="showSystemInstructionWarning" uib-popover="{{\'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body\' | translate}}" popover-trigger="mouseenter"></i> </label> <div class="actions"> <copy-to-clipboard tooltip-text="ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip" text-to-copy="{{agentFormModel.instructions.systemInstruction}}"></copy-to-clipboard> <button class="btn btn-link btn-sm create-chat-btn" ng-click="onRestoreDefaultSystemInstructions()" gdb-tooltip="{{\'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip\' | translate}}"> <i class="fa fa-arrow-rotate-left"></i> </button> </div> </div> <textarea type="text" class="form-control" id="systemInstruction" name="systemInstruction" rows="5" placeholder="{{\'ttyg.agent.create_agent_modal.form.system_instruction.placeholder\' | translate}}" ng-class="{\'has-warning\': showSystemInstructionWarning}" ng-model="agentFormModel.instructions.systemInstruction" ng-change="onSystemInstructionChange()">\n </textarea> </div> </div> </form> </div> <div class="modal-footer"> <button type="button" ng-click="onExplainAgentSettings()" class="btn explain-agent-settings-btn"> {{\'ttyg.agent.create_agent_modal.btn.explain_settings.label\' | translate}} </button> <div> <button type="button" ng-click="cancel()" class="btn cancel-btn"> {{\'ttyg.agent.create_agent_modal.btn.cancel.label\' | translate}} </button> <button type="button" ng-click="ok()" ng-disabled="agentSettingsForm.$invalid || savingAgent" guide-selector="save-agent-settings" class="btn btn-primary save-agent-settings-btn"> <span>{{(operation === AGENT_OPERATION.EDIT ? \'ttyg.agent.create_agent_modal.btn.save.label\' : operation === AGENT_OPERATION.CLONE ? \'ttyg.agent.create_agent_modal.btn.save.label\' : \'ttyg.agent.create_agent_modal.btn.create.label\') | translate}}</span> <span class="saving-agent-loader" ng-if="savingAgent" onto-loader-fancy hide-message="true" size="15"></span> </button> </div> </div> '}};
|
|
2
|
+
//# sourceMappingURL=79329.5a5cbfa466d1c62af915.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"79329.5a5cbfa466d1c62af915.bundle.js","mappings":"uJAOA,QANW,sxxB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/modal/agent-settings-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/agent-settings-modal.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <link href=\"css/lib/ng-tags-input/ng-tags-input.min.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h4 class=\"modal-title\">{{( operation === AGENT_OPERATION.EDIT ? 'ttyg.agent.create_agent_modal.title.edit ' : operation === AGENT_OPERATION.CLONE ? 'ttyg.agent.create_agent_modal.title.clone' : 'ttyg.agent.create_agent_modal.title.create') | translate}}</h4> </div> <div class=\"modal-body\"> <form novalidate name=\"agentSettingsForm\" id=\"agentSettingsForm\" class=\"agent-settings-form\" guide-selector=\"agent-form\"> <div class=\"form-group agent-name-label\"> <label for=\"name\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.agent_name.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.agent_name.label' | translate}}</label> <input type=\"text\" class=\"form-control\" id=\"name\" name=\"name\" ng-model=\"agentFormModel.name\" required autocomplete=\"off\" guide-selector=\"agent-name\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.agent_name.placeholder' | translate}}\"> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.name.\\$touched && agentSettingsForm.name.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div> <button class=\"external-config-btn\" ng-click=\"openExternalIntegrationConfig()\" ng-if=\"operation !== AGENT_OPERATION.CREATE\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.external_config.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> <i class=\"fa-regular fa-plug-circle-plus\"></i> {{'ttyg.agent.create_agent_modal.form.external_config.label' | translate}} </button> </div> <div class=\"form-group repository-id\"> <label for=\"repositoryId\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.repository.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.repository.label' | translate}}</label> <select class=\"form-control\" id=\"repositoryId\" name=\"repositoryId\" ng-model=\"agentFormModel.repositoryId\" required ng-change=\"onRepositoryChange()\" guide-selector=\"repository-id\" ng-options=\"repository.value as repository.label for repository in activeRepositoryList\"> </select> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.repositoryId.\\$touched && agentSettingsForm.repositoryId.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-row clearfix\"> <div class=\"form-group llm-model\" ng-class=\"{'col-md-3': showContextSize, 'col-md-4': !showContextSize}\"> <label for=\"model\">{{'ttyg.agent.create_agent_modal.form.model.label' | translate}}</label> <help-info-popover help-info=\"helpInfoForModel\"></help-info-popover> <input type=\"text\" class=\"form-control\" id=\"model\" name=\"model\" ng-model=\"agentFormModel.model\" guide-selector=\"model\" required autocomplete=\"off\"> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.model.\\$touched && agentSettingsForm.model.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div ng-if=\"showContextSize\" class=\"form-group context-size col-md-3\"> <div class=\"context-size-wrapper\"> <label for=\"contextSize\"> <span uib-popover=\"{{'ttyg.agent.create_agent_modal.form.context_size.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.context_size.label' | translate}}</span> </label> <button type=\"button\" class=\"btn btn-link btn-sm reset-context-size-btn\" ng-click=\"onRestoreDefaultContextSize()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.context_size.restore_default_btn.tooltip' | translate}}\"> <i class=\"fa fa-arrow-rotate-left\"></i> </button> <div class=\"input-with-unit\"> <input type=\"number\" id=\"contextSize\" name=\"contextSize\" class=\"form-control\" min=\"1\" ng-model=\"agentFormModel.contextSize\" required autocomplete=\"off\"> <span class=\"token-unit-label\"> {{'ttyg.agent.create_agent_modal.form.context_size.field_addon' | translate}} </span> </div> </div> <div class=\"alert alert-danger\" ng-if=\"agentSettingsForm.contextSize.\\$touched && agentSettingsForm.contextSize.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group temperature\" ng-class=\"{'col-md-3': showContextSize, 'col-md-4': !showContextSize}\" guide-selector=\"temperature-control\"> <label for=\"temperature\"> <span uib-popover=\"{{'ttyg.agent.create_agent_modal.form.temperature.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.temperature.label' | translate}}</span> <i class=\"fa fa-triangle-exclamation text-warning high-temperature-warning\" ng-if=\"showHighTemperatureWarning\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.temperature.high_temperature_warning' | translate}}\" popover-trigger=\"mouseenter\"></i> </label> <input type=\"text\" id=\"temperature\" name=\"temperature\" readonly=\"readonly\" class=\"form-control\" ng-class=\"{'has-warning': showHighTemperatureWarning}\" ng-model=\"agentFormModel.temperature.value\"> <input id=\"temperatureSlider\" name=\"temperature\" type=\"range\" guide-selector=\"temperature-control-input\" min=\"{{agentFormModel.temperature.minValue}}\" max=\"{{agentFormModel.temperature.maxValue}}\" step=\"{{agentFormModel.temperature.step}}\" ng-change=\"onTemperatureChange()\" ng-model=\"agentFormModel.temperature.value\"/> </div> <div class=\"form-group top-p\" ng-class=\"{'col-md-3': showContextSize, 'col-md-4': !showContextSize}\" guide-selector=\"top-p-control\"> <label for=\"topP\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.top_p.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.top_p.label' | translate}}</label> <input type=\"text\" class=\"form-control\" id=\"topP\" name=\"topP\" readonly=\"readonly\" ng-model=\"agentFormModel.topP.value\"> <input id=\"topPSlider\" name=\"topP\" type=\"range\" min=\"{{agentFormModel.topP.minValue}}\" guide-selector=\"top-p-control-input\" max=\"{{agentFormModel.topP.maxValue}}\" step=\"{{agentFormModel.topP.step}}\" ng-model=\"agentFormModel.topP.value\"/> </div> </div> <div class=\"form-group extraction-methods-group\"> <label for=\"extractionMethods\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.extraction_method.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.extraction_method.label' | translate}}</label> <div id=\"extractionMethods\" name=\"extractionMethods\" ng-model=\"agentFormModel.assistantExtractionMethods.extractionMethods\" required class=\"accordion extraction-methods\" ng-class=\"{'has-error': agentSettingsForm.extractionMethods.\\$touched && agentSettingsForm.extractionMethods.\\$invalid}\"> <div ng-repeat=\"extractionMethod in agentFormModel.assistantExtractionMethods.extractionMethods\" class=\"extraction-method\"> <div id=\"{{extractionMethod.method + '_method_heading'}}\" class=\"extraction-method-heading\" ng-class=\"{'selected': extractionMethod.selected}\" guide-selector=\"query-method-{{extractionMethod.method}}\"> <div class=\"mr-0 extraction-method-toggle\"> <input type=\"checkbox\" id=\"{{extractionMethod.method + '_checkbox'}}\" guide-selector=\"query-method-{{extractionMethod.method}}-input\" name=\"{{extractionMethod.method}}\" class=\"switch\" ng-click=\"toggleExtractionMethod(extractionMethod, \\$event)\" ng-model=\"extractionMethod.selected\"/> <label for=\"{{extractionMethod.method + '_checkbox'}}\"></label> </div> <a class=\"btn btn-link panel-toggle-link\" aria-expanded=\"false\" aria-controls=\"{{extractionMethod.method + '_method_content'}}\" ng-click=\"onExtractionMethodPanelToggle(extractionMethod)\"> <span class=\"mr-1\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.' + extractionMethod.method + '.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.' + extractionMethod.method + '.label' | translate}}</span> <i class=\"fa fa-chevron-down toggle-icon\" ng-class=\"{'expanded': extractionMethod.expanded}\"> </i> </a> </div> <div id=\"{{extractionMethod.method + '_method_content'}}\" class=\"show extraction-method-content\" aria-labelledby=\"{{extractionMethod.method + '_method_heading'}}\" data-parent=\"#extractionMethods\"> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.SPARQL\" class=\"extraction-method-options\" ng-class=\"{'has-error': extractionMethod.selected && !extractionMethod.sparqlOption}\"> <div class=\"sparql-option ontology-graph-option\" guide-selector=\"sparql-ontology-graph-option\"> <label class=\"radio-inline\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.ontology_graph.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> <input type=\"radio\" name=\"sparqlOption\" ng-required=\"extractionMethod.selected\" guide-selector=\"sparql-ontology-graph-option-input\" ng-model=\"extractionMethod.sparqlOption\" value=\"ontologyGraph\"> {{'ttyg.agent.create_agent_modal.form.ontology_graph.label' | translate}} </label> <div class=\"panel\" ng-show=\"extractionMethod.sparqlOption === 'ontologyGraph'\"> <div class=\"form-group\"> <input type=\"text\" class=\"form-control\" id=\"ontologyGraph\" guide-selector=\"sparql-ontology-graph-input\" name=\"ontologyGraph\" ng-required=\"extractionMethod.selected && extractionMethod.sparqlOption === 'ontologyGraph'\" ng-model=\"extractionMethod.ontologyGraph\"> </div> </div> </div> <div class=\"sparql-option sparql-query-option\" guide-selector=\"sparql-query-option\"> <label class=\"radio-inline\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.construct_query.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> <input type=\"radio\" name=\"sparqlOption\" ng-required=\"extractionMethod.selected\" guide-selector=\"sparql-query-option-input\" ng-model=\"extractionMethod.sparqlOption\" value=\"sparqlQuery\"> {{'ttyg.agent.create_agent_modal.form.construct_query.label' | translate}} </label> <div class=\"panel\" ng-show=\"extractionMethod.sparqlOption === 'sparqlQuery'\"> <div class=\"form-group\"> <textarea type=\"text\" class=\"form-control\" id=\"sparqlQuery\" guide-selector=\"sparql-query-input\" name=\"sparqlQuery\" rows=\"10\" ng-required=\"extractionMethod.selected && extractionMethod.sparqlOption === 'sparqlQuery'\" ng-minlength=\"extractionMethod.sparqlQuery.minLength\" ng-maxlength=\"extractionMethod.sparqlQuery.maxLength\" ng-model=\"extractionMethod.sparqlQuery.value\">\n </textarea> </div> </div> </div> <div class=\"alert alert-danger sparql-method-option-required-error mb-0\" ng-if=\"extractionMethod.selected && !extractionMethod.sparqlOption\"> {{'ttyg.agent.create_agent_modal.form.sparql_search.required_option' | translate}} </div> <div class=\"add-missing-namespaces-option mt-1\" guide-selector=\"add-missing-namespaces-option\"> <input id=\"addMissingNamespaces\" name=\"addMissingNamespaces\" type=\"checkbox\" guide-selector=\"add-missing-namespaces-input\" ng-model=\"extractionMethod.addMissingNamespaces\"> <label for=\"addMissingNamespaces\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.add_missing_namespaces.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{ 'ttyg.agent.create_agent_modal.form.add_missing_namespaces.label' | translate }}</label> </div> </div> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.FTS_SEARCH\" ng-class=\"{'has-error': agentSettingsForm.\\$error.FTSDisabled || agentSettingsForm.repositoryId.\\$invalid}\" class=\"extraction-method-options\"> <button ng-if=\"agentFormModel.repositoryId\" class=\"btn btn-link btn-sm pull-right\" ng-click=\"checkIfFTSEnabled()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.fts_search.btn.reload.tooltip' | translate}}\"> <i class=\"fa fa-arrows-rotate\"></i> </button> <div class=\"alert alert-danger missing-repositoryid-error mb-0\" ng-if=\"agentSettingsForm.repositoryId.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.missing_repository_id' | translate}} </div> <div ng-if=\"!ftsEnabled && agentFormModel.repositoryId\" class=\"fts-disabled-message\" ng-bind-html=\"getFTSDisabledHelpMessage()\"> </div> <div class=\"form-group max-triples\" ng-show=\"ftsEnabled && agentFormModel.repositoryId\"> <label for=\"{{extractionMethods.FTS_SEARCH + '_maxNumberOfTriplesPerCall'}}\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.label' | translate}} </label> <input type=\"number\" class=\"form-control\" guide-selector=\"max-triples-per-call-input\" id=\"{{extractionMethods.FTS_SEARCH + '_maxNumberOfTriplesPerCall'}}\" name=\"maxNumberOfTriplesPerCall\" min=\"0\" ng-model=\"extractionMethod.maxNumberOfTriplesPerCall\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.fts_search_max_number_of_triples_per_call.placeholder' | translate}}\"> </div> </div> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.SIMILARITY\" ng-class=\"{'has-error': agentSettingsForm.\\$error.missingIndex || agentSettingsForm.repositoryId.\\$invalid}\" class=\"extraction-method-options\"> <button ng-if=\"agentFormModel.repositoryId\" class=\"btn btn-link btn-sm pull-right\" ng-click=\"updateSimilaritySearchPanel()\" ng-disabled=\"disabled\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.similarity_index.btn.reload.tooltip' | translate}}\"> <i class=\"fa fa-arrows-rotate\"></i> </button> <div class=\"alert alert-danger missing-repositoryid-error mb-0\" ng-if=\"agentSettingsForm.repositoryId.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.missing_repository_id' | translate}} </div> <div ng-if=\"agentFormModel.repositoryId && !similarityIndexes.length\" class=\"no-similarity-index-message\"> {{'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_1' | translate}} <a href=\"\" ng-click=\"goToCreateSimilarityView(\\$event)\"> {{'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_2' | translate}} </a> {{'ttyg.agent.create_agent_modal.form.similarity_index.no_similarity_index.message_3' | translate}}. </div> <div ng-show=\"similarityIndexes.length\"> <div class=\"form-group similarity-index\"> <label for=\"similarityIndex\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.similarity_index.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.similarity_index.label' | translate}}</label> <span ng-if=\"extractionMethodLoaderFlags.similarity_search\" onto-loader-fancy size=\"16\"></span> <select class=\"form-control\" id=\"similarityIndex\" name=\"similarityIndex\" guide-selector=\"similarity-index-select\" ng-required=\"extractionMethod.selected\" ng-if=\"!extractionMethodLoaderFlags.similarity_search\" ng-model=\"extractionMethod.similarityIndex\" ng-options=\"similarityIndex.value as similarityIndex.label for similarityIndex in similarityIndexes\"> </select> <div class=\"alert alert-danger\" ng-if=\"extractionMethod.similarityIndex.\\$touched && extractionMethod.similarityIndex.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group similarity-index-threshold\"> <label for=\"similarityIndexThreshold\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.similarity_threshold.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.similarity_threshold.label' | translate}}</label> <input type=\"text\" class=\"form-control\" id=\"similarityIndexThreshold\" name=\"similarityIndexThreshold\" readonly=\"readonly\" ng-model=\"extractionMethod.similarityIndexThreshold.value\"> <input id=\"similarityIndexThresholdSlider\" name=\"similarityIndexThreshold\" type=\"range\" ng-required=\"extractionMethod.selected\" min=\"{{extractionMethod.similarityIndexThreshold.minValue}}\" max=\"{{extractionMethod.similarityIndexThreshold.maxValue}}\" step=\"0.1\" ng-model=\"extractionMethod.similarityIndexThreshold.value\"/> </div> <div class=\"form-group similarity-max-triples\"> <label for=\"{{extractionMethods.SIMILARITY + '_maxNumberOfTriplesPerCall'}}\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.label' | translate}}</label> <input type=\"number\" class=\"form-control\" id=\"{{extractionMethods.SIMILARITY + '_maxNumberOfTriplesPerCall'}}\" name=\"maxNumberOfTriplesPerCall\" min=\"0\" ng-model=\"extractionMethod.maxNumberOfTriplesPerCall\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.similarity_search_max_number_of_triples_per_call.placeholder' | translate}}\"> </div> </div> </div> <div ng-if=\"extractionMethod.expanded && extractionMethod.method === extractionMethods.RETRIEVAL\" ng-class=\"{'has-error': agentSettingsForm.\\$error.missingConnector || agentSettingsForm.repositoryId.\\$invalid}\" class=\"extraction-method-options\"> <button ng-if=\"agentFormModel.repositoryId\" class=\"btn btn-link btn-sm pull-right\" ng-click=\"updateRetrievalConnectorPanel()\" ng-disabled=\"disabled\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.retrieval_search.btn.reload.tooltip' | translate}}\"> <i class=\"fa fa-arrows-rotate\"></i> </button> <div class=\"alert alert-danger missing-repositoryid-error mb-0\" ng-if=\"agentSettingsForm.repositoryId.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.missing_repository_id' | translate}} </div> <div ng-if=\"agentFormModel.repositoryId && !retrievalConnectors.length\" class=\"no-retrieval-connector-message\"> {{'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_1' | translate}} <a href=\"\" ng-click=\"goToConnectorsView(\\$event)\"> {{'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_2' | translate}} </a> {{'ttyg.agent.create_agent_modal.form.retrieval_search.no_retrieval_connectors.message_3' | translate}}. </div> <div ng-show=\"retrievalConnectors.length\"> <div class=\"form-group retrieval-connector\"> <label for=\"retrievalConnectorInstance\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.connector_id.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.connector_id.label' | translate}}</label> <span ng-if=\"extractionMethodLoaderFlags.retrieval_search\" onto-loader-fancy size=\"16\"></span> <select class=\"form-control\" id=\"retrievalConnectorInstance\" name=\"retrievalConnectorInstance\" ng-required=\"extractionMethod.selected\" ng-if=\"!extractionMethodLoaderFlags.retrieval_search\" ng-model=\"extractionMethod.retrievalConnectorInstance\" ng-options=\"retrievalConnector.value as retrievalConnector.label for retrievalConnector in retrievalConnectors\"> </select> <div class=\"alert alert-danger\" ng-if=\"extractionMethod.retrievalConnectorInstance.\\$touched && extractionMethod.retrievalConnectorInstance.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group query-template\"> <label for=\"queryTemplate\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.query_template.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.query_template.label' | translate}}</label> <textarea type=\"text\" class=\"form-control\" id=\"queryTemplate\" name=\"queryTemplate\" rows=\"10\" ng-required=\"extractionMethod.selected\" ng-minlength=\"extractionMethod.queryTemplate.minLength\" ng-maxlength=\"extractionMethod.queryTemplate.maxLength\" ng-model=\"extractionMethod.queryTemplate.value\">\n </textarea> <div class=\"alert alert-danger\" ng-if=\"extractionMethod.name.\\$touched && extractionMethod.name.\\$invalid\"> {{'required.field' | translate}} </div> </div> <div class=\"form-group retrieval-connector-max-triples\"> <label for=\"{{extractionMethods.RETRIEVAL + '_maxNumberOfTriplesPerCall'}}\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.label' | translate}}</label> <input type=\"number\" class=\"form-control\" id=\"{{extractionMethods.RETRIEVAL + '_maxNumberOfTriplesPerCall'}}\" name=\"maxNumberOfTriplesPerCall\" min=\"0\" ng-model=\"extractionMethod.maxNumberOfTriplesPerCall\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.retrieval_search_max_number_of_triples_per_call.placeholder' | translate}}\"> </div> </div> </div> </div> </div> </div> <div class=\"alert alert-danger extraction-method-required-error\" ng-if=\"agentSettingsForm.extractionMethods.\\$touched && agentSettingsForm.extractionMethods.\\$invalid\"> {{'ttyg.agent.create_agent_modal.form.extraction_method.required' | translate}} </div> </div> <div id=\"additionalExtractionMethods\" class=\"form-group additional-extraction-methods\"> <label uib-popover=\"{{'ttyg.agent.create_agent_modal.form.additional_query_methods.tooltip' | translate}}\" popover-trigger=\"mouseenter\"> {{'ttyg.agent.create_agent_modal.form.additional_query_methods.label' | translate}} </label> <div ng-repeat=\"extractionMethod in agentFormModel.additionalExtractionMethods.additionalExtractionMethods\" class=\"additional-extraction-method\"> <div ng-if=\"ExtractionMethodTemplates[extractionMethod.method]\"> <div ng-include=\"'js/angular/ttyg/templates/' + ExtractionMethodTemplates[extractionMethod.method] + '.html'\"></div> </div> </div> </div> <div class=\"form-group user-instructions\"> <div class=\"toolbar\"> <label for=\"userInstruction\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.user_instruction.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.user_instruction.label' | translate}}</label> <div class=\"actions\"> <copy-to-clipboard tooltip-text=\"ttyg.agent.create_agent_modal.form.user_instruction.btn.copy_instruction.tooltip\" text-to-copy=\"{{agentFormModel.instructions.userInstruction}}\"></copy-to-clipboard> <button class=\"btn btn-link btn-sm create-chat-btn\" ng-click=\"onRestoreDefaultUserInstructions()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.user_instruction.btn.restore_default.tooltip' | translate}}\"> <i class=\"fa fa-arrow-rotate-left\"></i> </button> </div> </div> <textarea type=\"text\" class=\"form-control\" id=\"userInstruction\" name=\"userInstruction\" rows=\"5\" guide-selector=\"user-instructions\" ng-model=\"agentFormModel.instructions.userInstruction\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.user_instruction.placeholder' | translate}}\">\n </textarea> </div> <div class=\"text-xs-center\"> <button type=\"button\" ng-click=\"showAdvancedSettings = !showAdvancedSettings\" class=\"btn btn-link btn-sm toggle-advanced-settings\"> <span ng-hide=\"showAdvancedSettings\">{{'ttyg.agent.create_agent_modal.advanced_settings.show' | translate}}<em class=\"icon-caret-down\"></em></span> <span ng-show=\"showAdvancedSettings\">{{'ttyg.agent.create_agent_modal.advanced_settings.hide' | translate}}<em class=\"icon-caret-up\"></em></span> </button> </div> <div ng-show=\"showAdvancedSettings\" class=\"advanced-settings\"> <div class=\"form-group system-instructions\"> <div class=\"toolbar\"> <label for=\"systemInstruction\"> <span uib-popover=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.tooltip' | translate}}\" popover-trigger=\"mouseenter\">{{'ttyg.agent.create_agent_modal.form.system_instruction.label' | translate}}</span> <i class=\"fa fa-triangle-exclamation text-warning overriding-system-instructions-warning\" ng-if=\"showSystemInstructionWarning\" uib-popover=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.overriding_system_instruction_warning.body' | translate}}\" popover-trigger=\"mouseenter\"></i> </label> <div class=\"actions\"> <copy-to-clipboard tooltip-text=\"ttyg.agent.create_agent_modal.form.system_instruction.btn.copy_instruction.tooltip\" text-to-copy=\"{{agentFormModel.instructions.systemInstruction}}\"></copy-to-clipboard> <button class=\"btn btn-link btn-sm create-chat-btn\" ng-click=\"onRestoreDefaultSystemInstructions()\" gdb-tooltip=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.btn.restore_default.tooltip' | translate}}\"> <i class=\"fa fa-arrow-rotate-left\"></i> </button> </div> </div> <textarea type=\"text\" class=\"form-control\" id=\"systemInstruction\" name=\"systemInstruction\" rows=\"5\" placeholder=\"{{'ttyg.agent.create_agent_modal.form.system_instruction.placeholder' | translate}}\" ng-class=\"{'has-warning': showSystemInstructionWarning}\" ng-model=\"agentFormModel.instructions.systemInstruction\" ng-change=\"onSystemInstructionChange()\">\n </textarea> </div> </div> </form> </div> <div class=\"modal-footer\"> <button type=\"button\" ng-click=\"onExplainAgentSettings()\" class=\"btn explain-agent-settings-btn\"> {{'ttyg.agent.create_agent_modal.btn.explain_settings.label' | translate}} </button> <div> <button type=\"button\" ng-click=\"cancel()\" class=\"btn cancel-btn\"> {{'ttyg.agent.create_agent_modal.btn.cancel.label' | translate}} </button> <button type=\"button\" ng-click=\"ok()\" ng-disabled=\"agentSettingsForm.\\$invalid || savingAgent\" guide-selector=\"save-agent-settings\" class=\"btn btn-primary save-agent-settings-btn\"> <span>{{(operation === AGENT_OPERATION.EDIT ? 'ttyg.agent.create_agent_modal.btn.save.label' : operation === AGENT_OPERATION.CLONE ? 'ttyg.agent.create_agent_modal.btn.save.label' : 'ttyg.agent.create_agent_modal.btn.create.label') | translate}}</span> <span class=\"saving-agent-loader\" ng-if=\"savingAgent\" onto-loader-fancy hide-message=\"true\" size=\"15\"></span> </button> </div> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=82206;export const __webpack_ids__=[82206];export const __webpack_modules__={28499:(e,t,o)=>{var s;o.d(t,{D:()=>s}),function(e){e.RIGHT="right",e.LEFT="left"}(s||(s={}))},44123:(e,t,o)=>{var s;o.d(t,{O:()=>s}),function(e){e.LEFT="left",e.RIGHT="right",e.TOP="top",e.BOTTOM="bottom",e.AUTO="auto"}(s||(s={}))},77050:(e,t,o)=>{o.d(t,{T:()=>i,s:()=>r});var s=o(57154);function r(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}class n{constructor(){this.languageContextService=s.ServiceProvider.get(s.LanguageContextService),this.translationChangedObservers={},this.defaultBundle=this.languageContextService.getDefaultBundle(),this.subscribeToBundleChange()}onTranslate(e,t=[],o=()=>{}){this.translationChangedObservers[e]=this.translationChangedObservers[e]||[];const s={parameters:t,callback:o};return this.translationChangedObservers[e].push(s),o(this.translate(e,t)),()=>{const t=this.translationChangedObservers[e].indexOf(s);-1!==t&&this.translationChangedObservers[e].splice(t,1)}}translate(e,t){return this.translateInLocale(e,t)}translateInLocale(e,t){let o=this.translateFromBundle(this.currentBundle,e);return o||(o=this.translateFromBundle(this.defaultBundle,e)),o?(o=this.applyParameters(o,t),r(o)):(console.warn(`Missing translation for key: [${e}]`),e)}translateFromBundle(e,t){if(!e)return;let o=e[t];return"string"!=typeof o&&(o=this.translateAsJsonObject(e,t)),o}translateAsJsonObject(e,t){let o=t.split(".");return this.getTranslation(e,o)}getTranslation(e,t){if(!t||!e)return;const o=e[t.splice(0,1)[0]];return 0===t.length?o:"string"!=typeof o?t.length>0?this.getTranslation(o,t):o:void 0}applyParameters(e,t){return t?t.reduce((e,t)=>n.replaceAll(e,t),e):e}static replaceAll(e,t){return t?e.split(`{{${t.key}}}`).join(t.value):e}notifyTranslationsChanged(){Object.keys(this.translationChangedObservers).forEach(e=>{(this.translationChangedObservers[e]||[]).forEach(t=>t.callback(this.translate(e,t.parameters)))})}subscribeToBundleChange(){this.languageChangeSubscription=this.languageContextService.onLanguageBundleChanged(e=>{e&&(this.currentBundle=e,this.notifyTranslationsChanged())})}destroy(){this.languageChangeSubscription&&this.languageChangeSubscription()}}const i=new n},81491:(e,t,o)=>{o.d(t,{H:()=>r});const s='button, [href], input:not([type="hidden"]), select, textarea, [tabindex]:not([tabindex="-1"])';class r{static setDocumentBodyOverflow(e){const t=document.body.style.overflow;return document.body.style.overflow=e,t}static hideDocumentBodyOverflow(){return r.setDocumentBodyOverflow("hidden")}static focusNextElement(e,t=s){const o=Array.from(e.querySelectorAll(t));if(o.length>0){const e=o.indexOf(document.activeElement),t=o[(e+1)%o.length];t&&t.focus()}}static focusPreviousElement(e,t=s){const o=Array.from(e.querySelectorAll(t));if(o.length>0){const e=o.indexOf(document.activeElement),t=o[(e-1+o.length)%o.length];t&&t.focus()}}static preventLeavingDialog(e,t){"Tab"===t.key&&(t.preventDefault(),t.shiftKey?r.focusPreviousElement(e):r.focusNextElement(e))}static focusElement(e){const t=document.querySelector(e);null==t||t.focus()}static scrollElementIntoView(e,t={block:"nearest"}){const o=document.querySelector(e);o&&o.scrollIntoView(t)}static waitForElement(e){return new Promise((t,o)=>{const s=new MutationObserver(()=>{try{const o=document.querySelector(e);o&&(s.disconnect(),t(o))}catch(e){s.disconnect(),o(e)}});s.observe(document.body,{subtree:!0,childList:!0,attributes:!0})})}}},82206:(e,t,o)=>{o.r(t),o.d(t,{onto_language_selector:()=>u,onto_license_alert:()=>d,onto_operations_notification:()=>b,onto_rdf_search:()=>m,onto_repository_selector:()=>v,onto_search_icon:()=>y,onto_search_resource_input:()=>w,onto_user_login:()=>S,onto_user_menu:()=>k});var s=o(87848),r=o(87050),n=o(57154),i=o(28499),a=o(44123),l=o(77050),c=o(81491);const u=class{constructor(e){(0,s.r)(this,e),this.languageService=n.ServiceProvider.get(n.LanguageService),this.languageContextService=n.ServiceProvider.get(n.LanguageContextService),this.items=[],this.dropdownAlignment=i.D.LEFT}connectedCallback(){this.onLanguageChangeSubscription=this.languageContextService.onSelectedLanguageChanged(e=>this.changeLanguage(e)),this.items=this.getLanguageDropdownOptions()}disconnectedCallback(){this.onLanguageChangeSubscription&&this.onLanguageChangeSubscription()}render(){var e,t;return(0,s.h)(s.a,{key:"faabdc9c474b053c32f4ae2c45cd79bd6166a255"},(0,s.h)("onto-dropdown",{key:"e15d2c8478c85c3a37c99d22f91602ea17730e67",class:"onto-language-selector",onValueChanged:this.valueChangeHandler(),dropdownButtonNameLabelKey:this.currentLanguage?void 0:"language_selector.toggle_menu.label",dropdownButtonName:null!==(e=this.currentLanguage)&&void 0!==e?e:void 0,dropdownButtonTooltipLabelKey:this.currentLanguage?"language_selector.toggle_menu.tooltip":"language_selector.toggle_menu.label",dropdownAlignment:null!==(t=this.dropdownAlignment)&&void 0!==t?t:i.D.RIGHT,dropdownTooltipTrigger:"mouseenter focus",iconClass:"icon-translation",items:this.items,"auto-close":!0}))}valueChangeHandler(){return e=>this.onSelectedLanguageChanged(e)}changeLanguage(e){let t=e;t||(t=this.languageService.getDefaultLanguage()),this.currentLanguage=t,this.items=this.getLanguageDropdownOptions()}onSelectedLanguageChanged(e){this.languageContextService.updateSelectedLanguage(e.detail)}getLanguageDropdownOptions(){return this.languageService.getSupportedLanguages().map(e=>{const t=this.currentLanguage===e?"icon-tick":"";return(new r.D).setNameLabelKey(`language_selector.language.${e}.label`).setTooltipLabelKey(`language_selector.language.${e}.tooltip.`+(this.currentLanguage===e?"selected":"not_selected")).setIconClass(t).setCssClass(e).setValue(e).setDropdownTooltipTrigger("mouseenter focus")})}};u.style=":host{display:block}onto-language-selector{display:block}onto-language-selector .onto-dropdown{height:100%}onto-language-selector .onto-dropdown.open .onto-dropdown-button{height:fit-content}onto-language-selector .onto-dropdown.closed .onto-dropdown-button{background-color:transparent}onto-language-selector .onto-dropdown.closed .onto-dropdown-button .icon-translation{font-size:1.5em}onto-language-selector .onto-dropdown.closed .onto-dropdown-button:hover{background-color:#d4d4d4}";const d=class{constructor(e){(0,s.r)(this,e)}render(){var e;return(0,s.h)(s.a,{key:"6283d1acb15331985f3c5195c90f7045ed4f54e3","tooltip-content":null===(e=this.license)||void 0===e?void 0:e.message,"tooltip-placement":a.O.BOTTOM,"data-test":"onto-license-alert"},(0,s.h)("button",{key:"51aa59067ac8f8e35b5ad05c113d47ee37651628",class:"onto-license-alert onto-btn",onClick:(0,n.navigateTo)("license")},(0,s.h)("span",{key:"7447c981a795ea4958fca59c5f68c3eb3c85ba93",class:"icon-warning"}),(0,s.h)("translate-label",{key:"f57a0f65965a8540ddadfb692012c71b27012ee9",labelKey:"license_alert.label"})))}};d.style=":host{display:block}.onto-license-alert{animation:fade-button 2s infinite;--fade-color:var(--color-danger-medium);border:1px solid transparent !important}.onto-license-alert:hover{text-decoration:none;background-color:var(--color-danger-medium) !important;border-color:var(--color-danger-medium) !important}.onto-license-alert:hover span{transform:scale(1.2)}.onto-license-alert span{transition:transform 0.15s ease-out}.onto-license-alert .icon-warning{margin-right:0.2em;line-height:0.75;font-size:1.4em;display:inline-block;vertical-align:middle}";const p={[n.OperationGroup.BACKUP]:"fa-regular fa-archive",[n.OperationGroup.QUERY]:"fa-regular fa-arrow-right-arrow-left",[n.OperationGroup.CLUSTER]:"fa-regular fa-sitemap",[n.OperationGroup.IMPORT]:"icon-import"},h={[n.OperationStatus.WARNING]:"status-warning",[n.OperationStatus.INFORMATION]:"status-information",[n.OperationStatus.CRITICAL]:"status-critical"},g={[n.OperationStatus.WARNING]:"onto-btn-fade-warning",[n.OperationStatus.CRITICAL]:"onto-btn-fade-danger"},b=class{constructor(e){(0,s.r)(this,e),this.isOpen=!1,this.toggleDropdown=e=>{e.stopPropagation(),this.isOpen=!this.isOpen}}handleOutsideClick(){this.isOpen&&(this.isOpen=!1)}render(){var e;return this.operationGroups=n.MapperProvider.get(n.OperationGroupSummaryListMapper).mapToModel(this.activeOperations.toOperationsGroupSummary()),(0,s.h)("section",{key:"9f3f9af5fc9db87aebe2196011f5aea788d54c28",class:"operations-statuses"},(0,s.h)("button",{key:"3e29170276812080c7c587aefff605f31b869584",class:`operations-statuses-dropdown-toggle ${this.isOpen?"open":"closed"} ${null!==(e=g[this.activeOperations.status])&&void 0!==e?e:""}`,onClick:this.toggleDropdown},this.operationGroups.getItems().map(e=>(0,s.h)("section",{key:e.id,class:"operation-status-header"},(0,s.h)("i",{class:`${p[e.group]} ${h[e.status]}`}),e.totalOperations?(0,s.h)("sup",{class:"running-operation-count tag-info"},e.totalOperations):"")),(0,s.h)("i",{key:"3d4657cd5feda18c83690033f86401f4cd032fd5",class:"fa-light fa-angle-down "+(this.isOpen?"fa-rotate-180":"")})),this.isOpen&&(0,s.h)("ul",{key:"16f0e84d431de676bf61ad6ee4e2238e051aebd6",class:"operations-dropdown"},(0,s.h)("section",{key:"f9cf81d115e5ec7bdd15d9cbdc2f451bc5505440",class:"operations-statuses-content"},this.activeOperations.allRunningOperations.getItems().map(e=>(0,s.h)("li",{key:e.id},(0,s.h)("a",{class:`operation-status-content onto-btn no-underline ${h[e.status]}`,target:"_blank",onClick:(0,n.navigateTo)(e.href)},(0,s.h)("i",{class:p[e.group]}),(0,s.h)("span",{class:"operation-status-label"},(0,s.h)("translate-label",{labelKey:`operations_notification.links.${e.labelKey}`})),(0,s.h)("span",{class:"operation-number"},e.count?(0,s.h)("span",{class:"operation-status-running-operation-count"},e.count):"")))))))}get el(){return(0,s.g)(this)}};b.style=".operations-statuses{position:relative}.operations-statuses .operations-statuses-dropdown-toggle{display:flex;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid transparent;padding:0.4rem 1rem;font-size:1rem;gap:0.75em;transition:all 0.15s ease-out}.operations-statuses .operations-statuses-dropdown-toggle:hover{background-color:#d4d4d4;border-color:#d4d4d4}.operations-statuses .operations-statuses-dropdown-toggle:hover i:not(.fa-angle-down){transform:scale(1.2)}.operations-statuses .operations-statuses-dropdown-toggle:focus{outline:none}.operations-statuses .operations-statuses-dropdown-toggle.open{background-color:#bbb !important;border-color:#bbb !important}.operations-statuses .operations-statuses-dropdown-toggle .operation-status-header{display:flex}.operations-statuses .operations-statuses-dropdown-toggle .operation-status-header .running-operation-count{color:white;padding:1px 2px;line-height:1;align-self:center;top:-1em;font-size:60%}.operations-statuses .operations-dropdown{position:absolute;right:0;z-index:1000;border:none;background-color:var(--primary-color, #9e2b0a);border-radius:0;list-style:none;padding:0;-moz-transition:all 150ms ease-out;-o-transition:all 150ms ease-out;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.operations-statuses .operations-dropdown .operations-statuses-content{display:flex;flex-direction:column;background-color:#bbb;margin:0}.operations-statuses .operations-dropdown .operations-statuses-content li:first-child{margin-top:5px}.operations-statuses .operations-dropdown .operations-statuses-content li:last-child{margin-bottom:5px}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content{display:flex;flex-direction:row;margin:5px 10px;align-items:center;justify-content:start;cursor:pointer;text-decoration:none;width:auto;gap:0.5em;background-color:#EBEBEB;border-color:#EBEBEB}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content i{width:8.33%}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content .operation-number{min-width:50px;display:block}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content .operation-number .operation-status-running-operation-count{display:block;width:100%;color:white;border-radius:2px;padding:3px 2px 2px;text-align:center;font-size:75%;background-color:var(--color-info-dark, #004177) !important}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content .operation-status-content>*{padding:0}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content .operation-status-label{width:66.66%;padding-left:5px;line-height:0;text-align:start}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content:hover{text-decoration:none;background-color:#d4d4d4;border-color:#d4d4d4}.operations-statuses .operations-dropdown .operations-statuses-content .operation-status-content:hover i{transform:scale(1.2)}.operations-statuses .status-information{color:var(--color-info-dark, #004177) !important}.operations-statuses .status-warning{color:var(--color-warning-dark, #7e2308) !important}.operations-statuses .status-critical{color:var(--color-danger-dark, #a31425) !important}.operations-statuses i{padding-left:3px;padding-right:3px;font-size:1.1em;line-height:1.6rem !important;align-content:center;transition:transform 0.15s ease-out}.operations-statuses i.fa-angle-down{color:rgba(0, 0, 0, 0.35);transition:all 0.2s ease-in}.operations-statuses .icon-import{font-size:21px}";const m=class{constructor(e){(0,s.r)(this,e),this.subscriptions=new n.SubscriptionList,this.eventService=n.ServiceProvider.get(n.EventService),this.resourceSearchStorageService=n.ServiceProvider.get(n.ResourceSearchStorageService),this.RDF_CONTEXT="rdfSearchContext",this.isOpen=!1,this.redirectUrl=n.UriUtil.RESOURCE_URL}handleClick(e){var t;this.isOpen&&((null===(t=this.rdfSearchRef)||void 0===t?void 0:t.contains(e.target))||(this.isOpen=!1))}connectedCallback(){this.onSuggestionSelected()}disconnectedCallback(){this.subscriptions.unsubscribeAll()}componentDidRender(){this.focusSearchInput()}componentDidLoad(){this.buttonConfig=this.createButtonConfig()}render(){return(0,s.h)("section",{key:"c06727ea1f5985617e1434015c6a4bcf270f4f46",ref:e=>this.rdfSearchRef=e,class:"onto-rdf-search",onKeyDown:this.onKeyDown(),"data-test":"onto-rdf-search-component"},(0,s.h)("section",{key:"8f87cca4fb3b5be1f953140fde83b7b9ce538a09",class:"search-area "+(this.isOpen?"visible":"invisible")},(0,s.h)("i",{key:"f65a0d5445c1da7ba859c554a0811a93ac1fdaf6",onClick:this.setIsOpen(!1),"tooltip-content":l.T.translate("rdf_search.tooltips.close_search_area"),"tooltip-placement":a.O.BOTTOM,"data-test":"onto-rdf-resource-search-close-btn",class:"fa-light fa-xmark-large close-btn"}),(0,s.h)("onto-search-resource-input",{key:"2b6919e5ce2ba385729e5920450b19481d18d37d",buttonConfig:this.buttonConfig,preserveSearch:!0,isHidden:!this.isOpen,"data-test":"onto-rdf-resource-search-input",context:this.RDF_CONTEXT})),this.isOpen?"":(0,s.h)("onto-search-icon",{onClick:this.setIsOpen(!0)}))}setIsOpen(e){return()=>{this.isOpen=e,this.isOpen&&this.loadSelectedViewFromStorage()}}createButtonConfig(){return new n.SearchButtonConfig({isRadio:!0,buttons:[this.createSearchButton(r.R.TABLE_VIEW,"rdf_search.buttons.table",()=>{this.redirectUrl=n.UriUtil.RESOURCE_URL,this.resourceSearchStorageService.setSelectedView(r.R.TABLE_VIEW)},!0),this.createSearchButton(r.R.VISUAL_VIEW,"rdf_search.buttons.visual",()=>{this.redirectUrl=n.UriUtil.GRAPHS_VISUALIZATIONS_URL,this.resourceSearchStorageService.setSelectedView(r.R.VISUAL_VIEW)},!1)]})}createSearchButton(e,t,o,s){return new n.SearchButton({label:l.T.translate(t),id:e,callback:o,selected:s})}onSuggestionSelected(){this.subscriptions.add(this.eventService.subscribe(r.R.SUGGESTION_SELECTED_EVENT,e=>{if(e.getContext()===this.RDF_CONTEXT){const t=e.getSuggestion().getOverrideToVisual()?n.UriUtil.GRAPHS_VISUALIZATIONS_URL:this.redirectUrl;(0,n.openInNewTab)(n.UriUtil.createAutocompleteRedirect(t,e.getSuggestion().getValue()))}}))}onKeyDown(){return e=>{"Escape"===e.key&&(this.isOpen=!1)}}focusSearchInput(){this.isOpen&&c.H.focusElement(`#${this.RDF_CONTEXT}`)}loadSelectedViewFromStorage(){const e=this.resourceSearchStorageService.getSelectedView();if(e){const t=this.buttonConfig.getButtons().find(t=>t.id===e);t&&(this.buttonConfig=this.buttonConfig.selectButton(t))}}};m.style=":root{--search-primary-color:var(--primary-color, #9e2b0a)}.onto-rdf-search{display:flex;align-items:center;line-height:0.75;font-size:1.4em;height:auto}.onto-rdf-search .search-area{white-space:nowrap;text-align:start;font-weight:300;max-width:100vw;position:fixed;right:3em;z-index:1;display:block;width:60vw;-webkit-transition:top 0.3s ease-in, opacity 0.5s ease;transition:top 0.3s ease-in, opacity 0.5s ease;box-shadow:0 3px 6px rgba(0, 0, 0, 0.1);border-radius:0;margin-bottom:1em;background-color:white;padding:1.6rem;border:1px solid rgba(0, 0, 0, 0.125)}.onto-rdf-search .search-area.visible{top:40px;opacity:1}.onto-rdf-search .search-area.invisible{top:-550px;opacity:0}.onto-rdf-search .search-area .close-btn{display:block;position:absolute;top:0;right:0;font-size:1.5rem}.onto-rdf-search i{cursor:pointer;color:var(--search-primary-color);transition:all 0.15s ease-out}.onto-rdf-search i.fa-magnifying-glass,.onto-rdf-search i.close-btn{padding:0.5rem 0.8rem}.onto-rdf-search i:hover{transform:scale(1.2)}";const f=({repository:e,defaultToggleButtonName:t,location:o})=>{var r;const n=e?"repository-selection active-repository":"repository-selection no-selected-repository";return(0,s.h)("div",{class:n,"data-test":"repository-selection"},e&&(0,s.h)("i",{class:"button-icon icon-repo-"+e.type})," ",null!==(r=null==e?void 0:e.id)&&void 0!==r?r:t,o)},v=class{constructor(e){(0,s.r)(this,e),this.repositoryContextService=n.ServiceProvider.get(n.RepositoryContextService),this.subscriptions=[]}onItemsChanged(e){(null==e?void 0:e.length)?this.dropdownItems=this.attachTooltipsToItems(this.items):this.dropdownItems=[]}connectedCallback(){var e;this.subscriptions.push(...this.subscribeToTranslationChanged()),(null===(e=this.items)||void 0===e?void 0:e.length)?this.dropdownItems=this.attachTooltipsToItems(this.items):this.dropdownItems=[]}disconnectedCallback(){this.subscriptions.forEach(e=>e())}render(){const e=(0,s.h)(f,{key:"6cfae687d07dbbf4525b134273719fbec29ec23c",repository:this.currentRepository,defaultToggleButtonName:this.getButtonLabel(),location:this.getLocation()});return(0,s.h)(s.a,{key:"10c2e949fd0f2bf1cc0f3520d1f19361f2b8a1d1"},(0,s.h)("onto-dropdown",Object.assign({key:"ef9c8f245b7e00e31c78c2989d556c21b9333865",class:"onto-repository-selector","data-test":"onto-repository-selector",onValueChanged:this.onValueChanged(),dropdownButtonName:e,dropdownButtonTooltip:this.createTooltipFunctionForRepository(this.currentRepository)},this.currentRepository?{dropdownButtonGuideSelector:`repository-id-${this.currentRepository.id}`}:{},{dropdownTooltipTrigger:"mouseenter focus",dropdownAlignment:i.D.RIGHT,tooltipPlacement:this.tooltipAlignment,tooltipTheme:"light-border",items:this.dropdownItems,"auto-close":!0})))}attachTooltipsToItems(e){return e?e.map(e=>e.setTooltip(this.createTooltipFunctionForRepository(e.value))):[]}tooltipAlignment(e){return e?a.O.LEFT:a.O.BOTTOM}onValueChanged(){return e=>this.onRepositoryChanged(e.detail)}createTooltipFunctionForRepository(e){return async()=>{if(!e)return"";const t=await this.repositorySizeInfoFetcher(e);return this.buildRepositoryTooltipHtml(e,t)}}buildRepositoryTooltipHtml(e,t){let o=`\n <div class="repository-tooltip-title">\n <span class="label">${l.T.translate("repository-selector.tooltip.repository")}</span>\n <span class="value">${e.id}</span>\n </div>\n <div class="repository-tooltip-content">\n <div class="repository-tooltip-row">\n <div class="label">${l.T.translate("repository-selector.tooltip.location")}:</div>\n <div class="value">${e.location?e.location:l.T.translate("repository-selector.tooltip.local")}</div>\n </div>\n <div class="repository-tooltip-row">\n <div class="label">${l.T.translate("repository-selector.tooltip.type")}:</div>\n <div class="value">${l.T.translate("repository-selector.tooltip.types."+(e.type||"unknown"))}</div>\n </div>\n <div class="repository-tooltip-row">\n <div class="label">${l.T.translate("repository-selector.tooltip.access")}:</div>\n <div class="value">${l.T.translate(this.canWriteRepo(e)?"repository-selector.tooltip.accesses.read_write":"repository-selector.tooltip.accesses.read")}</div>\n </div>`;return o+=this.buildRepositorySizeInfoHtml(t),o+="</div>",o}buildRepositorySizeInfoHtml(e){if(!e||e.total<0)return"";let t=`\n <div class="repository-tooltip-row total">\n <div class="label">${l.T.translate("repository-selector.tooltip.repository-size.total")}:</div>\n <div class="value">${this.totalTripletsFormatter.format(e.total)}</div>\n </div>`;if(e.explicit>=0&&(t+=`\n <div class="repository-tooltip-row">\n <div class="label">${l.T.translate("repository-selector.tooltip.repository-size.explicit")}:</div>\n <div class="value">${this.totalTripletsFormatter.format(e.explicit)}</div>\n </div>`),e.inferred>=0&&(t+=`\n <div class="repository-tooltip-row">\n <div class="label">${l.T.translate("repository-selector.tooltip.repository-size.inferred")}:</div>\n <div class="value">${this.totalTripletsFormatter.format(e.inferred)}</div>\n </div>`),e.total>=0){let o="-";e.explicit>0&&(o=this.totalTripletsFormatter.format(e.total/e.explicit)),t+=`\n <div class="repository-tooltip-row">\n <div class="label">${l.T.translate("repository-selector.tooltip.repository-size.expansion_ratio")}:</div>\n <div class="value">${o}</div>\n </div>`}return t}subscribeToTranslationChanged(){return[l.T.onTranslate("repository-selector.btn.toggle",[],e=>{this.defaultToggleButtonName=e}),l.T.onTranslate("repository-selector.btn.no_repositories",[],e=>{this.noRepositoriesButtonMessage=e})]}onRepositoryChanged(e){this.repositoryContextService.updateSelectedRepository(e)}getLocation(){var e;return(null===(e=this.currentRepository)||void 0===e?void 0:e.location)?`@${n.UriUtil.shortenIri(this.currentRepository.location)}`:""}getButtonLabel(){var e;return(null===(e=this.items)||void 0===e?void 0:e.length)?this.defaultToggleButtonName:this.noRepositoriesButtonMessage}static get watchers(){return{items:["onItemsChanged"]}}};v.style=":root{--onto-repository-selector-color:var(--secondary-color, #373a3c)}:host{display:block}.onto-repository-selector .onto-dropdown.closed .onto-dropdown-button{background-color:#ebebeb;color:var(--onto-repository-selector-color)}.onto-repository-selector .onto-dropdown.closed .onto-dropdown-button:hover{background-color:#d4d4d4}.onto-repository-selector .repository-selector-dropdown-item{display:flex;align-items:center;gap:0.4em}.onto-repository-selector .repository-selector-dropdown-item .item-icon{font-size:1.4em}.onto-repository-selector .repository-selector-dropdown-item .item-label{line-height:0.75em;display:inline-block;vertical-align:middle;text-align:left}.onto-repository-selector .repository-selector-dropdown-item .item-label .repository-id{line-height:0.75em}.onto-repository-selector .repository-selector-dropdown-item .item-label .repository-location{font-weight:300;font-size:0.75em;margin-top:0.4em;display:inline-block;max-width:120px;text-overflow:ellipsis;overflow:hidden}.tippy-box[data-theme=light-border]{border-radius:0}.tippy-box[data-theme=light-border] .tippy-content{padding:0;color:#373a3c;border:1px solid rgba(0, 0, 0, 0.125);box-shadow:1px 3px 6px rgba(0, 0, 0, 0.2)}.tippy-box[data-theme=light-border] .tippy-content .repository-tooltip-title{font-size:1rem;font-weight:400;padding:8px 14px;background-color:#f7f7f7;border-bottom:#EBEBEB 1px solid}.tippy-box[data-theme=light-border] .tippy-content .repository-tooltip-title .value{word-wrap:break-word}.tippy-box[data-theme=light-border] .tippy-content .repository-tooltip-content{padding:1.5rem 0.5rem;display:flex;flex-direction:column;gap:0.8em;font-weight:400;font-size:0.875rem}.tippy-box[data-theme=light-border] .tippy-content .repository-tooltip-row{display:flex;flex-direction:row;justify-content:space-between}.tippy-box[data-theme=light-border] .tippy-content .repository-tooltip-row.total{margin-top:1.2em}.tippy-box[data-theme=light-border] .tippy-content .repository-tooltip-row .value{margin-left:0.6em}";const y=class{constructor(e){(0,s.r)(this,e),this.tooltipKey="rdf_search.labels.search",this.subscriptions=new n.SubscriptionList}connectedCallback(){this.onTooltipChange()}disconnectedCallback(){this.subscriptions.unsubscribeAll()}render(){return(0,s.h)("i",{key:"b87075f89ce2ee1f85d5ed1bd0d69c1f9f310b88","tooltip-content":this.tooltipLabel,"tooltip-placement":a.O.BOTTOM,class:"onto-search-icon fa-light fa-magnifying-glass"})}onTooltipChange(){this.subscriptions.add(l.T.onTranslate(this.tooltipKey,[],e=>this.tooltipLabel=e))}};y.style=".onto-search-icon{cursor:pointer;color:var(--primary-color, #9e2b0a);transition:all 0.15s ease-out;font-size:1.6rem}.onto-search-icon.fa-magnifying-glass{padding:0.5rem 0.8rem}.onto-search-icon:hover{transform:scale(1.2)}";const w=class{constructor(e){(0,s.r)(this,e),this.autocompleteService=n.ServiceProvider.get(n.AutocompleteService),this.autocompleteContextService=n.ServiceProvider.get(n.AutocompleteContextService),this.autocompleteStorageService=n.ServiceProvider.get(n.AutocompleteStorageService),this.resourceSearchStorageService=n.ServiceProvider.get(n.ResourceSearchStorageService),this.toastrService=n.ServiceProvider.get(n.OntoToastrService),this.eventService=n.ServiceProvider.get(n.EventService),this.namespaceContextService=n.ServiceProvider.get(n.NamespacesContextService),this.subscriptions=new n.SubscriptionList,this.autocompleteWarningShown=!1,this.skipValidation=!1,this.isHidden=!1,this.isAutocompleteEnabled=!1,this.handleInput=e=>{const t=e.target;t.value?(this.setInputValue(t.value),this.checkForAutocomplete()):this.clearInput()},this.clearInput=()=>{this.setInputValue(""),this.preserveSearch&&this.resourceSearchStorageService.clearStoredSearch()},this.onKeyDown=e=>{switch(e.key){case"Enter":this.onEnter(e);break;case"Escape":this.onEscape();break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowDown":this.onArrowDown(e)}}}onVisibilityChange(e){var t;e?null===(t=this.searchResult)||void 0===t||t.clearSuggestions():this.setInputValue(this.resourceSearchStorageService.getInputValue())}connectedCallback(){this.onAutocompleteEnabledChange(),this.onNamespaceChange(),this.loadInputFromStorage()}disconnectedCallback(){this.subscriptions.unsubscribeAll()}render(){var e,t,o;return(0,s.h)("section",{key:"62cc53dd259de23a622c5403e245cd184bbed457",class:"search-resources-input"},(0,s.h)("div",{key:"1f01096b931e6b00d11a589469e2c0d6f0a482fa",class:"input-row"},(0,s.h)("span",{key:"69d07343236d427e97c152113c2298a877d51d92",class:"input-wrapper"},(0,s.h)("input",{key:"0ec0f300079485b4f914bd119bd8e7589ae82434",value:this.inputValue,id:this.context,type:"text",autocomplete:"off",placeholder:`${l.T.translate("rdf_search.labels.search")}...`,ref:e=>this.inputRef=e,onKeyDown:this.onKeyDown,"data-test":this.context,onInput:this.handleInput}),(null===(e=this.inputValue)||void 0===e?void 0:e.length)?(0,s.h)("i",{onClick:this.clearInput,"tooltip-content":l.T.translate("rdf_search.tooltips.clear"),"tooltip-placement":a.O.BOTTOM,class:"fa-light fa-xmark clear-input"}):""),null===(t=this.buttonConfig)||void 0===t?void 0:t.getButtons().getItems().map(e=>(0,s.h)("button",{key:e.label,onClick:this.handleButtonClick(e),class:e.selected?"selected":""},e.label))),(0,s.h)("span",{key:"1a7d99dea661767b08c2303f657f7747ba682bb6",class:"hint"},l.T.translate("rdf_search.labels.hint")),(0,s.h)("section",{key:"aeeca649489ee2e1436a365f80e34daf577c7f30",class:"autocomplete-results-wrapper","data-test":"onto-autocomplete-results"},null===(o=this.searchResult)||void 0===o?void 0:o.getSuggestions().getItems().map(e=>(0,s.h)("p",{key:e.getId(),onClick:this.onSuggestionClick(e),"data-test":"onto-autocomplete-suggestion",onMouseMove:this.hoverSuggestion(e),class:`${e.isHovered()?"hovered":""} ${e.isSelected()?"selected":""}`,innerHTML:e.getDescription()}))))}handleButtonClick(e){return()=>this.buttonConfig=this.buttonConfig.selectButton(e)}loadAutocompleteResults(){var e;this.inputValue?this.isAutocompleteEnabled&&this.autocompleteService.search(this.inputValue).then(e=>{this.onResultsReceived(e)}):null===(e=this.searchResult)||void 0===e||e.clearSuggestions()}hoverSuggestion(e){return()=>this.searchResult=this.searchResult.hoverSuggestion(e)}onAutocompleteEnabledChange(){this.isAutocompleteEnabled=this.autocompleteStorageService.isEnabled(),this.subscriptions.add(this.autocompleteContextService.onAutocompleteEnabledChanged(e=>{this.isAutocompleteEnabled=null!=e?e:this.isAutocompleteEnabled}))}checkForAutocomplete(){if(this.inputValue.length>0&&!this.isAutocompleteEnabled&&!this.autocompleteWarningShown){this.autocompleteWarningShown=!0;const e=l.T.translate("rdf_search.toasts.autocomplete_is_off");this.toastrService.warning(`<a class="no-underline" style="font-weight: 500">${e}</a>`,{onClick:(0,n.navigateTo)("autocomplete"),removeOnClick:!0})}}onSuggestionClick(e){return t=>{e.setOverrideToVisual(t.ctrlKey||t.metaKey),this.searchRdfResource(e)}}searchRdfResource(e){e.getType()===n.SuggestionType.PREFIX?this.expandPrefix(e):(this.notifyRdfResourceSelected(e),this.preserveSearch&&this.resourceSearchStorageService.setLastSelected(e))}notifyRdfResourceSelected(e){var t;this.searchResult=null===(t=this.searchResult)||void 0===t?void 0:t.selectSuggestion(e),this.eventService.emit({NAME:r.R.SUGGESTION_SELECTED_EVENT,payload:new n.SuggestionSelectedPayload(e,this.context)})}expandPrefix(e){this.setInputValue(this.namespaces.getByPrefix(e.getValue())),this.inputRef.focus()}setInputValue(e){this.inputValue=e,this.preserveSearch&&this.resourceSearchStorageService.setInputValue(this.inputValue),this.loadAutocompleteResults()}onNamespaceChange(){this.subscriptions.add(this.namespaceContextService.onNamespacesChanged(e=>{this.namespaces=e}))}onEnter(e){var t;let o=null===(t=this.searchResult)||void 0===t?void 0:t.getHoveredSuggestion();o||(o=new n.Suggestion({value:n.UriUtil.removeAngleBrackets(this.inputValue),type:n.SuggestionType.URI})),o.setOverrideToVisual(e.ctrlKey||e.metaKey),this.validateAndSearch(o)}onArrowUp(e){this.searchResult=this.searchResult.hoverPreviousSuggestion(),this.displaySuggestion(e)}onArrowDown(e){this.searchResult=this.searchResult.hoverNextSuggestion(),this.displaySuggestion(e)}displaySuggestion(e){e.preventDefault(),this.inputRef.value=this.searchResult.getHoveredSuggestion().getValue(),this.scrollToSuggestionBySelector("p.hovered")}getSuggestionValue(e){return e.getType()===n.SuggestionType.PREFIX?this.namespaces.getByPrefix(e.getValue()):e.getValue()}scrollToSuggestionBySelector(e,t){c.H.waitForElement(e).then(()=>{c.H.scrollElementIntoView(e,t)})}validateAndSearch(e){if(!this.skipValidation){if(!e.getValue())return void this.toastrService.error(l.T.translate("rdf_search.toasts.empty_input"));if(!n.UriUtil.isValidUri(this.getSuggestionValue(e)))return void this.toastrService.error(l.T.translate("rdf_search.toasts.invalid_uri"))}this.searchRdfResource(e)}onEscape(){this.preserveSearch||this.clearInput()}loadInputFromStorage(){this.preserveSearch&&(this.inputValue=this.resourceSearchStorageService.getInputValue()||"")}onResultsReceived(e){const t=null==e?void 0:e.getByValue(this.resourceSearchStorageService.getLastSelectedValue());t&&this.preserveSearch?(e.hoverSuggestion(t),this.searchResult=e.selectSuggestion(t),this.scrollToSuggestionBySelector("p.hovered.selected",{block:"start"})):(this.searchResult=e.hoverFirstSuggestion(),this.scrollToSuggestionBySelector("p.hovered",{block:"start"}))}static get watchers(){return{isHidden:["onVisibilityChange"]}}};w.style=".search-resources-input{padding-right:20px}.search-resources-input .input-row{gap:3px;display:flex;flex-wrap:wrap}.search-resources-input .input-row .input-wrapper{position:relative;display:flex;flex:1;min-width:20vw}.search-resources-input .input-row .input-wrapper input{flex:1;padding:0.5rem 0.75rem;font-size:1rem;line-height:1.25;color:#55595c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0, 0, 0, 0.15);min-width:inherit}.search-resources-input .input-row .input-wrapper input:focus{color:#55595c;border-color:#66afe9;outline:0}.search-resources-input .input-row i.fa-xmark{position:absolute;right:10px;top:7px;z-index:10;font-size:1.6rem}.search-resources-input .input-row button{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transition:all 0.15s ease-out;user-select:none;border:1px solid transparent;padding:0.5rem 1rem;font-size:1rem;color:var(--secondary-color, #003663)}.search-resources-input .input-row button.selected{background-color:var(--primary-color, #9e2b0a);color:white}.search-resources-input .input-row button:focus{outline:none}.search-resources-input .input-row button:hover:not(.selected){background-color:#d4d4d4;border-color:#d4d4d4}.search-resources-input .hint{font-size:0.8rem;color:#818a91}.search-resources-input .autocomplete-results-wrapper{margin-top:6px;max-height:204px;overflow:auto}.search-resources-input .autocomplete-results-wrapper p{font-size:1.1rem;line-height:1.5;color:#373a3c;background-color:#fff;margin-bottom:0;padding:5px 25px;cursor:pointer}.search-resources-input .autocomplete-results-wrapper p b{color:var(--secondary-color, #003663)}.search-resources-input .autocomplete-results-wrapper p.selected{background-color:var(--autocomplete-background-selected, #02A99A)}.search-resources-input .autocomplete-results-wrapper p.hovered:not(.selected),.search-resources-input .autocomplete-results-wrapper p:hover:not(.selected){background-color:var(--autocomplete-background, rgba(2, 169, 143, 0.3019607843))}";const S=class{constructor(e){(0,s.r)(this,e)}render(){return(0,s.h)("section",{key:"198e55a469a059b1b9490c873987146c8c5f55a1",class:"onto-user-login"},(0,s.h)("button",{key:"62f71975b0ca66cac4a4e8f7c0ad471508ce5dd1",onClick:(0,n.navigateTo)("login")},(0,s.h)("i",{key:"c2711165fb384549d9b0bb0688cea1045ee1abc5",class:"icon-arrow-right"}),(0,s.h)("translate-label",{key:"970c168cc460c416d9c0c50e93885bf5e8da8c12",class:"user-login-label",labelKey:"user_menu.login"})))}};S.style=":root{--onto-user-login-color:var(--secondary-color, #373a3c)}.onto-user-login{position:relative;width:fit-content}.onto-user-login button{display:flex;color:var(--onto-user-login-color);flex-direction:row;line-height:1.5;font-weight:400;font-size:1rem;text-align:center;user-select:none;border:1px solid transparent;padding:0.4em 1rem;cursor:pointer;white-space:nowrap;place-items:center;transition:all 0.15s ease-out}.onto-user-login button .user-login-label{padding:0 0.4rem}.onto-user-login button:hover{background-color:#d4d4d4;border-color:#d4d4d4}.onto-user-login button:hover .fa-user{transform:scale(1.2)}.onto-user-login button:focus{outline:none}.onto-user-login button i{color:var(--user-menu-primary-color);line-height:0.75;font-size:1.2em;transition:0.15s ease-out}.onto-user-login button i.fa-angle-down{color:rgba(0, 0, 0, 0.35);font-size:1.1em;transition:all 0.2s ease-in}";const k=class{constructor(e){(0,s.r)(this,e),this.logout=()=>{n.ServiceProvider.get(n.AuthenticationService).logout()},this.toggleDropdown=()=>{this.isOpen=!this.isOpen},this.handleOutsideClick=e=>{this.isOpen&&!this.hostElement.contains(e.target)&&(this.isOpen=!1)}}connectedCallback(){document.addEventListener("click",this.handleOutsideClick)}disconnectedCallback(){document.removeEventListener("click",this.handleOutsideClick)}render(){var e;return(0,s.h)("section",{key:"9af009c793910f1b3e649e8dc8caa5ee0ef453f4",class:"onto-user-menu"},(0,s.h)("div",{key:"57d6117855907c7448e2c11ea42c226ef15d218a",class:"dropdown-toggle-wrapper",onClick:this.toggleDropdown},(0,s.h)("button",{key:"30e36c837726d768dbf62d564a6307df3e2244eb",class:this.isOpen?"open":""},(0,s.h)("i",{key:"a8c1de5c3aa4ef5e018710ed26e2bab25701400e",class:"fa-solid fa-user"}),(0,s.h)("span",{key:"0be9deb90e4a63116d0464fef29a8d0ec1b9fbcf",class:"username"},this.user.username),(0,s.h)("i",{key:"7e18b21b67075714cf636d113683bcc3dbdb0daa",class:"fa-light fa-angle-down "+(this.isOpen?"fa-rotate-180":"")})),this.isOpen?(0,s.h)("section",{class:"onto-user-menu-dropdown"},(0,s.h)("translate-label",{onClick:(0,n.navigateTo)("settings"),labelKey:"user_menu.my_settings"}),(null===(e=this.securityConfig)||void 0===e?void 0:e.hasExternalAuthUser)?"":(0,s.h)("translate-label",{onClick:this.logout,labelKey:"user_menu.logout"})):""))}get hostElement(){return(0,s.g)(this)}};k.style=":root{--user-menu-primary-color:var(--primary-color, #9e2b0a)}.onto-user-menu{position:relative;width:fit-content}.onto-user-menu button{display:flex;flex-direction:row;line-height:1.5;font-weight:400;font-size:1rem;text-align:center;user-select:none;border:1px solid transparent;padding:0.4em 1rem;cursor:pointer;white-space:nowrap;place-items:center;transition:all 0.15s ease-out;color:var(--secondary-color)}.onto-user-menu button:hover{background-color:#d4d4d4;border-color:#d4d4d4}.onto-user-menu button:hover .fa-user{transform:scale(1.2)}.onto-user-menu button:focus{outline:none}.onto-user-menu button.open{color:white;background-color:var(--user-menu-primary-color);border-color:var(--user-menu-primary-color)}.onto-user-menu button.open .fa-user{color:var(--icon-on-primary-color, rgba(255, 255, 255, 0.8))}.onto-user-menu button.open:hover .fa-user{transform:scale(1.2)}.onto-user-menu button .username{padding:0 5px}.onto-user-menu button i{color:var(--user-menu-primary-color);line-height:0.75;font-size:1.2em;transition:0.15s ease-out}.onto-user-menu button i.fa-angle-down{color:rgba(0, 0, 0, 0.35);font-size:1.1em;transition:all 0.2s ease-in}.onto-user-menu .onto-user-menu-dropdown{position:absolute;z-index:1000;display:flex;flex-direction:column;cursor:pointer;color:white;text-decoration:none;right:0;min-width:7rem;font-size:1rem;width:100%;background-color:var(--user-menu-primary-color)}.onto-user-menu .onto-user-menu-dropdown translate-label{padding:0.4rem 1rem;user-select:none;white-space:nowrap;font-weight:400}.onto-user-menu .onto-user-menu-dropdown translate-label:hover,.onto-user-menu .onto-user-menu-dropdown translate-label:focus{background-color:rgba(0, 0, 0, 0.1)}"},87050:(e,t,o)=>{o.d(t,{D:()=>s,R:()=>r});class s{constructor(){this._dropdownTooltipTrigger="manual"}get name(){return this._name}setName(e){return this._name=e,this}get nameLabelKey(){return this._nameLabelKey}setNameLabelKey(e){return this._nameLabelKey=e,this}get tooltip(){return this._tooltip}setTooltip(e){return this._tooltip=e,this}get tooltipLabelKey(){return this._tooltipLabelKey}setTooltipLabelKey(e){return this._tooltipLabelKey=e,this}get iconClass(){return this._iconClass}setIconClass(e){return this._iconClass=e,this}get value(){return this._value}setValue(e){return this._value=e,this}get dropdownTooltipTrigger(){return this._dropdownTooltipTrigger}setDropdownTooltipTrigger(e){return this._dropdownTooltipTrigger=e,this}get cssClass(){return this._cssClass}setCssClass(e){return this._cssClass=e,this}get guideSelector(){return this._guideSelector}setGuideSelector(e){return this._guideSelector=e,this}}var r;!function(e){e.SUGGESTION_SELECTED_EVENT="suggestion-selected-event",e.TABLE_VIEW="table",e.VISUAL_VIEW="visual",e.RDF_SEARCH_ICON_CLICKED="rdfSearchIconClicked"}(r||(r={}))}};
|
|
2
|
+
//# sourceMappingURL=82206.8ec983edcf675cfd4531.bundle.js.map
|