@quillsql/admin 1.4.0 → 1.6.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.
Files changed (149) hide show
  1. package/dist/cjs/Admin.d.ts +23 -73
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +221 -970
  4. package/dist/cjs/AdminProvider.d.ts +1 -12
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +24 -18
  7. package/dist/cjs/api/ConnectionClient.d.ts +11 -0
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +84 -10
  10. package/dist/cjs/components/DropDownMenu.js +1 -1
  11. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  12. package/dist/cjs/components/DropDownMenuWithLabel.js +16 -54
  13. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  14. package/dist/cjs/components/OrgSelect.js +10 -20
  15. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  16. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  17. package/dist/cjs/components/QuillSelect.js +137 -0
  18. package/dist/cjs/components/SegmentedControl.d.ts +7 -0
  19. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -0
  20. package/dist/cjs/components/SegmentedControl.js +54 -0
  21. package/dist/cjs/components/UiComponents.d.ts +18 -29
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/components/UiComponents.js +40 -83
  24. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +2 -1
  25. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  26. package/dist/cjs/forms/client_onboard/ConnectSchema.js +143 -68
  27. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  28. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +40 -11
  29. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  30. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  31. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +36 -20
  32. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
  33. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  34. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  35. package/dist/cjs/modals/EditFiltersModal.d.ts +17 -0
  36. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -0
  37. package/dist/cjs/modals/EditFiltersModal.js +345 -0
  38. package/dist/cjs/modals/NewDashboardModal.d.ts +1 -3
  39. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  40. package/dist/cjs/modals/NewDashboardModal.js +63 -46
  41. package/dist/cjs/modals/PromoteDashModal.d.ts.map +1 -1
  42. package/dist/cjs/modals/PromoteDashModal.js +10 -3
  43. package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
  44. package/dist/cjs/modals/ReorderDashboardModal.js +202 -90
  45. package/dist/cjs/modals/index.d.ts +0 -1
  46. package/dist/cjs/modals/index.d.ts.map +1 -1
  47. package/dist/cjs/modals/index.js +1 -3
  48. package/dist/cjs/primitives/ButtonPrimitive.d.ts +3 -1
  49. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  50. package/dist/cjs/primitives/ButtonPrimitive.js +5 -3
  51. package/dist/cjs/primitives/ModalPrimitive.d.ts.map +1 -1
  52. package/dist/cjs/primitives/ModalPrimitive.js +1 -2
  53. package/dist/cjs/primitives/TogglePrimitive.js +5 -5
  54. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  55. package/dist/cjs/public_components/CreateEnvironment.js +1 -1
  56. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  57. package/dist/cjs/public_components/DashboardBuilder.js +127 -30
  58. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  59. package/dist/cjs/public_components/DashboardManager.js +161 -193
  60. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  61. package/dist/cjs/public_components/SQLViewManager.js +92 -24
  62. package/dist/cjs/utils/constants.d.ts +4 -4
  63. package/dist/cjs/utils/constants.js +2 -2
  64. package/dist/cjs/utils/schema.d.ts +6 -0
  65. package/dist/cjs/utils/schema.d.ts.map +1 -1
  66. package/dist/cjs/utils/table.d.ts +1 -0
  67. package/dist/cjs/utils/table.d.ts.map +1 -1
  68. package/dist/cjs/utils/table.js +13 -0
  69. package/dist/cjs/utils/textProcessing.d.ts +2 -0
  70. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  71. package/dist/cjs/utils/textProcessing.js +9 -0
  72. package/dist/esm/Admin.d.ts +23 -73
  73. package/dist/esm/Admin.d.ts.map +1 -1
  74. package/dist/esm/Admin.js +225 -964
  75. package/dist/esm/AdminProvider.d.ts +1 -12
  76. package/dist/esm/AdminProvider.d.ts.map +1 -1
  77. package/dist/esm/AdminProvider.js +25 -19
  78. package/dist/esm/api/ConnectionClient.d.ts +11 -0
  79. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  80. package/dist/esm/api/ConnectionClient.js +82 -9
  81. package/dist/esm/components/DropDownMenu.js +1 -1
  82. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  83. package/dist/esm/components/DropDownMenuWithLabel.js +16 -54
  84. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  85. package/dist/esm/components/OrgSelect.js +6 -19
  86. package/dist/esm/components/QuillSelect.d.ts +3 -0
  87. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  88. package/dist/esm/components/QuillSelect.js +130 -0
  89. package/dist/esm/components/SegmentedControl.d.ts +7 -0
  90. package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
  91. package/dist/esm/components/SegmentedControl.js +50 -0
  92. package/dist/esm/components/UiComponents.d.ts +18 -29
  93. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  94. package/dist/esm/components/UiComponents.js +37 -82
  95. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
  96. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  97. package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
  98. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  99. package/dist/esm/forms/client_onboard/CreateSqlViews.js +41 -12
  100. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  101. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  102. package/dist/esm/forms/sql_views/CreateEditSqlView.js +38 -22
  103. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  104. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  105. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  106. package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
  107. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
  108. package/dist/esm/modals/EditFiltersModal.js +338 -0
  109. package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
  110. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  111. package/dist/esm/modals/NewDashboardModal.js +63 -46
  112. package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
  113. package/dist/esm/modals/PromoteDashModal.js +10 -3
  114. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  115. package/dist/esm/modals/ReorderDashboardModal.js +201 -89
  116. package/dist/esm/modals/index.d.ts +0 -1
  117. package/dist/esm/modals/index.d.ts.map +1 -1
  118. package/dist/esm/modals/index.js +0 -1
  119. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  120. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  121. package/dist/esm/primitives/ButtonPrimitive.js +5 -3
  122. package/dist/esm/primitives/ModalPrimitive.d.ts.map +1 -1
  123. package/dist/esm/primitives/ModalPrimitive.js +1 -2
  124. package/dist/esm/primitives/TogglePrimitive.js +5 -5
  125. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  126. package/dist/esm/public_components/CreateEnvironment.js +1 -1
  127. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  128. package/dist/esm/public_components/DashboardBuilder.js +128 -31
  129. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  130. package/dist/esm/public_components/DashboardManager.js +163 -195
  131. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  132. package/dist/esm/public_components/SQLViewManager.js +92 -24
  133. package/dist/esm/utils/constants.d.ts +4 -4
  134. package/dist/esm/utils/constants.js +2 -2
  135. package/dist/esm/utils/schema.d.ts +6 -0
  136. package/dist/esm/utils/schema.d.ts.map +1 -1
  137. package/dist/esm/utils/table.d.ts +1 -0
  138. package/dist/esm/utils/table.d.ts.map +1 -1
  139. package/dist/esm/utils/table.js +11 -1
  140. package/dist/esm/utils/textProcessing.d.ts +2 -0
  141. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  142. package/dist/esm/utils/textProcessing.js +5 -0
  143. package/package.json +1 -1
  144. package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
  145. package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
  146. package/dist/cjs/modals/EditDashboardsModal.js +0 -94
  147. package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
  148. package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
  149. package/dist/esm/modals/EditDashboardsModal.js +0 -91
