@quillsql/admin 1.6.0 → 1.6.1

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.
Files changed (151) hide show
  1. package/dist/cjs/Admin.d.ts.map +1 -1
  2. package/dist/cjs/Admin.js +24 -11
  3. package/dist/cjs/AdminProvider.d.ts +2 -1
  4. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  5. package/dist/cjs/AdminProvider.js +13 -24
  6. package/dist/cjs/api/ConnectionClient.d.ts +8 -0
  7. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  8. package/dist/cjs/api/ConnectionClient.js +42 -8
  9. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  10. package/dist/cjs/components/DashboardSelectPopover.js +20 -3
  11. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  12. package/dist/cjs/components/DropDownMenuWithLabel.js +4 -35
  13. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  14. package/dist/cjs/components/EmptyDashboardComponent/index.js +11 -9
  15. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  16. package/dist/cjs/components/QuillSelect.js +2 -2
  17. package/dist/cjs/components/SegmentedControl.d.ts +4 -2
  18. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -1
  19. package/dist/cjs/components/SegmentedControl.js +22 -16
  20. package/dist/cjs/components/SqlTextEditor.d.ts +9 -1
  21. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  22. package/dist/cjs/components/SqlTextEditor.js +60 -12
  23. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  24. package/dist/cjs/components/UiComponents.js +11 -2
  25. package/dist/cjs/constants/dataTypes.d.ts +2 -0
  26. package/dist/cjs/constants/dataTypes.d.ts.map +1 -0
  27. package/dist/cjs/constants/dataTypes.js +21 -0
  28. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  29. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +9 -17
  30. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  31. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +24 -11
  32. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +4 -1
  33. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  34. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +87 -36
  35. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  36. package/dist/cjs/modals/EditFiltersModal.js +13 -3
  37. package/dist/cjs/modals/NewDashboardModal.js +2 -2
  38. package/dist/cjs/modals/PromoteDashModal.js +2 -2
  39. package/dist/cjs/modals/PromoteViewModal.d.ts +2 -1
  40. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  41. package/dist/cjs/modals/PromoteViewModal.js +46 -36
  42. package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -0
  43. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  44. package/dist/cjs/primitives/TextInputPrimitive.js +35 -20
  45. package/dist/cjs/public_components/CreateEnvironment.d.ts +2 -1
  46. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  47. package/dist/cjs/public_components/CreateEnvironment.js +4 -1
  48. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  49. package/dist/cjs/public_components/DashboardBuilder.js +67 -156
  50. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  51. package/dist/cjs/public_components/DashboardManager.js +72 -73
  52. package/dist/cjs/public_components/SQLViewManager.d.ts +1 -0
  53. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  54. package/dist/cjs/public_components/SQLViewManager.js +216 -40
  55. package/dist/cjs/utils/astProcessing.d.ts +2 -0
  56. package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
  57. package/dist/cjs/utils/astProcessing.js +41 -0
  58. package/dist/cjs/utils/astProcessing.uspec.d.ts +2 -0
  59. package/dist/cjs/utils/astProcessing.uspec.d.ts.map +1 -0
  60. package/dist/cjs/utils/astProcessing.uspec.js +26 -0
  61. package/dist/cjs/utils/columnProcessing.d.ts +3 -0
  62. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
  63. package/dist/cjs/utils/columnProcessing.js +42 -0
  64. package/dist/cjs/utils/dataEditor.d.ts +2 -2
  65. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  66. package/dist/cjs/utils/dataEditor.js +4 -2
  67. package/dist/cjs/utils/databases.d.ts +0 -1
  68. package/dist/cjs/utils/databases.d.ts.map +1 -1
  69. package/dist/cjs/utils/databases.js +5 -6
  70. package/dist/cjs/utils/monacoAutocomplete.d.ts +21 -0
  71. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +1 -0
  72. package/dist/cjs/utils/monacoAutocomplete.js +250 -0
  73. package/dist/cjs/utils/schema.d.ts +5 -0
  74. package/dist/cjs/utils/schema.d.ts.map +1 -1
  75. package/dist/cjs/utils/schema.js +129 -0
  76. package/dist/esm/Admin.d.ts.map +1 -1
  77. package/dist/esm/Admin.js +24 -11
  78. package/dist/esm/AdminProvider.d.ts +2 -1
  79. package/dist/esm/AdminProvider.d.ts.map +1 -1
  80. package/dist/esm/AdminProvider.js +13 -24
  81. package/dist/esm/api/ConnectionClient.d.ts +8 -0
  82. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  83. package/dist/esm/api/ConnectionClient.js +42 -8
  84. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  85. package/dist/esm/components/DashboardSelectPopover.js +20 -3
  86. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  87. package/dist/esm/components/DropDownMenuWithLabel.js +4 -35
  88. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  89. package/dist/esm/components/EmptyDashboardComponent/index.js +11 -9
  90. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  91. package/dist/esm/components/QuillSelect.js +2 -2
  92. package/dist/esm/components/SegmentedControl.d.ts +4 -2
  93. package/dist/esm/components/SegmentedControl.d.ts.map +1 -1
  94. package/dist/esm/components/SegmentedControl.js +22 -16
  95. package/dist/esm/components/SqlTextEditor.d.ts +9 -1
  96. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  97. package/dist/esm/components/SqlTextEditor.js +59 -11
  98. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  99. package/dist/esm/components/UiComponents.js +12 -3
  100. package/dist/esm/constants/dataTypes.d.ts +2 -0
  101. package/dist/esm/constants/dataTypes.d.ts.map +1 -0
  102. package/dist/esm/constants/dataTypes.js +18 -0
  103. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  104. package/dist/esm/forms/client_onboard/ConnectDatabase.js +9 -17
  105. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  106. package/dist/esm/forms/client_onboard/CreateSqlViews.js +25 -12
  107. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +4 -1
  108. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  109. package/dist/esm/forms/sql_views/CreateEditSqlView.js +87 -36
  110. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  111. package/dist/esm/modals/EditFiltersModal.js +13 -3
  112. package/dist/esm/modals/NewDashboardModal.js +2 -2
  113. package/dist/esm/modals/PromoteDashModal.js +2 -2
  114. package/dist/esm/modals/PromoteViewModal.d.ts +2 -1
  115. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  116. package/dist/esm/modals/PromoteViewModal.js +50 -40
  117. package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -0
  118. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  119. package/dist/esm/primitives/TextInputPrimitive.js +33 -21
  120. package/dist/esm/public_components/CreateEnvironment.d.ts +2 -1
  121. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  122. package/dist/esm/public_components/CreateEnvironment.js +4 -1
  123. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  124. package/dist/esm/public_components/DashboardBuilder.js +68 -157
  125. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  126. package/dist/esm/public_components/DashboardManager.js +73 -74
  127. package/dist/esm/public_components/SQLViewManager.d.ts +1 -0
  128. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  129. package/dist/esm/public_components/SQLViewManager.js +216 -42
  130. package/dist/esm/utils/astProcessing.d.ts +2 -0
  131. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  132. package/dist/esm/utils/astProcessing.js +37 -0
  133. package/dist/esm/utils/astProcessing.uspec.d.ts +2 -0
  134. package/dist/esm/utils/astProcessing.uspec.d.ts.map +1 -0
  135. package/dist/esm/utils/astProcessing.uspec.js +24 -0
  136. package/dist/esm/utils/columnProcessing.d.ts +3 -0
  137. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  138. package/dist/esm/utils/columnProcessing.js +37 -0
  139. package/dist/esm/utils/dataEditor.d.ts +2 -2
  140. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  141. package/dist/esm/utils/dataEditor.js +4 -2
  142. package/dist/esm/utils/databases.d.ts +0 -1
  143. package/dist/esm/utils/databases.d.ts.map +1 -1
  144. package/dist/esm/utils/databases.js +5 -6
  145. package/dist/esm/utils/monacoAutocomplete.d.ts +21 -0
  146. package/dist/esm/utils/monacoAutocomplete.d.ts.map +1 -0
  147. package/dist/esm/utils/monacoAutocomplete.js +245 -0
  148. package/dist/esm/utils/schema.d.ts +5 -0
  149. package/dist/esm/utils/schema.d.ts.map +1 -1
  150. package/dist/esm/utils/schema.js +126 -1
  151. package/package.json +3 -2
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SegmentedControl = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- function SegmentedControl({ onChange, value, theme, }) {
5
+ const react_1 = require("react");
6
+ function SegmentedControl({ onChange, value, theme, left = 'Default', right = 'Multiselect', }) {
7
+ const [leftSelected, setLeftSelected] = (0, react_1.useState)(value === 'default' ? true : false);
6
8
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
7
9
  display: 'flex',
8
10
  flexDirection: 'row',
@@ -12,43 +14,47 @@ function SegmentedControl({ onChange, value, theme, }) {
12
14
  padding: 4,
13
15
  borderRadius: 6,
14
16
  height: 40,
15
- }, children: [(0, jsx_runtime_1.jsx)("button", { className: "quill-tab", onClick: () => onChange('default'), style: {
16
- border: value === 'default' ? '1px solid #E7E7E7' : '1px solid transparent',
17
+ }, children: [(0, jsx_runtime_1.jsx)("button", { className: "quill-tab", onClick: () => {
18
+ setLeftSelected(true);
19
+ onChange(left.toLowerCase());
20
+ }, style: {
21
+ border: leftSelected ? '1px solid #E7E7E7' : '1px solid transparent',
17
22
  outline: 'none',
18
23
  width: '100%',
19
24
  borderRadius: 4,
20
25
  padding: 10,
21
- boxShadow: value === 'default'
26
+ boxShadow: leftSelected
22
27
  ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
23
28
  : undefined,
24
- color: value === 'default'
29
+ color: leftSelected
25
30
  ? 'rgba(56, 65, 81, 1)'
26
31
  : 'rgba(56, 65, 81, 0.85)',
27
- fontWeight: value === 'default' ? 600 : 500,
32
+ fontWeight: leftSelected ? 600 : 500,
28
33
  fontSize: 14,
29
34
  fontFamily: theme?.fontFamily,
30
35
  height: '40px',
31
36
  boxSizing: 'border-box',
32
- backgroundColor: value === 'default' ? 'white' : 'transparent',
33
- }, children: 'Default' }), (0, jsx_runtime_1.jsx)("button", { className: "quill-tab2", onClick: () => onChange('multiselect'), style: {
34
- border: value === 'multiselect'
35
- ? '1px solid #E7E7E7'
36
- : '1px solid transparent',
37
- boxShadow: value === 'multiselect'
37
+ backgroundColor: leftSelected ? 'white' : 'transparent',
38
+ }, children: left }), (0, jsx_runtime_1.jsx)("button", { className: "quill-tab2", onClick: () => {
39
+ setLeftSelected(false);
40
+ onChange(right.toLowerCase());
41
+ }, style: {
42
+ border: !leftSelected ? '1px solid #E7E7E7' : '1px solid transparent',
43
+ boxShadow: !leftSelected
38
44
  ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
39
45
  : undefined,
40
46
  outline: 'none',
41
47
  width: '100%',
42
48
  borderRadius: 4,
43
- color: value === 'multiselect'
49
+ color: !leftSelected
44
50
  ? 'rgba(56, 65, 81, 1)'
45
51
  : 'rgba(56, 65, 81, 0.85)',
46
52
  padding: 10,
47
- fontWeight: value === 'multiselect' ? 600 : 500,
53
+ fontWeight: !leftSelected ? 600 : 500,
48
54
  fontSize: 14,
49
55
  fontFamily: theme?.fontFamily,
50
56
  height: '40px',
51
- backgroundColor: value === 'multiselect' ? 'white' : 'transparent',
52
- }, children: 'Multiselect' })] }));
57
+ backgroundColor: !leftSelected ? 'white' : 'transparent',
58
+ }, children: right })] }));
53
59
  }
