graphdb-workbench 3.2.0-TR1 → 3.2.0-TR2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/10142.dae0223e0a1d85ad72fe.bundle.js +2 -0
- package/dist/10142.dae0223e0a1d85ad72fe.bundle.js.map +1 -0
- package/dist/{10376.e89fa63ff898d45f45fd.bundle.js → 10376.2723c52982b51c64bffb.bundle.js} +2 -2
- package/dist/10376.2723c52982b51c64bffb.bundle.js.map +1 -0
- package/dist/{12396.4c26c8da50c790b0f39a.bundle.js → 12396.9a7f2862146b6f9adcb1.bundle.js} +2 -2
- package/dist/{12396.4c26c8da50c790b0f39a.bundle.js.map → 12396.9a7f2862146b6f9adcb1.bundle.js.map} +1 -1
- package/dist/12940.7a45ae43d5f3ba6e7d83.bundle.js +2 -0
- package/dist/12940.7a45ae43d5f3ba6e7d83.bundle.js.map +1 -0
- package/dist/14824.a3bc164c5bf4313f5276.bundle.js +2 -0
- package/dist/14824.a3bc164c5bf4313f5276.bundle.js.map +1 -0
- package/dist/{15535.ce8d657c04f3401b9539.bundle.js → 15535.7b170e17ee0a58970ab6.bundle.js} +2 -2
- package/dist/{15535.ce8d657c04f3401b9539.bundle.js.map → 15535.7b170e17ee0a58970ab6.bundle.js.map} +1 -1
- package/dist/{16162.8f482628d1b34d41d496.bundle.js → 16162.67e7c1f5f313481b1e80.bundle.js} +2 -2
- package/dist/{16162.8f482628d1b34d41d496.bundle.js.map → 16162.67e7c1f5f313481b1e80.bundle.js.map} +1 -1
- package/dist/18961.5e34171366c281038fe5.bundle.js +2 -0
- package/dist/18961.5e34171366c281038fe5.bundle.js.map +1 -0
- package/dist/20227.a9333aa1320edea7264b.bundle.js +2 -0
- package/dist/20227.a9333aa1320edea7264b.bundle.js.map +1 -0
- package/dist/{20287.c42f9d1d913c36e46931.bundle.js → 20287.dd5bc263fe26adf34965.bundle.js} +2 -2
- package/dist/{20287.c42f9d1d913c36e46931.bundle.js.map → 20287.dd5bc263fe26adf34965.bundle.js.map} +1 -1
- package/dist/{21136.199caea09a1c9ad90393.bundle.js → 21136.b7efcb40fb956ff1109c.bundle.js} +2 -2
- package/dist/{21136.199caea09a1c9ad90393.bundle.js.map → 21136.b7efcb40fb956ff1109c.bundle.js.map} +1 -1
- package/dist/{21142.b690e00c8884fddb2bb3.bundle.js → 21142.ec45fad4d52b36961d17.bundle.js} +2 -2
- package/dist/{21142.b690e00c8884fddb2bb3.bundle.js.map → 21142.ec45fad4d52b36961d17.bundle.js.map} +1 -1
- package/dist/{21170.d5e3041241741d21080c.bundle.js → 21170.7832554eab9eaade6ffb.bundle.js} +2 -2
- package/dist/{21170.d5e3041241741d21080c.bundle.js.map → 21170.7832554eab9eaade6ffb.bundle.js.map} +1 -1
- package/dist/{21195.267abc9d42b711d0f17a.bundle.js → 21195.caae6cc33d755ad52df4.bundle.js} +2 -2
- package/dist/{21195.267abc9d42b711d0f17a.bundle.js.map → 21195.caae6cc33d755ad52df4.bundle.js.map} +1 -1
- package/dist/{25747.4e00941ec221c4d6ce8f.bundle.js → 25747.c01110e23b922cdd3d9e.bundle.js} +2 -2
- package/dist/{25747.4e00941ec221c4d6ce8f.bundle.js.map → 25747.c01110e23b922cdd3d9e.bundle.js.map} +1 -1
- package/dist/{27580.f71ebbc69dd1c7785ef3.bundle.js → 27580.5a421770ab66d2dedc37.bundle.js} +2 -2
- package/dist/{27580.f71ebbc69dd1c7785ef3.bundle.js.map → 27580.5a421770ab66d2dedc37.bundle.js.map} +1 -1
- package/dist/{28050.8ca1fa760c892bfc5466.bundle.js → 28050.6960a4a0961a07a94743.bundle.js} +2 -2
- package/dist/28050.6960a4a0961a07a94743.bundle.js.map +1 -0
- package/dist/{31636.e34ccc2d6f2dec577446.bundle.js → 31636.54e2817f8ae3998a34b3.bundle.js} +2 -2
- package/dist/{31636.e34ccc2d6f2dec577446.bundle.js.map → 31636.54e2817f8ae3998a34b3.bundle.js.map} +1 -1
- package/dist/{32489.97fac2c3daa49b143d13.bundle.js → 32489.f7a2dc39cd61c2cd8874.bundle.js} +2 -2
- package/dist/{32489.97fac2c3daa49b143d13.bundle.js.map → 32489.f7a2dc39cd61c2cd8874.bundle.js.map} +1 -1
- package/dist/33524.79f7e98ef89a46d4aa58.bundle.js +2 -0
- package/dist/33524.79f7e98ef89a46d4aa58.bundle.js.map +1 -0
- package/dist/{34495.cfa15bda8009fa37c6ff.bundle.js → 34495.be67c06c39909114bbe4.bundle.js} +2 -2
- package/dist/{34495.cfa15bda8009fa37c6ff.bundle.js.map → 34495.be67c06c39909114bbe4.bundle.js.map} +1 -1
- package/dist/{38360.0a90e77042876c86b279.bundle.js → 38360.efec913bb97c3b8588a4.bundle.js} +2 -2
- package/dist/{38360.0a90e77042876c86b279.bundle.js.map → 38360.efec913bb97c3b8588a4.bundle.js.map} +1 -1
- package/dist/{38644.3a0954c798ec413a3810.bundle.js → 38644.800252af49cd67310834.bundle.js} +2 -2
- package/dist/{38644.3a0954c798ec413a3810.bundle.js.map → 38644.800252af49cd67310834.bundle.js.map} +1 -1
- package/dist/{38843.5ef7a063337524ce3bb2.bundle.js → 38843.29e34a5e5293cee51566.bundle.js} +2 -2
- package/dist/{38843.5ef7a063337524ce3bb2.bundle.js.map → 38843.29e34a5e5293cee51566.bundle.js.map} +1 -1
- package/dist/{39518.4199684f3273d29d9105.bundle.js → 39518.0ca97879b92271d7c5e2.bundle.js} +2 -2
- package/dist/{39518.4199684f3273d29d9105.bundle.js.map → 39518.0ca97879b92271d7c5e2.bundle.js.map} +1 -1
- package/dist/{39539.c23e4878044d73f2505b.bundle.js → 39539.7cea6717cc3a5ba91617.bundle.js} +2 -2
- package/dist/{39539.c23e4878044d73f2505b.bundle.js.map → 39539.7cea6717cc3a5ba91617.bundle.js.map} +1 -1
- package/dist/{41453.8bb4c783da2c5077a6e9.bundle.js → 41453.4ae219d972a187c36bfc.bundle.js} +2 -2
- package/dist/{41453.8bb4c783da2c5077a6e9.bundle.js.map → 41453.4ae219d972a187c36bfc.bundle.js.map} +1 -1
- package/dist/41621.624ba3d867bc05b5c3cc.bundle.js +2 -0
- package/dist/41621.624ba3d867bc05b5c3cc.bundle.js.map +1 -0
- package/dist/{42129.f44b7b20f9cd376c6e59.bundle.js → 42129.0314e45b4b818b01b71f.bundle.js} +2 -2
- package/dist/{42129.f44b7b20f9cd376c6e59.bundle.js.map → 42129.0314e45b4b818b01b71f.bundle.js.map} +1 -1
- package/dist/{44444.ad66c8256bc5b653de1a.bundle.js → 44444.02026ff20e2a843dc05b.bundle.js} +2 -2
- package/dist/{44444.ad66c8256bc5b653de1a.bundle.js.map → 44444.02026ff20e2a843dc05b.bundle.js.map} +1 -1
- package/dist/45069.82993bf600a550fac275.bundle.js +2 -0
- package/dist/45069.82993bf600a550fac275.bundle.js.map +1 -0
- package/dist/{456.6118cb99d130f4c0410c.bundle.js → 456.634597f220a97bfbeab8.bundle.js} +2 -2
- package/dist/456.634597f220a97bfbeab8.bundle.js.map +1 -0
- package/dist/45758.9ffd8e7d5f99e2c394a2.bundle.js +2 -0
- package/dist/45758.9ffd8e7d5f99e2c394a2.bundle.js.map +1 -0
- package/dist/{52264.99261393a7f6e631da3b.bundle.js → 52264.4cf2f1a18d16484f0af1.bundle.js} +2 -2
- package/dist/52264.4cf2f1a18d16484f0af1.bundle.js.map +1 -0
- package/dist/54419.aec242a64c27ceda6e02.bundle.js +2 -0
- package/dist/54419.aec242a64c27ceda6e02.bundle.js.map +1 -0
- package/dist/5470.58e107e4c61ae7c22d48.bundle.js +2 -0
- package/dist/5470.58e107e4c61ae7c22d48.bundle.js.map +1 -0
- package/dist/{55862.1fb5abd075ba11a7e93c.bundle.js → 55862.5e8602827fbf72e60cc2.bundle.js} +2 -2
- package/dist/{55862.1fb5abd075ba11a7e93c.bundle.js.map → 55862.5e8602827fbf72e60cc2.bundle.js.map} +1 -1
- package/dist/{58306.ba9545cbaee021ebcbce.bundle.js → 58306.94b9336f68d11bdd72f0.bundle.js} +2 -2
- package/dist/{58306.ba9545cbaee021ebcbce.bundle.js.map → 58306.94b9336f68d11bdd72f0.bundle.js.map} +1 -1
- package/dist/58334.8a2bdb0560e0ce23f792.bundle.js +2 -0
- package/dist/58334.8a2bdb0560e0ce23f792.bundle.js.map +1 -0
- package/dist/60560.2ef51d3e2d9674450419.bundle.js +2 -0
- package/dist/60560.2ef51d3e2d9674450419.bundle.js.map +1 -0
- package/dist/64118.fb6952c8ef6fc9117f35.bundle.js +2 -0
- package/dist/64118.fb6952c8ef6fc9117f35.bundle.js.map +1 -0
- package/dist/66014.d9f7b86d6829ebfe9d0e.bundle.js +2 -0
- package/dist/66014.d9f7b86d6829ebfe9d0e.bundle.js.map +1 -0
- package/dist/{67888.7d4966e0a22ba655f1b8.bundle.js → 67888.772326168aed83cbad9c.bundle.js} +2 -2
- package/dist/67888.772326168aed83cbad9c.bundle.js.map +1 -0
- package/dist/69724.56df2d5b2ba312cb8118.bundle.js +2 -0
- package/dist/69724.56df2d5b2ba312cb8118.bundle.js.map +1 -0
- package/dist/{72379.bac50d0011665a85b6cd.bundle.js → 72379.8a3290df05f18f8c65bd.bundle.js} +2 -2
- package/dist/{72379.bac50d0011665a85b6cd.bundle.js.map → 72379.8a3290df05f18f8c65bd.bundle.js.map} +1 -1
- package/dist/{73667.3dd4f377e7ef54fd8758.bundle.js → 73667.52fdbdadddafe9e9559b.bundle.js} +2 -2
- package/dist/{73667.3dd4f377e7ef54fd8758.bundle.js.map → 73667.52fdbdadddafe9e9559b.bundle.js.map} +1 -1
- package/dist/{73793.6d80d47c26ed60a587fd.bundle.js → 73793.7e812bab1754ddd5efb5.bundle.js} +2 -2
- package/dist/{73793.6d80d47c26ed60a587fd.bundle.js.map → 73793.7e812bab1754ddd5efb5.bundle.js.map} +1 -1
- package/dist/{75282.88819e851ed18720b275.bundle.js → 75282.2f97d3a7d7f3fdd7aebf.bundle.js} +2 -2
- package/dist/{75282.88819e851ed18720b275.bundle.js.map → 75282.2f97d3a7d7f3fdd7aebf.bundle.js.map} +1 -1
- package/dist/{75849.51ade15bf0074eab76f3.bundle.js → 75849.bd0bdefa903741034a71.bundle.js} +2 -2
- package/dist/{75849.51ade15bf0074eab76f3.bundle.js.map → 75849.bd0bdefa903741034a71.bundle.js.map} +1 -1
- package/dist/77143.e0cb9ab61d798d7b5e0b.bundle.js +2 -0
- package/dist/77143.e0cb9ab61d798d7b5e0b.bundle.js.map +1 -0
- package/dist/78070.21b221881c2b49603eb9.bundle.js +2 -0
- package/dist/78070.21b221881c2b49603eb9.bundle.js.map +1 -0
- package/dist/{78250.6db42146a120459280e4.bundle.js → 78250.73e3013c5b2ebdddbf38.bundle.js} +2 -2
- package/dist/{78250.6db42146a120459280e4.bundle.js.map → 78250.73e3013c5b2ebdddbf38.bundle.js.map} +1 -1
- package/dist/78681.7b1c9100e03c2346550a.bundle.js +2 -0
- package/dist/78681.7b1c9100e03c2346550a.bundle.js.map +1 -0
- package/dist/{79329.5a5cbfa466d1c62af915.bundle.js → 79329.3d912887ba7e96090fb4.bundle.js} +2 -2
- package/dist/{79329.5a5cbfa466d1c62af915.bundle.js.map → 79329.3d912887ba7e96090fb4.bundle.js.map} +1 -1
- package/dist/81837.a989b5e255a0ce6176b2.bundle.js +2 -0
- package/dist/81837.a989b5e255a0ce6176b2.bundle.js.map +1 -0
- package/dist/82206.fd868720394b9dc2adac.bundle.js +2 -0
- package/dist/82206.fd868720394b9dc2adac.bundle.js.map +1 -0
- package/dist/82293.5e41c8378272aabf99f6.bundle.js +2 -0
- package/dist/82293.5e41c8378272aabf99f6.bundle.js.map +1 -0
- package/dist/82896.4787d205b19befaf263a.bundle.js +2 -0
- package/dist/82896.4787d205b19befaf263a.bundle.js.map +1 -0
- package/dist/{82926.93dbf44f2bcccba34e9b.bundle.js → 82926.93a59d42bf8d49aaac8e.bundle.js} +2 -2
- package/dist/{82926.93dbf44f2bcccba34e9b.bundle.js.map → 82926.93a59d42bf8d49aaac8e.bundle.js.map} +1 -1
- package/dist/{83136.56d692623cbc60048e03.bundle.js → 83136.4941a19a85eb34ca370a.bundle.js} +2 -2
- package/dist/83136.4941a19a85eb34ca370a.bundle.js.map +1 -0
- package/dist/{84727.b93b2f9857352d39b241.bundle.js → 84727.2e3214ad60bd59f435e2.bundle.js} +2 -2
- package/dist/84727.2e3214ad60bd59f435e2.bundle.js.map +1 -0
- package/dist/85281.76d06e1c26137bb4b417.bundle.js +2 -0
- package/dist/85281.76d06e1c26137bb4b417.bundle.js.map +1 -0
- package/dist/{86639.ab85108411ef0f006e10.bundle.js → 86639.d28da26b8f138f5eb19b.bundle.js} +2 -2
- package/dist/86639.d28da26b8f138f5eb19b.bundle.js.map +1 -0
- package/dist/89647.219c4eb306757647ae1c.bundle.js +2 -0
- package/dist/89647.219c4eb306757647ae1c.bundle.js.map +1 -0
- package/dist/{9062.d9049833d076191d3e1a.bundle.js → 9062.3541de664710a36fdac7.bundle.js} +2 -2
- package/dist/{9062.d9049833d076191d3e1a.bundle.js.map → 9062.3541de664710a36fdac7.bundle.js.map} +1 -1
- package/dist/95953.44049d81dd4879f745f9.bundle.js +2 -0
- package/dist/95953.44049d81dd4879f745f9.bundle.js.map +1 -0
- package/dist/96248.83e4f0c66a9f58161a66.bundle.js +2 -0
- package/dist/96248.83e4f0c66a9f58161a66.bundle.js.map +1 -0
- package/dist/98494.969124a68766ebbdee3c.bundle.js +3 -0
- package/dist/98494.969124a68766ebbdee3c.bundle.js.map +1 -0
- package/dist/99379.1b108abf4421ccee2973.bundle.js +2 -0
- package/dist/99379.1b108abf4421ccee2973.bundle.js.map +1 -0
- package/dist/{99448.314018d0afb1af150ddf.bundle.js → 99448.384b74c734331e5f8909.bundle.js} +2 -2
- package/dist/{99448.314018d0afb1af150ddf.bundle.js.map → 99448.384b74c734331e5f8909.bundle.js.map} +1 -1
- package/dist/99893.6ac254ca3f59996b2a52.bundle.js +2 -0
- package/dist/99893.6ac254ca3f59996b2a52.bundle.js.map +1 -0
- package/dist/api/models/configuration/configuration.d.ts +5 -0
- package/dist/api/models/logging/log-level.d.ts +7 -0
- package/dist/api/models/logging/logger-config.d.ts +19 -0
- package/dist/api/models/logging/logger-definitions.d.ts +7 -0
- package/dist/api/models/logging/logger-type.d.ts +3 -0
- package/dist/api/models/logging/logger.d.ts +15 -0
- package/dist/api/models/storage/storage-data.d.ts +1 -0
- package/dist/api/ontotext-workbench-api.d.ts +1 -0
- package/dist/api/ontotext-workbench-api.js +1 -1
- package/dist/api/ontotext-workbench-api.js.map +1 -1
- package/dist/api/services/logging/console/console-logger.service.d.ts +19 -0
- package/dist/api/services/logging/index.d.ts +2 -0
- package/dist/api/services/logging/logger-provider.d.ts +11 -0
- package/dist/api/services/logging/logger-service.d.ts +63 -0
- package/dist/api/services/logging/loggers.d.ts +15 -0
- package/dist/api/services/logging/test/loggers.spec.d.ts +1 -0
- package/dist/api/services/plugins/plugins-rest.service.d.ts +1 -0
- package/dist/api/services/plugins/plugins.service.d.ts +1 -0
- package/dist/api/services/repository/repository-storage.service.d.ts +1 -0
- package/dist/api/services/storage/local-storage-subscription-handler.service.d.ts +1 -0
- package/dist/api/services/utils/routing-utils.d.ts +1 -1
- package/dist/assets/configuration.default.json +5 -1
- package/dist/index.html +10 -8
- package/dist/js/angular/clustermanagement/templates/cluster-nodes-configuration.html +1 -1
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
- package/dist/js/angular/core/directives/dynamic-form/templates/dynamic-form.html +1 -1
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html +1 -1
- package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-consent.html +1 -1
- package/dist/js/angular/core/templates/cookie-policy/cookie-policy.html +1 -1
- package/dist/js/angular/core/templates/editable-content/editable-content.html +1 -1
- package/dist/js/angular/core/templates/markdown-content/markdown-content.html +1 -1
- package/dist/js/angular/core/templates/search-resource-input.html +1 -1
- package/dist/js/angular/graphql/templates/create-graphql-endpoint.html +2 -2
- package/dist/js/angular/graphql/templates/graphql-endpoint-management.html +1 -1
- package/dist/js/angular/graphql/templates/graphql-playground.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-configuration-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html +1 -1
- package/dist/js/angular/graphql/templates/modal/import-endpoint-definition-modal.html +1 -1
- package/dist/js/angular/security/templates/user.html +2 -2
- package/dist/js/angular/ttyg/templates/agent-list.html +1 -1
- package/dist/js/angular/ttyg/templates/agent-select-menu.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-item-detail.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-list.html +1 -1
- package/dist/js/angular/ttyg/templates/chat-panel.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-instructions-explain-modal.html +1 -1
- package/dist/js/angular/ttyg/templates/modal/agent-settings-modal.html +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.2bd696723af2573e8bb7.js +3 -0
- package/dist/{legacyWorkbench.57fc12c172f6350ac4c5.js.map → legacyWorkbench.2bd696723af2573e8bb7.js.map} +1 -1
- package/dist/{main.b9a83da68ffc43c91de0.js → main.be51ba05166a17f051a0.js} +3 -3
- package/dist/main.be51ba05166a17f051a0.js.map +1 -0
- package/dist/pages/aclmanagement.html +2 -2
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +1 -1
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +8 -8
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +2 -2
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/login.html +1 -1
- package/dist/pages/monitor/backup-and-restore.html +1 -1
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +1 -1
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +1 -1
- package/dist/pages/repository.html +1 -1
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-editor.html +1 -1
- package/dist/pages/sparql-template-create.html +1 -1
- package/dist/pages/ux-test1.html +2 -2
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins.js +1 -1
- package/dist/res/swagger5/index.html +11 -11
- package/dist/shared-components/cjs/onto-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/translate-label.cjs.entry.js +1 -1
- package/dist/shared-components/cjs/translation.service-CC6jY4U-.js +1 -0
- package/dist/shared-components/collection/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.js +1 -1
- package/dist/shared-components/collection/components/onto-dropdown/onto-dropdown.js +1 -1
- package/dist/shared-components/collection/components/onto-navbar/navbar-service.js +1 -1
- package/dist/shared-components/collection/services/logger-provider.js +1 -0
- package/dist/shared-components/collection/services/translation.service.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/translate-label.entry.js +1 -1
- package/dist/shared-components/esm/translation.service-nljGIprK.js +1 -0
- package/dist/shared-components/shared-components/p-09a97d11.entry.js +1 -0
- package/dist/shared-components/shared-components/p-21b82a97.entry.js +1 -0
- package/dist/shared-components/shared-components/p-8d20ae56.entry.js +1 -0
- package/dist/shared-components/shared-components/{p-91ad7f7f.entry.js → p-9131b137.entry.js} +1 -1
- package/dist/shared-components/shared-components/{p-1bc2ac8e.entry.js → p-e454ffc9.entry.js} +1 -1
- package/dist/shared-components/shared-components/{p-17bac1e3.entry.js → p-f9aa2123.entry.js} +1 -1
- package/dist/shared-components/shared-components/p-nljGIprK.js +1 -0
- package/dist/shared-components/shared-components/shared-components.esm.js +1 -1
- package/dist/shared-components/types/components/dialogs/onto-cookie-policy-dialog/onto-cookie-policy-dialog.d.ts +1 -0
- package/dist/shared-components/types/components/onto-dropdown/onto-dropdown.d.ts +1 -0
- package/dist/shared-components/types/services/logger-provider.d.ts +11 -0
- package/dist/shared-components/types/services/translation.service.d.ts +1 -0
- package/dist/styleguide.9451f25d197464f4079c.js +2 -0
- package/dist/styleguide.9451f25d197464f4079c.js.map +1 -0
- package/dist/workbench/workbench/workbenchApp.js +1 -1
- package/package.json +1 -1
- package/dist/10142.f47cd2aec05492fce7ce.bundle.js +0 -2
- package/dist/10142.f47cd2aec05492fce7ce.bundle.js.map +0 -1
- package/dist/10376.e89fa63ff898d45f45fd.bundle.js.map +0 -1
- package/dist/12940.5b35c2cf5958d8769c0a.bundle.js +0 -2
- package/dist/12940.5b35c2cf5958d8769c0a.bundle.js.map +0 -1
- package/dist/14824.5d5041c05fca4c0373fa.bundle.js +0 -2
- package/dist/14824.5d5041c05fca4c0373fa.bundle.js.map +0 -1
- package/dist/18961.c6505525fb0491b48f8b.bundle.js +0 -2
- package/dist/18961.c6505525fb0491b48f8b.bundle.js.map +0 -1
- package/dist/19968.fdb823f9a12e11a633ec.bundle.js +0 -2
- package/dist/19968.fdb823f9a12e11a633ec.bundle.js.map +0 -1
- package/dist/20227.ab5dfaab392dbb16ba31.bundle.js +0 -2
- package/dist/20227.ab5dfaab392dbb16ba31.bundle.js.map +0 -1
- package/dist/28050.8ca1fa760c892bfc5466.bundle.js.map +0 -1
- package/dist/33524.35fe079bcb99a78babaf.bundle.js +0 -2
- package/dist/33524.35fe079bcb99a78babaf.bundle.js.map +0 -1
- package/dist/41621.68c5ebc2104a62e2b41d.bundle.js +0 -2
- package/dist/41621.68c5ebc2104a62e2b41d.bundle.js.map +0 -1
- package/dist/456.6118cb99d130f4c0410c.bundle.js.map +0 -1
- package/dist/45758.6ceb731cbe0576149f31.bundle.js +0 -2
- package/dist/45758.6ceb731cbe0576149f31.bundle.js.map +0 -1
- package/dist/52264.99261393a7f6e631da3b.bundle.js.map +0 -1
- package/dist/54419.f09240da9349be115ab3.bundle.js +0 -2
- package/dist/54419.f09240da9349be115ab3.bundle.js.map +0 -1
- package/dist/5470.7c17c7d3b58c8c0d0786.bundle.js +0 -2
- package/dist/5470.7c17c7d3b58c8c0d0786.bundle.js.map +0 -1
- package/dist/58334.6fdc74532b5f755916d8.bundle.js +0 -2
- package/dist/58334.6fdc74532b5f755916d8.bundle.js.map +0 -1
- package/dist/60560.37740d97b418899a5d21.bundle.js +0 -2
- package/dist/60560.37740d97b418899a5d21.bundle.js.map +0 -1
- package/dist/64118.9841bd3b9724868b8a63.bundle.js +0 -2
- package/dist/64118.9841bd3b9724868b8a63.bundle.js.map +0 -1
- package/dist/66014.336bc4291da2fbc96cd1.bundle.js +0 -2
- package/dist/66014.336bc4291da2fbc96cd1.bundle.js.map +0 -1
- package/dist/67888.7d4966e0a22ba655f1b8.bundle.js.map +0 -1
- package/dist/69724.1a97fa707ee1379409e9.bundle.js +0 -2
- package/dist/69724.1a97fa707ee1379409e9.bundle.js.map +0 -1
- package/dist/77143.f23d8a7fa51df083741c.bundle.js +0 -2
- package/dist/77143.f23d8a7fa51df083741c.bundle.js.map +0 -1
- package/dist/78070.b5e22ffae27cc3ca7a6f.bundle.js +0 -2
- package/dist/78070.b5e22ffae27cc3ca7a6f.bundle.js.map +0 -1
- package/dist/78681.39694d37c0f75ea04df6.bundle.js +0 -2
- package/dist/78681.39694d37c0f75ea04df6.bundle.js.map +0 -1
- package/dist/81837.f10e22eaf72a0642b50e.bundle.js +0 -2
- package/dist/81837.f10e22eaf72a0642b50e.bundle.js.map +0 -1
- package/dist/82206.8ec983edcf675cfd4531.bundle.js +0 -2
- package/dist/82206.8ec983edcf675cfd4531.bundle.js.map +0 -1
- package/dist/82293.a9bb9cd640c007cc1e91.bundle.js +0 -2
- package/dist/82293.a9bb9cd640c007cc1e91.bundle.js.map +0 -1
- package/dist/82896.9aed45baf67510717c6f.bundle.js +0 -2
- package/dist/82896.9aed45baf67510717c6f.bundle.js.map +0 -1
- package/dist/83136.56d692623cbc60048e03.bundle.js.map +0 -1
- package/dist/84727.b93b2f9857352d39b241.bundle.js.map +0 -1
- package/dist/85281.27b5a1eb8e7ac2cf8459.bundle.js +0 -2
- package/dist/85281.27b5a1eb8e7ac2cf8459.bundle.js.map +0 -1
- package/dist/86639.ab85108411ef0f006e10.bundle.js.map +0 -1
- package/dist/89647.b1a4e522d685f0b5d60f.bundle.js +0 -2
- package/dist/89647.b1a4e522d685f0b5d60f.bundle.js.map +0 -1
- package/dist/95953.4ea6a7c68a22779ba299.bundle.js +0 -2
- package/dist/95953.4ea6a7c68a22779ba299.bundle.js.map +0 -1
- package/dist/96248.1b85f989b0a7852c9b7b.bundle.js +0 -2
- package/dist/96248.1b85f989b0a7852c9b7b.bundle.js.map +0 -1
- package/dist/98494.a2cdb2a1c5d32d0094f3.bundle.js +0 -3
- package/dist/98494.a2cdb2a1c5d32d0094f3.bundle.js.map +0 -1
- package/dist/99379.be6c85ef305af6667dc1.bundle.js +0 -2
- package/dist/99379.be6c85ef305af6667dc1.bundle.js.map +0 -1
- package/dist/99893.2537d77ee1f4df0c846b.bundle.js +0 -2
- package/dist/99893.2537d77ee1f4df0c846b.bundle.js.map +0 -1
- package/dist/legacyWorkbench.57fc12c172f6350ac4c5.js +0 -3
- package/dist/main.b9a83da68ffc43c91de0.js.map +0 -1
- package/dist/shared-components/cjs/translation.service-DjdwDpXN.js +0 -1
- package/dist/shared-components/esm/translation.service-Hf6024E7.js +0 -1
- package/dist/shared-components/shared-components/p-2433b25f.entry.js +0 -1
- package/dist/shared-components/shared-components/p-25fa0ee5.entry.js +0 -1
- package/dist/shared-components/shared-components/p-6266be98.entry.js +0 -1
- package/dist/shared-components/shared-components/p-Hf6024E7.js +0 -1
- /package/dist/{98494.a2cdb2a1c5d32d0094f3.bundle.js.LICENSE.txt → 98494.969124a68766ebbdee3c.bundle.js.LICENSE.txt} +0 -0
- /package/dist/{legacyWorkbench.57fc12c172f6350ac4c5.js.LICENSE.txt → legacyWorkbench.2bd696723af2573e8bb7.js.LICENSE.txt} +0 -0
- /package/dist/{main.b9a83da68ffc43c91de0.js.LICENSE.txt → main.be51ba05166a17f051a0.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"82206.fd868720394b9dc2adac.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/dropdown-item-alignment-DghTf3pJ.js","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-nljGIprK.js","webpack://root-config/./packages/shared-components/dist/esm/html-util-C8DO915D.js","webpack://root-config/./packages/shared-components/dist/esm/onto-language-selector_9.entry.js","webpack://root-config/./packages/shared-components/dist/esm/resource-search-constants-CapzAxJp.js"],"sourcesContent":["var DropdownItemAlignment;\n(function (DropdownItemAlignment) {\n DropdownItemAlignment[\"RIGHT\"] = \"right\";\n DropdownItemAlignment[\"LEFT\"] = \"left\";\n})(DropdownItemAlignment || (DropdownItemAlignment = {}));\n\nexport { DropdownItemAlignment as D };\n","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 { Loggers, 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\nconst MODULE_NAME = 'SharedComponents';\n/**\n * Logger for the Shared Components module.\n */\nclass LoggerProvider {\n /**\n * Gets the logger instance for the Shared Components module.\n *\n * @returns LoggerService instance for the Shared Components module\n */\n static get logger() {\n return Loggers.getLoggerInstance(MODULE_NAME);\n }\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 this.logger = LoggerProvider.logger;\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 this.logger.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 { LoggerProvider as L, TranslationService as T, sanitizeHTML as s };\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","import { r as registerInstance, h, a as Host, g as getElement } from './index-I_gcXFWK.js';\nimport { D as DropdownItem, R as ResourceSearchConstants } from './resource-search-constants-CapzAxJp.js';\nimport { ServiceProvider, LanguageService, LanguageContextService, navigateTo, MapperProvider, OperationGroupSummaryListMapper, OperationStatus, OperationGroup, SubscriptionList, EventService, ResourceSearchStorageService, UriUtil, SearchButtonConfig, SearchButton, openInNewTab, RepositoryContextService, AutocompleteService, AutocompleteContextService, AutocompleteStorageService, OntoToastrService, NamespacesContextService, SuggestionType, SuggestionSelectedPayload, Suggestion, AuthenticationService } from '@ontotext/workbench-api';\nimport { D as DropdownItemAlignment } from './dropdown-item-alignment-DghTf3pJ.js';\nimport { O as OntoTooltipPlacement } from './onto-tooltip-placement-D_J2-9CG.js';\nimport { T as TranslationService } from './translation.service-nljGIprK.js';\nimport { H as HtmlUtil } from './html-util-C8DO915D.js';\n\nconst ontoLanguageSelectorCss = \":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}\";\n\nconst OntoLanguageSelector = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.languageService = ServiceProvider.get(LanguageService);\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.items = [];\n /**\n * Specifies the dropdown items' alignment. If not provided, the items and the dropdown button will be aligned to the left.\n *\n */\n this.dropdownAlignment = DropdownItemAlignment.LEFT;\n }\n connectedCallback() {\n this.onLanguageChangeSubscription = this.languageContextService.onSelectedLanguageChanged((newLanguage) => this.changeLanguage(newLanguage));\n this.items = this.getLanguageDropdownOptions();\n }\n disconnectedCallback() {\n if (this.onLanguageChangeSubscription) {\n this.onLanguageChangeSubscription();\n }\n }\n render() {\n var _a, _b;\n return (h(Host, { key: 'faabdc9c474b053c32f4ae2c45cd79bd6166a255' }, h(\"onto-dropdown\", { key: 'e15d2c8478c85c3a37c99d22f91602ea17730e67', class: 'onto-language-selector', onValueChanged: this.valueChangeHandler(), dropdownButtonNameLabelKey: !this.currentLanguage ? 'language_selector.toggle_menu.label' : undefined, dropdownButtonName: (_a = this.currentLanguage) !== null && _a !== void 0 ? _a : undefined, dropdownButtonTooltipLabelKey: this.currentLanguage ? 'language_selector.toggle_menu.tooltip' : 'language_selector.toggle_menu.label', dropdownAlignment: (_b = this.dropdownAlignment) !== null && _b !== void 0 ? _b : DropdownItemAlignment.RIGHT, dropdownTooltipTrigger: 'mouseenter focus', iconClass: 'icon-translation', items: this.items, \"auto-close\": true })));\n }\n valueChangeHandler() {\n return (newLanguage) => this.onSelectedLanguageChanged(newLanguage);\n }\n changeLanguage(newLanguage) {\n let selectedLanguage = newLanguage;\n if (!selectedLanguage) {\n selectedLanguage = this.languageService.getDefaultLanguage();\n }\n this.currentLanguage = selectedLanguage;\n this.items = this.getLanguageDropdownOptions();\n }\n onSelectedLanguageChanged(newLanguageEvent) {\n this.languageContextService.updateSelectedLanguage(newLanguageEvent.detail);\n }\n getLanguageDropdownOptions() {\n return this.languageService.getSupportedLanguages().map((locale) => {\n const iconClass = this.currentLanguage === locale ? 'icon-tick' : '';\n return new DropdownItem()\n .setNameLabelKey(`language_selector.language.${locale}.label`)\n .setTooltipLabelKey(`language_selector.language.${locale}.tooltip.` + (this.currentLanguage === locale ? 'selected' : 'not_selected'))\n .setIconClass(iconClass)\n .setCssClass(locale)\n .setValue(locale)\n .setDropdownTooltipTrigger('mouseenter focus');\n });\n }\n};\nOntoLanguageSelector.style = ontoLanguageSelectorCss;\n\nconst ontoLicenseAlertCss = \":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}\";\n\nconst OntoLicenseAlert = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n var _a;\n return (h(Host, { key: '6283d1acb15331985f3c5195c90f7045ed4f54e3', \"tooltip-content\": (_a = this.license) === null || _a === void 0 ? void 0 : _a.message, \"tooltip-placement\": OntoTooltipPlacement.BOTTOM, \"data-test\": 'onto-license-alert' }, h(\"button\", { key: '51aa59067ac8f8e35b5ad05c113d47ee37651628', class: \"onto-license-alert onto-btn\", onClick: navigateTo('license') }, h(\"span\", { key: '7447c981a795ea4958fca59c5f68c3eb3c85ba93', class: \"icon-warning\" }), h(\"translate-label\", { key: 'f57a0f65965a8540ddadfb692012c71b27012ee9', labelKey: 'license_alert.label' }))));\n }\n};\nOntoLicenseAlert.style = ontoLicenseAlertCss;\n\nconst ontoOperationsNotificationCss = \".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}\";\n\nconst operationGroupToIcon = {\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 // TODO: change import icon to font awesome one, when available\n [OperationGroup.IMPORT]: 'icon-import'\n};\nconst operationStatusToWarningClass = {\n [OperationStatus.WARNING]: 'status-warning',\n [OperationStatus.INFORMATION]: 'status-information',\n [OperationStatus.CRITICAL]: 'status-critical'\n};\nconst operationStatusToFadeClass = {\n [OperationStatus.WARNING]: 'onto-btn-fade-warning',\n [OperationStatus.CRITICAL]: 'onto-btn-fade-danger'\n};\nconst OntoOperationsNotification = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /** Whether the dropdown menu is open or closed */\n this.isOpen = false;\n this.toggleDropdown = (event) => {\n event.stopPropagation();\n this.isOpen = !this.isOpen;\n };\n }\n handleOutsideClick() {\n if (this.isOpen) {\n this.isOpen = false;\n }\n }\n render() {\n var _a;\n this.operationGroups = MapperProvider\n .get(OperationGroupSummaryListMapper)\n .mapToModel(this.activeOperations.toOperationsGroupSummary());\n return (h(\"section\", { key: '9f3f9af5fc9db87aebe2196011f5aea788d54c28', class: \"operations-statuses\" }, h(\"button\", { key: '3e29170276812080c7c587aefff605f31b869584', class: `operations-statuses-dropdown-toggle ${this.isOpen ? 'open' : 'closed'} ${(_a = operationStatusToFadeClass[this.activeOperations.status]) !== null && _a !== void 0 ? _a : ''}`, onClick: this.toggleDropdown }, this.operationGroups.getItems().map((groupSummary) => (h(\"section\", { key: groupSummary.id, class: \"operation-status-header\" }, h(\"i\", { class: `${operationGroupToIcon[groupSummary.group]} ${operationStatusToWarningClass[groupSummary.status]}` }), groupSummary.totalOperations\n ? h(\"sup\", { class: \"running-operation-count tag-info\" }, groupSummary.totalOperations)\n : ''))), h(\"i\", { key: '3d4657cd5feda18c83690033f86401f4cd032fd5', class: `fa-light fa-angle-down ${this.isOpen ? 'fa-rotate-180' : ''}` })), this.isOpen &&\n h(\"ul\", { key: '16f0e84d431de676bf61ad6ee4e2238e051aebd6', class: \"operations-dropdown\" }, h(\"section\", { key: 'f9cf81d115e5ec7bdd15d9cbdc2f451bc5505440', class: \"operations-statuses-content\" }, this.activeOperations.allRunningOperations.getItems().map((operation) => (h(\"li\", { key: operation.id }, h(\"a\", { class: `operation-status-content onto-btn no-underline ${operationStatusToWarningClass[operation.status]}`, target: \"_blank\", onClick: navigateTo(operation.href) }, h(\"i\", { class: operationGroupToIcon[operation.group] }), h(\"span\", { class: \"operation-status-label\" }, h(\"translate-label\", { labelKey: `operations_notification.links.${operation.labelKey}` })), h(\"span\", { class: \"operation-number\" }, operation.count\n ? h(\"span\", { class: \"operation-status-running-operation-count\" }, operation.count)\n : '')))))))));\n }\n get el() { return getElement(this); }\n};\nOntoOperationsNotification.style = ontoOperationsNotificationCss;\n\nconst ontoRdfSearchCss = \":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)}\";\n\nconst OntoRdfSearch = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.subscriptions = new SubscriptionList();\n this.eventService = ServiceProvider.get(EventService);\n this.resourceSearchStorageService = ServiceProvider.get(ResourceSearchStorageService);\n this.RDF_CONTEXT = 'rdfSearchContext';\n this.isOpen = false;\n this.redirectUrl = UriUtil.RESOURCE_URL;\n }\n /**\n * Handles click events on the window.\n * Closes the search area if it's open and the click is outside the search area.\n * @param event - The MouseEvent object.\n */\n handleClick(event) {\n var _a;\n if (!this.isOpen) {\n return;\n }\n if (!((_a = this.rdfSearchRef) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {\n this.isOpen = false;\n }\n }\n connectedCallback() {\n this.onSuggestionSelected();\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n componentDidRender() {\n this.focusSearchInput();\n }\n componentDidLoad() {\n this.buttonConfig = this.createButtonConfig();\n }\n render() {\n return (h(\"section\", { key: 'c06727ea1f5985617e1434015c6a4bcf270f4f46', ref: (ref) => this.rdfSearchRef = ref, class: \"onto-rdf-search\", onKeyDown: this.onKeyDown(), \"data-test\": 'onto-rdf-search-component' }, h(\"section\", { key: '8f87cca4fb3b5be1f953140fde83b7b9ce538a09', class: `search-area ${this.isOpen ? 'visible' : 'invisible'}` }, h(\"i\", { key: 'f65a0d5445c1da7ba859c554a0811a93ac1fdaf6', onClick: this.setIsOpen(false), \"tooltip-content\": TranslationService.translate('rdf_search.tooltips.close_search_area'), \"tooltip-placement\": OntoTooltipPlacement.BOTTOM, \"data-test\": 'onto-rdf-resource-search-close-btn', class: \"fa-light fa-xmark-large close-btn\" }), h(\"onto-search-resource-input\", { key: '2b6919e5ce2ba385729e5920450b19481d18d37d', buttonConfig: this.buttonConfig, preserveSearch: true, isHidden: !this.isOpen, \"data-test\": 'onto-rdf-resource-search-input', context: this.RDF_CONTEXT })), !this.isOpen ? h(\"onto-search-icon\", { onClick: this.setIsOpen(true) }) : ''));\n }\n /**\n * Creates a function to set the open state of the search area.\n * @param isOpen - Boolean indicating whether the search area should be open.\n */\n setIsOpen(isOpen) {\n return () => {\n this.isOpen = isOpen;\n if (this.isOpen) {\n this.loadSelectedViewFromStorage();\n }\n };\n }\n /**\n * Creates the configuration for search buttons.\n * @returns A SearchButtonConfig object with radio buttons for table and visual search.\n */\n createButtonConfig() {\n return new SearchButtonConfig({\n isRadio: true,\n buttons: [\n this.createSearchButton(ResourceSearchConstants.TABLE_VIEW, 'rdf_search.buttons.table', () => {\n this.redirectUrl = UriUtil.RESOURCE_URL;\n this.resourceSearchStorageService.setSelectedView(ResourceSearchConstants.TABLE_VIEW);\n }, true),\n this.createSearchButton(ResourceSearchConstants.VISUAL_VIEW, 'rdf_search.buttons.visual', () => {\n this.redirectUrl = UriUtil.GRAPHS_VISUALIZATIONS_URL;\n this.resourceSearchStorageService.setSelectedView(ResourceSearchConstants.VISUAL_VIEW);\n }, false)\n ]\n });\n }\n /**\n * Creates a search button with the given parameters.\n * @param id - The id for the button.\n * @param labelKey - The key for the button's label translation.\n * @param callback - The function to be called when the button is clicked.\n * @param selected - Boolean indicating whether the button should be initially selected.\n * @returns A SearchButton object.\n */\n createSearchButton(id, labelKey, callback, selected) {\n return new SearchButton({\n label: TranslationService.translate(labelKey),\n id,\n callback,\n selected\n });\n }\n onSuggestionSelected() {\n this.subscriptions.add(this.eventService.subscribe(ResourceSearchConstants.SUGGESTION_SELECTED_EVENT, (payload) => {\n if (payload.getContext() === this.RDF_CONTEXT) {\n const redirectUrl = payload.getSuggestion().getOverrideToVisual()\n ? UriUtil.GRAPHS_VISUALIZATIONS_URL\n : this.redirectUrl;\n openInNewTab(UriUtil.createAutocompleteRedirect(redirectUrl, payload.getSuggestion().getValue()));\n }\n }));\n }\n onKeyDown() {\n return (event) => {\n if (event.key === 'Escape') {\n this.isOpen = false;\n }\n };\n }\n focusSearchInput() {\n if (this.isOpen) {\n HtmlUtil.focusElement(`#${this.RDF_CONTEXT}`);\n }\n }\n loadSelectedViewFromStorage() {\n const selectedView = this.resourceSearchStorageService.getSelectedView();\n if (selectedView) {\n const selectedButton = this.buttonConfig.getButtons().find((button) => button.id === selectedView);\n if (selectedButton) {\n this.buttonConfig = this.buttonConfig.selectButton(selectedButton);\n }\n }\n }\n};\nOntoRdfSearch.style = ontoRdfSearchCss;\n\n/**\n *\n * A StencilJS component that renders a repository selection. The element displays the repository's icon and ID\n * if a repository is selected; otherwise, it shows a translated toggle button name. The component dynamically\n * updates the name when the translation changes.\n *\n * @example\n * <RepositorySelection repository={repository}></>\n *\n */\nconst RepositorySelection = ({ repository, defaultToggleButtonName, location }) => {\n var _a;\n const className = repository ? 'repository-selection active-repository' : 'repository-selection no-selected-repository';\n return (h(\"div\", { class: className, \"data-test\": 'repository-selection' },\n repository && h(\"i\", { class: 'button-icon icon-repo-' + repository.type }),\n \"\\u00A0\", (_a = repository === null || repository === void 0 ? void 0 : repository.id) !== null && _a !== void 0 ? _a : defaultToggleButtonName,\n location));\n};\n\nconst ontoRepositorySelectorCss = \":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}\";\n\nconst OntoRepositorySelector = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.repositoryContextService = ServiceProvider.get(RepositoryContextService);\n this.subscriptions = [];\n }\n /**\n * Re-applies tooltip functions to all dropdown items when the items prop changes.\n */\n onItemsChanged(newItems) {\n if (!(newItems === null || newItems === void 0 ? void 0 : newItems.length)) {\n this.dropdownItems = [];\n return;\n }\n this.dropdownItems = this.attachTooltipsToItems(this.items);\n }\n connectedCallback() {\n var _a;\n this.subscriptions.push(...this.subscribeToTranslationChanged());\n // Manually apply tooltip functions to each item on first mount.\n if ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) {\n this.dropdownItems = this.attachTooltipsToItems(this.items);\n }\n else {\n this.dropdownItems = [];\n }\n }\n /**\n * Cleans up the subscriptions when the component is removed from the DOM to avoid memory leaks.\n * This method unsubscribes from both the repository change and selected repository change events.\n */\n disconnectedCallback() {\n this.subscriptions.forEach((subscription) => subscription());\n }\n render() {\n const repositorySelection = h(RepositorySelection, { key: '6cfae687d07dbbf4525b134273719fbec29ec23c', repository: this.currentRepository, defaultToggleButtonName: this.getButtonLabel(), location: this.getLocation() });\n return (h(Host, { key: '10c2e949fd0f2bf1cc0f3520d1f19361f2b8a1d1' }, h(\"onto-dropdown\", Object.assign({ key: 'ef9c8f245b7e00e31c78c2989d556c21b9333865', class: 'onto-repository-selector', \"data-test\": 'onto-repository-selector', onValueChanged: this.onValueChanged(), dropdownButtonName: repositorySelection, dropdownButtonTooltip: this.createTooltipFunctionForRepository(this.currentRepository) }, (this.currentRepository ? { 'dropdownButtonGuideSelector': `repository-id-${this.currentRepository.id}` } : {}), { dropdownTooltipTrigger: 'mouseenter focus', dropdownAlignment: DropdownItemAlignment.RIGHT, tooltipPlacement: this.tooltipAlignment, tooltipTheme: 'light-border', items: this.dropdownItems, \"auto-close\": true }))));\n }\n attachTooltipsToItems(items) {\n if (!items) {\n return [];\n }\n return items.map((item) => item.setTooltip(this.createTooltipFunctionForRepository(item.value)));\n }\n tooltipAlignment(isOpen) {\n if (isOpen) {\n return OntoTooltipPlacement.LEFT;\n }\n return OntoTooltipPlacement.BOTTOM;\n }\n onValueChanged() {\n return (valueChangeEvent) => this.onRepositoryChanged(valueChangeEvent.detail);\n }\n /**\n * Returns an async function that generates HTML tooltip content for the given repository.\n */\n createTooltipFunctionForRepository(repository) {\n return async () => {\n if (!repository) {\n return '';\n }\n const repositorySizeInfo = await this.repositorySizeInfoFetcher(repository);\n return this.buildRepositoryTooltipHtml(repository, repositorySizeInfo);\n };\n }\n /**\n * Builds the complete HTML string used as tooltip content for a repository.\n */\n buildRepositoryTooltipHtml(repository, repositorySizeInfo) {\n let html = `\n <div class=\"repository-tooltip-title\">\n <span class=\"label\">${TranslationService.translate('repository-selector.tooltip.repository')}</span>\n <span class=\"value\">${repository.id}</span>\n </div>\n <div class=\"repository-tooltip-content\">\n <div class=\"repository-tooltip-row\">\n <div class=\"label\">${TranslationService.translate('repository-selector.tooltip.location')}:</div>\n <div class=\"value\">${repository.location ? repository.location : TranslationService.translate('repository-selector.tooltip.local')}</div>\n </div>\n <div class=\"repository-tooltip-row\">\n <div class=\"label\">${TranslationService.translate('repository-selector.tooltip.type')}:</div>\n <div class=\"value\">${TranslationService.translate('repository-selector.tooltip.types.' + (repository.type || 'unknown'))}</div>\n </div>\n <div class=\"repository-tooltip-row\">\n <div class=\"label\">${TranslationService.translate('repository-selector.tooltip.access')}:</div>\n <div class=\"value\">${TranslationService.translate(this.canWriteRepo(repository) ? 'repository-selector.tooltip.accesses.read_write' : 'repository-selector.tooltip.accesses.read')}</div>\n </div>`;\n html += this.buildRepositorySizeInfoHtml(repositorySizeInfo);\n html += '</div>';\n return html;\n }\n /**\n * Builds the repository size section of the tooltip.\n */\n buildRepositorySizeInfoHtml(repositorySizeInfo) {\n if (!repositorySizeInfo || repositorySizeInfo.total < 0) {\n return '';\n }\n let html = `\n <div class=\"repository-tooltip-row total\">\n <div class=\"label\">${TranslationService.translate('repository-selector.tooltip.repository-size.total')}:</div>\n <div class=\"value\">${this.totalTripletsFormatter.format(repositorySizeInfo.total)}</div>\n </div>`;\n if (repositorySizeInfo.explicit >= 0) {\n html += `\n <div class=\"repository-tooltip-row\">\n <div class=\"label\">${TranslationService.translate('repository-selector.tooltip.repository-size.explicit')}:</div>\n <div class=\"value\">${this.totalTripletsFormatter.format(repositorySizeInfo.explicit)}</div>\n </div>`;\n }\n if (repositorySizeInfo.inferred >= 0) {\n html += `\n <div class=\"repository-tooltip-row\">\n <div class=\"label\">${TranslationService.translate('repository-selector.tooltip.repository-size.inferred')}:</div>\n <div class=\"value\">${this.totalTripletsFormatter.format(repositorySizeInfo.inferred)}</div>\n </div>`;\n }\n if (repositorySizeInfo.total >= 0) {\n let value = '-';\n if (repositorySizeInfo.explicit > 0) {\n value = this.totalTripletsFormatter.format(repositorySizeInfo.total / repositorySizeInfo.explicit);\n }\n html += `\n <div class=\"repository-tooltip-row\">\n <div class=\"label\">${TranslationService.translate('repository-selector.tooltip.repository-size.expansion_ratio')}:</div>\n <div class=\"value\">${value}</div>\n </div>`;\n }\n return html;\n }\n subscribeToTranslationChanged() {\n return [\n TranslationService.onTranslate('repository-selector.btn.toggle', [], (toggleButtonName) => {\n this.defaultToggleButtonName = toggleButtonName;\n }),\n TranslationService.onTranslate('repository-selector.btn.no_repositories', [], (noRepositoriesButtonMessage) => {\n this.noRepositoriesButtonMessage = noRepositoriesButtonMessage;\n })\n ];\n }\n onRepositoryChanged(selectedRepository) {\n this.repositoryContextService.updateSelectedRepository(selectedRepository);\n }\n getLocation() {\n var _a;\n if (!((_a = this.currentRepository) === null || _a === void 0 ? void 0 : _a.location)) {\n return '';\n }\n return `@${UriUtil.shortenIri(this.currentRepository.location)}`;\n }\n getButtonLabel() {\n var _a;\n return ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length)\n ? this.defaultToggleButtonName\n : this.noRepositoriesButtonMessage;\n }\n static get watchers() { return {\n \"items\": [\"onItemsChanged\"]\n }; }\n};\nOntoRepositorySelector.style = ontoRepositorySelectorCss;\n\nconst ontoSearchIconCss = \".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)}\";\n\nconst OntoSearchIcon = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.tooltipKey = 'rdf_search.labels.search';\n this.subscriptions = new SubscriptionList();\n }\n // ========================\n // Lifecycle methods\n // ========================\n connectedCallback() {\n this.onTooltipChange();\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n render() {\n return (h(\"i\", { key: 'b87075f89ce2ee1f85d5ed1bd0d69c1f9f310b88', \"tooltip-content\": this.tooltipLabel, \"tooltip-placement\": OntoTooltipPlacement.BOTTOM, class: \"onto-search-icon fa-light fa-magnifying-glass\" }));\n }\n onTooltipChange() {\n this.subscriptions.add(TranslationService.onTranslate(this.tooltipKey, [], (translation) => this.tooltipLabel = translation));\n }\n};\nOntoSearchIcon.style = ontoSearchIconCss;\n\nconst ontoSearchResourceInputCss = \".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))}\";\n\nconst OntoSearchResourceInput = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.autocompleteService = ServiceProvider.get(AutocompleteService);\n this.autocompleteContextService = ServiceProvider.get(AutocompleteContextService);\n this.autocompleteStorageService = ServiceProvider.get(AutocompleteStorageService);\n this.resourceSearchStorageService = ServiceProvider.get(ResourceSearchStorageService);\n this.toastrService = ServiceProvider.get(OntoToastrService);\n this.eventService = ServiceProvider.get(EventService);\n this.namespaceContextService = ServiceProvider.get(NamespacesContextService);\n this.subscriptions = new SubscriptionList();\n this.autocompleteWarningShown = false;\n /** Whether the rdf resource pre-search validation should be skipped. */\n this.skipValidation = false;\n /**\n * Whether the search component is currently hidden. Can be shown/hidden in the RDF search\n */\n this.isHidden = false;\n /**\n * Whether the autocomplete setting is enabled.\n */\n this.isAutocompleteEnabled = false;\n /**\n * Updates the local inputValue with the html input element's value.'\n */\n this.handleInput = (event) => {\n const target = event.target;\n if (!target.value) {\n this.clearInput();\n return;\n }\n this.setInputValue(target.value);\n this.checkForAutocomplete();\n };\n /**\n * Clears the search input field.\n */\n this.clearInput = () => {\n this.setInputValue('');\n if (this.preserveSearch) {\n this.resourceSearchStorageService.clearStoredSearch();\n }\n };\n this.onKeyDown = (event) => {\n switch (event.key) {\n case 'Enter':\n this.onEnter(event);\n break;\n case 'Escape':\n this.onEscape();\n break;\n case 'ArrowUp':\n this.onArrowUp(event);\n break;\n case 'ArrowDown':\n this.onArrowDown(event);\n break;\n }\n };\n }\n onVisibilityChange(isHidden) {\n var _a;\n if (isHidden) {\n (_a = this.searchResult) === null || _a === void 0 ? void 0 : _a.clearSuggestions();\n }\n else {\n this.setInputValue(this.resourceSearchStorageService.getInputValue());\n }\n }\n connectedCallback() {\n this.onAutocompleteEnabledChange();\n this.onNamespaceChange();\n this.loadInputFromStorage();\n }\n disconnectedCallback() {\n this.subscriptions.unsubscribeAll();\n }\n render() {\n var _a, _b, _c;\n return (h(\"section\", { key: '62cc53dd259de23a622c5403e245cd184bbed457', class: \"search-resources-input\" }, h(\"div\", { key: '1f01096b931e6b00d11a589469e2c0d6f0a482fa', class: \"input-row\" }, h(\"span\", { key: '69d07343236d427e97c152113c2298a877d51d92', class: \"input-wrapper\" }, h(\"input\", { key: '0ec0f300079485b4f914bd119bd8e7589ae82434', value: this.inputValue, id: this.context, type: \"text\", autocomplete: \"off\", placeholder: `${TranslationService.translate('rdf_search.labels.search')}...`, ref: (ref) => this.inputRef = ref, onKeyDown: this.onKeyDown, \"data-test\": this.context, onInput: this.handleInput }), ((_a = this.inputValue) === null || _a === void 0 ? void 0 : _a.length) ?\n h(\"i\", { onClick: this.clearInput, \"tooltip-content\": TranslationService.translate('rdf_search.tooltips.clear'), \"tooltip-placement\": OntoTooltipPlacement.BOTTOM, class: \"fa-light fa-xmark clear-input\" }) : ''), (_b = this.buttonConfig) === null || _b === void 0 ? void 0 :\n _b.getButtons().getItems().map((button) => (h(\"button\", { key: button.label, onClick: this.handleButtonClick(button), class: `${button.selected ? 'selected' : ''}` }, button.label)))), h(\"span\", { key: '1a7d99dea661767b08c2303f657f7747ba682bb6', class: \"hint\" }, TranslationService.translate('rdf_search.labels.hint')), h(\"section\", { key: 'aeeca649489ee2e1436a365f80e34daf577c7f30', class: \"autocomplete-results-wrapper\", \"data-test\": 'onto-autocomplete-results' }, (_c = this.searchResult) === null || _c === void 0 ? void 0 : _c.getSuggestions().getItems().map((suggestion) => (h(\"p\", { key: suggestion.getId(), onClick: this.onSuggestionClick(suggestion), \"data-test\": 'onto-autocomplete-suggestion', onMouseMove: this.hoverSuggestion(suggestion), class: `${suggestion.isHovered() ? 'hovered' : ''} ${suggestion.isSelected() ? 'selected' : ''}`, innerHTML: suggestion.getDescription() }))))));\n }\n /**\n * Handles the click event for a search button.\n * If the button configuration is set to radio mode and the clicked button is not selected,\n * it deselects all other buttons and selects the clicked one.\n * @param {SearchButton} button - The button that was clicked.\n */\n handleButtonClick(button) {\n return () => this.buttonConfig = this.buttonConfig.selectButton(button);\n }\n loadAutocompleteResults() {\n var _a;\n if (!this.inputValue) {\n (_a = this.searchResult) === null || _a === void 0 ? void 0 : _a.clearSuggestions();\n return;\n }\n if (this.isAutocompleteEnabled) {\n this.autocompleteService.search(this.inputValue)\n .then((searchResult) => {\n this.onResultsReceived(searchResult);\n });\n }\n }\n hoverSuggestion(suggestion) {\n return () => this.searchResult = this.searchResult.hoverSuggestion(suggestion);\n }\n onAutocompleteEnabledChange() {\n this.isAutocompleteEnabled = this.autocompleteStorageService.isEnabled();\n this.subscriptions.add(this.autocompleteContextService.onAutocompleteEnabledChanged((enabled) => {\n this.isAutocompleteEnabled = enabled !== null && enabled !== void 0 ? enabled : this.isAutocompleteEnabled;\n }));\n }\n checkForAutocomplete() {\n if (this.inputValue.length > 0 && !this.isAutocompleteEnabled && !this.autocompleteWarningShown) {\n this.autocompleteWarningShown = true;\n const message = TranslationService.translate('rdf_search.toasts.autocomplete_is_off');\n this.toastrService.warning(`<a class=\"no-underline\" style=\"font-weight: 500\">${message}</a>`, {\n onClick: navigateTo('autocomplete'),\n removeOnClick: true\n });\n }\n }\n onSuggestionClick(suggestion) {\n return (event) => {\n suggestion.setOverrideToVisual(event.ctrlKey || event.metaKey);\n this.searchRdfResource(suggestion);\n };\n }\n searchRdfResource(suggestion) {\n if (suggestion.getType() === SuggestionType.PREFIX) {\n this.expandPrefix(suggestion);\n }\n else {\n this.notifyRdfResourceSelected(suggestion);\n if (this.preserveSearch) {\n this.resourceSearchStorageService.setLastSelected(suggestion);\n }\n }\n }\n notifyRdfResourceSelected(suggestion) {\n var _a;\n this.searchResult = (_a = this.searchResult) === null || _a === void 0 ? void 0 : _a.selectSuggestion(suggestion);\n this.eventService.emit({\n NAME: ResourceSearchConstants.SUGGESTION_SELECTED_EVENT,\n payload: new SuggestionSelectedPayload(suggestion, this.context)\n });\n }\n expandPrefix(suggestion) {\n this.setInputValue(this.namespaces.getByPrefix(suggestion.getValue()));\n this.inputRef.focus();\n }\n setInputValue(value) {\n this.inputValue = value;\n if (this.preserveSearch) {\n this.resourceSearchStorageService.setInputValue(this.inputValue);\n }\n this.loadAutocompleteResults();\n }\n onNamespaceChange() {\n this.subscriptions.add(this.namespaceContextService.onNamespacesChanged((namespaces) => {\n this.namespaces = namespaces;\n }));\n }\n onEnter(event) {\n var _a;\n let selectedSuggestion = (_a = this.searchResult) === null || _a === void 0 ? void 0 : _a.getHoveredSuggestion();\n if (!selectedSuggestion) {\n selectedSuggestion = new Suggestion({\n value: UriUtil.removeAngleBrackets(this.inputValue),\n type: SuggestionType.URI\n });\n }\n selectedSuggestion.setOverrideToVisual(event.ctrlKey || event.metaKey);\n this.validateAndSearch(selectedSuggestion);\n }\n onArrowUp(event) {\n this.searchResult = this.searchResult.hoverPreviousSuggestion();\n this.displaySuggestion(event);\n }\n onArrowDown(event) {\n this.searchResult = this.searchResult.hoverNextSuggestion();\n this.displaySuggestion(event);\n }\n displaySuggestion(event) {\n event.preventDefault();\n // Update the input directly, because the value should only be displayed,\n // without triggering a new search and altering the autocomplete results\n this.inputRef.value = this.searchResult.getHoveredSuggestion().getValue();\n this.scrollToSuggestionBySelector('p.hovered');\n }\n getSuggestionValue(suggestion) {\n return suggestion.getType() === SuggestionType.PREFIX\n ? this.namespaces.getByPrefix(suggestion.getValue())\n : suggestion.getValue();\n }\n scrollToSuggestionBySelector(selector, options) {\n HtmlUtil.waitForElement(selector)\n .then(() => {\n HtmlUtil.scrollElementIntoView(selector, options);\n });\n }\n validateAndSearch(suggestion) {\n if (!this.skipValidation) {\n if (!suggestion.getValue()) {\n this.toastrService.error(TranslationService.translate('rdf_search.toasts.empty_input'));\n return;\n }\n if (!UriUtil.isValidUri(this.getSuggestionValue(suggestion))) {\n this.toastrService.error(TranslationService.translate('rdf_search.toasts.invalid_uri'));\n return;\n }\n }\n this.searchRdfResource(suggestion);\n }\n onEscape() {\n if (this.preserveSearch) {\n return;\n }\n this.clearInput();\n }\n loadInputFromStorage() {\n if (!this.preserveSearch) {\n return;\n }\n this.inputValue = this.resourceSearchStorageService.getInputValue() || '';\n }\n onResultsReceived(searchResult) {\n const lastSelected = searchResult === null || searchResult === void 0 ? void 0 : searchResult.getByValue(this.resourceSearchStorageService.getLastSelectedValue());\n if (lastSelected && this.preserveSearch) {\n // No need to reassign twice in the same thread tick. One will trigger the re-render\n searchResult.hoverSuggestion(lastSelected);\n this.searchResult = searchResult.selectSuggestion(lastSelected);\n this.scrollToSuggestionBySelector('p.hovered.selected', { block: 'start' });\n }\n else {\n this.searchResult = searchResult.hoverFirstSuggestion();\n this.scrollToSuggestionBySelector('p.hovered', { block: 'start' });\n }\n }\n static get watchers() { return {\n \"isHidden\": [\"onVisibilityChange\"]\n }; }\n};\nOntoSearchResourceInput.style = ontoSearchResourceInputCss;\n\nconst ontoUserLoginCss = \":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}\";\n\nconst OntoUserLogin = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n }\n render() {\n return (h(\"section\", { key: '198e55a469a059b1b9490c873987146c8c5f55a1', class: \"onto-user-login\" }, h(\"button\", { key: '62f71975b0ca66cac4a4e8f7c0ad471508ce5dd1', onClick: navigateTo('login') }, h(\"i\", { key: 'c2711165fb384549d9b0bb0688cea1045ee1abc5', class: \"icon-arrow-right\" }), h(\"translate-label\", { key: '970c168cc460c416d9c0c50e93885bf5e8da8c12', class: \"user-login-label\", labelKey: \"user_menu.login\" }))));\n }\n};\nOntoUserLogin.style = ontoUserLoginCss;\n\nconst ontoUserMenuCss = \":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)}\";\n\nconst OntoUserMenu = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * Log out the current user.\n */\n this.logout = () => {\n ServiceProvider.get(AuthenticationService).logout();\n };\n /**\n * Toggles the dropdown menu's open state.\n *\n * @returns A function that toggles the `isOpen` state between true and false.\n */\n this.toggleDropdown = () => {\n this.isOpen = !this.isOpen;\n };\n /**\n * Closes the dropdown if the user clicks outside the component.\n */\n this.handleOutsideClick = (event) => {\n if (this.isOpen && !this.hostElement.contains(event.target)) {\n this.isOpen = false;\n }\n };\n }\n connectedCallback() {\n document.addEventListener('click', this.handleOutsideClick);\n }\n disconnectedCallback() {\n document.removeEventListener('click', this.handleOutsideClick);\n }\n render() {\n var _a;\n return (h(\"section\", { key: '9af009c793910f1b3e649e8dc8caa5ee0ef453f4', class: 'onto-user-menu' }, h(\"div\", { key: '57d6117855907c7448e2c11ea42c226ef15d218a', class: 'dropdown-toggle-wrapper', onClick: this.toggleDropdown }, h(\"button\", { key: '30e36c837726d768dbf62d564a6307df3e2244eb', class: `${this.isOpen ? 'open' : ''}` }, h(\"i\", { key: 'a8c1de5c3aa4ef5e018710ed26e2bab25701400e', class: 'fa-solid fa-user' }), h(\"span\", { key: '0be9deb90e4a63116d0464fef29a8d0ec1b9fbcf', class: 'username' }, this.user.username), h(\"i\", { key: '7e18b21b67075714cf636d113683bcc3dbdb0daa', class: `fa-light fa-angle-down ${this.isOpen ? 'fa-rotate-180' : ''}` })), this.isOpen ?\n h(\"section\", { class: 'onto-user-menu-dropdown' }, h(\"translate-label\", { onClick: navigateTo('settings'), labelKey: 'user_menu.my_settings' }), !((_a = this.securityConfig) === null || _a === void 0 ? void 0 : _a.hasExternalAuthUser) ?\n h(\"translate-label\", { onClick: this.logout, labelKey: 'user_menu.logout' }) : '') : '')));\n }\n get hostElement() { return getElement(this); }\n};\nOntoUserMenu.style = ontoUserMenuCss;\n\nexport { OntoLanguageSelector as onto_language_selector, OntoLicenseAlert as onto_license_alert, OntoOperationsNotification as onto_operations_notification, OntoRdfSearch as onto_rdf_search, OntoRepositorySelector as onto_repository_selector, OntoSearchIcon as onto_search_icon, OntoSearchResourceInput as onto_search_resource_input, OntoUserLogin as onto_user_login, OntoUserMenu as onto_user_menu };\n","/**\n * Model that holds a dropdown item configuration.\n */\nclass DropdownItem {\n constructor() {\n /**\n * Specifies the events that trigger the dropdown item tooltip to appear. Multiple event names should be separated by spaces.\n */\n this._dropdownTooltipTrigger = 'manual';\n }\n get name() {\n return this._name;\n }\n setName(value) {\n this._name = value;\n return this;\n }\n get nameLabelKey() {\n return this._nameLabelKey;\n }\n setNameLabelKey(value) {\n this._nameLabelKey = value;\n return this;\n }\n get tooltip() {\n return this._tooltip;\n }\n setTooltip(value) {\n this._tooltip = value;\n return this;\n }\n get tooltipLabelKey() {\n return this._tooltipLabelKey;\n }\n setTooltipLabelKey(value) {\n this._tooltipLabelKey = value;\n return this;\n }\n get iconClass() {\n return this._iconClass;\n }\n setIconClass(value) {\n this._iconClass = value;\n return this;\n }\n get value() {\n return this._value;\n }\n setValue(value) {\n this._value = value;\n return this;\n }\n get dropdownTooltipTrigger() {\n return this._dropdownTooltipTrigger;\n }\n setDropdownTooltipTrigger(value) {\n this._dropdownTooltipTrigger = value;\n return this;\n }\n get cssClass() {\n return this._cssClass;\n }\n setCssClass(value) {\n this._cssClass = value;\n return this;\n }\n get guideSelector() {\n return this._guideSelector;\n }\n setGuideSelector(value) {\n this._guideSelector = value;\n return this;\n }\n}\n\nvar ResourceSearchConstants;\n(function (ResourceSearchConstants) {\n ResourceSearchConstants[\"SUGGESTION_SELECTED_EVENT\"] = \"suggestion-selected-event\";\n ResourceSearchConstants[\"TABLE_VIEW\"] = \"table\";\n ResourceSearchConstants[\"VISUAL_VIEW\"] = \"visual\";\n ResourceSearchConstants[\"RDF_SEARCH_ICON_CLICKED\"] = \"rdfSearchIconClicked\";\n})(ResourceSearchConstants || (ResourceSearchConstants = {}));\n\nexport { DropdownItem as D, ResourceSearchConstants as R };\n"],"names":["DropdownItemAlignment","OntoTooltipPlacement","sanitizeHTML","html","element","document","createElement","innerHTML","value","LoggerProvider","logger","Loggers","getLoggerInstance","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","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","length","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","forEach","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy","TranslationService","INTERACTIVE_ELEMENTS_SELECTOR","HtmlUtil","setDocumentBodyOverflow","newOverflow","oldOverflow","body","style","overflow","hideDocumentBodyOverflow","focusNextElement","parentElement","activeElementSelector","focusableElements","Array","from","querySelectorAll","currentIndex","activeElement","nextActiveElement","focus","focusPreviousElement","previousActiveElement","preventLeavingDialog","hostElement","ev","preventDefault","shiftKey","focusElement","selector","querySelector","scrollElementIntoView","elementSelector","options","block","scrollIntoView","waitForElement","Promise","resolve","reject","MutationObserver","disconnect","error","observe","subtree","childList","attributes","OntoLanguageSelector","hostRef","registerInstance","languageService","LanguageService","items","dropdownAlignment","LEFT","connectedCallback","onLanguageChangeSubscription","onSelectedLanguageChanged","newLanguage","changeLanguage","getLanguageDropdownOptions","disconnectedCallback","render","_a","_b","h","Host","class","onValueChanged","valueChangeHandler","dropdownButtonNameLabelKey","currentLanguage","undefined","dropdownButtonName","dropdownButtonTooltipLabelKey","RIGHT","dropdownTooltipTrigger","iconClass","selectedLanguage","getDefaultLanguage","newLanguageEvent","updateSelectedLanguage","detail","getSupportedLanguages","map","locale","DropdownItem","setNameLabelKey","setTooltipLabelKey","setIconClass","setCssClass","setValue","setDropdownTooltipTrigger","OntoLicenseAlert","license","message","BOTTOM","onClick","navigateTo","labelKey","operationGroupToIcon","OperationGroup","BACKUP","QUERY","CLUSTER","IMPORT","operationStatusToWarningClass","OperationStatus","WARNING","INFORMATION","CRITICAL","operationStatusToFadeClass","OntoOperationsNotification","isOpen","toggleDropdown","event","stopPropagation","handleOutsideClick","operationGroups","MapperProvider","OperationGroupSummaryListMapper","mapToModel","activeOperations","toOperationsGroupSummary","status","getItems","groupSummary","id","group","totalOperations","allRunningOperations","operation","target","href","count","el","getElement","OntoRdfSearch","subscriptions","SubscriptionList","eventService","EventService","resourceSearchStorageService","ResourceSearchStorageService","RDF_CONTEXT","redirectUrl","UriUtil","RESOURCE_URL","handleClick","rdfSearchRef","contains","onSuggestionSelected","unsubscribeAll","componentDidRender","focusSearchInput","componentDidLoad","buttonConfig","createButtonConfig","ref","onKeyDown","setIsOpen","preserveSearch","isHidden","context","loadSelectedViewFromStorage","SearchButtonConfig","isRadio","buttons","createSearchButton","ResourceSearchConstants","TABLE_VIEW","setSelectedView","VISUAL_VIEW","GRAPHS_VISUALIZATIONS_URL","selected","SearchButton","label","add","subscribe","SUGGESTION_SELECTED_EVENT","payload","getContext","getSuggestion","getOverrideToVisual","openInNewTab","createAutocompleteRedirect","getValue","selectedView","getSelectedView","selectedButton","getButtons","find","button","selectButton","RepositorySelection","repository","defaultToggleButtonName","location","className","type","OntoRepositorySelector","repositoryContextService","RepositoryContextService","onItemsChanged","newItems","dropdownItems","attachTooltipsToItems","subscribeToTranslationChanged","subscription","repositorySelection","currentRepository","getButtonLabel","getLocation","assign","dropdownButtonTooltip","createTooltipFunctionForRepository","tooltipPlacement","tooltipAlignment","tooltipTheme","item","setTooltip","valueChangeEvent","onRepositoryChanged","async","repositorySizeInfo","repositorySizeInfoFetcher","buildRepositoryTooltipHtml","canWriteRepo","buildRepositorySizeInfoHtml","total","totalTripletsFormatter","format","explicit","inferred","toggleButtonName","noRepositoriesButtonMessage","selectedRepository","updateSelectedRepository","shortenIri","watchers","OntoSearchIcon","tooltipKey","onTooltipChange","tooltipLabel","OntoSearchResourceInput","autocompleteService","AutocompleteService","autocompleteContextService","AutocompleteContextService","autocompleteStorageService","AutocompleteStorageService","toastrService","OntoToastrService","namespaceContextService","NamespacesContextService","autocompleteWarningShown","skipValidation","isAutocompleteEnabled","handleInput","setInputValue","checkForAutocomplete","clearInput","clearStoredSearch","onEnter","onEscape","onArrowUp","onArrowDown","onVisibilityChange","searchResult","clearSuggestions","getInputValue","onAutocompleteEnabledChange","onNamespaceChange","loadInputFromStorage","_c","inputValue","autocomplete","placeholder","inputRef","onInput","handleButtonClick","getSuggestions","suggestion","getId","onSuggestionClick","onMouseMove","hoverSuggestion","isHovered","isSelected","getDescription","loadAutocompleteResults","search","then","onResultsReceived","isEnabled","onAutocompleteEnabledChanged","enabled","warning","removeOnClick","setOverrideToVisual","ctrlKey","metaKey","searchRdfResource","getType","SuggestionType","PREFIX","expandPrefix","notifyRdfResourceSelected","setLastSelected","selectSuggestion","emit","NAME","SuggestionSelectedPayload","namespaces","getByPrefix","onNamespacesChanged","selectedSuggestion","getHoveredSuggestion","Suggestion","removeAngleBrackets","URI","validateAndSearch","hoverPreviousSuggestion","displaySuggestion","hoverNextSuggestion","scrollToSuggestionBySelector","getSuggestionValue","isValidUri","lastSelected","getByValue","getLastSelectedValue","hoverFirstSuggestion","OntoUserLogin","OntoUserMenu","logout","AuthenticationService","addEventListener","removeEventListener","user","username","securityConfig","hasExternalAuthUser","_dropdownTooltipTrigger","name","_name","setName","nameLabelKey","_nameLabelKey","tooltip","_tooltip","tooltipLabelKey","_tooltipLabelKey","_iconClass","_value","cssClass","_cssClass","guideSelector","_guideSelector","setGuideSelector"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=82293;export const __webpack_ids__=[29428,82293,84727];export const __webpack_modules__={10307:(n,e,t)=>{t.r(e);var o=t(3588);function i(n){return{restrict:"E",scope:{field:"=",form:"=",translationKeyPrefix:"="},templateUrl:"js/angular/core/directives/dynamic-form/templates/form-field-template.html",link:function(n){n.FIELD_TYPE=o.FIELD_TYPE}}}angular.module("graphdb.framework.core.directives.dynamic-form-field",[]).directive("dynamicFormField",i),i.$inject=[]},29428:()=>{angular.module("graphdb.framework.core.directives.multiselect-dropdown",[]).directive("multiselectDropdown",["$translate",function(n){return{restrict:"E",require:"ngModel",scope:{options:"=",dropdownLabel:"=?"},templateUrl:"js/angular/core/directives/multiselect-dropdown/templates/multiselect-dropdown.html",link:function(e,t,o,i){e.isOpen=!1;const r=n=>{t[0].contains(n.target)||e.$apply(()=>{e.isOpen=!1})};e.toggleDropdown=function(){e.isOpen=!e.isOpen},e.toggleSelection=function(n){n.selected=!n.selected,(()=>{const n=e.options.filter(function(n){return n.selected});i.$setViewValue(n)})()},e.getSelectedText=function(){const t=e.options.filter(n=>n.selected);return 0===t.length?e.dropdownLabel||n.instant("common.select"):t.map(n=>n.label).join(", ")},i.$render=function(){angular.isArray(i.$viewValue)&&e.options.forEach(function(n){n.selected=i.$viewValue.some(function(e){return e.value===n.value})})},document.addEventListener("click",r),e.$on("$destroy",()=>{document.removeEventListener("click",r)})}}}])},58334:(n,e,t)=>{t.r(e),t(10307);var o=t(3588),i=t(304);angular.module("graphdb.framework.core.directives.dynamic-form",["graphdb.framework.core.directives.dynamic-form-field"]).directive("dynamicForm",a),a.$inject=[];const r=i.LoggerProvider.logger;function a(){return{restrict:"E",scope:{formModel:"=",showAllFields:"=?",onValidityChange:"&?",formCtrl:"=?",translationKeyPrefix:"@?"},templateUrl:"js/angular/core/directives/dynamic-form/templates/dynamic-form.html",link:function(n,e){n.FIELD_TYPE=o.FIELD_TYPE,n.formCtrl=void 0,n.showAllFields=n.showAllFields||!1,(()=>{const t=e.find("form").controller("form");if(!t)return void r.error("Form controller not found!");n.formCtrl=t;const o=t.$setValidity;n.formCtrl.$setValidity=function(e,i,r){o.call(t,e,i,r),n.onValidityChange&&n.onValidityChange({valid:t.$valid})}})()}}}},82293:(n,e,t)=>{function o(n,e,t,o,i,r){n.repositoryId=t.repositoryId,n.endpointConfiguration=t.endpointConfiguration,n.endpointConfigurationSettings=void 0,n.endpointConfigurationSettingsValid=!1,n.loadingEndpointConfigurationSettings=!1,n.savingEndpointSettings=!1,n.showAdvancedSettings=!1,n.ok=()=>{a()},n.cancel=()=>{e.dismiss("cancel")},n.handleValidityChange=e=>{n.endpointConfigurationSettingsValid=e},n.toggleAdvancedSettings=()=>{n.showAdvancedSettings=!n.showAdvancedSettings};const a=()=>{n.savingEndpointSettings=!0;const t=n.endpointConfiguration.toUpdateEndpointRequest(n.endpointConfigurationSettings);r.editEndpointConfiguration(n.repositoryId,n.endpointConfiguration.endpointId,t.getUpdateEndpointSettingsRequest()).then(()=>{e.close(),i.success(o.instant("graphql.endpoints_management.endpoint_configuration_modal.messages.success_saving_configuration"))}).catch(n=>{i.error(getError(n),o.instant("graphql.endpoints_management.endpoint_configuration_modal.messages.error_saving_configuration"))}).finally(()=>{n.savingEndpointSettings=!1})};n.loadingEndpointConfigurationSettings=!0,r.getGraphqlEndpointConfigurationSettings(n.repositoryId,n.endpointConfiguration.endpointId).then(e=>{n.endpointConfigurationSettings=e}).catch(n=>{i.error(getError(n))}).finally(()=>{n.loadingEndpointConfigurationSettings=!1})}t.r(e),t(14874),t(58334),t(29428),angular.module("graphdb.framework.graphql.controllers.graphql-endpoint-configuration-modal",["graphdb.framework.core.services.graphql-service","graphdb.framework.core.directives.dynamic-form","graphdb.framework.core.directives.multiselect-dropdown"]).controller("GraphqlEndpointConfigurationModalController",o),o.$inject=["$scope","$uibModalInstance","data","$translate","toastr","GraphqlService"]}};
|
|
2
|
+
//# sourceMappingURL=82293.5e41c8378272aabf99f6.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"82293.5e41c8378272aabf99f6.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/dynamic-form-field.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/multiselect-dropdown/multiselect-dropdown.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/dynamic-form.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/controllers/graphql-endpoint-configuration-modal.controller.js"],"sourcesContent":["import {FIELD_TYPE} from \"./field-type\";\n\nconst modules = [];\nangular\n .module('graphdb.framework.core.directives.dynamic-form-field', modules)\n .directive('dynamicFormField', dynamicFormFieldDirective);\n\ndynamicFormFieldDirective.$inject = [];\n\nfunction dynamicFormFieldDirective($compile) {\n return {\n restrict: 'E',\n scope: {\n field: '=',\n form: '=',\n translationKeyPrefix: '='\n },\n templateUrl: 'js/angular/core/directives/dynamic-form/templates/form-field-template.html',\n link: function($scope) {\n $scope.FIELD_TYPE = FIELD_TYPE;\n }\n };\n}\n","/**\n * @function multiselectDropdown\n * @description\n * A directive for rendering a multi-select dropdown.\n *\n * This directive displays a list of options with checkboxes that allows users\n * to select multiple items. Each option should be an instance of the\n * SelectOptionsModel, which encapsulates the display label, value,\n * selection state, and any additional data. Clicking the toggle button opens/closes\n * the dropdown; clicking outside the dropdown closes it.\n *\n * @example\n * ### HTML Usage:\n * ```html\n * <multiselect-dropdown\n * ng-model=\"selectedOptions\"\n * options=\"myOptions\"\n * dropdown-label=\"'Choose Items'\">\n * </multiselect-dropdown>\n * ```\n *\n * ### Controller Example:\n * ```javascript\n * angular.module('myApp', [])\n * .controller('ExampleController', function($scope) {\n * $scope.myOptions = [\n * new SelectOptionsModel({ label: 'Option A', value: 'A' }),\n * new SelectOptionsModel({ label: 'Option B', value: 'B' }),\n * new SelectOptionsModel({ label: 'Option C', value: 'C' })\n * ];\n * });\n * ```\n *\n * @param {Array.<SelectOptionsModel>} options - The array of options displayed in the dropdown.\n * @param {string=} [dropdownLabel='Select...'] - (Optional) The placeholder text if no items are selected.\n *\n * @returns {Object} The directive definition object.\n */\nangular.module('graphdb.framework.core.directives.multiselect-dropdown', [])\n .directive('multiselectDropdown', ['$translate', function ($translate) {\n return {\n restrict: 'E',\n require: 'ngModel',\n scope: {\n options: '=',\n dropdownLabel: '=?'\n },\n templateUrl: 'js/angular/core/directives/multiselect-dropdown/templates/multiselect-dropdown.html',\n link: function($scope, element, attrs, ngModel) {\n // =========================\n // Public variables\n // =========================\n $scope.isOpen = false;\n\n // =========================\n // Private methods\n // =========================\n // Close the dropdown if the user clicks outside it.\n const handleDocumentClick = (event) => {\n if (!element[0].contains(event.target)) {\n $scope.$apply(() => {\n $scope.isOpen = false;\n });\n }\n };\n\n const updateModel = () => {\n const selected = $scope.options.filter(function(option) {\n return option.selected;\n });\n ngModel.$setViewValue(selected);\n }\n\n // =========================\n // Public methods\n // =========================\n $scope.toggleDropdown = function () {\n $scope.isOpen = !$scope.isOpen;\n };\n\n /**\n * Toggle the selection state of an option.\n * @param {SelectOptionsModel} option\n */\n $scope.toggleSelection = function (option) {\n option.selected = !option.selected;\n updateModel();\n };\n\n /**\n * Build the display text for the dropdown toggle.\n * Iterates the options and joins the labels of selected options.\n * @returns {string}\n */\n $scope.getSelectedText = function () {\n const selectedOptions = $scope.options.filter((option) => option.selected);\n if (selectedOptions.length === 0) {\n return $scope.dropdownLabel || $translate.instant('common.select');\n }\n return selectedOptions.map((option) => option.label).join(', ');\n };\n\n /**\n * If ngModel provides an initial value, update the corresponding option selections.\n */\n ngModel.$render = function () {\n if (angular.isArray(ngModel.$viewValue)) {\n $scope.options.forEach(function(option) {\n option.selected = ngModel.$viewValue.some(function(selectedOption) {\n return selectedOption.value === option.value;\n });\n });\n }\n };\n\n // =========================\n // Subscriptions\n // =========================\n document.addEventListener('click', handleDocumentClick);\n $scope.$on('$destroy', () => {\n document.removeEventListener('click', handleDocumentClick);\n });\n }\n };\n }]);\n","import 'angular/core/directives/dynamic-form/dynamic-form-field.directive';\nimport {FIELD_TYPE} from \"./field-type\";\nimport {LoggerProvider} from \"../../services/logger-provider\";\n\n/**\n * @function dynamicFormDirective\n * @description\n * A directive for rendering a dynamic form based on an array of field objects.\n *\n * This directive creates a form where each object in the provided formModel defines the type of input to render\n * (for example, text input, checkbox, dropdown, multi-select, or textarea for JSON data). The directive uses the\n * {@link FIELD_TYPE} enum to determine which input type to display. For select and multi-select fields, the\n * {@link SelectMenuOptionsModel} should be used to model the options.\n *\n * Additionally, the directive supports an optional `onValidityChange` callback that will be called whenever the overall\n * validity of the form changes. This is useful for informing a parent component or controller about the current form validity.\n *\n * @example\n * ### HTML Usage:\n * ```html\n * <dynamic-form formModel=\"myFields\" on-validity-change=\"handleValidityChange(valid)\"></dynamic-form>\n * ```\n *\n * @param {Object[]} field - The array of field objects used to render the form fields.\n * @param {string} field[].label - The label displayed for the input.\n * @param {string} field[].type - The type of field input. Should be one of the values defined in {@link FIELD_TYPE}.\n * @param {*} field[].value - The current value of the field.\n * @param {SelectMenuOptionsModel[]} [field[].values] - The array of possible options for select and multi-select fields.\n * @param {(string|RegExp)} [field[].regex] - A regular expression or its string representation for validating the field value.\n * @param {boolean} [field[].required=false] - Indicates whether the field is required.\n *\n * @returns {Object} The directive definition object.\n */\nconst modules = ['graphdb.framework.core.directives.dynamic-form-field'];\nangular\n .module('graphdb.framework.core.directives.dynamic-form', modules)\n .directive('dynamicForm', dynamicFormDirective);\n\ndynamicFormDirective.$inject = [];\n\nconst logger = LoggerProvider.logger;\n\nfunction dynamicFormDirective() {\n return {\n restrict: 'E',\n scope: {\n /**\n * @type {DynamicFormModel}\n */\n formModel: '=',\n /**\n * Controls whether to show all fields or only the ones that are not hidden in the model.\n * @type {boolean}\n */\n showAllFields: '=?',\n onValidityChange: '&?',\n formCtrl: '=?',\n translationKeyPrefix: '@?',\n },\n templateUrl: 'js/angular/core/directives/dynamic-form/templates/dynamic-form.html',\n link: function($scope, element) {\n // =========================\n // Public variables\n // =========================\n $scope.FIELD_TYPE = FIELD_TYPE;\n $scope.formCtrl = undefined;\n $scope.showAllFields = $scope.showAllFields || false;\n\n // =========================\n // Private function\n // =========================\n const init = () => {\n const formElement = element.find('form');\n const formCtrl = formElement.controller('form');\n\n if (!formCtrl) {\n logger.error('Form controller not found!');\n return;\n }\n\n $scope.formCtrl = formCtrl;\n const originalSetValidity = formCtrl.$setValidity;\n $scope.formCtrl.$setValidity = function(validationToken, isValid, modelCtrl) {\n originalSetValidity.call(formCtrl, validationToken, isValid, modelCtrl);\n if ($scope.onValidityChange) {\n $scope.onValidityChange({valid: formCtrl.$valid});\n }\n };\n };\n\n // =========================\n // Initialization\n // =========================\n init();\n },\n };\n}\n\n\n","import '../../core/services/graphql.service';\nimport 'angular/core/directives/dynamic-form/dynamic-form.directive';\nimport 'angular/core/directives/multiselect-dropdown/multiselect-dropdown.directive';\n\nconst modules = [\n 'graphdb.framework.core.services.graphql-service',\n 'graphdb.framework.core.directives.dynamic-form',\n 'graphdb.framework.core.directives.multiselect-dropdown'\n];\n\nangular\n .module('graphdb.framework.graphql.controllers.graphql-endpoint-configuration-modal', modules)\n .controller('GraphqlEndpointConfigurationModalController', GraphqlEndpointConfigurationModalController);\n\nGraphqlEndpointConfigurationModalController.$inject = ['$scope', '$uibModalInstance', 'data', '$translate', 'toastr', 'GraphqlService'];\n\nfunction GraphqlEndpointConfigurationModalController($scope, $uibModalInstance, data, $translate, toastr, GraphqlService) {\n // =========================\n // Private variables\n // =========================\n\n // =========================\n // Public variables\n // =========================\n\n /**\n * The active repository id.\n * @type {string}\n */\n $scope.repositoryId = data.repositoryId;\n\n /**\n * The selected endpoint configuration for which the settings should be updated.\n * @type {GraphqlEndpointInfo|undefined|*}\n */\n $scope.endpointConfiguration = data.endpointConfiguration;\n\n /**\n * The endpoint configuration settings model.\n * @type {GraphqlEndpointConfigurationSettings|undefined}\n */\n $scope.endpointConfigurationSettings = undefined;\n\n /**\n * Flag indicating if the endpoint configuration settings are valid.\n * @type {boolean}\n */\n $scope.endpointConfigurationSettingsValid = false;\n\n /**\n * Flag indicating if the endpoint configuration settings are being loaded.\n * @type {boolean}\n */\n $scope.loadingEndpointConfigurationSettings = false;\n\n /**\n * Flag indicating if the endpoint configuration settings are being saved.\n * @type {boolean}\n */\n $scope.savingEndpointSettings = false;\n\n /**\n * Flag indicating if the advanced settings are visible.\n * @type {boolean}\n */\n $scope.showAdvancedSettings = false;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Handles the save button click event in the dialog.\n */\n $scope.ok = () => {\n save();\n };\n\n /**\n * Cancels the operation and dismisses the modal.\n */\n $scope.cancel = () => {\n $uibModalInstance.dismiss('cancel')\n };\n\n /**\n * Handles the validity change of the endpoint configuration settings form\n * @param {boolean} isValid - The validity of the form.\n */\n $scope.handleValidityChange = (isValid) => {\n $scope.endpointConfigurationSettingsValid = isValid;\n };\n\n /**\n * Toggles the visibility of the advanced settings. Advanced settings are hidden by default.\n */\n $scope.toggleAdvancedSettings = () => {\n $scope.showAdvancedSettings = !$scope.showAdvancedSettings;\n };\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Loads the endpoint configuration settings from the server.\n */\n const loadEndpointConfigurationSettings = () => {\n $scope.loadingEndpointConfigurationSettings = true;\n GraphqlService.getGraphqlEndpointConfigurationSettings($scope.repositoryId, $scope.endpointConfiguration.endpointId)\n .then((endpointConfigurationSettings) => {\n $scope.endpointConfigurationSettings = endpointConfigurationSettings;\n })\n .catch((error) => {\n toastr.error(getError(error));\n })\n .finally(() => {\n $scope.loadingEndpointConfigurationSettings = false;\n });\n }\n\n /**\n * Saves the endpoint configuration settings to the server.\n */\n const save = () => {\n $scope.savingEndpointSettings = true;\n const updateEndpointRequest = $scope.endpointConfiguration.toUpdateEndpointRequest($scope.endpointConfigurationSettings);\n GraphqlService.editEndpointConfiguration($scope.repositoryId, $scope.endpointConfiguration.endpointId, updateEndpointRequest.getUpdateEndpointSettingsRequest())\n .then(() => {\n $uibModalInstance.close();\n toastr.success($translate.instant('graphql.endpoints_management.endpoint_configuration_modal.messages.success_saving_configuration'));\n })\n .catch((error) => {\n toastr.error(getError(error), $translate.instant('graphql.endpoints_management.endpoint_configuration_modal.messages.error_saving_configuration'));\n })\n .finally(() => {\n $scope.savingEndpointSettings = false;\n });\n }\n\n const init = () => {\n loadEndpointConfigurationSettings();\n }\n\n // =========================\n // Initialization\n // =========================\n\n init();\n}\n"],"names":["dynamicFormFieldDirective","$compile","restrict","scope","field","form","translationKeyPrefix","templateUrl","link","$scope","FIELD_TYPE","angular","module","directive","$inject","$translate","require","options","dropdownLabel","element","attrs","ngModel","isOpen","handleDocumentClick","event","contains","target","$apply","toggleDropdown","toggleSelection","option","selected","updateModel","filter","$setViewValue","getSelectedText","selectedOptions","length","instant","map","label","join","$render","isArray","$viewValue","forEach","some","selectedOption","value","document","addEventListener","$on","removeEventListener","dynamicFormDirective","logger","LoggerProvider","formModel","showAllFields","onValidityChange","formCtrl","undefined","init","find","controller","error","originalSetValidity","$setValidity","validationToken","isValid","modelCtrl","call","valid","$valid","GraphqlEndpointConfigurationModalController","$uibModalInstance","data","toastr","GraphqlService","repositoryId","endpointConfiguration","endpointConfigurationSettings","endpointConfigurationSettingsValid","loadingEndpointConfigurationSettings","savingEndpointSettings","showAdvancedSettings","ok","save","cancel","dismiss","handleValidityChange","toggleAdvancedSettings","updateEndpointRequest","toUpdateEndpointRequest","editEndpointConfiguration","endpointId","getUpdateEndpointSettingsRequest","then","close","success","catch","getError","finally","getGraphqlEndpointConfigurationSettings"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const __webpack_id__=82896;export const __webpack_ids__=[868,3632,16014,28379,29646,45149,82896];export const __webpack_modules__={868:(e,t,s)=>{s.r(t),s.d(t,{DynamicFormField:()=>i});class i{_key="";_label="";_type="";_collection=!1;_value;_values;_regex;_required=!1;_group;hidden=!1;constructor(e){this._key=e.key,this._label=e.label,this._type=e.type,this._collection=e.collection,this._value=e.value,this._values=e.values,this._regex="string"==typeof e.regex?new RegExp(e.regex):e.regex,this._required=e.required,this._group=e.group,this.hidden=e.hidden}get key(){return this._key}set key(e){this._key=e}get label(){return this._label}set label(e){this._label=e}get type(){return this._type}set type(e){this._type=e}get collection(){return this._collection}set collection(e){this._collection=e}get value(){return this._value}set value(e){this._value=e}get values(){return this._values}set values(e){this._values=e}get regex(){return this._regex}set regex(e){this._regex="string"==typeof e?new RegExp(e):e}get required(){return this._required}set required(e){this._required=e}get group(){return this._group}set group(e){this._group=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}}},3632:(e,t,s)=>{s.r(t);var i=s(98980);function a(){return{restrict:"E",scope:{options:"=",selected:"=",labels:"="},templateUrl:"js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html",link:function(e){const t=[];e.searchLeft="",e.availableOptions=[],e.selectedOptions=[],e.selectOption=t=>{e.selectedOptions.push(t),e.availableOptions=e.availableOptions.filter(e=>e!==t),s()},e.selectAll=()=>{e.selectedOptions=e.selectedOptions.concat(e.availableOptions),e.availableOptions=[],s()},e.deselectOption=t=>{e.availableOptions.push(t),e.selectedOptions=e.selectedOptions.filter(e=>e!==t),s()},e.deselectAll=()=>{e.availableOptions=e.availableOptions.concat(e.selectedOptions),e.selectedOptions=[],s()};const s=()=>{e.selected=[...e.selectedOptions]};e.$on("$destroy",()=>{t.forEach(e=>e())}),e.selectedOptions=(0,i.cloneDeep)(e.selected),e.selectedOptions.length?e.availableOptions=e.options.filter(t=>!e.selectedOptions.find(e=>e.id===t.id)):e.availableOptions=(0,i.cloneDeep)(e.options)}}}angular.module("graphdb.framework.core.directives.shuttle-multiselect",[]).directive("shuttleMultiselect",a),a.$inject=[]},16014:(e,t,s)=>{s.r(t),s.d(t,{ENDPOINT_GENERATION_STATUS:()=>i,GraphqlEndpointOverview:()=>l,GraphqlEndpointOverviewList:()=>a});const i={NONE:"NONE",SUCCESS:"SUCCESS",ERROR:"ERROR"};class a{_endpointList=[];constructor(e){this._endpointList=e||[]}get endpointList(){return this._endpointList}set endpointList(e){this._endpointList=e}}class l{_label;_uri;_status;constructor(e){this._label=e.label||"",this._uri=e.uri||"",this._status=e.status||i.NONE}get label(){return this._label}set label(e){this._label=e}get uri(){return this._uri}set uri(e){this._uri=e}get status(){return this._status}set status(e){this._status=e}}},28379:(e,t,s)=>{s.r(t),s.d(t,{CONFIG_TYPE:()=>a,GraphqlEndpointConfigurationSettings:()=>l});var i=s(868);const a={STRING:"string",TEXT:"text",BOOLEAN:"boolean",JSON:"json"};class l{_settings;_hasSettings;constructor(e){this._settings=e,this._hasSettings=!!this._settings&&this._settings.models.length>0}toFlatJSON(){const e={},t=t=>{t.collection?e[t.key]=t.value:"select"===t.type?e[t.key]=t.value.value:e[t.key]=t.value};return this._settings.models.forEach(e=>{e instanceof i.DynamicFormField?t(e):[...e.fields,...e.hiddenFields].forEach(t)}),e}get hasSettings(){return this._hasSettings}get settings(){return this._settings}set settings(e){this._settings=e,this._hasSettings=this._settings.models.length>0}}},29646:(e,t,s)=>{s.r(t),s.d(t,{GraphqlSchemaShape:()=>a,GraphqlSchemaShapes:()=>i});class i{_shapes;_size;_isEmpty;constructor(e){this._shapes=e||[],this._size=this.shapes.length,this._isEmpty=0===this.shapes.length}processShapes(e){return this.shapes.map(e)}getShapeIds(){return this.shapes.map(e=>e.id)}get isEmpty(){return this._isEmpty}get size(){return this._size}get shapes(){return this._shapes}set shapes(e){this._shapes=e,this._size=this.shapes.length,this._isEmpty=0===this.shapes.length}toJSON(){return this.shapes.map(e=>e.id)}}class a{_id;_name;_label;_description;constructor(e){this._id=e.id,this._name=e.name,this._label=e.label,this._description=e.description}get id(){return this._id}set id(e){this._id=e}get name(){return this._name}set name(e){this._name=e}get label(){return this._label}set label(e){this._label=e}get description(){return this._description}set description(e){this._description=e}}},32606:(e,t,s)=>{s.r(t),s(3632);var i=s(82854),a=s(32534),l=s(21388);const o=s(304).LoggerProvider.logger;function r(e,t,s,r,n,p,c,h){return{restrict:"E",templateUrl:"js/angular/graphql/templates/step-select-schema-sources.html",scope:{stepDefinition:"="},link:(n,d)=>{const _=[];n.schemaSourceType=l.SchemaSourceType,n.ontologyShaclShapeSource=l.OntologyShaclShapeSource,n.shapesMultiselectLabels={availableOptionsTitle:"graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.title",availableOptionsFilter:"graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.filter_placeholder",selectedOptionsTitle:"graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.title",selectedOptionsCount:"graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.count",selectTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add.tooltip",selectAllLabel:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.label",selectAllTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.tooltip",deselectTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove.tooltip",deselectAllLabel:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.label",deselectAllTooltip:"graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.tooltip"},n.graphsMultiselectLabels={availableOptionsTitle:"graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.title",availableOptionsFilter:"graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.filter_placeholder",selectedOptionsTitle:"graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.title",selectedOptionsCount:"graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.count",selectTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add.tooltip",selectAllLabel:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.label",selectAllTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.tooltip",deselectTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove.tooltip",deselectAllLabel:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.label",deselectAllTooltip:"graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.tooltip"},n.endpointConfiguration=void 0,n.prefixList=[],n.loadingPrefixes=!1,n.graphs=void 0,n.shaclShapeGraphs=void 0,n.graphqlSchemaShapes=void 0,n.allGraphs=void 0,n.loadingGraphs=!1,n.cancel=()=>{const e=s.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title"),i=s.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body");t.openConfirmation(e,i,()=>{p.cancelEndpointCreation()})},n.next=()=>{p.nextEndpointCreationStep()},n.onSchemaSourceTypeChange=()=>{n.endpointConfiguration.schemaSourceType=n.stepDefinition.schemaSourceType,n.endpointConfiguration.generateFromShaclShapes()&&(n.stepDefinition.ontotlogyShaclShapeSource===l.OntologyShaclShapeSource.USE_ALL_GRAPHS?n.endpointConfiguration.selectedGraphs=n.allGraphs:n.stepDefinition.ontotlogyShaclShapeSource===l.OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH?n.endpointConfiguration.selectedGraphs=n.shaclShapeGraphs:n.stepDefinition.ontotlogyShaclShapeSource===l.OntologyShaclShapeSource.PICK_GRAPHS&&(n.endpointConfiguration.selectedGraphs=new i.GraphListOptions))},n.onOntologyShaclShapeSourceChange=()=>{n.endpointConfiguration.owlOrShaclSourceType=n.stepDefinition.ontotlogyShaclShapeSource,n.stepDefinition.ontotlogyShaclShapeSource===l.OntologyShaclShapeSource.USE_ALL_GRAPHS?n.endpointConfiguration.selectedGraphs=n.allGraphs:n.stepDefinition.ontotlogyShaclShapeSource===l.OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH?n.endpointConfiguration.selectedGraphs=n.shaclShapeGraphs:n.stepDefinition.ontotlogyShaclShapeSource===l.OntologyShaclShapeSource.PICK_GRAPHS&&(n.endpointConfiguration.selectedGraphs=new i.GraphListOptions)},n.canProceed=()=>{let e=!1;if(n.endpointConfiguration){const t=n.endpointConfiguration.hasSelectedGraphqlSchemaShapes(),s=n.endpointParamsForm.$valid;n.stepDefinition.schemaSourceType===l.SchemaSourceType.GRAPHQL_SCHEMA_SHAPES&&t?e=!0:n.stepDefinition.schemaSourceType===l.SchemaSourceType.SHACL_SHAPES&&s&&(e=n.endpointConfiguration.owlOrShaclSourceType===l.OntologyShaclShapeSource.USE_ALL_GRAPHS||n.endpointConfiguration.hasSelectedGraphs())}return e};const g=t=>{n.loadingData=!0,e.all([(n.loadingPrefixes=!0,c.getPrefixListAsSelectOptions(p.getSourceRepository()).catch(e=>{o.error("Error loading prefixes",e),r.error(getError(e))}).finally(()=>{n.loadingPrefixes=!1})),(n.loadingGraphs=!0,h.getGraphs(p.getSourceRepository()).catch(e=>{o.error("Error loading graphs",e),r.error(getError(e))}).finally(()=>{n.loadingGraphs=!1})),c.getGraphqlSchemaShapes(p.getSourceRepository()).catch(e=>{o.error("Error loading GraphQL schema shapes",e),r.error(getError(e))}),c.getShaclShapeGraphs(p.getSourceRepository()).catch(e=>{o.error("Error loading SHACL shape graphs",e),r.error(getError(e))})]).then(([e,s,a,l])=>{n.graphqlSchemaShapes=a,n.graphs=s,n.shaclShapeGraphs=l,n.allGraphs=new i.GraphListOptions([...s.graphList,...l.graphList]),n.prefixList=e,n.endpointConfiguration=t}).finally(()=>{n.loadingData=!1})},u=()=>{g(p.getNewEndpoint())},S=()=>{_.forEach(e=>e())};(()=>{n.$on("$destroy",S),_.push(p.subscribe(a.GraphqlEventName.SOURCE_REPOSITORY_UPDATED,u));const e=p.getNewEndpoint();e?g(e):_.push(p.onEndpointConfigCreated(g))})()}}}angular.module("graphdb.framework.graphql.directives.select-schema-sources",["graphdb.framework.core.directives.shuttle-multiselect"]).directive("selectSchemaSources",r),r.$inject=["$q","ModalService","$translate","toastr","$repositories","GraphqlContextService","GraphqlService","RDF4JRepositoriesService"]}};
|
|
2
|
+
//# sourceMappingURL=82896.4787d205b19befaf263a.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"82896.4787d205b19befaf263a.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/dynamic-form/dynamic-form-field.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/shuttle-multiselect/shuttle-multiselect.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-endpoint-overview-list.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-endpoint-configuration-setting.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-schema-shapes.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/directives/select-schema-sources.directive.js"],"sourcesContent":["/**\n * A model representing a dynamic form field used by the dynamic form component.\n */\nexport class DynamicFormField {\n /**\n * The unique key of the setting.\n * @type {string}\n * @private\n */\n _key = '';\n /**\n * The label displayed for the setting.\n * @type {string}\n * @private\n */\n _label = '';\n /**\n * The type of the field (e.g., string, boolean, select, etc.).\n * @type {string}\n * @private\n */\n _type = '';\n /**\n * Whether the value is a collection.\n * @type {boolean}\n * @private\n */\n _collection = false;\n /**\n * The current value of the setting.\n * @private\n */\n _value;\n /**\n * The possible values (used for select-type fields).\n * @private\n */\n _values;\n /**\n * A regular expression or its string representation for validating the value.\n * @private\n */\n _regex;\n /**\n * Whether the field is required.\n * @type {boolean}\n * @private\n */\n _required = false;\n /**\n * The group of the setting. Used for grouping settings in the form.\n * @private\n */\n _group;\n /**\n * Whether the setting is hidden.\n * @type {boolean}\n */\n hidden = false;\n\n /**\n * Creates an instance of GraphqlEndpointConfigurationSetting.\n * @param {Object} options - The setting options.\n */\n constructor(options) {\n this._key = options.key;\n this._label = options.label;\n this._type = options.type;\n this._collection = options.collection;\n this._value = options.value;\n this._values = options.values;\n this._regex = typeof options.regex === 'string' ? new RegExp(options.regex) : options.regex;\n this._required = options.required;\n this._group = options.group;\n this.hidden = options.hidden;\n }\n\n get key() {\n return this._key;\n }\n\n set key(value) {\n this._key = value;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get type() {\n return this._type;\n }\n\n set type(value) {\n this._type = value;\n }\n\n get collection() {\n return this._collection;\n }\n\n set collection(value) {\n this._collection = value;\n }\n\n get value() {\n return this._value;\n }\n\n set value(value) {\n this._value = value;\n }\n\n get values() {\n return this._values;\n }\n\n set values(value) {\n this._values = value;\n }\n\n get regex() {\n return this._regex;\n }\n\n set regex(value) {\n this._regex = typeof value === 'string' ? new RegExp(value) : value;\n }\n\n get required() {\n return this._required;\n }\n\n set required(value) {\n this._required = value;\n }\n\n get group() {\n return this._group;\n }\n\n set group(value) {\n this._group = value;\n }\n\n get hidden() {\n return this._hidden;\n }\n\n set hidden(value) {\n this._hidden = value;\n }\n}\n","import {cloneDeep} from \"lodash\";\n\nangular\n .module('graphdb.framework.core.directives.shuttle-multiselect', [])\n .directive('shuttleMultiselect', ShuttleMultiselect);\n\nShuttleMultiselect.$inject = [];\n\nfunction ShuttleMultiselect() {\n return {\n restrict: 'E',\n scope: {\n /**\n * The list of options to be displayed in the shuttle.\n * @type {{label: string, id: string}[]}\n */\n options: '=',\n /**\n * The list of selected options.\n * @type {{label: string, id: string}[]}\n */\n selected: '=',\n /**\n * availableOptionsTitle\n * availableOptionsFilter\n * selectedOptionsTitle\n * selectedOptionsCount\n * selectTooltip\n * selectAllLabel\n * selectAllTooltip\n * deselectTooltip\n * deselectAllLabel\n * deselectAllTooltip\n */\n labels: '='\n },\n templateUrl: 'js/angular/core/directives/shuttle-multiselect/templates/shuttle-multiselect.html',\n link: function ($scope) {\n\n // =========================\n // Private variables\n // =========================\n\n const subscriptions = [];\n\n // =========================\n // Public variables\n // =========================\n\n $scope.searchLeft = '';\n $scope.availableOptions = [];\n $scope.selectedOptions = [];\n\n // =========================\n // Public functions\n // =========================\n\n $scope.selectOption = (option) => {\n $scope.selectedOptions.push(option);\n $scope.availableOptions = $scope.availableOptions.filter((opt) => opt !== option);\n updateSelected();\n };\n\n $scope.selectAll = () => {\n $scope.selectedOptions = $scope.selectedOptions.concat($scope.availableOptions);\n $scope.availableOptions = [];\n updateSelected();\n };\n\n $scope.deselectOption = (option) => {\n $scope.availableOptions.push(option);\n $scope.selectedOptions = $scope.selectedOptions.filter((opt) => opt !== option);\n updateSelected();\n };\n\n $scope.deselectAll = () => {\n $scope.availableOptions = $scope.availableOptions.concat($scope.selectedOptions);\n $scope.selectedOptions = [];\n updateSelected();\n };\n\n // =========================\n // Private functions\n // =========================\n\n const updateSelected = () => {\n $scope.selected = [...$scope.selectedOptions];\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n const removeAllSubscribers = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n // Deregister the watcher when the scope/directive is destroyed\n $scope.$on('$destroy', removeAllSubscribers);\n\n const onInit = () => {\n $scope.selectedOptions = cloneDeep($scope.selected);\n // If there are selected options, filter them out from the available options\n if ($scope.selectedOptions.length) {\n $scope.availableOptions = $scope.options\n .filter(\n (option) => !$scope.selectedOptions\n .find((selectedOption) => selectedOption.id === option.id));\n } else {\n $scope.availableOptions = cloneDeep($scope.options);\n }\n }\n onInit();\n }\n };\n}\n","export const ENDPOINT_GENERATION_STATUS = {\n NONE: 'NONE',\n SUCCESS: 'SUCCESS',\n ERROR: 'ERROR'\n};\n\nexport class GraphqlEndpointOverviewList {\n /**\n * @type {GraphqlEndpointOverview[]}\n * @private\n */\n _endpointList = [];\n\n constructor(data) {\n this._endpointList = data || [];\n }\n\n get endpointList() {\n return this._endpointList;\n }\n\n set endpointList(value) {\n this._endpointList = value;\n }\n}\n\nexport class GraphqlEndpointOverview {\n /**\n * @type {string}\n * @private\n */\n _label;\n\n /**\n * @type {string}\n * @private\n */\n _uri;\n\n /**\n * @type {string}\n * @private\n */\n _status;\n\n constructor(data) {\n this._label = data.label || '';\n this._uri = data.uri || '';\n this._status = data.status || ENDPOINT_GENERATION_STATUS.NONE;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get uri() {\n return this._uri;\n }\n\n set uri(value) {\n this._uri = value;\n }\n\n get status() {\n return this._status;\n }\n\n set status(value) {\n this._status = value;\n }\n}\n","import {DynamicFormField} from \"../dynamic-form/dynamic-form-field\";\n\n/**\n * Enum for configuration types.\n * @readonly\n * @enum {string}\n */\nexport const CONFIG_TYPE = {\n STRING: 'string',\n TEXT: 'text',\n BOOLEAN: 'boolean',\n JSON: 'json'\n}\n\nexport class GraphqlEndpointConfigurationSettings {\n /**\n * Endpoint configuration settings model.\n * @type {DynamicFormModel}\n * @private\n */\n _settings;\n\n /**\n * Flag indicating if the settings are present.\n * @private\n */\n _hasSettings;\n\n constructor(data) {\n this._settings = data;\n this._hasSettings = this._settings ? this._settings.models.length > 0 : false;\n }\n\n /**\n * Returns a flat JSON representation of the settings where the keys are the setting keys and the values are the\n * setting values.\n * @returns {Object.<string, *>}\n */\n toFlatJSON() {\n const settings = {};\n\n const processField = (field) => {\n if (field.collection) {\n settings[field.key] = field.value;\n } else if (field.type === 'select') {\n settings[field.key] = field.value.value;\n } else {\n settings[field.key] = field.value;\n }\n // JSON type field value is string, and the backend doesn't expect it to be parsed, so we send it as is\n };\n\n this._settings.models.forEach((model) => {\n if (model instanceof DynamicFormField) {\n processField(model);\n } else {\n // Process both visible and hidden fields\n [...model.fields, ...model.hiddenFields].forEach(processField);\n }\n });\n\n return settings;\n }\n\n get hasSettings() {\n return this._hasSettings;\n }\n\n get settings() {\n return this._settings;\n }\n\n set settings(value) {\n this._settings = value;\n this._hasSettings = this._settings.models.length > 0;\n }\n}\n","export class GraphqlSchemaShapes {\n /**\n * @type {GraphqlSchemaShape[]}\n */\n _shapes;\n /**\n * @type {number}\n * @private\n */\n _size;\n /**\n * @type {boolean}\n * @private\n */\n _isEmpty;\n\n constructor(data) {\n this._shapes = data || [];\n this._size = this.shapes.length;\n this._isEmpty = this.shapes.length === 0;\n }\n\n /**\n * Process the shapes with the given predicate.\n * @param {function} predicate The predicate to apply to each shape.\n * @returns {GraphqlSchemaShape[]}\n */\n processShapes(predicate) {\n return this.shapes.map(predicate);\n }\n\n /**\n * Get the ids of the shapes.\n * @returns {string[]} The ids of the shapes.\n */\n getShapeIds() {\n return this.shapes.map(shape => shape.id);\n }\n\n get isEmpty() {\n return this._isEmpty;\n }\n\n get size() {\n return this._size;\n }\n\n get shapes() {\n return this._shapes;\n }\n\n set shapes(value) {\n this._shapes = value;\n this._size = this.shapes.length;\n this._isEmpty = this.shapes.length === 0;\n }\n\n toJSON() {\n return this.shapes.map(shape => shape.id);\n }\n}\n\nexport class GraphqlSchemaShape {\n /**\n * @type {string}\n */\n _id;\n /**\n * @type {string}\n */\n _name;\n /**\n * @type {string}\n */\n _label;\n /**\n * @type {string}\n */\n _description;\n\n constructor(data) {\n this._id = data.id;\n this._name = data.name;\n this._label = data.label;\n this._description = data.description;\n }\n\n get id() {\n return this._id;\n }\n\n set id(value) {\n this._id = value;\n }\n\n get name() {\n return this._name;\n }\n\n set name(value) {\n this._name = value;\n }\n\n get label() {\n return this._label;\n }\n\n set label(value) {\n this._label = value;\n }\n\n get description() {\n return this._description;\n }\n\n set description(value) {\n this._description = value;\n }\n}\n","import 'angular/core/directives/shuttle-multiselect/shuttle-multiselect.directive';\nimport {GraphListOptions} from \"../../models/graphs/graph-list-options\";\nimport {GraphqlEventName} from \"../services/graphql-context.service\";\nimport {OntologyShaclShapeSource, SchemaSourceType} from \"../../models/graphql/create-endpoint-wizard-steps\";\nimport {LoggerProvider} from \"../../core/services/logger-provider\";\n\nconst logger = LoggerProvider.logger;\n\nconst modules = [\n 'graphdb.framework.core.directives.shuttle-multiselect',\n];\n\nangular\n .module('graphdb.framework.graphql.directives.select-schema-sources', modules)\n .directive('selectSchemaSources', SelectSchemaSourcesComponent);\n\nSelectSchemaSourcesComponent.$inject = ['$q', 'ModalService', '$translate', 'toastr', '$repositories', 'GraphqlContextService', 'GraphqlService', 'RDF4JRepositoriesService'];\n\nfunction SelectSchemaSourcesComponent($q, ModalService, $translate, toastr, $repositories, GraphqlContextService, GraphqlService, RDF4JRepositoriesService) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/graphql/templates/step-select-schema-sources.html',\n scope: {\n stepDefinition: '=',\n },\n link: ($scope, element) => {\n // =========================\n // Private variables\n // =========================\n\n const subscriptions = [];\n\n // =========================\n // Public variables\n // =========================\n\n $scope.schemaSourceType = SchemaSourceType;\n $scope.ontologyShaclShapeSource = OntologyShaclShapeSource;\n\n /**\n * The label keys for the shacl shapes multiselect component.\n */\n $scope.shapesMultiselectLabels = {\n availableOptionsTitle: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.title',\n availableOptionsFilter: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.available_options.filter_placeholder',\n selectedOptionsTitle: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.title',\n selectedOptionsCount: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.selected_options.count',\n selectTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add.tooltip',\n selectAllLabel: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.label',\n selectAllTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.add_all.tooltip',\n deselectTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove.tooltip',\n deselectAllLabel: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.label',\n deselectAllTooltip: 'graphql.create_endpoint.wizard_steps.shapes_multiselect.actions.remove_all.tooltip',\n };\n\n /**\n * The label keys for the graphs multiselect component.\n */\n $scope.graphsMultiselectLabels = {\n availableOptionsTitle: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.title',\n availableOptionsFilter: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.available_options.filter_placeholder',\n selectedOptionsTitle: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.title',\n selectedOptionsCount: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.selected_options.count',\n selectTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add.tooltip',\n selectAllLabel: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.label',\n selectAllTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.add_all.tooltip',\n deselectTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove.tooltip',\n deselectAllLabel: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.label',\n deselectAllTooltip: 'graphql.create_endpoint.wizard_steps.graphs_multiselect.actions.remove_all.tooltip',\n };\n\n /**\n * The endpoint configuration model.\n * @type {GraphqlEndpointConfiguration|undefined}\n */\n $scope.endpointConfiguration = undefined;\n\n /**\n * A list of prefixes available for the endpoint\n * @type {SelectMenuOptionsModel[]}\n */\n $scope.prefixList = [];\n\n /**\n * Flag indicating whether the prefixes are being loaded.\n * @type {boolean}\n */\n $scope.loadingPrefixes = false;\n\n /**\n * The list of graphs in the repository.\n * @type {GraphListOptions|undefined}\n */\n $scope.graphs = undefined;\n\n /**\n * The list of SHACL shape graphs in the repository.\n * @type {GraphListOptions|undefined}\n */\n $scope.shaclShapeGraphs = undefined;\n\n /**\n * The list of GraphQL schema shapes in the repository. The graphql shapes multiselect component uses this\n * list.\n * @type {GraphqlSchemaShapes|undefined}\n */\n $scope.graphqlSchemaShapes = undefined;\n\n /**\n * The list of all graphs in the repository. The graphs multiselect component uses this list.\n * @type {GraphListOptions|undefined}\n */\n $scope.allGraphs = undefined;\n\n /**\n * Flag indicating whether the graphs are being loaded.\n * @type {boolean}\n */\n $scope.loadingGraphs = false;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Handles the termination of the create endpoint wizard.\n */\n $scope.cancel = () => {\n const title = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title');\n const confirmDeleteMessage = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body');\n ModalService.openConfirmation(title, confirmDeleteMessage, () => {\n GraphqlContextService.cancelEndpointCreation();\n });\n };\n\n /**\n * Handles the transition to the next step in the create endpoint wizard.\n */\n $scope.next = () => {\n GraphqlContextService.nextEndpointCreationStep();\n };\n\n /**\n * Handles the switch between schema source types in the UI. Switching schema source types renders different\n * UI components for selecting the schema source and uses different data models.\n */\n $scope.onSchemaSourceTypeChange = () => {\n $scope.endpointConfiguration.schemaSourceType = $scope.stepDefinition.schemaSourceType;\n if ($scope.endpointConfiguration.generateFromShaclShapes()) {\n if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_ALL_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = $scope.allGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH) {\n $scope.endpointConfiguration.selectedGraphs = $scope.shaclShapeGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.PICK_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = new GraphListOptions();\n }\n }\n };\n\n /**\n * Handles the switch between ontology and SHACL shape sources in the UI. Switching between sources changes\n * the list of graphs available for selection.\n */\n $scope.onOntologyShaclShapeSourceChange = () => {\n $scope.endpointConfiguration.owlOrShaclSourceType = $scope.stepDefinition.ontotlogyShaclShapeSource;\n if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_ALL_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = $scope.allGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.USE_SHACL_SHAPE_GRAPH) {\n $scope.endpointConfiguration.selectedGraphs = $scope.shaclShapeGraphs;\n } else if ($scope.stepDefinition.ontotlogyShaclShapeSource === OntologyShaclShapeSource.PICK_GRAPHS) {\n $scope.endpointConfiguration.selectedGraphs = new GraphListOptions();\n }\n };\n\n /**\n * Handles the transition to the next step in the create endpoint wizard.\n * @returns {boolean}\n */\n $scope.canProceed = () => {\n let canProceed = false;\n if ($scope.endpointConfiguration) {\n const hasSelectedShapes = $scope.endpointConfiguration.hasSelectedGraphqlSchemaShapes();\n const hasValidEndpointParameters = $scope.endpointParamsForm.$valid;\n // The first option (radiobutton) allows the user to select graphql shapes.\n if ($scope.stepDefinition.schemaSourceType === SchemaSourceType.GRAPHQL_SCHEMA_SHAPES && hasSelectedShapes) {\n canProceed = true;\n // The second option (radiobutton) allows the user to select graphs: all graphs, shacl shape graph or\n // manually pick graphs.\n // Here the user must also fill in the endpoint parameters form.\n } else if ($scope.stepDefinition.schemaSourceType === SchemaSourceType.SHACL_SHAPES && hasValidEndpointParameters) {\n // In case the user selects all graphs, we don't care how many graphs are there. We use all\n // the data in the repository. Also, it's possible that there are no other graphs in the\n // repository than the default one.\n if ($scope.endpointConfiguration.owlOrShaclSourceType === OntologyShaclShapeSource.USE_ALL_GRAPHS) {\n canProceed = true;\n } else {\n // In all the other cases there must be at least one graph selected.\n canProceed = $scope.endpointConfiguration.hasSelectedGraphs();\n }\n }\n }\n return canProceed;\n };\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Loads prefixes available in the source repository.\n * @returns {Promise<void>}\n */\n const loadPrefixes = () => {\n $scope.loadingPrefixes = true;\n return GraphqlService.getPrefixListAsSelectOptions(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n logger.error('Error loading prefixes', error);\n toastr.error(getError(error));\n })\n .finally(() => {\n $scope.loadingPrefixes = false;\n });\n };\n\n /**\n * Loads all graphs available in the source repository.\n * @returns {Promise<GraphListOptions>}\n */\n const loadAllGraphs = () => {\n $scope.loadingGraphs = true;\n return RDF4JRepositoriesService.getGraphs(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n logger.error('Error loading graphs', error);\n toastr.error(getError(error));\n })\n .finally(() => {\n $scope.loadingGraphs = false;\n });\n };\n\n /**\n * Loads the GraphQL schema shapes from the source repository.\n * @returns {Promise<GraphqlSchemaShapes>}\n */\n const loadGraphqlSchemaShapes = () => {\n return GraphqlService.getGraphqlSchemaShapes(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n logger.error('Error loading GraphQL schema shapes', error);\n toastr.error(getError(error));\n });\n };\n\n /**\n * Loads the SHACL shape graphs from the source repository.\n * @returns {Promise<GraphListOptions>}\n */\n const loadShaclShapeGraphs = () => {\n return GraphqlService.getShaclShapeGraphs(GraphqlContextService.getSourceRepository())\n .catch((error) => {\n logger.error('Error loading SHACL shape graphs', error);\n toastr.error(getError(error));\n });\n };\n\n /**\n * Handles the update of the endpoint configuration model.\n * @param {GraphqlEndpointConfiguration} endpointConfiguration The updated endpoint configuration model.\n */\n const loadData = (endpointConfiguration) => {\n $scope.loadingData = true;\n $q.all([loadPrefixes(), loadAllGraphs(), loadGraphqlSchemaShapes(), loadShaclShapeGraphs()])\n .then(([prefixes, graphs, graphqlShapes, shaclShapeGraphs]) => {\n $scope.graphqlSchemaShapes = graphqlShapes;\n $scope.graphs = graphs;\n $scope.shaclShapeGraphs = shaclShapeGraphs;\n $scope.allGraphs = new GraphListOptions([...graphs.graphList, ...shaclShapeGraphs.graphList]);\n $scope.prefixList = prefixes;\n $scope.endpointConfiguration = endpointConfiguration;\n })\n .finally(() => {\n $scope.loadingData = false;\n });\n };\n\n /**\n * Handles the update of the source repository.\n */\n const onSourceRepositoryUpdated = () => {\n loadData(GraphqlContextService.getNewEndpoint());\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n const onDestroy = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n const subscribeToEvents = () => {\n $scope.$on('$destroy', onDestroy);\n subscriptions.push(GraphqlContextService.subscribe(GraphqlEventName.SOURCE_REPOSITORY_UPDATED, onSourceRepositoryUpdated));\n const newEndpoint = GraphqlContextService.getNewEndpoint();\n if (!newEndpoint) {\n subscriptions.push(GraphqlContextService.onEndpointConfigCreated(loadData));\n } else {\n loadData(newEndpoint);\n }\n };\n\n const onInit = () => {\n subscribeToEvents();\n };\n onInit();\n },\n };\n}\n"],"names":["DynamicFormField","_key","_label","_type","_collection","_value","_values","_regex","_required","_group","hidden","constructor","options","this","key","label","type","collection","value","values","regex","RegExp","required","group","_hidden","ShuttleMultiselect","restrict","scope","selected","labels","templateUrl","link","$scope","subscriptions","searchLeft","availableOptions","selectedOptions","selectOption","option","push","filter","opt","updateSelected","selectAll","concat","deselectOption","deselectAll","$on","removeAllSubscribers","forEach","subscription","cloneDeep","length","find","selectedOption","id","angular","module","directive","$inject","ENDPOINT_GENERATION_STATUS","NONE","SUCCESS","ERROR","GraphqlEndpointOverviewList","_endpointList","data","endpointList","GraphqlEndpointOverview","_uri","_status","uri","status","CONFIG_TYPE","STRING","TEXT","BOOLEAN","JSON","GraphqlEndpointConfigurationSettings","_settings","_hasSettings","models","toFlatJSON","settings","processField","field","model","fields","hiddenFields","hasSettings","GraphqlSchemaShapes","_shapes","_size","_isEmpty","shapes","processShapes","predicate","map","getShapeIds","shape","isEmpty","size","toJSON","GraphqlSchemaShape","_id","_name","_description","name","description","logger","LoggerProvider","SelectSchemaSourcesComponent","$q","ModalService","$translate","toastr","$repositories","GraphqlContextService","GraphqlService","RDF4JRepositoriesService","stepDefinition","element","schemaSourceType","SchemaSourceType","ontologyShaclShapeSource","OntologyShaclShapeSource","shapesMultiselectLabels","availableOptionsTitle","availableOptionsFilter","selectedOptionsTitle","selectedOptionsCount","selectTooltip","selectAllLabel","selectAllTooltip","deselectTooltip","deselectAllLabel","deselectAllTooltip","graphsMultiselectLabels","endpointConfiguration","undefined","prefixList","loadingPrefixes","graphs","shaclShapeGraphs","graphqlSchemaShapes","allGraphs","loadingGraphs","cancel","title","instant","confirmDeleteMessage","openConfirmation","cancelEndpointCreation","next","nextEndpointCreationStep","onSchemaSourceTypeChange","generateFromShaclShapes","ontotlogyShaclShapeSource","USE_ALL_GRAPHS","selectedGraphs","USE_SHACL_SHAPE_GRAPH","PICK_GRAPHS","GraphListOptions","onOntologyShaclShapeSourceChange","owlOrShaclSourceType","canProceed","hasSelectedShapes","hasSelectedGraphqlSchemaShapes","hasValidEndpointParameters","endpointParamsForm","$valid","GRAPHQL_SCHEMA_SHAPES","SHACL_SHAPES","hasSelectedGraphs","loadData","loadingData","all","getPrefixListAsSelectOptions","getSourceRepository","catch","error","getError","finally","getGraphs","getGraphqlSchemaShapes","getShaclShapeGraphs","then","prefixes","graphqlShapes","graphList","onSourceRepositoryUpdated","getNewEndpoint","onDestroy","subscribeToEvents","subscribe","GraphqlEventName","SOURCE_REPOSITORY_UPDATED","newEndpoint","onEndpointConfigCreated"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=82926;export const __webpack_ids__=[82926];export const __webpack_modules__={82926:()=>{function t(){return{link:function(t,e,o){t.$watch("file.status",function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+o.size+'" height="'+o.size+'" data="js/angular/templates/loader/ot-loader.svg?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=82926.
|
|
1
|
+
export const __webpack_id__=82926;export const __webpack_ids__=[82926];export const __webpack_modules__={82926:()=>{function t(){return{link:function(t,e,o){t.$watch("file.status",function(){"IMPORTING"!==t.file.status&&"UPLOADING"!==t.file.status||!$(e).has("object").length>0&&$(e).append('<object width="'+o.size+'" height="'+o.size+'" data="js/angular/templates/loader/ot-loader.svg?v=3.2.0-TR2">{{\'common.loading\' | translate}}</object>')})}}}angular.module("graphdb.framework.import.directives.import-progress-indicator",[]).directive("ImportProgressIndicator",t),t.$inject=[]}};
|
|
2
|
+
//# sourceMappingURL=82926.93a59d42bf8d49aaac8e.bundle.js.map
|
package/dist/{82926.93dbf44f2bcccba34e9b.bundle.js.map → 82926.93a59d42bf8d49aaac8e.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"82926.
|
|
1
|
+
{"version":3,"file":"82926.93a59d42bf8d49aaac8e.bundle.js","mappings":"oHASA,SAASA,IACL,MAAO,CACHC,KAAM,SAAUC,EAAOC,EAASC,GAC5BF,EAAMG,OAAO,cAAe,WACE,cAAtBH,EAAMI,KAAKC,QAAgD,cAAtBL,EAAMI,KAAKC,SAC3CC,EAAEL,GAASM,IAAI,UAAUC,OAAS,GACnCF,EAAEL,GAASQ,OAAO,kBAAoBP,EAAKQ,KAAO,aAAeR,EAAKQ,KAAO,6GAGzF,EACJ,EAER,CAnBAC,QACKC,OAAO,gEAHI,IAIXC,UAAU,0BAA2Bf,GAE1CA,EAAwBgB,QAAU,E","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-progress-indicator.directive.js"],"sourcesContent":["const modules = [];\n\nangular\n .module('graphdb.framework.import.directives.import-progress-indicator', modules)\n .directive('ImportProgressIndicator', ImportProgressIndicator);\n\nImportProgressIndicator.$inject = [];\n\n// importDirectives.directive('filesOntoLoader',\nfunction ImportProgressIndicator() {\n return {\n link: function (scope, element, attr) {\n scope.$watch('file.status', function () {\n if (scope.file.status === 'IMPORTING' || scope.file.status === 'UPLOADING') {\n if (!$(element).has('object').length > 0) {\n $(element).append('<object width=\"' + attr.size + '\" height=\"' + attr.size + '\" data=\"js/angular/templates/loader/ot-loader.svg?v=3.2.0-TR2\">{{\\'common.loading\\' | translate}}</object>');\n }\n }\n });\n }\n };\n}\n"],"names":["ImportProgressIndicator","link","scope","element","attr","$watch","file","status","$","has","length","append","size","angular","module","directive","$inject"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=83136;export const __webpack_ids__=[9717,18025,78618,83136,96248];export const __webpack_modules__={7796:(e,r,o)=>{o.r(r),o.d(r,{TABS:()=>c});var t=o(98980),s=o(28847);const c={USER:"user",SERVER:"server"};function n(e){let r=c.USER,o=[],n=[],a=[],i=!0,u=[];return{updateActiveTabId:function(o){r=o,e.emitSync("activeTabIdUpdated",m())},getActiveTabId:m,onActiveTabIdUpdated:function(r){return e.subscribeSync("activeTabIdUpdated",e=>r(e))},getFiles:R,addFile:function(r){const o=R();o.push(r),d(o),e.emitSync("fileAdded",(0,t.cloneDeep)(r))},updateFiles:d,onFilesUpdated:function(r){return e.subscribeSync("filesUpdated",e=>r(e))},getImportedResources:S,updateImportedResources:function(r){o=r,e.emitSync("importedResourcesUpdated",S()),e.emitSync("resourcesUpdated",I())},onImportedResourcesUpdated:function(r){return e.subscribeSync("importedResourcesUpdated",e=>r(e))},getResources:I,onResourcesUpdated:function(r){return e.subscribeSync("resourcesUpdated",e=>r(e))},updateShowLoader:function(r){i=r,e.emitSync("showLoaderUpdated",l())},getShowLoader:l,onShowLoaderUpdated:function(r){return e.subscribeSync("showLoaderUpdated",e=>r(e))},updateSelectedFilesNames:function(r){u=(0,t.cloneDeep)(r),e.emitSync("selectedFilesNamesUpdated",p())},getSelectedFilesNames:p,onSelectedFilesNamesUpdated:function(r){return e.subscribeSync("selectedFilesNamesUpdated",e=>r(e))},updateResourceForUpload:function(e){const r=y(),o=r.find(({name:r})=>r===e.name);o?Object.assign(o,e):r.push(e),g(r)},getResourceForUpload:function(e){return(0,t.cloneDeep)(n.find(({name:r})=>r===e))},updateResourcesForUpload:g,getResourcesForUpload:y,onResourcesForUploadChanged:function(r){return e.subscribeSync("resourcesForUploadChanged",e=>r(e))}};function p(){return(0,t.cloneDeep)(u)}function l(){return i}function m(){return r}function d(r){a=(0,t.cloneDeep)(r),e.emitSync("filesUpdated",R())}function R(){return(0,t.cloneDeep)(a)}function S(){return(0,t.cloneDeep)(o)||[]}function I(){const e=S();let r=y();const o=[],t=[];return e.forEach(({name:e})=>{const c=r.find(({name:r})=>r===e);c&&(c.status===s.ImportResourceStatus.UPLOADED?o.push(c):t.push(c))}),o.length>0&&(r=r.filter(({name:e})=>!o.some(({name:r})=>r===e)),g(r,!1)),e.filter(({name:e})=>!t.some(r=>e===r)).concat(r)}function g(r,o=!0){n=(0,t.cloneDeep)(r),e.emitSync("resourcesForUploadChanged",y()),o&&e.emitSync("resourcesUpdated",I())}function y(){return(0,t.cloneDeep)(n)||[]}}angular.module("graphdb.framework.import.services.importcontext",[]).factory("ImportContextService",n),n.$inject=["EventEmitterService"]},9717:()=>{function e(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-status-info.html",scope:{resource:"="},link:o=>{const t=[];o.popoverTemplate="resourceStatusInfoTemplate.html",o.popoverIsOpen=!1,o.context=o.resource.importResource.context,o.replaceGraphs=o.resource.importResource.replaceGraphs,o.baseUrl=decodeURIComponent(o.resource.importResource.baseURI),o.forceSerial=o.resource.importResource.forceSerial,o.importedOn=o.resource.importResource.importedOn,o.parserSettings=o.resource.importResource.parserSettings,o.open=()=>{o.closeAllDialogs(),o.popoverIsOpen=!0},o.closeAllDialogs=()=>{e.$broadcast("closePopovers")},o.close=()=>{o.popoverIsOpen=!1};const s=e=>{"Escape"===e.key&&o.$apply(()=>{o.close()})};t.push(o.$on("closePopovers",o.close)),r.on("keydown",s),o.$on("$destroy",()=>{r.off("keydown",s),t.forEach(e=>e())})}}}angular.module("graphdb.framework.import.directives.import-resource-status-info",[]).directive("importResourceStatusInfo",e),e.$inject=["$rootScope","$document"]},18025:(e,r,o)=>{o.r(r),o.d(r,{SortingType:()=>t});const t={NAME:"NAME",SIZE:"SIZE",MODIFIED:"MODIFIED",IMPORTED:"IMPORTED",CONTEXT:"CONTEXT"}},54419:(e,r,o)=>{o.r(r),o(96248);var t=o(28847),s=o(78618);function c(e){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-message.html",scope:{resource:"="},link:r=>{r.ImportResourceStatus=t.ImportResourceStatus,r.toTitleCase=e=>s.toTitleCase(e),r.showMessage=r=>{e.open({templateUrl:"js/angular/import/templates/import-resource-message-dialog.html",controller:"ImportResourceMessageDialogController",size:"lg",windowClass:"import-resource-message-dialog",backdrop:"static",resolve:{message:function(){return r?r.importResource.message:""}}})}}}}angular.module("graphdb.framework.import.directives.import-resource-message",["graphdb.framework.impex.import.controllers.import-resource-message-dialog"]).directive("importResourceMessage",c),c.$inject=["$uibModal"]},78618:(e,r,o)=>{o.r(r),o.d(r,{removeSpecialChars:()=>s,toBoolean:()=>c,toTitleCase:()=>n});var t=o(98980);const s=e=>e.replace(/[()']/g,""),c=e=>"string"==typeof e?"true"===e:Boolean(e),n=e=>e?(0,t.upperFirst)(e.toLowerCase()):e},83136:(e,r,o)=>{o.r(r);var t=o(28847),s=(o(54419),o(9717),o(18025)),c=o(57436),n=o(7796),a=o(56636),i=o(25079);const u={FILE:"FILE",DIRECTORY:"DIRECTORY",ALL:"ALL"},p={ALL:"ALL",NONE:"NONE",IMPORTED:"IMPORTED",NOT_IMPORTED:"NOT_IMPORTED"};function l(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-tree.html",scope:{columnKeys:"=",showTypeFilter:"=",sortBy:"=",asc:"=",onImport:"&",onImportAll:"&",onReset:"&",onRemove:"&",onStopImport:"&",onEditResource:"&"},link:(o,l,m)=>{o.resources=new c.ImportResourceTreeElement,o.displayResources=[],o.TYPE_FILTER_OPTIONS=u,o.filterByType=u.ALL,o.filterByFileName="",o.STATUS_OPTIONS=p,o.selectedByStatus=void 0,o.areAllDisplayedImportResourcesSelected=!1,o.areAllDisplayedImportResourcesPartialSelected=!1,o.ImportResourceStatus=t.ImportResourceStatus,o.canRemoveResource=angular.isDefined(m.onRemove),o.canResetSelectedResources=!1,o.SORTING_TYPES=s.SortingType,o.sortAsc=!angular.isDefined(m.asc)||o.asc,o.sortedBy=o.sortBy,o.showLoader=r.getShowLoader(),o.hasSelection=!1,o.selectionChanged=e=>{e.setSelection(e.selected),I(),d(),S()},o.selectResourceWithStatus=e=>{o.selectedByStatus=e,o.resources.setSelection(!1),p.ALL===o.selectedByStatus?o.resources.setSelection(!0):p.IMPORTED===o.selectedByStatus?o.resources.selectAllWithStatus([t.ImportResourceStatus.DONE]):p.NOT_IMPORTED===o.selectedByStatus&&o.resources.selectAllWithStatus([t.ImportResourceStatus.IMPORTING,t.ImportResourceStatus.NONE,t.ImportResourceStatus.ERROR,t.ImportResourceStatus.PENDING,t.ImportResourceStatus.INTERRUPTING]),R(),d()},o.filterByTypeChanged=e=>{o.filterByType=e,R()},o.filterByFileNameChanged=e=>{o.filterByFileName=e,D(R,100)},o.onResetStatus=()=>{const e=o.resources.getAllSelected().map(e=>e.path);e.length>0&&o.onReset({resources:e})},o.resetStatus=e=>{o.onReset({resources:[e.path]})},o.onRemoveResources=()=>{const e=o.resources.getAllSelected();e&&e.length>0&&o.onRemove({resources:e})},o.removeResource=e=>{o.onRemove({resources:[e]})},o.importAll=e=>{const r=o.resources.getAllSelectedForImport();r.length>0&&o.onImportAll({selectedResources:r,withoutChangingSettings:e})},o.stopImport=e=>{o.onStopImport({resource:e})},o.sort=e=>{o.sortedBy===e?o.sortAsc=!o.sortAsc:o.sortAsc=!0,o.sortedBy=e,R()},o.editResource=e=>{o.onEditResource({resource:e})};const d=()=>{o.canResetSelectedResources=o.resources.getSelectedImportedResources()},R=()=>{o.resources.getRoot().updateSelectionState(),g(),o.displayResources=o.resources.toList().filter(A).filter(v),S(),I()},S=()=>{const e=o.resources.getAllSelectedFilesNames();o.hasSelection=e.length>0,r.updateSelectedFilesNames(e)},I=()=>{const e=o.displayResources.some(e=>!e.selected),r=o.displayResources.some(e=>e.selected);o.areAllDisplayedImportResourcesSelected=r&&!e,o.areAllDisplayedImportResourcesPartialSelected=r&&e},g=()=>{s.SortingType.NAME===o.sortedBy?o.resources.sort(y(o.sortAsc)):s.SortingType.SIZE===o.sortedBy?o.resources.sort(f(o.sortAsc)):s.SortingType.MODIFIED===o.sortedBy?o.resources.sort(T(o.sortAsc)):s.SortingType.IMPORTED===o.sortedBy?o.resources.sort(E(o.sortAsc)):s.SortingType.CONTEXT===o.sortedBy&&o.resources.sort(h(o.sortAsc))},y=e=>(r,o)=>e?r.importResource.name.localeCompare(o.importResource.name):o.importResource.name.localeCompare(r.importResource.name),f=e=>(r,o)=>{const t=(0,i.convertToBytes)(r.importResource.size),s=(0,i.convertToBytes)(o.importResource.size);return e?t-s:s-t},T=e=>(r,o)=>{const t=r.importResource.modifiedOn||Number.MAX_VALUE,s=o.importResource.modifiedOn||Number.MAX_VALUE;return e?t-s:s-t},E=e=>(r,o)=>{const t=r.importResource.importedOn||Number.MAX_VALUE,s=o.importResource.importedOn||Number.MAX_VALUE;return e?t-s:s-t},h=e=>(r,o)=>e?r.importResource.context.localeCompare(o.importResource.context):o.importResource.context.localeCompare(r.importResource.context),A=e=>u.ALL===o.filterByType||(o.filterByType===u.FILE?e.isFile():o.filterByType===u.DIRECTORY&&e.isDirectory()),v=e=>!o.filterByFileName||(o.filterByType===u.DIRECTORY?e.hasTextInDirectoriesName(o.filterByFileName):o.filterByType===u.FILE?e.hasTextInFilesName(o.filterByFileName):e.hasTextInResourcesName(o.filterByFileName));let b;const D=(r,o)=>{b&&e.cancel(b),b=e(r,o)},U=[];U.push(r.onResourcesUpdated((e=[])=>{const t=n.TABS.USER===r.getActiveTabId();o.resources.isEmpty()?(o.resources=a.ImportResourceTreeService.toImportResourceTree(e,t),t&&(o.sortedBy=s.SortingType.MODIFIED)):a.ImportResourceTreeService.mergeResourceTree(o.resources,e,t),a.ImportResourceTreeService.calculateElementIndent(o.resources),a.ImportResourceTreeService.setupAfterTreeInitProperties(o.resources),R(),d()})),U.push(r.onShowLoaderUpdated(e=>o.showLoader=e)),U.push(r.onActiveTabIdUpdated(()=>o.resources=new c.ImportResourceTreeElement)),o.$on("$destroy",()=>{U.forEach(e=>e())})}}}angular.module("graphdb.framework.import.directives.import-resource-tree",["graphdb.framework.import.directives.import-resource-message","graphdb.framework.import.directives.import-resource-status-info"]).directive("importResourceTree",l),l.$inject=["$timeout","ImportContextService"]},96248:()=>{function e(e,r,o,t,s){e.message=s,e.close=()=>{r.dismiss()},e.copyToClipboard=()=>{navigator.clipboard.writeText(e.message).then(()=>{t.success(o.instant("import.help.messages.copied_to_clipboard")),e.close()},e=>{console.error("Could not copy text: ",e)})}}angular.module("graphdb.framework.impex.import.controllers.import-resource-message-dialog",[]).controller("ImportResourceMessageDialogController",e),e.$inject=["$scope","$uibModalInstance","$translate","toastr","message"]}};
|
|
2
|
-
//# sourceMappingURL=83136.
|
|
1
|
+
export const __webpack_id__=83136;export const __webpack_ids__=[9717,18025,78618,83136,96248];export const __webpack_modules__={7796:(e,r,o)=>{o.r(r),o.d(r,{TABS:()=>c});var t=o(98980),s=o(28847);const c={USER:"user",SERVER:"server"};function n(e){let r=c.USER,o=[],n=[],a=[],i=!0,u=[];return{updateActiveTabId:function(o){r=o,e.emitSync("activeTabIdUpdated",m())},getActiveTabId:m,onActiveTabIdUpdated:function(r){return e.subscribeSync("activeTabIdUpdated",e=>r(e))},getFiles:R,addFile:function(r){const o=R();o.push(r),d(o),e.emitSync("fileAdded",(0,t.cloneDeep)(r))},updateFiles:d,onFilesUpdated:function(r){return e.subscribeSync("filesUpdated",e=>r(e))},getImportedResources:S,updateImportedResources:function(r){o=r,e.emitSync("importedResourcesUpdated",S()),e.emitSync("resourcesUpdated",g())},onImportedResourcesUpdated:function(r){return e.subscribeSync("importedResourcesUpdated",e=>r(e))},getResources:g,onResourcesUpdated:function(r){return e.subscribeSync("resourcesUpdated",e=>r(e))},updateShowLoader:function(r){i=r,e.emitSync("showLoaderUpdated",l())},getShowLoader:l,onShowLoaderUpdated:function(r){return e.subscribeSync("showLoaderUpdated",e=>r(e))},updateSelectedFilesNames:function(r){u=(0,t.cloneDeep)(r),e.emitSync("selectedFilesNamesUpdated",p())},getSelectedFilesNames:p,onSelectedFilesNamesUpdated:function(r){return e.subscribeSync("selectedFilesNamesUpdated",e=>r(e))},updateResourceForUpload:function(e){const r=y(),o=r.find(({name:r})=>r===e.name);o?Object.assign(o,e):r.push(e),I(r)},getResourceForUpload:function(e){return(0,t.cloneDeep)(n.find(({name:r})=>r===e))},updateResourcesForUpload:I,getResourcesForUpload:y,onResourcesForUploadChanged:function(r){return e.subscribeSync("resourcesForUploadChanged",e=>r(e))}};function p(){return(0,t.cloneDeep)(u)}function l(){return i}function m(){return r}function d(r){a=(0,t.cloneDeep)(r),e.emitSync("filesUpdated",R())}function R(){return(0,t.cloneDeep)(a)}function S(){return(0,t.cloneDeep)(o)||[]}function g(){const e=S();let r=y();const o=[],t=[];return e.forEach(({name:e})=>{const c=r.find(({name:r})=>r===e);c&&(c.status===s.ImportResourceStatus.UPLOADED?o.push(c):t.push(c))}),o.length>0&&(r=r.filter(({name:e})=>!o.some(({name:r})=>r===e)),I(r,!1)),e.filter(({name:e})=>!t.some(r=>e===r)).concat(r)}function I(r,o=!0){n=(0,t.cloneDeep)(r),e.emitSync("resourcesForUploadChanged",y()),o&&e.emitSync("resourcesUpdated",g())}function y(){return(0,t.cloneDeep)(n)||[]}}angular.module("graphdb.framework.import.services.importcontext",[]).factory("ImportContextService",n),n.$inject=["EventEmitterService"]},9717:()=>{function e(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-status-info.html",scope:{resource:"="},link:o=>{const t=[];o.popoverTemplate="resourceStatusInfoTemplate.html",o.popoverIsOpen=!1,o.context=o.resource.importResource.context,o.replaceGraphs=o.resource.importResource.replaceGraphs,o.baseUrl=decodeURIComponent(o.resource.importResource.baseURI),o.forceSerial=o.resource.importResource.forceSerial,o.importedOn=o.resource.importResource.importedOn,o.parserSettings=o.resource.importResource.parserSettings,o.open=()=>{o.closeAllDialogs(),o.popoverIsOpen=!0},o.closeAllDialogs=()=>{e.$broadcast("closePopovers")},o.close=()=>{o.popoverIsOpen=!1};const s=e=>{"Escape"===e.key&&o.$apply(()=>{o.close()})};t.push(o.$on("closePopovers",o.close)),r.on("keydown",s),o.$on("$destroy",()=>{r.off("keydown",s),t.forEach(e=>e())})}}}angular.module("graphdb.framework.import.directives.import-resource-status-info",[]).directive("importResourceStatusInfo",e),e.$inject=["$rootScope","$document"]},18025:(e,r,o)=>{o.r(r),o.d(r,{SortingType:()=>t});const t={NAME:"NAME",SIZE:"SIZE",MODIFIED:"MODIFIED",IMPORTED:"IMPORTED",CONTEXT:"CONTEXT"}},54419:(e,r,o)=>{o.r(r),o(96248);var t=o(28847),s=o(78618);function c(e){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-message.html",scope:{resource:"="},link:r=>{r.ImportResourceStatus=t.ImportResourceStatus,r.toTitleCase=e=>s.toTitleCase(e),r.showMessage=r=>{e.open({templateUrl:"js/angular/import/templates/import-resource-message-dialog.html",controller:"ImportResourceMessageDialogController",size:"lg",windowClass:"import-resource-message-dialog",backdrop:"static",resolve:{message:function(){return r?r.importResource.message:""}}})}}}}angular.module("graphdb.framework.import.directives.import-resource-message",["graphdb.framework.impex.import.controllers.import-resource-message-dialog"]).directive("importResourceMessage",c),c.$inject=["$uibModal"]},78618:(e,r,o)=>{o.r(r),o.d(r,{removeSpecialChars:()=>s,toBoolean:()=>c,toTitleCase:()=>n});var t=o(98980);const s=e=>e.replace(/[()']/g,""),c=e=>"string"==typeof e?"true"===e:Boolean(e),n=e=>e?(0,t.upperFirst)(e.toLowerCase()):e},83136:(e,r,o)=>{o.r(r);var t=o(28847),s=(o(54419),o(9717),o(18025)),c=o(57436),n=o(7796),a=o(56636),i=o(25079);const u={FILE:"FILE",DIRECTORY:"DIRECTORY",ALL:"ALL"},p={ALL:"ALL",NONE:"NONE",IMPORTED:"IMPORTED",NOT_IMPORTED:"NOT_IMPORTED"};function l(e,r){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-tree.html",scope:{columnKeys:"=",showTypeFilter:"=",sortBy:"=",asc:"=",onImport:"&",onImportAll:"&",onReset:"&",onRemove:"&",onStopImport:"&",onEditResource:"&"},link:(o,l,m)=>{o.resources=new c.ImportResourceTreeElement,o.displayResources=[],o.TYPE_FILTER_OPTIONS=u,o.filterByType=u.ALL,o.filterByFileName="",o.STATUS_OPTIONS=p,o.selectedByStatus=void 0,o.areAllDisplayedImportResourcesSelected=!1,o.areAllDisplayedImportResourcesPartialSelected=!1,o.ImportResourceStatus=t.ImportResourceStatus,o.canRemoveResource=angular.isDefined(m.onRemove),o.canResetSelectedResources=!1,o.SORTING_TYPES=s.SortingType,o.sortAsc=!angular.isDefined(m.asc)||o.asc,o.sortedBy=o.sortBy,o.showLoader=r.getShowLoader(),o.hasSelection=!1,o.selectionChanged=e=>{e.setSelection(e.selected),g(),d(),S()},o.selectResourceWithStatus=e=>{o.selectedByStatus=e,o.resources.setSelection(!1),p.ALL===o.selectedByStatus?o.resources.setSelection(!0):p.IMPORTED===o.selectedByStatus?o.resources.selectAllWithStatus([t.ImportResourceStatus.DONE]):p.NOT_IMPORTED===o.selectedByStatus&&o.resources.selectAllWithStatus([t.ImportResourceStatus.IMPORTING,t.ImportResourceStatus.NONE,t.ImportResourceStatus.ERROR,t.ImportResourceStatus.PENDING,t.ImportResourceStatus.INTERRUPTING]),R(),d()},o.filterByTypeChanged=e=>{o.filterByType=e,R()},o.filterByFileNameChanged=e=>{o.filterByFileName=e,D(R,100)},o.onResetStatus=()=>{const e=o.resources.getAllSelected().map(e=>e.path);e.length>0&&o.onReset({resources:e})},o.resetStatus=e=>{o.onReset({resources:[e.path]})},o.onRemoveResources=()=>{const e=o.resources.getAllSelected();e&&e.length>0&&o.onRemove({resources:e})},o.removeResource=e=>{o.onRemove({resources:[e]})},o.importAll=e=>{const r=o.resources.getAllSelectedForImport();r.length>0&&o.onImportAll({selectedResources:r,withoutChangingSettings:e})},o.stopImport=e=>{o.onStopImport({resource:e})},o.sort=e=>{o.sortedBy===e?o.sortAsc=!o.sortAsc:o.sortAsc=!0,o.sortedBy=e,R()},o.editResource=e=>{o.onEditResource({resource:e})};const d=()=>{o.canResetSelectedResources=o.resources.getSelectedImportedResources()},R=()=>{o.resources.getRoot().updateSelectionState(),I(),o.displayResources=o.resources.toList().filter(A).filter(v),S(),g()},S=()=>{const e=o.resources.getAllSelectedFilesNames();o.hasSelection=e.length>0,r.updateSelectedFilesNames(e)},g=()=>{const e=o.displayResources.some(e=>!e.selected),r=o.displayResources.some(e=>e.selected);o.areAllDisplayedImportResourcesSelected=r&&!e,o.areAllDisplayedImportResourcesPartialSelected=r&&e},I=()=>{s.SortingType.NAME===o.sortedBy?o.resources.sort(y(o.sortAsc)):s.SortingType.SIZE===o.sortedBy?o.resources.sort(f(o.sortAsc)):s.SortingType.MODIFIED===o.sortedBy?o.resources.sort(T(o.sortAsc)):s.SortingType.IMPORTED===o.sortedBy?o.resources.sort(E(o.sortAsc)):s.SortingType.CONTEXT===o.sortedBy&&o.resources.sort(h(o.sortAsc))},y=e=>(r,o)=>e?r.importResource.name.localeCompare(o.importResource.name):o.importResource.name.localeCompare(r.importResource.name),f=e=>(r,o)=>{const t=(0,i.convertToBytes)(r.importResource.size),s=(0,i.convertToBytes)(o.importResource.size);return e?t-s:s-t},T=e=>(r,o)=>{const t=r.importResource.modifiedOn||Number.MAX_VALUE,s=o.importResource.modifiedOn||Number.MAX_VALUE;return e?t-s:s-t},E=e=>(r,o)=>{const t=r.importResource.importedOn||Number.MAX_VALUE,s=o.importResource.importedOn||Number.MAX_VALUE;return e?t-s:s-t},h=e=>(r,o)=>e?r.importResource.context.localeCompare(o.importResource.context):o.importResource.context.localeCompare(r.importResource.context),A=e=>u.ALL===o.filterByType||(o.filterByType===u.FILE?e.isFile():o.filterByType===u.DIRECTORY&&e.isDirectory()),v=e=>!o.filterByFileName||(o.filterByType===u.DIRECTORY?e.hasTextInDirectoriesName(o.filterByFileName):o.filterByType===u.FILE?e.hasTextInFilesName(o.filterByFileName):e.hasTextInResourcesName(o.filterByFileName));let b;const D=(r,o)=>{b&&e.cancel(b),b=e(r,o)},U=[];U.push(r.onResourcesUpdated((e=[])=>{const t=n.TABS.USER===r.getActiveTabId();o.resources.isEmpty()?(o.resources=a.ImportResourceTreeService.toImportResourceTree(e,t),t&&(o.sortedBy=s.SortingType.MODIFIED)):a.ImportResourceTreeService.mergeResourceTree(o.resources,e,t),a.ImportResourceTreeService.calculateElementIndent(o.resources),a.ImportResourceTreeService.setupAfterTreeInitProperties(o.resources),R(),d()})),U.push(r.onShowLoaderUpdated(e=>o.showLoader=e)),U.push(r.onActiveTabIdUpdated(()=>o.resources=new c.ImportResourceTreeElement)),o.$on("$destroy",()=>{U.forEach(e=>e())})}}}angular.module("graphdb.framework.import.directives.import-resource-tree",["graphdb.framework.import.directives.import-resource-message","graphdb.framework.import.directives.import-resource-status-info"]).directive("importResourceTree",l),l.$inject=["$timeout","ImportContextService"]},96248:(e,r,o)=>{o.r(r);var t=o(304);angular.module("graphdb.framework.impex.import.controllers.import-resource-message-dialog",[]).controller("ImportResourceMessageDialogController",c),c.$inject=["$scope","$uibModalInstance","$translate","toastr","message"];const s=t.LoggerProvider.logger;function c(e,r,o,t,c){e.message=c,e.close=()=>{r.dismiss()},e.copyToClipboard=()=>{navigator.clipboard.writeText(e.message).then(()=>{t.success(o.instant("import.help.messages.copied_to_clipboard")),e.close()},e=>{s.error("Could not copy text: ",e)})}}}};
|
|
2
|
+
//# sourceMappingURL=83136.4941a19a85eb34ca370a.bundle.js.map
|