@@ -4,19 +4,19 @@ const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  // @ts-nocheck
5
5
  const react_1 = require("react");
6
6
  const AdminProvider_1 = require("../AdminProvider");
7
- const Admin_1 = require("../Admin");
8
7
  const constants_1 = require("../utils/constants");
8
+ const sortable_1 = require("@dnd-kit/sortable");
9
+ const utilities_1 = require("@dnd-kit/utilities");
10
+ const core_1 = require("@dnd-kit/core");
11
+ const react_2 = require("@quillsql/react");
12
+ const UiComponents_1 = require("../components/UiComponents");
9
13
  function ReorderDashboardModal({ isOpen, setIsOpen, client, onSave, ModalComponent, ButtonComponent, selectedDashboard, organizationId, }) {
10
- // const [client] = useContext(ClientContext);
11
- const [dashboardItems, setDashboardItems] = (0, react_1.useState)([]);
14
+ const { state } = (0, AdminProvider_1.useAdmin)();
15
+ const [sections, setSections] = (0, react_1.useState)([]);
16
+ const [metrics, setMetrics] = (0, react_1.useState)({});
17
+ const [charts, setCharts] = (0, react_1.useState)({});
18
+ const [tables, setTables] = (0, react_1.useState)({});
12
19
  const [loading, setLoading] = (0, react_1.useState)(false);
13
- const [chartType, setChartType] = (0, react_1.useState)('metric');
14
- const [doesDashboardHaveTables, setDoesDashboardHaveTables] = (0, react_1.useState)(false);
15
- const [doesDashboardHaveCharts, setDoesDashboardHaveCharts] = (0, react_1.useState)(false);
16
- const [doesDashboardHaveMetrics, setDoesDashboardHaveMetrics] = (0, react_1.useState)(false);
17
- const [orderArray, setOrderArray] = (0, react_1.useState)([]);
18
- const [itemMap, setItemMap] = (0, react_1.useState)(null);
19
- const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
20
20
  (0, react_1.useEffect)(() => {
21
21
  async function getDashboardItems() {
22
22
  const { _id, environment } = state.client;
@@ -35,93 +35,205 @@ function ReorderDashboardModal({ isOpen, setIsOpen, client, onSave, ModalCompone
35
35
  },
36
36
  });
37
37
  const responseData = await response.json();
38
- let flattened = [];
39
- for (let key in responseData.sections) {
40
- flattened = flattened.concat(responseData.sections[key]);
41
- }
42
- setDashboardItems(flattened);
38
+ const sections = responseData.sections;
39
+ setSections(Object.keys(sections));
40
+ const isMetric = (elem) => elem.chartType === 'metric';
41
+ const isChart = (elem) => !['metric', 'table'].includes(elem.chartType);
42
+ const isTable = (elem) => elem.chartType === 'table';
43
+ setMetrics(Object.fromEntries(Object.entries(sections).map(([k, v]) => [k, v.filter(isMetric)])));
44
+ setCharts(Object.fromEntries(Object.entries(sections).map(([k, v]) => [k, v.filter(isChart)])));
45
+ setTables(Object.fromEntries(Object.entries(sections).map(([k, v]) => [k, v.filter(isTable)])));
43
46
  setLoading(false);
44
47
  }
45
48
  if (selectedDashboard && state.client) {
46
49
  getDashboardItems();
47
50
  }
48
51
  }, [selectedDashboard, state.client]);