54
60
  exports.SegmentedControl = SegmentedControl;
@@ -1,7 +1,15 @@
1
1
  import { CSSProperties } from 'react';
2
- export default function SqlTextEditor({ containerStyle, value, setValue, }: {
2
+ import { IDisposable } from 'monaco-editor';
3
+ import { ColumnsByTable } from '../utils/table';
4
+ export default function SqlTextEditor({ containerStyle, value, setValue, setEditorMounted, setPreviousProvier, previousProvider, schema, height, databaseType, }: {
3
5
  containerStyle?: CSSProperties;
4
6
  value: string;
5
7
  setValue: (e: string) => void;
8
+ setEditorMounted: (e: boolean) => void;
9
+ setPreviousProvier?: (e: IDisposable | null) => void;
10
+ height?: string | number;
11
+ schema: ColumnsByTable[];
12
+ databaseType?: string;
13
+ previousProvider: IDisposable | null;
6
14
  }): import("react/jsx-runtime").JSX.Element;
7
15
  //# sourceMappingURL=SqlTextEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlTextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/SqlTextEditor.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA+B7C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,KAAK,EACL,QAAQ,GACT,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,2CAwBA"}
1
+ {"version":3,"file":"SqlTextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/SqlTextEditor.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA+DhD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,MAAgB,EAChB,YAA2B,GAC5B,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC,2CAsEA"}
@@ -4,7 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = __importDefault(require("@monaco-editor/react"));
7
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
+ const react_1 = require("react");
9
+ const react_2 = __importDefault(require("@monaco-editor/react"));
10
+ const re_resizable_1 = require("re-resizable");
11
+ const monacoAutocomplete_1 = require("../utils/monacoAutocomplete");
12
+ const UiComponents_1 = require("./UiComponents");
8
13
  function defineEditorTheme(monaco) {
9
14
  monaco.editor.defineTheme('onedark', {
10
15
  base: 'vs',
@@ -22,23 +27,66 @@ function defineEditorTheme(monaco) {
22
27
  },
23
28
  });
24
29
  }
25
- function setEditorTheme(_editor, monaco) {
30
+ function setEditorTheme(_editor, monaco, schema, databaseType) {
26
31
  try {
27
32
  monaco.editor.setTheme('onedark');
33
+ monaco.languages.register({ id: 'quill' });
34
+ const provider = monaco.languages.registerCompletionItemProvider('quill', {
35
+ provideCompletionItems: function (model, position) {
36
+ const word = model.getWordUntilPosition(position);
37
+ const range = new monaco.Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);
38
+ const databaseSuggestions = (0, monacoAutocomplete_1.generateSuggestionsByDatasource)(monaco, range, databaseType);
39
+ const schemaSuggestions = (0, monacoAutocomplete_1.generateSuggestionsBySchema)(schema, monaco, range, databaseType);
40
+ return { suggestions: [...databaseSuggestions, ...schemaSuggestions] };
41
+ },
42
+ });
43
+ return provider;
28
44
  }
29
45
  catch (e) {
30
46
  console.log('ERROR: ', e);
47
+ return null;
31
48
  }
32
49
  }
33
- function SqlTextEditor({ containerStyle, value, setValue, }) {
34
- return ((0, jsx_runtime_1.jsx)("div", { style: { ...containerStyle }, children: (0, jsx_runtime_1.jsx)(react_1.default, { height: "224px", defaultLanguage: "pgsql", defaultValue: "", value: value, loading: (0, jsx_runtime_1.jsx)("div", {}), options: {
35
- wordWrap: 'on',
36
- minimap: {
37
- enabled: false,
38
- },
39
- padding: { top: 16 },
40
- }, onChange: (query) => {
41
- setValue(query);
42
- }, beforeMount: (monaco) => defineEditorTheme(monaco), onMount: setEditorTheme }) }));
50
+ function SqlTextEditor({ containerStyle, value, setValue, setEditorMounted, setPreviousProvier, previousProvider, schema, height = '224px', databaseType = 'postgresql', }) {
51
+ const [editorKey, setEditorKey] = (0, react_1.useState)(0);
52
+ (0, react_1.useEffect)(() => {
53
+ if (previousProvider) {
54
+ previousProvider.dispose();
55
+ }
56
+ }, []);
57
+ (0, react_1.useEffect)(() => {
58
+ if (schema && schema.length !== 0 && editorKey === 0) {
59
+ setEditorKey((prevKey) => prevKey + 1);
60
+ }
61
+ }, [schema]);
62
+ return ((0, jsx_runtime_1.jsx)("div", { style: { ...containerStyle }, children: (0, jsx_runtime_1.jsx)(re_resizable_1.Resizable, { defaultSize: {
63
+ width: 'auto',
64
+ height: 224,
65
+ }, minHeight: "100px", maxHeight: "800px", maxWidth: '100%', enable: {
66
+ top: true,
67
+ right: false,
68
+ bottom: true,
69
+ left: false,
70
+ topRight: false,
71
+ bottomRight: false,
72
+ bottomLeft: false,
73
+ topLeft: false,
74
+ }, children: (0, jsx_runtime_1.jsx)(react_2.default
75
+ // height={height}
76
+ , { defaultLanguage: "quill", defaultValue: "", language: "quill", value: value, loading: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}), options: {
77
+ wordWrap: 'on',
78
+ minimap: {
79
+ enabled: false,
80
+ },
81
+ padding: { top: 16 },
82
+ }, onChange: (query) => {
83
+ setValue(query);
84
+ }, beforeMount: (monaco) => defineEditorTheme(monaco), onMount: (_editor, monaco) => {
85
+ const disposable = setEditorTheme(_editor, monaco, schema, databaseType);
86
+ if (setPreviousProvier) {
87
+ setPreviousProvier(disposable);
88
+ }
89
+ setEditorMounted(true);
90
+ } }, editorKey) }) }));
43
91
  }
44
92
  exports.default = SqlTextEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
@@ -144,6 +144,16 @@ function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, la
144
144
  exports.MemoizedPopover = MemoizedPopover;
145
145
  function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }) {
146
146
  const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
147
+ (0, react_1.useEffect)(() => {
148
+ // Prevent scrolling in the background when the modal is open
149
+ if (isOpen) {
150
+ document.body.style.overflow = 'hidden';
151
+ }
152
+ return () => {
153
+ // Re-enable scrolling when the modal is closed/unmounted
154
+ document.body.style.overflow = 'unset';
155
+ };
156
+ }, [isOpen]);
147
157
  if (!isOpen) {
148
158
  return null;
149
159
  }
@@ -170,9 +180,9 @@ function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }) {
170
180
  borderStyle: 'solid',
171
181
  borderWidth: 1,
172
182
  borderColor: '#e7e7e7',
173
- overflow: 'scroll',
174
183
  width: width ?? 'auto',
175
184
  height: height ?? 'auto',
185
+ overflow: 'auto',
176
186
  maxWidth: 'calc(100vw - 82px)',
177
187
  maxHeight: 'calc(100vh - 82px)',
178
188
  }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
