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":"20227.ab5dfaab392dbb16ba31.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/externalsync/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/connectors.rest.service.js"],"sourcesContent":["import 'angular/rest/rdf4j.repositories.rest.service';\nimport 'angular/rest/connectors.rest.service';\n\nconst modules = [\n 'graphdb.framework.rest.rdf4j.repositories.service',\n 'graphdb.framework.rest.connectors.service'\n];\n\nangular\n .module('graphdb.framework.externalsync.controllers', modules)\n .controller('ConnectorsCtrl', ConnectorsCtrl)\n .controller('ExtendNewConnectorCtrl', ExtendNewConnectorCtrl)\n .controller('CreateConnectorCtrl', CreateConnectorCtrl)\n .controller('CreateProgressCtrl', CreateProgressCtrl)\n .controller('DeleteConnectorCtrl', DeleteConnectorCtrl)\n .filter('ceil', ceil);\n\nfunction jsonToFormData(data) {\n const str = [];\n Object.keys(data).forEach(function (key) {\n str.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));\n });\n return str.join('&');\n}\n\nfunction toArrayMap(map) {\n return _.map(map, function (value, key) {\n return {key: key, value: value};\n });\n}\n\nfunction fromArrayMap(arrayMap, $translate) {\n return _.reduce(arrayMap, function (acc, value) {\n if (value.key === '' && value.value === '') {\n // empty pair, skip it\n } else if (value.key === '') {\n throw new Error($translate.instant('externalsync.empty.value.key.error', {value: value.value}));\n } else if (acc.hasOwnProperty(value.key)) {\n throw new Error($translate.instant('externalsync.duplicate.key.error', {key: value.key}));\n } else {\n acc[value.key] = value.value;\n }\n return acc;\n }, {});\n}\n\nfunction mapCreateValuesToUiValues(values, options) {\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n if (option.__type === 'StringArray') {\n if (!values[option.__name]) {\n values[option.__name] = [''];\n }\n } else if (option.__type === 'OptionArray') {\n if (!values[option.__name]) { // values has no entry for this option\n values[option.__name] = [];\n const optionEl = {};\n for (let j = 0; j < option.__childOptions.length; j++) {\n const child = option.__childOptions[j];\n if (child.__type === 'StringArray') {\n optionEl[child.__name] = [''];\n } else {\n optionEl[child.__name] = (!angular.isUndefined(child.__defaultValue) ? child.__defaultValue : '');\n }\n }\n values[option.__name].push(optionEl);\n } else { // values already has en entry for this option\n // Copies the default value for Boolean child options if no explicit value is set\n for (let j = 0; j < option.__childOptions.length; j++) {\n const child = option.__childOptions[j];\n if (child.__type === 'Boolean') {\n for (let k = 0; k < values[option.__name].length; k++) {\n const valueK = values[option.__name][k];\n if (!valueK.hasOwnProperty([child.__name]) && angular.isDefined(child.__defaultValue)) {\n valueK[child.__name] = child.__defaultValue;\n }\n }\n }\n }\n }\n } else if (option.__type === 'Map') {\n if (!values[option.__name]) {\n values[option.__name] = [];\n } else {\n values[option.__name] = toArrayMap(values[option.__name]);\n }\n } else if (option.__type === 'JsonString') {\n if (values[option.__name] && !(values[option.__name] instanceof String) && typeof values[option.__name] !== 'string') {\n values[option.__name] = angular.toJson(values[option.__name], 2);\n }\n } else {\n if (angular.isUndefined(values[option.__name])) {\n values[option.__name] = (!angular.isUndefined(option.__defaultValue) ? option.__defaultValue : '');\n }\n }\n }\n\n return values;\n}\n\nfunction _evaluateSparqlQuery(http, repository, query) {\n return http.post('repositories/' + repository, jsonToFormData({query: query}),\n {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'Accept': 'application/sparql-results+json',\n 'X-GraphDB-Local-Consistency': 'updating'\n }\n });\n}\n\nfunction buildNamePrefix(prefix) {\n return prefix.substring(0, prefix.length - 1) + '/instance#';\n}\n\nfunction createConnectorQuery(name, prefix, fields, options, reportError) {\n // Returns a copy of the parameter obj sorted according to the order in options\n function sortObject(obj, options) {\n const newObject = {};\n _.each(options, function (option) {\n if (angular.isDefined(obj[option.__name])) {\n if (option.__type === 'OptionArray') {\n newObject[option.__name] = [];\n _.each(obj[option.__name], function (childOption) {\n newObject[option.__name].push(sortObject(childOption, option.__childOptions));\n });\n } else {\n newObject[option.__name] = _.cloneDeep(obj[option.__name]);\n }\n }\n });\n return newObject;\n }\n\n const fcopy = sortObject(fields, options);\n\n for (let i = 0; i < options.length; i++) {\n try {\n if (options[i].__type === 'Map') {\n fcopy[options[i].__name] = fromArrayMap(fcopy[options[i].__name], $translate);\n } else if (options[i].__type === 'JsonString') {\n fcopy[options[i].__name] = angular.fromJson(fcopy[options[i].__name]);\n }\n } catch (e) {\n reportError(options[i].__label, e.message);\n return null;\n }\n }\n\n removeEmptyValues(fcopy);\n //escapeValues(fields);\n let finalString = '';\n finalString += 'PREFIX :<' + prefix + '>\\n';\n const namePrefix = buildNamePrefix(prefix);\n finalString += 'PREFIX inst:<' + namePrefix + '>\\n';\n finalString += 'INSERT DATA {\\n';\n finalString += \"\\tinst:\" + name + \" :createConnector '''\\n\"; // eslint-disable-line quotes\n finalString += angular.toJson(fcopy, 2);\n finalString += \"\\n''' .\\n}\\n\"; // eslint-disable-line quotes\n finalString = finalString.replace(/\\\\/g, '\\\\\\\\\\\\');\n return finalString;\n}\n\nfunction createStatusQueryForIri(iri) {\n const statusIri = iri.replace(/\\/instance#.+$/, '#connectorStatus');\n let finalString = '';\n finalString += 'SELECT ?status {\\n';\n finalString += '\\t<' + iri + '> <' + statusIri + '> ?status';\n finalString += '\\n}';\n return finalString;\n}\n\nfunction createStatusQueryForAny(connectors) {\n const connectorIris = _.map(connectors,\n function (k) {\n return '<' + k.value + 'connectorStatus' + '>';\n }).join('|');\n\n if (connectorIris) {\n return 'SELECT ?connector ?status { ?connector ' + connectorIris + ' ?status }';\n }\n\n return null;\n}\n\nfunction repairConnectorQuery(name, prefix) {\n const namePrefix = buildNamePrefix(prefix);\n return 'PREFIX prefix:<' + prefix + '>\\n' +\n 'INSERT DATA {\\n' +\n '\\t<' + namePrefix + name + '> prefix:repairConnector \"\"\\n' +\n '}';\n}\n\nfunction deleteConnectorQuery(name, prefix, force) {\n const namePrefix = prefix.substring(0, prefix.length - 1) + \"/instance#\";\n return 'PREFIX prefix:<' + prefix + '>\\n' +\n 'INSERT DATA {\\n' +\n '\\t<' + namePrefix + name + '> prefix:dropConnector \"' + (force ? \"force\" : \"\") + '\"\\n' +\n '}';\n}\n\nfunction removeEmptyValues(data) {\n // remove empty values from array\n if (Array.isArray(data)) {\n data = _.filter(data, function (item) {\n return item !== null && (!item.trim || item.trim() !== '');\n });\n }\n // remove empty values from object values\n Object.keys(data).forEach(function (key) {\n if ((data[key] === '' || data[key] == null) && data[key] !== false) {\n delete data[key];\n } else if (typeof data[key] === 'object') {\n data[key] = removeEmptyValues(data[key]);\n }\n });\n return data;\n}\n\nfunction parseFirstBuildingResult(results) {\n if (results.bindings) {\n for (let i = 0; i < results.bindings.length; i++) {\n try {\n const statusObject = JSON.parse(results.bindings[i].status.value);\n if (statusObject.status === 'BUILDING') {\n return {\n connector: results.bindings[i].connector.value,\n status: statusObject\n };\n }\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n }\n }\n }\n\n return {};\n}\n\nConnectorsCtrl.$inject = ['$scope', '$http', '$repositories', '$uibModal', 'toastr', 'ModalService', '$q', 'RDF4JRepositoriesRestService', 'ConnectorsRestService', '$translate'];\n\nfunction ConnectorsCtrl($scope, $http, $repositories, $uibModal, toastr, ModalService, $q, RDF4JRepositoriesRestService, ConnectorsRestService, $translate) {\n $scope.loader = false;\n\n $scope.controllers = [];\n\n $scope.existing = {};\n\n $scope.definitions = {};\n\n $scope.getLoaderMessage = function () {\n const timeSeconds = (Date.now() - $scope.loaderStartTime) / 1000;\n const timeHuman = $scope.getHumanReadableSeconds(timeSeconds);\n let message = '';\n if ($scope.progressMessage) {\n message = $scope.progressMessage + '... ' + timeHuman;\n } else {\n message = $translate.instant('common.running.operation', {timeHuman: timeHuman});\n }\n if ($scope.extraMessage && timeSeconds > 10) {\n message += '\\n' + $scope.extraMessage;\n }\n\n return message;\n };\n\n $scope.setLoader = function (isRunning, progressMessage, extraMessage) {\n if (isRunning) {\n $scope.loader = true;\n $scope.loaderStartTime = Date.now();\n $scope.progressMessage = progressMessage;\n $scope.extraMessage = extraMessage;\n } else {\n $scope.loader = false;\n $scope.progressMessage = '';\n $scope.extraMessage = '';\n }\n };\n\n $scope.initConnector = function (connector) {\n return ConnectorsRestService.initConnector(encodeURIComponent(connector.value))\n .then(function (res) {\n $scope.definitions[connector.key] = res.data;\n\n return ConnectorsRestService.hasConnector(encodeURIComponent(connector.value))\n .then(function (res) {\n $scope.existing[connector.key] = res.data;\n\n });\n });\n };\n\n $scope.getConnectors = function () {\n if (!$scope.isLicenseValid()) {\n return;\n }\n if (!$scope.canWriteActiveRepo()) {\n return;\n }\n\n $scope.setLoader(true, $translate.instant('externalsync.fetching.connectors'), $translate.instant('common.extra.message'));\n\n ConnectorsRestService.getConnectors()\n .then(function (res) {\n $scope.connectors = Object.keys(res.data).map(function (key) {\n return {key: key, value: res.data[key]};\n });\n\n $q.all(_.map($scope.connectors, function (connector) {\n return $scope.initConnector(connector);\n })).finally(function () {\n resetProgress();\n\n const query = createStatusQueryForAny($scope.connectors);\n\n if (query) {\n evaluateSparqlQuery(query)\n .then(function (res) {\n const status = parseFirstBuildingResult(res.data.results);\n if (status.connector) {\n // has a building connector, open progress indicator\n const d = status.connector.split(/#/);\n d[0] = d[0].replace(/\\/instance$/, '#');\n showProgress(d[0], d[1]);\n }\n })\n .finally(function () {\n $scope.setLoader(false);\n });\n } else {\n $scope.setLoader(false);\n }\n });\n }).catch(function (e) {\n $scope.setLoader(false);\n toastr.error(getError(e), $translate.instant('externalsync.could.not.get.connectors.error'));\n });\n\n $scope.existing = {};\n };\n\n $scope.getOptions = function (connector) {\n return $scope.definitions[connector.key];\n };\n\n $scope.isEmpty = function (value) {\n return angular.isObject(value) && Object.keys(value).length === 0;\n };\n\n $scope.toPrettyJson = function (value) {\n return angular.toJson(value, 2);\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, $scope.getConnectors);\n\n $scope.$watch(function () {\n return $repositories.getActiveLocation();\n }, $scope.getConnectors);\n\n function evaluateSparqlQuery(query) {\n return _evaluateSparqlQuery($http, $repositories.getActiveRepository(), query);\n }\n\n function resetProgress(repair) {\n $scope.beingBuiltConnector = {\n percentDone: 0,\n status: {\n processedEntities: 0,\n estimatedEntities: 0,\n indexedEntities: 0,\n entitiesPerSecond: 0\n },\n actionName: repair ? $translate.instant('externalsync.repairing') : $translate.instant('externalsync.creating'),\n waitOnRepairStartOnce: !!repair,\n eta: '-',\n inline: false,\n iri: null\n };\n }\n\n function openProgressModal(prefix, name, repair) {\n resetProgress(repair);\n\n $.extend($scope.beingBuiltConnector, {\n iri: buildNamePrefix(prefix) + name,\n name: name,\n inline: false,\n doneCallback: function () {\n $scope.beingBuiltConnector.modalInstance.dismiss('cancel');\n }\n });\n\n $scope.beingBuiltConnector.modalInstance = $uibModal.open({\n templateUrl: 'pages/connectorProgress.html',\n controller: 'CreateProgressCtrl',\n size: 'lg',\n backdrop: 'static',\n scope: $scope\n });\n\n return $scope.beingBuiltConnector.modalInstance;\n }\n\n function showProgress(prefix, name) {\n resetProgress();\n\n $.extend($scope.beingBuiltConnector, {\n iri: buildNamePrefix(prefix) + name,\n name: name,\n inline: true,\n doneCallback: function () {\n $scope.beingBuiltConnector.inline = false;\n }\n });\n }\n\n function executeCreate(connector, obj, errorCallback) {\n const modal = openProgressModal(connector.value, obj.name, false);\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), jsonToFormData({update: obj.query}))\n .then(function () {\n ConnectorsRestService.getConnectors().then(function () {\n ConnectorsRestService.hasConnector(encodeURIComponent(connector.value)).then(function (res) {\n $scope.existing[connector.key] = res.data;\n });\n });\n toastr.success($translate.instant('created.connector', {name: obj.name}));\n }, function (err) {\n toastr.error(getError(err));\n errorCallback();\n }).finally(function () {\n modal.dismiss('cancel');\n });\n }\n\n $scope.copyConnector = function (connector, values) {\n let newValues;\n if (!angular.isUndefined(values)) {\n newValues = _.cloneDeep(values);\n newValues.name = newValues.name + '-copy';\n }\n const modal = $uibModal.open({\n templateUrl: 'pages/createConnector.html',\n controller: 'CreateConnectorCtrl',\n size: 'lg',\n backdrop: 'static',\n resolve: {\n connector: function () {\n return connector;\n },\n values: function () {\n return angular.isUndefined(newValues) ? {name: '', values: {}} : newValues;\n },\n options: function () {\n return $scope.getOptions(connector);\n }\n }\n });\n\n modal.result.then(function (obj) {\n executeCreate(connector, obj, function () {\n obj.skipConversion = true;\n $scope.newConnector(connector, obj);\n });\n });\n };\n\n $scope.newConnector = function (connector, values) {\n const modal = $uibModal.open({\n templateUrl: 'pages/createConnector.html',\n controller: 'CreateConnectorCtrl',\n size: 'lg',\n backdrop: 'static',\n resolve: {\n connector: function () {\n return connector;\n },\n values: function () {\n return angular.isUndefined(values) ? {name: '', values: {}} : values;\n },\n options: function () {\n return $scope.getOptions(connector);\n }\n }\n });\n\n modal.result.then(function (obj) {\n executeCreate(connector, obj, function () {\n obj.skipConversion = true;\n $scope.newConnector(connector, obj);\n });\n });\n };\n\n $scope.repair = function (inst, type) {\n ModalService.openSimpleModal({\n title: $translate.instant('externalsync.confirm.repair'),\n message: $translate.instant('externalsync.repair.warning.msg'),\n warning: true\n }).result\n .then(function () {\n const modal = openProgressModal(type.value, inst.name, true);\n\n const query = repairConnectorQuery(inst.name, type.value);\n\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), jsonToFormData({update: query}))\n .then(function () {\n ConnectorsRestService.getConnectors().then(function () {\n ConnectorsRestService.hasConnector(encodeURIComponent(type.value)).then(function (res) {\n $scope.existing[type.key] = res.data;\n });\n });\n toastr.success($translate.instant('externalsync.repair.success.msg', {name: inst.name}));\n }, function (err) {\n toastr.error(getError(err));\n }).finally(function () {\n modal.dismiss('cancel');\n });\n });\n };\n\n $scope.delete = function (inst, type) {\n const isExternal = type.key.indexOf(\"Elastic\") >= 0 || type.key.indexOf(\"Solr\") >= 0;\n\n $uibModal.open({\n templateUrl: 'js/angular/externalsync/templates/deleteConnector.html',\n controller: 'DeleteConnectorCtrl',\n resolve: {\n popoverMsg: function () {\n return isExternal ? $translate.instant('delete.connector.conditional', {type: type.key}) : '';\n }\n }\n }).result\n .then(function(force) {\n $scope.setLoader(true, $translate.instant('externalsync.delete.progress.msg', {name: inst.name}),\n $translate.instant('externalsync.extra.message.warning'));\n\n const query = deleteConnectorQuery(inst.name, type.value, force);\n RDF4JRepositoriesRestService.addStatements($repositories.getActiveRepository(), jsonToFormData({update: query}))\n .then(function () {\n ConnectorsRestService.getConnectors().then(function () {\n ConnectorsRestService.hasConnector(encodeURIComponent(type.value)).then(function (res) {\n $scope.existing[type.key] = res.data;\n });\n });\n if (force) {\n toastr.success($translate.instant('externalsync.delete.force.success.msg', {name: inst.name}));\n if (isExternal) {\n toastr.warning($translate.instant('externalsync.delete.remote.warning', {key: type.key}));\n }\n } else {\n toastr.success($translate.instant('externalsync.delete.success.msg', {name: inst.name}));\n }\n }, function (err) {\n toastr.error(getError(err));\n }).finally(function() {\n $scope.setLoader(false);\n });\n });\n };\n\n $scope.viewQuery = function (connector, inst) {\n $uibModal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n const options = $scope.getOptions(connector);\n return createConnectorQuery(inst.name, connector.value,\n mapCreateValuesToUiValues(inst.values, options), options);\n }\n }\n });\n };\n}\n\nDeleteConnectorCtrl.$inject = ['$scope', '$uibModalInstance', 'popoverMsg'];\nfunction DeleteConnectorCtrl($scope, $uibModalInstance, popoverMsg) {\n $scope.force = false;\n $scope.popoverMsg = popoverMsg;\n\n $scope.ok = function () {\n $uibModalInstance.close($scope.force);\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss();\n };\n}\n\nExtendNewConnectorCtrl.$inject = ['$scope', '$uibModalInstance', 'connector', '$uibModal', 'toastr'];\nfunction ExtendNewConnectorCtrl($scope, $uibModalInstance, connector, $uibModal, toastr) {\n\n $scope.connector = connector;\n\n $scope.addField = function (index, optionName) {\n const newField = _.cloneDeep($scope.defaultValues[optionName][0]);\n $scope.values[optionName].splice(index + 1, 0, newField);\n };\n\n $scope.addOption = function (index, array) {\n array.splice(index + 1, 0, '');\n };\n\n $scope.deleteOption = function (index, array) {\n array.splice(index, 1);\n };\n\n $scope.addMapOption = function (index, array) {\n array.splice(index + 1, 0, {key: '', value: ''});\n };\n\n $scope.deleteMapOption = function (index, array) {\n array.splice(index, 1);\n };\n\n function toQuery() {\n return createConnectorQuery($scope.name, connector.value, $scope.values, $scope.options,\n function (label, error) {\n toastr.error(error, label);\n });\n }\n\n $scope.ok = function () {\n if ($scope.form.$valid) {\n const query = toQuery();\n\n if (query) {\n $uibModalInstance.close({name: $scope.name, values: $scope.values, options: $scope.options, query: query});\n }\n }\n };\n\n $scope.viewQuery = function () {\n const query = toQuery();\n\n if (query) {\n $uibModal.open({\n templateUrl: 'pages/viewQuery.html',\n controller: 'ViewQueryCtrl',\n resolve: {\n query: function () {\n return query;\n }\n }\n });\n }\n };\n\n $scope.cancel = function () {\n $uibModalInstance.dismiss('cancel');\n };\n}\n\nCreateConnectorCtrl.$inject = ['$scope', '$controller', '$http', '$uibModalInstance', 'connector', '$uibModal', 'values', 'options'];\n\nfunction CreateConnectorCtrl($scope, $controller, $http, $uibModalInstance, connector, $uibModal, values, options) {\n angular.extend(this, $controller('ExtendNewConnectorCtrl', {\n $scope: $scope,\n $uibModalInstance: $uibModalInstance,\n connector: connector,\n $uibModal: $uibModal\n }));\n $scope.values = values.values;\n $scope.options = options;\n $scope.name = values.name;\n if (!values.skipConversion) {\n $scope.values = mapCreateValuesToUiValues($scope.values, $scope.options);\n }\n $scope.defaultValues = _.cloneDeep($scope.values);\n}\n\n// Note that this is a fancy controller: it's used both for a modal and for a directive.\n// This means you can't rely on custom injection through resolve in the modal and the scope\n// must be shared with the main connectors controller.\nCreateProgressCtrl.$inject = ['$scope', '$interval', '$http', '$repositories', '$translate'];\n\nfunction CreateProgressCtrl($scope, $interval, $http, $repositories, $translate) {\n function evaluateSparqlQuery(query) {\n return _evaluateSparqlQuery($http, $repositories.getActiveRepository(), query);\n }\n\n function initProgress() {\n const query = createStatusQueryForIri($scope.beingBuiltConnector.iri);\n\n // reset iri value so that watch will fire again when we do something with the same connector\n $scope.beingBuiltConnector.iri = null;\n\n $scope.progressInterval = $interval(function () {\n function getFirstStatusFromResult(results) {\n if (results.bindings) {\n if (results.bindings.length > 0) {\n try {\n return JSON.parse(results.bindings[0].status.value);\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n }\n }\n }\n\n return {};\n }\n\n evaluateSparqlQuery(query)\n .then(function (res) {\n const status = getFirstStatusFromResult(res.data.results);\n if (status.status === 'BUILDING') {\n $scope.beingBuiltConnector.status = status;\n $scope.beingBuiltConnector.percentDone = (100 * status.processedEntities / status.estimatedEntities).toFixed(0);\n $scope.beingBuiltConnector.eta = $scope.getHumanReadableSeconds(status.etaSeconds);\n $scope.beingBuiltConnector.actionName = status.repair ? $translate.instant('externalsync.repairing') : $translate.instant('externalsync.creating');\n $scope.beingBuiltConnector.waitOnRepairStartOnce = false;\n } else if (status.status === 'BUILT' && !$scope.beingBuiltConnector.waitOnRepairStartOnce) {\n // done\n $interval.cancel($scope.progressInterval);\n if ($scope.beingBuiltConnector.doneCallback) {\n $scope.beingBuiltConnector.doneCallback();\n }\n }\n });\n }, 1000);\n\n $scope.$on('$destroy', function () {\n $interval.cancel($scope.progressInterval);\n });\n }\n\n $scope.beingBuiltConnector = $scope.beingBuiltConnector || {};\n\n // for modal instance we get the iri before hand and can start progress now\n if (!$scope.beingBuiltConnector.inline && $scope.beingBuiltConnector.iri) {\n initProgress();\n }\n\n // for inline progress we need to watch for the iri value\n $scope.$watch('beingBuiltConnector.iri', function (value) {\n if ($scope.beingBuiltConnector.inline && value) {\n initProgress();\n }\n });\n}\n\nfunction ceil() {\n return function (input) {\n return Math.ceil(input);\n };\n}\n","angular\n .module('graphdb.framework.rest.connectors.service', [])\n .factory('ConnectorsRestService', ConnectorsRestService);\n\nConnectorsRestService.$inject = ['$http'];\n\nconst CONNECTORS_ENDPOINT = 'rest/connectors';\n\nfunction ConnectorsRestService($http) {\n\n return {\n getConnectors,\n initConnector,\n hasConnector,\n checkConnector\n };\n\n /**\n * Fetches all connectors for the repository with id <code>repositoryId</code> and location <code>repositoryLocation</code>.\n * If the repository ID and repository location are not provided, the values persisted in local storage will be used {@see authentication.interceptor.js}.\n *\n * @param {string | undefined} repositoryId - The repository id.\n * @param {string | undefined} repositoryLocation - The repository location.\n * @return {*} The similarity indexes for the specified repository.\n */\n function getConnectors(repositoryId, repositoryLocation) {\n if (repositoryId) {\n return $http.get(CONNECTORS_ENDPOINT, {\n headers: {\n 'X-GraphDB-Repository': repositoryId,\n 'X-GraphDB-Repository-Location': repositoryLocation\n }\n });\n }\n return $http.get(CONNECTORS_ENDPOINT);\n }\n\n function initConnector(prefix) {\n return $http.get(`${CONNECTORS_ENDPOINT}/options?prefix=${prefix}`);\n }\n\n /**\n * Fetches all connectors of a specific type defined by the prefix for the repository with id <code>repositoryId</code>\n * and location <code>repositoryLocation</code>. If the repository ID and repository location are not provided, the currently selected repository will be used.\n * @param {string} prefix\n * @param {string | undefined} repositoryId - The repository id.\n * @param {string | undefined} repositoryLocation - The repository location.\n * @return {Promise<ConnectorListModel>}\n */\n function hasConnector(prefix, repositoryId, repositoryLocation) {\n if (repositoryId) {\n return $http.get(`${CONNECTORS_ENDPOINT}/existing?prefix=${prefix}`, {\n headers: {\n 'X-GraphDB-Repository': repositoryId,\n 'X-GraphDB-Repository-Location': repositoryLocation\n }\n });\n }\n return $http.get(`${CONNECTORS_ENDPOINT}/existing?prefix=${prefix}`);\n }\n\n function checkConnector(data) {\n return $http.post(`${CONNECTORS_ENDPOINT}/check`, data, {\n headers: {\n 'Content-Type': 'text/plain'\n }\n });\n }\n}\n"],"names":["jsonToFormData","data","str","Object","keys","forEach","key","push","encodeURIComponent","join","toArrayMap","map","_","value","fromArrayMap","arrayMap","$translate","reduce","acc","Error","instant","hasOwnProperty","mapCreateValuesToUiValues","values","options","i","length","option","__type","__name","j","__childOptions","child","k","valueK","angular","isDefined","__defaultValue","optionEl","isUndefined","String","toJson","_evaluateSparqlQuery","http","repository","query","post","headers","buildNamePrefix","prefix","substring","createConnectorQuery","name","fields","reportError","fcopy","sortObject","obj","newObject","each","childOption","cloneDeep","fromJson","e","__label","message","removeEmptyValues","finalString","replace","Array","isArray","filter","item","trim","ConnectorsCtrl","$scope","$http","$repositories","$uibModal","toastr","ModalService","$q","RDF4JRepositoriesRestService","ConnectorsRestService","resetProgress","repair","beingBuiltConnector","percentDone","status","processedEntities","estimatedEntities","indexedEntities","entitiesPerSecond","actionName","waitOnRepairStartOnce","eta","inline","iri","openProgressModal","$","extend","doneCallback","modalInstance","dismiss","open","templateUrl","controller","size","backdrop","scope","executeCreate","connector","errorCallback","modal","addStatements","getActiveRepository","update","then","getConnectors","hasConnector","res","existing","success","err","error","getError","finally","loader","controllers","definitions","getLoaderMessage","timeSeconds","Date","now","loaderStartTime","timeHuman","getHumanReadableSeconds","progressMessage","extraMessage","setLoader","isRunning","initConnector","isLicenseValid","canWriteActiveRepo","connectors","all","connectorIris","createStatusQueryForAny","evaluateSparqlQuery","results","bindings","statusObject","JSON","parse","console","parseFirstBuildingResult","d","split","catch","getOptions","isEmpty","isObject","toPrettyJson","$watch","getActiveLocation","copyConnector","newValues","resolve","result","skipConversion","newConnector","inst","type","openSimpleModal","title","warning","delete","isExternal","indexOf","popoverMsg","force","namePrefix","deleteConnectorQuery","viewQuery","DeleteConnectorCtrl","$uibModalInstance","ok","close","cancel","ExtendNewConnectorCtrl","toQuery","label","addField","index","optionName","newField","defaultValues","splice","addOption","array","deleteOption","addMapOption","deleteMapOption","form","$valid","CreateConnectorCtrl","$controller","this","CreateProgressCtrl","$interval","initProgress","statusIri","createStatusQueryForIri","progressInterval","getFirstStatusFromResult","toFixed","etaSeconds","$on","module","input","Math","ceil","$inject","factory","CONNECTORS_ENDPOINT","repositoryId","repositoryLocation","get","checkConnector"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"28050.8ca1fa760c892bfc5466.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/dynamic-form-field.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/directives/generate-endpoint.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/multiselect-dropdown/multiselect-dropdown.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/dynamic-form/dynamic-form.directive.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/graphql/controllers/endpoint-generation-failure-result-modal.controller.js"],"sourcesContent":["import {FIELD_TYPE} from \"./field-type\";\n\nconst modules = [];\nangular\n .module('graphdb.framework.core.directives.dynamic-form-field', modules)\n .directive('dynamicFormField', dynamicFormFieldDirective);\n\ndynamicFormFieldDirective.$inject = [];\n\nfunction dynamicFormFieldDirective($compile) {\n return {\n restrict: 'E',\n scope: {\n field: '=',\n form: '=',\n translationKeyPrefix: '='\n },\n templateUrl: 'js/angular/core/directives/dynamic-form/templates/form-field-template.html',\n link: function($scope) {\n $scope.FIELD_TYPE = FIELD_TYPE;\n }\n };\n}\n","import {GraphqlEventName} from \"../services/graphql-context.service\";\nimport '../controllers/endpoint-generation-failure-result-modal.controller';\nimport {endpointUrl} from \"../models/endpoints\";\n\nangular\n .module('graphdb.framework.graphql.directives.generate-endpoint', [\n 'graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal'\n ])\n .directive('generateEndpoint', GenerateEndpointComponent);\n\nGenerateEndpointComponent.$inject = ['ModalService', '$uibModal', '$translate', '$repositories', 'GraphqlService', 'GraphqlContextService'];\n\nfunction GenerateEndpointComponent(ModalService, $uibModal, $translate, $repositories, GraphqlService, GraphqlContextService) {\n return {\n restrict: 'E',\n templateUrl: 'js/angular/graphql/templates/step-generate-endpoint.html',\n scope: {\n stepDefinition: '='\n },\n link: ($scope) => {\n\n // =========================\n // Public variables\n // =========================\n\n /**\n * The endpoint configuration model.\n * @type {GraphqlEndpointConfiguration|undefined}\n */\n $scope.endpointConfiguration = undefined;\n\n /**\n * The count of the endpoints that will be generated.\n * @type {number}\n */\n $scope.endpointsCountToGenerate = 0;\n\n /**\n * A model with the overview of the endpoints to be generated.\n * @type {GraphqlEndpointOverviewList|undefined}\n */\n $scope.endpointsOverview = undefined;\n\n /**\n * The active repository.\n */\n $scope.activeRepository = $repositories.getActiveRepository();\n\n /**\n * A flag indicating if the endpoint will be generated from the GraphQL schema shapes.\n * @type {boolean}\n */\n $scope.generateFromGraphqlSchemaShapes = false;\n\n /**\n * A flag indicating if the endpoint generation is in progress.\n * @type {boolean}\n */\n $scope.generatingEndpoint = false;\n\n /**\n * The endpoint generation report.\n * @type {EndpointGenerationReportList|undefined}\n */\n $scope.generationReport = undefined;\n\n /**\n * Exposes the graphql module view URL constants for use in the template.\n * @type {{string?: string}}\n */\n $scope.endpointUrl = endpointUrl;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Handles the transition to the previous step in the create endpoint wizard.\n */\n $scope.back = () => {\n GraphqlContextService.previousEndpointCreationStep();\n };\n\n /**\n * Handles the termination of the create endpoint wizard.\n */\n $scope.cancel = () => {\n const title = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title');\n const confirmDeleteMessage = $translate.instant('graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body');\n ModalService.openConfirmation(title, confirmDeleteMessage, () => {\n GraphqlContextService.cancelEndpointCreation();\n });\n };\n\n /**\n * Handles the creation of the GraphQL endpoint.\n */\n $scope.generateEndpoint = () => {\n $scope.generatingEndpoint = true;\n $scope.generationReport = undefined;\n GraphqlContextService.generateEndpoint();\n };\n\n /**\n * Handles the completion of the endpoint generation workflow.\n */\n $scope.finishGenerationWorkflow = () => {\n GraphqlContextService.finishGenerationWorkflow();\n };\n\n /**\n * Triggers an event to open the endpoint generation report modal.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n $scope.showEndpointReport = (endpointReport) => {\n GraphqlContextService.openEndpointGenerationReport(endpointReport);\n }\n\n /**\n * Opens the endpoint in the playground in a new browser tab.\n * @param {EndpointGenerationReport} endpointReport The endpoint generation report.\n */\n $scope.exploreInPlayground = (endpointReport) => {\n GraphqlContextService.exploreEndpointInPlayground(endpointReport);\n }\n\n // =========================\n // Private functions\n // =========================\n\n /**\n * Handles the completion of the endpoint generation.\n * @param {EndpointGenerationReportList} generationReport The endpoint generation report.\n */\n const onEndpointGenerated = (generationReport) => {\n $scope.generatingEndpoint = false;\n $scope.generationReport = generationReport;\n };\n\n // =========================\n // Subscriptions\n // =========================\n\n const subscriptions = [];\n\n const onDestroy = () => {\n subscriptions.forEach((subscription) => subscription());\n };\n\n subscriptions.push(GraphqlContextService.subscribe(GraphqlEventName.ENDPOINT_GENERATED, onEndpointGenerated));\n\n $scope.$on('$destroy', onDestroy);\n\n const onInit = () => {\n $scope.endpointConfiguration = GraphqlContextService.getNewEndpoint();\n $scope.generateFromGraphqlSchemaShapes = $scope.endpointConfiguration.hasSelectedGraphqlSchemaShapes();\n $scope.endpointsCountToGenerate = GraphqlService.getEndpointsCountToGenerate($scope.endpointConfiguration);\n $scope.endpointsOverview = GraphqlService.getGenerateEndpointsOverview($scope.endpointConfiguration);\n }\n onInit();\n }\n };\n}\n","/**\n * @function multiselectDropdown\n * @description\n * A directive for rendering a multi-select dropdown.\n *\n * This directive displays a list of options with checkboxes that allows users\n * to select multiple items. Each option should be an instance of the\n * SelectOptionsModel, which encapsulates the display label, value,\n * selection state, and any additional data. Clicking the toggle button opens/closes\n * the dropdown; clicking outside the dropdown closes it.\n *\n * @example\n * ### HTML Usage:\n * ```html\n * <multiselect-dropdown\n * ng-model=\"selectedOptions\"\n * options=\"myOptions\"\n * dropdown-label=\"'Choose Items'\">\n * </multiselect-dropdown>\n * ```\n *\n * ### Controller Example:\n * ```javascript\n * angular.module('myApp', [])\n * .controller('ExampleController', function($scope) {\n * $scope.myOptions = [\n * new SelectOptionsModel({ label: 'Option A', value: 'A' }),\n * new SelectOptionsModel({ label: 'Option B', value: 'B' }),\n * new SelectOptionsModel({ label: 'Option C', value: 'C' })\n * ];\n * });\n * ```\n *\n * @param {Array.<SelectOptionsModel>} options - The array of options displayed in the dropdown.\n * @param {string=} [dropdownLabel='Select...'] - (Optional) The placeholder text if no items are selected.\n *\n * @returns {Object} The directive definition object.\n */\nangular.module('graphdb.framework.core.directives.multiselect-dropdown', [])\n .directive('multiselectDropdown', ['$translate', function ($translate) {\n return {\n restrict: 'E',\n require: 'ngModel',\n scope: {\n options: '=',\n dropdownLabel: '=?'\n },\n templateUrl: 'js/angular/core/directives/multiselect-dropdown/templates/multiselect-dropdown.html',\n link: function($scope, element, attrs, ngModel) {\n // =========================\n // Public variables\n // =========================\n $scope.isOpen = false;\n\n // =========================\n // Private methods\n // =========================\n // Close the dropdown if the user clicks outside it.\n const handleDocumentClick = (event) => {\n if (!element[0].contains(event.target)) {\n $scope.$apply(() => {\n $scope.isOpen = false;\n });\n }\n };\n\n const updateModel = () => {\n const selected = $scope.options.filter(function(option) {\n return option.selected;\n });\n ngModel.$setViewValue(selected);\n }\n\n // =========================\n // Public methods\n // =========================\n $scope.toggleDropdown = function () {\n $scope.isOpen = !$scope.isOpen;\n };\n\n /**\n * Toggle the selection state of an option.\n * @param {SelectOptionsModel} option\n */\n $scope.toggleSelection = function (option) {\n option.selected = !option.selected;\n updateModel();\n };\n\n /**\n * Build the display text for the dropdown toggle.\n * Iterates the options and joins the labels of selected options.\n * @returns {string}\n */\n $scope.getSelectedText = function () {\n const selectedOptions = $scope.options.filter((option) => option.selected);\n if (selectedOptions.length === 0) {\n return $scope.dropdownLabel || $translate.instant('common.select');\n }\n return selectedOptions.map((option) => option.label).join(', ');\n };\n\n /**\n * If ngModel provides an initial value, update the corresponding option selections.\n */\n ngModel.$render = function () {\n if (angular.isArray(ngModel.$viewValue)) {\n $scope.options.forEach(function(option) {\n option.selected = ngModel.$viewValue.some(function(selectedOption) {\n return selectedOption.value === option.value;\n });\n });\n }\n };\n\n // =========================\n // Subscriptions\n // =========================\n document.addEventListener('click', handleDocumentClick);\n $scope.$on('$destroy', () => {\n document.removeEventListener('click', handleDocumentClick);\n });\n }\n };\n }]);\n","import 'angular/core/directives/dynamic-form/dynamic-form-field.directive';\nimport {FIELD_TYPE} from \"./field-type\";\n\n/**\n * @function dynamicFormDirective\n * @description\n * A directive for rendering a dynamic form based on an array of field objects.\n *\n * This directive creates a form where each object in the provided formModel defines the type of input to render\n * (for example, text input, checkbox, dropdown, multi-select, or textarea for JSON data). The directive uses the\n * {@link FIELD_TYPE} enum to determine which input type to display. For select and multi-select fields, the\n * {@link SelectMenuOptionsModel} should be used to model the options.\n *\n * Additionally, the directive supports an optional `onValidityChange` callback that will be called whenever the overall\n * validity of the form changes. This is useful for informing a parent component or controller about the current form validity.\n *\n * @example\n * ### HTML Usage:\n * ```html\n * <dynamic-form formModel=\"myFields\" on-validity-change=\"handleValidityChange(valid)\"></dynamic-form>\n * ```\n *\n * @param {Object[]} field - The array of field objects used to render the form fields.\n * @param {string} field[].label - The label displayed for the input.\n * @param {string} field[].type - The type of field input. Should be one of the values defined in {@link FIELD_TYPE}.\n * @param {*} field[].value - The current value of the field.\n * @param {SelectMenuOptionsModel[]} [field[].values] - The array of possible options for select and multi-select fields.\n * @param {(string|RegExp)} [field[].regex] - A regular expression or its string representation for validating the field value.\n * @param {boolean} [field[].required=false] - Indicates whether the field is required.\n *\n * @returns {Object} The directive definition object.\n */\nconst modules = ['graphdb.framework.core.directives.dynamic-form-field'];\nangular\n .module('graphdb.framework.core.directives.dynamic-form', modules)\n .directive('dynamicForm', dynamicFormDirective);\n\ndynamicFormDirective.$inject = [];\n\nfunction dynamicFormDirective() {\n return {\n restrict: 'E',\n scope: {\n /**\n * @type {DynamicFormModel}\n */\n formModel: '=',\n /**\n * Controls whether to show all fields or only the ones that are not hidden in the model.\n * @type {boolean}\n */\n showAllFields: '=?',\n onValidityChange: '&?',\n formCtrl: '=?',\n translationKeyPrefix: '@?'\n },\n templateUrl: 'js/angular/core/directives/dynamic-form/templates/dynamic-form.html',\n link: function($scope, element) {\n // =========================\n // Public variables\n // =========================\n $scope.FIELD_TYPE = FIELD_TYPE;\n $scope.formCtrl = undefined;\n $scope.showAllFields = $scope.showAllFields || false;\n\n // =========================\n // Private function\n // =========================\n const init = () => {\n const formElement = element.find('form');\n const formCtrl = formElement.controller('form');\n\n if (!formCtrl) {\n console.error('Form controller not found!');\n return;\n }\n\n $scope.formCtrl = formCtrl;\n const originalSetValidity = formCtrl.$setValidity;\n $scope.formCtrl.$setValidity = function (validationToken, isValid, modelCtrl) {\n originalSetValidity.call(formCtrl, validationToken, isValid, modelCtrl);\n if ($scope.onValidityChange) {\n $scope.onValidityChange({valid: formCtrl.$valid});\n }\n };\n };\n\n // =========================\n // Initialization\n // =========================\n init();\n }\n };\n}\n\n\n","import '../../core/services/graphql.service';\nimport 'angular/core/directives/dynamic-form/dynamic-form.directive';\nimport 'angular/core/directives/multiselect-dropdown/multiselect-dropdown.directive';\n\nconst modules = [\n 'graphdb.framework.core.services.graphql-service',\n];\n\nangular\n .module('graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal', modules)\n .controller('EndpointGenerationResultFailureModalController', EndpointGenerationResultFailureModalController);\n\nEndpointGenerationResultFailureModalController.$inject = ['$scope', '$uibModalInstance', 'data', 'GraphqlContextService'];\n\nfunction EndpointGenerationResultFailureModalController($scope, $uibModalInstance, data, GraphqlContextService) {\n // =========================\n // Private variables\n // =========================\n\n const REPORT_FILE_NAME = 'generation-report.json';\n\n // =========================\n // Public variables\n // =========================\n\n /**\n * The generation report model.\n * @type {EndpointGenerationReport|undefined}\n */\n $scope.endpointReport = undefined;\n\n // =========================\n // Public functions\n // =========================\n\n /**\n * Handles the download report button click.\n */\n $scope.downloadReport = () => {\n const reportData = JSON.stringify($scope.endpointReport.toJSON(), null, 2);\n const blob = new Blob([reportData], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = $scope.endpointReport.endpointId ? `${$scope.endpointReport.endpointId}-${REPORT_FILE_NAME}` : REPORT_FILE_NAME;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n };\n\n /**\n * Deletes generation report and dismisses the modal.\n */\n $scope.deleteReport = () => {\n GraphqlContextService.deleteEndpointGenerationReport($scope.endpointReport);\n $scope.close();\n }\n\n /**\n * Cancels the operation and dismisses the modal.\n */\n $scope.close = () => {\n $uibModalInstance.dismiss('cancel')\n };\n\n // =========================\n // Private functions\n // =========================\n\n const init = () => {\n $scope.endpointReport = data.endpointReport;\n };\n\n // =========================\n // Initialization\n // =========================\n init();\n}\n"],"names":["dynamicFormFieldDirective","$compile","restrict","scope","field","form","translationKeyPrefix","templateUrl","link","$scope","FIELD_TYPE","angular","module","directive","$inject","GenerateEndpointComponent","ModalService","$uibModal","$translate","$repositories","GraphqlService","GraphqlContextService","stepDefinition","endpointConfiguration","undefined","endpointsCountToGenerate","endpointsOverview","activeRepository","getActiveRepository","generateFromGraphqlSchemaShapes","generatingEndpoint","generationReport","endpointUrl","back","previousEndpointCreationStep","cancel","title","instant","confirmDeleteMessage","openConfirmation","cancelEndpointCreation","generateEndpoint","finishGenerationWorkflow","showEndpointReport","endpointReport","openEndpointGenerationReport","exploreInPlayground","exploreEndpointInPlayground","subscriptions","push","subscribe","GraphqlEventName","ENDPOINT_GENERATED","$on","onDestroy","forEach","subscription","getNewEndpoint","hasSelectedGraphqlSchemaShapes","getEndpointsCountToGenerate","getGenerateEndpointsOverview","require","options","dropdownLabel","element","attrs","ngModel","isOpen","handleDocumentClick","event","contains","target","$apply","toggleDropdown","toggleSelection","option","selected","updateModel","filter","$setViewValue","getSelectedText","selectedOptions","length","map","label","join","$render","isArray","$viewValue","some","selectedOption","value","document","addEventListener","removeEventListener","dynamicFormDirective","formModel","showAllFields","onValidityChange","formCtrl","init","find","controller","console","error","originalSetValidity","$setValidity","validationToken","isValid","modelCtrl","call","valid","$valid","EndpointGenerationResultFailureModalController","$uibModalInstance","data","REPORT_FILE_NAME","downloadReport","reportData","JSON","stringify","toJSON","blob","Blob","type","url","URL","createObjectURL","a","createElement","href","download","endpointId","body","appendChild","click","removeChild","revokeObjectURL","deleteReport","deleteEndpointGenerationReport","close","dismiss"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=33524;export const __webpack_ids__=[15435,33524,42826,56139,56413,66014,71156,83610,84923];export const __webpack_modules__={15435:(e,n,t)=>{t.r(n),t.d(n,{RenderingMode:()=>o});const o={YASGUI:"mode-yasgui",YASQE:"mode-yasqe",YASR:"mode-yasr"}},33524:(e,n,t)=>{t.r(n),t(82493),t(5687),t(25222),t(76933),t(66014),t(42826),t(93098),angular.module("graphdb.framework.jdbc",["toastr","ui.bootstrap","graphdb.framework.jdbc.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.jdbc.service","graphdb.framework.core.directives.yasgui-component"])},42826:()=>{angular.module("graphdb.framework.rest.jdbc.service",[]).factory("JdbcRestService",n),n.$inject=["$http","$repositories","$translate"];const e="rest/sql-views";function n(n,t){return{getJdbcConfigurations:function(){return n.get(`${e}/tables`)},getJdbcConfiguration:function(t){return n.get(`${e}/tables/${t}`)},createNewJdbcConfiguration:function(e){return o("POST","",e)},updateJdbcConfiguration:function(e){return o("PUT",e.name,e)},deleteJdbcConfiguration:function(t){return n.delete(`${e}/tables/${t}`)},getColumnNames:function(t){return n.post(`${e}/columns`,t,{headers:{Accept:"application/json","Content-Type":"text/plain"}})},getColumnsTypeSuggestion:function(o,i){if(!Array.isArray(i))throw new Error(t.instant("jdbc.column.names.constraint"));return n({method:"POST",url:`${e}/types`,data:{query:o,column_names:i}})},getExistingSqlTablePreview:function(e,t){return n({method:"GET",url:`rest/sql-views/preview/${e}`,params:{limit:t}})},getNewSqlTablePreview:function(e,t){return n({method:"POST",url:"rest/sql-views/preview",contentType:"application/json; charset=utf-8",dataType:"json",data:e,params:{limit:t},headers:{Accept:"application/sparql-results+json"}})}};function o(t,o,i){return n({method:t,url:o?`${e}/tables/${o}`:`${e}/tables`,noCancelOnRouteChange:!0,data:{name:i.name,query:i.query,columns:i.columns||[]}})}}},56139:()=>{function e(e,n){return{showToastMessageWithDelay:function(t){return new Promise(o=>{e.success(n.instant(t)),setTimeout(o,300)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",e),e.$inject=["toastr","$translate"]},56413:(e,n,t)=>{t.r(n),t.d(n,{DEFAULT_SPARQL_QUERY:()=>o,JdbcConfigurationInfo:()=>i});const o="PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}";class i{constructor(e=o,n=!0,t=void 0){this.query=e,this.jdbcConfigurationName=t,this.isNewJdbcConfiguration=n,this.isValidQuery=!0,this.isValidQueryType=!0,this.hasUndefinedColumns=!1,this.isColumnsEmpty=!1,this.columns=[]}}},66014:(e,n,t)=>{t.r(n),t(76933),t(83351),t(56139),t(82493),t(81655);var o=t(56413),i=t(71156),r=t(84923),s=t(15435),a=t(83610),c=t(85727),u=t(69937),l=t(57154);function d(e,n,t,o,i,r){e.getSqlConfigurations=function(){!n.getActiveRepository()||n.isActiveRepoOntopType()||n.isActiveRepoFedXType()?e.jdbcConfigurations=[]:t.getJdbcConfigurations().success(function(n){e.jdbcConfigurations=n}).error(function(e){const n=getError(e);o.error(n,r.instant("jdbc.not.get.SQL.msg"))})},e.$watch(function(){return n.getActiveRepository()},function(){e.getSqlConfigurations()}),e.deleteConfiguration=function(n){i.openSimpleModal({title:r.instant("common.warning"),message:r.instant("jdbc.delete.sql.table.warning.msg",{name:n}),warning:!0}).result.then(function(){t.deleteJdbcConfiguration(n).success(function(){e.getSqlConfigurations()}).error(function(e){o.error(getError(e),r.instant("jdbc.not.delete.sql.msg"))})})}}function g(e,n,t,d,g,f,m,p,b,y,C,h,j,w,v,q){n.emptySparqlResponse='{"head": {"vars": []},"results": {"bindings": []}}',n.getSuggestionSqlType="",n.sqlTypes=[],n.activeTab=1,n.jdbcConfigurationInfo=new o.JdbcConfigurationInfo,n.jdbcConfigurationInfo.jdbcConfigurationName=d.search().name||"",n.saveOrUpdateExecuted=!1,n.jdbcConfigurationInfo.isNewJdbcConfiguration=!n.jdbcConfigurationInfo.jdbcConfigurationName,n.language=v.getLanguage(),n.isDirty=!1,n.prefixes=[],n.loadingControllerResources=!1,n.isQueryRunning=!1,n.canEditActiveRepo=!1;let S=!0,R=!0;n.saveJdbcConfiguration=()=>{if(n.saveOrUpdateExecuted=!0,!n.jdbcConfigurationInfo.jdbcConfigurationName)return;if(!n.isDirty)return void F();const e=n.jdbcConfigurationInfo.isNewJdbcConfiguration?_:$;N(n.jdbcConfigurationInfo).then(P).then(Q).then(M).then(e).catch(e=>{if(!(e instanceof r.JdbcConfigurationError)){const n=getError(e);g.error(n,w.instant("jdbc.not.saved.configuration"))}})},n.getPreview=()=>{n.activeTab=1,n.isQueryRunning=!0,N(n.jdbcConfigurationInfo).then(P).then(Q).then(M).then(e=>(A({render:s.RenderingMode.YASQE,initialQuery:e.query}),e)).then(E).then(([e,n])=>{const t=e&&e.results.bindings&&e.results.bindings.length>0;let o=s.RenderingMode.YASGUI;t||(o=s.RenderingMode.YASQE,g.info(w.instant("jdbc.table.definition"),w.instant("jdbc.preview.sql"))),A({render:o,sparqlResponse:e,initialQuery:n.query})}).catch(e=>{e instanceof r.JdbcConfigurationError?e.jdbcConfigurationInfo&&(e.jdbcConfigurationInfo.isColumnsEmpty||e.jdbcConfigurationInfo.hasUndefinedColumns)&&(D(),n.activeTab=2):g.error(getError(e,0,100),w.instant("jdbc.not.show.preview"))}).finally(()=>{n.isQueryRunning=!1})},n.setActiveTab=e=>{n.activeTab=e;const t=n.jdbcConfigurationInfo.columns;2!==n.activeTab||t&&0!==t.length||N(n.jdbcConfigurationInfo).then(P).then(()=>{n.getColumnsSuggestions()})},n.setDirty=()=>{n.isDirty=!0},n.getTypeLabel=e=>{switch(e){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return e.indexOf(" ")>0?e:e.toUpperCase()}},n.selectColumnType=(e,t)=>{n.setDirty();const o=n.jdbcConfigurationInfo.columns.find(n=>n.column_name===e);o.column_type===n.getSuggestionSqlType&&M(n.jdbcConfigurationInfo).then(n=>y.getColumnsTypeSuggestion(n.query,[e])).then(e=>e.data).then(e=>{(0,a.updateColumn)(o,e),T(o.column_type,t)}).catch(e=>{g.error(getError(e),w.instant("jdbc.not.suggest.column.type"))})},n.deleteColumn=function(e,t){j.openSimpleModal({title:w.instant("common.warning"),message:w.instant("jdbc.warning.delete.column.msg",{columnName:e}),warning:!0}).result.then(function(){n.jdbcConfigurationInfo.columns.splice(t,1),n.setDirty()})},n.getColumnsSuggestions=()=>{n.jdbcConfigurationInfo.columns&&n.jdbcConfigurationInfo.columns.length>0?j.openSimpleModal({title:w.instant("common.warning"),message:w.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then(function(){D()}):D()},n.hasPrecision=e=>"iri"===e||"string"===e||"decimal"===e,n.containsColumnsWithPrecision=e=>e&&e.some(e=>n.hasPrecision(e.column_type)),n.containsColumnsWithScale=e=>e&&e.some(e=>U(e.column_type)),n.isLiteral=e=>"iri"!==e&&"unknown"!==e,n.containsNonLiteralColumnsOnly=e=>e&&e.every(e=>!n.isLiteral(e.column_type));const E=e=>{if(n.canWriteActiveRepo){const t=JSON.stringify({name:n.jdbcConfigurationInfo.jdbcConfigurationName,query:n.jdbcConfigurationInfo.query,columns:n.jdbcConfigurationInfo.columns||[]});return Promise.all([y.getNewSqlTablePreview(t).then(e=>e.data),Promise.resolve(e)])}return Promise.all([y.getExistingSqlTablePreview(n.jdbcConfigurationInfo.jdbcConfigurationName).then(e=>e.data),Promise.resolve(e)])},T=(e,n)=>{e===n?g.info((0,u.Gz)(w.instant("jdbc.same.suggested.sql.type",{type:e})),w.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):g.success((0,u.Gz)(w.instant("jdbc.suggested.sql.type",{type:e})),w.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},I=(e,t=new o.JdbcConfigurationInfo)=>{n.jdbcConfigurationInfo.columns=t.columns,n.jdbcConfigurationInfo.query=t.query,n.jdbcConfigurationInfo.jdbcConfigurationName=d.search().name||"",n.jdbcConfigurationInfo.isNewJdbcConfiguration=!n.jdbcConfigurationInfo.jdbcConfigurationName,n.prefixes=e,A(),V()},_=e=>{const t={name:e.jdbcConfigurationName,query:e.query,columns:e.columns};return y.createNewJdbcConfiguration(t).then(()=>{n.isDirty=!1,n.jdbcConfigurationInfo.isNewConfiguration=!1,g.success(w.instant("jdbc.saved.configuration")),W()})},$=e=>{const t={name:e.jdbcConfigurationName,query:e.query,columns:e.columns};return y.updateJdbcConfiguration(t).then(()=>{n.isDirty=!1,n.jdbcConfigurationInfo.isNewConfiguration=!1,g.success(w.instant("jdbc.configuration.updated")),W()})},A=(e={})=>{const t={};angular.extend(t,n.yasguiConfig||J(),e),n.yasguiConfig=t},J=()=>({showEditorTabs:!1,showToolbar:!1,showResultTabs:!1,showQueryButton:!1,showResultInfo:!1,downloadAsOn:!1,showYasqeResizer:!1,initialQuery:n.jdbcConfigurationInfo.query,componentId:"jdbc-component",prefixes:n.prefixes,maxPersistentResponseSize:0,render:s.RenderingMode.YASQE,getCellContent:L,sparqlResponse:n.emptySparqlResponse,yasqeActionButtons:c.DISABLE_YASQE_BUTTONS_CONFIGURATION,yasqeMode:n.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.READ}),N=e=>O().getQueryType().then(n=>(e.isValidQueryType="SELECT"===n,e.isValidQueryType?e:Promise.reject(new r.JdbcConfigurationError("Query type is not valid.")))),P=e=>O().isQueryValid().then(n=>(e.isValidQuery=n,e.isValidQuery?e:Promise.reject(new r.JdbcConfigurationError("Invalid query.")))),Q=e=>e.columns&&0!==e.columns.length?n.jdbcConfigurationInfo.columns&&n.jdbcConfigurationInfo.columns.find(e=>"unknown"===e.column_type)?(e.hasUndefinedColumns=!0,Promise.reject(new r.JdbcConfigurationError("There are columns without defined type.",e))):Promise.resolve(e):(e.isColumnsEmpty=!0,g.error(w.instant("jdbc.warning.one.column.msg")),Promise.reject(new r.JdbcConfigurationError("There are not defined columns.",e))),D=()=>{N(n.jdbcConfigurationInfo).then(P).then(M).then(x).then(k).then(e=>n.jdbcConfigurationInfo=e).catch(e=>{console.log(e)})},x=e=>y.getColumnNames(e.query).then(n=>[e,n.data]).catch(function(e){g.error(getError(e),w.instant("jdbc.not.suggest.column.names"))}),k=([e,t])=>y.getColumnsTypeSuggestion(e.query,t).then(function(o){return e.columns=(0,a.toJDBCColumns)(t,o.data),e.isColumnsEmpty=e.columns.length,n.setDirty(),e}).catch(function(e){g.error(getError(e),w.instant("jdbc.not.suggest.column.types"))}),O=()=>c.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),M=e=>O().getQuery().then(n=>(e.query=n,e)),U=e=>"decimal"===e,L=(e,n)=>{let t=e.value;return t=t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),"<div class = 'literal-cell'><p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+t+"</p></div>"},Y=(e,n,t,o)=>{j.openSimpleModal({title:e,message:n,warning:!0}).result.then(function(){angular.isFunction(t)&&t()},function(){angular.isFunction(o)&&o()})},V=()=>{n.getSuggestionSqlType=w.instant("view.jdbc.create.get_suggestion_sql_type"),n.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp",n.getSuggestionSqlType]},W=()=>{setTimeout(function(){F()},1e3)},F=()=>{d.url("/jdbc")},B=e=>{n.isDirty&&(e.returnValue=!0)},G=()=>{window.removeEventListener("beforeunload",B),z.forEach(e=>e())},z=[],H=l.ServiceProvider.get(l.RepositoryContextService).onSelectedRepositoryChanged(e=>{e&&(R?R=!1:O().abortQuery().then(F))},()=>new Promise(function(e){if(n.jdbcConfigurationInfo.isNewJdbcConfiguration)return void e(!0);const t=()=>{n.isDirty=!1,e(!0)};if(n.isDirty){const n=()=>{e(!1)},o=w.instant("common.confirm"),i=w.instant("jdbc.warning.unsaved.changes");Y(o,i,t,n)}else t()}));z.push(H),z.push(t.$on("$translateChangeSuccess",()=>{n.language=v.getLanguage(),V()})),z.push(n.$on("$locationChangeStart",(e,t)=>{if(n.isDirty){e.preventDefault();const n=w.instant("common.confirm"),o=w.instant("jdbc.warning.unsaved.changes");Y(n,o,()=>{G();const e=d.absUrl().length-d.url().length,n=t.substring(e);d.path(n)})}else G()})),z.push(n.$on("$destroy",G)),window.addEventListener("beforeunload",B),z.push(n.$watch(n.getActiveRepositoryObject,e=>{e&&(n.canEditActiveRepo=n.canWriteActiveRepo(),S?((()=>{n.loadingControllerResources=!0;const e=f.getActiveRepository();n.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([f.getPrefixes(e),y.getJdbcConfiguration(n.jdbcConfigurationInfo.jdbcConfigurationName)]).then(([e,n])=>{I(e,n.data)}).finally(()=>n.loadingControllerResources=!1):f.getPrefixes(e).then(e=>I(e)).finally(()=>n.loadingControllerResources=!1)})(),S=!1):O().abortQuery().then(F))}))}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr","graphdb.framework.utils.event-emitter-service"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",d).controller("JdbcCreateCtrl",g),d.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],g.$inject=["$q","$scope","$rootScope","$location","toastr","$repositories","$window","$timeout","$interval","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate","$languageService","EventEmitterService"]},71156:(e,n,t)=>{t.r(n),t.d(n,{YasqeMode:()=>o});const o={WRITE:"WRITE",READ:"READ",PROTECTED:"PROTECTED"}},83610:(e,n,t)=>{t.r(n),t.d(n,{JdbcColumn:()=>o,toJDBCColumns:()=>i,updateColumn:()=>r});class o{constructor(){this.column_name="",this.column_type="",this.sparql_type="",this.nullable=!0}}const i=(e=[],n)=>e.map(e=>({column_name:e,column_type:n[e].column_type,nullable:!0,sparql_type:n[e].sparql_type})),r=(e,n)=>{e.column_type=n[e.column_name].column_type,e.sparql_type=n[e.column_name].sparql_type}},84923:(e,n,t)=>{t.r(n),t.d(n,{JdbcConfigurationError:()=>o});class o extends Error{constructor(e,n){super(e),this.jdbcConfigurationInfo=n}}}};
|
|
2
|
-
//# sourceMappingURL=33524.35fe079bcb99a78babaf.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"33524.35fe079bcb99a78babaf.bundle.js","mappings":"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","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontotext-yasgui/rendering-mode.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/jdbc/app.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/rest/jdbc.rest.service.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/utils/notifications.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/jdbc/jdbc-configuration-info.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/jdbc/controllers.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/ontotext-yasgui/yasqe-mode.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/jdbc/jdbc-column.js","webpack://root-config/./packages/legacy-workbench/src/js/angular/models/jdbc/jdbc-configuration-error.js"],"sourcesContent":["export const RenderingMode = {\n YASGUI: 'mode-yasgui',\n YASQE: 'mode-yasqe',\n YASR: 'mode-yasr'\n};\n","import 'angular/core/services';\nimport 'angular/core/directives';\nimport 'angular/resources/controllers';\nimport 'angular/core/services/repositories.service';\nimport 'angular/jdbc/controllers';\nimport 'angular/rest/jdbc.rest.service';\nimport 'angular/core/directives/yasgui-component/yasgui-component.directive';\n\nconst modules = [\n 'toastr',\n 'ui.bootstrap',\n 'graphdb.framework.jdbc.controllers',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.core.directives',\n 'graphdb.framework.rest.jdbc.service',\n 'graphdb.framework.core.directives.yasgui-component'\n];\n\nangular.module('graphdb.framework.jdbc', modules);\n\n","angular\n .module('graphdb.framework.rest.jdbc.service', [])\n .factory('JdbcRestService', JdbcRestService);\n\nJdbcRestService.$inject = ['$http', '$repositories', '$translate'];\n\nconst JDBC_ENDPOINT = 'rest/sql-views';\n\nfunction JdbcRestService($http, $translate) {\n\n return {\n getJdbcConfigurations,\n getJdbcConfiguration,\n createNewJdbcConfiguration,\n updateJdbcConfiguration,\n deleteJdbcConfiguration,\n getColumnNames,\n getColumnsTypeSuggestion,\n getExistingSqlTablePreview,\n getNewSqlTablePreview\n };\n\n function getJdbcConfigurations() {\n return $http.get(`${JDBC_ENDPOINT}/tables`);\n }\n\n function getJdbcConfiguration(configuration) {\n return $http.get(`${JDBC_ENDPOINT}/tables/${configuration}`);\n }\n\n function createConfiguration(method, table, configuration) {\n const url = table ? `${JDBC_ENDPOINT}/tables/${table}` : `${JDBC_ENDPOINT}/tables`;\n return $http({\n method,\n url: url,\n noCancelOnRouteChange: true,\n data: {\n name: configuration.name,\n query: configuration.query,\n columns: configuration.columns || []\n }\n }\n );\n }\n\n function createNewJdbcConfiguration(configuration) {\n return createConfiguration('POST', '', configuration);\n }\n\n function updateJdbcConfiguration(configuration) {\n return createConfiguration('PUT', configuration.name, configuration);\n }\n\n function deleteJdbcConfiguration(name) {\n return $http.delete(`${JDBC_ENDPOINT}/tables/${name}`);\n }\n\n function getColumnNames(query) {\n const headers = {\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'text/plain'\n }\n };\n\n return $http.post(`${JDBC_ENDPOINT}/columns`, query, headers);\n }\n\n function getColumnsTypeSuggestion(query, columns) {\n if (!Array.isArray(columns)) {\n throw new Error($translate.instant('jdbc.column.names.constraint'));\n }\n\n return $http({\n method: 'POST',\n url: `${JDBC_ENDPOINT}/types`,\n data: {\n query: query,\n column_names: columns\n }\n }\n );\n }\n function getExistingSqlTablePreview(name, limit) {\n // Limit in preview is optional. On backend default value is set to 100\n return $http({\n method: 'GET',\n url: `rest/sql-views/preview/${name}`,\n params: {\n limit\n }\n });\n }\n\n function getNewSqlTablePreview(sqlView, limit) {\n // Limit in preview is optional. On backend default value is set to 100\n return $http({\n method: 'POST',\n url: \"rest/sql-views/preview\",\n contentType: \"application/json; charset=utf-8\",\n dataType: 'json',\n data: sqlView,\n params: {\n limit\n },\n headers: {Accept: 'application/sparql-results+json'}\n });\n }\n}\n","angular\n .module('graphdb.framework.utils.notifications', [])\n .factory('Notifications', Notifications);\n\nNotifications.$inject = ['toastr', '$translate'];\n\nfunction Notifications(toastr, $translate) {\n return {\n showToastMessageWithDelay\n };\n\n /**\n * This method will show message with tiny delay and only after completion\n * of latter redirection to \"graphs-visualizations\" page will happen.\n * @param {string} message The message to be displayed.\n * @return {Promise<any>}\n */\n function showToastMessageWithDelay(message) {\n return new Promise((r) => {\n toastr.success($translate.instant(message));\n setTimeout(r, 300);\n });\n }\n}\n","export const DEFAULT_SPARQL_QUERY = 'PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\\n' +\n '\\n' +\n '# Selects two variables to use as columns\\n' +\n 'SELECT ?id ?label {\\n' +\n ' ?id rdfs:label ?label\\n' +\n ' # The following placeholder must be present in the query\\n' +\n ' #!filter\\n' +\n '}';\n\nexport class JdbcConfigurationInfo {\n constructor(query = DEFAULT_SPARQL_QUERY, isNewJdbcConfiguration = true, jdbcConfigurationName = undefined) {\n this.query = query;\n this.jdbcConfigurationName = jdbcConfigurationName;\n this.isNewJdbcConfiguration = isNewJdbcConfiguration;\n this.isValidQuery = true;\n this.isValidQueryType = true;\n this.hasUndefinedColumns = false;\n this.isColumnsEmpty = false;\n this.columns = [];\n }\n}\n","import 'angular/core/services/repositories.service';\nimport 'angular/rest/monitoring.rest.service';\nimport 'angular/utils/notifications';\nimport 'angular/core/services';\nimport 'angular/core/services/event-emitter-service';\nimport {JdbcConfigurationInfo} from \"../models/jdbc/jdbc-configuration-info\";\nimport {YasqeMode} from \"../models/ontotext-yasgui/yasqe-mode\";\nimport {JdbcConfigurationError} from \"../models/jdbc/jdbc-configuration-error\";\nimport {RenderingMode} from \"../models/ontotext-yasgui/rendering-mode\";\nimport {toJDBCColumns, updateColumn} from \"../models/jdbc/jdbc-column\";\nimport {DISABLE_YASQE_BUTTONS_CONFIGURATION, YasguiComponentDirectiveUtil} from \"../core/directives/yasgui-component/yasgui-component-directive.util\";\nimport {decodeHTML} from \"../../../app\";\nimport {RepositoryContextService, ServiceProvider} from \"@ontotext/workbench-api\";\n\nconst modules = [\n 'ui.bootstrap',\n 'graphdb.framework.core.services.repositories',\n 'graphdb.framework.rest.monitoring.service',\n 'toastr',\n 'graphdb.framework.utils.event-emitter-service'\n];\n\nangular.module('graphdb.framework.jdbc.controllers', modules, [\n 'graphdb.framework.utils.notifications'\n])\n .controller('JdbcListCtrl', JdbcListCtrl)\n .controller('JdbcCreateCtrl', JdbcCreateCtrl);\n\nJdbcListCtrl.$inject = ['$scope', '$repositories', 'JdbcRestService', 'toastr', 'ModalService', '$translate'];\n\nfunction JdbcListCtrl($scope, $repositories, JdbcRestService, toastr, ModalService, $translate) {\n\n $scope.getSqlConfigurations = function () {\n // Only do this if there is an active repo that isn't an Ontop or FedX repo.\n // Ontop and FedX repos don't support JDBC.\n if ($repositories.getActiveRepository()\n && !$repositories.isActiveRepoOntopType()\n && !$repositories.isActiveRepoFedXType()) {\n JdbcRestService.getJdbcConfigurations().success(function (data) {\n $scope.jdbcConfigurations = data;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('jdbc.not.get.SQL.msg'));\n });\n } else {\n $scope.jdbcConfigurations = [];\n }\n };\n\n $scope.$watch(function () {\n return $repositories.getActiveRepository();\n }, function () {\n $scope.getSqlConfigurations();\n });\n\n $scope.deleteConfiguration = function (name) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: $translate.instant('jdbc.delete.sql.table.warning.msg', {name: name}),\n warning: true\n }).result\n .then(function () {\n JdbcRestService.deleteJdbcConfiguration(name).success(function () {\n $scope.getSqlConfigurations();\n }).error(function (e) {\n toastr.error(getError(e), $translate.instant('jdbc.not.delete.sql.msg'));\n });\n });\n };\n}\n\nJdbcCreateCtrl.$inject = [\n '$q',\n '$scope',\n '$rootScope',\n '$location',\n 'toastr',\n '$repositories',\n '$window',\n '$timeout',\n '$interval',\n 'JdbcRestService',\n 'RDF4JRepositoriesRestService',\n 'SparqlRestService',\n 'ModalService',\n '$translate',\n '$languageService',\n 'EventEmitterService'];\n\nfunction JdbcCreateCtrl(\n $q,\n $scope,\n $rootScope,\n $location,\n toastr,\n $repositories,\n $window,\n $timeout,\n $interval,\n JdbcRestService,\n RDF4JRepositoriesRestService,\n SparqlRestService,\n ModalService,\n $translate,\n $languageService,\n EventEmitterService) {\n\n $scope.emptySparqlResponse = \"{\\\"head\\\": {\\\"vars\\\": []},\\\"results\\\": {\\\"bindings\\\": []}}\";\n $scope.getSuggestionSqlType = '';\n $scope.sqlTypes = [];\n $scope.activeTab = 1;\n $scope.jdbcConfigurationInfo = new JdbcConfigurationInfo();\n $scope.jdbcConfigurationInfo.jdbcConfigurationName = $location.search().name || '';\n $scope.saveOrUpdateExecuted = false;\n $scope.jdbcConfigurationInfo.isNewJdbcConfiguration = !$scope.jdbcConfigurationInfo.jdbcConfigurationName;\n $scope.language = $languageService.getLanguage();\n $scope.isDirty = false;\n $scope.prefixes = [];\n $scope.loadingControllerResources = false;\n $scope.isQueryRunning = false;\n $scope.canEditActiveRepo = false;\n\n // This flag is used to prevent loading of the yasgui on consecutive repository change events after\n // the first.\n let initialRepoInitialization = true;\n\n // This flag is used to prevent triggering the repository change event listener on initial subscription.\n let initialRepoChangeTrigger = true;\n\n // =========================\n // Public functions\n // =========================\n\n $scope.saveJdbcConfiguration = () => {\n $scope.saveOrUpdateExecuted = true;\n\n if (!$scope.jdbcConfigurationInfo.jdbcConfigurationName) {\n return;\n }\n\n if (!$scope.isDirty) {\n goToJdbcView();\n return;\n }\n\n const saveOrUpdate = $scope.jdbcConfigurationInfo.isNewJdbcConfiguration ? createConfiguration : updateConfiguration;\n\n validateQueryType($scope.jdbcConfigurationInfo)\n .then(validateQuery)\n .then(validateColumns)\n .then(updateJdbcConfigurationQuery)\n .then(saveOrUpdate)\n .catch((error) => {\n if (!(error instanceof JdbcConfigurationError)) {\n const msg = getError(error);\n toastr.error(msg, $translate.instant('jdbc.not.saved.configuration'));\n }\n });\n };\n\n $scope.getPreview = () => {\n $scope.activeTab = 1;\n\n $scope.isQueryRunning = true;\n validateQueryType($scope.jdbcConfigurationInfo)\n .then(validateQuery)\n .then(validateColumns)\n .then(updateJdbcConfigurationQuery)\n .then((jdbcConfigurationInfo) => {\n updateYasguiConfiguration({render: RenderingMode.YASQE, initialQuery: jdbcConfigurationInfo.query});\n return jdbcConfigurationInfo;\n })\n .then(getSqlTablePreview)\n .then(([tablePreviewResults, jdbcConfigurationInfo]) => {\n const hasResult = tablePreviewResults && tablePreviewResults.results.bindings && tablePreviewResults.results.bindings.length > 0;\n let render = RenderingMode.YASGUI;\n if (!hasResult) {\n render = RenderingMode.YASQE;\n toastr.info($translate.instant('jdbc.table.definition'), $translate.instant('jdbc.preview.sql'));\n }\n updateYasguiConfiguration({\n render,\n sparqlResponse: tablePreviewResults,\n initialQuery: jdbcConfigurationInfo.query\n });\n })\n .catch((error) => {\n if (!(error instanceof JdbcConfigurationError)) {\n toastr.error(getError(error, 0, 100), $translate.instant('jdbc.not.show.preview'));\n } else {\n if (error.jdbcConfigurationInfo && (error.jdbcConfigurationInfo.isColumnsEmpty || error.jdbcConfigurationInfo.hasUndefinedColumns)) {\n getSuggestions();\n $scope.activeTab = 2;\n }\n }\n })\n .finally(() => {\n $scope.isQueryRunning = false;\n });\n };\n\n $scope.setActiveTab = (tabIndex) => {\n $scope.activeTab = tabIndex;\n const columns = $scope.jdbcConfigurationInfo.columns;\n if ($scope.activeTab === 2 && (!columns || columns.length === 0)) {\n validateQueryType($scope.jdbcConfigurationInfo)\n .then(validateQuery)\n .then(() => {\n $scope.getColumnsSuggestions();\n });\n }\n };\n\n $scope.setDirty = () => {\n $scope.isDirty = true;\n };\n\n $scope.getTypeLabel = (type) => {\n switch (type) {\n case 'iri':\n return 'VARCHAR: IRI';\n case 'string':\n return 'VARCHAR: String';\n default:\n return type.indexOf(' ') > 0 ? type : type.toUpperCase();\n }\n };\n\n $scope.selectColumnType = (columnName, prevColumnType) => {\n $scope.setDirty();\n const column = $scope.jdbcConfigurationInfo.columns.find((column) => column.column_name === columnName);\n\n if (column.column_type === $scope.getSuggestionSqlType) {\n updateJdbcConfigurationQuery($scope.jdbcConfigurationInfo)\n .then((jdbcConfigurationInfo) => JdbcRestService.getColumnsTypeSuggestion(jdbcConfigurationInfo.query, [columnName]))\n .then((response) => response.data)\n .then((columnSuggestion) => {\n updateColumn(column, columnSuggestion);\n notifyColumnTypeChanged(column.column_type, prevColumnType);\n })\n .catch((error) => {\n toastr.error(getError(error), $translate.instant('jdbc.not.suggest.column.type'));\n });\n }\n };\n\n $scope.deleteColumn = function (columnName, index) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: $translate.instant('jdbc.warning.delete.column.msg', {columnName: columnName}),\n warning: true\n }).result\n .then(function () {\n $scope.jdbcConfigurationInfo.columns.splice(index, 1);\n $scope.setDirty();\n });\n };\n\n $scope.getColumnsSuggestions = () => {\n if ($scope.jdbcConfigurationInfo.columns && $scope.jdbcConfigurationInfo.columns.length > 0) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.warning'),\n message: $translate.instant('jdbc.warning.column.type.msg'),\n warning: true\n }).result\n .then(function () {\n getSuggestions();\n });\n } else {\n getSuggestions();\n }\n };\n\n $scope.hasPrecision = (columnType) => {\n return columnType === 'iri' || columnType === 'string' || columnType === 'decimal';\n };\n\n $scope.containsColumnsWithPrecision = (columns) => {\n return columns && columns.some((el) => $scope.hasPrecision(el.column_type));\n };\n\n $scope.containsColumnsWithScale = (columns) => {\n return columns && columns.some((el) => hasScale(el.column_type));\n };\n\n $scope.isLiteral = (columnType) => {\n return columnType !== 'iri' && columnType !== 'unknown';\n };\n\n $scope.containsNonLiteralColumnsOnly = (columns) => {\n return columns && columns.every((el) => !$scope.isLiteral(el.column_type));\n };\n\n // =========================\n // Private functions\n // =========================\n\n const getSqlTablePreview = (jdbcConfigurationInfo) => {\n if ($scope.canWriteActiveRepo) {\n const sqlView = JSON.stringify({\n name: $scope.jdbcConfigurationInfo.jdbcConfigurationName,\n query: $scope.jdbcConfigurationInfo.query,\n columns: $scope.jdbcConfigurationInfo.columns || []\n });\n return Promise.all([JdbcRestService.getNewSqlTablePreview(sqlView).then((response) => response.data), Promise.resolve(jdbcConfigurationInfo)]);\n } else {\n return Promise.all([JdbcRestService.getExistingSqlTablePreview($scope.jdbcConfigurationInfo.jdbcConfigurationName).then((response) => response.data), Promise.resolve(jdbcConfigurationInfo)]);\n }\n };\n\n const notifyColumnTypeChanged = (currentColumnType, prevColumnType) => {\n if (currentColumnType === prevColumnType) {\n toastr.info(decodeHTML($translate.instant('jdbc.same.suggested.sql.type', {type: currentColumnType})),\n $translate.instant('jdbc.suggest.sql.type'), {allowHtml: true});\n } else {\n toastr.success(decodeHTML($translate.instant('jdbc.suggested.sql.type', {type: currentColumnType})),\n $translate.instant('jdbc.suggest.sql.type'), {allowHtml: true});\n }\n };\n\n const init = (prefixes, jdbcConfiguration = new JdbcConfigurationInfo()) => {\n $scope.jdbcConfigurationInfo.columns = jdbcConfiguration.columns;\n $scope.jdbcConfigurationInfo.query = jdbcConfiguration.query;\n $scope.jdbcConfigurationInfo.jdbcConfigurationName = $location.search().name || '';\n $scope.jdbcConfigurationInfo.isNewJdbcConfiguration = !$scope.jdbcConfigurationInfo.jdbcConfigurationName;\n $scope.prefixes = prefixes;\n updateYasguiConfiguration();\n updateSqlTypes();\n };\n\n const createConfiguration = (jdbcConfigurationInfo) => {\n const configuration = {\n name: jdbcConfigurationInfo.jdbcConfigurationName,\n query: jdbcConfigurationInfo.query,\n columns: jdbcConfigurationInfo.columns\n };\n\n return JdbcRestService.createNewJdbcConfiguration(configuration)\n .then(() => {\n $scope.isDirty = false;\n $scope.jdbcConfigurationInfo.isNewConfiguration = false;\n toastr.success($translate.instant('jdbc.saved.configuration'));\n goBack();\n });\n };\n\n const updateConfiguration = (jdbcConfigurationInfo) => {\n const configuration = {\n name: jdbcConfigurationInfo.jdbcConfigurationName,\n query: jdbcConfigurationInfo.query,\n columns: jdbcConfigurationInfo.columns\n };\n return JdbcRestService.updateJdbcConfiguration(configuration)\n .then(() => {\n $scope.isDirty = false;\n $scope.jdbcConfigurationInfo.isNewConfiguration = false;\n toastr.success($translate.instant('jdbc.configuration.updated'));\n goBack();\n });\n };\n\n\n const updateYasguiConfiguration = (additionalConfiguration = {}) => {\n const config = {};\n angular.extend(config, $scope.yasguiConfig || getDefaultYasguiConfiguration(), additionalConfiguration);\n $scope.yasguiConfig = config;\n };\n\n const getDefaultYasguiConfiguration = () => {\n return {\n showEditorTabs: false,\n showToolbar: false,\n showResultTabs: false,\n showQueryButton: false,\n showResultInfo: false,\n downloadAsOn: false,\n showYasqeResizer: false,\n initialQuery: $scope.jdbcConfigurationInfo.query,\n componentId: 'jdbc-component',\n prefixes: $scope.prefixes,\n maxPersistentResponseSize: 0,\n render: RenderingMode.YASQE,\n getCellContent: getCellContent,\n sparqlResponse: $scope.emptySparqlResponse,\n yasqeActionButtons: DISABLE_YASQE_BUTTONS_CONFIGURATION,\n yasqeMode: $scope.canEditActiveRepo ? YasqeMode.WRITE : YasqeMode.READ\n };\n };\n\n /**\n * Checks if query mode is valid. The mode have to be \"select\".\n * @param {JdbcConfigurationInfo} jdbcConfiguration - holds information about jdbc configuration.\n * @return {Promise<JdbcConfigurationInfo>}\n */\n const validateQueryType = (jdbcConfiguration) => {\n return getOntotextYasgui().getQueryType()\n .then((queryType) => {\n jdbcConfiguration.isValidQueryType = 'SELECT' === queryType;\n if (!jdbcConfiguration.isValidQueryType) {\n return Promise.reject(new JdbcConfigurationError('Query type is not valid.'));\n }\n return jdbcConfiguration;\n });\n };\n\n /**\n * Checks if query is valid.\n * @param {JdbcConfigurationInfo} jdbcConfigurationInfo - holds information about jdbc configuration.\n * @return {Promise<JdbcConfigurationInfo>}\n */\n const validateQuery = (jdbcConfigurationInfo) => {\n return getOntotextYasgui().isQueryValid()\n .then((valid) => {\n jdbcConfigurationInfo.isValidQuery = valid;\n if (!jdbcConfigurationInfo.isValidQuery) {\n return Promise.reject(new JdbcConfigurationError('Invalid query.'));\n }\n return jdbcConfigurationInfo;\n });\n };\n\n /**\n * Checks if jdbc configuration has columns without defined type.\n * @param {JdbcConfigurationInfo} jdbcConfiguration - holds information about jdbc configuration.\n * @return {Promise<JdbcConfigurationInfo>}\n */\n const validateColumns = (jdbcConfiguration) => {\n if (!jdbcConfiguration.columns || jdbcConfiguration.columns.length === 0) {\n jdbcConfiguration.isColumnsEmpty = true;\n toastr.error($translate.instant('jdbc.warning.one.column.msg'));\n return Promise.reject(new JdbcConfigurationError('There are not defined columns.', jdbcConfiguration));\n }\n const unknownColumn = $scope.jdbcConfigurationInfo.columns && $scope.jdbcConfigurationInfo.columns\n .find((el) => el.column_type === 'unknown');\n if (unknownColumn) {\n jdbcConfiguration.hasUndefinedColumns = true;\n return Promise.reject(new JdbcConfigurationError('There are columns without defined type.', jdbcConfiguration));\n }\n return Promise.resolve(jdbcConfiguration);\n };\n\n const getSuggestions = () => {\n validateQueryType($scope.jdbcConfigurationInfo)\n .then(validateQuery)\n .then(updateJdbcConfigurationQuery)\n .then(getColumnNames)\n .then(getColumnsTypeSuggestion)\n .then((jdbcConfigurationInfo) => $scope.jdbcConfigurationInfo = jdbcConfigurationInfo)\n .catch((error) => {\n console.log(error);\n });\n };\n\n const getColumnNames = (jdbcConfigurationInfo) => {\n return JdbcRestService.getColumnNames(jdbcConfigurationInfo.query)\n .then((response) => [jdbcConfigurationInfo, response.data])\n .catch(function (e) {\n toastr.error(getError(e), $translate.instant('jdbc.not.suggest.column.names'));\n });\n };\n\n const getColumnsTypeSuggestion = ([jdbcConfigurationInfo, columns]) => {\n return JdbcRestService.getColumnsTypeSuggestion(jdbcConfigurationInfo.query, columns)\n .then(function (response) {\n jdbcConfigurationInfo.columns = toJDBCColumns(columns, response.data);\n jdbcConfigurationInfo.isColumnsEmpty = jdbcConfigurationInfo.columns.length;\n $scope.setDirty();\n return jdbcConfigurationInfo;\n }).catch(function (e) {\n toastr.error(getError(e), $translate.instant('jdbc.not.suggest.column.types'));\n });\n };\n\n const getOntotextYasgui = () => {\n return YasguiComponentDirectiveUtil.getOntotextYasguiElement('#query-editor');\n };\n\n const updateJdbcConfigurationQuery = (jdbcConfigurationInfo) => {\n return getOntotextYasgui().getQuery()\n .then((query) => {\n jdbcConfigurationInfo.query = query;\n return jdbcConfigurationInfo;\n });\n };\n\n const hasScale = (columnType) => {\n return columnType === 'decimal';\n };\n\n const getCellContent = (bindings, _prefixes) => {\n let value = bindings.value;\n value = value.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\");\n const entityHtml = \"<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>\"\n + value + \"</p>\";\n return \"<div class = 'literal-cell'>\" + entityHtml + \"</div>\";\n };\n\n const openConfirmDialog = (title, message, onConfirm, onCancel) => {\n ModalService.openSimpleModal({\n title,\n message,\n warning: true\n }).result.then(function () {\n if (angular.isFunction(onConfirm)) {\n onConfirm();\n }\n }, function () {\n if (angular.isFunction(onCancel)) {\n onCancel();\n }\n });\n };\n\n /**\n * Starts loading of needed data and process the view.\n */\n const loadOntotextYasgui = () => {\n $scope.loadingControllerResources = true;\n const activeRepository = $repositories.getActiveRepository();\n if ($scope.jdbcConfigurationInfo.jdbcConfigurationName) {\n Promise.all([$repositories.getPrefixes(activeRepository), JdbcRestService.getJdbcConfiguration($scope.jdbcConfigurationInfo.jdbcConfigurationName)])\n .then(([prefixes, templateContent]) => {\n init(prefixes, templateContent.data);\n })\n .finally(() => $scope.loadingControllerResources = false);\n } else {\n $repositories.getPrefixes(activeRepository)\n .then((prefixes) => init(prefixes))\n .finally(() => $scope.loadingControllerResources = false);\n }\n };\n\n /**\n * Translates \"Get suggestion...\" sql type option and updates sql type options with it.\n */\n const updateSqlTypes = () => {\n $scope.getSuggestionSqlType = $translate.instant('view.jdbc.create.get_suggestion_sql_type');\n $scope.sqlTypes = ['string', 'iri', 'boolean', 'byte', 'short', 'int', 'long', 'float', 'double', 'decimal', 'date', 'time', 'timestamp', $scope.getSuggestionSqlType];\n };\n\n /**\n * go to jdbc configurations page.\n */\n const goBack = () => {\n // Added timeout a success message to be shown.\n setTimeout(function () {\n goToJdbcView();\n }, 1000);\n };\n\n const goToJdbcView = () => {\n $location.url('/jdbc');\n };\n\n // =========================\n // Subscriptions handlers\n // =========================\n const languageChangedHandler = () => {\n $scope.language = $languageService.getLanguage();\n updateSqlTypes();\n };\n\n const repositoryWillChangeHandler = () => {\n return new Promise(function (resolve) {\n\n if ($scope.jdbcConfigurationInfo.isNewJdbcConfiguration) {\n resolve(true);\n return;\n }\n\n const onConfirm = () => {\n $scope.isDirty = false;\n resolve(true);\n };\n\n if ($scope.isDirty) {\n const onCancel = () => {\n resolve(false);\n };\n const title = $translate.instant('common.confirm');\n const message = $translate.instant('jdbc.warning.unsaved.changes');\n openConfirmDialog(title, message, onConfirm, onCancel);\n } else {\n onConfirm();\n }\n });\n };\n\n const locationChangedHandler = (event, newPath) => {\n if ($scope.isDirty) {\n event.preventDefault();\n const title = $translate.instant('common.confirm');\n const message = $translate.instant('jdbc.warning.unsaved.changes');\n const onConfirm = () => {\n removeAllListeners();\n const baseLen = $location.absUrl().length - $location.url().length;\n const path = newPath.substring(baseLen);\n $location.path(path);\n };\n openConfirmDialog(title, message, onConfirm);\n } else {\n removeAllListeners();\n }\n };\n\n const beforeunloadHandler = (event) => {\n if ($scope.isDirty) {\n event.returnValue = true;\n }\n };\n\n const removeAllListeners = () => {\n window.removeEventListener('beforeunload', beforeunloadHandler);\n subscriptions.forEach((subscription) => subscription());\n };\n\n const repositoryChangedHandler = (repository) => {\n if (!repository) {\n return;\n }\n if (initialRepoChangeTrigger) {\n initialRepoChangeTrigger = false;\n } else {\n getOntotextYasgui().abortQuery().then(goToJdbcView);\n }\n };\n\n const activeRepositoryHandler = (activeRepo) => {\n if (activeRepo) {\n $scope.canEditActiveRepo = $scope.canWriteActiveRepo();\n if (initialRepoInitialization) {\n loadOntotextYasgui();\n initialRepoInitialization = false;\n } else {\n getOntotextYasgui().abortQuery().then(goToJdbcView);\n }\n }\n };\n\n // =========================\n // Subscriptions\n // =========================\n const subscriptions = [];\n\n const repositoryContextService = ServiceProvider.get(RepositoryContextService);\n const repositoryChangeSubscription = repositoryContextService.onSelectedRepositoryChanged(repositoryChangedHandler, repositoryWillChangeHandler)\n\n subscriptions.push(repositoryChangeSubscription);\n subscriptions.push($rootScope.$on('$translateChangeSuccess', languageChangedHandler));\n subscriptions.push($scope.$on('$locationChangeStart', locationChangedHandler));\n subscriptions.push($scope.$on('$destroy', removeAllListeners));\n // Prevent go out of the current page? check\n window.addEventListener('beforeunload', beforeunloadHandler);\n\n\n // Wait until the active repository object is set, otherwise \"canWriteActiveRepo()\" may return a wrong result and the \"ontotext-yasgui\"\n // readOnly configuration may be incorrect.\n subscriptions.push($scope.$watch($scope.getActiveRepositoryObject, activeRepositoryHandler));\n}\n","export const YasqeMode = {\n /**\n * The query can be edited.\n */\n WRITE: 'WRITE',\n\n /**\n * The editor is read-only, but the query can be copied.\n */\n READ: 'READ',\n\n /**\n * The editor is read-only and the query can't be copied.\n */\n PROTECTED: 'PROTECTED'\n};\n","/**\n * DTO\n */\nexport class JdbcColumn {\n constructor() {\n this.column_name = '';\n this.column_type = '';\n this.sparql_type = '';\n this.nullable = true;\n }\n}\n\n/**\n * Constructs an array with {@link JdbcColumn} objects for everyone column of <code>columnNames</code>.\n *\n * @param {string[]} columnNames - array with column names.\n * @param {Object} columnTypes - objects that holds key-value pair. The key is column id, the value is {@link JdbcColumnType} object.\n * @return {JdbcColumn[]} the array with jdbc columns.\n */\nexport const toJDBCColumns = (columnNames = [], columnTypes) => {\n return columnNames.map((columnName) => {\n return {\n column_name: columnName,\n column_type: columnTypes[columnName].column_type,\n nullable: true,\n sparql_type: columnTypes[columnName].sparql_type\n };\n });\n};\n\nexport const updateColumn = (column, columnSuggestion) => {\n column.column_type = columnSuggestion[column.column_name].column_type;\n column.sparql_type = columnSuggestion[column.column_name].sparql_type;\n};\n","export class JdbcConfigurationError extends Error {\n\n constructor(message, jdbcConfigurationInfo) {\n super(message);\n this.jdbcConfigurationInfo = jdbcConfigurationInfo;\n }\n}\n"],"names":["RenderingMode","YASGUI","YASQE","YASR","angular","module","factory","JdbcRestService","$inject","JDBC_ENDPOINT","$http","$translate","getJdbcConfigurations","get","getJdbcConfiguration","configuration","createNewJdbcConfiguration","createConfiguration","updateJdbcConfiguration","name","deleteJdbcConfiguration","delete","getColumnNames","query","post","headers","getColumnsTypeSuggestion","columns","Array","isArray","Error","instant","method","url","data","column_names","getExistingSqlTablePreview","limit","params","getNewSqlTablePreview","sqlView","contentType","dataType","Accept","table","noCancelOnRouteChange","Notifications","toastr","showToastMessageWithDelay","message","Promise","r","success","setTimeout","DEFAULT_SPARQL_QUERY","JdbcConfigurationInfo","constructor","isNewJdbcConfiguration","jdbcConfigurationName","undefined","this","isValidQuery","isValidQueryType","hasUndefinedColumns","isColumnsEmpty","JdbcListCtrl","$scope","$repositories","ModalService","getSqlConfigurations","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","jdbcConfigurations","error","msg","getError","$watch","deleteConfiguration","openSimpleModal","title","warning","result","then","e","JdbcCreateCtrl","$q","$rootScope","$location","$window","$timeout","$interval","RDF4JRepositoriesRestService","SparqlRestService","$languageService","EventEmitterService","emptySparqlResponse","getSuggestionSqlType","sqlTypes","activeTab","jdbcConfigurationInfo","search","saveOrUpdateExecuted","language","getLanguage","isDirty","prefixes","loadingControllerResources","isQueryRunning","canEditActiveRepo","initialRepoInitialization","initialRepoChangeTrigger","saveJdbcConfiguration","goToJdbcView","saveOrUpdate","updateConfiguration","validateQueryType","validateQuery","validateColumns","updateJdbcConfigurationQuery","catch","JdbcConfigurationError","getPreview","updateYasguiConfiguration","render","initialQuery","getSqlTablePreview","tablePreviewResults","hasResult","results","bindings","length","info","sparqlResponse","getSuggestions","finally","setActiveTab","tabIndex","getColumnsSuggestions","setDirty","getTypeLabel","type","indexOf","toUpperCase","selectColumnType","columnName","prevColumnType","column","find","column_name","column_type","response","columnSuggestion","updateColumn","notifyColumnTypeChanged","deleteColumn","index","splice","hasPrecision","columnType","containsColumnsWithPrecision","some","el","containsColumnsWithScale","hasScale","isLiteral","containsNonLiteralColumnsOnly","every","canWriteActiveRepo","JSON","stringify","all","resolve","currentColumnType","decodeHTML","allowHtml","init","jdbcConfiguration","updateSqlTypes","isNewConfiguration","goBack","additionalConfiguration","config","extend","yasguiConfig","getDefaultYasguiConfiguration","showEditorTabs","showToolbar","showResultTabs","showQueryButton","showResultInfo","downloadAsOn","showYasqeResizer","componentId","maxPersistentResponseSize","getCellContent","yasqeActionButtons","DISABLE_YASQE_BUTTONS_CONFIGURATION","yasqeMode","YasqeMode","WRITE","READ","getOntotextYasgui","getQueryType","queryType","reject","isQueryValid","valid","console","log","toJDBCColumns","YasguiComponentDirectiveUtil","getOntotextYasguiElement","getQuery","_prefixes","value","replace","openConfirmDialog","onConfirm","onCancel","isFunction","beforeunloadHandler","event","returnValue","removeAllListeners","window","removeEventListener","subscriptions","forEach","subscription","repositoryChangeSubscription","ServiceProvider","RepositoryContextService","onSelectedRepositoryChanged","repository","abortQuery","repositoryWillChangeHandler","push","$on","languageChangedHandler","locationChangedHandler","newPath","preventDefault","baseLen","absUrl","path","substring","addEventListener","getActiveRepositoryObject","activeRepo","loadOntotextYasgui","activeRepository","getPrefixes","templateContent","controller","PROTECTED","JdbcColumn","sparql_type","nullable","columnNames","columnTypes","map","super"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=41621;export const __webpack_ids__=[12098,14824,41621,44207,46570,47775,54159,62677,64803,69112,94003];export const __webpack_modules__={12098:(e,r,o)=>{o.r(r),o.d(r,{JdbcDriverType:()=>t});const t={GENERIC:"generic",MY_SQL:"mySQL",POSTGRESS:"postgreSQL",ORACLE:"oracle",MS_SQL:"msSQL",DB2:"DB2",DREMIO:"dremio",DATABRICKS:"databricks",SNOWFLAKE:"snowflake"}},14824:(e,r,o)=>{o.r(r);var t=o(46591),n=o(64803),i=o(54159),s=o(44207),a=o(94003),c=o(47775),p=o(12098);function l(e,r,o,l,d){return{restrict:"E",scope:!1,templateUrl:"js/angular/repositories/templates/ontop-repo.html",link:function(m){m.isGenericDriver=!0,m.defaultUrlTemplate="jdbc:database://localhost:port/database_name",m.ontopProperiesLink="https://ontop-vkg.org/guide/advanced/configuration.html",m.ontopFileType=n.OntopFileType,m.selectedDriver=new c.OntopDriverData,m.supportedDriversData=[],m.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},m.selectDriver=e=>{m.selectedDriver=m.supportedDriversData.find(r=>r.driverType===e),m.isGenericDriver=c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType),m.editRepoPage&&m.currentOntopRepoInfo&&m.currentOntopRepoInfo.connectionInformation.driverType===e?m.formData=_.cloneDeep(m.currentOntopRepoInfo):(O(),m.formData.connectionInformation.driverType=m.selectedDriver.driverType),m.formData.connectionInformation.driverClass=m.selectedDriver.driverClass,m.updateUrl()},m.getOntopFileInfo=e=>m.formData.settings.ontopFiles.find(r=>e===r.type),m.getHostNameLabel=()=>{const e=c.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?"ontop.repo.database.snowflake.host_name":"ontop.repo.database.host_name";return d.instant(e)+"*"},m.getDatabaseNameLabel=()=>{let e="";switch(m.selectedDriver.driverType){case p.JdbcDriverType.SNOWFLAKE:e="ontop.repo.database.warehouse.database_name";break;case p.JdbcDriverType.DATABRICKS:e="ontop.repo.database.http_path.database_name";break;case p.JdbcDriverType.DREMIO:e="ontop.repo.database.schema.database_name";break;default:e="ontop.repo.database.database_name"}return d.instant(e)},m.updateUrl=()=>{const e=u()||"";m.formData.connectionInformation.url=e+m.formData.connectionInformation.urlUserInput},m.isTestConnectionDisabled=()=>{const e=m.formData.connectionInformation,r=m.selectedDriver;return!(e.driverClass&&e.url&&(!r.portRequired||e.port)&&(c.OntopDriverData.isGenericDriver(r.driverType)||e.hostName&&e.databaseName))},m.testConnection=()=>{D().then(T).then(w).then(I).then(N).then(b).then(()=>r.validateOntopPropertiesConnection(m.repositoryInfo)).then(()=>o.success(d.instant("ontop.repo.successful.connection.msg"))).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):h(d.instant("ontop.repo.failed.to.connect"),e)})},m.editFile=o=>{const n=m.repositoryInfo.params[o.type].label,i=d.instant("update.file.edit.content.header",{fileName:n});e.open({templateUrl:"js/angular/templates/modal/editRepoFile.html",controller:"EditRepositoryFileCtrl",windowClass:"update-ontop-repo-dialog",resolve:{file:()=>{const e=m.repositoryInfo.params[o.type];return e?e.value:""},dialogTitle:()=>i,location:()=>m.repositoryInfo.location}}).result.then(e=>{r.updateRepositoryFileContent(e.fileLocation,e.content,m.repositoryInfo.location).success(e=>{o.fileName=(0,t.getFileName)(e.fileLocation),m.repositoryInfo.params[o.type].value=e.fileLocation}).error(e=>{h(d.instant("common.error"),e)})})},m.uploadOntopFile=(e,r)=>{if(e&&e.length){const t=e[0];r.loading=!0;const n={url:"rest/repositories/file/upload",data:{file:t,location:m.repositoryInfo.location}};l.upload(n).success(e=>{e.success?(r.fileName=t.name,m.repositoryInfo.params[r.type].value=e.fileLocation):o.error(e.errorMessage)}).error(e=>{h(d.instant("common.error"),e),m.uploadFile=""}).finally(()=>{r.loading=!1})}},m.updateOntopRepo=()=>{const e=m.editRepoPage?m.editRepository:m.createRepo;R().then(D).then(T).then(w).then(I).then(N).then(S).then(b).then(e).catch(e=>{e instanceof a.OntopRepositoryError?o.error(e.message):console.log(e)})},m.onKeyDownInUrlInput=e=>{const r=e.keyCode;if(37===r||39===r||36===r||35===r)return;const o=u();if(!o)return;const t=e.ctrlKey||e.metaKey;if(t&&65===r||t&&67===r)return;const n=e.target.selectionStart;8===r&&n-1<o.length&&(e.preventDefault(),e.stopPropagation()),n<o.length&&(e.preventDefault(),e.stopPropagation())},m.onKeyUpInUrlInput=()=>{f()};const f=()=>{const e=u();e&&m.formData.connectionInformation.url.startsWith(e)?m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url.substring(e.length):m.formData.connectionInformation.urlUserInput=m.formData.connectionInformation.url},u=()=>c.OntopDriverData.isSnowflakeDriver(m.selectedDriver.driverType)?v():y(),v=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=e.replace("{identifier}",r.hostName)),r.port&&(e=e.replace(".snowflakecomputing.com/?",`.snowflakecomputing.com:${r.port}/?`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},y=()=>{let e=m.selectedDriver.urlTemplate;const r=m.formData.connectionInformation;return r.hostName&&(e=r.port?e.replace("{hostport}",`${r.hostName}:${r.port}`):e.replace("{hostport}",`${r.hostName}`)),r.databaseName&&(e=e.replace("{database}",r.databaseName)),e},g=e=>{m.formData.settings.ontopFiles.forEach(r=>{r.loading=e})},b=()=>{g(!0);const e=m.formData.connectionInformation,o={hostName:e.hostName,port:e.port,databaseName:e.databaseName,userName:e.username,password:e.password,driverClass:e.driverClass,url:e.url,additionalProperties:m.formData.settings.additionalProperties};return r.updatePropertiesFile(m.repositoryInfo.params.propertiesFile.value,o,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{m.repositoryInfo.params.propertiesFile.value=e.fileLocation}).error(e=>{h(d.instant("common.error"),e)}).finally(()=>g(!1))},h=(e,r)=>{const t=getError(r);o.error(t,e)},D=()=>c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.hostName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.host_name")}))),w=()=>c.OntopDriverData.isGenericDriver(m.selectedDriver.driverType)||m.formData.connectionInformation.databaseName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.database_name")}))),I=()=>m.formData.connectionInformation.driverClass?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.driver_class")}))),N=()=>m.formData.connectionInformation.url?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.url")}))),R=()=>m.repositoryInfo.id?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("empty.repoid.warning"))),S=()=>m.getOntopFileInfo(n.OntopFileType.OBDA).fileName?Promise.resolve():Promise.reject(new a.OntopRepositoryError(d.instant("ontop.repo.missing.required.file",{fileName:m.repositoryInfo.params[n.OntopFileType.OBDA].label}))),T=()=>m.selectedDriver.portRequired&&!m.formData.connectionInformation.port?Promise.reject(new a.OntopRepositoryError(d.instant("missing.required.field",{fieldName:d.instant("ontop.repo.database.port")}))):Promise.resolve(),O=()=>{m.formData={connectionInformation:new i.OntopConnectionInformation,settings:{additionalProperties:"",ontopFiles:[]}},Object.values(n.OntopFileType).forEach(e=>{const r=new s.OntopFileInfo(e);m.formData.settings.ontopFiles.push(r)}),m.getOntopFileInfo(n.OntopFileType.OBDA).required=!0};r.getSupportedDriversData(m.repositoryInfo).success(e=>{m.supportedDriversData=e}).error(e=>{h(d.instant("common.error"),e)}).then(()=>{m.editRepoPage?(g(!0),r.loadPropertiesFile(m.repositoryInfo.params.propertiesFile.value,m.repositoryInfo.location,m.selectedDriver.driverType).success(e=>{let r=m.supportedDriversData.find(r=>r.driverClass===e.driverClass);r&&e.hostName||(r=m.supportedDriversData.find(e=>c.OntopDriverData.isGenericDriver(e.driverType))),m.selectDriver(r.driverType),m.formData.connectionInformation.driverType=r.driverType,m.formData.connectionInformation.driverClass=e.driverClass,m.formData.connectionInformation.password=e.password,m.formData.connectionInformation.username=e.userName,m.formData.connectionInformation.url=e.url,m.formData.settings.additionalProperties=e.additionalProperties,c.OntopDriverData.isGenericDriver(r.driverType)||(m.formData.connectionInformation.hostName=e.hostName,m.formData.connectionInformation.databaseName=e.databaseName,m.formData.connectionInformation.port=e.port?parseInt(e.port,10):void 0),f(),m.updateUrl(),Object.values(n.OntopFileType).forEach(e=>{const r=m.repositoryInfo.params[e],o=m.getOntopFileInfo(e);r&&(o.fileName=(0,t.getFileName)(r.value))}),m.currentOntopRepoInfo=_.cloneDeep(m.formData)}).error(e=>{h(d.instant("common.error"),e)}).finally(()=>{g(!1)})):m.selectDriver(p.JdbcDriverType.GENERIC)})}}}angular.module("graphdb.framework.repositories.ontop-repo.directive",[]).directive("ontopRepo",l),l.$inject=["$uibModal","RepositoriesRestService","toastr","Upload","$translate"]},41621:(e,r,o)=>{o.r(r),o(82493),o(5687),o(60116),o(46591),o(14824),o(62677),o(76933),o(69112),o(47195),o(56669),angular.module("graphdb.framework.repositories",["ui.bootstrap","toastr","ngCookies","ngRoute","graphdb.framework.repositories.controllers","graphdb.framework.repositories.ontop-repo.directive","graphdb.framework.repositories.fedx-repo.directive","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.core.controllers","graphdb.framework.settings"])},44207:(e,r,o)=>{o.r(r),o.d(r,{OntopFileInfo:()=>t});class t{constructor(e,r=!1){this.type=e,this.fileName="",this.loading=!1,this.required=r}}},46570:(e,r,o)=>{function t(e,r,o,t,n){e.supportsStatistics=!0,e.settings={statistics:!1},e.getSettings=function(){e.loader=!0,t.getStatistics().then(function(r){e.settings.statistics="true"===r.data,e.supportsStatistics=!0},function(o){if(404===o.status)e.supportsStatistics=!1;else{const e=getError(o.data);r.error(e,n.instant("error.getting.settings"))}})},e.getSettings(),e.setSettings=function(){e.loader=!0,t.toggleStatistics(e.settings.statistics).then(function(){o.close(),r.success(n.instant("saving.settings.success"))},function(e){const o=getError(e.data);r.error(o,n.instant("saving.settings.error"))})},e.submitForm=function(){e.setSettings()},e.cancel=function(){o.dismiss("cancel")}}function n(e,r,o,t,n,i,s,a){e.loadingLicense=function(){return o.loadingLicense()},o.checkLicenseStatus(),e.removeLicense=function(){i.openSimpleModal({title:s.instant("confirm.operation"),message:s.instant("remove.license.warning.msg"),warning:!0}).result.then(function(){r.unregisterLicense().success(function(){o.checkLicenseStatus().then(()=>a.applyTrackingConsent()).catch(e=>{const r=getError(e.data,e.status);t.error(r,s.instant("common.error"))})})})}}function i(e,r,o,t,n,i,s,a){e.$on("securityInit",function(){s.isAdmin()||o.path("/license")}),e.sendLicenseToValidateAndActivate=p;const c=$(".license-textarea");function p(e){r.sendLicenseToValidate(e).success(function(o){o.present?(c.val(e),function(e,o){t.open({templateUrl:"js/angular/settings/modal/validate-license.html",controller:"ValidateLicenseModalCtrl",size:"lg",resolve:{license:function(){return e}}}).result.then(function(){!function(e){if(e||(e=c.val()),e){const o=atob(e.replace(/\s/g,""));r.registerLicense(o).success(function(){i.history.back()}).error(function(e){n.error(e,a.instant("license.register.error"))})}else n.error(a.instant("no.license.code.error"))}(o)})}(o,e)):(c.val(""),n.error(o.message))}).error(function(){n.error(a.instant("invalid.license"))})}e.$watch("currentFile",function(){if(e.currentFile){const o=e.currentFile;r.extractFromLicenseFile(o).success(function(e){p(e)}).error(function(){n.error(a.instant("could.not.upload.file.error"))})}}),e.getBackToPreviousPage=function(){i.history.back()}}function s(e,r,o){e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")},e.license=o}function a(e){e.loader=!0,e.setLoader=function(r){e.loader=r}}o.r(r),o(82493),o(98599),angular.module("graphdb.framework.settings.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","toastr"]).controller("ActiveLocationSettingsCtrl",t).controller("ValidateLicenseModalCtrl",s).controller("LicenseCtrl",n).controller("RegisterLicenseCtrl",i).controller("LoaderSamplesCtrl",a),t.$inject=["$scope","toastr","$uibModalInstance","LicenseRestService","$translate"],n.$inject=["$scope","LicenseRestService","$licenseService","toastr","$rootScope","ModalService","$translate","TrackingService"],i.$inject=["$scope","LicenseRestService","$location","$uibModal","toastr","$window","$jwtAuth","$translate"],s.$inject=["$scope","$uibModalInstance","license"],a.$inject=["$scope"]},47775:(e,r,o)=>{o.r(r),o.d(r,{OntopDriverData:()=>n});var t=o(12098);class n{constructor(){this.classAvailable=!1,this.downloadDriverUrl="",this.driverClass="",this.driverName="",this.driverType="",this.portRequired=!1,this.urlTemplate=""}static isGenericDriver(e){return e===t.JdbcDriverType.GENERIC}static isSnowflakeDriver(e){return e===t.JdbcDriverType.SNOWFLAKE}}},54159:(e,r,o)=>{o.r(r),o.d(r,{OntopConnectionInformation:()=>t});class t{constructor(e="generic"){this.driverType=e,this.hostName="",this.port=void 0,this.databaseName="",this.username="",this.password="",this.driverClass="",this.url="",this.urlUserInput=""}}},62677:()=>{function e(e,r,o,t){return{restrict:"E",scope:!0,templateUrl:"js/angular/repositories/templates/fedx-repo.html",link:function(n){const i="ResolvableRepository",s="RemoteRepository",a="SPARQLEndpoint",c="NativeStore";function p(){for(const e of n.fedxMembers)n.knownRepos=n.knownRepos.filter(function(r){return e.repositoryServer?r.id!==e.repositoryName||r.location!==e.repositoryServer:r.id!==e.repositoryName||!r.local})}function l(){r.getRepositories(n.repositoryInfo.location).success(function(e){let r=[];_.values(e).forEach(e=>{r.push.apply(r,e)}),n.allAttachedRepos=_.cloneDeep(r)}).error(function(e){const r=getError(e);o.error(r,t.instant("common.error"))}).then(function(){n.knownRepos=n.allAttachedRepos.slice(),p()})}n.fedxMembers=[],n.knownRepos=[],n.allAttachedRepos=[],n.editRepoPage&&(n.fedxMembers=n.repositoryInfo.params.member.value.slice()),n.setWritableRepo=function(e){let r=n.fedxMembers.find(e=>"true"===e.writable);r&&((r.store!==i||e.store===i&&r.repositoryName===e.repositoryName)&&(r.store!==s||e.store===s&&r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)||(r.writable="false")),e.writable=JSON.stringify("false"===e.writable)},n.getActiveClass=function(e){return"true"===e.writable?" active":""},n.checkIfRepoExist=function(e){return!n.allAttachedRepos.length||(e.store===i?n.allAttachedRepos.find(r=>r.id===e.repositoryName&&!r.location):e.store!==s||n.allAttachedRepos.find(r=>r.id===e.repositoryName&&r.location===e.repositoryServer))},n.getRepositoryServer=function(e){return e.local?"Local":e.location};const d=setInterval(function(){l()},5e3);function m(e){n.fedxMembers.push(e),n.repositoryInfo.params.member.value=n.fedxMembers}function f(e){return"/"===e.slice(-1)?e.slice(0,-1):e}function u(){return n.editRepoPage&&!n.editRepoPage||!n.model.editMode}n.$on("$destroy",function(){clearInterval(d)}),n.addMember=function(e){let r;r="Local"===n.getRepositoryServer(e)?{store:i,repositoryName:e.id,repoType:e.type,respectRights:"true",writable:"false"}:{store:s,repositoryName:e.id,repositoryServer:e.location,username:"",password:"",supportsASKQueries:"true",writable:"false"},n.knownRepos=n.knownRepos.filter(r=>r.id!==e.id||r.location!==e.location),m(r)},n.removeMember=function(e){e.store&&e.store===i?(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName&&!r.repositoryServer),l()):e.store&&e.store===a?n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint):e.store&&e.store===c?n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryLocation!==e.repositoryLocation):e.store&&e.store===s&&(n.fedxMembers=n.fedxMembers.filter(r=>r.store!==e.store||r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer),l()),n.repositoryInfo.params.member.value=n.fedxMembers},n.addRemoteMember=function(){n.mode="remote",n.model={editMode:!1,store:s,repositoryName:"",repositoryServer:"",sparqlEndpoint:"",username:"",password:"",supportsASKQueries:"true",writable:"false"},n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.getMemberIcon=function(e){return e.repoType?"icon-repo-"+e.repoType:e.store===c?"icon-warning":"icon-link"},n.editFedXRepository=function(r){r.store===i?(n.mode="local",n.model={editMode:!0,store:r.store,respectRights:r.respectRights,repositoryName:r.repositoryName,repoType:r.repoType,writable:r.writable}):(n.mode="remote",n.model={editMode:!0,store:r.store,repositoryName:r.repositoryName,repositoryServer:r.repositoryServer,sparqlEndpoint:r.store===a?r.endpoint:r.repositoryLocation,username:r.username,password:r.password,supportsASKQueries:r.supportsASKQueries,writable:r.writable}),n.$uibModalInstance=e.open({templateUrl:"js/angular/templates/modal/add-fedx-remote-repo.html",scope:n})},n.resolveName=function(e){switch(e.store){case i:return e.repositoryName;case s:return e.repositoryName+"@"+e.repositoryServer;case a:return e.endpoint;case c:return e.repositoryLocation;default:return""}},n.cancel=function(){n.$uibModalInstance.dismiss("cancel")},n.ok=function(){let e;if(n.model.repositoryName&&n.model.store===i)e={store:i,repositoryName:n.model.repositoryName,repoType:n.model.repoType,respectRights:n.model.respectRights,writable:n.model.writable},n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.store!==e.store);else if(n.model.repositoryName&&n.model.store===s){if(e={store:s,repositoryName:n.model.repositoryName,repositoryServer:f(n.model.repositoryServer),username:n.model.username,password:n.model.password,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.repositoryName===e.repositoryName&&r.repositoryServer===e.repositoryServer)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.member.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.repositoryName!==e.repositoryName||r.repositoryServer!==e.repositoryServer)}else{if(e={store:a,endpoint:f(n.model.sparqlEndpoint),username:n.model.username,password:n.model.password,supportsASKQueries:n.model.supportsASKQueries,writable:n.model.writable},u()&&n.fedxMembers.find(r=>r.endpoint===e.endpoint)){let r=n.resolveName(e);return o.error(t.instant("fedx.repo.already.added.sparql.endpoint.error",{name:r})),void n.$uibModalInstance.close()}n.fedxMembers=n.fedxMembers.filter(r=>r.endpoint!==e.endpoint)}m(e),p(),n.$uibModalInstance.close()},n.$on("changedLocation",function(){n.fedxMembers=[],l()}),l()}}}angular.module("graphdb.framework.repositories.fedx-repo.directive",[]).directive("fedxRepo",e),e.$inject=["$uibModal","RepositoriesRestService","toastr","$translate"]},64803:(e,r,o)=>{o.r(r),o.d(r,{OntopFileType:()=>t});const t={OBDA:"obdaFile",OWL:"owlFile",CONSTRAINT:"constraintFile",LENSES:"lensesFile",DB_METADATA:"dbMetadataFile"}},69112:(e,r,o)=>{function t(e){e.interceptors.push("$authenticationInterceptor")}function n(e,r,o){e.$on("$locationChangeStart",function(){o.isLicenseHardcoded()&&"/license/register"===r.url()&&r.path("license")})}o.r(r),o(82493),o(5687),o(21774),o(46570),o(9619),o(35805),o(98599),o(47195),o(56669),angular.module("graphdb.framework.settings",["toastr","ui.bootstrap","graphdb.framework.rest.license.service","graphdb.framework.settings.controllers","graphdb.framework.core.interceptors.unauthorized","graphdb.framework.core.interceptors.authentication","graphdb.framework.core.services.jwtauth"]).config(t).run(n),t.$inject=["$httpProvider","$routeProvider"],n.$inject=["$rootScope","$location","$licenseService"]},94003:(e,r,o)=>{o.r(r),o.d(r,{OntopRepositoryError:()=>t});class t extends Error{}}};
|
|
2
|
-
//# sourceMappingURL=41621.68c5ebc2104a62e2b41d.bundle.js.map
|