49
- (0, react_1.useEffect)(() => {
50
- const itemMap = new Map();
51
- dashboardItems.forEach((item) => {
52
- if (item.chartType === 'table') {
53
- setDoesDashboardHaveTables(true);
54
- }
55
- else if (item.chartType === 'metric') {
56
- setDoesDashboardHaveMetrics(true);
57
- }
58
- else {
59
- setDoesDashboardHaveCharts(true);
52
+ const handleSaveChanges = async () => {
53
+ if (!client)
54
+ return;
55
+ try {
56
+ const response = await fetch(`${constants_1.QUILL_SERVER}/dashorder/`, {
57
+ method: 'POST',
58
+ headers: {
59
+ 'Content-Type': 'application/json',
60
+ },
61
+ body: JSON.stringify({
62
+ publicKey: client._id,
63
+ orderArray: [
64
+ ...Object.values(metrics).flat(),
65
+ ...Object.values(charts).flat(),
66
+ ...Object.values(tables).flat(),
67
+ ],
68
+ }),
69
+ });
70
+ if (!response.ok) {
71
+ const errorData = await response.json();
72
+ throw new Error(`Error: ${errorData.error || 'Unknown error'}`);
60
73
  }
61
- itemMap.set(item._id, item);
62
- });
63
- setItemMap(itemMap);
64
- }, [dashboardItems]);
65
- const closeModal = () => {
66
- setIsOpen(false);
74
+ await response.json();
75
+ onSave();
76
+ setIsOpen(false);
77
+ }
78
+ catch (error) {
79
+ console.error('An unknown error occurred in ReorderDashboardModal');
80
+ console.error(error.message);
81
+ }
67
82
  };
68
- return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { style: {
69
- display: 'flex',
70
- flexDirection: 'column',
71
- position: 'relative',
72
- minWidth: 700,
73
- maxWidth: 700,
74
- minHeight: 700,
75
- zIndex: 100,
76
- // overflowY: "scroll",
77
- }, children: [loading ? (0, jsx_runtime_1.jsx)("div", { children: 'Loading...' }) : null, dashboardItems.length > 0 && itemMap.size > 0 && ((0, jsx_runtime_1.jsx)(Admin_1.ReorderableList, { itemMap: itemMap, client: client, initialItems: dashboardItems.filter((elem) => chartType === 'chart'
78
- ? elem.chartType !== 'metric' && elem.chartType !== 'table'
79
- : elem.chartType === chartType), ButtonComponent: ButtonComponent, closeModal: closeModal, onSave: onSave })), (0, jsx_runtime_1.jsxs)("div", { style: {
80
- height: 80,
81
- background: 'white',
82
- width: 700,
83
- position: 'absolute',
84
- top: -20,
85
- left: 0,
86
- right: 20,
87
- paddingTop: 20,
88
- display: 'flex',
89
- flexDirection: 'row',
90
- alignItems: 'center',
91
- justifyContent: 'space-between',
92
- }, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 22, fontWeight: 600 }, children: "Reorder items" }), (0, jsx_runtime_1.jsxs)("div", { style: {
93
- background: '#f7f7f7',
94
- borderRadius: 6,
95
- height: 32,
96
- display: 'flex',
97
- flexDirection: 'row',
98
- alignItems: 'center',
99
- paddingLeft: 4,
100
- paddingRight: 4,
101
- }, children: [doesDashboardHaveMetrics && ((0, jsx_runtime_1.jsx)("button", { style: {
102
- background: chartType === 'metric' ? 'white' : undefined,
103
- color: chartType === 'metric' ? '#384151' : '#677389',
104
- fontWeight: chartType === 'metric' ? '600' : '500',
105
- borderRadius: 4,
106
- paddingLeft: 6,
107
- paddingRight: 6,
108
- fontSize: 16,
109
- }, onClick: () => setChartType('metric'), children: "Metrics" })), doesDashboardHaveCharts && ((0, jsx_runtime_1.jsx)("button", { style: {
110
- background: chartType === 'chart' ? 'white' : undefined,
111
- color: chartType === 'chart' ? '#384151' : '#677389',
112
- fontWeight: chartType === 'chart' ? '600' : '500',
113
- borderRadius: 4,
114
- paddingLeft: 6,
115
- paddingRight: 6,
116
- fontSize: 16,
117
- }, onClick: () => setChartType('chart'), children: "Charts" })), doesDashboardHaveTables && ((0, jsx_runtime_1.jsx)("button", { style: {
118
- background: chartType === 'table' ? 'white' : undefined,
119
- color: chartType === 'table' ? '#384151' : '#677389',
120
- fontWeight: chartType === 'table' ? '600' : '500',
121
- borderRadius: 4,
122
- paddingLeft: 6,
123
- paddingRight: 6,
124
- fontSize: 16,
125
- }, onClick: () => setChartType('table'), children: "Tables" }))] })] })] }) }));
83
+ return ((0, jsx_runtime_1.jsxs)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), style: {
84
+ gap: 20,
85
+ display: 'flex',
86
+ flexDirection: 'column',
87
+ width: 'calc(100vw - 80px)',
88
+ height: 'calc(100vh - 80px)',
89
+ }, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 22, fontWeight: 600, width: '100%' }, children: "Reorder Items" }), loading ? (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) : null, (0, jsx_runtime_1.jsx)("div", { style: {
90
+ display: 'flex',
91
+ flexDirection: 'column',
92
+ gap: 20,
93
+ overflowY: 'auto',
94
+ width: '100%',
95
+ height: 'calc(100% - 20px)',
96
+ zIndex: 100,
97
+ }, children: (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: 20 }, children: sections
98
+ .sort((a, b) => a.length - b.length)
99
+ .map((sectionName, sectionIndex) => ((0, jsx_runtime_1.jsxs)("div", { style: {
100
+ display: 'flex',
101
+ flexDirection: 'column',
102
+ gap: 20,
103
+ }, children: [sectionName && ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)("h1", { style: {
104
+ fontSize: 22,
105
+ fontWeight: 'bold',
106
+ textAlign: 'left',
107
+ marginTop: sectionIndex > 0 ? 20 : 0,
108
+ }, children: sectionName }) })), metrics[sectionName]?.length > 0 && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'metrics', section: sectionName, items: metrics[sectionName], setItems: setMetrics })), charts[sectionName]?.length > 0 && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'charts', section: sectionName, items: charts[sectionName], setItems: setCharts })), tables[sectionName]?.length > 0 && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'tables', section: sectionName, items: tables[sectionName], setItems: setTables }))] }))) }) }), (0, jsx_runtime_1.jsx)("div", { style: {
109
+ width: '100%',
110
+ display: 'flex',
111
+ flexDirection: 'row',
112
+ justifyContent: 'right',
113
+ }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: handleSaveChanges, label: "Save changes" }) })] }));
126
114
  }