@@ -180,7 +190,6 @@ function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }) {
180
190
  width: '100%',
181
191
  maxWidth: 'calc(100vw - 82px)',
182
192
  maxHeight: 'calc(100vh - 82px)',
183
- overflowY: 'scroll',
184
193
  backgroundColor: '#ffffff',
185
194
  display: 'flex',
186
195
  flexDirection: 'column',
@@ -0,0 +1,2 @@
1
+ export declare const ALL_INT_TYPES: string[];
2
+ //# sourceMappingURL=dataTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../../../src/constants/dataTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAiBzB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ALL_INT_TYPES = void 0;
4
+ exports.ALL_INT_TYPES = [
5
+ 'int4',
6
+ 'int8',
7
+ 'int2',
8
+ 'integer',
9
+ 'bigint',
10
+ 'smallint',
11
+ 'tinyint',
12
+ 'byteint',
13
+ 'real',
14
+ 'double precision',
15
+ 'smallserial',
16
+ 'serial',
17
+ 'bigserial',
18
+ 'serial4',
19
+ 'serial8',
20
+ 'serial2',
21
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAoB,MAAM,OAAO,CAAC;AAG/D,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,WAAgB,GACjB,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,qBAAqB,EAAE,CACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,eAAe,EAC7B,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAwYA"}
1
+ {"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAoB,MAAM,OAAO,CAAC;AAG/D,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,WAAgB,GACjB,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,qBAAqB,EAAE,CACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,eAAe,EAC7B,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAsXA"}
@@ -55,6 +55,7 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
55
55
  reader.readAsText(file);
56
56
  };
57
57
  const testConnectionAndFormClient = async () => {
58
+ setShowError(false);
58
59
  const connectionString = (0, databases_1.formConnectionString)(databaseConnectionDetails);
59
60
  const result = await (0, ConnectionClient_1.testConnectionString)(connectionString, databaseConnectionDetails.type, clientId);
60
61
  if (result.success) {
@@ -169,28 +170,19 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
169
170
  ...databaseConnectionDetails,
170
171
  [key]: e.target.value,
171
172
  });
172
- }, value: value, disabled: key === 'type' })] }, key));
173
- }) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.jsxs)("div", { id: "database-details-form", style: {
173
+ }, value: value, disabled: key === 'type', password: key === 'password' ? true : false })] }, key));
174
+ }) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.jsx)("div", { id: "database-details-form", style: {
174
175
  display: 'grid',
175
176
  gridTemplateColumns: 'repeat(1, 1fr)',
176
177
  gap: '20px',
177
178
  justifyContent: 'space-between',
178
179
  marginTop: '16px',
179
- }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: {
180
- ...header2Style,
181
- fontWeight: '600',
182
- }, children: "Project ID" }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
183
- setConnectionDetails({
184
- ...databaseConnectionDetails,
185
- companyTag: e.target.value,
186
- });
187
- setCompanyTag(e.target.value);
188
- }, value: companyTag })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: '600' }, children: "Submit File" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: ".json", onChange: handleFileChange, style: { display: 'none' }, id: "fileInput", ref: myInputRef }), (0, jsx_runtime_1.jsxs)("div", { style: {
189
- display: 'flex',
190
- flexDirection: 'row',
191
- gap: 12,
192
- alignItems: 'center',
193
- }, children: [(0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { onClick: handleButtonClick, label: 'Upload JSON' }), (0, jsx_runtime_1.jsx)("span", { style: { ...header2Style, fontWeight: '600' }, children: fileLabel })] })] })] })] }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
180
+ }, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: '600' }, children: "Service Account Json" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: ".json", onChange: handleFileChange, style: { display: 'none' }, id: "fileInput", ref: myInputRef }), (0, jsx_runtime_1.jsxs)("div", { style: {
181
+ display: 'flex',
182
+ flexDirection: 'row',
183
+ gap: 12,
184
+ alignItems: 'center',
185
+ }, children: [(0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { onClick: handleButtonClick, label: 'Upload JSON' }), (0, jsx_runtime_1.jsx)("span", { style: { ...header2Style, fontWeight: '600' }, children: fileLabel })] })] })] }) }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
194
186
  width: '100%',
