@quillsql/admin 1.2.5 → 1.2.6

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 (73) hide show
  1. package/lib/Admin.d.ts +83 -27
  2. package/lib/Admin.js +118 -1247
  3. package/lib/Admin.js.map +1 -1
  4. package/lib/AdminProvider.d.ts +103 -0
  5. package/lib/AdminProvider.js +239 -0
  6. package/lib/AdminProvider.js.map +1 -0
  7. package/lib/components/DropDownMenu.d.ts +9 -0
  8. package/lib/components/DropDownMenu.js +38 -0
  9. package/lib/components/DropDownMenu.js.map +1 -0
  10. package/lib/components/EnvSelectPopover.d.ts +12 -0
  11. package/lib/components/EnvSelectPopover.js +147 -0
  12. package/lib/components/EnvSelectPopover.js.map +1 -0
  13. package/lib/components/OrgSelect.d.ts +10 -0
  14. package/lib/components/OrgSelect.js +29 -0
  15. package/lib/components/OrgSelect.js.map +1 -0
  16. package/lib/components/index.d.ts +4 -0
  17. package/lib/components/index.js +15 -0
  18. package/lib/components/index.js.map +1 -0
  19. package/lib/icons/ArrowDownHeadIcon.d.ts +4 -0
  20. package/lib/icons/ArrowDownHeadIcon.js +6 -0
  21. package/lib/icons/ArrowDownHeadIcon.js.map +1 -0
  22. package/lib/icons/index.d.ts +1 -0
  23. package/lib/icons/index.js +9 -0
  24. package/lib/icons/index.js.map +1 -0
  25. package/lib/index.d.ts +4 -0
  26. package/lib/index.js +9 -1
  27. package/lib/index.js.map +1 -1
  28. package/lib/modals/EditDashboardsModal.d.ts +19 -0
  29. package/lib/modals/EditDashboardsModal.js +94 -0
  30. package/lib/modals/EditDashboardsModal.js.map +1 -0
  31. package/lib/modals/PromoteDashModal.d.ts +16 -0
  32. package/lib/modals/PromoteDashModal.js +103 -0
  33. package/lib/modals/PromoteDashModal.js.map +1 -0
  34. package/lib/modals/PromoteViewModal.d.ts +12 -0
  35. package/lib/modals/PromoteViewModal.js +101 -0
  36. package/lib/modals/PromoteViewModal.js.map +1 -0
  37. package/lib/modals/ReorderDashboardModal.d.ts +8 -0
  38. package/lib/modals/ReorderDashboardModal.js +125 -0
  39. package/lib/modals/ReorderDashboardModal.js.map +1 -0
  40. package/lib/modals/index.d.ts +4 -0
  41. package/lib/modals/index.js +15 -0
  42. package/lib/modals/index.js.map +1 -0
  43. package/lib/primitives/ButtonPrimitive.d.ts +9 -0
  44. package/lib/primitives/ButtonPrimitive.js +25 -0
  45. package/lib/primitives/ButtonPrimitive.js.map +1 -0
  46. package/lib/primitives/HeaderPrimitive.d.ts +8 -0
  47. package/lib/primitives/HeaderPrimitive.js +12 -0
  48. package/lib/primitives/HeaderPrimitive.js.map +1 -0
  49. package/lib/primitives/ModalPrimitive.d.ts +10 -0
  50. package/lib/primitives/ModalPrimitive.js +49 -0
  51. package/lib/primitives/ModalPrimitive.js.map +1 -0
  52. package/lib/primitives/SecondaryButtonPrimitive.d.ts +9 -0
  53. package/lib/primitives/SecondaryButtonPrimitive.js +25 -0
  54. package/lib/primitives/SecondaryButtonPrimitive.js.map +1 -0
  55. package/lib/primitives/SelectPrimitive.d.ts +14 -0
  56. package/lib/primitives/SelectPrimitive.js +39 -0
  57. package/lib/primitives/SelectPrimitive.js.map +1 -0
  58. package/lib/primitives/TextInputPrimitive.d.ts +10 -0
  59. package/lib/primitives/TextInputPrimitive.js +26 -0
  60. package/lib/primitives/TextInputPrimitive.js.map +1 -0
  61. package/lib/primitives/index.d.ts +6 -0
  62. package/lib/primitives/index.js +19 -0
  63. package/lib/primitives/index.js.map +1 -0
  64. package/lib/public_components/DashboardBuilder.d.ts +5 -0
  65. package/lib/public_components/DashboardBuilder.js +164 -0
  66. package/lib/public_components/DashboardBuilder.js.map +1 -0
  67. package/lib/public_components/DashboardManager.d.ts +5 -0
  68. package/lib/public_components/DashboardManager.js +241 -0
  69. package/lib/public_components/DashboardManager.js.map +1 -0
  70. package/lib/public_components/SQLViewManager.d.ts +4 -0
  71. package/lib/public_components/SQLViewManager.js +391 -0
  72. package/lib/public_components/SQLViewManager.js.map +1 -0
  73. package/package.json +3 -2
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ interface EditDashboardsModalProps {
3
+ ModalComponent: React.ComponentType<any>;
4
+ TextInputComponent: React.ComponentType<any>;
5
+ isOpen: boolean;
6
+ setIsOpen: (isOpen: boolean) => void;
7
+ clientId: string;
8
+ ButtonComponent: React.ComponentType<any>;
9
+ SecondaryButtonComponent: React.ComponentType<any>;
10
+ openEditFilterModal: (dashboardName: string) => void;
11
+ openEditOrderModal: (dashboardName: string) => void;
12
+ openAddDashboardModal: () => void;
13
+ HeaderComponent: React.ComponentType<any>;
14
+ setDashboardData: (dashboardData: any) => void;
15
+ dashboards: any[];
16
+ getDashNames: () => void;
17
+ }
18
+ export default function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }: EditDashboardsModalProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const Admin_1 = require("../Admin");
5
+ function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }) {
6
+ // const [dashboards, setDashboards] = useState([]);
7
+ // useEffect(() => {
8
+ // async function getDashboards(clientId) {
9
+ // const url = `https://quill-344421.uc.r.appspot.com/dashnames/${clientId}/`;
10
+ // const response2 = await fetch(url, {
11
+ // method: "GET",
12
+ // headers: {
13
+ // Authorization: "Bearer ", // Ensure you append your token after 'Bearer ' if needed
14
+ // },
15
+ // });
16
+ // // If you need to retrieve the JSON data from the response:
17
+ // const data = await response2.json();
18
+ // setDashboards(data);
19
+ // }
20
+ // if (clientId) {
21
+ // getDashboards(clientId);
22
+ // }
23
+ // }, [clientId]);
24
+ async function handleDeleteDashboard(dashboardName) {
25
+ const url = `https://quill-344421.uc.r.appspot.com/dashdelete/${clientId}/`;
26
+ const body = {
27
+ name: dashboardName,
28
+ };
29
+ const headers = {
30
+ "Content-Type": "application/json",
31
+ Authorization: `Bearer `,
32
+ };
33
+ try {
34
+ const response = await fetch(url, {
35
+ method: "POST",
36
+ headers: headers,
37
+ body: JSON.stringify(body),
38
+ });
39
+ if (!response.ok) {
40
+ throw new Error(`HTTP error! Status: ${response.status}`);
41
+ }
42
+ const responseData = await response.json();
43
+ if (responseData) {
44
+ getDashNames();
45
+ return;
46
+ }
47
+ }
48
+ catch (e) {
49
+ console.log("error", e);
50
+ }
51
+ }
52
+ return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
53
+ display: "flex",
54
+ flexDirection: "column",
55
+ }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
56
+ fontWeight: "600",
57
+ fontSize: 24,
58
+ paddingBottom: 8,
59
+ color: Admin_1.theme.primaryTextColor,
60
+ }, children: "Dashboards" }), dashboards &&
61
+ dashboards.map((dashboardName, index) => {
62
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
63
+ display: "flex",
64
+ flexDirection: "row",
65
+ paddingTop: 5,
66
+ width: 400,
67
+ paddingBottom: 5,
68
+ alignItems: "center",
69
+ justifyContent: "space-between",
70
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
71
+ display: "flex",
72
+ flexDirection: "column",
73
+ }, children: (0, jsx_runtime_1.jsx)("div", { style: {
74
+ marginRight: 12,
75
+ fontWeight: "600",
76
+ fontSize: 16,
77
+ color: Admin_1.theme.primaryTextColor,
78
+ }, children: dashboardName.name }) }), (0, jsx_runtime_1.jsx)("div", { style: {
79
+ display: "flex",
80
+ flexDirection: "column",
81
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
82
+ display: "flex",
83
+ flexDirection: "row",
84
+ alignItems: "flex-end",
85
+ }, children: [(0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => openEditFilterModal(dashboardName.name), label: "Edit" }), (0, jsx_runtime_1.jsx)("div", { style: { width: 8 } }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => openEditOrderModal(dashboardName.name), label: "Reorder" }), (0, jsx_runtime_1.jsx)("div", { style: { width: 8 } }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => handleDeleteDashboard(dashboardName.name), label: "Delete" })] }) })] }, dashboardName + index));
86
+ })] }), (0, jsx_runtime_1.jsx)("div", { style: {
87
+ display: "flex",
88
+ flexDirection: "column",
89
+ justifyContent: "center",
90
+ marginTop: 20,
91
+ }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: openAddDashboardModal, label: "Create new dashboard" }) })] }) }));
92
+ }
93
+ exports.default = EditDashboardsModal;
94
+ //# sourceMappingURL=EditDashboardsModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditDashboardsModal.js","sourceRoot":"","sources":["../../src/modals/EditDashboardsModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import { QuillTheme } from '../Admin';
3
+ interface PromoteDashModalProps {
4
+ ButtonComponent: React.ComponentType<any>;
5
+ ModalComponent: React.ComponentType<any>;
6
+ isOpen: boolean;
7
+ setIsOpen: (isOpen: boolean) => void;
8
+ clientId: string;
9
+ client: any;
10
+ dashboards: any[];
11
+ clients: any[];
12
+ selectedDashboard: string;
13
+ theme: QuillTheme;
14
+ }
15
+ export default function PromoteDashModal({ ButtonComponent, ModalComponent, isOpen, setIsOpen, clientId, client, dashboards, clients, selectedDashboard, theme, }: PromoteDashModalProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const components_1 = require("../components");
5
+ const react_1 = require("react");
6
+ const createStyles = (theme) => ({
7
+ modalContent: {
8
+ display: "flex",
9
+ flexDirection: "column",
10
+ },
11
+ modalHeader: {
12
+ fontWeight: "600",
13
+ fontSize: 24,
14
+ paddingBottom: 8,
15
+ color: theme.primaryTextColor,
16
+ },
17
+ container: {
18
+ display: "flex",
19
+ flexDirection: "column",
20
+ justifyContent: "flex-start",
21
+ alignItems: "flex-start",
22
+ gap: "5px",
23
+ marginTop: 20,
24
+ },
25
+ multiContainer: {
26
+ display: "flex",
27
+ flexDirection: "row",
28
+ justifyContent: "space-between",
29
+ alignItems: "center",
30
+ gap: "20px",
31
+ marginTop: 20,
32
+ },
33
+ header: {
34
+ fontSize: theme.fontSize,
35
+ paddingTop: '0px',
36
+ marginTop: '0px',
37
+ marginBottom: '0px',
38
+ fontWeight: theme.labelFontWeight,
39
+ color: theme.primaryTextColor
40
+ },
41
+ text: {
42
+ fontSize: theme.fontSize,
43
+ paddingTop: '0px',
44
+ marginTop: '0px',
45
+ marginBottom: '4px',
46
+ fontWeight: theme.labelFontWeight,
47
+ color: theme.secondaryTextColor
48
+ },
49
+ group: {
50
+ display: "flex",
51
+ flexDirection: "column",
52
+ alignItems: "start",
53
+ gap: "5px"
54
+ },
55
+ button: {
56
+ flexGrow: 1,
57
+ fontSize: theme.fontSize,
58
+ fontWeight: '600',
59
+ padding: "10px 20px",
60
+ marginTop: 20,
61
+ backgroundColor: theme.primaryButtonColor,
62
+ borderRadius: "5px",
63
+ color: theme.primaryButtonTextColor,
64
+ },
65
+ });
66
+ function PromoteDashModal({ ButtonComponent, ModalComponent, isOpen, setIsOpen, clientId, client, dashboards, clients, selectedDashboard, theme, }) {
67
+ const [modalSelectedDashboard, setModalSelectedDashboard] = (0, react_1.useState)();
68
+ const [selectedToClient, setSelectedToClient] = (0, react_1.useState)(clients[0]);
69
+ const styles = createStyles(theme);
70
+ (0, react_1.useEffect)(() => {
71
+ setModalSelectedDashboard(dashboards.find(dashboard => dashboard.name === selectedDashboard));
72
+ }, [selectedDashboard]);
73
+ const handlePromote = async () => {
74
+ try {
75
+ const response = await fetch('https://quill-344421.uc.r.appspot.com/promote_dashboard/', {
76
+ method: 'POST',
77
+ headers: {
78
+ 'Content-Type': 'application/json',
79
+ 'Authorization': 'Bearer '
80
+ },
81
+ body: JSON.stringify({
82
+ dashboardName: modalSelectedDashboard.name,
83
+ fromClientId: clientId,
84
+ toClientId: selectedToClient._id,
85
+ }),
86
+ });
87
+ if (!response.ok) {
88
+ throw new Error('API request failed');
89
+ }
90
+ const data = await response.json();
91
+ }
92
+ catch (error) {
93
+ console.error('Promotion failed:', error);
94
+ }
95
+ };
96
+ return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: styles.modalContent, children: (0, jsx_runtime_1.jsx)("h1", { style: styles.modalHeader, children: "Promote Changes" }) }), (0, jsx_runtime_1.jsxs)("div", { style: styles.container, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "Dashboard" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: dashboards, setSelected: setModalSelectedDashboard, selected: modalSelectedDashboard, theme: theme }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: styles.multiContainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "From" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: [client], setSelected: () => { }, selected: client, theme: theme, disabled: true }) })] }), (0, jsx_runtime_1.jsx)("span", {}), (0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "To" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: clients.filter((c) => c.name !== client.name), setSelected: setSelectedToClient, selected: selectedToClient, theme: theme }) })] })] }), (0, jsx_runtime_1.jsx)("div", { style: {
97
+ display: 'flex',
98
+ justifyContent: 'center',
99
+ alignItems: 'center'
100
+ }, children: (0, jsx_runtime_1.jsx)("button", { style: styles.button, onClick: () => { handlePromote(); setIsOpen(false); }, children: "Promote Dashboard" }) })] }) }));
101
+ }
102
+ exports.default = PromoteDashModal;
103
+ //# sourceMappingURL=PromoteDashModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromoteDashModal.js","sourceRoot":"","sources":["../../src/modals/PromoteDashModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ interface PromoteViewModalProps {
3
+ ModalComponent: React.ComponentType<any>;
4
+ isOpen: boolean;
5
+ setIsOpen: (isOpen: boolean) => void;
6
+ clientId: string;
7
+ client: any;
8
+ views: any[];
9
+ clients: any[];
10
+ }
11
+ export default function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client, clients, views, }: PromoteViewModalProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const Admin_1 = require("../Admin");
5
+ const components_1 = require("../components");
6
+ const react_1 = require("react");
7
+ const createStyles = (theme) => ({
8
+ modalContent: {
9
+ display: "flex",
10
+ flexDirection: "column",
11
+ },
12
+ modalHeader: {
13
+ fontWeight: "600",
14
+ fontSize: 24,
15
+ paddingBottom: 8,
16
+ color: theme.primaryTextColor,
17
+ },
18
+ container: {
19
+ display: "flex",
20
+ flexDirection: "column",
21
+ justifyContent: "flex-start",
22
+ alignItems: "flex-start",
23
+ gap: "5px",
24
+ marginTop: 20,
25
+ },
26
+ multiContainer: {
27
+ display: "flex",
28
+ flexDirection: "row",
29
+ justifyContent: "space-between",
30
+ alignItems: "center",
31
+ gap: "20px",
32
+ marginTop: 20,
33
+ },
34
+ header: {
35
+ fontSize: theme.fontSize,
36
+ paddingTop: '0px',
37
+ marginTop: '0px',
38
+ marginBottom: '0px',
39
+ fontWeight: theme.labelFontWeight,
40
+ color: theme.primaryTextColor
41
+ },
42
+ text: {
43
+ fontSize: theme.fontSize,
44
+ paddingTop: '0px',
45
+ marginTop: '0px',
46
+ marginBottom: '4px',
47
+ fontWeight: theme.labelFontWeight,
48
+ color: theme.secondaryTextColor
49
+ },
50
+ group: {
51
+ display: "flex",
52
+ flexDirection: "column",
53
+ alignItems: "start",
54
+ gap: "5px"
55
+ },
56
+ button: {
57
+ flexGrow: 1,
58
+ fontSize: theme.fontSize,
59
+ fontWeight: '600',
60
+ padding: "10px 20px",
61
+ marginTop: 20,
62
+ backgroundColor: theme.primaryButtonColor,
63
+ borderRadius: "5px",
64
+ color: theme.primaryButtonTextColor,
65
+ },
66
+ });
67
+ function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client, clients, views, }) {
68
+ const [modalSelectedView, setModalSelectedView] = (0, react_1.useState)();
69
+ const [selectedToClient, setSelectedToClient] = (0, react_1.useState)(clients[0]);
70
+ const styles = createStyles(Admin_1.theme);
71
+ const handlePromote = async () => {
72
+ try {
73
+ const response = await fetch('https://quill-344421.uc.r.appspot.com/promote_view/', {
74
+ method: 'POST',
75
+ headers: {
76
+ 'Content-Type': 'application/json',
77
+ 'Authorization': 'Bearer '
78
+ },
79
+ body: JSON.stringify({
80
+ viewName: modalSelectedView.name,
81
+ fromClientId: clientId,
82
+ toClientId: selectedToClient._id,
83
+ }),
84
+ });
85
+ if (!response.ok) {
86
+ throw new Error('API request failed');
87
+ }
88
+ const data = await response.json();
89
+ }
90
+ catch (error) {
91
+ console.error('Promotion failed:', error);
92
+ }
93
+ };
94
+ return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: styles.modalContent, children: (0, jsx_runtime_1.jsx)("h1", { style: styles.modalHeader, children: "Promote Changes" }) }), (0, jsx_runtime_1.jsxs)("div", { style: styles.container, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "SQL View:" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: views, setSelected: setModalSelectedView, selected: modalSelectedView, theme: Admin_1.theme }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: styles.multiContainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "From:" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: [client], setSelected: () => { }, selected: client, theme: Admin_1.theme, disabled: true }) })] }), (0, jsx_runtime_1.jsx)("span", {}), (0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "To:" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: clients.filter((c) => c.name !== client.name), setSelected: setSelectedToClient, selected: selectedToClient, theme: Admin_1.theme }) })] })] }), (0, jsx_runtime_1.jsx)("div", { style: {
95
+ display: 'flex',
96
+ justifyContent: 'center',
97
+ alignItems: 'center'
98
+ }, children: (0, jsx_runtime_1.jsx)("button", { style: styles.button, onClick: () => { handlePromote(); setIsOpen(false); }, children: "Promote SQL View" }) })] }) }));
99
+ }
100
+ exports.default = PromoteViewModal;
101
+ //# sourceMappingURL=PromoteViewModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromoteViewModal.js","sourceRoot":"","sources":["../../src/modals/PromoteViewModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export default function ReorderDashboardModal({ isOpen, setIsOpen, ModalComponent, ButtonComponent, selectedDashboard, organizationId, }: {
2
+ isOpen: any;
3
+ setIsOpen: any;
4
+ ModalComponent: any;
5
+ ButtonComponent: any;
6
+ selectedDashboard: any;
7
+ organizationId: any;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
5
+ const AdminProvider_1 = require("../AdminProvider");
6
+ const Admin_1 = require("../Admin");
7
+ function ReorderDashboardModal({ isOpen, setIsOpen, ModalComponent, ButtonComponent, selectedDashboard, organizationId, }) {
8
+ // const [client] = useContext(ClientContext);
9
+ const [dashboardItems, setDashboardItems] = (0, react_1.useState)([]);
10
+ const [loading, setLoading] = (0, react_1.useState)(false);
11
+ const [chartType, setChartType] = (0, react_1.useState)("metric");
12
+ const [doesDashboardHaveTables, setDoesDashboardHaveTables] = (0, react_1.useState)(false);
13
+ const [doesDashboardHaveCharts, setDoesDashboardHaveCharts] = (0, react_1.useState)(false);
14
+ const [doesDashboardHaveMetrics, setDoesDashboardHaveMetrics] = (0, react_1.useState)(false);
15
+ const [orderArray, setOrderArray] = (0, react_1.useState)([]);
16
+ const [itemMap, setItemMap] = (0, react_1.useState)(null);
17
+ const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
18
+ (0, react_1.useEffect)(() => {
19
+ async function getDashboardItems() {
20
+ const { _id, environment } = state.client;
21
+ setLoading(true);
22
+ const url = new URL("https://quill-344421.uc.r.appspot.com/dashconfig");
23
+ // Add query parameters to the URL
24
+ url.search = new URLSearchParams({
25
+ publicKey: _id,
26
+ orgId: organizationId,
27
+ name: selectedDashboard,
28
+ }).toString();
29
+ const response = await fetch(url, {
30
+ method: "GET",
31
+ headers: {
32
+ environment: environment || undefined,
33
+ },
34
+ });
35
+ const responseData = await response.json();
36
+ let flattened = [];
37
+ for (let key in responseData.sections) {
38
+ flattened = flattened.concat(responseData.sections[key]);
39
+ }
40
+ setDashboardItems(flattened);
41
+ setLoading(false);
42
+ }
43
+ if (selectedDashboard && state.client) {
44
+ getDashboardItems();
45
+ }
46
+ }, [selectedDashboard, state.client]);
47
+ (0, react_1.useEffect)(() => {
48
+ const itemMap = new Map();
49
+ dashboardItems.forEach((item) => {
50
+ if (item.chartType === "table") {
51
+ setDoesDashboardHaveTables(true);
52
+ }
53
+ else if (item.chartType === "metric") {
54
+ setDoesDashboardHaveMetrics(true);
55
+ }
56
+ else {
57
+ setDoesDashboardHaveCharts(true);
58
+ }
59
+ itemMap.set(item._id, item);
60
+ });
61
+ setItemMap(itemMap);
62
+ }, [dashboardItems]);
63
+ const closeModal = () => {
64
+ setIsOpen(false);
65
+ };
66
+ return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { style: {
67
+ display: "flex",
68
+ flexDirection: "column",
69
+ position: "relative",
70
+ minWidth: 700,
71
+ maxWidth: 700,
72
+ minHeight: 700,
73
+ // overflowY: "scroll",
74
+ }, 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, initialItems: dashboardItems.filter((elem) => chartType === "chart"
75
+ ? elem.chartType !== "metric" && elem.chartType !== "table"
76
+ : elem.chartType === chartType), ButtonComponent: ButtonComponent, closeModal: closeModal })), (0, jsx_runtime_1.jsxs)("div", { style: {
77
+ height: 80,
78
+ background: "white",
79
+ width: 700,
80
+ position: "absolute",
81
+ top: -20,
82
+ left: 0,
83
+ right: 20,
84
+ paddingTop: 20,
85
+ display: "flex",
86
+ flexDirection: "row",
87
+ alignItems: "center",
88
+ justifyContent: "space-between",
89
+ }, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 22, fontWeight: 600 }, children: "Reorder items" }), (0, jsx_runtime_1.jsxs)("div", { style: {
90
+ background: "#f7f7f7",
91
+ borderRadius: 6,
92
+ height: 32,
93
+ display: "flex",
94
+ flexDirection: "row",
95
+ alignItems: "center",
96
+ paddingLeft: 4,
97
+ paddingRight: 4,
98
+ }, children: [doesDashboardHaveMetrics && ((0, jsx_runtime_1.jsx)("button", { style: {
99
+ background: chartType === "metric" ? "white" : undefined,
100
+ color: chartType === "metric" ? "#384151" : "#677389",
101
+ fontWeight: chartType === "metric" ? "600" : "500",
102
+ borderRadius: 4,
103
+ paddingLeft: 6,
104
+ paddingRight: 6,
105
+ fontSize: 16,
106
+ }, onClick: () => setChartType("metric"), children: "Metrics" })), doesDashboardHaveCharts && ((0, jsx_runtime_1.jsx)("button", { style: {
107
+ background: chartType === "chart" ? "white" : undefined,
108
+ color: chartType === "chart" ? "#384151" : "#677389",
109
+ fontWeight: chartType === "chart" ? "600" : "500",
110
+ borderRadius: 4,
111
+ paddingLeft: 6,
112
+ paddingRight: 6,
113
+ fontSize: 16,
114
+ }, onClick: () => setChartType("chart"), children: "Charts" })), doesDashboardHaveTables && ((0, jsx_runtime_1.jsx)("button", { style: {
115
+ background: chartType === "table" ? "white" : undefined,
116
+ color: chartType === "table" ? "#384151" : "#677389",
117
+ fontWeight: chartType === "table" ? "600" : "500",
118
+ borderRadius: 4,
119
+ paddingLeft: 6,
120
+ paddingRight: 6,
121
+ fontSize: 16,
122
+ }, onClick: () => setChartType("table"), children: "Tables" }))] })] })] }) }));
123
+ }
124
+ exports.default = ReorderDashboardModal;
125
+ //# sourceMappingURL=ReorderDashboardModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReorderDashboardModal.js","sourceRoot":"","sources":["../../src/modals/ReorderDashboardModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { default as PromoteDashModal } from './PromoteDashModal';
2
+ export { default as EditDashboardsModal } from './EditDashboardsModal';
3
+ export { default as PromoteViewModal } from './PromoteViewModal';
4
+ export { default as ReorderDashboardModal } from './ReorderDashboardModal';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ReorderDashboardModal = exports.PromoteViewModal = exports.EditDashboardsModal = exports.PromoteDashModal = void 0;
7
+ var PromoteDashModal_1 = require("./PromoteDashModal");
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
+ var PromoteViewModal_1 = require("./PromoteViewModal");
12
+ Object.defineProperty(exports, "PromoteViewModal", { enumerable: true, get: function () { return __importDefault(PromoteViewModal_1).default; } });
13
+ var ReorderDashboardModal_1 = require("./ReorderDashboardModal");
14
+ Object.defineProperty(exports, "ReorderDashboardModal", { enumerable: true, get: function () { return __importDefault(ReorderDashboardModal_1).default; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modals/index.tsx"],"names":[],"mappings":";;;;;;AAAA,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,iEAA2E;AAAlE,+IAAA,OAAO,OAAyB"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { QuillTheme } from '../Admin';
3
+ type ButtonPrimitiveProps = {
4
+ onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
5
+ label: string;
6
+ theme?: QuillTheme;
7
+ };
8
+ declare const ButtonPrimitive: React.FC<ButtonPrimitiveProps>;
9
+ export default ButtonPrimitive;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const Admin_1 = require("../Admin");
5
+ const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme }) => {
6
+ return ((0, jsx_runtime_1.jsx)("button", { style: {
7
+ height: 36,
8
+ background: theme?.primaryButtonColor,
9
+ color: theme?.backgroundColor,
10
+ display: "flex",
11
+ borderRadius: 6,
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ outline: "none",
15
+ cursor: "pointer",
16
+ fontFamily: theme?.fontFamily,
17
+ fontWeight: theme?.buttonFontWeight || 600,
18
+ border: "none",
19
+ fontSize: 14,
20
+ paddingLeft: 20,
21
+ paddingRight: 20,
22
+ }, onClick: onClick, children: label }));
23
+ };
24
+ exports.default = ButtonPrimitive;
25
+ //# sourceMappingURL=ButtonPrimitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonPrimitive.js","sourceRoot":"","sources":["../../src/primitives/ButtonPrimitive.tsx"],"names":[],"mappings":";;;AACA,oCAA6D;AAQ7D,MAAM,eAAe,GAAmC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,aAAY,EAAE,EAAE,EAAE;IACjG,OAAO,CACH,mCACI,KAAK,EAAE;YACH,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,KAAK,EAAE,kBAAkB;YACrC,KAAK,EAAE,KAAK,EAAE,eAAe;YAC7B,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,KAAK,EAAE,UAAU;YAC7B,UAAU,EAAE,KAAK,EAAE,gBAAgB,IAAI,GAAG;YAC1C,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACnB,EACD,OAAO,EAAE,OAAO,YAEf,KAAK,GACD,CACZ,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { QuillTheme } from '../Admin';
3
+ type HeaderPrimitiveProps = {
4
+ label: string;
5
+ theme?: QuillTheme;
6
+ };
7
+ declare const HeaderPrimitive: React.FC<HeaderPrimitiveProps>;
8
+ export default HeaderPrimitive;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const Admin_1 = require("../Admin");
5
+ const HeaderPrimitive = ({ label, theme = Admin_1.theme, }) => ((0, jsx_runtime_1.jsx)("h1", { style: {
6
+ color: theme?.primaryTextColor,
7
+ fontFamily: theme?.fontFamily,
8
+ fontWeight: theme?.buttonFontWeight || 600,
9
+ fontSize: 24,
10
+ }, children: label }));
11
+ exports.default = HeaderPrimitive;
12
+ //# sourceMappingURL=HeaderPrimitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderPrimitive.js","sourceRoot":"","sources":["../../src/primitives/HeaderPrimitive.tsx"],"names":[],"mappings":";;;AACA,oCAA6D;AAO7D,MAAM,eAAe,GAAmC,CAAC,EACrD,KAAK,EACL,KAAK,GAAG,aAAY,GACvB,EAAE,EAAE,CAAC,CACF,+BACI,KAAK,EAAE;QACH,KAAK,EAAE,KAAK,EAAE,gBAAgB;QAC9B,UAAU,EAAE,KAAK,EAAE,UAAU;QAC7B,UAAU,EAAE,KAAK,EAAE,gBAAgB,IAAI,GAAG;QAC1C,QAAQ,EAAE,EAAE;KACf,YAEA,KAAK,GACL,CACR,CAAC;AAEF,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { QuillTheme } from '../Admin';
3
+ type ModalPrimitiveProps = {
4
+ isOpen: boolean;
5
+ close: () => void;
6
+ children: React.ReactNode;
7
+ theme?: QuillTheme;
8
+ };
9
+ declare const ModalPrimitive: React.FC<ModalPrimitiveProps>;
10
+ export default ModalPrimitive;