@inspirer-dev/crm-dashboard 1.0.13 → 1.0.14

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.
@@ -25,7 +25,7 @@ interface TriggerConfig {
25
25
 
26
26
  interface TriggerConfigFieldProps {
27
27
  name: string;
28
- value?: string | null;
28
+ value?: string | TriggerConfig | null;
29
29
  onChange: (event: { target: { name: string; value: string } }) => void;
30
30
  intlLabel: {
31
31
  id: string;
@@ -59,23 +59,26 @@ const WEEKDAYS = [
59
59
  { value: 6, label: 'Sat' },
60
60
  ];
61
61
 
62
- const parseConfig = (value: string | null | undefined): TriggerConfig => {
62
+ const parseConfig = (value: string | TriggerConfig | null | undefined): TriggerConfig => {
63
63
  if (!value) return DEFAULT_CONFIG;
64
- try {
65
- const parsed = JSON.parse(value);
66
- return {
67
- type: parsed.type || 'event_based',
68
- eventName: parsed.eventName || '',
69
- delayValue: parsed.delayValue ?? 10,
70
- delayUnit: parsed.delayUnit || 'minutes',
71
- scheduleType: parsed.scheduleType || 'daily',
72
- scheduleTime: parsed.scheduleTime || '12:00',
73
- scheduleDays: parsed.scheduleDays || [1, 2, 3, 4, 5],
74
- scheduleCron: parsed.scheduleCron || '0 12 * * *',
75
- };
76
- } catch {
77
- return DEFAULT_CONFIG;
64
+ const normalize = (parsed: Partial<TriggerConfig>): TriggerConfig => ({
65
+ type: parsed.type || 'event_based',
66
+ eventName: parsed.eventName || '',
67
+ delayValue: parsed.delayValue ?? 10,
68
+ delayUnit: parsed.delayUnit || 'minutes',
69
+ scheduleType: parsed.scheduleType || 'daily',
70
+ scheduleTime: parsed.scheduleTime || '12:00',
71
+ scheduleDays: Array.isArray(parsed.scheduleDays) ? parsed.scheduleDays : [1, 2, 3, 4, 5],
72
+ scheduleCron: parsed.scheduleCron || '0 12 * * *',
73
+ });
74
+ if (typeof value === 'string') {
75
+ try {
76
+ return normalize(JSON.parse(value));
77
+ } catch {
78
+ return DEFAULT_CONFIG;
79
+ }
78
80
  }
81
+ return normalize(value);
79
82
  };
80
83
 
81
84
  const serializeConfig = (config: TriggerConfig): string => {
@@ -24,21 +24,24 @@ const WEEKDAYS = [
24
24
  ];
25
25
  const parseConfig = (value) => {
26
26
  if (!value) return DEFAULT_CONFIG;
27
- try {
28
- const parsed = JSON.parse(value);
29
- return {
30
- type: parsed.type || "event_based",
31
- eventName: parsed.eventName || "",
32
- delayValue: parsed.delayValue ?? 10,
33
- delayUnit: parsed.delayUnit || "minutes",
34
- scheduleType: parsed.scheduleType || "daily",
35
- scheduleTime: parsed.scheduleTime || "12:00",
36
- scheduleDays: parsed.scheduleDays || [1, 2, 3, 4, 5],
37
- scheduleCron: parsed.scheduleCron || "0 12 * * *"
38
- };
39
- } catch {
40
- return DEFAULT_CONFIG;
27
+ const normalize = (parsed) => ({
28
+ type: parsed.type || "event_based",
29
+ eventName: parsed.eventName || "",
30
+ delayValue: parsed.delayValue ?? 10,
31
+ delayUnit: parsed.delayUnit || "minutes",
32
+ scheduleType: parsed.scheduleType || "daily",
33
+ scheduleTime: parsed.scheduleTime || "12:00",
34
+ scheduleDays: Array.isArray(parsed.scheduleDays) ? parsed.scheduleDays : [1, 2, 3, 4, 5],
35
+ scheduleCron: parsed.scheduleCron || "0 12 * * *"
36
+ });
37
+ if (typeof value === "string") {
38
+ try {
39
+ return normalize(JSON.parse(value));
40
+ } catch {
41
+ return DEFAULT_CONFIG;
42
+ }
41
43
  }
44
+ return normalize(value);
42
45
  };
43
46
  const serializeConfig = (config) => {
44
47
  return JSON.stringify(config);
@@ -22,21 +22,24 @@ const WEEKDAYS = [
22
22
  ];
23
23
  const parseConfig = (value) => {
24
24
  if (!value) return DEFAULT_CONFIG;
25
- try {
26
- const parsed = JSON.parse(value);
27
- return {
28
- type: parsed.type || "event_based",
29
- eventName: parsed.eventName || "",
30
- delayValue: parsed.delayValue ?? 10,
31
- delayUnit: parsed.delayUnit || "minutes",
32
- scheduleType: parsed.scheduleType || "daily",
33
- scheduleTime: parsed.scheduleTime || "12:00",
34
- scheduleDays: parsed.scheduleDays || [1, 2, 3, 4, 5],
35
- scheduleCron: parsed.scheduleCron || "0 12 * * *"
36
- };
37
- } catch {
38
- return DEFAULT_CONFIG;
25
+ const normalize = (parsed) => ({
26
+ type: parsed.type || "event_based",
27
+ eventName: parsed.eventName || "",
28
+ delayValue: parsed.delayValue ?? 10,
29
+ delayUnit: parsed.delayUnit || "minutes",
30
+ scheduleType: parsed.scheduleType || "daily",
31
+ scheduleTime: parsed.scheduleTime || "12:00",
32
+ scheduleDays: Array.isArray(parsed.scheduleDays) ? parsed.scheduleDays : [1, 2, 3, 4, 5],
33
+ scheduleCron: parsed.scheduleCron || "0 12 * * *"
34
+ });
35
+ if (typeof value === "string") {
36
+ try {
37
+ return normalize(JSON.parse(value));
38
+ } catch {
39
+ return DEFAULT_CONFIG;
40
+ }
39
41
  }
42
+ return normalize(value);
40
43
  };
41
44
  const serializeConfig = (config) => {
42
45
  return JSON.stringify(config);
@@ -59,7 +59,7 @@ const index = {
59
59
  components: {
60
60
  Input: async () => Promise.resolve().then(() => require(
61
61
  /* webpackChunkName: "crm-trigger-config" */
62
- "../_chunks/index-DRJ5o0cz.js"
62
+ "../_chunks/index-BuKU4frx.js"
63
63
  ))
64
64
  },
65
65
  options: {
@@ -58,7 +58,7 @@ const index = {
58
58
  components: {
59
59
  Input: async () => import(
60
60
  /* webpackChunkName: "crm-trigger-config" */
61
- "../_chunks/index-DFqEb9sm.mjs"
61
+ "../_chunks/index-DQTv0iBM.mjs"
62
62
  )
63
63
  },
64
64
  options: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inspirer-dev/crm-dashboard",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "description": "CRM Dashboard and Tools",
5
5
  "strapi": {
6
6
  "name": "crm-dashboard",