195
187
  display: 'flex',
196
188
  justifyContent: 'space-between',
@@ -1 +1 @@
1
- {"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAY3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAS7E,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ,2CA0ZA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,2CAiDA"}
1
+ {"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAW3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ,2CA+aA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,2CAkDA"}
@@ -12,6 +12,8 @@ const SqlViewTile_1 = __importDefault(require("../../components/SqlViewTile"));
12
12
  const SqlTextEditor_1 = __importDefault(require("../../components/SqlTextEditor"));
13
13
  const react_2 = require("@quillsql/react");
14
14
  const UiComponents_1 = require("../../components/UiComponents");
15
+ const SQLViewManager_1 = require("../../public_components/SQLViewManager");
16
+ const columnProcessing_1 = require("../../utils/columnProcessing");
15
17
  function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByTable, environmentDetails, allSchemaInfo, domainName, completeOnboarding, clientId, state, }) {
16
18
  const [selectedTable, setSelectedTable] = (0, react_1.useState)(undefined);
17
19
  const [queryInfo, setQueryInfo] = (0, react_1.useState)({
@@ -48,12 +50,14 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
48
50
  };
49
51
  const handleClickSchemaItem = async (event) => {
50
52
  const name = event.target.textContent;
51
- if (queryInfo.query && queryInfo.query.length > 0) {
52
- await navigator.clipboard.writeText(name || '');
53
+ if (!name) {
54
+ return;
53
55
  }
54
- else {
55
- setQueryInfo({ name: queryInfo.name, query: `SELECT * FROM ${name}` });
56
+ const newQuery = `SELECT * FROM ${(0, columnProcessing_1.processColumnReference)(name, environmentDetails?.type)};`;
57
+ if (!queryInfo.query || queryInfo.query.length === 0) {
58
+ setQueryInfo({ name: queryInfo.name, query: newQuery });
56
59
  }
60
+ await navigator.clipboard.writeText(newQuery);
57
61
  };
58
62
  (0, react_1.useEffect)(() => {
59
63
  window.scrollTo({
@@ -65,6 +69,7 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
65
69
  ...containerStyle,
66
70
  display: 'flex',
67
71
  flexDirection: 'column',
72
+ minWidth: 900,
68
73
  }, id: "create-sql-view", children: [(0, jsx_runtime_1.jsxs)("div", { style: {
69
74
  padding: 20,
70
75
  paddingBottom: 12,
@@ -93,10 +98,11 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
93
98
  setDisplayedTableData(columnsByTable.filter((table) => table.tableName
94
99
  .toLowerCase()
95
100
  .includes(e.target.value.toLowerCase().trim())));
96
- }, value: tableSearchQuery, width: "100%" }) }), (0, jsx_runtime_1.jsx)(react_2.SchemaListComponent, { schema: displayedTableData, theme: state.theme, width: '300px', loading: false, LoadingComponent: UiComponents_1.LoadingSpinner, onClick: handleClickSchemaItem })] }), (0, jsx_runtime_1.jsxs)("div", { id: "form-editor-table", style: {
101
+ }, value: tableSearchQuery, width: "180px" }) }), (0, jsx_runtime_1.jsx)(react_2.SchemaListComponent, { schema: displayedTableData, theme: state.theme, width: '300px', loading: false, LoadingComponent: UiComponents_1.LoadingSpinner, onClick: handleClickSchemaItem })] }), (0, jsx_runtime_1.jsxs)("div", { id: "form-editor-table", style: {
97
102
  display: 'flex',
98
103
  flexDirection: 'column',
99
- width: 'calc(100% - 300px)',
104
+ width: 'calc(100% - 600px)',
105
+ minWidth: 300,
100
106
  }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
101
107
  display: 'flex',
102
108
  flexDirection: 'row',
@@ -117,7 +123,7 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
117
123
  setAskAIButtonLoading(false);
118
124
  }, style: { width: '90px' } })] }), (0, jsx_runtime_1.jsx)(SqlTextEditor_1.default, { value: queryInfo.query, setValue: (e) => {
119
125
  setQueryInfo({ name: queryInfo.name, query: e });
120
- }, containerStyle: { paddingLeft: 16, paddingRight: 16 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
126
+ }, setEditorMounted: () => { }, containerStyle: { paddingLeft: 16, paddingRight: 16 }, schema: displayedTableData, databaseType: environmentDetails?.type, previousProvider: null }), (0, jsx_runtime_1.jsxs)("div", { style: {
121
127
  display: 'flex',
122
128
  flexDirection: 'row',
123
129
  justifyContent: 'space-between',
@@ -148,7 +154,7 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
148
154
  }, children: [(0, jsx_runtime_1.jsx)(react_2.Table, { rows: tableData.rows, columns: tableData.fields, containerStyle: {
149
155
  height: 'calc(100vh - 589px)',
150
156
  width: '100%',
151
- }, hideCSVDownloadButton: true }), (0, jsx_runtime_1.jsxs)("div", { style: {
157
+ }, hideCSVDownloadButton: true, isLoading: runQueryButtonLoading }), (0, jsx_runtime_1.jsxs)("div", { style: {
152
158
  width: '100%',
153
159
  display: 'flex',
154
160
  justifyContent: 'space-between',
@@ -159,7 +165,14 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
159
165
  color: 'red',
160
166
  paddingTop: '12px',
161
167
  // textTransform: 'capitalize',
162
- }, children: sqlQueryError.msg })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: "Add SQL View", onClick: () => addSqlView(false) })] })] }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
168
+ }, children: sqlQueryError.msg })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: "Add SQL View", onClick: () => {
169
+ const duplicateColumns2 = (0, SQLViewManager_1.getDuplicateColumns)(tableData?.fields);
170
+ if (duplicateColumns2.length > 0) {
171
+ alert(`Ambiguous column names found. Either use aliases or remove the column to make every column name unique: \n\n${duplicateColumns2.join('\n')}`);
172
+ return;
173
+ }
174
+ addSqlView(false);
175
+ } })] })] }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
163
176
  // width: '30%',
