@evenicanpm/admin-integrate 1.1.0 → 1.2.2

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 (114) hide show
  1. package/documents/Process/fragments.ts +13 -0
  2. package/documents/Process/list.ts +27 -0
  3. package/documents/ProcessSchedule/fragments.ts +24 -0
  4. package/documents/ProcessSchedule/read.ts +12 -0
  5. package/documents/ProcessScheduleGroup/fragments.ts +29 -0
  6. package/documents/ProcessScheduleGroup/read.ts +12 -0
  7. package/documents/ScheduledProcess/fragments.ts +24 -0
  8. package/documents/ScheduledProcess/list.ts +27 -0
  9. package/package.json +21 -17
  10. package/src/api/Integrations/queries/get-process.query.ts +48 -0
  11. package/src/api/Integrations/queries/get-process.server.ts +9 -0
  12. package/src/api/Integrations/queries/index.ts +1 -0
  13. package/src/api/dashboard/queries/get-process-executions.query.ts +33 -36
  14. package/src/api/dashboard/queries/get-process-executions.server.ts +4 -4
  15. package/src/api/scheduler/queries/get-process-schedule-group-details.query.ts +45 -0
  16. package/src/api/scheduler/queries/get-process-schedule-group-details.server.ts +14 -0
  17. package/src/api/scheduler/queries/get-process-schedule.query.ts +45 -0
  18. package/src/api/scheduler/queries/get-process-schedule.server.ts +14 -0
  19. package/src/api/scheduler/queries/get-scheduled-processes.query.ts +45 -0
  20. package/src/api/scheduler/queries/get-scheduled-processes.server.ts +11 -0
  21. package/src/api/scheduler/queries/index.ts +3 -0
  22. package/src/components/breadcrumbs/breadcrumbs.tsx +23 -26
  23. package/src/components/breadcrumbs/index.ts +1 -1
  24. package/src/components/breadcrumbs/types.tsx +4 -0
  25. package/src/components/button/outlined-icon-button.tsx +26 -38
  26. package/src/components/core/date-time-popover.tsx +32 -0
  27. package/src/components/core/edited-typography.tsx +20 -0
  28. package/src/components/core/index.ts +3 -0
  29. package/src/components/core/loading.tsx +6 -6
  30. package/src/components/core/title-edit.tsx +122 -0
  31. package/src/components/dashboard-list/dashboard-list-row.tsx +114 -115
  32. package/src/components/dashboard-list/dashboard-list.tsx +119 -119
  33. package/src/components/data-table/table-header.tsx +85 -81
  34. package/src/components/data-table/table-pagination.tsx +27 -27
  35. package/src/components/data-table/table-row.tsx +14 -14
  36. package/src/components/data-table/table-skeleton.tsx +34 -34
  37. package/src/components/execution/execution-filter.ts +22 -22
  38. package/src/components/execution/execution-status-icon.tsx +16 -17
  39. package/src/components/execution/execution-tag.tsx +81 -80
  40. package/src/components/footer/footer.tsx +34 -34
  41. package/src/components/header/dashboard-list-header.tsx +64 -63
  42. package/src/components/header/execution-details-header.tsx +102 -129
  43. package/src/components/header/header.tsx +27 -27
  44. package/src/components/header/index.ts +1 -0
  45. package/src/components/header/integration-details-header.tsx +99 -0
  46. package/src/components/icons/up-down.tsx +15 -15
  47. package/src/components/integration-list/index.ts +2 -0
  48. package/src/components/integration-list/integration-filter.ts +21 -0
  49. package/src/components/integration-list/integration-status-icon.tsx +33 -0
  50. package/src/components/integration-list/integration-tag.tsx +77 -0
  51. package/src/components/integration-view/edges/default-edge.tsx +18 -17
  52. package/src/components/integration-view/elk-layout-options.ts +26 -26
  53. package/src/components/integration-view/elk-types.ts +16 -12
  54. package/src/components/integration-view/flow-types.tsx +5 -5
  55. package/src/components/integration-view/integration-view.tsx +132 -130
  56. package/src/components/integration-view/nodes/base-node.tsx +50 -0
  57. package/src/components/integration-view/nodes/connection-node.tsx +8 -8
  58. package/src/components/integration-view/nodes/entry-node.tsx +8 -8
  59. package/src/components/integration-view/nodes/group-node.tsx +47 -6
  60. package/src/components/integration-view/nodes/task-node.tsx +58 -13
  61. package/src/components/integration-view/temp-data/initialElements.tsx +224 -0
  62. package/src/components/integration-view/types.ts +6 -6
  63. package/src/components/layouts/main-layout.tsx +13 -13
  64. package/src/components/layouts/root-container.tsx +25 -25
  65. package/src/components/link-cards/link-card.tsx +23 -23
  66. package/src/components/link-cards/styles.ts +15 -15
  67. package/src/components/list-filter/date-filter.tsx +41 -45
  68. package/src/components/list-filter/date-range-filter.tsx +78 -77
  69. package/src/components/list-filter/list-filter-types.ts +38 -38
  70. package/src/components/list-filter/list-filter.tsx +363 -354
  71. package/src/components/list-filter/multi-select-filter.tsx +94 -95
  72. package/src/components/list-filter/select-filter.tsx +67 -64
  73. package/src/components/scheduler/day-selector.tsx +174 -0
  74. package/src/components/scheduler/day-tag.tsx +73 -0
  75. package/src/components/scheduler/index.ts +4 -0
  76. package/src/components/scheduler/schedule-filter.ts +25 -0
  77. package/src/components/scheduler/schedule-icon.tsx +87 -0
  78. package/src/components/scheduler/scheduler-types.ts +40 -0
  79. package/src/hooks/use-breadcrumbs.ts +31 -31
  80. package/src/hooks/use-recurrence.tsx +13 -0
  81. package/src/hooks/use-timestamp.tsx +21 -21
  82. package/src/pages/dashboard/dashboard-link-cards.tsx +99 -99
  83. package/src/pages/dashboard/dashboard-list-sections.tsx +130 -125
  84. package/src/pages/dashboard/dashboard.tsx +6 -6
  85. package/src/pages/execution-details/execution-details.tsx +23 -29
  86. package/src/pages/executions/executions-list/executions-list-row.tsx +101 -104
  87. package/src/pages/executions/executions-list/executions-list-table.tsx +45 -53
  88. package/src/pages/executions/executions-list/executions-list.tsx +219 -212
  89. package/src/pages/executions/executions.tsx +67 -72
  90. package/src/pages/integrations/integration-list/index.ts +1 -0
  91. package/src/pages/integrations/integration-list/integration-list-row.tsx +147 -0
  92. package/src/pages/integrations/integration-list/integration-list-table.tsx +78 -0
  93. package/src/pages/integrations/integration-list/integration-list.tsx +262 -0
  94. package/src/pages/integrations/integrations.tsx +83 -28
  95. package/src/pages/scheduler/schedule-drawer/edited/edited-types.ts +17 -0
  96. package/src/pages/scheduler/schedule-drawer/edited/index.ts +1 -0
  97. package/src/pages/scheduler/schedule-drawer/index.ts +1 -0
  98. package/src/pages/scheduler/schedule-drawer/schedule-details-integrations.tsx +227 -0
  99. package/src/pages/scheduler/schedule-drawer/schedule-details-main.tsx +292 -0
  100. package/src/pages/scheduler/schedule-drawer/schedule-details-name.tsx +77 -0
  101. package/src/pages/scheduler/schedule-drawer/schedule-details-skeleton.tsx +64 -0
  102. package/src/pages/scheduler/schedule-drawer/schedule-details.tsx +42 -0
  103. package/src/pages/scheduler/schedule-drawer/schedule-drawer-buttons.tsx +72 -0
  104. package/src/pages/scheduler/schedule-drawer/schedule-drawer-group.tsx +103 -0
  105. package/src/pages/scheduler/schedule-drawer/schedule-drawer-legacy.tsx +94 -0
  106. package/src/pages/scheduler/schedule-drawer/schedule-drawer.tsx +101 -0
  107. package/src/pages/scheduler/schedule-drawer/sortable-integration-row.tsx +93 -0
  108. package/src/pages/scheduler/scheduler.tsx +106 -30
  109. package/src/pages/scheduler/schedules-list/index.ts +1 -0
  110. package/src/pages/scheduler/schedules-list/schedules-list-row.tsx +235 -0
  111. package/src/pages/scheduler/schedules-list/schedules-list-table.tsx +74 -0
  112. package/src/pages/scheduler/schedules-list/schedules-list.tsx +280 -0
  113. package/tsconfig.json +29 -26
  114. package/src/components/integration-view/temp-data/initialElements.ts +0 -238