127
115
  exports.default = ReorderDashboardModal;
116
+ const SortableItem = (props) => {
117
+ const { attributes, listeners, setNodeRef, transform, transition } = (0, sortable_1.useSortable)({ id: props.id });
118
+ const style = {
119
+ transform: utilities_1.CSS.Translate.toString(transform),
120
+ transition,
121
+ display: 'flex',
122
+ width: props.chartType === 'table' ? '100%' : '100%',
123
+ justifyContent: 'space-between',
124
+ alignItems: 'center',
125
+ borderRadius: '10px',
126
+ border: '1px solid #E7E7E7',
127
+ boxShadow: '0px 2px 8px 0px rgba(56, 65, 81, 0.08)',
128
+ cursor: 'grab',
129
+ userSelect: 'none',
130
+ background: 'white',
131
+ };
132
+ return ((0, jsx_runtime_1.jsx)("div", { ref: setNodeRef, style: style, ...attributes, children: (0, jsx_runtime_1.jsx)("div", { style: {
133
+ cursor: 'pointer',
134
+ width: '100%',
135
+ display: 'flex',
136
+ flexDirection: 'row',
137
+ alignItems: 'center',
138
+ justifyContent: 'space-between',
139
+ }, ...listeners, children: (0, jsx_runtime_1.jsxs)("div", { style: {
140
+ display: 'flex',
141
+ flexDirection: 'column',
142
+ justifyContent: 'space-between',
143
+ padding: 20,
144
+ width: '100%',
145
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
146
+ display: 'flex',
147
+ flexDirection: 'row',
148
+ paddingBottom: props.chartType === 'table' ? 10 : 0,
149
+ }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
150
+ fontSize: 18,
151
+ fontWeight: '500',
152
+ flexGrow: 1,
153
+ }, children: props.value }), (0, jsx_runtime_1.jsx)(HandleButton, {})] }), (0, jsx_runtime_1.jsx)(react_2.Chart, { reportId: props.id, containerStyle: {
154
+ padding: 10,
155
+ height: props.chartType === 'metric' ? 80 : 250,
156
+ width: 'calc(100% - 20px)',
157
+ } })] }) }) }));
158
+ };
159
+ function ReorderableGrid({ type, section, items, setItems }) {
160
+ if (!items)
161
+ return null;
162
+ const sensors = (0, core_1.useSensors)((0, core_1.useSensor)(core_1.PointerSensor), (0, core_1.useSensor)(core_1.KeyboardSensor, {
163
+ coordinateGetter: sortable_1.sortableKeyboardCoordinates,
164
+ }), (0, core_1.useSensor)(core_1.TouchSensor, {
165
+ activationConstraint: '',
166
+ }));
167
+ const handleDragEnd = (event) => {
168
+ const { active, over } = event;
169
+ if (!active || !over)
170
+ return;
171
+ if (active.id !== over.id) {
172
+ setItems((items) => {
173
+ const list = items[section];
174
+ const oldIndex = list.findIndex((item) => item._id === active.id);
175
+ const newIndex = list.findIndex((item) => item._id === over.id);
176
+ const newOrder = (0, sortable_1.arrayMove)(list, oldIndex, newIndex);
177
+ return { ...items, [section]: newOrder };
178
+ });
179
+ }
180
+ };
181
+ return ((0, jsx_runtime_1.jsx)(core_1.DndContext, { sensors: sensors, collisionDetection: core_1.closestCenter, onDragEnd: handleDragEnd, children: (0, jsx_runtime_1.jsx)("div", { style: type === 'tables'
182
+ ? {
183
+ display: 'flex',
184
+ flexDirection: 'row',
185
+ flexWrap: 'wrap',
186
+ gap: 20,
187
+ }
188
+ : {
189
+ boxSizing: 'content-box',
190
+ width: '100%',
191
+ listStyleType: 'none',
192
+ display: 'grid',
193
+ gap: 20,
194
+ gridTemplateColumns: `repeat(auto-fill,minmax(400px, 1fr))`,
195
+ gridTemplateRows: `repeat(${170}px)`,
196
+ }, children: (0, jsx_runtime_1.jsx)(sortable_1.SortableContext, { items: items.map((item) => item._id), strategy: sortable_1.rectSortingStrategy, children: items.map((item) => ((0, jsx_runtime_1.jsx)(SortableItem, { handle: true, id: item._id, chartType: items.find((itm) => itm._id === item._id)?.chartType ?? 'chart', value: items.find((itm) => itm._id === item._id)?.name ?? item._id }, item._id))) }) }) }));
197
+ }
198
+ function HandleButton() {
199
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
200
+ display: 'flex',
201
+ gap: 2,
202
+ flexDirection: 'row',
203
+ paddingTop: 8,
204
+ paddingBottom: 8,
205
+ paddingLeft: 8,
206
+ paddingRight: 8,
207
+ borderRadius: 4,
208
+ }, className: "handle", children: [(0, jsx_runtime_1.jsx)("style", { children: `.handle{background:white;} .handle:hover{background:rgba(0,0,0,0.03);}` }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: 2, flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
209
+ width: 3,
210
+ height: 3,
211
+ borderRadius: 3,
212
+ background: '#9CA0A7',
213
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
214
+ width: 3,
215
+ height: 3,
216
+ borderRadius: 3,
217
+ background: '#9CA0A7',
218
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
219
+ width: 3,
220
+ height: 3,
221
+ borderRadius: 3,
222
+ background: '#9CA0A7',
223
+ } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: 2, flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
224
+ width: 3,
225
+ height: 3,
226
+ borderRadius: 3,
227
+ background: '#9CA0A7',
228
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
229
+ width: 3,
230
+ height: 3,
231
+ borderRadius: 3,
232
+ background: '#9CA0A7',
233
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
234
+ width: 3,
235
+ height: 3,
236
+ borderRadius: 3,
237
+ background: '#9CA0A7',
238
+ } })] })] }));
239
+ }
@@ -1,5 +1,4 @@
1
1
  export { default as PromoteDashModal } from './PromoteDashModal';