164
177
  background: '#fafafa',
165
178
  borderLeft: 'solid 1px #e7e7e7',
@@ -211,7 +224,7 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
211
224
  paddingRight: 12,
212
225
  background: 'white',
213
226
  borderTop: 'solid 1px #e7e7e7',
214
- }, children: (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: "Go to dashboard", onClick: () => {
227
+ }, children: (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: "Looks good", onClick: () => {
215
228
  completeOnboarding(client);
216
229
  }, style: { width: 276 } }) })) : null] })] }), (0, jsx_runtime_1.jsx)(ForeignKeyModal, { isOpen: showFKModal, setIsOpen: setShowFKModal, override: addSqlView, foreignKey: allSchemaInfo?.selectedFields.foreignKey, tableName: allSchemaInfo?.selectedFields.table })] }));
217
230
  }
@@ -224,7 +237,7 @@ function ForeignKeyModal({ isOpen, setIsOpen, override, foreignKey, tableName, }
224
237
  fontWeight: 600,
225
238
  color: '#212121',
226
239
  paddingBottom: 14,
227
- }, children: `Organization Foreign Key "${foreignKey}" Not Found` }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '12px' }, children: [`Your organization table `, (0, jsx_runtime_1.jsx)("strong", { children: `"${tableName}"` }), ` foreign key `, (0, jsx_runtime_1.jsx)("strong", { children: `"${foreignKey}"` }), " is not present in the current query. If this query will never have organization specific data on it (this is rare), override this message.`"] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: {
240
+ }, children: `Organization Foreign Key "${foreignKey?.replaceAll('"', '')}" Not Found` }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '12px' }, children: [`Your organization table `, (0, jsx_runtime_1.jsx)("strong", { children: `"${tableName?.replaceAll('"', '')}"` }), ` foreign key `, (0, jsx_runtime_1.jsx)("strong", { children: `"${foreignKey?.replaceAll('"', '')}"` }), " is not present in the current query. If this query will never have organization specific data on it (this is rare), override this message.`"] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: {
228
241
  display: 'flex',
229
242
  flexDirection: 'row',
230
243
  gap: '12px',
@@ -1,5 +1,6 @@
1
1
  import { ButtonComponentProps } from '@quillsql/react';
2
2
  import { ReactNode } from 'react';
3
+ import { IDisposable } from 'monaco-editor';
3
4
  import { TextInputComponentProps } from '../../components/UiComponents';
4
5
  import { ColumnsByTable } from '../../utils/table';
5
6
  interface CreateEditSqlViewProps {
@@ -18,9 +19,11 @@ interface CreateEditSqlViewProps {
18
19
  }) => JSX.Element;
19
20
  closeEditView: () => void;
20
21
  addEditView: (request: string, query: string, name?: string, id?: string, columns?: any[]) => void;
22
+ setProvider: (provider: IDisposable | null) => void;
23
+ provider: IDisposable | null;
21
24
  allTableData: ColumnsByTable[];
22
25
  schemaIsLoading: boolean;
23
26
  }