@@ -6,96 +6,97 @@ import React, { useState } from "react";
6
6
  import { DateRangeFilter, FilterProps } from "./list-filter-types";
7
7
 
8
8
  const DateRangeFilterComponent: React.FC<FilterProps<DateRangeFilter>> = ({
9
- filter,
10
- onSet,
11
- onError,
12
- current,
9
+ filter,
10
+ onSet,
11
+ onError,
12
+ current,
13
13
  }) => {
14
- const t = useTranslations("Integrate.Filter");
15
- const theme = useTheme();
16
- const styles = getStyles(theme);
14
+ const t = useTranslations("Integrate");
15
+ const theme = useTheme();
16
+ const styles = getStyles(theme);
17
17
 
18
- const [value, setValue] = useState(current);
19
- const [error, setError] = useState<{ start?: string; end?: string } | null>(
20
- null,
21
- );
18
+ const [value, setValue] = useState(current);
19
+ const [error, setError] = useState<{
20
+ start?: string | null;
21
+ end?: string | null;
22
+ } | null>(null);
22
23
 
23
- const updateValue = (part: "start" | "end", date: null | Date | string) => {
24
- const dateValue =
25
- typeof date !== "string" && !isNaN(date?.getTime())
26
- ? date.toISOString()
27
- : null;
24
+ const updateValue = (part: "start" | "end", date: null | Date | string) => {
25
+ const dateValue: string | null =
26
+ date !== null && typeof date !== "string" && !isNaN(date?.getTime())
27
+ ? date.toISOString()
28
+ : null;
28
29
 
29
- let dateRangeValue = {
30
- start: null,
31
- end: null,
32
- ...value,
33
- [part]: dateValue,
34
- };
30
+ let dateRangeValue: typeof current = {
31
+ start: null,
32
+ end: null,
33
+ ...value,
34
+ [part]: dateValue,
35
+ };
35
36
 
36
- if (!dateRangeValue.start && !dateRangeValue.end) dateRangeValue = null;
37
+ if (!dateRangeValue.start && !dateRangeValue.end) dateRangeValue = null;
37
38
 
38
- setValue(dateRangeValue);
39
- onSet(dateRangeValue);
40
- };
39
+ setValue(dateRangeValue);
40
+ onSet(dateRangeValue);
41
+ };
41
42
 
42
- const updateError = (part: "start" | "end", newError: string | null) => {
43
- let errorValue = {
44
- start: null,
45
- end: null,
46
- ...(error ? error : {}),
47
- [part]: newError ? t("invalidDate") : null,
48
- };
43
+ const updateError = (part: "start" | "end", newError: string | null) => {
44
+ let errorValue: typeof error = {
45
+ start: null,
46
+ end: null,
47
+ ...(error ? error : {}),
48
+ [part]: newError ? t("Filter.invalidDate") : null,
49
+ };
49
50
 
50
- if (!errorValue.start && !errorValue.end) errorValue = null;
51
+ if (!errorValue.start && !errorValue.end) errorValue = null;
51
52
 
52
- setError(errorValue);
53
- onError(!!errorValue);
54
- };
53
+ setError(errorValue);
54
+ onError(!!errorValue);
55
+ };
55
56
 
56
- return (
57
- <FormControl>
58
- <Typography>{filter.label}</Typography>
59
- <Box sx={styles.dateRange}>
60
- <DatePicker
61
- value={value?.start ? new Date(value.start) : null}
62
- label={t("dateStartLabel")}
63
- onChange={(v) => updateValue("start", v)}
64
- onError={(e) => updateError("start", e)}
65
- slotProps={{
66
- field: { clearable: true },
67
- textField: {
68
- helperText: error?.start || "",
69
- },
70
- }}
71
- maxDate={(value?.end && new Date(value.end)) || ""}
72
- />
73
- <DatePicker
74
- value={value?.end ? new Date(value.end) : null}
75
- label={t("dateEndLabel")}
76
- onChange={(v) => updateValue("end", v)}
77
- onError={(e) => updateError("end", e)}
78
- slotProps={{
79
- field: { clearable: true },
80
- textField: {
81
- helperText: error?.end || "",
82
- },
83
- }}
84
- minDate={(value?.start && new Date(value.start)) || ""}
85
- />
86
- </Box>
87
- </FormControl>
88
- );
57
+ return (
58
+ <FormControl>
59
+ <Typography>{t(filter.label)}</Typography>
60
+ <Box sx={styles.dateRange}>
61
+ <DatePicker
62
+ value={value?.start ? new Date(value.start) : null}
63
+ label={t("Filter.dateStartLabel")}
64
+ onChange={(v) => updateValue("start", v)}
65
+ onError={(e) => updateError("start", e)}
66
+ slotProps={{
67
+ field: { clearable: true },
68
+ textField: {
69
+ helperText: error?.start || "",
70
+ },
71
+ }}
72
+ maxDate={(value?.end && new Date(value.end)) || ""}
73
+ />
74
+ <DatePicker
75
+ value={value?.end ? new Date(value.end) : null}
76
+ label={t("Filter.dateEndLabel")}
77
+ onChange={(v) => updateValue("end", v)}
78
+ onError={(e) => updateError("end", e)}
79
+ slotProps={{
80
+ field: { clearable: true },
81
+ textField: {
82
+ helperText: error?.end || "",
83
+ },
84
+ }}
85
+ minDate={(value?.start && new Date(value.start)) || ""}
86
+ />
87
+ </Box>
88
+ </FormControl>
89
+ );
89
90
  };
