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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"41621.68c5ebc2104a62e2b41d.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/jdbc-driver-type.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/ontop-repo.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/app.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-file-info.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-driver-data.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-connection-information.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/repositories/fedx-repo.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-file-type.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/settings/app.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontop/ontop-repository-error.js"],"sourcesContent":["export const JdbcDriverType = {\n 'GENERIC': 'generic',\n 'MY_SQL': 'mySQL',\n 'POSTGRESS': 'postgreSQL',\n 'ORACLE': 'oracle',\n 'MS_SQL': 'msSQL',\n 'DB2': 'DB2',\n 'DREMIO': 'dremio',\n 'DATABRICKS': 'databricks',\n 'SNOWFLAKE': 'snowflake'\n};\n","import {getFileName} from \"./controllers\";\nimport {OntopFileType} from \"../models/ontop/ontop-file-type\";\nimport {OntopConnectionInformation} from \"../models/ontop/ontop-connection-information\";\nimport {OntopFileInfo} from \"../models/ontop/ontop-file-info\";\nimport {OntopRepositoryError} from \"../models/ontop/ontop-repository-error\";\nimport {OntopDriverData} from \"../models/ontop/ontop-driver-data\";\nimport {JdbcDriverType} from \"../models/ontop/jdbc-driver-type\";\n\n// A link to Ontop's website with all Ontop configuration keys\nconst ONTOP_PROPERTIES_LINK = 'https://ontop-vkg.org/guide/advanced/configuration.html';\n\nangular\n .module('graphdb.framework.repositories.ontop-repo.directive', [])\n .directive('ontopRepo', ontopRepoDirective);\n\nontopRepoDirective.$inject = ['$uibModal', 'RepositoriesRestService', 'toastr', 'Upload', '$translate'];\n\nfunction ontopRepoDirective($uibModal, RepositoriesRestService, toastr, Upload, $translate) {\n return {\n restrict: 'E',\n scope: false,\n templateUrl: 'js/angular/repositories/templates/ontop-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n const HOME_KEY = 36;\n const END_KEY = 35;\n const LEFT_ARROW = 37;\n const RIGHT_ARROW = 39;\n const BACKSPACE = 8;\n const KEY_C = 67;\n const KEY_A = 65;\n $scope.isGenericDriver = true;\n $scope.defaultUrlTemplate = 'jdbc:database://localhost:port/database_name';\n $scope.ontopProperiesLink = ONTOP_PROPERTIES_LINK;\n $scope.ontopFileType = OntopFileType;\n\n /**\n * Holds reference to selected driver.\n *\n * @type {OntopDriverData}\n */\n $scope.selectedDriver = new OntopDriverData();\n\n /**\n * Holds all supported jdbc drivers.\n * @type {OntopDriverData[]}\n */\n $scope.supportedDriversData = [];\n $scope.formData = {\n connectionInformation: new OntopConnectionInformation(),\n settings: {\n additionalProperties: '',\n /**\n * Holds information about repository files.\n */\n ontopFiles: []\n }\n };\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Changes selected driver and updates url field.\n * @param {string} driverType - the type of driver.\n */\n $scope.selectDriver = (driverType) => {\n $scope.selectedDriver = $scope.supportedDriversData.find((driver) => driver.driverType === driverType);\n $scope.isGenericDriver = OntopDriverData.isGenericDriver($scope.selectedDriver.driverType);\n if ($scope.editRepoPage && $scope.currentOntopRepoInfo && $scope.currentOntopRepoInfo.connectionInformation.driverType === driverType) {\n $scope.formData = _.cloneDeep($scope.currentOntopRepoInfo);\n } else {\n clearFormData();\n $scope.formData.connectionInformation.driverType = $scope.selectedDriver.driverType;\n }\n $scope.formData.connectionInformation.driverClass = $scope.selectedDriver.driverClass;\n $scope.updateUrl();\n };\n\n /**\n * Finds ontop file depends on file type <code>ontopFileType</code>\n * @param {OntopFileType} ontopFileType - the type of searched ontop file.\n * @return {OntopFileInfo} found ontop file.\n */\n $scope.getOntopFileInfo = (ontopFileType) => {\n return $scope.formData.settings.ontopFiles.find((ontopFileInfo) => ontopFileType === ontopFileInfo.type);\n };\n\n $scope.getHostNameLabel = () => {\n const hostNameLabel = OntopDriverData.isSnowflakeDriver($scope.selectedDriver.driverType) ? 'ontop.repo.database.snowflake.host_name' : 'ontop.repo.database.host_name';\n return $translate.instant(hostNameLabel) + '*';\n };\n\n $scope.getDatabaseNameLabel = () => {\n let dataBaseNameLabelKey = '';\n switch ($scope.selectedDriver.driverType) {\n case JdbcDriverType.SNOWFLAKE:\n dataBaseNameLabelKey = 'ontop.repo.database.warehouse.database_name';\n break;\n case JdbcDriverType.DATABRICKS:\n dataBaseNameLabelKey = 'ontop.repo.database.http_path.database_name';\n break;\n case JdbcDriverType.DREMIO:\n dataBaseNameLabelKey = 'ontop.repo.database.schema.database_name';\n break;\n default:\n dataBaseNameLabelKey = 'ontop.repo.database.database_name';\n }\n return $translate.instant(dataBaseNameLabelKey);\n };\n\n /**\n * Updates value of <code>$scope.formData.connectionInformation.url</code> depends on other connection information: Host name, Port...\n */\n $scope.updateUrl = () => {\n const templateUrl = calculateTemplateUrl() || '';\n $scope.formData.connectionInformation.url = templateUrl + $scope.formData.connectionInformation.urlUserInput;\n };\n\n /**\n * Checks if test connection can be executed.\n * @return {boolean} true if all needed data is filled by the user.\n */\n $scope.isTestConnectionDisabled = () => {\n const connectionInformation = $scope.formData.connectionInformation;\n const selectedDriver = $scope.selectedDriver;\n if (!connectionInformation.driverClass || !connectionInformation.url || selectedDriver.portRequired && !connectionInformation.port) {\n return true;\n }\n return !OntopDriverData.isGenericDriver(selectedDriver.driverType) && (!connectionInformation.hostName || !connectionInformation.databaseName);\n };\n\n /**\n * Performs a test connection.\n */\n $scope.testConnection = () => {\n validateHostName()\n .then(validatePort)\n .then(validateDatabaseName)\n .then(validateDriverClass)\n .then(validateUrl)\n .then(updatePropertiesFile)\n .then(() => RepositoriesRestService.validateOntopPropertiesConnection($scope.repositoryInfo))\n .then(() => toastr.success($translate.instant('ontop.repo.successful.connection.msg')))\n .catch((error) => {\n if (error instanceof OntopRepositoryError) {\n toastr.error(error.message);\n } else {\n showErrorMsg($translate.instant('ontop.repo.failed.to.connect'), error);\n }\n });\n };\n\n /**\n * Updates the file with type <code>ontopFileType</code>.\n *\n * @param {OntopFileInfo} ontopFileInfo\n */\n $scope.editFile = (ontopFileInfo) => {\n\n const fileName = $scope.repositoryInfo.params[ontopFileInfo.type].label;\n const title = $translate.instant('update.file.edit.content.header', {fileName});\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/editRepoFile.html',\n controller: 'EditRepositoryFileCtrl',\n windowClass: 'update-ontop-repo-dialog',\n resolve: {\n file: () => {\n const ontopFile = $scope.repositoryInfo.params[ontopFileInfo.type];\n return ontopFile ? ontopFile.value : '';\n },\n dialogTitle: () => {\n return title;\n },\n location: () => {\n return $scope.repositoryInfo.location\n }\n }\n });\n\n modalInstance.result.then((data) => {\n // send data to backend\n RepositoriesRestService.updateRepositoryFileContent(data.fileLocation, data.content, $scope.repositoryInfo.location)\n .success((result) => {\n ontopFileInfo.fileName = getFileName(result.fileLocation);\n $scope.repositoryInfo.params[ontopFileInfo.type].value = result.fileLocation;\n }).error((error) => {\n showErrorMsg($translate.instant('common.error'), error);\n });\n });\n };\n\n $scope.uploadOntopFile = (files, ontopFileInfo) => {\n if (files && files.length) {\n const uploadFile = files[0];\n ontopFileInfo.loading = true;\n const uploadData = {\n url: 'rest/repositories/file/upload',\n data: {file: uploadFile, location: $scope.repositoryInfo.location}\n };\n Upload.upload(uploadData)\n .success((data) => {\n if (!data.success) {\n toastr.error(data.errorMessage);\n } else {\n ontopFileInfo.fileName = uploadFile.name;\n $scope.repositoryInfo.params[ontopFileInfo.type].value = data.fileLocation;\n }\n })\n .error((data) => {\n showErrorMsg($translate.instant('common.error'), data);\n $scope.uploadFile = '';\n })\n .finally(() => {\n ontopFileInfo.loading = false;\n });\n }\n };\n\n $scope.updateOntopRepo = () => {\n const createOrUpdate = $scope.editRepoPage ? $scope.editRepository : $scope.createRepo;\n validateRepositoryId()\n .then(validateHostName)\n .then(validatePort)\n .then(validateDatabaseName)\n .then(validateDriverClass)\n .then(validateUrl)\n .then(validateOntopFiles)\n .then(updatePropertiesFile)\n .then(createOrUpdate)\n .catch((error) => {\n if (error instanceof OntopRepositoryError) {\n toastr.error(error.message);\n } else {\n console.log(error);\n }\n });\n };\n\n /**\n * Some databases expect additional properties than hostname, port, database name in order to establish the connection.\n * So url is not readonly and user can modify it. Every driver instead generic one has template tha can't be changed by the user, it\n * is filled automatically when user writes hostname, port, and database name.\n *\n * This function prevent modification of driver template.\n *\n * @param {*} event - event fired by key down.\n */\n $scope.onKeyDownInUrlInput = (event) => {\n const keyCode = event.keyCode;\n // We don't prevent event if user clicked on left, right arrow, home or end key,\n // the client can move cursor without matter where the cursor is.\n if (keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW || keyCode === HOME_KEY || keyCode === END_KEY) {\n return;\n }\n\n const templateUrl = calculateTemplateUrl();\n // If templateUrl is empty this means that chosen driver is generic or user is not filled hostname, port, or database name.\n // So user can type any characters into url input.\n if (!templateUrl) {\n return;\n }\n\n // Allows user to select all and copy the url value regardless that cursor position is in url template area.\n // event.metaKey -> Mac support\n const ctrlDown = event.ctrlKey || event.metaKey;\n if (ctrlDown && KEY_A === keyCode || ctrlDown && KEY_C === keyCode) {\n return;\n }\n\n const cursorPosition = event.target.selectionStart;\n\n if (keyCode === BACKSPACE && cursorPosition - 1 < templateUrl.length) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (cursorPosition < templateUrl.length) {\n // If templateUrl is not empty and cursor is in the middle of it, we will prevent the event and not allow to modify the url.\n event.preventDefault();\n event.stopPropagation();\n }\n\n // If templateUrl is not empty and cursor is after it, the user can write any character into the url input.\n };\n\n $scope.onKeyUpInUrlInput = () => {\n extractExtraUrl();\n };\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Extracts manual user input from url input element.\n */\n const extractExtraUrl = () => {\n const templateUrl = calculateTemplateUrl();\n if (templateUrl) {\n if ($scope.formData.connectionInformation.url.startsWith(templateUrl)) {\n // If templateUrl is not empty and url input value starts with the templateUrl, the text entered by user is part after the templateUrl.\n $scope.formData.connectionInformation.urlUserInput = $scope.formData.connectionInformation.url.substring(templateUrl.length);\n } else {\n // If templateUrl is not empty and url input value don't start with the templateUrl, all url is entered by the user.\n $scope.formData.connectionInformation.urlUserInput = $scope.formData.connectionInformation.url;\n }\n } else {\n // If templateUrl is empty this means that chosen driver is generic or user is not filled hostname, port, or database name.\n // So all characters in url input are entered by user.\n $scope.formData.connectionInformation.urlUserInput = $scope.formData.connectionInformation.url;\n }\n };\n\n const calculateTemplateUrl = () => {\n if (OntopDriverData.isSnowflakeDriver($scope.selectedDriver.driverType)) {\n return calculateSnowflakeTemplateUrl();\n }\n return calculateDefaultTemplateUrl();\n };\n\n const calculateSnowflakeTemplateUrl = () => {\n let url = $scope.selectedDriver.urlTemplate;\n const connectionInformation = $scope.formData.connectionInformation;\n\n if (connectionInformation.hostName) {\n url = url.replace('{identifier}', connectionInformation.hostName);\n }\n\n if (connectionInformation.port) {\n url = url.replace('.snowflakecomputing.com/?', `.snowflakecomputing.com:${connectionInformation.port}/?`);\n }\n\n if (connectionInformation.databaseName) {\n url = url.replace('{database}', connectionInformation.databaseName);\n }\n return url;\n };\n\n const calculateDefaultTemplateUrl = () => {\n let url = $scope.selectedDriver.urlTemplate;\n const connectionInformation = $scope.formData.connectionInformation;\n if (connectionInformation.hostName) {\n if (connectionInformation.port) {\n url = url.replace('{hostport}', `${connectionInformation.hostName}:${connectionInformation.port}`);\n } else {\n url = url.replace('{hostport}', `${connectionInformation.hostName}`);\n }\n }\n if (connectionInformation.databaseName) {\n url = url.replace('{database}', connectionInformation.databaseName);\n }\n return url;\n };\n\n const loadSupportedDriversData = () => {\n return RepositoriesRestService.getSupportedDriversData($scope.repositoryInfo)\n .success((response) => {\n $scope.supportedDriversData = response;\n }).error((response) => {\n showErrorMsg($translate.instant('common.error'), response);\n });\n };\n\n const setLoading = (loading) => {\n $scope.formData.settings.ontopFiles.forEach((ontopFile) => {\n ontopFile.loading = loading;\n });\n };\n\n const loadPropertiesFile = () => {\n setLoading(true);\n RepositoriesRestService.loadPropertiesFile($scope.repositoryInfo.params.propertiesFile.value, $scope.repositoryInfo.location, $scope.selectedDriver.driverType)\n .success((driverData) => {\n let driver = $scope.supportedDriversData.find((driver) => driver.driverClass === driverData.driverClass);\n // If driver not found this means that driver is generic.\n // If the driver is found, but the data returned by the server does not contain a hostname,\n // it means that the driver class (which we support) is filled in as the driver class of a generic type.\n if (!driver || !driverData.hostName) {\n driver = $scope.supportedDriversData.find((driver) => OntopDriverData.isGenericDriver(driver.driverType));\n }\n $scope.selectDriver(driver.driverType);\n $scope.formData.connectionInformation.driverType = driver.driverType;\n $scope.formData.connectionInformation.driverClass = driverData.driverClass;\n $scope.formData.connectionInformation.password = driverData.password;\n $scope.formData.connectionInformation.username = driverData.userName;\n $scope.formData.connectionInformation.url = driverData.url;\n $scope.formData.settings.additionalProperties = driverData.additionalProperties;\n\n if (!OntopDriverData.isGenericDriver(driver.driverType)) {\n $scope.formData.connectionInformation.hostName = driverData.hostName;\n $scope.formData.connectionInformation.databaseName = driverData.databaseName;\n $scope.formData.connectionInformation.port = driverData.port ? parseInt(driverData.port, 10) : undefined;\n }\n\n extractExtraUrl();\n $scope.updateUrl();\n\n Object.values(OntopFileType)\n .forEach((ontopFileType) => {\n const ontopFileInfo = $scope.repositoryInfo.params[ontopFileType];\n const ontopFile = $scope.getOntopFileInfo(ontopFileType);\n if (ontopFileInfo) {\n ontopFile.fileName = getFileName(ontopFileInfo.value);\n }\n });\n $scope.currentOntopRepoInfo = _.cloneDeep($scope.formData);\n })\n .error((data) => {\n showErrorMsg($translate.instant('common.error'), data);\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const updatePropertiesFile = () => {\n setLoading(true);\n const connectionInformation = $scope.formData.connectionInformation;\n\n const jdbc = {\n hostName: connectionInformation.hostName,\n port: connectionInformation.port,\n databaseName: connectionInformation.databaseName,\n userName: connectionInformation.username,\n password: connectionInformation.password,\n driverClass: connectionInformation.driverClass,\n url: connectionInformation.url,\n additionalProperties: $scope.formData.settings.additionalProperties\n };\n\n return RepositoriesRestService\n .updatePropertiesFile($scope.repositoryInfo.params.propertiesFile.value, jdbc, $scope.repositoryInfo.location, $scope.selectedDriver.driverType)\n .success((data) => {\n $scope.repositoryInfo.params.propertiesFile.value = data.fileLocation;\n }).error((data) => {\n showErrorMsg($translate.instant('common.error'), data);\n })\n .finally(() => setLoading(false));\n };\n\n const showErrorMsg = (title, data) => {\n const msg = getError(data);\n toastr.error(msg, title);\n };\n\n const validateHostName = () => {\n if (!OntopDriverData.isGenericDriver($scope.selectedDriver.driverType)) {\n if (!$scope.formData.connectionInformation.hostName) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.host_name')})));\n }\n }\n return Promise.resolve();\n };\n\n const validateDatabaseName = () => {\n if (!OntopDriverData.isGenericDriver($scope.selectedDriver.driverType)) {\n if (!$scope.formData.connectionInformation.databaseName) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.database_name')})));\n }\n }\n return Promise.resolve();\n };\n\n const validateDriverClass = () => {\n if (!$scope.formData.connectionInformation.driverClass) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.driver_class')})));\n }\n return Promise.resolve();\n };\n\n const validateUrl = () => {\n if (!$scope.formData.connectionInformation.url) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.url')})));\n }\n return Promise.resolve();\n };\n\n const validateRepositoryId = () => {\n if (!$scope.repositoryInfo.id) {\n return Promise.reject(new OntopRepositoryError($translate.instant('empty.repoid.warning')));\n }\n return Promise.resolve();\n };\n\n const validateOntopFiles = () => {\n if (!$scope.getOntopFileInfo(OntopFileType.OBDA).fileName) {\n return Promise.reject(new OntopRepositoryError($translate.instant('ontop.repo.missing.required.file', {fileName: $scope.repositoryInfo.params[OntopFileType.OBDA].label})));\n }\n return Promise.resolve();\n };\n\n const validatePort = () => {\n if ($scope.selectedDriver.portRequired && !$scope.formData.connectionInformation.port) {\n return Promise.reject(new OntopRepositoryError($translate.instant('missing.required.field', {fieldName: $translate.instant('ontop.repo.database.port')})));\n }\n return Promise.resolve();\n };\n\n const clearFormData = () => {\n $scope.formData = {\n connectionInformation: new OntopConnectionInformation(),\n settings: {\n additionalProperties: '',\n ontopFiles: []\n }\n };\n\n Object.values(OntopFileType)\n .forEach((ontopFileType) => {\n const ontopFileInfo = new OntopFileInfo(ontopFileType);\n $scope.formData.settings.ontopFiles.push(ontopFileInfo);\n });\n\n $scope.getOntopFileInfo(OntopFileType.OBDA).required = true;\n };\n\n // =========================\n // Initialize component data\n // =========================\n loadSupportedDriversData()\n .then(() => {\n if ($scope.editRepoPage) {\n loadPropertiesFile();\n } else {\n $scope.selectDriver(JdbcDriverType.GENERIC);\n }\n });\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/core/controllers';\nimport 'angular/repositories/controllers';\nimport 'angular/repositories/ontop-repo.directive';\nimport 'angular/repositories/fedx-repo.directive';\nimport 'angular/core/services/repositories.service';\nimport 'angular/settings/app';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nconst modules = [\n 'ui.bootstrap',\n 'toastr',\n 'ngCookies',\n 'ngRoute',\n 'graphdb.framework.repositories.controllers',\n 'graphdb.framework.repositories.ontop-repo.directive',\n 'graphdb.framework.repositories.fedx-repo.directive',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives',\n 'graphdb.framework.core.controllers',\n 'graphdb.framework.settings'\n];\n\nangular.module('graphdb.framework.repositories', modules);\n","export class OntopFileInfo {\n\n /**\n * Initializes ontop file info object.\n * @param {string} type - the type of ontop file. It's value have to be one of {@link OntopFileType};\n * @param {boolean} required - true if file is required.\n */\n constructor(type, required = false) {\n this.type = type;\n this.fileName = '';\n this.loading = false;\n this.required = required;\n }\n}\n","import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\n\nangular\n .module('graphdb.framework.settings.controllers', [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'toastr'\n ])\n .controller('ActiveLocationSettingsCtrl', ActiveLocationSettingsCtrl)\n .controller('ValidateLicenseModalCtrl', ValidateLicenseModalCtrl)\n .controller('LicenseCtrl', LicenseCtrl)\n .controller('RegisterLicenseCtrl', RegisterLicenseCtrl)\n .controller('LoaderSamplesCtrl', LoaderSamplesCtrl);\n\nActiveLocationSettingsCtrl.$inject = ['$scope', 'toastr', '$uibModalInstance', 'LicenseRestService', '$translate'];\n\nfunction ActiveLocationSettingsCtrl($scope, toastr, $uibModalInstance, LicenseRestService, $translate) {\n $scope.supportsStatistics = true;\n $scope.settings = {statistics: false};\n $scope.getSettings = getSettings;\n\n function getSettings() {\n $scope.loader = true;\n LicenseRestService.getStatistics().then(function (response) {\n $scope.settings.statistics = response.data === 'true';\n $scope.supportsStatistics = true;\n }, function (response) {\n if (response.status === 404) {\n $scope.supportsStatistics = false;\n } else {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('error.getting.settings'));\n }\n });\n }\n\n $scope.getSettings();\n\n $scope.setSettings = function () {\n $scope.loader = true;\n LicenseRestService.toggleStatistics($scope.settings.statistics).then(function () {\n $uibModalInstance.close();\n toastr.success($translate.instant('saving.settings.success'));\n }, function (response) {\n const msg = getError(response.data);\n toastr.error(msg, $translate.instant('saving.settings.error'));\n });\n };\n\n $scope.submitForm = function () {\n $scope.setSettings();\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$licenseService', 'toastr', '$rootScope', 'ModalService', '$translate', 'TrackingService'];\n\nfunction LicenseCtrl($scope, LicenseRestService, $licenseService, toastr, $rootScope, ModalService, $translate, TrackingService) {\n\n $scope.loadingLicense = function() {\n return $licenseService.loadingLicense();\n };\n\n // TODO - Check if redundant call and remove\n $licenseService.checkLicenseStatus();\n\n $scope.removeLicense = function () {\n ModalService.openSimpleModal({\n title: $translate.instant('confirm.operation'),\n message: $translate.instant(\"remove.license.warning.msg\"),\n warning: true\n }).result\n .then(function () {\n LicenseRestService.unregisterLicense()\n .success(function () {\n $licenseService.checkLicenseStatus()\n .then(() => TrackingService.applyTrackingConsent())\n .catch((error) => {\n const msg = getError(error.data, error.status);\n toastr.error(msg, $translate.instant('common.error'));\n });\n });\n });\n };\n}\n\nRegisterLicenseCtrl.$inject = ['$scope', 'LicenseRestService', '$location', '$uibModal', 'toastr', '$window', '$jwtAuth', '$translate'];\n\nfunction RegisterLicenseCtrl($scope, LicenseRestService, $location, $uibModal, toastr, $window, $jwtAuth, $translate) {\n $scope.$on('securityInit', function () {\n if (!$jwtAuth.isAdmin()) {\n $location.path('/license');\n }\n });\n\n $scope.sendLicenseToValidateAndActivate = sendLicenseToValidateAndActivate;\n\n const textAreaSel = $('.license-textarea');\n\n // watch for uploaded license file\n $scope.$watch('currentFile', function () {\n if ($scope.currentFile) {\n const file = $scope.currentFile;\n LicenseRestService.extractFromLicenseFile(file)\n .success(function (licenseCode) {\n sendLicenseToValidateAndActivate(licenseCode);\n }).error(function () {\n toastr.error($translate.instant('could.not.upload.file.error'));\n });\n }\n });\n\n $scope.getBackToPreviousPage = function () {\n $window.history.back();\n };\n\n // send license code for validation and activation\n function sendLicenseToValidateAndActivate(licenseCode) {\n LicenseRestService.sendLicenseToValidate(licenseCode)\n .success(function (validatedLicense) {\n if (validatedLicense.present) {\n // write code to textarea\n textAreaSel.val(licenseCode);\n // pop dialog for license details confirmation\n confirmWantedNewLicenseDetails(validatedLicense, licenseCode);\n } else {\n // clear textarea on invalid license\n textAreaSel.val('');\n // show error\n toastr.error(validatedLicense.message);\n }\n })\n .error(function () {\n toastr.error($translate.instant('invalid.license'));\n });\n }\n\n\n // pops a modal dialog which asks you if your expected license details are correct\n // and sends license to GraphDB upon confirmation\n function confirmWantedNewLicenseDetails(license, licenseCode) {\n const modalInstance = $uibModal.open({\n templateUrl: 'js/angular/settings/modal/validate-license.html',\n controller: 'ValidateLicenseModalCtrl',\n size: 'lg',\n resolve: {\n license: function () {\n return license;\n }\n }\n });\n\n modalInstance.result.then(function () {\n registerLicense(licenseCode);\n });\n }\n\n // send license code to GraphDB for activation\n function registerLicense(licenseCode) {\n if (!licenseCode) {\n licenseCode = textAreaSel.val();\n }\n\n if (licenseCode) {\n // replacing whitespace makes this work on Safari too,\n // whereas other browser happily ignore the whitespace\n const decodedLicense = atob(licenseCode.replace(/\\s/g, ''));\n LicenseRestService.registerLicense(decodedLicense)\n .success(function () {\n $window.history.back();\n }).error(function (error) {\n toastr.error(error, $translate.instant('license.register.error'));\n });\n } else {\n toastr.error($translate.instant('no.license.code.error'));\n }\n }\n}\n\nValidateLicenseModalCtrl.$inject = ['$scope', '$uibModalInstance', 'license'];\n\nfunction ValidateLicenseModalCtrl($scope, $uibModalInstance, license) {\n $scope.ok = ok;\n $scope.cancel = cancel;\n $scope.license = license;\n\n function ok() {\n $uibModalInstance.close();\n }\n\n function cancel() {\n $uibModalInstance.dismiss('cancel');\n }\n}\n\nLoaderSamplesCtrl.$inject = ['$scope'];\n\nfunction LoaderSamplesCtrl($scope) {\n $scope.loader = true;\n $scope.setLoader = function (loader) {\n $scope.loader = loader;\n };\n}\n","import {JdbcDriverType} from \"./jdbc-driver-type\";\n\nexport class OntopDriverData {\n constructor() {\n this.classAvailable = false;\n this.downloadDriverUrl = '';\n this.driverClass = '';\n this.driverName = '';\n this.driverType = '';\n this.portRequired = false;\n this.urlTemplate = '';\n }\n\n static isGenericDriver(type) {\n return type === JdbcDriverType.GENERIC;\n }\n\n static isSnowflakeDriver(type) {\n return type === JdbcDriverType.SNOWFLAKE;\n }\n}\n","export class OntopConnectionInformation {\n constructor(driverType = 'generic') {\n this.driverType = driverType;\n this.hostName = '';\n this.port = undefined;\n this.databaseName = '';\n this.username = '';\n this.password = '';\n this.driverClass = '';\n this.url = '';\n this.urlUserInput = '';\n }\n}\n","angular\n .module('graphdb.framework.repositories.fedx-repo.directive', [])\n .directive('fedxRepo', fedxRepoDirective);\n\nfedxRepoDirective.$inject = ['$uibModal', 'RepositoriesRestService', 'toastr', '$translate'];\n\nfunction fedxRepoDirective($uibModal, RepositoriesRestService, toastr, $translate) {\n return {\n restrict: 'E',\n scope: true,\n templateUrl: 'js/angular/repositories/templates/fedx-repo.html',\n\n link: linkFunc\n };\n\n function linkFunc($scope) {\n\n const LOCAL_REPO_STORE = 'ResolvableRepository';\n const REMOTE_REPO_STORE = 'RemoteRepository';\n const SPARQL_ENDPOINT_STORE = 'SPARQLEndpoint';\n const NATIVE_STORE = 'NativeStore';\n\n $scope.fedxMembers = [];\n $scope.knownRepos = [];\n $scope.allAttachedRepos = [];\n\n if ($scope.editRepoPage) {\n $scope.fedxMembers = $scope.repositoryInfo.params.member.value.slice();\n }\n\n function getRepositories() {\n return RepositoriesRestService.getRepositories($scope.repositoryInfo.location)\n .success(function (response) {\n let repos = [];\n _.values(response).forEach((value) => {\n repos.push.apply(repos, value);\n });\n $scope.allAttachedRepos = _.cloneDeep(repos);\n }).error(function (response) {\n const msg = getError(response);\n toastr.error(msg, $translate.instant('common.error'));\n });\n }\n\n function populateKnownRepos() {\n for (const member of $scope.fedxMembers) {\n $scope.knownRepos = $scope.knownRepos.filter(function (repo) {\n if (member.repositoryServer) {\n // if the member is a remote attached member\n return repo.id !== member.repositoryName || repo.location !== member.repositoryServer;\n } else {\n // if the member is a local one\n return repo.id !== member.repositoryName || !repo.local;\n }\n });\n }\n }\n\n $scope.setWritableRepo = function (member) {\n let currentWritable = getWritableRepo();\n if (currentWritable) {\n if (currentWritable.store === LOCAL_REPO_STORE && (member.store !== LOCAL_REPO_STORE || currentWritable.repositoryName !== member.repositoryName) ) {\n currentWritable.writable = 'false';\n } else if (currentWritable.store === REMOTE_REPO_STORE && (member.store !== REMOTE_REPO_STORE || currentWritable.repositoryName !== member.repositoryName || currentWritable.repositoryServer !== member.repositoryServer)) {\n currentWritable.writable = 'false';\n }\n }\n member.writable = JSON.stringify(member.writable === 'false');\n }\n\n $scope.getActiveClass = function (member) {\n return member.writable === 'true' ? ' active' : '';\n }\n\n function getWritableRepo() {\n return $scope.fedxMembers.find(member => member.writable === \"true\");\n }\n\n function getKnownRepos() {\n getRepositories()\n .then(function () {\n $scope.knownRepos = $scope.allAttachedRepos.slice();\n populateKnownRepos();\n });\n }\n\n $scope.checkIfRepoExist = function (member) {\n if (!$scope.allAttachedRepos.length) {\n return true;\n }\n if (member.store === LOCAL_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && !repo.location);\n } else if (member.store === REMOTE_REPO_STORE) {\n return $scope.allAttachedRepos.find(repo => repo.id === member.repositoryName && repo.location === member.repositoryServer);\n } else {\n return true;\n }\n }\n\n $scope.getRepositoryServer = function (repo) {\n if (repo.local) {\n return \"Local\";\n } else {\n return repo.location;\n }\n }\n\n const localReposTimer = setInterval(function () {\n getKnownRepos();\n }, 5000);\n\n $scope.$on('$destroy', function () {\n clearInterval(localReposTimer);\n });\n\n $scope.addMember = function(repository) {\n let member;\n if ($scope.getRepositoryServer(repository) === \"Local\") {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: repository.id,\n repoType: repository.type,\n respectRights: \"true\",\n writable: \"false\"\n };\n } else {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: repository.id,\n repositoryServer: repository.location,\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n };\n }\n $scope.knownRepos = $scope.knownRepos.filter(repo => repo.id !== repository.id || repo.location !== repository.location);\n updateMembers(member);\n }\n\n $scope.removeMember = function (member) {\n if (member.store && member.store === LOCAL_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName && !el.repositoryServer);\n getKnownRepos();\n } else if (member.store && member.store === SPARQL_ENDPOINT_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n } else if (member.store && member.store === NATIVE_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryLocation !== member.repositoryLocation);\n } else if (member.store && member.store === REMOTE_REPO_STORE) {\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.store !== member.store || el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n getKnownRepos();\n }\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n $scope.addRemoteMember = function () {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: false,\n store: REMOTE_REPO_STORE,\n repositoryName: '',\n repositoryServer: '',\n sparqlEndpoint: '',\n username: '',\n password: '',\n supportsASKQueries: \"true\",\n writable: \"false\"\n }\n\n $scope.$uibModalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope,\n });\n };\n\n $scope.getMemberIcon = function (member) {\n if (member.repoType) {\n return 'icon-repo-' + member.repoType;\n } else if (member.store === NATIVE_STORE) {\n return 'icon-warning';\n } else {\n return 'icon-link';\n }\n }\n\n $scope.editFedXRepository = function (member) {\n if (member.store === LOCAL_REPO_STORE) {\n $scope.mode = 'local';\n $scope.model = {\n editMode: true,\n store: member.store,\n respectRights: member.respectRights,\n repositoryName: member.repositoryName,\n repoType: member.repoType,\n writable: member.writable\n }\n } else {\n $scope.mode = 'remote';\n $scope.model = {\n editMode: true,\n store: member.store,\n repositoryName: member.repositoryName,\n repositoryServer: member.repositoryServer,\n sparqlEndpoint: member.store === SPARQL_ENDPOINT_STORE ? member.endpoint : member.repositoryLocation,\n username: member.username,\n password: member.password,\n supportsASKQueries: member.supportsASKQueries,\n writable: member.writable\n }\n }\n\n $scope.$uibModalInstance = $uibModal.open({\n templateUrl: 'js/angular/templates/modal/add-fedx-remote-repo.html',\n scope: $scope\n });\n };\n\n $scope.resolveName = function (member) {\n switch (member.store) {\n case LOCAL_REPO_STORE : {\n return member.repositoryName;\n }\n case REMOTE_REPO_STORE : {\n return member.repositoryName + '@' + member.repositoryServer;\n }\n case SPARQL_ENDPOINT_STORE : {\n return member.endpoint;\n }\n case NATIVE_STORE : {\n return member.repositoryLocation;\n }\n default :\n return \"\";\n }\n }\n\n $scope.cancel = function () {\n $scope.$uibModalInstance.dismiss('cancel');\n };\n\n function updateMembers(member) {\n $scope.fedxMembers.push(member);\n $scope.repositoryInfo.params['member'].value = $scope.fedxMembers;\n }\n\n function removeEndingSlash(url) {\n return url.slice(-1) === '/' ? url.slice(0, -1) : url\n }\n\n function checkEditMode() {\n return $scope.editRepoPage && !$scope.editRepoPage || !$scope.model.editMode;\n }\n\n $scope.ok = function () {\n let member;\n if ($scope.model.repositoryName && $scope.model.store === LOCAL_REPO_STORE) {\n member = {\n store: LOCAL_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repoType: $scope.model.repoType,\n respectRights: $scope.model.respectRights,\n writable: $scope.model.writable\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName || el.store !== member.store );\n } else if ($scope.model.repositoryName && $scope.model.store === REMOTE_REPO_STORE) {\n member = {\n store: REMOTE_REPO_STORE,\n repositoryName: $scope.model.repositoryName,\n repositoryServer: removeEndingSlash($scope.model.repositoryServer),\n username: $scope.model.username,\n password: $scope.model.password,\n writable: $scope.model.writable\n };\n if (checkEditMode() && $scope.fedxMembers.find(el => el.repositoryName === member.repositoryName\n && el.repositoryServer === member.repositoryServer)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.member.error', {name: resolvedName}));\n $scope.$uibModalInstance.close();\n return;\n }\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.repositoryName !== member.repositoryName\n || el.repositoryServer !== member.repositoryServer);\n } else {\n member = {\n store: SPARQL_ENDPOINT_STORE,\n endpoint: removeEndingSlash($scope.model.sparqlEndpoint),\n username: $scope.model.username,\n password: $scope.model.password,\n supportsASKQueries: $scope.model.supportsASKQueries,\n writable: $scope.model.writable\n };\n\n if (checkEditMode() && $scope.fedxMembers.find(el => el.endpoint === member.endpoint)) {\n let resolvedName = $scope.resolveName(member);\n toastr.error($translate.instant('fedx.repo.already.added.sparql.endpoint.error', {name: resolvedName}));\n $scope.$uibModalInstance.close();\n return;\n }\n\n $scope.fedxMembers = $scope.fedxMembers.filter(el => el.endpoint !== member.endpoint);\n }\n\n updateMembers(member);\n populateKnownRepos();\n $scope.$uibModalInstance.close();\n };\n\n $scope.$on('changedLocation', function () {\n $scope.fedxMembers = [];\n getKnownRepos();\n });\n\n getKnownRepos();\n }\n}\n","export const OntopFileType = {\n 'OBDA': 'obdaFile',\n 'OWL': 'owlFile',\n 'CONSTRAINT': 'constraintFile',\n 'LENSES': 'lensesFile',\n 'DB_METADATA': 'dbMetadataFile'\n};\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/rest/license.rest.service';\nimport 'angular/settings/controllers';\nimport 'angular/core/interceptors/unauthorized.interceptor';\nimport 'angular/core/interceptors/authentication.interceptor';\nimport 'angular/core/services/jwt-auth.service';\nimport 'ng-file-upload/dist/ng-file-upload.min';\nimport 'ng-file-upload/dist/ng-file-upload-shim.min';\n\nangular.module('graphdb.framework.settings', [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.rest.license.service',\n 'graphdb.framework.settings.controllers',\n 'graphdb.framework.core.interceptors.unauthorized',\n 'graphdb.framework.core.interceptors.authentication',\n 'graphdb.framework.core.services.jwtauth'\n])\n .config(config)\n .run(run);\n\nconfig.$inject = ['$httpProvider', '$routeProvider'];\n\nfunction config($httpProvider) {\n $httpProvider.interceptors.push('$authenticationInterceptor');\n}\n\nrun.$inject = ['$rootScope', '$location', '$licenseService'];\n\nfunction run($rootScope, $location, $licenseService) {\n $rootScope.$on('$locationChangeStart', function () {\n if ($licenseService.isLicenseHardcoded() && $location.url() === '/license/register') {\n $location.path('license');\n }\n });\n}\n","export class OntopRepositoryError extends Error {\n}\n"],"names":["JdbcDriverType","ontopRepoDirective","$uibModal","RepositoriesRestService","toastr","Upload","$translate","restrict","scope","templateUrl","link","$scope","isGenericDriver","defaultUrlTemplate","ontopProperiesLink","ontopFileType","OntopFileType","selectedDriver","OntopDriverData","supportedDriversData","formData","connectionInformation","OntopConnectionInformation","settings","additionalProperties","ontopFiles","selectDriver","driverType","find","driver","editRepoPage","currentOntopRepoInfo","_","cloneDeep","clearFormData","driverClass","updateUrl","getOntopFileInfo","ontopFileInfo","type","getHostNameLabel","hostNameLabel","isSnowflakeDriver","instant","getDatabaseNameLabel","dataBaseNameLabelKey","SNOWFLAKE","DATABRICKS","DREMIO","calculateTemplateUrl","url","urlUserInput","isTestConnectionDisabled","portRequired","port","hostName","databaseName","testConnection","validateHostName","then","validatePort","validateDatabaseName","validateDriverClass","validateUrl","updatePropertiesFile","validateOntopPropertiesConnection","repositoryInfo","success","catch","error","OntopRepositoryError","message","showErrorMsg","editFile","fileName","params","label","title","open","controller","windowClass","resolve","file","ontopFile","value","dialogTitle","location","result","data","updateRepositoryFileContent","fileLocation","content","getFileName","uploadOntopFile","files","length","uploadFile","loading","uploadData","upload","name","errorMessage","finally","updateOntopRepo","createOrUpdate","editRepository","createRepo","validateRepositoryId","validateOntopFiles","console","log","onKeyDownInUrlInput","event","keyCode","ctrlDown","ctrlKey","metaKey","cursorPosition","target","selectionStart","preventDefault","stopPropagation","onKeyUpInUrlInput","extractExtraUrl","startsWith","substring","calculateSnowflakeTemplateUrl","calculateDefaultTemplateUrl","urlTemplate","replace","setLoading","forEach","jdbc","userName","username","password","propertiesFile","msg","getError","Promise","reject","fieldName","id","OBDA","Object","values","OntopFileInfo","push","required","getSupportedDriversData","response","loadPropertiesFile","driverData","parseInt","undefined","GENERIC","angular","module","directive","$inject","constructor","this","ActiveLocationSettingsCtrl","$uibModalInstance","LicenseRestService","supportsStatistics","statistics","getSettings","loader","getStatistics","status","setSettings","toggleStatistics","close","submitForm","cancel","dismiss","LicenseCtrl","$licenseService","$rootScope","ModalService","TrackingService","loadingLicense","checkLicenseStatus","removeLicense","openSimpleModal","warning","unregisterLicense","applyTrackingConsent","RegisterLicenseCtrl","$location","$window","$jwtAuth","$on","isAdmin","path","sendLicenseToValidateAndActivate","textAreaSel","$","licenseCode","sendLicenseToValidate","validatedLicense","present","val","license","size","decodedLicense","atob","registerLicense","history","back","confirmWantedNewLicenseDetails","$watch","currentFile","extractFromLicenseFile","getBackToPreviousPage","ValidateLicenseModalCtrl","ok","LoaderSamplesCtrl","setLoader","classAvailable","downloadDriverUrl","driverName","fedxRepoDirective","LOCAL_REPO_STORE","REMOTE_REPO_STORE","SPARQL_ENDPOINT_STORE","NATIVE_STORE","populateKnownRepos","member","fedxMembers","knownRepos","filter","repo","repositoryServer","repositoryName","local","getKnownRepos","getRepositories","repos","apply","allAttachedRepos","slice","setWritableRepo","currentWritable","writable","store","JSON","stringify","getActiveClass","checkIfRepoExist","getRepositoryServer","localReposTimer","setInterval","updateMembers","removeEndingSlash","checkEditMode","model","editMode","clearInterval","addMember","repository","repoType","respectRights","supportsASKQueries","removeMember","el","endpoint","repositoryLocation","addRemoteMember","mode","sparqlEndpoint","getMemberIcon","editFedXRepository","resolveName","resolvedName","config","$httpProvider","interceptors","run","isLicenseHardcoded","Error"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"456.6118cb99d130f4c0410c.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/controllers/graphql-playground-view.controller.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-playground-component.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/graphql-playground-config.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/graphql-playground/graphql-playground.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/graphql-playground/graphql-playground-directive.util.js"],"sourcesContent":["import {GraphqlPlaygroundConfig} from '../../models/graphql/graphql-playground-config';\nimport '../../core/services/graphql.service';\nimport 'angular/core/directives/graphql-playground/graphql-playground.directive';\nimport {\n GraphqlPlaygroundDirectiveUtil\n} from \"../../core/directives/graphql-playground/graphql-playground-directive.util\";\n\nconst modules = [\n 'graphdb.framework.core.services.graphql-service',\n 'graphdb.framework.core.directives.graphql-playground'\n];\n\nangular\n .module('graphdb.framework.graphql.controllers.graphql-playground-view', modules)\n .controller('GraphqlPlaygroundViewCtrl', GraphqlPlaygroundViewCtrl);\n\nGraphqlPlaygroundViewCtrl.$inject = ['$scope', '$location', '$repositories', '$languageService', 'toastr', 'GraphqlService', 'GraphqlContextService', 'AuthTokenService'];\n\nfunction GraphqlPlaygroundViewCtrl($scope, $location, $repositories, $languageService, toastr, GraphqlService, GraphqlContextService, AuthTokenService) {\n\n // =========================\n // Private variables\n // =========================\n\n const subscriptions = [];\n\n // =========================\n // Public variables\n // =========================\n\n /**\n * Flag indicating if the view finished initialization.\n * @type {boolean}\n */\n $scope.initialized = false;\n\n /**\n * @type {boolean}\n */\n $scope.loadingEndpoints = false;\n\n /**\n * @type {SelectMenuOptionsModel|undefined}\n */\n $scope.selectedGraphqlEndpoint = undefined;\n\n /**\n * @type {SelectMenuOptionsModel[]}\n */\n $scope.graphqlEndpoints = [];\n\n /**\n * @type {GraphqlPlaygroundConfig}\n */\n $scope.configuration = undefined;\n\n // =========================\n // Public methods\n // =========================\n\n /**\n * Indicates if there is an active repository.\n * @return {*}\n */\n $scope.getActiveRepositoryNoError = () => {\n return $repositories.getActiveRepository();\n };\n\n /**\n * Handles the change of the selected GraphQL endpoint.\n * @param {SelectMenuOptionsModel} selectedEndpoint - The selected endpoint.\n */\n $scope.onGraphqlEndpointChange = (selectedEndpoint) => {\n updateConfiguration(selectedEndpoint);\n };\n\n // =========================\n // Private methods\n // =========================\n\n /**\n * Builds the configuration object for the GraphQL Playground.\n * @param {string} endpoint - The selected endpoint.\n * @return {GraphqlPlaygroundConfig} - The configuration object.\n */\n const buildConfig = (endpoint) => {\n let endpointUrl = endpoint.replace(/^\\//, '');\n const config = {\n endpoint: endpointUrl,\n headers: getHeaders,\n selectedLanguage: $languageService.getLanguage(),\n defaultQuery: 'query Object {\\n object(limit: 100) {\\n id\\n }\\n}'\n };\n return new GraphqlPlaygroundConfig(config);\n };\n\n const getHeaders = () => {\n // Generates a new tracking alias for queries based on time\n const trackAlias = `graphql-playground-query-${performance.now()}-${Date.now()}`;\n const headers = {\n 'X-GraphDB-Track-Alias': trackAlias,\n }\n const authToken = AuthTokenService.getAuthToken();\n if (authToken) {\n headers['Authorization'] = authToken;\n }\n return headers;\n }\n\n /**\n * Finds the default endpoint from the list of endpoints.\n * @param {SelectMenuOptionsModel[]} endpoints - The list of endpoints.\n * @returns {SelectMenuOptionsModel|undefined}\n */\n const findDefaultEndpoint = (endpoints) => {\n return endpoints.find((endpoint) => endpoint.data.default);\n };\n\n /**\n * Finds an endpoint by label.\n * @param {SelectMenuOptionsModel[]} endpoints - The list of endpoints.\n * @param label - The label of the endpoint. The label is same as the endpointId.\n * @returns {SelectMenuOptionsModel|undefined}\n */\n const findEndpointByLabel = (endpoints, label) => {\n return endpoints.find((endpoint) => endpoint.label === label);\n };\n\n /**\n * Resolves the selected endpoint. The priority of which endpoint should be selected is as follows:\n * 1. If there is a query parameter with the endpoint id. This is used when the user opens the page with a direct url.\n * 2. If there is a selected endpoint in the graphql context. This is used when the user navigates from some other\n * view which stores the selected endpoint in the context in advance.\n * 3. If there is an endpoint which is set as default.\n * 4. In none of the above is true, then first one from the list is selected.\n * @return {SelectMenuOptionsModel}\n */\n const resolveSelectedEndpoint = () => {\n const queryParams = $location.search();\n const endpointIdFromUrl = queryParams.endpointId;\n if (endpointIdFromUrl) {\n const endpointSelectOption = findEndpointByLabel($scope.graphqlEndpoints, endpointIdFromUrl);\n if (endpointSelectOption) {\n return endpointSelectOption;\n }\n }\n\n const selectedEndpoint = GraphqlContextService.getSelectedEndpoint();\n if (selectedEndpoint) {\n const endpointSelectOption = findEndpointByLabel($scope.graphqlEndpoints, selectedEndpoint.endpointId);\n if (endpointSelectOption) {\n return endpointSelectOption;\n }\n }\n\n const defaultEndpoint = findDefaultEndpoint($scope.graphqlEndpoints);\n if (defaultEndpoint) {\n return defaultEndpoint;\n }\n\n return $scope.graphqlEndpoints[0];\n };\n\n /**\n * Initializes the view by setting all needed variables in the scope.\n * @param {SelectMenuOptionsModel[]} endpointsSelectMenuOptions\n */\n const initView = (endpointsSelectMenuOptions) => {\n $scope.graphqlEndpoints = endpointsSelectMenuOptions;\n $scope.selectedGraphqlEndpoint = resolveSelectedEndpoint();\n $scope.configuration = buildConfig($scope.selectedGraphqlEndpoint.value);\n };\n\n /**\n * Triggers the loading of the GraphQL endpoints for the active repository.\n * @return {Promise<void>}\n */\n const loadEndpoints = () => {\n $scope.loadingEndpoints = true;\n const currentRepository = $repositories.getActiveRepository();\n return GraphqlService.getEndpointsAsSelectMenuOptions(currentRepository)\n .then((endpointsSelectMenuOptions) => {\n if (endpointsSelectMenuOptions.length) {\n initView(endpointsSelectMenuOptions);\n } else {\n resetScope();\n }\n })\n .catch((error) => {\n resetScope();\n toastr.error(getError(error));\n })\n .finally(() => {\n $scope.loadingEndpoints = false;\n });\n };\n\n /**\n * Updates the configuration object with the new endpoint. This must create a new object to trigger the change\n * detection.\n * @param {SelectMenuOptionsModel} endpoint\n */\n const updateConfiguration = (endpoint) => {\n const config = buildConfig(endpoint.value);\n $scope.configuration = new GraphqlPlaygroundConfig(config);\n };\n\n /**\n * Handles the change of the active repository.\n * @param {object} repositoryObject\n */\n const getActiveRepositoryObjectHandler = (repositoryObject) => {\n if (repositoryObject) {\n onInit();\n }\n };\n\n /**\n * Handles language change events and updates the GraphQL Playground component's language.\n *\n * @param {Event} event - The event triggered by the language change.\n * @param {Object} args - The arguments containing language details.\n * @param {string} args.locale - The new locale to be set for the GraphQL Playground.\n */\n const getLanguageChangeHandler = (event, args) => {\n GraphqlPlaygroundDirectiveUtil.getGraphqlPlaygroundComponentAsync(\"#graphql-playground\")\n .then((graphqlPlayground) => {\n graphqlPlayground.setLanguage(args.locale);\n })\n }\n\n /**\n * Resets the scope variables. This is used to clear the view when there are no GraphQL endpoints for example\n */\n const resetScope = () => {\n $scope.selectedGraphqlEndpoint = undefined;\n $scope.graphqlEndpoints = [];\n $scope.configuration = undefined;\n };\n\n /**\n * Unsubscribes all watchers.\n */\n const unsubscribeAll = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n subscriptions.push($scope.$watch($scope.getActiveRepositoryObject, getActiveRepositoryObjectHandler));\n subscriptions.push($scope.$on('language-changed', getLanguageChangeHandler));\n $scope.$on('$destroy', unsubscribeAll);\n\n // =========================\n // Initialization\n // =========================\n\n const onInit = () => {\n loadEndpoints().finally(() => {\n $scope.initialized = true;\n });\n };\n}\n","/**\n * Wrapper class for the GraphQL Playground component.\n * This class provides a clearer interface for all exposed methods of the GraphQL playground component.\n */\nexport class GraphQLPlaygroundComponent {\n\n /**\n * Creates an instance of GraphQLPlaygroundComponent.\n * @param graphQLPlaygroundComponent - The underlying GraphQL Playground component instance.\n */\n constructor(graphQLPlaygroundComponent) {\n this.graphQLPlaygroundComponent = graphQLPlaygroundComponent;\n }\n\n /**\n * Sets the language for the GraphQL Playground.\n *\n * @param {string} language - The language code to be set (e.g., \"en\", \"fr\").\n */\n setLanguage(language) {\n this.graphQLPlaygroundComponent.setLanguage(language);\n }\n}\n","/**\n * Configuration model for the graphql playground directive.\n */\nexport class GraphqlPlaygroundConfig {\n constructor(data) {\n /**\n * @type {string}\n * @private\n */\n this._endpoint = data.endpoint;\n /**\n * @type {Object | () => Object}\n * @private\n */\n this._headers = data.headers;\n\n /**\n * A code of selected language. For example \"en\".\n * @type {string}\n * @private\n */\n this._selectedLanguage = data.selectedLanguage;\n\n /**\n * The default query that will be used when a new tab is added.\n */\n this._defaultQuery = data.defaultQuery;\n }\n\n get endpoint() {\n return this._endpoint;\n }\n\n set endpoint(value) {\n this._endpoint = value;\n }\n\n get headers() {\n return this._headers;\n }\n\n set headers(value) {\n this._headers = value;\n }\n\n get selectedLanguage() {\n return this._selectedLanguage;\n }\n\n set selectedLanguage(value) {\n this._selectedLanguage = value;\n }\n\n get defaultQuery() {\n return this._defaultQuery;\n }\n\n set defaultQuery(value) {\n this._defaultQuery = value;\n }\n}\n","import {GraphQLPlaygroundComponent} from \"../../../models/graphql/graphql-playground-component\";\n\nconst modules = [];\nangular\n .module('graphdb.framework.core.directives.graphql-playground', modules)\n .directive('graphqlPlayground', graphqlPlaygroundDirective);\n\ngraphqlPlaygroundDirective.$inject = ['$repositories', '$translate', 'MonitoringRestService', 'toastr'];\n\n/**\n * @function graphqlPlaygroundDirective\n * @description\n * Directive to create and manage a GraphQL Playground component.\n *\n * @example\n * ### HTML Usage:\n * The directive can be used in the Workbench as follows:\n * ```html\n * <graphql-playground configuration=\"myGraphQLConfiguration\"></graphql-playground>\n * ```\n *\n * ### Controller Example:\n * ```javascript\n * angular.module('myApp', [])\n * .controller('ExampleController', function($scope) {\n * $scope.myGraphQLConfiguration = {\n * endpoint: 'https://myapi.com/graphql'\n * }\n * });\n * ```\n *\n * @return {Object} Directive definition object.\n */\nfunction graphqlPlaygroundDirective($repositories, $translate, MonitoringRestService, toastr) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/core/directives/graphql-playground/templates/graphql-playground.html',\n scope: {\n configuration: '='\n },\n link: ($scope, element, attrs) => {\n // =========================\n // Public function\n // =========================\n /**\n * Getter for GraphQl playground component.\n * @return {GraphQLPlaygroundComponent}\n */\n $scope.getGraphQLPlaygroundComponent = () => {\n return new GraphQLPlaygroundComponent(getGraphQLPlaygroundElements()[0]);\n };\n\n /**\n * Handles the event to abort a running query by sending a request to delete the associated SPARQL query.\n * It retrieves the current repository and track alias from the event detail and notifies the user about\n * the query abortion.\n *\n * @param {Object} event - The event object triggered by the abort query action.\n */\n $scope.abortQuery = (event) => {\n const currentRepository = $repositories.getActiveRepository();\n const currentTrackAlias = event.detail.headers['X-GraphDB-Track-Alias'];\n toastr.info($translate.instant('graphql.playground.message.abort_query'));\n MonitoringRestService.deleteQuery(currentTrackAlias, currentRepository);\n };\n\n // =========================\n // Private function\n // =========================\n const getGraphQLPlaygroundElements = () => {\n return element.find('graphql-playground-component');\n };\n }\n };\n}\n","export class GraphqlPlaygroundDirectiveUtil {\n\n /**\n * Fetches GraphQL playground directive controller.\n *\n * @param {string} directiveSelector - the unique selector of the graphql playground directive component directive.\n *\n */\n static getGraphqlPlaygroundDirectiveController(directiveSelector) {\n const elementById = angular.element(document.querySelector(directiveSelector));\n const directiveElement = angular.element(elementById);\n return directiveElement.isolateScope();\n }\n\n /**\n * Fetches GraphQL playground component.\n *\n * @param {string} directiveSelector - the unique selector of the graphql playground directive component directive.\n *\n * @return {GraphQLPlaygroundComponent}\n */\n static getGraphqlPlaygroundComponent = (directiveSelector) => {\n const graphQLPlaygroundController = GraphqlPlaygroundDirectiveUtil.getGraphqlPlaygroundDirectiveController(directiveSelector);\n if (graphQLPlaygroundController) {\n return graphQLPlaygroundController.getGraphQLPlaygroundComponent();\n }\n };\n\n /**\n * Fetches GraphQL playground component.\n *\n * @param {string} directiveSelector - the unique selector of the graphql playground directive component directive.\n *\n * @param {number} timeoutInSeconds - how many times to looking for the directive.\n * @return {Promise<GraphQLPlaygroundComponent>}\n */\n static getGraphqlPlaygroundComponentAsync = (directiveSelector, timeoutInSeconds = 1) => {\n return new Promise((resolve, reject) => {\n let graphqlPlaygroundComponent = GraphqlPlaygroundDirectiveUtil.getGraphqlPlaygroundComponent(directiveSelector);\n if (graphqlPlaygroundComponent) {\n resolve(graphqlPlaygroundComponent);\n }\n let iteration = timeoutInSeconds * 1000 | 1000;\n const waitTime = 100;\n const interval = setInterval(() => {\n graphqlPlaygroundComponent = GraphqlPlaygroundDirectiveUtil.getGraphqlPlaygroundComponent(directiveSelector);\n if (graphqlPlaygroundComponent) {\n clearInterval(interval);\n resolve(graphqlPlaygroundComponent);\n } else {\n iteration -= waitTime;\n if (iteration < 0) {\n clearInterval(interval);\n console.log('GraphQL Playground component is not found', directiveSelector);\n reject(new Error('Element is not found: ' + directiveSelector));\n }\n }\n }, waitTime);\n });\n };\n}\n"],"names":["GraphqlPlaygroundViewCtrl","$scope","$location","$repositories","$languageService","toastr","GraphqlService","GraphqlContextService","AuthTokenService","subscriptions","initialized","loadingEndpoints","selectedGraphqlEndpoint","undefined","graphqlEndpoints","configuration","getActiveRepositoryNoError","getActiveRepository","onGraphqlEndpointChange","selectedEndpoint","updateConfiguration","buildConfig","endpoint","config","replace","headers","getHeaders","selectedLanguage","getLanguage","defaultQuery","GraphqlPlaygroundConfig","performance","now","Date","authToken","getAuthToken","findEndpointByLabel","endpoints","label","find","value","resetScope","push","$watch","getActiveRepositoryObject","repositoryObject","onInit","$on","getLanguageChangeHandler","event","args","GraphqlPlaygroundDirectiveUtil","getGraphqlPlaygroundComponentAsync","then","graphqlPlayground","setLanguage","locale","unsubscribeAll","forEach","subscription","loadEndpoints","currentRepository","getEndpointsAsSelectMenuOptions","endpointsSelectMenuOptions","length","resolveSelectedEndpoint","endpointIdFromUrl","search","endpointId","endpointSelectOption","getSelectedEndpoint","data","default","initView","catch","error","getError","finally","angular","module","controller","$inject","GraphQLPlaygroundComponent","constructor","graphQLPlaygroundComponent","this","language","_endpoint","_headers","_selectedLanguage","_defaultQuery","graphqlPlaygroundDirective","$translate","MonitoringRestService","restrict","templateUrl","scope","link","element","attrs","getGraphQLPlaygroundComponent","getGraphQLPlaygroundElements","abortQuery","currentTrackAlias","detail","info","instant","deleteQuery","directive","getGraphqlPlaygroundDirectiveController","directiveSelector","elementById","document","querySelector","isolateScope","static","graphQLPlaygroundController","timeoutInSeconds","Promise","resolve","reject","graphqlPlaygroundComponent","getGraphqlPlaygroundComponent","iteration","interval","setInterval","clearInterval","console","log","Error"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=45758;export const __webpack_ids__=[45758];export const __webpack_modules__={45758:(e,t,n)=>{n.r(t),n.d(t,{translate_label:()=>r});var a=n(87848),s=n(77050);n(57154);const r=class{constructor(e){(0,a.r)(this,e),this.unsubscribeTranslationChanged=null,this.translationParameters=[]}connectedCallback(){this.unsubscribeTranslationChanged=s.T.onTranslate(this.labelKey,this.translationParameters,e=>this.translatedLabel=e)}disconnectedCallback(){this.unsubscribeTranslationChanged&&(this.unsubscribeTranslationChanged(),this.unsubscribeTranslationChanged=null)}render(){return(0,a.h)(a.a,{key:"ae48f9b9f9d91494190d3666aa96f77c98da20f1"},this.translatedLabel)}};r.style=":host{display:inline}"},77050:(e,t,n)=>{n.d(t,{T:()=>i,s:()=>s});var a=n(57154);function s(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}class r{constructor(){this.languageContextService=a.ServiceProvider.get(a.LanguageContextService),this.translationChangedObservers={},this.defaultBundle=this.languageContextService.getDefaultBundle(),this.subscribeToBundleChange()}onTranslate(e,t=[],n=()=>{}){this.translationChangedObservers[e]=this.translationChangedObservers[e]||[];const a={parameters:t,callback:n};return this.translationChangedObservers[e].push(a),n(this.translate(e,t)),()=>{const t=this.translationChangedObservers[e].indexOf(a);-1!==t&&this.translationChangedObservers[e].splice(t,1)}}translate(e,t){return this.translateInLocale(e,t)}translateInLocale(e,t){let n=this.translateFromBundle(this.currentBundle,e);return n||(n=this.translateFromBundle(this.defaultBundle,e)),n?(n=this.applyParameters(n,t),s(n)):(console.warn(`Missing translation for key: [${e}]`),e)}translateFromBundle(e,t){if(!e)return;let n=e[t];return"string"!=typeof n&&(n=this.translateAsJsonObject(e,t)),n}translateAsJsonObject(e,t){let n=t.split(".");return this.getTranslation(e,n)}getTranslation(e,t){if(!t||!e)return;const n=e[t.splice(0,1)[0]];return 0===t.length?n:"string"!=typeof n?t.length>0?this.getTranslation(n,t):n:void 0}applyParameters(e,t){return t?t.reduce((e,t)=>r.replaceAll(e,t),e):e}static replaceAll(e,t){return t?e.split(`{{${t.key}}}`).join(t.value):e}notifyTranslationsChanged(){Object.keys(this.translationChangedObservers).forEach(e=>{(this.translationChangedObservers[e]||[]).forEach(t=>t.callback(this.translate(e,t.parameters)))})}subscribeToBundleChange(){this.languageChangeSubscription=this.languageContextService.onLanguageBundleChanged(e=>{e&&(this.currentBundle=e,this.notifyTranslationsChanged())})}destroy(){this.languageChangeSubscription&&this.languageChangeSubscription()}}const i=new r}};
|
|
2
|
-
//# sourceMappingURL=45758.6ceb731cbe0576149f31.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"45758.6ceb731cbe0576149f31.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/shared-components/dist/esm/translate-label.entry.js","webpack://root-config/./packages/shared-components/dist/esm/translation.service-Hf6024E7.js"],"sourcesContent":["import { r as registerInstance, h, a as Host } from './index-I_gcXFWK.js';\nimport { T as TranslationService } from './translation.service-Hf6024E7.js';\nimport '@ontotext/workbench-api';\n\nconst translateLabelCss = \":host{display:inline}\";\n\nconst TranslateLabel = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.unsubscribeTranslationChanged = null;\n /**\n * Represents an array of translation parameters.\n */\n this.translationParameters = [];\n }\n connectedCallback() {\n this.unsubscribeTranslationChanged = TranslationService.onTranslate(this.labelKey, this.translationParameters, (translatedLabel) => this.translatedLabel = translatedLabel);\n }\n disconnectedCallback() {\n if (this.unsubscribeTranslationChanged) {\n this.unsubscribeTranslationChanged();\n this.unsubscribeTranslationChanged = null;\n }\n }\n render() {\n return (h(Host, { key: 'ae48f9b9f9d91494190d3666aa96f77c98da20f1' }, this.translatedLabel));\n }\n};\nTranslateLabel.style = translateLabelCss;\n\nexport { TranslateLabel as translate_label };\n","import { ServiceProvider, LanguageContextService } from '@ontotext/workbench-api';\n\nfunction sanitizeHTML(html) {\n const element = document.createElement('textarea');\n element.innerHTML = html;\n return element.value;\n}\n\n/**\n * Service responsible for translation operations in the component.\n */\nclass TranslationServiceClassDefinition {\n constructor() {\n this.languageContextService = ServiceProvider.get(LanguageContextService);\n this.translationChangedObservers = {};\n // log with background color\n this.defaultBundle = this.languageContextService.getDefaultBundle();\n this.subscribeToBundleChange();\n }\n /**\n * Translates the <code>messageLabelKey</code> with <code>translationParameter</code> and call <code>translationCallback</code> with translation of current language.\n * The <code>translationCallback</code> is called upon subscription and whenever the selected language is changed.\n *\n * @param messageLabelKey - The label key for the translation.\n * @param translationParameter - Parameters, if needed, for translation.\n * @param translationCallback - A function to be called when translating the `messageLabelKey`.\n * @returns A function that, when called, unsubscribes the provided callback from further translation updates.\n */\n onTranslate(messageLabelKey, translationParameter = [], translationCallback = () => { }) {\n this.translationChangedObservers[messageLabelKey] = this.translationChangedObservers[messageLabelKey] || [];\n const observer = { parameters: translationParameter, callback: translationCallback };\n this.translationChangedObservers[messageLabelKey].push(observer);\n translationCallback(this.translate(messageLabelKey, translationParameter));\n return () => {\n const index = this.translationChangedObservers[messageLabelKey].indexOf(observer);\n if (index !== -1) {\n this.translationChangedObservers[messageLabelKey].splice(index, 1);\n }\n };\n }\n /**\n * Translates the provided key using the currently selected language by applying the parameters if\n * provided.\n * @param key The key for the label which needs to be translated.\n * @param parameters Optional parameters which to be applied during the translation.\n */\n translate(key, parameters) {\n return this.translateInLocale(key, parameters);\n }\n /**\n * Translates a given key into the specified locale. If parameters are provided,\n * they will be applied to the translation.\n *\n * @param key - The translation key, which can be dot-separated for nested translations.\n * @param parameters - Optional parameters to be substituted into the translation string.\n * @returns The translated string with parameters applied if available, or the key itself if not found.\n */\n translateInLocale(key, parameters) {\n // Attempt to retrieve the translation from the specified locale's bundle.\n let translation = this.translateFromBundle(this.currentBundle, key);\n // If not found, fall back to the default language bundle.\n if (!translation) {\n translation = this.translateFromBundle(this.defaultBundle, key);\n }\n // If translation was found, apply any parameters provided and return the result.\n if (translation) {\n translation = this.applyParameters(translation, parameters);\n return sanitizeHTML(translation);\n }\n console.warn(`Missing translation for key: [${key}]`);\n return key;\n }\n /**\n * Retrieves a translation from a specified translation bundle using the given key.\n * If the key represents a nested JSON path, it attempts to resolve the key as such.\n *\n * @param bundle - The translation bundle for the specified locale.\n * @param key - The key to translate, which may be a simple key or dot-separated for nested keys.\n * @returns The translation string if found, or `undefined` if not available.\n */\n translateFromBundle(bundle, key) {\n if (!bundle) {\n return undefined;\n }\n // Try to retrieve the translation directly if it is defined as a whole string,\n // for instance as \"some_function.btn.label\".\n let translation = bundle[key];\n // If not found, attempt to retrieve the translation if it is defined as a JSON object.\n if (typeof translation !== 'string') {\n translation = this.translateAsJsonObject(bundle, key);\n }\n return translation;\n }\n /**\n * Resolves a nested translation key by treating it as a path in a JSON object.\n * For example, if the key is \"some.key.path\", this method will navigate through\n * the JSON object structure to retrieve the value at that path.\n *\n * @param bundle - The translation bundle containing nested keys.\n * @param key - The dot-separated key representing the path to the translation.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n translateAsJsonObject(bundle, key) {\n let path = key.split('.');\n return this.getTranslation(bundle, path);\n }\n /**\n * Recursively navigates through a JSON object based on a path array to retrieve\n * a translation string. Each element in the path array represents a nested key.\n *\n * @param jsonObject - The current JSON object or nested object being searched.\n * @param path - An array representing the path to the translation, where each element is a key.\n * @returns The translation string if found, or `undefined` if the path does not exist.\n */\n getTranslation(jsonObject, path) {\n // Stop the recursion if path or reach the inner element\n if (!path || !jsonObject) {\n return undefined;\n }\n const jsonOrTranslation = jsonObject[path.splice(0, 1)[0]];\n if (path.length === 0) {\n return jsonOrTranslation;\n }\n if (typeof jsonOrTranslation !== 'string') {\n // continue if the inner element is not reached.\n if (path.length > 0) {\n return this.getTranslation(jsonOrTranslation, path);\n }\n return jsonOrTranslation;\n }\n return undefined;\n }\n applyParameters(translation, parameters) {\n if (parameters) {\n return parameters.reduce(\n // replace all occurrence of parameter key with parameter value.\n (translation, parameter) => TranslationServiceClassDefinition.replaceAll(translation, parameter), translation);\n }\n return translation;\n }\n static replaceAll(translation, parameter) {\n return parameter ? translation.split(`{{${parameter.key}}}`).join(parameter.value) : translation;\n }\n notifyTranslationsChanged() {\n Object.keys(this.translationChangedObservers).forEach((eventName) => {\n const observers = this.translationChangedObservers[eventName] || [];\n observers.forEach((observer) => observer.callback(this.translate(eventName, observer.parameters)));\n });\n }\n subscribeToBundleChange() {\n this.languageChangeSubscription = this.languageContextService.onLanguageBundleChanged((bundle) => {\n if (bundle) {\n this.currentBundle = bundle;\n this.notifyTranslationsChanged();\n }\n });\n }\n destroy() {\n if (this.languageChangeSubscription) {\n this.languageChangeSubscription();\n }\n }\n}\nconst TranslationService = new TranslationServiceClassDefinition();\n\nexport { TranslationService as T, sanitizeHTML as s };\n"],"names":["TranslateLabel","constructor","hostRef","registerInstance","this","unsubscribeTranslationChanged","translationParameters","connectedCallback","TranslationService","onTranslate","labelKey","translatedLabel","disconnectedCallback","render","h","Host","key","style","sanitizeHTML","html","element","document","createElement","innerHTML","value","TranslationServiceClassDefinition","languageContextService","ServiceProvider","get","LanguageContextService","translationChangedObservers","defaultBundle","getDefaultBundle","subscribeToBundleChange","messageLabelKey","translationParameter","translationCallback","observer","parameters","callback","push","translate","index","indexOf","splice","translateInLocale","translation","translateFromBundle","currentBundle","applyParameters","console","warn","bundle","translateAsJsonObject","path","split","getTranslation","jsonObject","jsonOrTranslation","length","reduce","parameter","replaceAll","join","notifyTranslationsChanged","Object","keys","forEach","eventName","languageChangeSubscription","onLanguageBundleChanged","destroy"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"52264.99261393a7f6e631da3b.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/graphql/endpoint-definition-file.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/services/file-to-import-definition.mapper.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/controllers/import-endpoint-definition-modal.controller.js"],"sourcesContent":["/**\n * The status of an import graphql endpoint definition operation.\n * @type {{PENDING: string, SUCCESS: string, FAIL: string, SKIP: string}}\n */\nexport const ImportStatus = {\n PENDING: 'PENDING',\n SUCCESS: 'SUCCESS',\n FAIL: 'FAIL',\n SKIP: 'SKIP'\n}\n\n/**\n * The keys for the import status labels.\n * @type {{[p: string]: string}}\n */\nexport const ImportStatusLabelKeys = {\n [ImportStatus.PENDING]: 'graphql.endpoints_management.import_definition_modal.status.pending',\n [ImportStatus.SUCCESS]: 'graphql.endpoints_management.import_definition_modal.status.completed',\n [ImportStatus.FAIL]: 'graphql.endpoints_management.import_definition_modal.status.failed',\n [ImportStatus.SKIP]: 'graphql.endpoints_management.import_definition_modal.status.not_allowed'\n};\n\n/**\n * The mapping of import status to view status. This is used to control the css class of the status tag.\n * @type {{[p: string]: string}}\n */\nexport const ImportStatusToViewMapping = {\n [ImportStatus.PENDING]: 'tag-warning',\n [ImportStatus.SUCCESS]: 'tag-success',\n [ImportStatus.FAIL]: 'tag-danger',\n [ImportStatus.SKIP]: 'tag-info'\n};\n\n/**\n * A class that is a wrapper around a list of definition files. This class provides utility methods to work with the\n * definition files list and exposes some precalculated properties for easier access and optimization of the template\n * bindings.\n */\nexport class EndpointDefinitionFileList {\n /**\n * @type {Array<EndpointDefinitionFile>}\n * @private\n */\n _list;\n /**\n * @type {number}\n * @private\n */\n _size;\n\n constructor(definitionFiles = []) {\n this._list = definitionFiles;\n this._size = definitionFiles.length;\n }\n\n /**\n * Processes the list of definition files with the given predicate.\n * @param {function(EndpointDefinitionFile): void} predicate The predicate to process the files with.\n */\n processWith(predicate) {\n this.list.forEach(predicate);\n }\n\n /**\n * Finds a definition file by file name.\n * @param {string} name The name of the file to find.\n * @returns {EndpointDefinitionFile}\n */\n findDefinitionFileByName(name) {\n return this.list.find(definitionFile => definitionFile.file.name === name);\n }\n\n /**\n * Extracts the file names from the list of definition files.\n * @returns {string[]}\n */\n getFileNames() {\n return this.list.map(definitionFile => definitionFile.file.name);\n }\n\n /**\n * Appends the given files to the list of definition files.\n * @param {EndpointDefinitionFile[]} definitionFiles The files to append.\n */\n appendFiles(definitionFiles) {\n this.list.push(...definitionFiles);\n this._size = this.list.length;\n }\n\n /**\n * Removes the given file from the list of definition files.\n * @param {EndpointDefinitionFile} definitionFileToRemove The file to remove.\n */\n removeFile(definitionFileToRemove) {\n this.list = this.list.filter(definitionFile => definitionFile.file !== definitionFileToRemove.file);\n }\n\n get size() {\n return this._size;\n }\n\n set size(size) {\n this._size = size;\n }\n\n set list(definitionFiles) {\n this._list = definitionFiles;\n this._size = definitionFiles.length;\n }\n\n get list() {\n return this._list;\n }\n}\n\n/**\n * A class that represents a single endpoint definition file. This class contains all the information about the file\n * and the status of the import operation. It is needed to keep all related with the definition file import in one place\n * and expose the necessary properties for the template bindings.\n */\nexport class EndpointDefinitionFile {\n /**\n * @type {EndpointDefinitionFileList}\n * @private\n */\n _list;\n /**\n * @type {File}\n * @private\n */\n _file;\n /**\n * The file name of the definition file. This is the name of the file that was uploaded and can also be obtained\n * from the file object. The reason for having it here is that when an archive is uploaded, the file object will\n * contain the name of the archive file, but the definition files are extracted from the archive and each of them\n * has a different name. This property is used to keep track of the original file name.\n * @type {string}\n * @private\n */\n _filename;\n /**\n * @type {'pending'|'success'|'fail'|'not_allowed'}\n * @private\n */\n _status;\n /**\n * This is a string which is a css class name that will be used to display the status as a tag.\n * @type {string}\n * @private\n */\n _viewStatus;\n /**\n * @type {string}\n * @private\n */\n _statusMessage;\n /**\n * @type {string|null}\n * @private\n */\n _endpointId;\n /**\n * @type {EndpointGenerationReport|undefined}\n * @private\n */\n _report;\n\n constructor(file, status, statusMessage, list) {\n this._file = file;\n this._status = status;\n this._viewStatus = ImportStatusToViewMapping[status];\n this._statusMessage = statusMessage;\n this._list = list;\n }\n\n set file(file) {\n this._file = file;\n }\n\n get file() {\n return this._file;\n }\n\n set filename(filename) {\n this._filename = filename;\n }\n\n get filename() {\n return this._filename;\n }\n\n set status(status) {\n this._status = status;\n this._viewStatus = ImportStatusToViewMapping[status];\n }\n\n get status() {\n return this._status;\n }\n\n set viewStatus(viewStatus) {\n this._viewStatus = viewStatus;\n }\n\n get viewStatus() {\n return this._viewStatus;\n }\n\n set statusMessage(statusMessage) {\n this._statusMessage = statusMessage;\n }\n\n get statusMessage() {\n return this._statusMessage;\n }\n\n set endpointId(endpointId) {\n this._endpointId = endpointId;\n }\n\n get endpointId() {\n return this._endpointId;\n }\n\n set report(report) {\n this._report = report;\n }\n\n get report() {\n return this._report;\n }\n\n get list() {\n return this._list;\n }\n\n set list(list) {\n this._list = list;\n }\n}\n","import {\n EndpointDefinitionFile, EndpointDefinitionFileList,\n ImportStatusLabelKeys\n} from \"../../models/graphql/endpoint-definition-file\";\nimport {importEndpointDefinitionReportMapper} from \"./endpoint-generation-report.mapper\";\n\n/**\n * Maps a list of files to a list of import definitions.\n * @param {File[]} files - The list of files to map.\n * @param {string} importStatus - The status of the import.\n * @returns {EndpointDefinitionFileList}\n */\nexport const fileToImportDefinitionsMapper = (files, importStatus) => {\n const definitionFiles = files.map(file => fileToImportDefinitionMapper(file, importStatus));\n return new EndpointDefinitionFileList(definitionFiles);\n};\n\n/**\n * Maps a file to an import definition.\n * @param {File} file - The file to map.\n * @param {string} importStatus - The status of the import.\n * @returns {EndpointDefinitionFile}\n */\nexport const fileToImportDefinitionMapper = (file, importStatus) => {\n return new EndpointDefinitionFile(file, importStatus, ImportStatusLabelKeys[importStatus]);\n};\n\n/**\n * Maps the server response to EndpointDefinitionFileList.\n * @param {*} data The server response data.\n * @param {string} repositoryId The repository ID.\n * @param {EndpointDefinitionFileList} definitionFiles The list of definition files.\n * @returns {EndpointDefinitionFileList}\n */\nexport const importEndpointDefinitionListMapper = (data, repositoryId, definitionFiles) => {\n if (!data || !data.length) {\n return new EndpointDefinitionFileList();\n }\n\n const processEntry = (response) => {\n const endpointId = response.id;\n const filename = response.filename;\n const status = response.status.toUpperCase();\n let definitionFile = definitionFiles.findDefinitionFileByName(filename) || new EndpointDefinitionFile();\n definitionFile.endpointId = endpointId;\n definitionFile.filename = filename;\n definitionFile.status = status;\n definitionFile.statusMessage = ImportStatusLabelKeys[status];\n definitionFile.report = importEndpointDefinitionReportMapper(response, endpointId, repositoryId);\n if (response.subFiles) {\n const subFileDefinitions = response.subFiles.map(processEntry);\n definitionFile.list = new EndpointDefinitionFileList(subFileDefinitions);\n }\n return definitionFile;\n }\n\n data.forEach(processEntry);\n\n return new EndpointDefinitionFileList([...definitionFiles.list]);\n}\n","import '../../core/services/graphql.service';\nimport {\n EndpointDefinitionFile,\n EndpointDefinitionFileList,\n ImportStatus\n} from \"../../models/graphql/endpoint-definition-file\";\nimport {\n fileToImportDefinitionsMapper, importEndpointDefinitionListMapper\n} from \"../services/file-to-import-definition.mapper\";\nimport {resolvePlaygroundUrlWithEndpoint} from \"../services/endpoint-utils\";\nimport {GraphqlEndpointInfo} from \"../../models/graphql/graphql-endpoints-info\";\n\nconst modules = [\n 'ngFileUpload',\n 'graphdb.framework.core.services.graphql-service'\n];\n\nangular\n .module('graphdb.framework.graphql.controllers.import-endpoint-definition-modal', modules)\n .controller('ImportEndpointDefinitionModalController', ImportEndpointDefinitionModalController);\n\nImportEndpointDefinitionModalController.$inject = ['$scope', '$q', 'toastr', '$uibModal', '$uibModalInstance', 'data', 'GraphqlService', 'GraphqlContextService'];\n\nfunction ImportEndpointDefinitionModalController($scope, $q, toastr, $uibModal, $uibModalInstance, data, GraphqlService, GraphqlContextService) {\n // =========================\n // Private variables\n // =========================\n\n const allowedFileTypes = ['.zip', '.yaml', '.yml'];\n\n // =========================\n // Public variables\n // =========================\n\n $scope.allowedFileTypesString = allowedFileTypes.join(',');\n\n /**\n * The import status enum.\n * @type {{PENDING: string, SUCCESS: string, FAIL: string, SKIP: string}}\n */\n $scope.ImportStatus = ImportStatus;\n\n /**\n * Current active repository ID.\n */\n $scope.repositoryId = data.repositoryId;\n\n /**\n * The list of files selected for import.\n * @type {EndpointDefinitionFileList}\n */\n $scope.definitionFiles = new EndpointDefinitionFileList();\n\n /**\n * The progress of the upload.\n * @type {number|undefined}\n */\n $scope.progress = undefined;\n\n /**\n * Flag indicating if the upload has finished. Used to show/hide the progress bar which in some cases might remain\n * because the progress event might come out of sync and a come after the success event. This clearly happens during\n * UI tests, but it might happen in real life as well.\n * @type {boolean}\n */\n $scope.uploadFinished = false;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Event handler triggered when files are selected in the file input.\n * @param {Array} $files The selected files.\n * @param {File} $file The selected file.\n * @param {Array} $newFiles The new files selected.\n * @param {Array} $duplicateFiles The duplicate files selected.\n * @param {Array} $invalidFiles The invalid files selected.\n */\n $scope.onFilesChange = ($files, $file, $newFiles, $duplicateFiles, $invalidFiles) => {\n let selectedFiles = $newFiles || [];\n\n // find out files with invalid extensions in the list\n const invalidFiles = selectedFiles.filter(file => {\n const extension = '.' + file.name.split('.').pop().toLowerCase();\n return !allowedFileTypes.includes(extension);\n });\n if (invalidFiles.length) {\n console.error(`The following files have invalid extensions: ${invalidFiles.map(file => file.name).join(', ')}`);\n }\n // filter out invalid files\n selectedFiles = selectedFiles.filter(file => {\n const extension = '.' + file.name.split('.').pop().toLowerCase();\n return allowedFileTypes.includes(extension);\n });\n // if no valid files are left, return\n if (!selectedFiles || !selectedFiles.length) {\n return;\n }\n // Reset error state when adding new files\n $scope.progress = undefined;\n // Filter out duplicates by comparing file names\n const existingFileNames = new Set($scope.definitionFiles.getFileNames());\n const filesToAdd = selectedFiles.filter(file => !existingFileNames.has(file.name));\n $scope.definitionFiles.appendFiles(fileToImportDefinitionsMapper(filesToAdd, ImportStatus.PENDING).list)\n };\n\n /**\n * Event handler triggered when the user clicks the upload button. The selected files are uploaded to the server\n * which then processes them and if definitions are valid, graphql endpoints are created for each definition.\n * The server response contains reports for each definition file.\n */\n $scope.onImport = () => {\n $scope.uploadFinished = false;\n const payload = buildUploadPayloadObject();\n GraphqlService.importEndpointDefinition($scope.repositoryId, payload)\n .progress((evt) => {\n if (!$scope.uploadFinished) {\n $scope.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));\n }\n })\n .success((response) => {\n $scope.progress = undefined;\n $scope.uploadFinished = true;\n $scope.definitionFiles = importEndpointDefinitionListMapper(response, $scope.repositoryId, $scope.definitionFiles);\n })\n .error((errors) => {\n $scope.progress = undefined;\n $scope.uploadFinished = true;\n toastr.error(getError(errors));\n });\n };\n\n /**\n * Triggered when the user clicks the remove file button. The file is removed from the list of selected files.\n * @param {EndpointDefinitionFile} definitionFile The file to be removed.\n */\n $scope.onRemoveFile = (definitionFile) => {\n $scope.definitionFiles.removeFile(definitionFile);\n if ($scope.definitionFiles.size === 0) {\n $scope.progress = undefined;\n }\n };\n\n /**\n * Event handler triggered when the user clicks on the generated endpoint link. Opens the GraphQL Playground with\n * the selected endpoint.\n * @param {string} endpointId The ID of the endpoint to explore.\n */\n $scope.onExploreEndpoint = (endpointId) => {\n const url = resolvePlaygroundUrlWithEndpoint(endpointId);\n GraphqlContextService.setSelectedEndpoint(new GraphqlEndpointInfo({\n endpointId\n }));\n window.open(url, '_blank', 'noopener,noreferrer');\n };\n\n /**\n * Event handler triggered when the user clicks the view report link. Opens the report modal with the given\n * definition file.\n * @param {EndpointGenerationReport} endpointGenerationReport The report to display.\n * @returns {Promise} The promise that resolves when the modal is closed.\n */\n $scope.onOpenReport = (event, endpointGenerationReport) => {\n event.preventDefault();\n return $uibModal.open({\n templateUrl: 'js/angular/graphql/templates/modal/endpoint-generation-failure-result-modal.html',\n controller: 'EndpointGenerationResultFailureModalController',\n windowClass: 'endpoint-generation-failure-result-modal',\n size: 'lg',\n backdrop: 'static',\n keyboard: false,\n resolve: {\n data: () => {\n return {\n endpointReport: endpointGenerationReport\n };\n }\n }\n }).result;\n };\n\n /**\n * Closes the modal.\n */\n $scope.close = () => {\n $uibModalInstance.dismiss('cancel')\n };\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Builds the payload object for the import request. FormData object is created and the files are appended to it.\n * @returns {FormData} The payload object.\n */\n const buildUploadPayloadObject = () => {\n let payload = new FormData();\n $scope.definitionFiles.processWith((definition) => {\n payload.append('importFiles', definition.file, definition.file.name);\n });\n return payload;\n }\n\n const init = () => {\n }\n\n // =========================\n // Initialization\n // =========================\n\n init();\n}\n"],"names":["ImportStatus","PENDING","SUCCESS","FAIL","SKIP","ImportStatusLabelKeys","ImportStatusToViewMapping","EndpointDefinitionFileList","_list","_size","constructor","definitionFiles","this","length","processWith","predicate","list","forEach","findDefinitionFileByName","name","find","definitionFile","file","getFileNames","map","appendFiles","push","removeFile","definitionFileToRemove","filter","size","EndpointDefinitionFile","_file","_filename","_status","_viewStatus","_statusMessage","_endpointId","_report","status","statusMessage","filename","viewStatus","endpointId","report","fileToImportDefinitionsMapper","files","importStatus","fileToImportDefinitionMapper","importEndpointDefinitionListMapper","data","repositoryId","processEntry","response","id","toUpperCase","importEndpointDefinitionReportMapper","subFiles","subFileDefinitions","ImportEndpointDefinitionModalController","$scope","$q","toastr","$uibModal","$uibModalInstance","GraphqlService","GraphqlContextService","allowedFileTypes","allowedFileTypesString","join","progress","undefined","uploadFinished","onFilesChange","$files","$file","$newFiles","$duplicateFiles","$invalidFiles","selectedFiles","invalidFiles","extension","split","pop","toLowerCase","includes","console","error","existingFileNames","Set","filesToAdd","has","onImport","payload","buildUploadPayloadObject","importEndpointDefinition","evt","Math","min","parseInt","loaded","total","success","errors","getError","onRemoveFile","onExploreEndpoint","url","resolvePlaygroundUrlWithEndpoint","setSelectedEndpoint","GraphqlEndpointInfo","window","open","onOpenReport","event","endpointGenerationReport","preventDefault","templateUrl","controller","windowClass","backdrop","keyboard","resolve","endpointReport","result","close","dismiss","FormData","definition","append","angular","module","$inject"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=54419;export const __webpack_ids__=[28847,54419,78618,96248];export const __webpack_modules__={28847:(e,o,r)=>{r.r(o),r.d(o,{ImportResourceStatus:()=>s});const s={NONE:"NONE",UPLOADING:"UPLOADING",UPLOAD_ERROR:"UPLOAD_ERROR",UPLOADED:"UPLOADED",PENDING:"PENDING",IMPORTING:"IMPORTING",DONE:"DONE",ERROR:"ERROR",INTERRUPTING:"INTERRUPTING"}},54419:(e,o,r)=>{r.r(o),r(96248);var s=r(28847),t=r(78618);function a(e){return{restrict:"E",templateUrl:"js/angular/import/templates/import-resource-message.html",scope:{resource:"="},link:o=>{o.ImportResourceStatus=s.ImportResourceStatus,o.toTitleCase=e=>t.toTitleCase(e),o.showMessage=o=>{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 o?o.importResource.message:""}}})}}}}angular.module("graphdb.framework.import.directives.import-resource-message",["graphdb.framework.impex.import.controllers.import-resource-message-dialog"]).directive("importResourceMessage",a),a.$inject=["$uibModal"]},78618:(e,o,r)=>{r.r(o),r.d(o,{removeSpecialChars:()=>t,toBoolean:()=>a,toTitleCase:()=>i});var s=r(98980);const t=e=>e.replace(/[()']/g,""),a=e=>"string"==typeof e?"true"===e:Boolean(e),i=e=>e?(0,s.upperFirst)(e.toLowerCase()):e},96248:()=>{function e(e,o,r,s,t){e.message=t,e.close=()=>{o.dismiss()},e.copyToClipboard=()=>{navigator.clipboard.writeText(e.message).then(()=>{s.success(r.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=54419.f09240da9349be115ab3.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"54419.f09240da9349be115ab3.bundle.js","mappings":"sLAKO,MAAMA,EAAuB,CAIhC,KAAQ,OACR,UAAa,YACb,aAAgB,eAIhB,SAAY,WAIZ,QAAW,UAIX,UAAa,YAIb,KAAQ,OAIR,MAAS,QAIT,aAAgB,e,4DCvBpB,SAASC,EAA+BC,GACpC,MAAO,CACHC,SAAU,IACVC,YAAa,2DACbC,MAAO,CACHC,SAAU,KAEdC,KAAOC,IACHA,EAAOR,qBAAuBA,EAAAA,qBAC9BQ,EAAOC,YAAeC,GAAQC,EAAAA,YAAwBD,GAMtDF,EAAOI,YAAeC,IAClBX,EAAUY,KAAK,CACXV,YAAa,kEACbW,WAAY,wCACZC,KAAM,KACNC,YAAa,iCACbC,SAAU,SACVC,QAAS,CACLC,QAAS,WACL,OAAOP,EAAsBA,EAAoBQ,eAAeD,QAAU,EAC9E,OAMxB,CArCAE,QACKC,OAAO,8DAHI,CAAC,8EAIZC,UAAU,wBAAyBvB,GAExCA,EAA+BwB,QAAU,CAAC,Y,4GCC1C,MAAMC,EAAsBC,GACjBA,EAAOC,QAAQ,SAAU,IAG9BC,EAAaC,GACM,iBAAVA,EACU,SAAVA,EAEJC,QAAQD,GAGbrB,EAAeuB,GACZA,GAGEC,EAAAA,EAAAA,YAAWD,EAAKE,eAFZF,C,aClBf,SAASG,EAAsC3B,EAAQ4B,EAAmBC,EAAYC,EAAQlB,GAE1FZ,EAAOY,QAAUA,EAGjBZ,EAAO+B,MAAQ,KACXH,EAAkBI,WAGtBhC,EAAOiC,gBAAkB,KACrBC,UAAUC,UAAUC,UAAUpC,EAAOY,SAChCyB,KAAK,KACFP,EAAOQ,QAAQT,EAAWU,QAAQ,6CAClCvC,EAAO+B,SACPS,IACAC,QAAQC,MAAM,wBAAyBF,KAGvD,CAxBA1B,QACKC,OAAO,4EAA6E,IACpFR,WAAW,wCAAyCoB,GAEzDA,EAAsCV,QAAU,CAAC,SAAU,oBAAqB,aAAc,SAAU,U","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/import/import-resource-status.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/directives/import-resource-message.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/utils/string-utils.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/import/controllers/import-resource-message-dialog.controller.js"],"sourcesContent":["/**\n * Represents progress status of an import rdf resource.\n *\n * @type {{DONE: string, INTERRUPTING: string, IMPORTING: string, ERROR: string, PENDING: string, NONE: string}}\n */\nexport const ImportResourceStatus = {\n /**\n * Initial state. The rdf resources in this state are available in the server, but its data is not inserted into GraphDB.\n */\n 'NONE': 'NONE',\n 'UPLOADING': 'UPLOADING',\n 'UPLOAD_ERROR': 'UPLOAD_ERROR',\n /**\n * Marks resource as uploaded.\n */\n 'UPLOADED': 'UPLOADED',\n /**\n * The import of rdf resources in this state was not started because GraphDB was stopped.\n */\n 'PENDING': 'PENDING',\n /**\n * The rdf resource inserting is in progress .\n */\n 'IMPORTING': 'IMPORTING',\n /**\n * The rdf resource is inserted into GraphDB.\n */\n 'DONE': 'DONE',\n /**\n * Marks rdf resources as not inserted into GraphDB for some reason.\n */\n 'ERROR': 'ERROR',\n /**\n * The rdf resources in this status are interrupted or are marked for interruption.\n */\n 'INTERRUPTING': 'INTERRUPTING'\n};\n","import 'angular/import/controllers/import-resource-message-dialog.controller';\nimport {ImportResourceStatus} from \"../../models/import/import-resource-status\";\nimport * as stringUtils from \"../../utils/string-utils\";\n\nconst modules = ['graphdb.framework.impex.import.controllers.import-resource-message-dialog'];\n\nangular\n .module('graphdb.framework.import.directives.import-resource-message', modules)\n .directive('importResourceMessage', importResourceMessageDirective);\n\nimportResourceMessageDirective.$inject = ['$uibModal'];\n\nfunction importResourceMessageDirective($uibModal) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/import/templates/import-resource-message.html',\n scope: {\n resource: '='\n },\n link: ($scope) => {\n $scope.ImportResourceStatus = ImportResourceStatus;\n $scope.toTitleCase = (str) => stringUtils.toTitleCase(str);\n\n /**\n *\n * @param {ImportResourceTreeElement} resourceTreeElement\n */\n $scope.showMessage = (resourceTreeElement) => {\n $uibModal.open({\n templateUrl: 'js/angular/import/templates/import-resource-message-dialog.html',\n controller: 'ImportResourceMessageDialogController',\n size: 'lg',\n windowClass: 'import-resource-message-dialog',\n backdrop: 'static',\n resolve: {\n message: function () {\n return resourceTreeElement ? resourceTreeElement.importResource.message : '';\n }\n }\n });\n }\n }\n };\n}\n","import {upperFirst} from \"lodash\";\n\n/**\n * Removes brackets and serial commas from IRIs\n * when used to create ids for links and markers,\n * because elements with ids that contain such\n * are not valid XHTML and cause a host problems\n * when trying to style individual elements\n * @param {string} string The string to be processed.\n * @return {string} A string where the special characters are removed.\n */\nconst removeSpecialChars = (string) => {\n return string.replace(/[()']/g, \"\");\n};\n\nconst toBoolean = (value) => {\n if (typeof value === 'string') {\n return value === 'true';\n }\n return Boolean(value);\n};\n\nconst toTitleCase = (text) => {\n if (!text) {\n return text;\n }\n return upperFirst(text.toLowerCase());\n};\n\nexport {\n removeSpecialChars,\n toBoolean,\n toTitleCase\n};\n\n","angular\n .module('graphdb.framework.impex.import.controllers.import-resource-message-dialog', [])\n .controller('ImportResourceMessageDialogController', ImportResourceMessageDialogController);\n\nImportResourceMessageDialogController.$inject = ['$scope', '$uibModalInstance', '$translate', 'toastr', 'message'];\n\nfunction ImportResourceMessageDialogController($scope, $uibModalInstance, $translate, toastr, message) {\n\n $scope.message = message;\n\n\n $scope.close = () => {\n $uibModalInstance.dismiss();\n };\n\n $scope.copyToClipboard = () => {\n navigator.clipboard.writeText($scope.message)\n .then(() => {\n toastr.success($translate.instant('import.help.messages.copied_to_clipboard'));\n $scope.close();\n }, (err) => {\n console.error('Could not copy text: ', err);\n });\n };\n}\n"],"names":["ImportResourceStatus","importResourceMessageDirective","$uibModal","restrict","templateUrl","scope","resource","link","$scope","toTitleCase","str","stringUtils","showMessage","resourceTreeElement","open","controller","size","windowClass","backdrop","resolve","message","importResource","angular","module","directive","$inject","removeSpecialChars","string","replace","toBoolean","value","Boolean","text","upperFirst","toLowerCase","ImportResourceMessageDialogController","$uibModalInstance","$translate","toastr","close","dismiss","copyToClipboard","navigator","clipboard","writeText","then","success","instant","err","console","error"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=5470;export const __webpack_ids__=[5470,11637,14102,15435,22093,27473,41233,50083,50479,56139,71156,98551];export const __webpack_modules__={5470:(e,i,t)=>{t.r(i),t(56139),t(32150),t(81655);var r=t(27473),n=t(85727),s=t(15435),a=t(71156),y=t(22093),l=t(98551),o=t(50479),d=t(41233),u=t(14604),c=t(50083),I=t(57154);function m(e,i,t,m,S,p,h,T,x,g,Q,E,A,f,v,R){e.productInfo=T,e.SimilarityQueryType=l.SimilarityQueryType,e.SimilarityIndexType=o.SimilarityIndexType,e.similarityIndexInfo=void 0,e.samples=void 0,e.yasguiConfig=void 0,e.saveOrUpdateExecuted=!1,e.loadingControllerResources=!1,e.helpHidden=1===Q.get(E.HIDE_SIMILARITY_HELP),e.savingIndex=!1;let L,w,C,M=!1,D=y.SimilarityViewMode.CREATE,N=!0;e.changeSimilarityIndexType=(i,t=l.SimilarityQueryType.DATA)=>{e.similarityIndexInfo.setType(i),e.similarityIndexInfo.isPredicationType()?e.samples=w[o.SimilarityIndexType.PREDICATION]:e.samples=w[o.SimilarityIndexType.TEXT],e.changeQueryTab(t).then(i=>{_(e.similarityIndexInfo),e.setEditorQuery(e.similarityIndexInfo.getQuery())})},e.changeQueryTab=i=>{const t=e.similarityIndexInfo.getSelectedQueryType();return t===i?Promise.resolve():(e.similarityIndexInfo.setSelectedQueryType(i),O(e.similarityIndexInfo,t).then(e=>Z(e,t)).then(e=>K(e,t)).catch(e=>{e instanceof d.SimilarityIndexError||console.log(e)}).finally(()=>{const i=H();e.similarityIndexInfo.setSelectedYasguiRenderMode(s.RenderingMode.YASQE),i.changeRenderMode(e.similarityIndexInfo.getSelectedYasguiRenderMode()),e.similarityIndexInfo.isDataQueryTypeSelected()?i.showYasqeActionButton([n.YasqeButtonName.INFER_STATEMENTS,n.YasqeButtonName.EXPANDS_RESULTS]):i.hideYasqeActionButton([n.YasqeButtonName.INFER_STATEMENTS,n.YasqeButtonName.EXPANDS_RESULTS]),i.setQuery(e.similarityIndexInfo.getQuery())}))},e.createSimilarityIndex=()=>{e.saveOrUpdateExecuted=!0,e.savingIndex=!0,O(e.similarityIndexInfo).then(Z).then(K).then(k).then(z).then(e=>U(e.getSimilarityIndex())).then(()=>V()).catch(e=>{e instanceof d.SimilarityIndexError||i.error(getError(e),A.instant("similarity.could.not.get.indexes.error"))}).finally(()=>{e.savingIndex=!1})},e.viewQuery=()=>{O(e.similarityIndexInfo).then(k).then(P).then(Y).catch(e=>i.error(getError(e)))},e.preview=()=>{O(e.similarityIndexInfo).then(K).then(Z).then(()=>{const i=H();e.similarityIndexInfo.setSelectedYasguiRenderMode(s.RenderingMode.YASR),i.query(e.similarityIndexInfo.getSelectedYasguiRenderMode())})},e.saveSearchQuery=function(){M?(e.saveOrUpdateExecuted=!0,e.savingIndex=!0,O(e.similarityIndexInfo).then(F).then(Z).then(K).then(W).then(J).then(b).then(e=>x.showToastMessageWithDelay(e?"similarity.changed.search.query.msg":"similarity.changed.analogical.query.msg")).then(()=>{h.url("similarity")}).catch(e=>{e instanceof d.SimilarityIndexError||i.error(getError(e),A.instant("similarity.change.query.error"))}).finally(()=>{e.savingIndex=!1})):h.url("similarity")},e.setEditorQuery=i=>{e.similarityIndexInfo.markInvalidQuery(void 0,!1),e.similarityIndexInfo.markInvalidQueryType(void 0,!1),e.yasguiConfig?H().setQuery(i):q({initialQuery:i||" "})},e.similarityIndexNameChanged=()=>{e.setDirty(),e.similarityIndexInfo.isNameExist=!1},e.queryChanged=()=>{e.setDirty(),e.similarityIndexInfo.markInvalidQuery(void 0,!1),e.similarityIndexInfo.markInvalidQueryType(void 0,!1)},e.isCloneViewMode=()=>y.SimilarityViewMode.CLONE===D,e.isEditViewMode=()=>y.SimilarityViewMode.EDIT===D,e.isCreateViewMode=()=>y.SimilarityViewMode.CREATE===D,e.setDirty=()=>{M=!0},e.isYasqeShown=()=>e.similarityIndexInfo&&e.similarityIndexInfo.isYasqeRenderMode(),e.isYasrShown=()=>e.similarityIndexInfo&&e.similarityIndexInfo.isYasrRenderMode(),e.showEditor=()=>{const i=H();i.abortQuery().then(()=>i.setQuery(e.similarityIndexInfo.getQuery())).then(()=>(e.similarityIndexInfo.setSelectedYasguiRenderMode(s.RenderingMode.YASQE),i.changeRenderMode(e.similarityIndexInfo.getSelectedYasguiRenderMode())))},e.toggleHelp=i=>{void 0===i&&(i=Q.get(E.HIDE_SIMILARITY_HELP)),1!==i?(Q.set(E.HIDE_SIMILARITY_HELP,1),e.helpHidden=!0):(Q.set(E.HIDE_SIMILARITY_HELP,0),e.helpHidden=!1)},e.getCloseBtnMsg=function(){let i=e.editSearchQuery?A.instant("similarity.query.edition.msg"):A.instant("similarity.index.creation.msg");return A.instant("similarity.close.btn.msg",{operation:i})},e.hasQueryError=()=>{const i=e.similarityIndexInfo.getSelectedQueryType();return l.SimilarityQueryType.DATA===i?e.hasSelectQueryError():l.SimilarityQueryType.SEARCH===i?e.hasSearchQueryError():l.SimilarityQueryType.ANALOGICAL===i&&e.hasAnalogicalQueryError()},e.hasSelectQueryError=()=>!e.similarityIndexInfo.hasSelectQuery()||e.similarityIndexInfo.invalidSelectQuery||e.similarityIndexInfo.invalidSelectQueryType,e.hasSearchQueryError=()=>!e.similarityIndexInfo.hasSearchQuery()||e.similarityIndexInfo.invalidSearchQuery||e.similarityIndexInfo.invalidSearchQueryType,e.hasAnalogicalQueryError=()=>!e.similarityIndexInfo.hasAnalogicalQuery()||e.similarityIndexInfo.invalidAnalogicalQuery||e.similarityIndexInfo.invalidAnalogicalQueryType,e.getQueryErrorMessage=()=>{const i=e.similarityIndexInfo.getSelectedQueryType();let t=!1,r=!1,n=!1;l.SimilarityQueryType.DATA===i?(t=!e.similarityIndexInfo.hasSelectQuery(),r=e.similarityIndexInfo.invalidSelectQueryType,n=e.similarityIndexInfo.invalidSelectQuery):l.SimilarityQueryType.SEARCH===i?(t=!e.similarityIndexInfo.hasSearchQuery(),r=e.similarityIndexInfo.invalidSearchQueryType,n=e.similarityIndexInfo.invalidSearchQuery):l.SimilarityQueryType.ANALOGICAL===i&&(t=!e.similarityIndexInfo.hasAnalogicalQuery(),r=e.similarityIndexInfo.invalidAnalogicalQueryType,n=e.similarityIndexInfo.invalidAnalogicalQuery);const s={queryType:A.instant(`similarity.query.type.${i}.name`)};return t?A.instant("similarity.error.query.empty",s):n?A.instant("similarity.error.query.invalid",s):r?A.instant("similarity.error.query.invalid_type",s):""};const O=(e,i=void 0)=>H().getQuery().then(t=>e.setQuery(t,i)).then(()=>e),P=e=>S.getQuery({indexName:e.getName(),indexOptions:e.getOptions(),query:e.getQuery(),indexStopList:e.getStopList(),queryInference:e.getInference(),querySameAs:e.getSameAs(),viewType:e.getSelectedQueryType(),indexAnalyzer:e.getAnalyzer()}).then(e=>e.data),Y=e=>{e&&t.open({templateUrl:"pages/viewQuery.html",controller:"ViewQueryCtrl",resolve:{query:function(){return e}}})},_=i=>{const t=i.getType();if(!e.isEditViewMode()&&L&&(i.setQuery(L[t],l.SimilarityQueryType.SEARCH),i.setQuery(L.analogical,l.SimilarityQueryType.ANALOGICAL)),w)if(o.SimilarityIndexType.PREDICATION===t){const e=w[o.SimilarityIndexType.PREDICATION].predication;i.setQuery(e,l.SimilarityQueryType.DATA)}else{const e=w[o.SimilarityIndexType.TEXT].literals;i.setQuery(e,l.SimilarityQueryType.DATA)}},q=i=>{const t={endpoint:B,componentId:"create-index",showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showYasqeActionButtons:!1,showQueryButton:!1,downloadAsOn:!1,showResultInfo:!1,showYasqeResizer:!1,pageSize:100,prefixes:C,render:e.similarityIndexInfo.getSelectedYasguiRenderMode(),yasqeActionButtons:e.isEditViewMode()||!e.similarityIndexInfo.isDataQueryTypeSelected()?n.DISABLE_YASQE_BUTTONS_CONFIGURATION:n.INFERRED_AND_SAME_AS_BUTTONS_CONFIGURATION,maxPersistentResponseSize:0,yasqeMode:e.canWriteActiveRepo()?a.YasqeMode.WRITE:a.YasqeMode.READ},r={};angular.extend(r,t,i),e.yasguiConfig=r},B=()=>`repositories/${f.getActiveRepository()}`,U=t=>{if(void 0!==e.literalIndexes){const i=t.inputIndex;i!==e.literalIndexes[0]&&(t.options=t.options+(""===t.options?"":" ")+"-input_index "+i)}return"true"===t.isLiteralIndex&&(t.options=t.options+(""===t.options?"":" ")+"-literal_index true",t.type=o.SimilarityIndexType.TEXT_LITERAL),M=!1,S.createIndex("POST",t.name,t.options,t.selectQuery,t.searchQuery,t.isPredicationType()?t.analogicalQuery:"",t.stopList,t.infer,t.sameAs,t.type,t.analyzer).then(()=>(i.success(A.instant("similarity.create.index.successfully")),t)).catch(function(e){const t=getError(e);return i.error(t,A.instant("similarity.create.index.error")),console.log(t),Promise.reject(new d.SimilarityIndexError("Could not create index."))})},b=e=>{const i=e.isSearchQueryTypeSelected();let t={name:e.getSimilarityIndex().name,changedQuery:e.getQuery(),isSearchQuery:i};return S.saveSearchQuery(JSON.stringify(t)).then(()=>(M=!1,i))},V=()=>{m(()=>h.url("similarity"),100)},H=()=>n.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),G=()=>{const i=h.search().name||"";return e.isCloneViewMode()?`${A.instant("similarity.copy_of.prefix")}_${i}`:i},$=()=>{const e=h.search().type;return void 0===e||e.startsWith("text")?o.SimilarityIndexType.TEXT:e},j=(e,i)=>{const t=e.options.split(" ");for(let r=0;r<t.length;r++)if(t[r]===i&&r+1<t.length){const i=t[r+1];return delete t[r],delete t[r+1],e.options=t.join(" "),i}},k=e=>Promise.all([F(e).then(X).then(W).then(J).then(K).then(Z)]).then(()=>e),z=e=>S.getIndexes().then(i=>i.data.some(i=>i.name===e.getName())?(e.isNameExist=!0,Promise.reject(new d.SimilarityIndexError("Similarity index name exists."))):e),F=e=>e.getSimilarityIndex().name?e.isNameValid()?Promise.resolve(e):Promise.reject(new d.SimilarityIndexError("Invalid similarity name.")):Promise.reject(new d.SimilarityIndexError("Missing similarity name.")),X=e=>e.hasSelectQuery()?e.invalidSelectQuery?Promise.reject(new d.SimilarityIndexError("Invalid select query")):e.invalidSelectQueryType?Promise.reject(new d.SimilarityIndexError("Invalid select query type")):Promise.resolve(e):Promise.reject(new d.SimilarityIndexError("Missing select query.")),W=e=>e.hasSearchQuery()?e.invalidSearchQuery?Promise.reject(new d.SimilarityIndexError("Invalid search query")):e.invalidSearchQueryType?Promise.reject(new d.SimilarityIndexError("Invalid search query type")):Promise.resolve(e):Promise.reject(new d.SimilarityIndexError("Missing search query.")),J=e=>e.isPredicationType()&&!e.hasAnalogicalQuery()?Promise.reject(new d.SimilarityIndexError("Missing analogical query.")):e.invalidAnalogicalQuery?Promise.reject(new d.SimilarityIndexError("Invalid analogical query")):e.invalidAnalogicalQueryType?Promise.reject(new d.SimilarityIndexError("Invalid analogical query type")):Promise.resolve(e),K=(e,i=void 0)=>H().getQueryType().then(t=>u.QueryType.SELECT!==t?(e.markInvalidQueryType(i),Promise.reject(new d.SimilarityIndexError("Query type is not valid."))):(e.markInvalidQueryType(i,!1),e)),Z=(e,i=void 0)=>H().isQueryValid().then(t=>t?(e.markInvalidQuery(i,!1),e):(e.markInvalidQuery(i),Promise.reject(new d.SimilarityIndexError("Query is not valid.")))),ee=(e,i,t,r)=>{R.openSimpleModal({title:e,message:i,warning:!0}).result.then(function(){angular.isFunction(t)&&t()},function(){angular.isFunction(r)&&r()})},ie=()=>{e.isYasrShown()&&e.similarityIndexInfo.isDataQueryTypeSelected()&&e.showEditor(),e.canEditActiveRepo=e.canWriteActiveRepo();const i={...e.yasguiConfig,yasqeMode:e.canWriteActiveRepo()};q(i)},te=e=>{M&&(e.returnValue=!0)},re=()=>{window.removeEventListener("beforeunload",te),ne.forEach(e=>e())},ne=[],se=I.ServiceProvider.get(I.RepositoryContextService).onSelectedRepositoryChanged(e=>{e&&(N?N=!1:V())},()=>new Promise(function(i){if(e.isCreateViewMode()||e.isCloneViewMode())return void i(!0);const t=()=>{M=!1,i(!0)};if(M){const e=()=>{i(!1)},r=A.instant("common.confirm"),n=A.instant("similarity.warning.unsaved.changes");ee(r,n,t,e)}else t()}));ne.push(se),ne.push(e.$on("$locationChangeStart",(e,i)=>{if(M){e.preventDefault();const t=A.instant("common.confirm"),r=A.instant("similarity.warning.unsaved.changes");ee(t,r,()=>{re();const e=h.absUrl().length-h.url().length,t=i.substring(e);h.path(t)})}else re()})),ne.push(e.$on("$destroy",re)),window.addEventListener("beforeunload",te),D=(()=>{if(void 0===h.search().name)return y.SimilarityViewMode.CREATE;const e=h.search().editSearchQuery;return void 0===e?y.SimilarityViewMode.CLONE:"string"==typeof e?"false"===e?y.SimilarityViewMode.CLONE:y.SimilarityViewMode.EDIT:e?y.SimilarityViewMode.EDIT:y.SimilarityViewMode.CLONE})();const ae=e.$watch(function(){return e.getActiveRepositoryObject()},function(t){t&&(e.loadingControllerResources=!0,Promise.all([S.getSearchQueries(),S.getSamples(),f.getPrefixes(t.id)]).then(([t,n,s])=>{e.canEditActiveRepo=e.canWriteActiveRepo(),L=t?t.data:[],w=n?n.data:[],C=s,(()=>{const t=new c.SimilarityIndexInfo;t.setName(G()),t.setType($()),t.setSelectedQueryType(e.isEditViewMode()?l.SimilarityQueryType.SEARCH:l.SimilarityQueryType.DATA);const n=h.search().options;n?t.setOptions(n):t.setOptions(t.isTextType()?"-termweight idf":""),_(t);const s=h.search().searchQuery;s&&t.setQuery(s,l.SimilarityQueryType.SEARCH);const a=h.search().selectQuery;a&&t.setQuery(a,l.SimilarityQueryType.DATA);const y=h.search().analogicalQuery;if(y&&t.setQuery(y,l.SimilarityQueryType.ANALOGICAL),t.isTextType()){t.setStopList(h.search().stopList),t.setAnalyzer(h.search().analyzer);const e=j(t.getSimilarityIndex(),"-literal_index");void 0!==e&&t.setLiteralIndex(e)}return t.isPredicationType()?S.getIndexes().then(i=>{const n=(0,r.mapIndexesResponseToSimilarityIndex)(i.data).filter(e=>e.isTextLiteralType()&&(e.isBuiltStatus()||e.isOutdatedStatus())).map(e=>e.name);if(e.literalIndexes=["no-index"].concat(n),void 0===t.getInputIndex()){const i=j(t.getSimilarityIndex(),"-input_index");if(void 0!==i)for(let r=0;r<e.literalIndexes.length;r++)i===e.literalIndexes[r]&&t.setInputIndex(e.literalIndexes[r])}return void 0===t.getInputIndex()&&t.setInputIndex(e.literalIndexes[0]),t}).catch(function(e){const t=getError(e);i.error(t,A.instant("similarity.could.not.get.indexes.error"))}):Promise.resolve(t)})().then(i=>{e.similarityIndexInfo=i;let t=l.SimilarityQueryType.DATA;e.isEditViewMode()&&(t=l.SimilarityQueryType.SEARCH),e.changeSimilarityIndexType(i.getType(),t)})}).catch(i=>{console.log(i),e.repositoryError=getError(i)}).finally(()=>{ne.push(e.$on("repositoryIsSet",ie)),ae(),e.loadingControllerResources=!1}))})}angular.module("graphdb.framework.similarity.controllers.create",["graphdb.framework.utils.notifications","graphdb.framework.utils.localstorageadapter"]).controller("CreateSimilarityIdxCtrl",m),m.$inject=["$scope","toastr","$uibModal","$timeout","SimilarityRestService","SparqlRestService","$location","productInfo","Notifications","RDF4JRepositoriesRestService","LocalStorageAdapter","LSKeys","$translate","$repositories","EventEmitterService","ModalService"]},11637:(e,i,t)=>{t.r(i),t.d(i,{SimilarityIndexStatus:()=>r});const r={CREATING:"CREATING",BUILDING:"BUILDING",BUILT:"BUILT",REBUILDING:"REBUILDING",OUTDATED:"OUTDATED",INTERRUPTED:"INTERRUPTED",OBSOLETE:"OBSOLETE",FAILED:"FAILED",isCreatingStatus:e=>r.CREATING===e,isBuildingStatus:e=>r.BUILDING===e,isBuiltStatus:e=>r.BUILT===e,isRebuildingStatus:e=>r.REBUILDING===e,isOutdatedStatus:e=>r.OUTDATED===e,isInterruptedStatus:e=>r.INTERRUPTED===e,isObsoleteStatus:e=>r.OBSOLETE===e,isFailedStatus:e=>r.FAILED===e}},14102:(e,i,t)=>{t.r(i),t.d(i,{SimilarityIndex:()=>s});var r=t(50479),n=t(11637);class s{constructor(){this.analyzer="",this.infer=!0,this.options="",this.sameAs=!0,this.searchQuery="",this.selectQuery="",this.stopList=void 0,this.name="",this.type=r.SimilarityIndexType.TEXT,this.status=void 0,this.analogicalQuery=void 0,this.inputIndex=void 0,this.isLiteralIndex=""}isTextType(){return r.SimilarityIndexType.isTextType(this.type)}isTextLiteralType(){return r.SimilarityIndexType.isTextLiteralType(this.type)}isPredicationType(){return r.SimilarityIndexType.isPredicationType(this.type)}isCreatingStatus(){return n.SimilarityIndexStatus.isCreatingStatus(this.status)}isBuildingStatus(){return n.SimilarityIndexStatus.isBuildingStatus(this.status)}isBuiltStatus(){return n.SimilarityIndexStatus.isBuiltStatus(this.status)}isRebuildingStatus(){return n.SimilarityIndexStatus.isRebuildingStatus(this.status)}isOutdatedStatus(){return n.SimilarityIndexStatus.isOutdatedStatus(this.status)}isInterruptedStatus(){return n.SimilarityIndexStatus.isInterruptedStatus(this.status)}isObsoleteStatus(){return n.SimilarityIndexStatus.isObsoleteStatus(this.status)}isFailedStatus(){return n.SimilarityIndexStatus.isFailedStatus(this.status)}}},15435:(e,i,t)=>{t.r(i),t.d(i,{RenderingMode:()=>r});const r={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},22093:(e,i,t)=>{t.r(i),t.d(i,{SimilarityViewMode:()=>r});const r={CREATE:"CREATE",EDIT:"EDIT",CLONE:"CLONE"}},27473:(e,i,t)=>{t.r(i),t.d(i,{mapIndexesResponseToSimilarityIndex:()=>n});var r=t(14102);const n=e=>e.map(e=>{const i=new r.SimilarityIndex;return i.type=e.type,i.stopList=e.stopList,i.status=e.status,i.selectQuery=e.selectQuery,i.searchQuery=e.searchQuery,i.sameAs=e.sameAs,i.options=e.options,i.name=e.name,i.infer=e.infer,i.analyzer=e.analyzer,i.analogicalQuery=e.analogicalQuery,i})},41233:(e,i,t)=>{t.r(i),t.d(i,{SimilarityIndexError:()=>r});class r extends Error{}},50083:(e,i,t)=>{t.r(i),t.d(i,{SimilarityIndexInfo:()=>y});var r=t(14102),n=t(98551),s=t(15435);const a=new RegExp("^[a-zA-Z0-9-_]+$");class y{constructor(){this.similarityIndex=new r.SimilarityIndex,this.isNameExist=!1,this.invalidSelectQueryType=!1,this.invalidSelectQuery=!1,this.invalidSearchQueryType=!1,this.invalidSearchQuery=!1,this.invalidAnalogicalQueryType=!1,this.invalidAnalogicalQuery=!1,this.selectedQueryType=n.SimilarityQueryType.DATA,this.selectedYasguiRenderMode=s.RenderingMode.YASQE}setQuery(e,i=void 0){const t=i||this.selectedQueryType;n.SimilarityQueryType.DATA!==t?n.SimilarityQueryType.SEARCH!==t?n.SimilarityQueryType.ANALOGICAL===t&&(this.similarityIndex.analogicalQuery=e):this.similarityIndex.searchQuery=e:this.similarityIndex.selectQuery=e}getQuery(e=void 0){switch(e||this.selectedQueryType){case n.SimilarityQueryType.DATA:return this.similarityIndex.selectQuery;case n.SimilarityQueryType.SEARCH:return this.similarityIndex.searchQuery;case n.SimilarityQueryType.ANALOGICAL:return this.similarityIndex.analogicalQuery}}markInvalidQuery(e=void 0,i=!0){const t=e||this.selectedQueryType;n.SimilarityQueryType.DATA!==t?n.SimilarityQueryType.SEARCH!==t?n.SimilarityQueryType.ANALOGICAL===t&&(this.invalidAnalogicalQuery=i):this.invalidSearchQuery=i:this.invalidSelectQuery=i}markInvalidQueryType(e=void 0,i=!0){const t=e||this.selectedQueryType;n.SimilarityQueryType.DATA!==t?n.SimilarityQueryType.SEARCH!==t?n.SimilarityQueryType.ANALOGICAL===t&&(this.invalidAnalogicalQueryType=i):this.invalidSearchQueryType=i:this.invalidSelectQueryType=i}setSelectedQueryType(e){this.selectedQueryType=e}getSelectedQueryType(){return this.selectedQueryType}setSelectedYasguiRenderMode(e){this.selectedYasguiRenderMode=e}getSelectedYasguiRenderMode(){return this.selectedYasguiRenderMode}isDataQueryTypeSelected(){return n.SimilarityQueryType.DATA===this.selectedQueryType}isSearchQueryTypeSelected(){return n.SimilarityQueryType.SEARCH===this.selectedQueryType}isAnalogicalQueryTypeSelected(){return n.SimilarityQueryType.ANALOGICAL===this.selectedQueryType}isTextType(){return this.similarityIndex.isTextType()}isPredicationType(){return this.similarityIndex.isPredicationType()}isTextLiteralType(){return this.similarityIndex.isTextLiteralType()}hasName(){return!!this.similarityIndex.name}isNameValid(){return a.test(this.similarityIndex.name)}hasSelectQuery(){return!!this.similarityIndex.selectQuery}hasSearchQuery(){return!!this.similarityIndex.searchQuery}hasAnalogicalQuery(){return!!this.similarityIndex.analogicalQuery}isYasqeRenderMode(){return s.RenderingMode.YASQE===this.getSelectedYasguiRenderMode()}isYasrRenderMode(){return s.RenderingMode.YASR===this.getSelectedYasguiRenderMode()}getName(){return this.similarityIndex.name}setName(e){this.similarityIndex.name=e}setInputIndex(e){this.similarityIndex.inputIndex=e}getInputIndex(){return this.similarityIndex.inputIndex}setLiteralIndex(e=!1){this.similarityIndex.isLiteralIndex=e}getSimilarityIndex(){return this.similarityIndex}setStopList(e){this.similarityIndex.stopList=e}getStopList(){return this.similarityIndex.stopList}setAnalyzer(e="org.apache.lucene.analysis.en.EnglishAnalyzer"){this.similarityIndex.analyzer=e}getAnalyzer(){return this.similarityIndex.analyzer}setType(e){this.similarityIndex.type=e}getType(){return this.similarityIndex.type}setOptions(e){this.similarityIndex.options=e}getOptions(){return this.similarityIndex.options}getInference(){return this.similarityIndex.infer}getSameAs(){return this.similarityIndex.sameAs}}},50479:(e,i,t)=>{t.r(i),t.d(i,{SimilarityIndexType:()=>r});const r={TEXT:"text",TEXT_LITERAL:"textLiteral",PREDICATION:"predication",isTextType:e=>r.TEXT===e,isTextLiteralType:e=>r.TEXT_LITERAL===e,isPredicationType:e=>r.PREDICATION===e}},56139:()=>{function e(e,i){return{showToastMessageWithDelay:function(t){return new Promise(r=>{e.success(i.instant(t)),setTimeout(r,300)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",e),e.$inject=["toastr","$translate"]},71156:(e,i,t)=>{t.r(i),t.d(i,{YasqeMode:()=>r});const r={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}},98551:(e,i,t)=>{t.r(i),t.d(i,{SimilarityQueryType:()=>r});const r={DATA:"DATA",SEARCH:"SEARCH",ANALOGICAL:"ANALOGICAL"}}};
|
|
2
|
-
//# sourceMappingURL=5470.7c17c7d3b58c8c0d0786.bundle.js.map
|