2
- export { default as EditDashboardsModal } from './EditDashboardsModal';
3
2
  export { default as PromoteViewModal } from './PromoteViewModal';
4
3
  export { default as ReorderDashboardModal } from './ReorderDashboardModal';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modals/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modals/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -3,11 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ReorderDashboardModal = exports.PromoteViewModal = exports.EditDashboardsModal = exports.PromoteDashModal = void 0;
6
+ exports.ReorderDashboardModal = exports.PromoteViewModal = exports.PromoteDashModal = void 0;
7
7
  var PromoteDashModal_1 = require("./PromoteDashModal");
8
8
  Object.defineProperty(exports, "PromoteDashModal", { enumerable: true, get: function () { return __importDefault(PromoteDashModal_1).default; } });
9
- var EditDashboardsModal_1 = require("./EditDashboardsModal");
10
- Object.defineProperty(exports, "EditDashboardsModal", { enumerable: true, get: function () { return __importDefault(EditDashboardsModal_1).default; } });
11
9
  var PromoteViewModal_1 = require("./PromoteViewModal");
12
10
  Object.defineProperty(exports, "PromoteViewModal", { enumerable: true, get: function () { return __importDefault(PromoteViewModal_1).default; } });
13
11
  var ReorderDashboardModal_1 = require("./ReorderDashboardModal");