90
91
 
91
92
  const getStyles = (theme: Theme) => ({
92
- dateRange: {
93
- display: "flex",
94
- width: "100%",
95
- columnGap: theme.spacing(2),
96
- marginTop: theme.spacing(1),
97
- "& > *": { flex: "1" },
98
- },
93
+ dateRange: {
94
+ display: "flex",
95
+ width: "100%",
96
+ columnGap: theme.spacing(2),
97
+ marginTop: theme.spacing(1),
98
+ "& > *": { flex: "1" },
99
+ },
99
100
  });
100
101
 
101
102
  export default DateRangeFilterComponent;
@@ -1,70 +1,70 @@
1
1
  export interface FilterOption {
2
- id: number | string;
3
- value: string;
2
+ id: number | string;
3
+ value: string;
4
4
  }
5
5
 
6
6
  interface FilterBase {
7
- label: string;
8
- sort?: number;
7
+ label: string;
8
+ sort?: number;
9
9
  }
10
10
 
11
11
  export interface DateFilter extends FilterBase {
12
- type: "date";
13
- value: string | null;
12
+ type: "date";
13
+ value: string | null;
14
14
  }
15
15
 
16
16
  export interface DateRangeFilter extends FilterBase {
17
- type: "dateRange";
18
- value: { start: string | null; end: string | null } | null;
17
+ type: "dateRange";
18
+ value: { start: string | null; end: string | null } | null;
19
19
  }