24
- export default function CreateEditSqlView({ containerStyle, initialSqlView, closeEditView, addEditView, SecondaryButtonComponent, LoadingComponent, Button, TextInput, Header, allTableData, schemaIsLoading, }: CreateEditSqlViewProps): JSX.Element;
27
+ export default function CreateEditSqlView({ containerStyle, initialSqlView, closeEditView, addEditView, setProvider, provider, SecondaryButtonComponent, LoadingComponent, Button, TextInput, Header, allTableData, schemaIsLoading, }: CreateEditSqlViewProps): JSX.Element;
25
28
  export {};
26
29
  //# sourceMappingURL=CreateEditSqlView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEditSqlView.d.ts","sourceRoot":"","sources":["../../../../src/forms/sql_views/CreateEditSqlView.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAKrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AASf,OAAO,EAML,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAI3D,UAAU,sBAAsB;IAC9B,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,GAAG,EAAE,KACZ,IAAI,CAAC;IACV,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,wBAAwB,EACxB,gBAA2C,EAC3C,MAAuB,EACvB,SAA6B,EAC7B,MAAuB,EACvB,YAAY,EACZ,eAAe,GAChB,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAgUtC"}
1
+ {"version":3,"file":"CreateEditSqlView.d.ts","sourceRoot":"","sources":["../../../../src/forms/sql_views/CreateEditSqlView.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAKrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,OAAO,EAML,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQ3D,UAAU,sBAAsB;IAC9B,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,GAAG,EAAE,KACZ,IAAI,CAAC;IACV,WAAW,EAAE,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,wBAAwB,EACxB,gBAA2C,EAC3C,MAAuB,EACvB,SAA6B,EAC7B,MAAuB,EACvB,YAAY,EACZ,eAAe,GAChB,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAmYtC"}