@@ -7,6 +7,8 @@ type ButtonPrimitiveProps = {
7
7
  style?: React.CSSProperties;
8
8
  variant?: 'primary' | 'secondary' | 'danger';
9
9
  };
10
- declare const ButtonPrimitive: React.FC<ButtonPrimitiveProps>;
10
+ declare const ButtonPrimitive: React.FC<ButtonPrimitiveProps & {
11
+ isLoading?: boolean;
12
+ }>;
11
13
  export default ButtonPrimitive;
12
14
  //# sourceMappingURL=ButtonPrimitive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/ButtonPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAqEnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ButtonPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/ButtonPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAG7D,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAC7B,oBAAoB,GAAG;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAoFF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const Admin_1 = require("../Admin");
5
- const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant = 'primary', }) => {
5
+ const UiComponents_1 = require("../components/UiComponents");
6
+ const ButtonPrimitive = ({ onClick, isLoading = false, label, theme = Admin_1.theme, style, variant = 'primary', }) => {
6
7
  if (variant === 'danger') {
7
8
  return ((0, jsx_runtime_1.jsxs)("button", { style: {
8
9
  height: 36,
@@ -20,7 +21,7 @@ const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant
20
21
  paddingLeft: 20,
21
22
  paddingRight: 20,
22
23
  ...style,
23
- }, onClick: onClick, className: "quill--danger-button", children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill--danger-button { background: #e7e7e7 } .quill--danger-button:hover { background: #DCDCDC }` }), label] }));
24
+ }, onClick: onClick, className: "quill--danger-button", children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill--danger-button { background: #e7e7e7 } .quill--danger-button:hover { background: #DCDCDC }` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '32px 0px' }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : (label)] }));
24
25
  }
25
26
  return ((0, jsx_runtime_1.jsxs)("button", { style: {
26
27
  height: 36,
@@ -34,6 +35,7 @@ const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant
34
35
  fontFamily: theme?.fontFamily,
35
36
  fontWeight: theme?.buttonFontWeight || 600,
36
37
  border: 'none',
38
+ whiteSpace: 'nowrap',
37
39
  fontSize: 14,
38
40
  paddingLeft: 20,
39
41
  paddingRight: 20,
@@ -44,6 +46,6 @@ const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant
44
46
  }
45
47
  .quill-button:hover {
46
48
  background: rgba(0,0,0,0.75);
47
- }` }), label] }));
49
+ }` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '0px 16px' }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : (label)] }));
48
50
  };
49
51
  exports.default = ButtonPrimitive;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/ModalPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+DjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ModalPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/ModalPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8DjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -34,8 +34,6 @@ const ModalPrimitive = ({ isOpen, close, children, style, theme = Admin_1.theme,
34
34
  maxHeight: '90vh',
35
35
  minWidth: 462,
36
36
  display: 'flex',
37
- justifyContent: 'center',
38
- alignItems: 'center',
39
37
  transform: 'translateX(-50%) translateY(-50%)',
40
38
  background: 'white',
41
39
  borderRadius: 8,
@@ -43,6 +41,7 @@ const ModalPrimitive = ({ isOpen, close, children, style, theme = Admin_1.theme,
43
41
  borderWidth: 1,
44
42
  borderColor: '#e7e7e7',
45
43
  padding: 30,
44
+ overflow: 'auto',
46
45
  ...style,
47
46
  }, children: children })] }));