20
20
 
21
21
  export interface SelectFilter extends FilterBase {
22
- type: "select";
23
- value: [FilterOption] | null;
24
- options: FilterOption[];
22
+ type: "select";
23
+ value: [FilterOption] | null;
24
+ options: FilterOption[];
25
25
  }
26
26
 
27
27
  export interface MultiSelectFilter extends FilterBase {
28
- type: "multiSelect";
29
- value: FilterOption[] | null;
30
- options: FilterOption[];
28
+ type: "multiSelect";
29
+ value: FilterOption[] | null;
30
+ options: FilterOption[];
31
31
  }
32
32
 
33
33
  export interface Filters {
34
- [filterName: string]:
35
- | DateFilter
36
- | DateRangeFilter
37
- | SelectFilter
38
- | MultiSelectFilter;
34
+ [filterName: string]:
35
+ | DateFilter
36
+ | DateRangeFilter
37
+ | SelectFilter
38
+ | MultiSelectFilter;
39
39
  }
40
40
 
41
41
  export type FilterResult<FilterShape extends Filters> = {
42
- [Property in keyof FilterShape]: FilterShape[Property]["value"];
42
+ [Property in keyof FilterShape]: FilterShape[Property]["value"];
43
43
  };
44
44
 
45
45
  export interface ListFilterOutput<FilterShape extends Filters> {
46
- filters: FilterResult<FilterShape>;
47
- search: string | null;
48
- itemsPerPage: number | null;
46
+ filters: FilterResult<FilterShape>;
47
+ search: string | null;
48
+ itemsPerPage: number | null;
49
49
  }
50
50
 
51
51
  export interface FilterConfig {
52
- pagination:
53
- | {
54
- pageOptions?: number[];
55
- pageDefault?: number;
56
- }
57
- | false;
58
- search?:
59
- | {
60
- label?: string;
61
- }
62
- | false;
52
+ pagination:
53
+ | {
54
+ pageOptions?: number[];
55
+ pageDefault?: number;
56
+ }
57
+ | false;
58
+ search?:
59
+ | {
60
+ label?: string;
61
+ }
62
+ | false;
63
63
  }
64
64
 
65
65
  export interface FilterProps<Filter extends { value: unknown }> {
66
- filter: Filter;
67
- onSet: (value: Filter["value"]) => void;
68
- onError: (error: boolean) => void;
69
- current: Filter["value"];
66
+ filter: Filter;
67
+ onSet: (value: Filter["value"]) => void;
68
+ onError: (error: boolean) => void;
69
+ current: Filter["value"];
70
70
  }