@grafana/plugin-ui 0.9.5 → 0.10.0
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/cjs/index.d.cts +1205 -0
- package/dist/cjs/index.js +9739 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js +80 -0
- package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/Auth.js +43 -0
- package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +132 -0
- package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js +82 -0
- package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js +91 -0
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +101 -0
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/styles.js +18 -0
- package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +58 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js +18 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +114 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js +31 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js +35 -0
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/types.js +12 -0
- package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Auth/utils.js +200 -0
- package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +38 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js +9 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js +9 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js +55 -0
- package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -0
- package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +53 -0
- package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DataSourceDescription.js +32 -0
- package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -0
- package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js +45 -0
- package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -0
- package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +182 -0
- package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -0
- package/dist/esm/components/DataLinks/DataLink.js +144 -0
- package/dist/esm/components/DataLinks/DataLink.js.map +1 -0
- package/dist/esm/components/DataLinks/DataLinks.js +66 -0
- package/dist/esm/components/DataLinks/DataLinks.js.map +1 -0
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +103 -0
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -0
- package/dist/esm/components/DatePicker/DatePicker.js +39 -0
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/{components → esm/components}/DatePicker/styles.js +20 -21
- package/dist/esm/components/DatePicker/styles.js.map +1 -0
- package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js +28 -0
- package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -0
- package/dist/esm/components/DatePickerWithInput/styles.js +16 -0
- package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -0
- package/dist/esm/components/DebounceInput/DebounceInput.js +15 -0
- package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -0
- package/dist/esm/components/Plugins/PluginSignatureBadge.js +57 -0
- package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -0
- package/dist/esm/components/QueryEditor/AccessoryButton.js +18 -0
- package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -0
- package/dist/esm/components/QueryEditor/ConfirmModal.js +26 -0
- package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -0
- package/dist/esm/components/QueryEditor/DatasetSelector.js +56 -0
- package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorField.js +42 -0
- package/dist/esm/components/QueryEditor/EditorField.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorFieldGroup.js +9 -0
- package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorHeader.js +21 -0
- package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorList.js +28 -0
- package/dist/esm/components/QueryEditor/EditorList.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorRow.js +22 -0
- package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorRows.js +9 -0
- package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorStack.js +11 -0
- package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -0
- package/dist/esm/components/QueryEditor/EditorSwitch.js +20 -0
- package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -0
- package/dist/esm/components/QueryEditor/FlexItem.js +8 -0
- package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -0
- package/dist/esm/components/QueryEditor/InlineSelect.js +50 -0
- package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -0
- package/dist/esm/components/QueryEditor/InputGroup.js +63 -0
- package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -0
- package/dist/esm/components/QueryEditor/QueryEditor.js +110 -0
- package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -0
- package/dist/esm/components/QueryEditor/QueryHeader.js +172 -0
- package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -0
- package/dist/esm/components/QueryEditor/RunQueryButton.js +42 -0
- package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -0
- package/dist/esm/components/QueryEditor/Space.js +35 -0
- package/dist/esm/components/QueryEditor/Space.js.map +1 -0
- package/dist/esm/components/QueryEditor/TableSelector.js +33 -0
- package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -0
- package/dist/esm/components/QueryEditor/defaults.js +25 -0
- package/dist/esm/components/QueryEditor/defaults.js.map +1 -0
- package/dist/esm/components/QueryEditor/expressions.js +17 -0
- package/dist/esm/components/QueryEditor/expressions.js.map +1 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +39 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +63 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +72 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +96 -0
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -0
- package/dist/esm/components/QueryEditor/types.js +33 -0
- package/dist/esm/components/QueryEditor/types.js.map +1 -0
- package/dist/esm/components/QueryEditor/utils/formatSQL.js +10 -0
- package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -0
- package/dist/esm/components/QueryEditor/utils/sql.utils.js +93 -0
- package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -0
- package/dist/esm/components/QueryEditor/utils/useSqlChange.js +19 -0
- package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +216 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +44 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +22 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js +9 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +51 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +70 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +33 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +14 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +35 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js +19 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js +40 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +123 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js +24 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js +79 -0
- package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -0
- package/dist/esm/components/QueryEditorRow/QueryEditorRow.js +11 -0
- package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +1 -0
- package/dist/esm/components/SQLEditor/components/SQLEditor.js +339 -0
- package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/Monaco.js +19 -0
- package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/TextModel.js +21 -0
- package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js +217 -0
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js +232 -0
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js +272 -0
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js +9 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js +197 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js +212 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js +252 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js +387 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js +417 -0
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -0
- package/dist/{src/components/SQLEditor/mocks/testData.d.ts → esm/components/SQLEditor/mocks/testData.js} +10 -9
- package/dist/esm/components/SQLEditor/mocks/testData.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/definition.js +19 -0
- package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +20 -0
- package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +24 -0
- package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/language.js +867 -0
- package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/macros.js +58 -0
- package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +34 -0
- package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +367 -0
- package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +215 -0
- package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -0
- package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +152 -0
- package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -0
- package/dist/esm/components/SQLEditor/test-utils/index.js +11 -0
- package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -0
- package/dist/esm/components/SQLEditor/test-utils/statementPosition.js +45 -0
- package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -0
- package/dist/esm/components/SQLEditor/types.js +140 -0
- package/dist/esm/components/SQLEditor/types.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/LinkedToken.js +145 -0
- package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/commands.js +7 -0
- package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/debugger.js +14 -0
- package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js +16 -0
- package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +45 -0
- package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +17 -0
- package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/tokenUtils.js +36 -0
- package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -0
- package/dist/esm/components/Segment/Segment.js +24 -0
- package/dist/esm/components/Segment/Segment.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +39 -0
- package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +178 -0
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +70 -0
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +77 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +254 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +55 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +107 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +87 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +169 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +43 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +136 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +39 -0
- package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +73 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js +14 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +44 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js +97 -0
- package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +30 -0
- package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -0
- package/dist/esm/components/VisualQueryBuilder/types.js +12 -0
- package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -0
- package/dist/esm/datasource/SqlDatasource.js +172 -0
- package/dist/esm/datasource/SqlDatasource.js.map +1 -0
- package/dist/esm/datasource/constants.js +18 -0
- package/dist/esm/datasource/constants.js.map +1 -0
- package/dist/esm/hooks/useDebounce.js +18 -0
- package/dist/esm/hooks/useDebounce.js.map +1 -0
- package/dist/esm/index.d.ts +1205 -0
- package/dist/esm/index.js +57 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +62 -41
- package/dist/components/AsyncButtonCascader/AsyncButtonCascader.js +0 -33
- package/dist/components/AsyncButtonCascader/AsyncButtonCascader.js.map +0 -1
- package/dist/components/Cascader/Cascader.js +0 -6
- package/dist/components/Cascader/Cascader.js.map +0 -1
- package/dist/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js +0 -28
- package/dist/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +0 -1
- package/dist/components/ConfigEditor/AdvancedSettings/index.js +0 -6
- package/dist/components/ConfigEditor/AdvancedSettings/index.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/Auth.js +0 -24
- package/dist/components/ConfigEditor/Auth/Auth.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +0 -110
- package/dist/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/auth-method/BasicAuth.js +0 -23
- package/dist/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeader.js +0 -41
- package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +0 -76
- package/dist/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/index.js +0 -10
- package/dist/components/ConfigEditor/Auth/index.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/styles.js +0 -19
- package/dist/components/ConfigEditor/Auth/styles.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +0 -18
- package/dist/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/tls/SkipTLSVerification.js +0 -11
- package/dist/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/tls/TLSClientAuth.js +0 -22
- package/dist/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/tls/TLSSettings.js +0 -25
- package/dist/components/ConfigEditor/Auth/tls/TLSSettings.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/tls/TLSSettingsSection.js +0 -35
- package/dist/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/types.js +0 -11
- package/dist/components/ConfigEditor/Auth/types.js.map +0 -1
- package/dist/components/ConfigEditor/Auth/utils.js +0 -113
- package/dist/components/ConfigEditor/Auth/utils.js.map +0 -1
- package/dist/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +0 -32
- package/dist/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +0 -1
- package/dist/components/ConfigEditor/ConfigSection/ConfigSection.js +0 -12
- package/dist/components/ConfigEditor/ConfigSection/ConfigSection.js.map +0 -1
- package/dist/components/ConfigEditor/ConfigSection/ConfigSubSection.js +0 -12
- package/dist/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +0 -1
- package/dist/components/ConfigEditor/ConfigSection/GenericConfigSection.js +0 -40
- package/dist/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +0 -1
- package/dist/components/ConfigEditor/ConfigSection/index.js +0 -10
- package/dist/components/ConfigEditor/ConfigSection/index.js.map +0 -1
- package/dist/components/ConfigEditor/Connection/ConnectionSettings.js +0 -26
- package/dist/components/ConfigEditor/Connection/ConnectionSettings.js.map +0 -1
- package/dist/components/ConfigEditor/Connection/index.js +0 -6
- package/dist/components/ConfigEditor/Connection/index.js.map +0 -1
- package/dist/components/ConfigEditor/DataSourceDescription.js +0 -39
- package/dist/components/ConfigEditor/DataSourceDescription.js.map +0 -1
- package/dist/components/ConfigEditor/SecureSocksProxyToggle.js +0 -24
- package/dist/components/ConfigEditor/SecureSocksProxyToggle.js.map +0 -1
- package/dist/components/ConfigEditor/index.js +0 -22
- package/dist/components/ConfigEditor/index.js.map +0 -1
- package/dist/components/ConfigEditor/types.js +0 -3
- package/dist/components/ConfigEditor/types.js.map +0 -1
- package/dist/components/CustomHeadersSettings/CustomHeadersSettings.js +0 -124
- package/dist/components/CustomHeadersSettings/CustomHeadersSettings.js.map +0 -1
- package/dist/components/DataLinks/DataLink.js +0 -79
- package/dist/components/DataLinks/DataLink.js.map +0 -1
- package/dist/components/DataLinks/DataLinks.js +0 -56
- package/dist/components/DataLinks/DataLinks.js.map +0 -1
- package/dist/components/DataLinks/index.js +0 -7
- package/dist/components/DataLinks/index.js.map +0 -1
- package/dist/components/DataLinks/types.js +0 -3
- package/dist/components/DataLinks/types.js.map +0 -1
- package/dist/components/DataSourcePicker/DataSourcePicker.js +0 -88
- package/dist/components/DataSourcePicker/DataSourcePicker.js.map +0 -1
- package/dist/components/DatePicker/DatePicker.js +0 -31
- package/dist/components/DatePicker/DatePicker.js.map +0 -1
- package/dist/components/DatePicker/styles.js.map +0 -1
- package/dist/components/DatePickerWithInput/DatePickerWithInput.js +0 -23
- package/dist/components/DatePickerWithInput/DatePickerWithInput.js.map +0 -1
- package/dist/components/DatePickerWithInput/style.css +0 -8
- package/dist/components/DebounceInput/DebounceInput.js +0 -19
- package/dist/components/DebounceInput/DebounceInput.js.map +0 -1
- package/dist/components/Plugins/PluginSignatureBadge.js +0 -65
- package/dist/components/Plugins/PluginSignatureBadge.js.map +0 -1
- package/dist/components/QueryEditor/AccessoryButton.js +0 -20
- package/dist/components/QueryEditor/AccessoryButton.js.map +0 -1
- package/dist/components/QueryEditor/ConfirmModal.js +0 -28
- package/dist/components/QueryEditor/ConfirmModal.js.map +0 -1
- package/dist/components/QueryEditor/DatasetSelector.js +0 -40
- package/dist/components/QueryEditor/DatasetSelector.js.map +0 -1
- package/dist/components/QueryEditor/EditorField.js +0 -49
- package/dist/components/QueryEditor/EditorField.js.map +0 -1
- package/dist/components/QueryEditor/EditorFieldGroup.js +0 -11
- package/dist/components/QueryEditor/EditorFieldGroup.js.map +0 -1
- package/dist/components/QueryEditor/EditorHeader.js +0 -22
- package/dist/components/QueryEditor/EditorHeader.js.map +0 -1
- package/dist/components/QueryEditor/EditorList.js +0 -27
- package/dist/components/QueryEditor/EditorList.js.map +0 -1
- package/dist/components/QueryEditor/EditorRow.js +0 -24
- package/dist/components/QueryEditor/EditorRow.js.map +0 -1
- package/dist/components/QueryEditor/EditorRows.js +0 -11
- package/dist/components/QueryEditor/EditorRows.js.map +0 -1
- package/dist/components/QueryEditor/EditorStack.js +0 -13
- package/dist/components/QueryEditor/EditorStack.js.map +0 -1
- package/dist/components/QueryEditor/EditorSwitch.js +0 -24
- package/dist/components/QueryEditor/EditorSwitch.js.map +0 -1
- package/dist/components/QueryEditor/FlexItem.js +0 -10
- package/dist/components/QueryEditor/FlexItem.js.map +0 -1
- package/dist/components/QueryEditor/InlineSelect.js +0 -57
- package/dist/components/QueryEditor/InlineSelect.js.map +0 -1
- package/dist/components/QueryEditor/InputGroup.js +0 -66
- package/dist/components/QueryEditor/InputGroup.js.map +0 -1
- package/dist/components/QueryEditor/QueryEditor.js +0 -74
- package/dist/components/QueryEditor/QueryEditor.js.map +0 -1
- package/dist/components/QueryEditor/QueryHeader.js +0 -86
- package/dist/components/QueryEditor/QueryHeader.js.map +0 -1
- package/dist/components/QueryEditor/RunQueryButton.js +0 -19
- package/dist/components/QueryEditor/RunQueryButton.js.map +0 -1
- package/dist/components/QueryEditor/Space.js +0 -36
- package/dist/components/QueryEditor/Space.js.map +0 -1
- package/dist/components/QueryEditor/TableSelector.js +0 -20
- package/dist/components/QueryEditor/TableSelector.js.map +0 -1
- package/dist/components/QueryEditor/defaults.js +0 -20
- package/dist/components/QueryEditor/defaults.js.map +0 -1
- package/dist/components/QueryEditor/expressions.js +0 -18
- package/dist/components/QueryEditor/expressions.js.map +0 -1
- package/dist/components/QueryEditor/index.js +0 -37
- package/dist/components/QueryEditor/index.js.map +0 -1
- package/dist/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +0 -21
- package/dist/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +0 -1
- package/dist/components/QueryEditor/query-editor-raw/QueryToolbox.js +0 -59
- package/dist/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +0 -1
- package/dist/components/QueryEditor/query-editor-raw/QueryValidator.js +0 -79
- package/dist/components/QueryEditor/query-editor-raw/QueryValidator.js.map +0 -1
- package/dist/components/QueryEditor/query-editor-raw/RawEditor.js +0 -60
- package/dist/components/QueryEditor/query-editor-raw/RawEditor.js.map +0 -1
- package/dist/components/QueryEditor/types.js +0 -26
- package/dist/components/QueryEditor/types.js.map +0 -1
- package/dist/components/QueryEditor/utils/formatSQL.js +0 -13
- package/dist/components/QueryEditor/utils/formatSQL.js.map +0 -1
- package/dist/components/QueryEditor/utils/sql.utils.js +0 -103
- package/dist/components/QueryEditor/utils/sql.utils.js.map +0 -1
- package/dist/components/QueryEditor/utils/useSqlChange.js +0 -16
- package/dist/components/QueryEditor/utils/useSqlChange.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +0 -109
- package/dist/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/EditorField.js +0 -51
- package/dist/components/QueryEditor/visual-query-builder/EditorField.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/EditorRow.js +0 -24
- package/dist/components/QueryEditor/visual-query-builder/EditorRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/EditorRows.js +0 -11
- package/dist/components/QueryEditor/visual-query-builder/EditorRows.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/GroupByRow.js +0 -33
- package/dist/components/QueryEditor/visual-query-builder/GroupByRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/OrderByRow.js +0 -50
- package/dist/components/QueryEditor/visual-query-builder/OrderByRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/Preview.js +0 -28
- package/dist/components/QueryEditor/visual-query-builder/Preview.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +0 -13
- package/dist/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +0 -34
- package/dist/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/SQLSelectRow.js +0 -19
- package/dist/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/SQLWhereRow.js +0 -35
- package/dist/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/SelectRow.js +0 -68
- package/dist/components/QueryEditor/visual-query-builder/SelectRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/VisualEditor.js +0 -38
- package/dist/components/QueryEditor/visual-query-builder/VisualEditor.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/WhereRow.js +0 -67
- package/dist/components/QueryEditor/visual-query-builder/WhereRow.js.map +0 -1
- package/dist/components/QueryEditor/visual-query-builder/index.js +0 -6
- package/dist/components/QueryEditor/visual-query-builder/index.js.map +0 -1
- package/dist/components/QueryEditorRow/QueryEditorRow.js +0 -16
- package/dist/components/QueryEditorRow/QueryEditorRow.js.map +0 -1
- package/dist/components/SQLEditor/components/SQLEditor.js +0 -330
- package/dist/components/SQLEditor/components/SQLEditor.js.map +0 -1
- package/dist/components/SQLEditor/index.js +0 -25
- package/dist/components/SQLEditor/index.js.map +0 -1
- package/dist/components/SQLEditor/mocks/Monaco.js +0 -23
- package/dist/components/SQLEditor/mocks/Monaco.js.map +0 -1
- package/dist/components/SQLEditor/mocks/TextModel.js +0 -22
- package/dist/components/SQLEditor/mocks/TextModel.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/multiLineFullQuery.js +0 -216
- package/dist/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js +0 -231
- package/dist/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js +0 -271
- package/dist/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js +0 -8
- package/dist/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/singleLineFullQuery.js +0 -196
- package/dist/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js +0 -211
- package/dist/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js +0 -251
- package/dist/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueries.js +0 -386
- package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +0 -1
- package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js +0 -416
- package/dist/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +0 -1
- package/dist/components/SQLEditor/mocks/testData.js +0 -22
- package/dist/components/SQLEditor/mocks/testData.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/definition.js +0 -13
- package/dist/components/SQLEditor/standardSql/definition.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/getStandardSuggestions.js +0 -26
- package/dist/components/SQLEditor/standardSql/getStandardSuggestions.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/getStatementPosition.js +0 -24
- package/dist/components/SQLEditor/standardSql/getStatementPosition.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/language.js +0 -875
- package/dist/components/SQLEditor/standardSql/language.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/macros.js +0 -166
- package/dist/components/SQLEditor/standardSql/macros.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +0 -30
- package/dist/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +0 -378
- package/dist/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +0 -234
- package/dist/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/suggestionsKindRegistry.js +0 -153
- package/dist/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +0 -1
- package/dist/components/SQLEditor/standardSql/types.js +0 -3
- package/dist/components/SQLEditor/standardSql/types.js.map +0 -1
- package/dist/components/SQLEditor/test-utils/index.js +0 -11
- package/dist/components/SQLEditor/test-utils/index.js.map +0 -1
- package/dist/components/SQLEditor/test-utils/statementPosition.js +0 -40
- package/dist/components/SQLEditor/test-utils/statementPosition.js.map +0 -1
- package/dist/components/SQLEditor/test-utils/types.js +0 -3
- package/dist/components/SQLEditor/test-utils/types.js.map +0 -1
- package/dist/components/SQLEditor/types.js +0 -139
- package/dist/components/SQLEditor/types.js.map +0 -1
- package/dist/components/SQLEditor/utils/LinkedToken.js +0 -147
- package/dist/components/SQLEditor/utils/LinkedToken.js.map +0 -1
- package/dist/components/SQLEditor/utils/commands.js +0 -8
- package/dist/components/SQLEditor/utils/commands.js.map +0 -1
- package/dist/components/SQLEditor/utils/debugger.js +0 -14
- package/dist/components/SQLEditor/utils/debugger.js.map +0 -1
- package/dist/components/SQLEditor/utils/getSuggestionKind.js +0 -18
- package/dist/components/SQLEditor/utils/getSuggestionKind.js.map +0 -1
- package/dist/components/SQLEditor/utils/linkedTokenBuilder.js +0 -46
- package/dist/components/SQLEditor/utils/linkedTokenBuilder.js.map +0 -1
- package/dist/components/SQLEditor/utils/toCompletionItem.js +0 -10
- package/dist/components/SQLEditor/utils/toCompletionItem.js.map +0 -1
- package/dist/components/SQLEditor/utils/tokenUtils.js +0 -72
- package/dist/components/SQLEditor/utils/tokenUtils.js.map +0 -1
- package/dist/components/SQLEditor/utils/types.js +0 -3
- package/dist/components/SQLEditor/utils/types.js.map +0 -1
- package/dist/components/Segment/Segment.js +0 -19
- package/dist/components/Segment/Segment.js.map +0 -1
- package/dist/components/VisualQueryBuilder/QueryModellerBase.js +0 -35
- package/dist/components/VisualQueryBuilder/QueryModellerBase.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/LabelFilterItem.js +0 -125
- package/dist/components/VisualQueryBuilder/components/LabelFilterItem.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/LabelFilters.js +0 -37
- package/dist/components/VisualQueryBuilder/components/LabelFilters.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationEditor.js +0 -41
- package/dist/components/VisualQueryBuilder/components/OperationEditor.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationEditorBody.js +0 -181
- package/dist/components/VisualQueryBuilder/components/OperationEditorBody.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationExplainedBox.js +0 -64
- package/dist/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationHeader.js +0 -68
- package/dist/components/VisualQueryBuilder/components/OperationHeader.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationInfoButton.js +0 -71
- package/dist/components/VisualQueryBuilder/components/OperationInfoButton.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationList.js +0 -132
- package/dist/components/VisualQueryBuilder/components/OperationList.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationListExplained.js +0 -22
- package/dist/components/VisualQueryBuilder/components/OperationListExplained.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationParamEditor.js +0 -71
- package/dist/components/VisualQueryBuilder/components/OperationParamEditor.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/OperationsEditorRow.js +0 -24
- package/dist/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/QueryBuilderHints.js +0 -54
- package/dist/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/QueryEditorModeToggle.js +0 -17
- package/dist/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +0 -32
- package/dist/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/QueryOptionGroup.js +0 -81
- package/dist/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +0 -1
- package/dist/components/VisualQueryBuilder/components/RawQuery.js +0 -25
- package/dist/components/VisualQueryBuilder/components/RawQuery.js.map +0 -1
- package/dist/components/VisualQueryBuilder/index.js +0 -29
- package/dist/components/VisualQueryBuilder/index.js.map +0 -1
- package/dist/components/VisualQueryBuilder/types.js +0 -10
- package/dist/components/VisualQueryBuilder/types.js.map +0 -1
- package/dist/components/index.js +0 -30
- package/dist/components/index.js.map +0 -1
- package/dist/datasource/SqlDatasource.js +0 -161
- package/dist/datasource/SqlDatasource.js.map +0 -1
- package/dist/datasource/constants.js +0 -19
- package/dist/datasource/constants.js.map +0 -1
- package/dist/hooks/useDebounce.js +0 -21
- package/dist/hooks/useDebounce.js.map +0 -1
- package/dist/index.js +0 -13
- package/dist/index.js.map +0 -1
- package/dist/src/components/AsyncButtonCascader/AsyncButtonCascader.d.ts +0 -21
- package/dist/src/components/Cascader/Cascader.d.ts +0 -1
- package/dist/src/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.d.ts +0 -8
- package/dist/src/components/ConfigEditor/AdvancedSettings/index.d.ts +0 -1
- package/dist/src/components/ConfigEditor/Auth/Auth.d.ts +0 -18
- package/dist/src/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.d.ts +0 -14
- package/dist/src/components/ConfigEditor/Auth/auth-method/BasicAuth.d.ts +0 -17
- package/dist/src/components/ConfigEditor/Auth/custom-headers/CustomHeader.d.ts +0 -10
- package/dist/src/components/ConfigEditor/Auth/custom-headers/CustomHeaders.d.ts +0 -8
- package/dist/src/components/ConfigEditor/Auth/index.d.ts +0 -4
- package/dist/src/components/ConfigEditor/Auth/styles.d.ts +0 -4
- package/dist/src/components/ConfigEditor/Auth/tls/SelfSignedCertificate.d.ts +0 -13
- package/dist/src/components/ConfigEditor/Auth/tls/SkipTLSVerification.d.ts +0 -7
- package/dist/src/components/ConfigEditor/Auth/tls/TLSClientAuth.d.ts +0 -20
- package/dist/src/components/ConfigEditor/Auth/tls/TLSSettings.d.ts +0 -11
- package/dist/src/components/ConfigEditor/Auth/tls/TLSSettingsSection.d.ts +0 -9
- package/dist/src/components/ConfigEditor/Auth/types.d.ts +0 -28
- package/dist/src/components/ConfigEditor/Auth/utils.d.ts +0 -12
- package/dist/src/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.d.ts +0 -8
- package/dist/src/components/ConfigEditor/ConfigSection/ConfigSection.d.ts +0 -5
- package/dist/src/components/ConfigEditor/ConfigSection/ConfigSubSection.d.ts +0 -5
- package/dist/src/components/ConfigEditor/ConfigSection/GenericConfigSection.d.ts +0 -10
- package/dist/src/components/ConfigEditor/ConfigSection/index.d.ts +0 -3
- package/dist/src/components/ConfigEditor/Connection/ConnectionSettings.d.ts +0 -13
- package/dist/src/components/ConfigEditor/Connection/index.d.ts +0 -1
- package/dist/src/components/ConfigEditor/DataSourceDescription.d.ts +0 -9
- package/dist/src/components/ConfigEditor/SecureSocksProxyToggle.d.ts +0 -10
- package/dist/src/components/ConfigEditor/index.d.ts +0 -9
- package/dist/src/components/ConfigEditor/types.d.ts +0 -15
- package/dist/src/components/CustomHeadersSettings/CustomHeadersSettings.d.ts +0 -27
- package/dist/src/components/DataLinks/DataLink.d.ts +0 -13
- package/dist/src/components/DataLinks/DataLinks.d.ts +0 -8
- package/dist/src/components/DataLinks/index.d.ts +0 -3
- package/dist/src/components/DataLinks/types.d.ts +0 -7
- package/dist/src/components/DataSourcePicker/DataSourcePicker.d.ts +0 -34
- package/dist/src/components/DatePicker/DatePicker.d.ts +0 -8
- package/dist/src/components/DatePicker/styles.d.ts +0 -11
- package/dist/src/components/DatePickerWithInput/DatePickerWithInput.d.ts +0 -9
- package/dist/src/components/DebounceInput/DebounceInput.d.ts +0 -8
- package/dist/src/components/Plugins/PluginSignatureBadge.d.ts +0 -12
- package/dist/src/components/QueryEditor/AccessoryButton.d.ts +0 -6
- package/dist/src/components/QueryEditor/ConfirmModal.d.ts +0 -9
- package/dist/src/components/QueryEditor/DatasetSelector.d.ts +0 -13
- package/dist/src/components/QueryEditor/EditorField.d.ts +0 -12
- package/dist/src/components/QueryEditor/EditorFieldGroup.d.ts +0 -6
- package/dist/src/components/QueryEditor/EditorHeader.d.ts +0 -6
- package/dist/src/components/QueryEditor/EditorList.d.ts +0 -8
- package/dist/src/components/QueryEditor/EditorRow.d.ts +0 -6
- package/dist/src/components/QueryEditor/EditorRows.d.ts +0 -6
- package/dist/src/components/QueryEditor/EditorStack.d.ts +0 -13
- package/dist/src/components/QueryEditor/EditorSwitch.d.ts +0 -3
- package/dist/src/components/QueryEditor/FlexItem.d.ts +0 -7
- package/dist/src/components/QueryEditor/InlineSelect.d.ts +0 -7
- package/dist/src/components/QueryEditor/InputGroup.d.ts +0 -10
- package/dist/src/components/QueryEditor/QueryEditor.d.ts +0 -8
- package/dist/src/components/QueryEditor/QueryHeader.d.ts +0 -17
- package/dist/src/components/QueryEditor/RunQueryButton.d.ts +0 -13
- package/dist/src/components/QueryEditor/Space.d.ts +0 -14
- package/dist/src/components/QueryEditor/TableSelector.d.ts +0 -13
- package/dist/src/components/QueryEditor/defaults.d.ts +0 -3
- package/dist/src/components/QueryEditor/expressions.d.ts +0 -50
- package/dist/src/components/QueryEditor/index.d.ts +0 -17
- package/dist/src/components/QueryEditor/query-editor-raw/QueryEditorRaw.d.ts +0 -15
- package/dist/src/components/QueryEditor/query-editor-raw/QueryToolbox.d.ts +0 -11
- package/dist/src/components/QueryEditor/query-editor-raw/QueryValidator.d.ts +0 -10
- package/dist/src/components/QueryEditor/query-editor-raw/RawEditor.d.ts +0 -10
- package/dist/src/components/QueryEditor/types.d.ts +0 -149
- package/dist/src/components/QueryEditor/utils/formatSQL.d.ts +0 -1
- package/dist/src/components/QueryEditor/utils/sql.utils.d.ts +0 -14
- package/dist/src/components/QueryEditor/utils/useSqlChange.d.ts +0 -10
- package/dist/src/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.d.ts +0 -7
- package/dist/src/components/QueryEditor/visual-query-builder/EditorField.d.ts +0 -11
- package/dist/src/components/QueryEditor/visual-query-builder/EditorRow.d.ts +0 -6
- package/dist/src/components/QueryEditor/visual-query-builder/EditorRows.d.ts +0 -6
- package/dist/src/components/QueryEditor/visual-query-builder/GroupByRow.d.ts +0 -10
- package/dist/src/components/QueryEditor/visual-query-builder/OrderByRow.d.ts +0 -11
- package/dist/src/components/QueryEditor/visual-query-builder/Preview.d.ts +0 -6
- package/dist/src/components/QueryEditor/visual-query-builder/SQLGroupByRow.d.ts +0 -12
- package/dist/src/components/QueryEditor/visual-query-builder/SQLOrderByRow.d.ts +0 -12
- package/dist/src/components/QueryEditor/visual-query-builder/SQLSelectRow.d.ts +0 -12
- package/dist/src/components/QueryEditor/visual-query-builder/SQLWhereRow.d.ts +0 -12
- package/dist/src/components/QueryEditor/visual-query-builder/SelectRow.d.ts +0 -11
- package/dist/src/components/QueryEditor/visual-query-builder/VisualEditor.d.ts +0 -13
- package/dist/src/components/QueryEditor/visual-query-builder/WhereRow.d.ts +0 -10
- package/dist/src/components/QueryEditor/visual-query-builder/index.d.ts +0 -1
- package/dist/src/components/QueryEditorRow/QueryEditorRow.d.ts +0 -8
- package/dist/src/components/SQLEditor/components/SQLEditor.d.ts +0 -29
- package/dist/src/components/SQLEditor/index.d.ts +0 -7
- package/dist/src/components/SQLEditor/mocks/Monaco.d.ts +0 -3
- package/dist/src/components/SQLEditor/mocks/TextModel.d.ts +0 -7
- package/dist/src/components/SQLEditor/mocks/queries/multiLineFullQuery.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/multiLineMultipleColumns.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/singleLineEmptyQuery.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/singleLineFullQuery.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/singleLineMultipleColumns.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/singleLineTwoQueries.d.ts +0 -2
- package/dist/src/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.d.ts +0 -2
- package/dist/src/components/SQLEditor/standardSql/definition.d.ts +0 -3
- package/dist/src/components/SQLEditor/standardSql/getStandardSuggestions.d.ts +0 -6
- package/dist/src/components/SQLEditor/standardSql/getStatementPosition.d.ts +0 -5
- package/dist/src/components/SQLEditor/standardSql/language.d.ts +0 -23
- package/dist/src/components/SQLEditor/standardSql/macros.d.ts +0 -2
- package/dist/src/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.d.ts +0 -4
- package/dist/src/components/SQLEditor/standardSql/standardSuggestionsRegistry.d.ts +0 -7
- package/dist/src/components/SQLEditor/standardSql/statementPositionResolversRegistry.d.ts +0 -2
- package/dist/src/components/SQLEditor/standardSql/suggestionsKindRegistry.d.ts +0 -7
- package/dist/src/components/SQLEditor/standardSql/types.d.ts +0 -33
- package/dist/src/components/SQLEditor/test-utils/index.d.ts +0 -7
- package/dist/src/components/SQLEditor/test-utils/statementPosition.d.ts +0 -3
- package/dist/src/components/SQLEditor/test-utils/types.d.ts +0 -12
- package/dist/src/components/SQLEditor/types.d.ts +0 -249
- package/dist/src/components/SQLEditor/utils/LinkedToken.d.ts +0 -29
- package/dist/src/components/SQLEditor/utils/commands.d.ts +0 -4
- package/dist/src/components/SQLEditor/utils/debugger.d.ts +0 -5
- package/dist/src/components/SQLEditor/utils/getSuggestionKind.d.ts +0 -7
- package/dist/src/components/SQLEditor/utils/linkedTokenBuilder.d.ts +0 -4
- package/dist/src/components/SQLEditor/utils/toCompletionItem.d.ts +0 -2
- package/dist/src/components/SQLEditor/utils/tokenUtils.d.ts +0 -14
- package/dist/src/components/SQLEditor/utils/types.d.ts +0 -11
- package/dist/src/components/Segment/Segment.d.ts +0 -8
- package/dist/src/components/VisualQueryBuilder/QueryModellerBase.d.ts +0 -18
- package/dist/src/components/VisualQueryBuilder/components/LabelFilterItem.d.ts +0 -18
- package/dist/src/components/VisualQueryBuilder/components/LabelFilters.d.ts +0 -14
- package/dist/src/components/VisualQueryBuilder/components/OperationEditor.d.ts +0 -20
- package/dist/src/components/VisualQueryBuilder/components/OperationEditorBody.d.ts +0 -23
- package/dist/src/components/VisualQueryBuilder/components/OperationExplainedBox.d.ts +0 -7
- package/dist/src/components/VisualQueryBuilder/components/OperationHeader.d.ts +0 -15
- package/dist/src/components/VisualQueryBuilder/components/OperationInfoButton.d.ts +0 -9
- package/dist/src/components/VisualQueryBuilder/components/OperationList.d.ts +0 -15
- package/dist/src/components/VisualQueryBuilder/components/OperationListExplained.d.ts +0 -17
- package/dist/src/components/VisualQueryBuilder/components/OperationParamEditor.d.ts +0 -4
- package/dist/src/components/VisualQueryBuilder/components/OperationsEditorRow.d.ts +0 -2
- package/dist/src/components/VisualQueryBuilder/components/QueryBuilderHints.d.ts +0 -20
- package/dist/src/components/VisualQueryBuilder/components/QueryEditorModeToggle.d.ts +0 -8
- package/dist/src/components/VisualQueryBuilder/components/QueryHeaderSwitch.d.ts +0 -7
- package/dist/src/components/VisualQueryBuilder/components/QueryOptionGroup.d.ts +0 -9
- package/dist/src/components/VisualQueryBuilder/components/RawQuery.d.ts +0 -12
- package/dist/src/components/VisualQueryBuilder/index.d.ts +0 -13
- package/dist/src/components/VisualQueryBuilder/types.d.ts +0 -91
- package/dist/src/components/index.d.ts +0 -15
- package/dist/src/datasource/SqlDatasource.d.ts +0 -62
- package/dist/src/datasource/constants.d.ts +0 -1
- package/dist/src/hooks/useDebounce.d.ts +0 -2
- package/dist/src/index.d.ts +0 -7
- package/dist/src/test/mocks/DataQuery.d.ts +0 -2
- package/dist/src/test/mocks/Datasource.d.ts +0 -40
- package/dist/src/test/mocks/Plugin.d.ts +0 -10
- package/dist/src/test/mocks/QueryEditorProps.d.ts +0 -4
- package/dist/src/test/mocks/index.d.ts +0 -5
- package/dist/src/test/mocks/utils.d.ts +0 -18
- package/dist/src/utils/changeset/functions.d.ts +0 -3
- package/dist/src/utils/changeset/index.d.ts +0 -2
- package/dist/test/mocks/DataQuery.js +0 -14
- package/dist/test/mocks/DataQuery.js.map +0 -1
- package/dist/test/mocks/Datasource.js +0 -78
- package/dist/test/mocks/Datasource.js.map +0 -1
- package/dist/test/mocks/Plugin.js +0 -105
- package/dist/test/mocks/Plugin.js.map +0 -1
- package/dist/test/mocks/QueryEditorProps.js +0 -46
- package/dist/test/mocks/QueryEditorProps.js.map +0 -1
- package/dist/test/mocks/index.js +0 -9
- package/dist/test/mocks/index.js.map +0 -1
- package/dist/test/mocks/utils.js +0 -48
- package/dist/test/mocks/utils.js.map +0 -1
- package/dist/utils/changeset/functions.js +0 -11
- package/dist/utils/changeset/functions.js.map +0 -1
- package/dist/utils/changeset/index.js +0 -99
- package/dist/utils/changeset/index.js.map +0 -1
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import React, { useState, useCallback } from 'react';
|
|
2
|
+
import { useCopyToClipboard } from 'react-use';
|
|
3
|
+
import '@grafana/data';
|
|
4
|
+
import { ConfirmModal } from './ConfirmModal.js';
|
|
5
|
+
import { DatasetSelector } from './DatasetSelector.js';
|
|
6
|
+
import { TableSelector } from './TableSelector.js';
|
|
7
|
+
import { InlineSwitch, RadioButtonGroup } from '@grafana/ui';
|
|
8
|
+
import { EditorMode, QUERY_FORMAT_OPTIONS, QueryFormat } from './types.js';
|
|
9
|
+
import { getRawSqlFn } from './utils/sql.utils.js';
|
|
10
|
+
import { EditorField } from './EditorField.js';
|
|
11
|
+
import { EditorHeader } from './EditorHeader.js';
|
|
12
|
+
import { EditorRow } from './EditorRow.js';
|
|
13
|
+
import { FlexItem } from './FlexItem.js';
|
|
14
|
+
import { InlineSelect } from './InlineSelect.js';
|
|
15
|
+
import { Space } from './Space.js';
|
|
16
|
+
import { RunQueryButton } from './RunQueryButton.js';
|
|
17
|
+
|
|
18
|
+
const editorModes = [
|
|
19
|
+
{ label: "Builder", value: EditorMode.Builder },
|
|
20
|
+
{ label: "Code", value: EditorMode.Code }
|
|
21
|
+
];
|
|
22
|
+
function QueryHeader({
|
|
23
|
+
db,
|
|
24
|
+
defaultDataset,
|
|
25
|
+
enableDatasets,
|
|
26
|
+
query,
|
|
27
|
+
queryRowFilter,
|
|
28
|
+
onChange,
|
|
29
|
+
onRunQuery,
|
|
30
|
+
onQueryRowChange,
|
|
31
|
+
isQueryRunnable,
|
|
32
|
+
labels = /* @__PURE__ */ new Map([["dataset", "Dataset"]])
|
|
33
|
+
}) {
|
|
34
|
+
const { editorMode } = query;
|
|
35
|
+
const [_, copyToClipboard] = useCopyToClipboard();
|
|
36
|
+
const [showConfirm, setShowConfirm] = useState(false);
|
|
37
|
+
const toRawSql = getRawSqlFn(db);
|
|
38
|
+
const onEditorModeChange = useCallback(
|
|
39
|
+
(newEditorMode) => {
|
|
40
|
+
if (editorMode === EditorMode.Code) {
|
|
41
|
+
setShowConfirm(true);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
onChange({ ...query, editorMode: newEditorMode });
|
|
45
|
+
},
|
|
46
|
+
[editorMode, onChange, query]
|
|
47
|
+
);
|
|
48
|
+
const onFormatChange = (e) => {
|
|
49
|
+
const next = { ...query, format: e.value !== undefined ? e.value : QueryFormat.Table };
|
|
50
|
+
onChange(next);
|
|
51
|
+
};
|
|
52
|
+
const onDatasetChange = (e) => {
|
|
53
|
+
if (e.value === query.dataset) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const next = {
|
|
57
|
+
...query,
|
|
58
|
+
dataset: e.value,
|
|
59
|
+
table: undefined,
|
|
60
|
+
sql: undefined,
|
|
61
|
+
rawSql: ""
|
|
62
|
+
};
|
|
63
|
+
onChange(next);
|
|
64
|
+
};
|
|
65
|
+
const onTableChange = (e) => {
|
|
66
|
+
if (e.value === query.table) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const next = {
|
|
70
|
+
...query,
|
|
71
|
+
table: e.value,
|
|
72
|
+
sql: undefined,
|
|
73
|
+
rawSql: ""
|
|
74
|
+
};
|
|
75
|
+
onChange(next);
|
|
76
|
+
};
|
|
77
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(EditorHeader, null, /* @__PURE__ */ React.createElement(
|
|
78
|
+
InlineSelect,
|
|
79
|
+
{
|
|
80
|
+
label: "Format",
|
|
81
|
+
value: query.format,
|
|
82
|
+
placeholder: "Select format",
|
|
83
|
+
menuShouldPortal: true,
|
|
84
|
+
onChange: onFormatChange,
|
|
85
|
+
options: QUERY_FORMAT_OPTIONS
|
|
86
|
+
}
|
|
87
|
+
), editorMode === EditorMode.Builder && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
88
|
+
InlineSwitch,
|
|
89
|
+
{
|
|
90
|
+
id: "sql-filter",
|
|
91
|
+
label: "Filter",
|
|
92
|
+
transparent: true,
|
|
93
|
+
showLabel: true,
|
|
94
|
+
value: queryRowFilter.filter,
|
|
95
|
+
onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, filter: ev.target.checked })
|
|
96
|
+
}
|
|
97
|
+
), /* @__PURE__ */ React.createElement(
|
|
98
|
+
InlineSwitch,
|
|
99
|
+
{
|
|
100
|
+
id: "sql-group",
|
|
101
|
+
label: "Group",
|
|
102
|
+
transparent: true,
|
|
103
|
+
showLabel: true,
|
|
104
|
+
value: queryRowFilter.group,
|
|
105
|
+
onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, group: ev.target.checked })
|
|
106
|
+
}
|
|
107
|
+
), /* @__PURE__ */ React.createElement(
|
|
108
|
+
InlineSwitch,
|
|
109
|
+
{
|
|
110
|
+
id: "sql-order",
|
|
111
|
+
label: "Order",
|
|
112
|
+
transparent: true,
|
|
113
|
+
showLabel: true,
|
|
114
|
+
value: queryRowFilter.order,
|
|
115
|
+
onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, order: ev.target.checked })
|
|
116
|
+
}
|
|
117
|
+
), /* @__PURE__ */ React.createElement(
|
|
118
|
+
InlineSwitch,
|
|
119
|
+
{
|
|
120
|
+
id: "sql-preview",
|
|
121
|
+
label: "Preview",
|
|
122
|
+
transparent: true,
|
|
123
|
+
showLabel: true,
|
|
124
|
+
value: queryRowFilter.preview,
|
|
125
|
+
onChange: (ev) => ev.target instanceof HTMLInputElement && onQueryRowChange({ ...queryRowFilter, preview: ev.target.checked })
|
|
126
|
+
}
|
|
127
|
+
)), /* @__PURE__ */ React.createElement(FlexItem, { grow: 1 }), /* @__PURE__ */ React.createElement(RunQueryButton, { queryInvalid: !isQueryRunnable, onClick: () => onRunQuery() }), /* @__PURE__ */ React.createElement(RadioButtonGroup, { options: editorModes, size: "sm", value: editorMode, onChange: onEditorModeChange }), /* @__PURE__ */ React.createElement(
|
|
128
|
+
ConfirmModal,
|
|
129
|
+
{
|
|
130
|
+
isOpen: showConfirm,
|
|
131
|
+
onCopy: () => {
|
|
132
|
+
setShowConfirm(false);
|
|
133
|
+
copyToClipboard(query.rawSql);
|
|
134
|
+
onChange({
|
|
135
|
+
...query,
|
|
136
|
+
rawSql: toRawSql(query),
|
|
137
|
+
editorMode: EditorMode.Builder
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
onDiscard: () => {
|
|
141
|
+
setShowConfirm(false);
|
|
142
|
+
onChange({
|
|
143
|
+
...query,
|
|
144
|
+
rawSql: toRawSql(query),
|
|
145
|
+
editorMode: EditorMode.Builder
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
onCancel: () => setShowConfirm(false)
|
|
149
|
+
}
|
|
150
|
+
)), editorMode === EditorMode.Builder && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Space, { v: 0.5 }), /* @__PURE__ */ React.createElement(EditorRow, null, enableDatasets === true && /* @__PURE__ */ React.createElement(EditorField, { label: labels.get("dataset") || "Dataset", width: 25 }, /* @__PURE__ */ React.createElement(
|
|
151
|
+
DatasetSelector,
|
|
152
|
+
{
|
|
153
|
+
db,
|
|
154
|
+
dataset: defaultDataset,
|
|
155
|
+
value: query.dataset === undefined ? null : query.dataset,
|
|
156
|
+
onChange: onDatasetChange
|
|
157
|
+
}
|
|
158
|
+
)), /* @__PURE__ */ React.createElement(EditorField, { label: "Table", width: 25 }, /* @__PURE__ */ React.createElement(
|
|
159
|
+
TableSelector,
|
|
160
|
+
{
|
|
161
|
+
db,
|
|
162
|
+
dataset: query.dataset || defaultDataset,
|
|
163
|
+
query,
|
|
164
|
+
value: query.table === undefined ? null : query.table,
|
|
165
|
+
onChange: onTableChange,
|
|
166
|
+
applyDefault: true
|
|
167
|
+
}
|
|
168
|
+
)))));
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export { QueryHeader };
|
|
172
|
+
//# sourceMappingURL=QueryHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryHeader.js","sources":["../../../../src/components/QueryEditor/QueryHeader.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { useCopyToClipboard } from 'react-use';\n\nimport { type SelectableValue } from '@grafana/data';\n\nimport { ConfirmModal } from './ConfirmModal';\nimport { DatasetSelector } from './DatasetSelector';\nimport { TableSelector } from './TableSelector';\nimport { InlineSwitch, RadioButtonGroup } from '@grafana/ui';\nimport { type QueryWithDefaults } from './defaults';\nimport { EditorField } from './EditorField';\nimport { EditorHeader } from './EditorHeader';\nimport { EditorRow } from './EditorRow';\nimport { FlexItem } from './FlexItem';\nimport { InlineSelect } from './InlineSelect';\nimport { Space } from './Space';\nimport { RunQueryButton } from './RunQueryButton';\nimport { type DB, type SQLQuery, type QueryRowFilter, EditorMode, QueryFormat, QUERY_FORMAT_OPTIONS } from './types';\nimport { getRawSqlFn } from './utils/sql.utils';\n\ninterface QueryHeaderProps {\n db: DB;\n defaultDataset: string;\n enableDatasets: boolean;\n query: QueryWithDefaults;\n onChange: (query: SQLQuery) => void;\n onRunQuery: () => void;\n onQueryRowChange: (queryRowFilter: QueryRowFilter) => void;\n queryRowFilter: QueryRowFilter;\n isQueryRunnable: boolean;\n labels?: Map<string, string>;\n}\n\nconst editorModes = [\n { label: 'Builder', value: EditorMode.Builder },\n { label: 'Code', value: EditorMode.Code },\n];\n\nexport function QueryHeader({\n db,\n defaultDataset,\n enableDatasets,\n query,\n queryRowFilter,\n onChange,\n onRunQuery,\n onQueryRowChange,\n isQueryRunnable,\n labels = new Map([['dataset', 'Dataset']]),\n}: QueryHeaderProps) {\n const { editorMode } = query;\n const [_, copyToClipboard] = useCopyToClipboard();\n const [showConfirm, setShowConfirm] = useState(false);\n const toRawSql = getRawSqlFn(db);\n\n const onEditorModeChange = useCallback(\n (newEditorMode: EditorMode) => {\n if (editorMode === EditorMode.Code) {\n setShowConfirm(true);\n return;\n }\n onChange({ ...query, editorMode: newEditorMode });\n },\n [editorMode, onChange, query]\n );\n\n const onFormatChange = (e: SelectableValue) => {\n const next = { ...query, format: e.value !== undefined ? e.value : QueryFormat.Table };\n onChange(next);\n };\n\n const onDatasetChange = (e: SelectableValue) => {\n if (e.value === query.dataset) {\n return;\n }\n\n const next = {\n ...query,\n dataset: e.value,\n table: undefined,\n sql: undefined,\n rawSql: '',\n };\n\n onChange(next);\n };\n\n const onTableChange = (e: SelectableValue) => {\n if (e.value === query.table) {\n return;\n }\n\n const next: SQLQuery = {\n ...query,\n table: e.value,\n sql: undefined,\n rawSql: '',\n };\n onChange(next);\n };\n\n return (\n <>\n <EditorHeader>\n <InlineSelect\n label=\"Format\"\n value={query.format}\n placeholder=\"Select format\"\n menuShouldPortal\n onChange={onFormatChange}\n options={QUERY_FORMAT_OPTIONS}\n />\n {editorMode === EditorMode.Builder && (\n <>\n <InlineSwitch\n id=\"sql-filter\"\n label=\"Filter\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.filter}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, filter: ev.target.checked })\n }\n />\n\n <InlineSwitch\n id=\"sql-group\"\n label=\"Group\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.group}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, group: ev.target.checked })\n }\n />\n\n <InlineSwitch\n id=\"sql-order\"\n label=\"Order\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.order}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, order: ev.target.checked })\n }\n />\n\n <InlineSwitch\n id=\"sql-preview\"\n label=\"Preview\"\n transparent={true}\n showLabel={true}\n value={queryRowFilter.preview}\n onChange={(ev) =>\n ev.target instanceof HTMLInputElement &&\n onQueryRowChange({ ...queryRowFilter, preview: ev.target.checked })\n }\n />\n </>\n )}\n\n <FlexItem grow={1} />\n\n <RunQueryButton queryInvalid={!isQueryRunnable} onClick={() => onRunQuery()} />\n\n <RadioButtonGroup options={editorModes} size=\"sm\" value={editorMode} onChange={onEditorModeChange} />\n\n <ConfirmModal\n isOpen={showConfirm}\n onCopy={() => {\n setShowConfirm(false);\n copyToClipboard(query.rawSql!);\n onChange({\n ...query,\n rawSql: toRawSql(query),\n editorMode: EditorMode.Builder,\n });\n }}\n onDiscard={() => {\n setShowConfirm(false);\n onChange({\n ...query,\n rawSql: toRawSql(query),\n editorMode: EditorMode.Builder,\n });\n }}\n onCancel={() => setShowConfirm(false)}\n />\n </EditorHeader>\n\n {editorMode === EditorMode.Builder && (\n <>\n <Space v={0.5} />\n\n <EditorRow>\n {enableDatasets === true && (\n <EditorField label={labels.get('dataset') || 'Dataset'} width={25}>\n <DatasetSelector\n db={db}\n dataset={defaultDataset}\n value={query.dataset === undefined ? null : query.dataset}\n onChange={onDatasetChange}\n />\n </EditorField>\n )}\n\n <EditorField label=\"Table\" width={25}>\n <TableSelector\n db={db}\n dataset={query.dataset || defaultDataset}\n query={query}\n value={query.table === undefined ? null : query.table}\n onChange={onTableChange}\n applyDefault\n />\n </EditorField>\n </EditorRow>\n </>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Tooltip, Button } from '@grafana/ui';
|
|
3
|
+
|
|
4
|
+
const RunQueryButton = ({
|
|
5
|
+
ariaLabel = "Query editor Run button",
|
|
6
|
+
queryRunning = false,
|
|
7
|
+
queryInvalid = false,
|
|
8
|
+
invalidQueryTooltip,
|
|
9
|
+
disabled = false,
|
|
10
|
+
onClick,
|
|
11
|
+
dataTestId
|
|
12
|
+
}) => {
|
|
13
|
+
let icon = queryInvalid ? "exclamation-triangle" : undefined;
|
|
14
|
+
if (queryRunning) {
|
|
15
|
+
icon = "fa fa-spinner";
|
|
16
|
+
}
|
|
17
|
+
const RunButton = /* @__PURE__ */ React.createElement(
|
|
18
|
+
Button,
|
|
19
|
+
{
|
|
20
|
+
"aria-label": ariaLabel,
|
|
21
|
+
size: "sm",
|
|
22
|
+
variant: "secondary",
|
|
23
|
+
icon,
|
|
24
|
+
disabled: disabled || queryRunning,
|
|
25
|
+
onClick,
|
|
26
|
+
"data-testid": dataTestId
|
|
27
|
+
},
|
|
28
|
+
"Run query"
|
|
29
|
+
);
|
|
30
|
+
return queryInvalid ? /* @__PURE__ */ React.createElement(
|
|
31
|
+
Tooltip,
|
|
32
|
+
{
|
|
33
|
+
theme: "error",
|
|
34
|
+
placement: "top",
|
|
35
|
+
content: invalidQueryTooltip != null ? invalidQueryTooltip : /* @__PURE__ */ React.createElement(React.Fragment, null, "Your query is invalid. Check below for details. ", /* @__PURE__ */ React.createElement("br", null), "However, you can still run this query.")
|
|
36
|
+
},
|
|
37
|
+
RunButton
|
|
38
|
+
) : RunButton;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { RunQueryButton };
|
|
42
|
+
//# sourceMappingURL=RunQueryButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunQueryButton.js","sources":["../../../../src/components/QueryEditor/RunQueryButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, type IconName, type PopoverContent, Tooltip } from '@grafana/ui';\n\ntype RunQueryButtonProps = {\n ariaLabel?: string;\n queryInvalid?: boolean;\n invalidQueryTooltip?: PopoverContent;\n disabled?: boolean;\n queryRunning?: boolean;\n onClick: () => void;\n dataTestId?: string;\n};\n\nexport const RunQueryButton = ({\n ariaLabel = 'Query editor Run button',\n queryRunning = false,\n queryInvalid = false,\n invalidQueryTooltip,\n disabled = false,\n onClick,\n dataTestId,\n}: RunQueryButtonProps) => {\n let icon: IconName | undefined = queryInvalid ? 'exclamation-triangle' : undefined;\n if (queryRunning) {\n icon = 'fa fa-spinner';\n }\n\n const RunButton = (\n <Button\n aria-label={ariaLabel}\n size=\"sm\"\n variant=\"secondary\"\n icon={icon}\n disabled={disabled || queryRunning}\n onClick={onClick}\n data-testid={dataTestId}\n >\n Run query\n </Button>\n );\n\n return queryInvalid ? (\n <Tooltip\n theme=\"error\"\n placement=\"top\"\n content={\n invalidQueryTooltip ?? (\n <>\n Your query is invalid. Check below for details. <br />\n However, you can still run this query.\n </>\n )\n }\n >\n {RunButton}\n </Tooltip>\n ) : (\n RunButton\n );\n};\n"],"names":[],"mappings":";;;AAaO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAY,GAAA,yBAAA;AAAA,EACZ,YAAe,GAAA,KAAA;AAAA,EACf,YAAe,GAAA,KAAA;AAAA,EACf,mBAAA;AAAA,EACA,QAAW,GAAA,KAAA;AAAA,EACX,OAAA;AAAA,EACA;AACF,CAA2B,KAAA;AACzB,EAAI,IAAA,IAAA,GAA6B,eAAe,sBAAyB,GAAA,SAAA;AACzE,EAAA,IAAI,YAAc,EAAA;AAChB,IAAO,IAAA,GAAA,eAAA;AAAA;AAGT,EAAA,MAAM,SACJ,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,IAAK,EAAA,IAAA;AAAA,MACL,OAAQ,EAAA,WAAA;AAAA,MACR,IAAA;AAAA,MACA,UAAU,QAAY,IAAA,YAAA;AAAA,MACtB,OAAA;AAAA,MACA,aAAa,EAAA;AAAA,KAAA;AAAA,IACd;AAAA,GAED;AAGF,EAAA,OAAO,YACL,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,OAAA;AAAA,MACN,SAAU,EAAA,KAAA;AAAA,MACV,SACE,mBACE,IAAA,IAAA,GAAA,mBAAA,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAE,oEACiD,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAG,GAAE,wCAExD;AAAA,KAAA;AAAA,IAIH;AAAA,GAGH,GAAA,SAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { css, cx } from '@emotion/css';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import '@grafana/data';
|
|
4
|
+
import { stylesFactory, useTheme2 } from '@grafana/ui';
|
|
5
|
+
|
|
6
|
+
const Space = (props) => {
|
|
7
|
+
const theme = useTheme2();
|
|
8
|
+
const styles = getStyles(theme, props);
|
|
9
|
+
return /* @__PURE__ */ React.createElement("span", { className: cx(styles.wrapper) });
|
|
10
|
+
};
|
|
11
|
+
Space.defaultProps = {
|
|
12
|
+
v: 0,
|
|
13
|
+
h: 0,
|
|
14
|
+
layout: "block"
|
|
15
|
+
};
|
|
16
|
+
const getStyles = stylesFactory((theme, props) => {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
return {
|
|
19
|
+
wrapper: css([
|
|
20
|
+
{
|
|
21
|
+
paddingRight: theme.spacing((_a = props.h) != null ? _a : 0),
|
|
22
|
+
paddingBottom: theme.spacing((_b = props.v) != null ? _b : 0)
|
|
23
|
+
},
|
|
24
|
+
props.layout === "inline" && {
|
|
25
|
+
display: "inline-block"
|
|
26
|
+
},
|
|
27
|
+
props.layout === "block" && {
|
|
28
|
+
display: "block"
|
|
29
|
+
}
|
|
30
|
+
])
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export { Space };
|
|
35
|
+
//# sourceMappingURL=Space.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Space.js","sources":["../../../../src/components/QueryEditor/Space.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport React from 'react';\n\nimport { type GrafanaTheme2 } from '@grafana/data';\nimport { useTheme2, stylesFactory } from '@grafana/ui';\n\nexport interface SpaceProps {\n v?: number;\n h?: number;\n layout?: 'block' | 'inline';\n}\n\nexport const Space = (props: SpaceProps) => {\n const theme = useTheme2();\n const styles = getStyles(theme, props);\n\n return <span className={cx(styles.wrapper)} />;\n};\n\nSpace.defaultProps = {\n v: 0,\n h: 0,\n layout: 'block',\n};\n\nconst getStyles = stylesFactory((theme: GrafanaTheme2, props: SpaceProps) => ({\n wrapper: css([\n {\n paddingRight: theme.spacing(props.h ?? 0),\n paddingBottom: theme.spacing(props.v ?? 0),\n },\n props.layout === 'inline' && {\n display: 'inline-block',\n },\n props.layout === 'block' && {\n display: 'block',\n },\n ]),\n}));\n"],"names":[],"mappings":";;;;;AAYa,MAAA,KAAA,GAAQ,CAAC,KAAsB,KAAA;AAC1C,EAAA,MAAM,QAAQ,SAAU,EAAA;AACxB,EAAM,MAAA,MAAA,GAAS,SAAU,CAAA,KAAA,EAAO,KAAK,CAAA;AAErC,EAAA,2CAAQ,MAAK,EAAA,EAAA,SAAA,EAAW,EAAG,CAAA,MAAA,CAAO,OAAO,CAAG,EAAA,CAAA;AAC9C;AAEA,KAAA,CAAM,YAAe,GAAA;AAAA,EACnB,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AAAA,EACH,MAAQ,EAAA;AACV,CAAA;AAEA,MAAM,SAAY,GAAA,aAAA,CAAc,CAAC,KAAA,EAAsB,KAAmB,KAAA;AAzB1E,EAAA,IAAA,EAAA,EAAA,EAAA;AAyB8E,EAAA,OAAA;AAAA,IAC5E,SAAS,GAAI,CAAA;AAAA,MACX;AAAA,QACE,cAAc,KAAM,CAAA,OAAA,CAAA,CAAQ,EAAM,GAAA,KAAA,CAAA,CAAA,KAAN,YAAW,CAAC,CAAA;AAAA,QACxC,eAAe,KAAM,CAAA,OAAA,CAAA,CAAQ,EAAM,GAAA,KAAA,CAAA,CAAA,KAAN,YAAW,CAAC;AAAA,OAC3C;AAAA,MACA,KAAA,CAAM,WAAW,QAAY,IAAA;AAAA,QAC3B,OAAS,EAAA;AAAA,OACX;AAAA,MACA,KAAA,CAAM,WAAW,OAAW,IAAA;AAAA,QAC1B,OAAS,EAAA;AAAA;AACX,KACD;AAAA,GACH;AAAA,CAAE,CAAA;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useAsync } from 'react-use';
|
|
3
|
+
import { toOption } from '@grafana/data';
|
|
4
|
+
import { Select } from '@grafana/ui';
|
|
5
|
+
import './types.js';
|
|
6
|
+
import 'lodash';
|
|
7
|
+
|
|
8
|
+
const TableSelector = ({ db, dataset, value, className, onChange }) => {
|
|
9
|
+
const state = useAsync(async () => {
|
|
10
|
+
if (!dataset) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
const tables = await db.tables(dataset);
|
|
14
|
+
return tables.map(toOption);
|
|
15
|
+
}, [dataset]);
|
|
16
|
+
return /* @__PURE__ */ React.createElement(
|
|
17
|
+
Select,
|
|
18
|
+
{
|
|
19
|
+
className,
|
|
20
|
+
disabled: state.loading,
|
|
21
|
+
"aria-label": "Table selector",
|
|
22
|
+
value,
|
|
23
|
+
options: state.value,
|
|
24
|
+
onChange,
|
|
25
|
+
isLoading: state.loading,
|
|
26
|
+
menuShouldPortal: true,
|
|
27
|
+
placeholder: state.loading ? "Loading tables" : "Select table"
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { TableSelector };
|
|
33
|
+
//# sourceMappingURL=TableSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSelector.js","sources":["../../../../src/components/QueryEditor/TableSelector.tsx"],"sourcesContent":["import React from 'react';\nimport { useAsync } from 'react-use';\n\nimport { type SelectableValue, toOption } from '@grafana/data';\nimport { Select } from '@grafana/ui';\nimport { type DB, type ResourceSelectorProps } from './types';\nimport { type QueryWithDefaults } from './defaults';\n\ninterface TableSelectorProps extends ResourceSelectorProps {\n db: DB;\n dataset: string;\n value: string | null;\n query: QueryWithDefaults;\n onChange: (v: SelectableValue) => void;\n}\n\nexport const TableSelector = ({ db, dataset, value, className, onChange }: TableSelectorProps) => {\n const state = useAsync(async () => {\n if (!dataset) {\n return [];\n }\n\n const tables = await db.tables(dataset);\n return tables.map(toOption);\n }, [dataset]);\n\n return (\n <Select\n className={className}\n disabled={state.loading}\n aria-label=\"Table selector\"\n value={value}\n options={state.value}\n onChange={onChange}\n isLoading={state.loading}\n menuShouldPortal={true}\n placeholder={state.loading ? 'Loading tables' : 'Select table'}\n />\n );\n};\n"],"names":[],"mappings":";;;;;;;AAgBa,MAAA,aAAA,GAAgB,CAAC,EAAE,EAAA,EAAI,SAAS,KAAO,EAAA,SAAA,EAAW,UAAmC,KAAA;AAChG,EAAM,MAAA,KAAA,GAAQ,SAAS,YAAY;AACjC,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAO,EAAC;AAAA;AAGV,IAAA,MAAM,MAAS,GAAA,MAAM,EAAG,CAAA,MAAA,CAAO,OAAO,CAAA;AACtC,IAAO,OAAA,MAAA,CAAO,IAAI,QAAQ,CAAA;AAAA,GAC5B,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,UAAU,KAAM,CAAA,OAAA;AAAA,MAChB,YAAW,EAAA,gBAAA;AAAA,MACX,KAAA;AAAA,MACA,SAAS,KAAM,CAAA,KAAA;AAAA,MACf,QAAA;AAAA,MACA,WAAW,KAAM,CAAA,OAAA;AAAA,MACjB,gBAAkB,EAAA,IAAA;AAAA,MAClB,WAAA,EAAa,KAAM,CAAA,OAAA,GAAU,gBAAmB,GAAA;AAAA;AAAA,GAClD;AAEJ;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EditorMode, QueryFormat } from './types.js';
|
|
2
|
+
import { createFunctionField, setGroupByField } from './utils/sql.utils.js';
|
|
3
|
+
|
|
4
|
+
function applyQueryDefaults(q) {
|
|
5
|
+
let editorMode = (q == null ? undefined : q.editorMode) || EditorMode.Builder;
|
|
6
|
+
if ((q == null ? undefined : q.editorMode) === undefined && (q == null ? undefined : q.rawSql) !== undefined) {
|
|
7
|
+
editorMode = EditorMode.Code;
|
|
8
|
+
}
|
|
9
|
+
const result = {
|
|
10
|
+
...q,
|
|
11
|
+
refId: (q == null ? undefined : q.refId) || "A",
|
|
12
|
+
format: (q == null ? undefined : q.format) !== undefined ? q.format : QueryFormat.Table,
|
|
13
|
+
rawSql: (q == null ? undefined : q.rawSql) || "",
|
|
14
|
+
editorMode,
|
|
15
|
+
sql: (q == null ? undefined : q.sql) || {
|
|
16
|
+
columns: [createFunctionField()],
|
|
17
|
+
groupBy: [setGroupByField()],
|
|
18
|
+
limit: 50
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { applyQueryDefaults };
|
|
25
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sources":["../../../../src/components/QueryEditor/defaults.ts"],"sourcesContent":["import { EditorMode, QueryFormat, type SQLQuery } from './types';\nimport { createFunctionField, setGroupByField } from './utils/sql.utils';\n\nexport function applyQueryDefaults(q?: SQLQuery): SQLQuery {\n let editorMode = q?.editorMode || EditorMode.Builder;\n\n // Switching to code editor if the query was created before visual query builder was introduced.\n if (q?.editorMode === undefined && q?.rawSql !== undefined) {\n editorMode = EditorMode.Code;\n }\n\n const result: SQLQuery = {\n ...q,\n refId: q?.refId || 'A',\n format: q?.format !== undefined ? q.format : QueryFormat.Table,\n rawSql: q?.rawSql || '',\n editorMode,\n sql: q?.sql || {\n columns: [createFunctionField()],\n groupBy: [setGroupByField()],\n limit: 50,\n },\n };\n\n return result;\n}\n\nexport type QueryWithDefaults = ReturnType<typeof applyQueryDefaults>;\n"],"names":[],"mappings":";;;AAGO,SAAS,mBAAmB,CAAwB,EAAA;AACzD,EAAI,IAAA,UAAA,GAAA,CAAa,CAAG,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAA,UAAA,KAAc,UAAW,CAAA,OAAA;AAG7C,EAAA,IAAA,CAAI,CAAG,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAA,UAAA,MAAe,SAAa,IAAA,CAAA,CAAA,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAG,YAAW,SAAW,EAAA;AAC1D,IAAA,UAAA,GAAa,UAAW,CAAA,IAAA;AAAA;AAG1B,EAAA,MAAM,MAAmB,GAAA;AAAA,IACvB,GAAG,CAAA;AAAA,IACH,KAAA,EAAA,CAAO,0BAAG,KAAS,KAAA,GAAA;AAAA,IACnB,SAAQ,CAAG,IAAA,IAAA,GAAA,SAAA,GAAA,CAAA,CAAA,MAAA,MAAW,SAAY,GAAA,CAAA,CAAE,SAAS,WAAY,CAAA,KAAA;AAAA,IACzD,MAAA,EAAA,CAAQ,0BAAG,MAAU,KAAA,EAAA;AAAA,IACrB,UAAA;AAAA,IACA,GAAA,EAAA,CAAK,0BAAG,GAAO,KAAA;AAAA,MACb,OAAA,EAAS,CAAC,mBAAA,EAAqB,CAAA;AAAA,MAC/B,OAAA,EAAS,CAAC,eAAA,EAAiB,CAAA;AAAA,MAC3B,KAAO,EAAA;AAAA;AACT,GACF;AAEA,EAAO,OAAA,MAAA;AACT;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var QueryEditorPropertyType = /* @__PURE__ */ ((QueryEditorPropertyType2) => {
|
|
2
|
+
QueryEditorPropertyType2["String"] = "string";
|
|
3
|
+
return QueryEditorPropertyType2;
|
|
4
|
+
})(QueryEditorPropertyType || {});
|
|
5
|
+
var QueryEditorExpressionType = /* @__PURE__ */ ((QueryEditorExpressionType2) => {
|
|
6
|
+
QueryEditorExpressionType2["Property"] = "property";
|
|
7
|
+
QueryEditorExpressionType2["Operator"] = "operator";
|
|
8
|
+
QueryEditorExpressionType2["Or"] = "or";
|
|
9
|
+
QueryEditorExpressionType2["And"] = "and";
|
|
10
|
+
QueryEditorExpressionType2["GroupBy"] = "groupBy";
|
|
11
|
+
QueryEditorExpressionType2["Function"] = "function";
|
|
12
|
+
QueryEditorExpressionType2["FunctionParameter"] = "functionParameter";
|
|
13
|
+
return QueryEditorExpressionType2;
|
|
14
|
+
})(QueryEditorExpressionType || {});
|
|
15
|
+
|
|
16
|
+
export { QueryEditorExpressionType, QueryEditorPropertyType };
|
|
17
|
+
//# sourceMappingURL=expressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressions.js","sources":["../../../../src/components/QueryEditor/expressions.ts"],"sourcesContent":["export enum QueryEditorPropertyType {\n String = 'string',\n}\n\nexport interface QueryEditorProperty {\n type: QueryEditorPropertyType;\n name?: string;\n}\n\nexport type QueryEditorOperatorType = string | boolean | number;\ntype QueryEditorOperatorValueType = QueryEditorOperatorType | QueryEditorOperatorType[];\n\nexport interface QueryEditorOperator<T extends QueryEditorOperatorValueType> {\n name?: string;\n value?: T;\n}\n\nexport interface QueryEditorOperatorExpression {\n type: QueryEditorExpressionType.Operator;\n property: QueryEditorProperty;\n operator: QueryEditorOperator<QueryEditorOperatorValueType>;\n}\n\nexport interface QueryEditorArrayExpression {\n type: QueryEditorExpressionType.And | QueryEditorExpressionType.Or;\n expressions: QueryEditorExpression[] | QueryEditorArrayExpression[];\n}\n\nexport interface QueryEditorPropertyExpression {\n type: QueryEditorExpressionType.Property;\n property: QueryEditorProperty;\n}\n\nexport enum QueryEditorExpressionType {\n Property = 'property',\n Operator = 'operator',\n Or = 'or',\n And = 'and',\n GroupBy = 'groupBy',\n Function = 'function',\n FunctionParameter = 'functionParameter',\n}\n\nexport type QueryEditorExpression =\n | QueryEditorArrayExpression\n | QueryEditorPropertyExpression\n | QueryEditorGroupByExpression\n | QueryEditorFunctionExpression\n | QueryEditorFunctionParameterExpression\n | QueryEditorOperatorExpression;\n\nexport interface QueryEditorGroupByExpression {\n type: QueryEditorExpressionType.GroupBy;\n property: QueryEditorProperty;\n}\n\nexport interface QueryEditorFunctionExpression {\n type: QueryEditorExpressionType.Function;\n name?: string;\n parameters?: QueryEditorFunctionParameterExpression[];\n}\n\nexport interface QueryEditorFunctionParameterExpression {\n type: QueryEditorExpressionType.FunctionParameter;\n name?: string;\n}\n"],"names":["QueryEditorPropertyType","QueryEditorExpressionType"],"mappings":"AAAY,IAAA,uBAAA,qBAAAA,wBAAL,KAAA;AACL,EAAAA,yBAAA,QAAS,CAAA,GAAA,QAAA;AADC,EAAAA,OAAAA,wBAAAA;AAAA,CAAA,EAAA,uBAAA,IAAA,EAAA;AAiCA,IAAA,yBAAA,qBAAAC,0BAAL,KAAA;AACL,EAAAA,2BAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,2BAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,2BAAA,IAAK,CAAA,GAAA,IAAA;AACL,EAAAA,2BAAA,KAAM,CAAA,GAAA,KAAA;AACN,EAAAA,2BAAA,SAAU,CAAA,GAAA,SAAA;AACV,EAAAA,2BAAA,UAAW,CAAA,GAAA,UAAA;AACX,EAAAA,2BAAA,mBAAoB,CAAA,GAAA,mBAAA;AAPV,EAAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React, { useRef, useEffect, useCallback } from 'react';
|
|
2
|
+
import '../types.js';
|
|
3
|
+
import { formatSQL } from '../utils/formatSQL.js';
|
|
4
|
+
import { SQLEditor } from '../../SQLEditor/components/SQLEditor.js';
|
|
5
|
+
import '@grafana/ui';
|
|
6
|
+
import '@grafana/data';
|
|
7
|
+
import '../../SQLEditor/standardSql/macros.js';
|
|
8
|
+
|
|
9
|
+
function QueryEditorRaw({ children, onChange, query, width, height, completionProvider }) {
|
|
10
|
+
const queryRef = useRef(query);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
queryRef.current = query;
|
|
13
|
+
}, [query]);
|
|
14
|
+
const onRawQueryChange = useCallback(
|
|
15
|
+
(rawSql, processQuery) => {
|
|
16
|
+
const newQuery = {
|
|
17
|
+
...queryRef.current,
|
|
18
|
+
rawQuery: true,
|
|
19
|
+
rawSql
|
|
20
|
+
};
|
|
21
|
+
onChange(newQuery, processQuery);
|
|
22
|
+
},
|
|
23
|
+
[onChange]
|
|
24
|
+
);
|
|
25
|
+
return /* @__PURE__ */ React.createElement(
|
|
26
|
+
SQLEditor,
|
|
27
|
+
{
|
|
28
|
+
width,
|
|
29
|
+
height,
|
|
30
|
+
query: query.rawSql,
|
|
31
|
+
onChange: onRawQueryChange,
|
|
32
|
+
language: { id: "sql", completionProvider, formatter: formatSQL }
|
|
33
|
+
},
|
|
34
|
+
children
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { QueryEditorRaw };
|
|
39
|
+
//# sourceMappingURL=QueryEditorRaw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryEditorRaw.js","sources":["../../../../../src/components/QueryEditor/query-editor-raw/QueryEditorRaw.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { type SQLQuery } from '../types';\n\nimport { formatSQL } from '../utils/formatSQL';\nimport { type LanguageCompletionProvider, SQLEditor } from '../../SQLEditor';\n\ntype Props = {\n query: SQLQuery;\n onChange: (value: SQLQuery, processQuery: boolean) => void;\n children?: (props: { formatQuery: () => void }) => React.ReactNode;\n width?: number;\n height?: number;\n completionProvider: LanguageCompletionProvider;\n};\n\nexport function QueryEditorRaw({ children, onChange, query, width, height, completionProvider }: Props) {\n // We need to pass query via ref to SQLEditor as onChange is executed via monacoEditor.onDidChangeModelContent callback, not onChange property\n const queryRef = useRef<SQLQuery>(query);\n useEffect(() => {\n queryRef.current = query;\n }, [query]);\n\n const onRawQueryChange = useCallback(\n (rawSql: string, processQuery: boolean) => {\n const newQuery = {\n ...queryRef.current,\n rawQuery: true,\n rawSql,\n };\n onChange(newQuery, processQuery);\n },\n [onChange]\n );\n\n return (\n <SQLEditor\n width={width}\n height={height}\n query={query.rawSql!}\n onChange={onRawQueryChange}\n language={{ id: 'sql', completionProvider, formatter: formatSQL }}\n >\n {children}\n </SQLEditor>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAgBgB,SAAA,cAAA,CAAe,EAAE,QAAU,EAAA,QAAA,EAAU,OAAO,KAAO,EAAA,MAAA,EAAQ,oBAA6B,EAAA;AAEtG,EAAM,MAAA,QAAA,GAAW,OAAiB,KAAK,CAAA;AACvC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,OAAU,GAAA,KAAA;AAAA,GACrB,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,MAAM,gBAAmB,GAAA,WAAA;AAAA,IACvB,CAAC,QAAgB,YAA0B,KAAA;AACzC,MAAA,MAAM,QAAW,GAAA;AAAA,QACf,GAAG,QAAS,CAAA,OAAA;AAAA,QACZ,QAAU,EAAA,IAAA;AAAA,QACV;AAAA,OACF;AACA,MAAA,QAAA,CAAS,UAAU,YAAY,CAAA;AAAA,KACjC;AAAA,IACA,CAAC,QAAQ;AAAA,GACX;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAO,KAAM,CAAA,MAAA;AAAA,MACb,QAAU,EAAA,gBAAA;AAAA,MACV,UAAU,EAAE,EAAA,EAAI,KAAO,EAAA,kBAAA,EAAoB,WAAW,SAAU;AAAA,KAAA;AAAA,IAE/D;AAAA,GACH;AAEJ;;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { css } from '@emotion/css';
|
|
2
|
+
import React, { useState, useMemo } from 'react';
|
|
3
|
+
import { useTheme2, HorizontalGroup, IconButton, Tooltip, Icon } from '@grafana/ui';
|
|
4
|
+
import { QueryValidator } from './QueryValidator.js';
|
|
5
|
+
|
|
6
|
+
function QueryToolbox({ showTools, onFormatCode, onExpand, isExpanded, ...validatorProps }) {
|
|
7
|
+
const theme = useTheme2();
|
|
8
|
+
const [validationResult, setValidationResult] = useState();
|
|
9
|
+
const styles = useMemo(() => {
|
|
10
|
+
return {
|
|
11
|
+
container: css`
|
|
12
|
+
border: 1px solid ${theme.colors.border.medium};
|
|
13
|
+
border-top: none;
|
|
14
|
+
padding: ${theme.spacing(0.5, 0.5, 0.5, 0.5)};
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-grow: 1;
|
|
17
|
+
justify-content: space-between;
|
|
18
|
+
font-size: ${theme.typography.bodySmall.fontSize};
|
|
19
|
+
`,
|
|
20
|
+
error: css`
|
|
21
|
+
color: ${theme.colors.error.text};
|
|
22
|
+
font-size: ${theme.typography.bodySmall.fontSize};
|
|
23
|
+
font-family: ${theme.typography.fontFamilyMonospace};
|
|
24
|
+
`,
|
|
25
|
+
valid: css`
|
|
26
|
+
color: ${theme.colors.success.text};
|
|
27
|
+
`,
|
|
28
|
+
info: css`
|
|
29
|
+
color: ${theme.colors.text.secondary};
|
|
30
|
+
`,
|
|
31
|
+
hint: css`
|
|
32
|
+
color: ${theme.colors.text.disabled};
|
|
33
|
+
white-space: nowrap;
|
|
34
|
+
cursor: help;
|
|
35
|
+
`
|
|
36
|
+
};
|
|
37
|
+
}, [theme]);
|
|
38
|
+
let style = {};
|
|
39
|
+
if (!showTools && validationResult === undefined) {
|
|
40
|
+
style = { height: 0, padding: 0, visibility: "hidden" };
|
|
41
|
+
}
|
|
42
|
+
return /* @__PURE__ */ React.createElement("div", { className: styles.container, style }, /* @__PURE__ */ React.createElement("div", null, validatorProps.onValidate && /* @__PURE__ */ React.createElement(
|
|
43
|
+
QueryValidator,
|
|
44
|
+
{
|
|
45
|
+
...validatorProps,
|
|
46
|
+
onValidate: (result) => {
|
|
47
|
+
setValidationResult(result);
|
|
48
|
+
validatorProps.onValidate(result);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
)), showTools && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(HorizontalGroup, { spacing: "sm" }, onFormatCode && /* @__PURE__ */ React.createElement(IconButton, { onClick: onFormatCode, name: "brackets-curly", size: "xs", tooltip: "Format query" }), onExpand && /* @__PURE__ */ React.createElement(
|
|
52
|
+
IconButton,
|
|
53
|
+
{
|
|
54
|
+
onClick: () => onExpand(!isExpanded),
|
|
55
|
+
name: isExpanded ? "angle-up" : "angle-down",
|
|
56
|
+
size: "xs",
|
|
57
|
+
tooltip: isExpanded ? "Collapse editor" : "Expand editor"
|
|
58
|
+
}
|
|
59
|
+
), /* @__PURE__ */ React.createElement(Tooltip, { content: "Hit CTRL/CMD+Return to run query" }, /* @__PURE__ */ React.createElement(Icon, { className: styles.hint, name: "keyboard" })))));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { QueryToolbox };
|
|
63
|
+
//# sourceMappingURL=QueryToolbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryToolbox.js","sources":["../../../../../src/components/QueryEditor/query-editor-raw/QueryToolbox.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport React, { useMemo, useState } from 'react';\n\nimport { HorizontalGroup, Icon, IconButton, Tooltip, useTheme2 } from '@grafana/ui';\n\nimport { QueryValidator, type QueryValidatorProps } from './QueryValidator';\n\ninterface QueryToolboxProps extends Omit<QueryValidatorProps, 'onValidate'> {\n showTools?: boolean;\n isExpanded?: boolean;\n onFormatCode?: () => void;\n onExpand?: (expand: boolean) => void;\n onValidate?: (isValid: boolean) => void;\n}\n\nexport function QueryToolbox({ showTools, onFormatCode, onExpand, isExpanded, ...validatorProps }: QueryToolboxProps) {\n const theme = useTheme2();\n const [validationResult, setValidationResult] = useState<boolean>();\n\n const styles = useMemo(() => {\n return {\n container: css`\n border: 1px solid ${theme.colors.border.medium};\n border-top: none;\n padding: ${theme.spacing(0.5, 0.5, 0.5, 0.5)};\n display: flex;\n flex-grow: 1;\n justify-content: space-between;\n font-size: ${theme.typography.bodySmall.fontSize};\n `,\n error: css`\n color: ${theme.colors.error.text};\n font-size: ${theme.typography.bodySmall.fontSize};\n font-family: ${theme.typography.fontFamilyMonospace};\n `,\n valid: css`\n color: ${theme.colors.success.text};\n `,\n info: css`\n color: ${theme.colors.text.secondary};\n `,\n hint: css`\n color: ${theme.colors.text.disabled};\n white-space: nowrap;\n cursor: help;\n `,\n };\n }, [theme]);\n\n let style = {};\n\n if (!showTools && validationResult === undefined) {\n style = { height: 0, padding: 0, visibility: 'hidden' };\n }\n\n return (\n <div className={styles.container} style={style}>\n <div>\n {validatorProps.onValidate && (\n <QueryValidator\n {...validatorProps}\n onValidate={(result: boolean) => {\n setValidationResult(result);\n validatorProps.onValidate!(result);\n }}\n />\n )}\n </div>\n {showTools && (\n <div>\n <HorizontalGroup spacing=\"sm\">\n {onFormatCode && (\n <IconButton onClick={onFormatCode} name=\"brackets-curly\" size=\"xs\" tooltip=\"Format query\" />\n )}\n {onExpand && (\n <IconButton\n onClick={() => onExpand(!isExpanded)}\n name={isExpanded ? 'angle-up' : 'angle-down'}\n size=\"xs\"\n tooltip={isExpanded ? 'Collapse editor' : 'Expand editor'}\n />\n )}\n <Tooltip content=\"Hit CTRL/CMD+Return to run query\">\n <Icon className={styles.hint} name=\"keyboard\" />\n </Tooltip>\n </HorizontalGroup>\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { css } from '@emotion/css';
|
|
2
|
+
import React, { useState, useMemo, useEffect } from 'react';
|
|
3
|
+
import { useAsyncFn, useDebounce } from 'react-use';
|
|
4
|
+
import { getValueFormat, formattedValueToString } from '@grafana/data';
|
|
5
|
+
import { useTheme2, Spinner, Icon } from '@grafana/ui';
|
|
6
|
+
import '../types.js';
|
|
7
|
+
|
|
8
|
+
function QueryValidator({ db, query, onValidate, range }) {
|
|
9
|
+
var _a;
|
|
10
|
+
const [validationResult, setValidationResult] = useState();
|
|
11
|
+
const theme = useTheme2();
|
|
12
|
+
const valueFormatter = useMemo(() => getValueFormat("bytes"), []);
|
|
13
|
+
const styles = useMemo(() => {
|
|
14
|
+
return {
|
|
15
|
+
error: css`
|
|
16
|
+
color: ${theme.colors.error.text};
|
|
17
|
+
font-size: ${theme.typography.bodySmall.fontSize};
|
|
18
|
+
font-family: ${theme.typography.fontFamilyMonospace};
|
|
19
|
+
`,
|
|
20
|
+
valid: css`
|
|
21
|
+
color: ${theme.colors.success.text};
|
|
22
|
+
`,
|
|
23
|
+
info: css`
|
|
24
|
+
color: ${theme.colors.text.secondary};
|
|
25
|
+
`
|
|
26
|
+
};
|
|
27
|
+
}, [theme]);
|
|
28
|
+
const [state, validateQuery] = useAsyncFn(
|
|
29
|
+
async (q) => {
|
|
30
|
+
var _a2;
|
|
31
|
+
if (((_a2 = q.rawSql) == null ? undefined : _a2.trim()) === "") {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return await db.validateQuery(q, range);
|
|
35
|
+
},
|
|
36
|
+
[db]
|
|
37
|
+
);
|
|
38
|
+
useDebounce(
|
|
39
|
+
async () => {
|
|
40
|
+
const result = await validateQuery(query);
|
|
41
|
+
if (result) {
|
|
42
|
+
setValidationResult(result);
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
},
|
|
46
|
+
1e3,
|
|
47
|
+
[query, validateQuery]
|
|
48
|
+
);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (validationResult == null ? undefined : validationResult.isError) {
|
|
51
|
+
onValidate(false);
|
|
52
|
+
}
|
|
53
|
+
if (validationResult == null ? undefined : validationResult.isValid) {
|
|
54
|
+
onValidate(true);
|
|
55
|
+
}
|
|
56
|
+
}, [validationResult, onValidate]);
|
|
57
|
+
if (!state.value && !state.loading) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
const error = ((_a = state.value) == null ? undefined : _a.error) ? processErrorMessage(state.value.error) : "";
|
|
61
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, state.loading && /* @__PURE__ */ React.createElement("div", { className: styles.info }, /* @__PURE__ */ React.createElement(Spinner, { inline: true, size: 12 }), " Validating query..."), !state.loading && state.value && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(React.Fragment, null, state.value.isValid && state.value.statistics && /* @__PURE__ */ React.createElement("div", { className: styles.valid }, /* @__PURE__ */ React.createElement(Icon, { name: "check" }), " This query will process", " ", /* @__PURE__ */ React.createElement("strong", null, formattedValueToString(valueFormatter(state.value.statistics.TotalBytesProcessed))), " ", "when run.")), /* @__PURE__ */ React.createElement(React.Fragment, null, state.value.isError && /* @__PURE__ */ React.createElement("div", { className: styles.error }, error))));
|
|
62
|
+
}
|
|
63
|
+
function processErrorMessage(error) {
|
|
64
|
+
const splat = error.split(":");
|
|
65
|
+
if (splat.length > 2) {
|
|
66
|
+
return splat.slice(2).join(":");
|
|
67
|
+
}
|
|
68
|
+
return error;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { QueryValidator };
|
|
72
|
+
//# sourceMappingURL=QueryValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryValidator.js","sources":["../../../../../src/components/QueryEditor/query-editor-raw/QueryValidator.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { useAsyncFn, useDebounce } from 'react-use';\nimport { formattedValueToString, getValueFormat, type TimeRange } from '@grafana/data';\nimport { Icon, Spinner, useTheme2 } from '@grafana/ui';\nimport { type DB, type SQLQuery, type ValidationResults } from '../types';\n\nexport interface QueryValidatorProps {\n db: DB;\n query: SQLQuery;\n range?: TimeRange;\n onValidate: (isValid: boolean) => void;\n}\n\nexport function QueryValidator({ db, query, onValidate, range }: QueryValidatorProps) {\n const [validationResult, setValidationResult] = useState<ValidationResults | null>();\n const theme = useTheme2();\n const valueFormatter = useMemo(() => getValueFormat('bytes'), []);\n\n const styles = useMemo(() => {\n return {\n error: css`\n color: ${theme.colors.error.text};\n font-size: ${theme.typography.bodySmall.fontSize};\n font-family: ${theme.typography.fontFamilyMonospace};\n `,\n valid: css`\n color: ${theme.colors.success.text};\n `,\n info: css`\n color: ${theme.colors.text.secondary};\n `,\n };\n }, [theme]);\n\n const [state, validateQuery] = useAsyncFn(\n async (q: SQLQuery) => {\n if (q.rawSql?.trim() === '') {\n return null;\n }\n\n return await db.validateQuery(q, range);\n },\n [db]\n );\n\n const [,] = useDebounce(\n async () => {\n const result = await validateQuery(query);\n if (result) {\n setValidationResult(result);\n }\n\n return null;\n },\n 1000,\n [query, validateQuery]\n );\n\n useEffect(() => {\n if (validationResult?.isError) {\n onValidate(false);\n }\n if (validationResult?.isValid) {\n onValidate(true);\n }\n }, [validationResult, onValidate]);\n\n if (!state.value && !state.loading) {\n return null;\n }\n\n const error = state.value?.error ? processErrorMessage(state.value.error) : '';\n\n return (\n <>\n {state.loading && (\n <div className={styles.info}>\n <Spinner inline={true} size={12} /> Validating query...\n </div>\n )}\n {!state.loading && state.value && (\n <>\n <>\n {state.value.isValid && state.value.statistics && (\n <div className={styles.valid}>\n <Icon name=\"check\" /> This query will process{' '}\n <strong>{formattedValueToString(valueFormatter(state.value.statistics.TotalBytesProcessed))}</strong>{' '}\n when run.\n </div>\n )}\n </>\n\n <>{state.value.isError && <div className={styles.error}>{error}</div>}</>\n </>\n )}\n </>\n );\n}\n\nfunction processErrorMessage(error: string) {\n const splat = error.split(':');\n if (splat.length > 2) {\n return splat.slice(2).join(':');\n }\n return error;\n}\n"],"names":["_a"],"mappings":"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"}
|