48
47
  };
@@ -6,8 +6,8 @@ const TogglePrimitive = ({ value, onClick }) => {
6
6
  container: {
7
7
  display: 'inline-block',
8
8
  position: 'relative',
9
- width: '70px',
10
- height: '38px',
9
+ width: '50px',
10
+ height: '30px',
11
11
  borderRadius: '24px',
12
12
  backgroundColor: value ? '#212121' : '#ccc',
13
13
  cursor: 'pointer',
@@ -16,9 +16,9 @@ const TogglePrimitive = ({ value, onClick }) => {
16
16
  circle: {
17
17
  position: 'absolute',
18
18
  top: '3px',
19
- left: value ? '35px' : '3px',
20
- width: '32px',
21
- height: '32px',
19
+ left: value ? '23px' : '3px',
20
+ width: '24px',
21
+ height: '24px',
22
22
  borderRadius: '50%',
23
23
  backgroundColor: '#FFF',
24
24
  transition: 'left 0.4s',
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEnvironment.d.ts","sourceRoot":"","sources":["../../../src/public_components/CreateEnvironment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAuClE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,0BAA0B,EAC1B,cAAc,GACf,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CAqMA"}
1
+ {"version":3,"file":"CreateEnvironment.d.ts","sourceRoot":"","sources":["../../../src/public_components/CreateEnvironment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAuClE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,0BAA0B,EAC1B,cAAc,GACf,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CAsMA"}
@@ -145,7 +145,7 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
145
145
  setCreateEnvSteps(updatedSteps);
146
146
  setAllSchemaInfo(schemaDetails);
147
147
  openStep('createSQLViews');
148
- }, allSchemaInfo: allSchemaInfo, environmentDetails: environmentDetails, initialError: initialError, clientId: clientId })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Schema", completed: createEnvSteps.connectSchema.completed, header1Style: header1Style, onClick: () => {
148
+ }, allSchemaInfo: allSchemaInfo, environmentDetails: environmentDetails, initialError: initialError, clientId: clientId, state: state })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Schema", completed: createEnvSteps.connectSchema.completed, header1Style: header1Style, onClick: () => {
149
149
  openStep('connectSchema');
150
150
  setInitialError(undefined);
151
151
  } })), createEnvSteps.createSQLViews.open ? ((0, jsx_runtime_1.jsx)(CreateSqlViews_1.default, { containerStyle: {
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardBuilder.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AAS5E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,0BAA0B,EAC1B,cAAc,EACd,SAAgB,GACjB,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,2CA0TA"}
1
+ {"version":3,"file":"DashboardBuilder.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AAY5E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,0BAA0B,EAC1B,cAAc,EACd,SAAgB,GACjB,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,2CAgcA"}