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
package/dist/{27580.f71ebbc69dd1c7785ef3.bundle.js.map → 27580.5a421770ab66d2dedc37.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"27580.f71ebbc69dd1c7785ef3.bundle.js","mappings":"uJAOA,QANW,wmhB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/clustermanagement/templates/cluster-nodes-configuration.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/cluster-nodes-configuration.css?v=3.2.0-TR1\" rel=\"stylesheet\"/> <div onto-loader-new ng-if=\"loader\" class=\"create-cluster-loader\" message=\"getLoaderMessage\" size=\"100\"></div> <div class=\"add-node-wrapper pull-right mb-1\"> <button ng-click=\"addNode()\" ng-disabled=\"editedNodeIndex !== undefined\" class=\"btn btn-primary add-node-btn\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip' | translate}}\"> <i class=\"fa fa-plus\"></i> {{'cluster_management.update_cluster_group_dialog.actions.add_node' | translate}} </button> </div> <div class=\"table-responsive\"> <form name=\"form\" id=\"updateClusterGroupForm\"> <table class=\"cluster-group table table-striped table-hover cluster-group-table\" aria-describedby=\"cluster group table\"> <thead> <tr class=\"labels-row\"> <th scope=\"col\" class=\"index-column\"> {{'cluster_management.update_cluster_group_dialog.column.index' | translate}} </th> <th scope=\"col\" class=\"location-column\"> {{'cluster_management.update_cluster_group_dialog.column.location' | translate}} </th> <th scope=\"col\" class=\"info-column\"> {{'cluster_management.update_cluster_group_dialog.column.info' | translate}} </th> <th scope=\"col\" class=\"status-column\"> {{'cluster_management.update_cluster_group_dialog.column.status' | translate}} </th> <th scope=\"col\" class=\"empty-column\"></th> <th scope=\"col\" class=\"actions-column\"></th> </tr> </thead> <tbody> <tr ng-if=\"!viewModel.length\"> <td colspan=\"5\" class=\"no-data\"> {{'cluster_management.update_cluster_group_dialog.messages.no_cluster' | translate}} </td> </tr> <tr ng-repeat-start=\"node in viewModel track by \\$index\" ng-if=\"0\"></tr> <tr ng-if=\"\\$index !== editedNodeIndex\" class=\"node preview-node-row\" data-endpoint=\"{{node.endpoint}}\" capture-height=\"\\$index\" ng-class=\"{'selected': \\$index === selectedNode || \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"location-cell data\" ng-class=\"{'deleting': node.isDeleted, 'adding': !node.item.address}\"> <div class=\"location-item\" id=\"endpoint-{{::node.index}}\"> <span class=\"text-only\">{{node.item.endpoint}}</span> <copy-to-clipboard text-to-copy=\"{{node.item.endpoint}}\" custom-tooltip-style=\"true\" ng-attr-target-selector=\"#endpoint-{{::node.index}}\" custom-tooltip-text=\"{{'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip' | translate}}\"></copy-to-clipboard> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell data\"> <div ng-if=\"!node.item.address\" class=\"adding\"> <i class=\"fa fa-circle-check status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.new_node' | translate}} </div> <div ng-if=\"node.isDeleted\" class=\"deleting\"> <i class=\"fa fa-xmark status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.deleted_node' | translate}} </div> </td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div ng-if=\"editedNodeIndex === undefined && !node.isDeleted\" class=\"actions-group\"> <button ng-click=\"deleteNode(\\$index, node)\" ng-disabled=\"(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)\" class=\"btn btn-link delete-node-btn secondary\" gdb-tooltip=\"{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n ('cluster_management.update_cluster_group_dialog.actions.delete_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_delete_node' | translate) }}\" title-class=\"delete-node-tooltip\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"replaceNode(\\$index, node)\" class=\"btn btn-link replace-node-btn\" ng-disabled=\"!hasCluster && node.isLocal\" gdb-tooltip=\"{{hasCluster || !node.isLocal ?\n ('cluster_management.update_cluster_group_dialog.actions.replace_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_replace_node' | translate) }}\"> <i class=\"fa fa-arrow-right-arrow-left\"></i> </button> </div> <div ng-if=\"editedNodeIndex === undefined && node.isDeleted\" class=\"actions-group\"> <button ng-click=\"restoreNode(node)\" class=\"btn btn-link restore-node-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.restore_node' | translate}}\"> <i class=\"fa fa-rotate-left\"></i> </button> </div> </td> </tr> <tr ng-if=\"\\$index === editedNodeIndex\" class=\"node edit-node-row\" data-endpoint=\"{{node.endpoint}}\" style=\"\" ng-class=\"{'selected table-info': \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"node.endpoint\" ng-change=\"filterSuggestions(node)\" ng-blur=\"hideSuggestions(node)\" ng-click=\"filterSuggestions(node)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, node.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(node, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(node.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> <tr ng-repeat-end ng-if=\"0\"></tr> <tr ng-if=\"addNewLocation\" class=\"node edit-node-row\"> <td class=\"index-cell\"></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"newLocation.endpoint\" ng-change=\"filterSuggestions(newLocation)\" ng-blur=\"hideSuggestions(newLocation)\" ng-click=\"filterSuggestions(newLocation)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, newLocation.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(newLocation, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"></td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(newLocation.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> </tbody> </table> <div class=\"errors\"> <div class=\"error-message\" ng-show=\"form.location.\\$error.validUrl && !form.location.\\$pristine\"> * {{'valid.remote.location.warning' | translate}} http://server.example.com:7200/. </div> <div class=\"error-message\" ng-show=\"form.location.\\$error.duplicateUrl && !form.location.\\$pristine\"> * {{'duplicate.remote.location.warning' | translate}} </div> <div ng-repeat=\"error in errors\" class=\"error-message\"> {{error}} </div> </div> <div class=\"form-horizontal\" ng-if=\"!hasCluster\"> <div class=\"form-group\"> <div class=\"indented-div\"> <span class=\"padding-label wrapper-div\" gdb-tooltip=\"{{'cluster_management.cluster_page.advanced_options_tooltip' | translate}}\"> <button type=\"button\" class=\"text-btn advanced-options-btn text-left\" data-toggle=\"collapse\" data-target=\"#advancedOptions\"> <i class=\"{{getAdvancedOptionsClass()}} advanced-options-toggle\" aria-hidden=\"true\"></i> {{'cluster_management.cluster_page.advanced_options' | translate}} </button> </span> </div> <div id=\"advancedOptions\" class=\"collapse pb-1 pl-2\"> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionMinTimeout.\\$invalid}\"> <label for=\"election-minimum-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_min_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionMinTimeout\" required id=\"election-minimum-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionMinTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionRangeTimeout.\\$invalid}\"> <label for=\"election-range-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_range_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionRangeTimeout\" required id=\"election-range-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionRangeTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.heartbeatInterval.\\$invalid}\"> <label for=\"heartbeat-interval\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.heartbeat_interval' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.heartbeatInterval\" required id=\"heartbeat-interval\" min=\"0\" pattern=\"[0-9]+\" name=\"heartbeatInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.messageSizeKB.\\$invalid}\"> <label for=\"message-size\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.message_size_kb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.message_size_kb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.messageSizeKB\" required id=\"message-size\" min=\"0\" pattern=\"[0-9]+\" name=\"messageSizeKB\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.verificationTimeout.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.verification_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.verification_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.verificationTimeout\" required id=\"verification-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"verificationTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.transactionLogMaximumSizeGB.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.transactionLogMaximumSizeGB\" required id=\"transaction-log-maximum-size-gb\" pattern=\"-?[1-9][0-9]*(\\\\.[0-9]+)?\" name=\"transaction_log_maximum_size_gb\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.small_transaction_log_max_size' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.batchUpdateInterval.\\$invalid}\"> <label for=\"batch-update-interval\" class=\"col-xs-4 col-form-label\"> {{'cluster_management.cluster_configuration_properties.batch_update_interval' | translate}}* </label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.batchUpdateInterval\" required id=\"batch-update-interval\" min=\"0\" name=\"batchUpdateInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.batchUpdateInterval.\\$error.required\"> {{'required.field' | translate}} </div> </div> </div> </div> </div> </div> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"27580.5a421770ab66d2dedc37.bundle.js","mappings":"uJAOA,QANW,wmhB","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/clustermanagement/templates/cluster-nodes-configuration.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/cluster-nodes-configuration.css?v=3.2.0-TR2\" rel=\"stylesheet\"/> <div onto-loader-new ng-if=\"loader\" class=\"create-cluster-loader\" message=\"getLoaderMessage\" size=\"100\"></div> <div class=\"add-node-wrapper pull-right mb-1\"> <button ng-click=\"addNode()\" ng-disabled=\"editedNodeIndex !== undefined\" class=\"btn btn-primary add-node-btn\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.add_node_tooltip' | translate}}\"> <i class=\"fa fa-plus\"></i> {{'cluster_management.update_cluster_group_dialog.actions.add_node' | translate}} </button> </div> <div class=\"table-responsive\"> <form name=\"form\" id=\"updateClusterGroupForm\"> <table class=\"cluster-group table table-striped table-hover cluster-group-table\" aria-describedby=\"cluster group table\"> <thead> <tr class=\"labels-row\"> <th scope=\"col\" class=\"index-column\"> {{'cluster_management.update_cluster_group_dialog.column.index' | translate}} </th> <th scope=\"col\" class=\"location-column\"> {{'cluster_management.update_cluster_group_dialog.column.location' | translate}} </th> <th scope=\"col\" class=\"info-column\"> {{'cluster_management.update_cluster_group_dialog.column.info' | translate}} </th> <th scope=\"col\" class=\"status-column\"> {{'cluster_management.update_cluster_group_dialog.column.status' | translate}} </th> <th scope=\"col\" class=\"empty-column\"></th> <th scope=\"col\" class=\"actions-column\"></th> </tr> </thead> <tbody> <tr ng-if=\"!viewModel.length\"> <td colspan=\"5\" class=\"no-data\"> {{'cluster_management.update_cluster_group_dialog.messages.no_cluster' | translate}} </td> </tr> <tr ng-repeat-start=\"node in viewModel track by \\$index\" ng-if=\"0\"></tr> <tr ng-if=\"\\$index !== editedNodeIndex\" class=\"node preview-node-row\" data-endpoint=\"{{node.endpoint}}\" capture-height=\"\\$index\" ng-class=\"{'selected': \\$index === selectedNode || \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"location-cell data\" ng-class=\"{'deleting': node.isDeleted, 'adding': !node.item.address}\"> <div class=\"location-item\" id=\"endpoint-{{::node.index}}\"> <span class=\"text-only\">{{node.item.endpoint}}</span> <copy-to-clipboard text-to-copy=\"{{node.item.endpoint}}\" custom-tooltip-style=\"true\" ng-attr-target-selector=\"#endpoint-{{::node.index}}\" custom-tooltip-text=\"{{'cluster_management.update_cluster_group_dialog.copy_to_clipboard.copied.tooltip' | translate}}\"></copy-to-clipboard> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell data\"> <div ng-if=\"!node.item.address\" class=\"adding\"> <i class=\"fa fa-circle-check status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.new_node' | translate}} </div> <div ng-if=\"node.isDeleted\" class=\"deleting\"> <i class=\"fa fa-xmark status-icon\"></i> {{'cluster_management.update_cluster_group_dialog.deleted_node' | translate}} </div> </td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div ng-if=\"editedNodeIndex === undefined && !node.isDeleted\" class=\"actions-group\"> <button ng-click=\"deleteNode(\\$index, node)\" ng-disabled=\"(hasCluster && !canDeleteNode) || (!hasCluster && node.isLocal)\" class=\"btn btn-link delete-node-btn secondary\" gdb-tooltip=\"{{ (hasCluster && canDeleteNode) || (!hasCluster && !node.isLocal) ?\n ('cluster_management.update_cluster_group_dialog.actions.delete_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_delete_node' | translate) }}\" title-class=\"delete-node-tooltip\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"replaceNode(\\$index, node)\" class=\"btn btn-link replace-node-btn\" ng-disabled=\"!hasCluster && node.isLocal\" gdb-tooltip=\"{{hasCluster || !node.isLocal ?\n ('cluster_management.update_cluster_group_dialog.actions.replace_node' | translate) :\n ('cluster_management.update_cluster_group_dialog.actions.cannot_replace_node' | translate) }}\"> <i class=\"fa fa-arrow-right-arrow-left\"></i> </button> </div> <div ng-if=\"editedNodeIndex === undefined && node.isDeleted\" class=\"actions-group\"> <button ng-click=\"restoreNode(node)\" class=\"btn btn-link restore-node-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.restore_node' | translate}}\"> <i class=\"fa fa-rotate-left\"></i> </button> </div> </td> </tr> <tr ng-if=\"\\$index === editedNodeIndex\" class=\"node edit-node-row\" data-endpoint=\"{{node.endpoint}}\" style=\"\" ng-class=\"{'selected table-info': \\$index === editedNodeIndex}\"> <td class=\"index-cell\"><span ng-if=\"!node.isDeleted\">{{node.index + 1}}</span></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"node.endpoint\" ng-change=\"filterSuggestions(node)\" ng-blur=\"hideSuggestions(node)\" ng-click=\"filterSuggestions(node)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, node.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(node, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"> <span ng-if=\"node.isLocal\"> {{'cluster_management.update_cluster_group_dialog.current_node' | translate}}<span ng-if=\"node.item.nodeState\">, </span> </span> <span ng-if=\"node.item.nodeState\"> {{ ('cluster_management.update_cluster_group_dialog.' + node.item.nodeState.toLowerCase()) | translate }} </span> </td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(node.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> <tr ng-repeat-end ng-if=\"0\"></tr> <tr ng-if=\"addNewLocation\" class=\"node edit-node-row\"> <td class=\"index-cell\"></td> <td class=\"data location-cell\"> <div class=\"autocomplete-container\"> <input type=\"text\" name=\"location\" required ng-model=\"newLocation.endpoint\" ng-change=\"filterSuggestions(newLocation)\" ng-blur=\"hideSuggestions(newLocation)\" ng-click=\"filterSuggestions(newLocation)\" ng-keydown=\"handleKeydown(\\$event, form.location.\\$valid, newLocation.endpoint)\" auto-grow validate-url exclude=\"/repositories\" exclude-protocol=\"ftp,ftps\" validate-duplicate-url excluded-urls=\"clusterNodesEndpoints\" allow-empty=\"false\" class=\"form-control form-control-sm textarea-edit\" uib-tooltip=\"{{'remote.location.enter.url.msg' | translate}}\" tooltip-placement=\"top\" placeholder=\"{{'cluster_management.update_cluster_group_dialog.field_placeholders.location' | translate}}\"> <ul ng-show=\"suggestions.length > 0 && showDropdown\" class=\"autocomplete-dropdown\"> <li ng-repeat=\"suggestion in suggestions\" ng-mouseup=\"selectSuggestion(newLocation, suggestion)\"> {{ suggestion }} </li> </ul> </div> </td> <td class=\"info-cell data\"></td> <td class=\"status-cell\"></td> <td class=\"empty-cell\"></td> <td class=\"actions-cell\"> <div class=\"crud-actions-group\"> <button ng-click=\"cancel()\" class=\"btn btn-link cancel-node-replace-btn secondary\" gdb-tooltip=\"{{'cluster_management.update_cluster_group_dialog.actions.cancel' | translate}}\"> <i class=\"fa fa-xmark\"></i> </button> <button ng-click=\"saveNode(newLocation.endpoint)\" class=\"btn btn-link save-rule-btn\" ng-disabled=\"!form.location.\\$valid\" gdb-tooltip=\"{{form.location.\\$valid ? 'cluster_management.update_cluster_group_dialog.actions.add_node' : 'cluster_management.update_cluster_group_dialog.messages.invalid_form' | translate}}\"> <i class=\"fa fa-check\"></i> </button> </div> </td> </tr> </tbody> </table> <div class=\"errors\"> <div class=\"error-message\" ng-show=\"form.location.\\$error.validUrl && !form.location.\\$pristine\"> * {{'valid.remote.location.warning' | translate}} http://server.example.com:7200/. </div> <div class=\"error-message\" ng-show=\"form.location.\\$error.duplicateUrl && !form.location.\\$pristine\"> * {{'duplicate.remote.location.warning' | translate}} </div> <div ng-repeat=\"error in errors\" class=\"error-message\"> {{error}} </div> </div> <div class=\"form-horizontal\" ng-if=\"!hasCluster\"> <div class=\"form-group\"> <div class=\"indented-div\"> <span class=\"padding-label wrapper-div\" gdb-tooltip=\"{{'cluster_management.cluster_page.advanced_options_tooltip' | translate}}\"> <button type=\"button\" class=\"text-btn advanced-options-btn text-left\" data-toggle=\"collapse\" data-target=\"#advancedOptions\"> <i class=\"{{getAdvancedOptionsClass()}} advanced-options-toggle\" aria-hidden=\"true\"></i> {{'cluster_management.cluster_page.advanced_options' | translate}} </button> </span> </div> <div id=\"advancedOptions\" class=\"collapse pb-1 pl-2\"> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionMinTimeout.\\$invalid}\"> <label for=\"election-minimum-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_min_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_min_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionMinTimeout\" required id=\"election-minimum-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionMinTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionMinTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.electionRangeTimeout.\\$invalid}\"> <label for=\"election-range-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.election_range_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.election_range_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.electionRangeTimeout\" required id=\"election-range-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"electionRangeTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.electionRangeTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.heartbeatInterval.\\$invalid}\"> <label for=\"heartbeat-interval\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.heartbeat_interval' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.heartbeat_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.heartbeatInterval\" required id=\"heartbeat-interval\" min=\"0\" pattern=\"[0-9]+\" name=\"heartbeatInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.heartbeatInterval.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.messageSizeKB.\\$invalid}\"> <label for=\"message-size\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.message_size_kb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.message_size_kb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.messageSizeKB\" required id=\"message-size\" min=\"0\" pattern=\"[0-9]+\" name=\"messageSizeKB\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.messageSizeKB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.verificationTimeout.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.verification_timeout' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.verification_timeout_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.verificationTimeout\" required id=\"verification-timeout\" min=\"0\" pattern=\"[0-9]+\" name=\"verificationTimeout\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.verificationTimeout.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.only_positive_integers' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.transactionLogMaximumSizeGB.\\$invalid}\"> <label for=\"verification-timeout\" class=\"col-xs-4 col-form-label\">{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb' | translate}}*</label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.transaction_log_maximum_size_gb_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.transactionLogMaximumSizeGB\" required id=\"transaction-log-maximum-size-gb\" pattern=\"-?[1-9][0-9]*(\\\\.[0-9]+)?\" name=\"transaction_log_maximum_size_gb\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.required\"> {{'required.field' | translate}} </div> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.transactionLogMaximumSizeGB.\\$error.pattern\"> {{'cluster_management.cluster_page.errors.small_transaction_log_max_size' | translate}} </div> </div> </div> </div> <div class=\"form-group\"> <div class=\"input-group\" ng-class=\"{'has-danger': clusterConfigurationForm.batchUpdateInterval.\\$invalid}\"> <label for=\"batch-update-interval\" class=\"col-xs-4 col-form-label\"> {{'cluster_management.cluster_configuration_properties.batch_update_interval' | translate}}* </label> <div class=\"col-xs-8\" gdb-tooltip=\"{{'cluster_management.cluster_configuration_properties.batch_update_interval_tooltip' | translate}}\"> <input class=\"form-control\" placeholder=\"{{'required.field' | translate}}\" type=\"number\" ng-model=\"clusterConfiguration.batchUpdateInterval\" required id=\"batch-update-interval\" min=\"0\" name=\"batchUpdateInterval\"> <div class=\"form-control-feedback\" ng-show=\"clusterConfigurationForm.batchUpdateInterval.\\$error.required\"> {{'required.field' | translate}} </div> </div> </div> </div> </div> </div> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=28050;export const __webpack_ids__=[28050,29428,69724,84727];export const __webpack_modules__={10307:(e,n,t)=>{t.r(n);var o=t(3588);function r(e){return{restrict:"E",scope:{field:"=",form:"=",translationKeyPrefix:"="},templateUrl:"js/angular/core/directives/dynamic-form/templates/form-field-template.html",link:function(e){e.FIELD_TYPE=o.FIELD_TYPE}}}angular.module("graphdb.framework.core.directives.dynamic-form-field",[]).directive("dynamicFormField",r),r.$inject=[]},28050:(e,n,t)=>{t.r(n);var o=t(32534),r=(t(69724),t(77512));function i(e,n,t,i,a,l){return{restrict:"E",templateUrl:"js/angular/graphql/templates/step-generate-endpoint.html",scope:{stepDefinition:"="},link:n=>{n.endpointConfiguration=void 0,n.endpointsCountToGenerate=0,n.endpointsOverview=void 0,n.activeRepository=i.getActiveRepository(),n.generateFromGraphqlSchemaShapes=!1,n.generatingEndpoint=!1,n.generationReport=void 0,n.endpointUrl=r.endpointUrl,n.back=()=>{l.previousEndpointCreationStep()},n.cancel=()=>{const n=t.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title"),o=t.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body");e.openConfirmation(n,o,()=>{l.cancelEndpointCreation()})},n.generateEndpoint=()=>{n.generatingEndpoint=!0,n.generationReport=void 0,l.generateEndpoint()},n.finishGenerationWorkflow=()=>{l.finishGenerationWorkflow()},n.showEndpointReport=e=>{l.openEndpointGenerationReport(e)},n.exploreInPlayground=e=>{l.exploreEndpointInPlayground(e)};const d=[];d.push(l.subscribe(o.GraphqlEventName.ENDPOINT_GENERATED,e=>{n.generatingEndpoint=!1,n.generationReport=e})),n.$on("$destroy",()=>{d.forEach(e=>e())}),n.endpointConfiguration=l.getNewEndpoint(),n.generateFromGraphqlSchemaShapes=n.endpointConfiguration.hasSelectedGraphqlSchemaShapes(),n.endpointsCountToGenerate=a.getEndpointsCountToGenerate(n.endpointConfiguration),n.endpointsOverview=a.getGenerateEndpointsOverview(n.endpointConfiguration)}}}angular.module("graphdb.framework.graphql.directives.generate-endpoint",["graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal"]).directive("generateEndpoint",i),i.$inject=["ModalService","$uibModal","$translate","$repositories","GraphqlService","GraphqlContextService"]},29428:()=>{angular.module("graphdb.framework.core.directives.multiselect-dropdown",[]).directive("multiselectDropdown",["$translate",function(e){return{restrict:"E",require:"ngModel",scope:{options:"=",dropdownLabel:"=?"},templateUrl:"js/angular/core/directives/multiselect-dropdown/templates/multiselect-dropdown.html",link:function(n,t,o,r){n.isOpen=!1;const i=e=>{t[0].contains(e.target)||n.$apply(()=>{n.isOpen=!1})};n.toggleDropdown=function(){n.isOpen=!n.isOpen},n.toggleSelection=function(e){e.selected=!e.selected,(()=>{const e=n.options.filter(function(e){return e.selected});r.$setViewValue(e)})()},n.getSelectedText=function(){const t=n.options.filter(e=>e.selected);return 0===t.length?n.dropdownLabel||e.instant("common.select"):t.map(e=>e.label).join(", ")},r.$render=function(){angular.isArray(r.$viewValue)&&n.options.forEach(function(e){e.selected=r.$viewValue.some(function(n){return n.value===e.value})})},document.addEventListener("click",i),n.$on("$destroy",()=>{document.removeEventListener("click",i)})}}}])},58334:(e,n,t)=>{t.r(n),t(10307);var o=t(3588);function
|
|
2
|
-
//# sourceMappingURL=28050.
|
|
1
|
+
export const __webpack_id__=28050;export const __webpack_ids__=[28050,29428,69724,84727];export const __webpack_modules__={10307:(e,n,t)=>{t.r(n);var o=t(3588);function r(e){return{restrict:"E",scope:{field:"=",form:"=",translationKeyPrefix:"="},templateUrl:"js/angular/core/directives/dynamic-form/templates/form-field-template.html",link:function(e){e.FIELD_TYPE=o.FIELD_TYPE}}}angular.module("graphdb.framework.core.directives.dynamic-form-field",[]).directive("dynamicFormField",r),r.$inject=[]},28050:(e,n,t)=>{t.r(n);var o=t(32534),r=(t(69724),t(77512));function i(e,n,t,i,a,l){return{restrict:"E",templateUrl:"js/angular/graphql/templates/step-generate-endpoint.html",scope:{stepDefinition:"="},link:n=>{n.endpointConfiguration=void 0,n.endpointsCountToGenerate=0,n.endpointsOverview=void 0,n.activeRepository=i.getActiveRepository(),n.generateFromGraphqlSchemaShapes=!1,n.generatingEndpoint=!1,n.generationReport=void 0,n.endpointUrl=r.endpointUrl,n.back=()=>{l.previousEndpointCreationStep()},n.cancel=()=>{const n=t.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.title"),o=t.instant("graphql.create_endpoint.wizard_steps.actions.cancel.confirmation.body");e.openConfirmation(n,o,()=>{l.cancelEndpointCreation()})},n.generateEndpoint=()=>{n.generatingEndpoint=!0,n.generationReport=void 0,l.generateEndpoint()},n.finishGenerationWorkflow=()=>{l.finishGenerationWorkflow()},n.showEndpointReport=e=>{l.openEndpointGenerationReport(e)},n.exploreInPlayground=e=>{l.exploreEndpointInPlayground(e)};const d=[];d.push(l.subscribe(o.GraphqlEventName.ENDPOINT_GENERATED,e=>{n.generatingEndpoint=!1,n.generationReport=e})),n.$on("$destroy",()=>{d.forEach(e=>e())}),n.endpointConfiguration=l.getNewEndpoint(),n.generateFromGraphqlSchemaShapes=n.endpointConfiguration.hasSelectedGraphqlSchemaShapes(),n.endpointsCountToGenerate=a.getEndpointsCountToGenerate(n.endpointConfiguration),n.endpointsOverview=a.getGenerateEndpointsOverview(n.endpointConfiguration)}}}angular.module("graphdb.framework.graphql.directives.generate-endpoint",["graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal"]).directive("generateEndpoint",i),i.$inject=["ModalService","$uibModal","$translate","$repositories","GraphqlService","GraphqlContextService"]},29428:()=>{angular.module("graphdb.framework.core.directives.multiselect-dropdown",[]).directive("multiselectDropdown",["$translate",function(e){return{restrict:"E",require:"ngModel",scope:{options:"=",dropdownLabel:"=?"},templateUrl:"js/angular/core/directives/multiselect-dropdown/templates/multiselect-dropdown.html",link:function(n,t,o,r){n.isOpen=!1;const i=e=>{t[0].contains(e.target)||n.$apply(()=>{n.isOpen=!1})};n.toggleDropdown=function(){n.isOpen=!n.isOpen},n.toggleSelection=function(e){e.selected=!e.selected,(()=>{const e=n.options.filter(function(e){return e.selected});r.$setViewValue(e)})()},n.getSelectedText=function(){const t=n.options.filter(e=>e.selected);return 0===t.length?n.dropdownLabel||e.instant("common.select"):t.map(e=>e.label).join(", ")},r.$render=function(){angular.isArray(r.$viewValue)&&n.options.forEach(function(e){e.selected=r.$viewValue.some(function(n){return n.value===e.value})})},document.addEventListener("click",i),n.$on("$destroy",()=>{document.removeEventListener("click",i)})}}}])},58334:(e,n,t)=>{t.r(n),t(10307);var o=t(3588),r=t(304);angular.module("graphdb.framework.core.directives.dynamic-form",["graphdb.framework.core.directives.dynamic-form-field"]).directive("dynamicForm",a),a.$inject=[];const i=r.LoggerProvider.logger;function a(){return{restrict:"E",scope:{formModel:"=",showAllFields:"=?",onValidityChange:"&?",formCtrl:"=?",translationKeyPrefix:"@?"},templateUrl:"js/angular/core/directives/dynamic-form/templates/dynamic-form.html",link:function(e,n){e.FIELD_TYPE=o.FIELD_TYPE,e.formCtrl=void 0,e.showAllFields=e.showAllFields||!1,(()=>{const t=n.find("form").controller("form");if(!t)return void i.error("Form controller not found!");e.formCtrl=t;const o=t.$setValidity;e.formCtrl.$setValidity=function(n,r,i){o.call(t,n,r,i),e.onValidityChange&&e.onValidityChange({valid:t.$valid})}})()}}}},69724:(e,n,t)=>{function o(e,n,t,o){const r="generation-report.json";e.endpointReport=void 0,e.downloadReport=()=>{const n=JSON.stringify(e.endpointReport.toJSON(),null,2),t=new Blob([n],{type:"application/json"}),o=URL.createObjectURL(t),i=document.createElement("a");i.href=o,i.download=e.endpointReport.endpointId?`${e.endpointReport.endpointId}-${r}`:r,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o)},e.deleteReport=()=>{o.deleteEndpointGenerationReport(e.endpointReport),e.close()},e.close=()=>{n.dismiss("cancel")},e.endpointReport=t.endpointReport}t.r(n),t(14874),t(58334),t(29428),angular.module("graphdb.framework.graphql.controllers.endpoint-generation-failure-result-modal",["graphdb.framework.core.services.graphql-service"]).controller("EndpointGenerationResultFailureModalController",o),o.$inject=["$scope","$uibModalInstance","data","GraphqlContextService"]}};
|
|
2
|
+
//# sourceMappingURL=28050.6960a4a0961a07a94743.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"28050.6960a4a0961a07a94743.bundle.js","mappings":"gKASA,SAASA,EAA0BC,GAC/B,MAAO,CACHC,SAAU,IACVC,MAAO,CACHC,MAAO,IACPC,KAAM,IACNC,qBAAsB,KAE1BC,YAAa,6EACbC,KAAM,SAASC,GACXA,EAAOC,WAAaA,EAAAA,UACxB,EAER,CAnBAC,QACKC,OAAO,uDAFI,IAGXC,UAAU,mBAAoBb,GAEnCA,EAA0Bc,QAAU,E,8DCKpC,SAASC,EAA0BC,EAAcC,EAAWC,EAAYC,EAAeC,EAAgBC,GACnG,MAAO,CACHnB,SAAU,IACVK,YAAa,2DACbJ,MAAO,CACHmB,eAAgB,KAEpBd,KAAOC,IAUHA,EAAOc,2BAAwBC,EAM/Bf,EAAOgB,yBAA2B,EAMlChB,EAAOiB,uBAAoBF,EAK3Bf,EAAOkB,iBAAmBR,EAAcS,sBAMxCnB,EAAOoB,iCAAkC,EAMzCpB,EAAOqB,oBAAqB,EAM5BrB,EAAOsB,sBAAmBP,EAM1Bf,EAAOuB,YAAcA,EAAAA,YASrBvB,EAAOwB,KAAO,KACVZ,EAAsBa,gCAM1BzB,EAAO0B,OAAS,KACZ,MAAMC,EAAQlB,EAAWmB,QAAQ,0EAC3BC,EAAuBpB,EAAWmB,QAAQ,yEAChDrB,EAAauB,iBAAiBH,EAAOE,EAAsB,KACvDjB,EAAsBmB,4BAO9B/B,EAAOgC,iBAAmB,KACtBhC,EAAOqB,oBAAqB,EAC5BrB,EAAOsB,sBAAmBP,EAC1BH,EAAsBoB,oBAM1BhC,EAAOiC,yBAA2B,KAC9BrB,EAAsBqB,4BAO1BjC,EAAOkC,mBAAsBC,IACzBvB,EAAsBwB,6BAA6BD,IAOvDnC,EAAOqC,oBAAuBF,IAC1BvB,EAAsB0B,4BAA4BH,IAWtD,MASMI,EAAgB,GAMtBA,EAAcC,KAAK5B,EAAsB6B,UAAUC,EAAAA,iBAAiBC,mBAfvCrB,IACzBtB,EAAOqB,oBAAqB,EAC5BrB,EAAOsB,iBAAmBA,KAe9BtB,EAAO4C,IAAI,WANOC,KACdN,EAAcO,QAASC,GAAiBA,OAQxC/C,EAAOc,sBAAwBF,EAAsBoC,iBACrDhD,EAAOoB,gCAAkCpB,EAAOc,sBAAsBmC,iCACtEjD,EAAOgB,yBAA2BL,EAAeuC,4BAA4BlD,EAAOc,uBACpFd,EAAOiB,kBAAoBN,EAAewC,6BAA6BnD,EAAOc,wBAK9F,CA9JAZ,QACKC,OAAO,yDAA0D,CAC9D,mFAEHC,UAAU,mBAAoBE,GAEnCA,EAA0BD,QAAU,CAAC,eAAgB,YAAa,aAAc,gBAAiB,iBAAkB,wB,aC4BnHH,QAAQC,OAAO,yDAA0D,IACpEC,UAAU,sBAAuB,CAAC,aAAc,SAAUK,GACvD,MAAO,CACHhB,SAAU,IACV2D,QAAS,UACT1D,MAAO,CACH2D,QAAS,IACTC,cAAe,MAEnBxD,YAAa,sFACbC,KAAM,SAASC,EAAQuD,EAASC,EAAOC,GAInCzD,EAAO0D,QAAS,EAMhB,MAAMC,EAAuBC,IACpBL,EAAQ,GAAGM,SAASD,EAAME,SAC3B9D,EAAO+D,OAAO,KACV/D,EAAO0D,QAAS,KAe5B1D,EAAOgE,eAAiB,WACpBhE,EAAO0D,QAAU1D,EAAO0D,MAC5B,EAMA1D,EAAOiE,gBAAkB,SAAUC,GAC/BA,EAAOC,UAAYD,EAAOC,SAnBVC,MAChB,MAAMD,EAAWnE,EAAOqD,QAAQgB,OAAO,SAASH,GAC5C,OAAOA,EAAOC,QAClB,GACAV,EAAQa,cAAcH,IAgBtBC,EACJ,EAOApE,EAAOuE,gBAAkB,WACrB,MAAMC,EAAkBxE,EAAOqD,QAAQgB,OAAQH,GAAWA,EAAOC,UACjE,OAA+B,IAA3BK,EAAgBC,OACTzE,EAAOsD,eAAiB7C,EAAWmB,QAAQ,iBAE/C4C,EAAgBE,IAAKR,GAAWA,EAAOS,OAAOC,KAAK,KAC9D,EAKAnB,EAAQoB,QAAU,WACV3E,QAAQ4E,QAAQrB,EAAQsB,aACxB/E,EAAOqD,QAAQP,QAAQ,SAASoB,GAC5BA,EAAOC,SAAWV,EAAQsB,WAAWC,KAAK,SAASC,GAC/C,OAAOA,EAAeC,QAAUhB,EAAOgB,KAC3C,EACJ,EAER,EAKAC,SAASC,iBAAiB,QAASzB,GACnC3D,EAAO4C,IAAI,WAAY,KACnBuC,SAASE,oBAAoB,QAAS1B,IAE9C,EAER,G,yDC1FJzD,QACKC,OAAO,iDAFI,CAAC,yDAGZC,UAAU,cAAekF,GAE9BA,EAAqBjF,QAAU,GAE/B,MAAMkF,EAASC,EAAAA,eAAeD,OAE9B,SAASD,IACL,MAAO,CACH7F,SAAU,IACVC,MAAO,CAIH+F,UAAW,IAKXC,cAAe,KACfC,iBAAkB,KAClBC,SAAU,KACV/F,qBAAsB,MAE1BC,YAAa,sEACbC,KAAM,SAASC,EAAQuD,GAInBvD,EAAOC,WAAaA,EAAAA,WACpBD,EAAO4F,cAAW7E,EAClBf,EAAO0F,cAAgB1F,EAAO0F,gBAAiB,EAKlCG,MACT,MACMD,EADcrC,EAAQuC,KAAK,QACJC,WAAW,QAExC,IAAKH,EAED,YADAL,EAAOS,MAAM,8BAIjBhG,EAAO4F,SAAWA,EAClB,MAAMK,EAAsBL,EAASM,aACrClG,EAAO4F,SAASM,aAAe,SAASC,EAAiBC,EAASC,GAC9DJ,EAAoBK,KAAKV,EAAUO,EAAiBC,EAASC,GACzDrG,EAAO2F,kBACP3F,EAAO2F,iBAAiB,CAACY,MAAOX,EAASY,QAEjD,GAMJX,EACJ,EAER,C,kBClFA,SAASY,EAA+CzG,EAAQ0G,EAAmBC,EAAM/F,GAKrF,MAAMgG,EAAmB,yBAUzB5G,EAAOmC,oBAAiBpB,EASxBf,EAAO6G,eAAiB,KACpB,MAAMC,EAAaC,KAAKC,UAAUhH,EAAOmC,eAAe8E,SAAU,KAAM,GAClEC,EAAO,IAAIC,KAAK,CAACL,GAAa,CAAEM,KAAM,qBACtCC,EAAMC,IAAIC,gBAAgBL,GAC1BM,EAAIrC,SAASsC,cAAc,KACjCD,EAAEE,KAAOL,EACTG,EAAEG,SAAW3H,EAAOmC,eAAeyF,WAAa,GAAG5H,EAAOmC,eAAeyF,cAAchB,IAAqBA,EAC5GzB,SAAS0C,KAAKC,YAAYN,GAC1BA,EAAEO,QACF5C,SAAS0C,KAAKG,YAAYR,GAC1BF,IAAIW,gBAAgBZ,IAMxBrH,EAAOkI,aAAe,KAClBtH,EAAsBuH,+BAA+BnI,EAAOmC,gBAC5DnC,EAAOoI,SAMXpI,EAAOoI,MAAQ,KACX1B,EAAkB2B,QAAQ,WAQ1BrI,EAAOmC,eAAiBwE,EAAKxE,cAOrC,C,kCAtEAjC,QACKC,OAAO,iFALI,CACZ,oDAKC4F,WAAW,iDAAkDU,GAElEA,EAA+CpG,QAAU,CAAC,SAAU,oBAAqB,OAAQ,wB","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\";\nimport {LoggerProvider} from \"../../services/logger-provider\";\n\n/**\n * @function dynamicFormDirective\n * @description\n * A directive for rendering a dynamic form based on an array of field objects.\n *\n * This directive creates a form where each object in the provided formModel defines the type of input to render\n * (for example, text input, checkbox, dropdown, multi-select, or textarea for JSON data). The directive uses the\n * {@link FIELD_TYPE} enum to determine which input type to display. For select and multi-select fields, the\n * {@link SelectMenuOptionsModel} should be used to model the options.\n *\n * Additionally, the directive supports an optional `onValidityChange` callback that will be called whenever the overall\n * validity of the form changes. This is useful for informing a parent component or controller about the current form validity.\n *\n * @example\n * ### HTML Usage:\n * ```html\n * <dynamic-form formModel=\"myFields\" on-validity-change=\"handleValidityChange(valid)\"></dynamic-form>\n * ```\n *\n * @param {Object[]} field - The array of field objects used to render the form fields.\n * @param {string} field[].label - The label displayed for the input.\n * @param {string} field[].type - The type of field input. Should be one of the values defined in {@link FIELD_TYPE}.\n * @param {*} field[].value - The current value of the field.\n * @param {SelectMenuOptionsModel[]} [field[].values] - The array of possible options for select and multi-select fields.\n * @param {(string|RegExp)} [field[].regex] - A regular expression or its string representation for validating the field value.\n * @param {boolean} [field[].required=false] - Indicates whether the field is required.\n *\n * @returns {Object} The directive definition object.\n */\nconst modules = ['graphdb.framework.core.directives.dynamic-form-field'];\nangular\n .module('graphdb.framework.core.directives.dynamic-form', modules)\n .directive('dynamicForm', dynamicFormDirective);\n\ndynamicFormDirective.$inject = [];\n\nconst logger = LoggerProvider.logger;\n\nfunction dynamicFormDirective() {\n return {\n restrict: 'E',\n scope: {\n /**\n * @type {DynamicFormModel}\n */\n formModel: '=',\n /**\n * Controls whether to show all fields or only the ones that are not hidden in the model.\n * @type {boolean}\n */\n showAllFields: '=?',\n onValidityChange: '&?',\n formCtrl: '=?',\n translationKeyPrefix: '@?',\n },\n templateUrl: 'js/angular/core/directives/dynamic-form/templates/dynamic-form.html',\n link: function($scope, element) {\n // =========================\n // Public variables\n // =========================\n $scope.FIELD_TYPE = FIELD_TYPE;\n $scope.formCtrl = undefined;\n $scope.showAllFields = $scope.showAllFields || false;\n\n // =========================\n // Private function\n // =========================\n const init = () => {\n const formElement = element.find('form');\n const formCtrl = formElement.controller('form');\n\n if (!formCtrl) {\n logger.error('Form controller not found!');\n return;\n }\n\n $scope.formCtrl = formCtrl;\n const originalSetValidity = formCtrl.$setValidity;\n $scope.formCtrl.$setValidity = function(validationToken, isValid, modelCtrl) {\n originalSetValidity.call(formCtrl, validationToken, isValid, modelCtrl);\n if ($scope.onValidityChange) {\n $scope.onValidityChange({valid: formCtrl.$valid});\n }\n };\n };\n\n // =========================\n // Initialization\n // =========================\n init();\n },\n };\n}\n\n\n","import '../../core/services/graphql.service';\nimport 'angular/core/directives/dynamic-form/dynamic-form.directive';\nimport 'angular/core/directives/multiselect-dropdown/multiselect-dropdown.directive';\n\nconst modules = [\n 'graphdb.framework.core.services.graphql-service',\n];\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","logger","LoggerProvider","formModel","showAllFields","onValidityChange","formCtrl","init","find","controller","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 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=31636;export const __webpack_ids__=[31636];export const __webpack_modules__={31636:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});const a='<link href="css/ttyg/agent-select-menu.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=31636.
|
|
1
|
+
export const __webpack_id__=31636;export const __webpack_ids__=[31636];export const __webpack_modules__={31636:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});const a='<link href="css/ttyg/agent-select-menu.css?v=3.2.0-TR2" rel="stylesheet"/> <div class="btn-group agent-select-menu" uib-dropdown guide-selector="select-agent-dropdown"> <button type="button" class="btn dropdown-toggle-btn" uib-dropdown-toggle guide-selector="select-agent-dropdown-toggle" ng-attr-title="{{selectedAgent && !selectedAgent.isDeleted ? (selectedAgent.name + \' · \' + selectedAgent.repositoryId) : null}}"> <span ng-if="!selectedAgent">{{\'ttyg.agent.agent_select_menu.no_selection_label\' | translate}}</span> <div ng-if="selectedAgent && !selectedAgent.isDeleted" class="selected-agent-option"> <span class="agent-name" guide-selector="selected-agent">{{selectedAgent.name}}</span> · <i ng-if="!selectedAgent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i> <i ng-if="selectedAgent.isRepositoryDeleted" class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository" gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}"> </i> <span class="repository-id">{{selectedAgent.repositoryId}}</span> <span class="model-name">{{selectedAgent.model}}</span> </div> <span ng-if="selectedAgent && selectedAgent.isDeleted" class="text-warning"> <i class="fa fa-triangle-exclamation"></i> {{\'ttyg.agent.agent_select_menu.deleted_agent\' | translate}} </span> <span class="caret"></span> </button> <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="single-button" guide-selector="select-agent-panel"> <li ng-repeat="agentOption in agentOptionsList" role="menuitem" class="agent-menu-item" ng-class="{\'selected\': agentOption.selected, \'incompatible-agent\': !agentOption.data.agent.isCompatible}" ng-attr-title="{{!agentOption.data.agent.isCompatible ? (\'ttyg.agent.incompatible_agent\' | translate) : agentOption.label + \' · \' + agentOption.data.agent.repositoryId}}"> <a href="#" class="agent-option" ng-click="onAgentSelected($event, agentOption.data.agent)"> <i ng-if="!agentOption.data.agent.isCompatible" class="fa fa-triangle-exclamation text-warning"> </i> <span class="agent-name">{{agentOption.label}}</span> · <i ng-if="!agentOption.data.agent.isRepositoryDeleted" class="fa-kit fa-gdb-repo-graphdb"></i> <i ng-if="agentOption.data.agent.isRepositoryDeleted" class="fa fa-triangle-exclamation text-warning agent-with-deleted-repository" gdb-tooltip="{{\'ttyg.agent.deleted_repository\' | translate}}"> </i> <span class="repository-id">{{agentOption.data.agent.repositoryId}}</span> </a> <span class="model-name">{{agentOption.data.agent.model}}</span> </li> </ul> </div> '}};
|
|
2
|
+
//# sourceMappingURL=31636.54e2817f8ae3998a34b3.bundle.js.map
|
package/dist/{31636.e34ccc2d6f2dec577446.bundle.js.map → 31636.54e2817f8ae3998a34b3.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"31636.
|
|
1
|
+
{"version":3,"file":"31636.54e2817f8ae3998a34b3.bundle.js","mappings":"uJAGA,QAFW,2gF","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/agent-select-menu.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/agent-select-menu.css?v=3.2.0-TR2\" rel=\"stylesheet\"/> <div class=\"btn-group agent-select-menu\" uib-dropdown guide-selector=\"select-agent-dropdown\"> <button type=\"button\" class=\"btn dropdown-toggle-btn\" uib-dropdown-toggle guide-selector=\"select-agent-dropdown-toggle\" ng-attr-title=\"{{selectedAgent && !selectedAgent.isDeleted ? (selectedAgent.name + ' · ' + selectedAgent.repositoryId) : null}}\"> <span ng-if=\"!selectedAgent\">{{'ttyg.agent.agent_select_menu.no_selection_label' | translate}}</span> <div ng-if=\"selectedAgent && !selectedAgent.isDeleted\" class=\"selected-agent-option\"> <span class=\"agent-name\" guide-selector=\"selected-agent\">{{selectedAgent.name}}</span> · <i ng-if=\"!selectedAgent.isRepositoryDeleted\" class=\"fa-kit fa-gdb-repo-graphdb\"></i> <i ng-if=\"selectedAgent.isRepositoryDeleted\" class=\"fa fa-triangle-exclamation text-warning agent-with-deleted-repository\" gdb-tooltip=\"{{'ttyg.agent.deleted_repository' | translate}}\"> </i> <span class=\"repository-id\">{{selectedAgent.repositoryId}}</span> <span class=\"model-name\">{{selectedAgent.model}}</span> </div> <span ng-if=\"selectedAgent && selectedAgent.isDeleted\" class=\"text-warning\"> <i class=\"fa fa-triangle-exclamation\"></i> {{'ttyg.agent.agent_select_menu.deleted_agent' | translate}} </span> <span class=\"caret\"></span> </button> <ul class=\"dropdown-menu\" uib-dropdown-menu role=\"menu\" aria-labelledby=\"single-button\" guide-selector=\"select-agent-panel\"> <li ng-repeat=\"agentOption in agentOptionsList\" role=\"menuitem\" class=\"agent-menu-item\" ng-class=\"{'selected': agentOption.selected, 'incompatible-agent': !agentOption.data.agent.isCompatible}\" ng-attr-title=\"{{!agentOption.data.agent.isCompatible ? ('ttyg.agent.incompatible_agent' | translate) : agentOption.label + ' · ' + agentOption.data.agent.repositoryId}}\"> <a href=\"#\" class=\"agent-option\" ng-click=\"onAgentSelected(\\$event, agentOption.data.agent)\"> <i ng-if=\"!agentOption.data.agent.isCompatible\" class=\"fa fa-triangle-exclamation text-warning\"> </i> <span class=\"agent-name\">{{agentOption.label}}</span> · <i ng-if=\"!agentOption.data.agent.isRepositoryDeleted\" class=\"fa-kit fa-gdb-repo-graphdb\"></i> <i ng-if=\"agentOption.data.agent.isRepositoryDeleted\" class=\"fa fa-triangle-exclamation text-warning agent-with-deleted-repository\" gdb-tooltip=\"{{'ttyg.agent.deleted_repository' | translate}}\"> </i> <span class=\"repository-id\">{{agentOption.data.agent.repositoryId}}</span> </a> <span class=\"model-name\">{{agentOption.data.agent.model}}</span> </li> </ul> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=32489;export const __webpack_ids__=[32489];export const __webpack_modules__={32489:(t,n,a)=>{a.r(n),a.d(n,{default:()=>o});const o='<link href="css/operations-statuses-monitor.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=32489.
|
|
1
|
+
export const __webpack_id__=32489;export const __webpack_ids__=[32489];export const __webpack_modules__={32489:(t,n,a)=>{a.r(n),a.d(n,{default:()=>o});const o='<link href="css/operations-statuses-monitor.css?v=3.2.0-TR2" rel="stylesheet"/> <div ng-if="activeOperations && activeOperations.operations && activeOperations.operations.length > 0" class="operations-statuses btn-group"> <button type="button" class="btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle" data-toggle="dropdown" ng-if="operationsSummary && operationsSummary.length > 0" ng-class="{\n \'btn-fade-danger\': OPERATION_STATUS.CRITICAL === activeOperations.status,\n \'btn-fade-warning\': OPERATION_STATUS.WARNING === activeOperations.status\n }"> <div class="operation-status-header" ng-repeat="operationGroup in operationsSummary"> <div ng-class="{\n \'icon-import\': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n \'icon-exchange\': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n \'fa fa-archive\': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n \'fa fa-sitemap\': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationGroup.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationGroup.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationGroup.status}"> </div> <span ng-if="operationGroup.runningOperations" class="running-operation-count"> <sup class="tag-info">{{operationGroup.runningOperations}}</sup> </span> </div> <span class="caret"></span> </button> <ul role="menu" class="dropdown-menu dropdown-menu-right"> <div class="operations-statuses-content"> <li ng-repeat="operationStatus in activeOperations.operations"> <a class="operation-status-content btn btn-secondary row" target="_blank" ng-attr-href="{{operationStatus.monitoringViewUrl}}" ng-class="{\n \'status-critical\': OPERATION_STATUS.CRITICAL === operationStatus.status,\n \'status-information\': OPERATION_STATUS.INFORMATION === operationStatus.status,\n \'status-warning\': OPERATION_STATUS.WARNING === operationStatus.status\n }"> <div class="operation-icon col-sm-1" ng-style="noPadding"> <div ng-class="{\n \'icon-import\': OPERATION_TYPE.IMPORTS === operationStatus.type,\n \'icon-exchange\': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n \'fa fa-archive\': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n \'fa fa-sitemap\': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}"> </div> </div> <div class="col-sm-8 operation-status-label"> {{ \'global.operations_statuses.\' + operationStatus.titleLabelKey + \'.title\' | translate }} </div> <div class="operation-number col-sm-3"> <div ng-if="operationStatus.runningOperationCount" class="operation-status-running-operation-count tag-info"> {{operationStatus.runningOperationCount}} </div> </div> </a> </li> </div> </ul> </div> '}};
|
|
2
|
+
//# sourceMappingURL=32489.f7a2dc39cd61c2cd8874.bundle.js.map
|
package/dist/{32489.97fac2c3daa49b143d13.bundle.js.map → 32489.f7a2dc39cd61c2cd8874.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"32489.
|
|
1
|
+
{"version":3,"file":"32489.f7a2dc39cd61c2cd8874.bundle.js","mappings":"uJAqBA,QApBW,8hG","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/operations-statuses-monitor.css?v=3.2.0-TR2\" rel=\"stylesheet\"/> <div ng-if=\"activeOperations && activeOperations.operations && activeOperations.operations.length > 0\" class=\"operations-statuses btn-group\"> <button type=\"button\" class=\"btn btn-secondary operations-statuses-dropdown-toggle dropdown-toggle\" data-toggle=\"dropdown\" ng-if=\"operationsSummary && operationsSummary.length > 0\" ng-class=\"{\n 'btn-fade-danger': OPERATION_STATUS.CRITICAL === activeOperations.status,\n 'btn-fade-warning': OPERATION_STATUS.WARNING === activeOperations.status\n }\"> <div class=\"operation-status-header\" ng-repeat=\"operationGroup in operationsSummary\"> <div ng-class=\"{\n 'icon-import': OPERATION_GROUP_TYPE.IMPORT_OPERATION === operationGroup.type,\n 'icon-exchange': OPERATION_GROUP_TYPE.QUERIES_OPERATION === operationGroup.type,\n 'fa fa-archive': OPERATION_GROUP_TYPE.BACKUP_AND_RESTORE_OPERATION === operationGroup.type,\n 'fa fa-sitemap': OPERATION_GROUP_TYPE.CLUSTER_OPERATION === operationGroup.type,\n 'status-critical': OPERATION_STATUS.CRITICAL === operationGroup.status,\n 'status-information': OPERATION_STATUS.INFORMATION === operationGroup.status,\n 'status-warning': OPERATION_STATUS.WARNING === operationGroup.status}\"> </div> <span ng-if=\"operationGroup.runningOperations\" class=\"running-operation-count\"> <sup class=\"tag-info\">{{operationGroup.runningOperations}}</sup> </span> </div> <span class=\"caret\"></span> </button> <ul role=\"menu\" class=\"dropdown-menu dropdown-menu-right\"> <div class=\"operations-statuses-content\"> <li ng-repeat=\"operationStatus in activeOperations.operations\"> <a class=\"operation-status-content btn btn-secondary row\" target=\"_blank\" ng-attr-href=\"{{operationStatus.monitoringViewUrl}}\" ng-class=\"{\n 'status-critical': OPERATION_STATUS.CRITICAL === operationStatus.status,\n 'status-information': OPERATION_STATUS.INFORMATION === operationStatus.status,\n 'status-warning': OPERATION_STATUS.WARNING === operationStatus.status\n }\"> <div class=\"operation-icon col-sm-1\" ng-style=\"noPadding\"> <div ng-class=\"{\n 'icon-import': OPERATION_TYPE.IMPORTS === operationStatus.type,\n 'icon-exchange': OPERATION_TYPE.QUERIES === operationStatus.type || OPERATION_TYPE.UPDATES === operationStatus.type,\n 'fa fa-archive': OPERATION_TYPE.BACKUP_RESTORE === operationStatus.type,\n 'fa fa-sitemap': OPERATION_TYPE.CLUSTER_STATUS === operationStatus.type}\"> </div> </div> <div class=\"col-sm-8 operation-status-label\"> {{ 'global.operations_statuses.' + operationStatus.titleLabelKey + '.title' | translate }} </div> <div class=\"operation-number col-sm-3\"> <div ng-if=\"operationStatus.runningOperationCount\" class=\"operation-status-running-operation-count tag-info\"> {{operationStatus.runningOperationCount}} </div> </div> </a> </li> </div> </ul> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
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),d=t(304);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",f).controller("JdbcCreateCtrl",m),f.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"];const g=d.LoggerProvider.logger;function f(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 m(e,n,t,d,f,m,p,b,y,C,h,j,w,v,q,S){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=q.getLanguage(),n.isDirty=!1,n.prefixes=[],n.loadingControllerResources=!1,n.isQueryRunning=!1,n.canEditActiveRepo=!1;let R=!0,E=!0;n.saveJdbcConfiguration=()=>{if(n.saveOrUpdateExecuted=!0,!n.jdbcConfigurationInfo.jdbcConfigurationName)return;if(!n.isDirty)return void B();const e=n.jdbcConfigurationInfo.isNewJdbcConfiguration?$:A;N(n.jdbcConfigurationInfo).then(Q).then(D).then(M).then(e).catch(e=>{if(!(e instanceof r.JdbcConfigurationError)){const n=getError(e);f.error(n,v.instant("jdbc.not.saved.configuration"))}})},n.getPreview=()=>{n.activeTab=1,n.isQueryRunning=!0,N(n.jdbcConfigurationInfo).then(Q).then(D).then(M).then(e=>(J({render:s.RenderingMode.YASQE,initialQuery:e.query}),e)).then(T).then(([e,n])=>{const t=e&&e.results.bindings&&e.results.bindings.length>0;let o=s.RenderingMode.YASGUI;t||(o=s.RenderingMode.YASQE,f.info(v.instant("jdbc.table.definition"),v.instant("jdbc.preview.sql"))),J({render:o,sparqlResponse:e,initialQuery:n.query})}).catch(e=>{e instanceof r.JdbcConfigurationError?e.jdbcConfigurationInfo&&(e.jdbcConfigurationInfo.isColumnsEmpty||e.jdbcConfigurationInfo.hasUndefinedColumns)&&(x(),n.activeTab=2):f.error(getError(e,0,100),v.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(Q).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=>C.getColumnsTypeSuggestion(n.query,[e])).then(e=>e.data).then(e=>{(0,a.updateColumn)(o,e),I(o.column_type,t)}).catch(e=>{f.error(getError(e),v.instant("jdbc.not.suggest.column.type"))})},n.deleteColumn=function(e,t){w.openSimpleModal({title:v.instant("common.warning"),message:v.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?w.openSimpleModal({title:v.instant("common.warning"),message:v.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then(function(){x()}):x()},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 T=e=>{if(n.canWriteActiveRepo){const t=JSON.stringify({name:n.jdbcConfigurationInfo.jdbcConfigurationName,query:n.jdbcConfigurationInfo.query,columns:n.jdbcConfigurationInfo.columns||[]});return Promise.all([C.getNewSqlTablePreview(t).then(e=>e.data),Promise.resolve(e)])}return Promise.all([C.getExistingSqlTablePreview(n.jdbcConfigurationInfo.jdbcConfigurationName).then(e=>e.data),Promise.resolve(e)])},I=(e,n)=>{e===n?f.info((0,u.Gz)(v.instant("jdbc.same.suggested.sql.type",{type:e})),v.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):f.success((0,u.Gz)(v.instant("jdbc.suggested.sql.type",{type:e})),v.instant("jdbc.suggest.sql.type"),{allowHtml:!0})},_=(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,J(),W()},$=e=>{const t={name:e.jdbcConfigurationName,query:e.query,columns:e.columns};return C.createNewJdbcConfiguration(t).then(()=>{n.isDirty=!1,n.jdbcConfigurationInfo.isNewConfiguration=!1,f.success(v.instant("jdbc.saved.configuration")),F()})},A=e=>{const t={name:e.jdbcConfigurationName,query:e.query,columns:e.columns};return C.updateJdbcConfiguration(t).then(()=>{n.isDirty=!1,n.jdbcConfigurationInfo.isNewConfiguration=!1,f.success(v.instant("jdbc.configuration.updated")),F()})},J=(e={})=>{const t={};angular.extend(t,n.yasguiConfig||P(),e),n.yasguiConfig=t},P=()=>({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:Y,sparqlResponse:n.emptySparqlResponse,yasqeActionButtons:c.DISABLE_YASQE_BUTTONS_CONFIGURATION,yasqeMode:n.canEditActiveRepo?i.YasqeMode.WRITE:i.YasqeMode.READ}),N=e=>L().getQueryType().then(n=>(e.isValidQueryType="SELECT"===n,e.isValidQueryType?e:Promise.reject(new r.JdbcConfigurationError("Query type is not valid.")))),Q=e=>L().isQueryValid().then(n=>(e.isValidQuery=n,e.isValidQuery?e:Promise.reject(new r.JdbcConfigurationError("Invalid query.")))),D=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,f.error(v.instant("jdbc.warning.one.column.msg")),Promise.reject(new r.JdbcConfigurationError("There are not defined columns.",e))),x=()=>{N(n.jdbcConfigurationInfo).then(Q).then(M).then(k).then(O).then(e=>n.jdbcConfigurationInfo=e).catch(e=>{g.info(e)})},k=e=>C.getColumnNames(e.query).then(n=>[e,n.data]).catch(function(e){f.error(getError(e),v.instant("jdbc.not.suggest.column.names"))}),O=([e,t])=>C.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){f.error(getError(e),v.instant("jdbc.not.suggest.column.types"))}),L=()=>c.YasguiComponentDirectiveUtil.getOntotextYasguiElement("#query-editor"),M=e=>L().getQuery().then(n=>(e.query=n,e)),U=e=>"decimal"===e,Y=(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>"},V=(e,n,t,o)=>{w.openSimpleModal({title:e,message:n,warning:!0}).result.then(function(){angular.isFunction(t)&&t()},function(){angular.isFunction(o)&&o()})},W=()=>{n.getSuggestionSqlType=v.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]},F=()=>{setTimeout(function(){B()},1e3)},B=()=>{d.url("/jdbc")},G=e=>{n.isDirty&&(e.returnValue=!0)},z=()=>{window.removeEventListener("beforeunload",G),H.forEach(e=>e())},H=[],X=l.ServiceProvider.get(l.RepositoryContextService).onSelectedRepositoryChanged(e=>{e&&(E?E=!1:L().abortQuery().then(B))},()=>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=v.instant("common.confirm"),i=v.instant("jdbc.warning.unsaved.changes");V(o,i,t,n)}else t()}));H.push(X),H.push(t.$on("$translateChangeSuccess",()=>{n.language=q.getLanguage(),W()})),H.push(n.$on("$locationChangeStart",(e,t)=>{if(n.isDirty){e.preventDefault();const n=v.instant("common.confirm"),o=v.instant("jdbc.warning.unsaved.changes");V(n,o,()=>{z();const e=d.absUrl().length-d.url().length,n=t.substring(e);d.path(n)})}else z()})),H.push(n.$on("$destroy",z)),window.addEventListener("beforeunload",G),H.push(n.$watch(n.getActiveRepositoryObject,e=>{e&&(n.canEditActiveRepo=n.canWriteActiveRepo(),R?((()=>{n.loadingControllerResources=!0;const e=m.getActiveRepository();n.jdbcConfigurationInfo.jdbcConfigurationName?Promise.all([m.getPrefixes(e),C.getJdbcConfiguration(n.jdbcConfigurationInfo.jdbcConfigurationName)]).then(([e,n])=>{_(e,n.data)}).finally(()=>n.loadingControllerResources=!1):m.getPrefixes(e).then(e=>_(e)).finally(()=>n.loadingControllerResources=!1)})(),R=!1):L().abortQuery().then(B))}))}m.$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.79f7e98ef89a46d4aa58.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"33524.79f7e98ef89a46d4aa58.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\";\nimport {LoggerProvider} from \"../core/services/logger-provider\";\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\nconst logger = LoggerProvider.logger;\n\nfunction JdbcListCtrl($scope, $repositories, JdbcRestService, toastr, ModalService, $translate) {\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 $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 logger.info(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 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","controller","JdbcListCtrl","JdbcCreateCtrl","logger","LoggerProvider","$scope","$repositories","ModalService","getSqlConfigurations","getActiveRepository","isActiveRepoOntopType","isActiveRepoFedXType","jdbcConfigurations","error","msg","getError","$watch","deleteConfiguration","openSimpleModal","title","warning","result","then","e","$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","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","PROTECTED","JdbcColumn","sparql_type","nullable","columnNames","columnTypes","map","super"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=34495;export const __webpack_ids__=[34495];export const __webpack_modules__={34495:(t,o,e)=>{e.r(o),e.d(o,{default:()=>a});const a='<link href="css/ttyg/external-integration-configuration-modal.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=34495.
|
|
1
|
+
export const __webpack_id__=34495;export const __webpack_ids__=[34495];export const __webpack_modules__={34495:(t,o,e)=>{e.r(o),e.d(o,{default:()=>a});const a='<link href="css/ttyg/external-integration-configuration-modal.css?v=3.2.0-TR2" rel="stylesheet"/> <div class="modal-header"> <button type="button" class="close" ng-click="close()"></button> <h4 class="modal-title">{{\'ttyg.agent.external_integration_config_modal.title\' | translate}}</h4> </div> <div class="modal-body"> <h6 class="modal-title"> {{ \'ttyg.agent.external_integration_config_modal.label\' | translate:{agentName: agentName} }} </h6> <form class="form-horizontal"> <div class="form-group"> <label for="agentId" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.agent_id_label\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="agentId" ng-model="agentId" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{agentId}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.agent_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> <div class="form-group"> <label for="queryMethods" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.query_methods\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="queryMethods" ng-model="queryMethods" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{queryMethods}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.openAPI_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> <div class="form-group"> <label for="difyExtension" class="control-label"> {{ \'ttyg.agent.external_integration_config_modal.dify_extension\' | translate }} </label> <div class="input-group"> <input type="text" class="form-control" id="difyExtension" ng-model="difyExtension" readonly="readonly"> <span class="input-group-addon" gdb-tooltip="{{ \'ttyg.agent.external_integration_config_modal.copy_tooltip\' | translate }}"> <copy-to-clipboard text-to-copy="{{difyExtension}}" success-message="{{ \'ttyg.agent.external_integration_config_modal.dify_extension_copied_tooltip\' | translate }}"> </copy-to-clipboard> </span> </div> </div> </form> </div> '}};
|
|
2
|
+
//# sourceMappingURL=34495.be67c06c39909114bbe4.bundle.js.map
|
package/dist/{34495.cfa15bda8009fa37c6ff.bundle.js.map → 34495.be67c06c39909114bbe4.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"34495.
|
|
1
|
+
{"version":3,"file":"34495.be67c06c39909114bbe4.bundle.js","mappings":"uJAGA,QAFW,qzE","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/ttyg/templates/modal/external-integration-configuration-modal.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/ttyg/external-integration-configuration-modal.css?v=3.2.0-TR2\" rel=\"stylesheet\"/> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" ng-click=\"close()\"></button> <h4 class=\"modal-title\">{{'ttyg.agent.external_integration_config_modal.title' | translate}}</h4> </div> <div class=\"modal-body\"> <h6 class=\"modal-title\"> {{ 'ttyg.agent.external_integration_config_modal.label' | translate:{agentName: agentName} }} </h6> <form class=\"form-horizontal\"> <div class=\"form-group\"> <label for=\"agentId\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.agent_id_label' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"agentId\" ng-model=\"agentId\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{agentId}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.agent_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> <div class=\"form-group\"> <label for=\"queryMethods\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.query_methods' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"queryMethods\" ng-model=\"queryMethods\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{queryMethods}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.openAPI_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> <div class=\"form-group\"> <label for=\"difyExtension\" class=\"control-label\"> {{ 'ttyg.agent.external_integration_config_modal.dify_extension' | translate }} </label> <div class=\"input-group\"> <input type=\"text\" class=\"form-control\" id=\"difyExtension\" ng-model=\"difyExtension\" readonly=\"readonly\"> <span class=\"input-group-addon\" gdb-tooltip=\"{{ 'ttyg.agent.external_integration_config_modal.copy_tooltip' | translate }}\"> <copy-to-clipboard text-to-copy=\"{{difyExtension}}\" success-message=\"{{ 'ttyg.agent.external_integration_config_modal.dify_extension_copied_tooltip' | translate }}\"> </copy-to-clipboard> </span> </div> </div> </form> </div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=38360;export const __webpack_ids__=[38360];export const __webpack_modules__={38360:(t,e,n)=>{n.r(e),n.d(e,{default:()=>_});const _='<link href="css/markdown-content.css?v=3.2.0-
|
|
2
|
-
//# sourceMappingURL=38360.
|
|
1
|
+
export const __webpack_id__=38360;export const __webpack_ids__=[38360];export const __webpack_modules__={38360:(t,e,n)=>{n.r(e),n.d(e,{default:()=>_});const _='<link href="css/markdown-content.css?v=3.2.0-TR2" rel="stylesheet"/> <div class="markdown-content" ng-bind-html="markdownContent"></div> '}};
|
|
2
|
+
//# sourceMappingURL=38360.efec913bb97c3b8588a4.bundle.js.map
|
package/dist/{38360.0a90e77042876c86b279.bundle.js.map → 38360.efec913bb97c3b8588a4.bundle.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"38360.
|
|
1
|
+
{"version":3,"file":"38360.efec913bb97c3b8588a4.bundle.js","mappings":"uJAGA,QAFW,2I","sources":["webpack://root-config/./packages/legacy-workbench/src/js/angular/core/templates/markdown-content/markdown-content.html"],"sourcesContent":["// Module\nvar code = `<link href=\"css/markdown-content.css?v=3.2.0-TR2\" rel=\"stylesheet\"/> <div class=\"markdown-content\" ng-bind-html=\"markdownContent\"></div> `;\n// Exports\nexport default code;"],"names":[],"sourceRoot":""}
|