@persei/perseed-api 5.0.4 → 5.0.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 (114) hide show
  1. package/dist/client.cjs +60 -0
  2. package/dist/client.cjs.map +1 -1
  3. package/dist/client.mjs +60 -0
  4. package/dist/client.mjs.map +1 -1
  5. package/dist/lib/src/generated/client.d.ts +196 -0
  6. package/dist/lib/src/generated/client.d.ts.map +1 -1
  7. package/dist/src/Services/ContainerWidgetService.d.ts +14 -0
  8. package/dist/src/Services/ContainerWidgetService.d.ts.map +1 -0
  9. package/dist/src/config/config.d.ts +9 -2
  10. package/dist/src/config/config.d.ts.map +1 -1
  11. package/dist/src/controllers/{DashboardWidgetController.d.ts → ContainerWidgetController.d.ts} +3 -3
  12. package/dist/src/controllers/ContainerWidgetController.d.ts.map +1 -0
  13. package/dist/src/helpers/dashboards.d.ts +5 -5
  14. package/dist/src/helpers/dashboards.d.ts.map +1 -1
  15. package/dist/src/models/ecosystem/{DashboardWidget.d.ts → ContainerWidget.d.ts} +14 -14
  16. package/dist/src/models/ecosystem/ContainerWidget.d.ts.map +1 -0
  17. package/dist/src/models/ecosystem/{DashboardWidgetBlock.d.ts → ContainerWidgetBlock.d.ts} +5 -5
  18. package/dist/src/models/ecosystem/{DashboardWidgetBlock.d.ts.map → ContainerWidgetBlock.d.ts.map} +1 -1
  19. package/dist/src/models/perseed/UserSettings.d.ts.map +1 -1
  20. package/dist/src/routes/ecosystem/_ecosystemName/dashboardWidget/_id/index.d.ts.map +1 -1
  21. package/dist/src/routes/ecosystem/_ecosystemName/dashboardWidget/index.d.ts.map +1 -1
  22. package/dist/src/routes/ecosystem/_ecosystemName/project/_projectName/dashboardWidget/_id/index.d.ts.map +1 -1
  23. package/dist/src/routes/ecosystem/_ecosystemName/project/_projectName/dashboardWidget/index.d.ts.map +1 -1
  24. package/dist/src/schemas/{dashboard_widget → container_widget}/col.d.ts.map +1 -1
  25. package/dist/src/schemas/{dashboard_widget → container_widget}/create_widget_payload.schema.json +328 -46
  26. package/dist/src/schemas/{dashboard_widget → container_widget}/dataLoaders/Outcomes.d.ts.map +1 -1
  27. package/dist/src/schemas/container_widget/dataLoaders/index.d.ts.map +1 -0
  28. package/dist/src/schemas/{dashboard_widget → container_widget}/i18n.d.ts.map +1 -1
  29. package/dist/src/schemas/{dashboard_widget → container_widget}/index.d.ts.map +1 -1
  30. package/dist/src/schemas/container_widget/types.d.ts +184 -0
  31. package/dist/src/schemas/container_widget/types.d.ts.map +1 -0
  32. package/dist/src/schemas/{dashboard_widget → container_widget}/update_widget_payload.schema.json +240 -28
  33. package/dist/src/schemas/container_widget/widgetTypes/ContainerWidgetProps.d.ts +6 -0
  34. package/dist/src/schemas/container_widget/widgetTypes/ContainerWidgetProps.d.ts.map +1 -0
  35. package/dist/src/schemas/container_widget/widgetTypes/ModalProps.d.ts +19 -0
  36. package/dist/src/schemas/container_widget/widgetTypes/ModalProps.d.ts.map +1 -0
  37. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/PatientListProps.d.ts +50 -1
  38. package/dist/src/schemas/container_widget/widgetTypes/PatientListProps.d.ts.map +1 -0
  39. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/SectionCardProps.d.ts.map +1 -1
  40. package/dist/src/schemas/container_widget/widgetTypes/SidebarProps.d.ts +22 -0
  41. package/dist/src/schemas/container_widget/widgetTypes/SidebarProps.d.ts.map +1 -0
  42. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/ValueCardProps.d.ts +2 -2
  43. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/ValueCardProps.d.ts.map +1 -1
  44. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/index.d.ts +3 -1
  45. package/dist/src/schemas/container_widget/widgetTypes/index.d.ts.map +1 -0
  46. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/Generic.d.ts.map +1 -1
  47. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconPresentationWidget.d.ts.map +1 -1
  48. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.d.ts.map +1 -1
  49. package/dist/src/schemas/container_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts +17 -0
  50. package/dist/src/schemas/container_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts.map +1 -0
  51. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/ListPresentationWidget.d.ts.map +1 -1
  52. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/TextPresentationWidget.d.ts.map +1 -1
  53. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/index.d.ts.map +1 -1
  54. package/dist/src/schemas/index.d.ts +1 -1
  55. package/dist/src/schemas/user_settings/GenericStringSetting.schema.json +9 -0
  56. package/dist/src/schemas/user_settings/types.d.ts +4 -0
  57. package/dist/src/schemas/user_settings/types.d.ts.map +1 -1
  58. package/dist/src/v2/modules/container_widget/container-widget.service.test.d.ts +2 -0
  59. package/dist/src/v2/modules/container_widget/container-widget.service.test.d.ts.map +1 -0
  60. package/dist/src/v2/modules/project/forms-data/forms-data.controller.d.ts.map +1 -1
  61. package/dist/src/v2/modules/project/forms-data/forms-data.helper.d.ts +17 -0
  62. package/dist/src/v2/modules/project/forms-data/forms-data.helper.d.ts.map +1 -0
  63. package/dist/src/v2/modules/project/forms-data/forms-data.helper.test.d.ts +2 -0
  64. package/dist/src/v2/modules/project/forms-data/forms-data.helper.test.d.ts.map +1 -0
  65. package/dist/src/v2/modules/project/forms-data/forms-data.schema.d.ts +1 -0
  66. package/dist/src/v2/modules/project/forms-data/forms-data.schema.d.ts.map +1 -1
  67. package/dist/src/v2/modules/project/forms-data/forms-data.service.d.ts +1 -1
  68. package/dist/src/v2/modules/project/forms-data/forms-data.service.d.ts.map +1 -1
  69. package/dist/src/v2/modules/project/thryve/index.d.ts +4 -0
  70. package/dist/src/v2/modules/project/thryve/index.d.ts.map +1 -0
  71. package/dist/src/v2/modules/project/thryve/thryve.controller.d.ts +5 -0
  72. package/dist/src/v2/modules/project/thryve/thryve.controller.d.ts.map +1 -0
  73. package/dist/src/v2/modules/project/thryve/thryve.controller.e2e.d.ts +2 -0
  74. package/dist/src/v2/modules/project/thryve/thryve.controller.e2e.d.ts.map +1 -0
  75. package/dist/src/v2/modules/project/thryve/thryve.controller.test.d.ts +2 -0
  76. package/dist/src/v2/modules/project/thryve/thryve.controller.test.d.ts.map +1 -0
  77. package/dist/src/v2/modules/project/thryve/thryve.schema.d.ts +10 -0
  78. package/dist/src/v2/modules/project/thryve/thryve.schema.d.ts.map +1 -0
  79. package/dist/src/v2/modules/project/thryve/thryve.service.d.ts +30 -0
  80. package/dist/src/v2/modules/project/thryve/thryve.service.d.ts.map +1 -0
  81. package/dist/src/v2/modules/project/thryve/thryve.service.test.d.ts +2 -0
  82. package/dist/src/v2/modules/project/thryve/thryve.service.test.d.ts.map +1 -0
  83. package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/project/_projectName/thryve/index.d.ts +3 -0
  84. package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/project/_projectName/thryve/index.d.ts.map +1 -0
  85. package/dist/v1/perseed-api.cjs +67 -14
  86. package/dist/v1/perseed-api.cjs.map +1 -1
  87. package/dist/v1/perseed-api.mjs +67 -14
  88. package/dist/v1/perseed-api.mjs.map +1 -1
  89. package/package.json +1 -1
  90. package/dist/src/Services/DashboardWidgetService.d.ts +0 -14
  91. package/dist/src/Services/DashboardWidgetService.d.ts.map +0 -1
  92. package/dist/src/controllers/DashboardWidgetController.d.ts.map +0 -1
  93. package/dist/src/models/ecosystem/DashboardWidget.d.ts.map +0 -1
  94. package/dist/src/schemas/dashboard_widget/dataLoaders/index.d.ts.map +0 -1
  95. package/dist/src/schemas/dashboard_widget/types.d.ts +0 -137
  96. package/dist/src/schemas/dashboard_widget/types.d.ts.map +0 -1
  97. package/dist/src/schemas/dashboard_widget/widgetTypes/DashboardProps.d.ts +0 -6
  98. package/dist/src/schemas/dashboard_widget/widgetTypes/DashboardProps.d.ts.map +0 -1
  99. package/dist/src/schemas/dashboard_widget/widgetTypes/PatientListProps.d.ts.map +0 -1
  100. package/dist/src/schemas/dashboard_widget/widgetTypes/index.d.ts.map +0 -1
  101. package/dist/src/schemas/dashboard_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts +0 -7
  102. package/dist/src/schemas/dashboard_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts.map +0 -1
  103. /package/dist/src/schemas/{dashboard_widget → container_widget}/col.d.ts +0 -0
  104. /package/dist/src/schemas/{dashboard_widget → container_widget}/dataLoaders/Outcomes.d.ts +0 -0
  105. /package/dist/src/schemas/{dashboard_widget → container_widget}/dataLoaders/index.d.ts +0 -0
  106. /package/dist/src/schemas/{dashboard_widget → container_widget}/i18n.d.ts +0 -0
  107. /package/dist/src/schemas/{dashboard_widget → container_widget}/index.d.ts +0 -0
  108. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/SectionCardProps.d.ts +0 -0
  109. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/Generic.d.ts +0 -0
  110. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconPresentationWidget.d.ts +0 -0
  111. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.d.ts +0 -0
  112. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/ListPresentationWidget.d.ts +0 -0
  113. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/TextPresentationWidget.d.ts +0 -0
  114. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/index.d.ts +0 -0
@@ -0,0 +1,184 @@
1
+ import { ColProps } from './col';
2
+ import { ContainerWidgetProps, FormListProps, FormsListProps, ModalProps, PatientListProps, SectionCardProps, SidebarProps, ValueCardProps } from './widgetTypes';
3
+ /**
4
+ * True containers: host other widgets inside them.
5
+ */
6
+ export declare enum ContainerType {
7
+ DASHBOARD = "Dashboard",
8
+ MODAL = "Modal",
9
+ SIDEBAR = "Sidebar"
10
+ }
11
+ /**
12
+ * Leaf widgets: rendered inside a container, do not hold other widgets.
13
+ */
14
+ export declare enum WidgetType {
15
+ VALUECARD = "ValueCard",
16
+ SECTIONCARD = "SectionCard",
17
+ PATIENTLIST = "PatientList",
18
+ QUESTIONNAIRE_LOG = "QuestionnaireLog",
19
+ PATIENTS_PROGRAMS = "PatientsPrograms",
20
+ PATIENTS = "Patients",
21
+ ADHERENCE_SUMMARY = "AdherenceSummary",
22
+ FORM_LIST = "FormList",
23
+ FORMS_LIST = "FormsList"
24
+ }
25
+ /**
26
+ * Union of both enums. Exposed as the previous enum name so existing consumers
27
+ * keep compiling. New code should prefer the narrower `ContainerType` or
28
+ * `WidgetType` when the distinction is relevant.
29
+ */
30
+ export declare const ContainerWidgetType: {
31
+ readonly VALUECARD: WidgetType.VALUECARD;
32
+ readonly SECTIONCARD: WidgetType.SECTIONCARD;
33
+ readonly PATIENTLIST: WidgetType.PATIENTLIST;
34
+ readonly QUESTIONNAIRE_LOG: WidgetType.QUESTIONNAIRE_LOG;
35
+ readonly PATIENTS_PROGRAMS: WidgetType.PATIENTS_PROGRAMS;
36
+ readonly PATIENTS: WidgetType.PATIENTS;
37
+ readonly ADHERENCE_SUMMARY: WidgetType.ADHERENCE_SUMMARY;
38
+ readonly FORM_LIST: WidgetType.FORM_LIST;
39
+ readonly FORMS_LIST: WidgetType.FORMS_LIST;
40
+ readonly DASHBOARD: ContainerType.DASHBOARD;
41
+ readonly MODAL: ContainerType.MODAL;
42
+ readonly SIDEBAR: ContainerType.SIDEBAR;
43
+ };
44
+ export type ContainerWidgetType = ContainerType | WidgetType;
45
+ export type WidgetBlockConfig = {
46
+ size?: number | ColProps;
47
+ };
48
+ export type ContainerWidgetBlockCreatePayload = {
49
+ parent_id: number | string;
50
+ child_id: number;
51
+ position: number;
52
+ config?: WidgetBlockConfig | null;
53
+ };
54
+ export type ContainerBaseWidgetPayload = {
55
+ title: string;
56
+ description?: string | null;
57
+ weight?: number;
58
+ size?: number | ColProps;
59
+ library?: boolean;
60
+ widgetsBlocks?: ContainerWidgetBlockCreatePayload[];
61
+ };
62
+ export type EmptyProps = Record<string, never>;
63
+ export type ContainerProps = {
64
+ type: ContainerType.DASHBOARD;
65
+ params: ContainerWidgetProps;
66
+ } | {
67
+ type: ContainerType.MODAL;
68
+ params: ModalProps;
69
+ } | {
70
+ type: ContainerType.SIDEBAR;
71
+ params: SidebarProps;
72
+ };
73
+ export type WidgetProps = {
74
+ type: WidgetType.SECTIONCARD;
75
+ params: SectionCardProps;
76
+ } | {
77
+ type: WidgetType.VALUECARD;
78
+ params: ValueCardProps;
79
+ } | {
80
+ type: WidgetType.PATIENTLIST;
81
+ params: PatientListProps;
82
+ } | {
83
+ type: WidgetType.QUESTIONNAIRE_LOG;
84
+ params: EmptyProps;
85
+ } | {
86
+ type: WidgetType.PATIENTS_PROGRAMS;
87
+ params: EmptyProps;
88
+ } | {
89
+ type: WidgetType.PATIENTS;
90
+ params: EmptyProps;
91
+ } | {
92
+ type: WidgetType.ADHERENCE_SUMMARY;
93
+ params: EmptyProps;
94
+ } | {
95
+ type: WidgetType.FORM_LIST;
96
+ params: FormListProps;
97
+ } | {
98
+ type: WidgetType.FORMS_LIST;
99
+ params: FormsListProps;
100
+ };
101
+ export type WidgetTypeProps = ContainerProps | WidgetProps;
102
+ export type CreateContainerWidgetPayload = ContainerBaseWidgetPayload & WidgetTypeProps;
103
+ export type UpdateContainerWidgetPayload = Partial<CreateContainerWidgetPayload>;
104
+ export declare enum DataLoaderType {
105
+ OUTCOMES = "outcomes"
106
+ }
107
+ export interface GenericContainerWidgetDataLoader {
108
+ type: DataLoaderType;
109
+ params: Record<string, any>;
110
+ }
111
+ export type ContainerWidgetDataLoader<T> = T extends {
112
+ type: infer Type;
113
+ params: infer Params;
114
+ } ? {
115
+ type: Type;
116
+ params: Params;
117
+ } : never;
118
+ export type BaseContainerWidgetPayload<T extends ContainerWidgetType | undefined = undefined> = {
119
+ id?: number;
120
+ title: string;
121
+ description?: string;
122
+ type: T | ContainerWidgetType;
123
+ library: boolean;
124
+ config?: WidgetBlockConfig;
125
+ position?: number;
126
+ created_user: number;
127
+ };
128
+ export type BaseContainerWidget = BaseContainerWidgetPayload & WidgetTypeProps;
129
+ export type GenericParams = SectionCardProps | ValueCardProps | PatientListProps | ContainerWidgetProps | ModalProps | SidebarProps;
130
+ export type ContainerChildrenWidget<T extends ContainerWidgetType | undefined = undefined> = ContainerBaseWidgetPayload & BaseContainerWidgetPayload<T> & {
131
+ id: number;
132
+ type: ContainerWidgetType;
133
+ params: GenericParams;
134
+ };
135
+ export type ContainerWidget<T extends ContainerWidgetType | undefined = undefined> = T extends ContainerWidgetType ? {
136
+ id: number;
137
+ widgets?: ContainerChildrenWidget[];
138
+ } & ContainerWidgetTypeToParams[T] & BaseContainerWidgetPayload<T> : {
139
+ id: number;
140
+ params: any;
141
+ widgets?: ContainerChildrenWidget[];
142
+ } & BaseContainerWidgetPayload<T>;
143
+ export type ContainerTypeToParams = {
144
+ [ContainerType.DASHBOARD]: {
145
+ params: ContainerWidgetProps;
146
+ };
147
+ [ContainerType.MODAL]: {
148
+ params: ModalProps;
149
+ };
150
+ [ContainerType.SIDEBAR]: {
151
+ params: SidebarProps;
152
+ };
153
+ };
154
+ export type WidgetTypeToParams = {
155
+ [WidgetType.SECTIONCARD]: {
156
+ params: SectionCardProps;
157
+ };
158
+ [WidgetType.VALUECARD]: {
159
+ params: ValueCardProps;
160
+ };
161
+ [WidgetType.PATIENTLIST]: {
162
+ params: PatientListProps;
163
+ };
164
+ [WidgetType.QUESTIONNAIRE_LOG]: {
165
+ params: EmptyProps;
166
+ };
167
+ [WidgetType.PATIENTS_PROGRAMS]: {
168
+ params: EmptyProps;
169
+ };
170
+ [WidgetType.PATIENTS]: {
171
+ params: EmptyProps;
172
+ };
173
+ [WidgetType.ADHERENCE_SUMMARY]: {
174
+ params: EmptyProps;
175
+ };
176
+ [WidgetType.FORM_LIST]: {
177
+ params: FormListProps;
178
+ };
179
+ [WidgetType.FORMS_LIST]: {
180
+ params: FormsListProps;
181
+ };
182
+ };
183
+ export type ContainerWidgetTypeToParams = ContainerTypeToParams & WidgetTypeToParams;
184
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/schemas/container_widget/types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$ref": "#/definitions/UpdateDashboardWidgetPayload",
3
+ "$ref": "#/definitions/UpdateContainerWidgetPayload",
4
4
  "definitions": {
5
- "UpdateDashboardWidgetPayload": {
5
+ "UpdateContainerWidgetPayload": {
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "title": {
@@ -30,26 +30,34 @@
30
30
  "widgetsBlocks": {
31
31
  "type": "array",
32
32
  "items": {
33
- "$ref": "#/definitions/DashboardWidgetBlockCreatePayload"
33
+ "$ref": "#/definitions/ContainerWidgetBlockCreatePayload"
34
34
  }
35
35
  },
36
36
  "type": {
37
37
  "anyOf": [
38
38
  {
39
39
  "type": "string",
40
- "const": "SectionCard"
40
+ "const": "Dashboard"
41
41
  },
42
42
  {
43
43
  "type": "string",
44
- "const": "ValueCard"
44
+ "const": "Modal"
45
45
  },
46
46
  {
47
47
  "type": "string",
48
- "const": "PatientList"
48
+ "const": "Sidebar"
49
49
  },
50
50
  {
51
51
  "type": "string",
52
- "const": "Dashboard"
52
+ "const": "SectionCard"
53
+ },
54
+ {
55
+ "type": "string",
56
+ "const": "ValueCard"
57
+ },
58
+ {
59
+ "type": "string",
60
+ "const": "PatientList"
53
61
  },
54
62
  {
55
63
  "type": "string",
@@ -79,6 +87,15 @@
79
87
  },
80
88
  "params": {
81
89
  "anyOf": [
90
+ {
91
+ "$ref": "#/definitions/ContainerWidgetProps"
92
+ },
93
+ {
94
+ "$ref": "#/definitions/ModalProps"
95
+ },
96
+ {
97
+ "$ref": "#/definitions/SidebarProps"
98
+ },
82
99
  {
83
100
  "$ref": "#/definitions/SectionCardProps"
84
101
  },
@@ -88,9 +105,6 @@
88
105
  {
89
106
  "$ref": "#/definitions/PatientListProps"
90
107
  },
91
- {
92
- "$ref": "#/definitions/DashboardProps"
93
- },
94
108
  {
95
109
  "$ref": "#/definitions/EmptyProps"
96
110
  },
@@ -237,7 +251,7 @@
237
251
  },
238
252
  "additionalProperties": false
239
253
  },
240
- "DashboardWidgetBlockCreatePayload": {
254
+ "ContainerWidgetBlockCreatePayload": {
241
255
  "type": "object",
242
256
  "properties": {
243
257
  "parent_id": {
@@ -279,6 +293,130 @@
279
293
  },
280
294
  "additionalProperties": false
281
295
  },
296
+ "ContainerWidgetProps": {
297
+ "type": "object",
298
+ "properties": {
299
+ "active": {
300
+ "type": "boolean"
301
+ },
302
+ "config": {
303
+ "type": "object",
304
+ "additionalProperties": {}
305
+ },
306
+ "icon": {
307
+ "type": ["string", "null"]
308
+ }
309
+ },
310
+ "additionalProperties": false
311
+ },
312
+ "ModalProps": {
313
+ "type": "object",
314
+ "properties": {
315
+ "active": {
316
+ "type": "boolean"
317
+ },
318
+ "icon": {
319
+ "type": ["string", "null"]
320
+ },
321
+ "config": {
322
+ "$ref": "#/definitions/ModalConfig"
323
+ },
324
+ "paramMappings": {
325
+ "$ref": "#/definitions/ContainerParamMappings"
326
+ }
327
+ },
328
+ "required": ["config"],
329
+ "additionalProperties": false
330
+ },
331
+ "ModalConfig": {
332
+ "type": "object",
333
+ "properties": {
334
+ "size": {
335
+ "$ref": "#/definitions/ModalSize"
336
+ },
337
+ "width": {
338
+ "type": "string"
339
+ },
340
+ "height": {
341
+ "type": "string"
342
+ }
343
+ },
344
+ "required": ["size"],
345
+ "additionalProperties": false
346
+ },
347
+ "ModalSize": {
348
+ "type": "string",
349
+ "enum": ["small", "medium", "large", "fullscreen", "custom"]
350
+ },
351
+ "ContainerParamMappings": {
352
+ "type": "object",
353
+ "additionalProperties": {
354
+ "type": "object",
355
+ "additionalProperties": {
356
+ "$ref": "#/definitions/ParamMapping"
357
+ }
358
+ }
359
+ },
360
+ "ParamMapping": {
361
+ "type": "object",
362
+ "properties": {
363
+ "source": {
364
+ "$ref": "#/definitions/ParamMappingSource"
365
+ },
366
+ "value": {
367
+ "type": "string"
368
+ }
369
+ },
370
+ "required": ["source"],
371
+ "additionalProperties": false
372
+ },
373
+ "ParamMappingSource": {
374
+ "type": "string",
375
+ "enum": ["field", "literal"]
376
+ },
377
+ "SidebarProps": {
378
+ "type": "object",
379
+ "properties": {
380
+ "active": {
381
+ "type": "boolean"
382
+ },
383
+ "icon": {
384
+ "type": ["string", "null"]
385
+ },
386
+ "config": {
387
+ "$ref": "#/definitions/SidebarConfig"
388
+ },
389
+ "paramMappings": {
390
+ "$ref": "#/definitions/ContainerParamMappings"
391
+ }
392
+ },
393
+ "required": ["config"],
394
+ "additionalProperties": false
395
+ },
396
+ "SidebarConfig": {
397
+ "type": "object",
398
+ "properties": {
399
+ "placement": {
400
+ "$ref": "#/definitions/SidebarPlacement"
401
+ },
402
+ "size": {
403
+ "$ref": "#/definitions/SidebarSize"
404
+ },
405
+ "width": {
406
+ "type": "string"
407
+ }
408
+ },
409
+ "required": ["placement", "size"],
410
+ "additionalProperties": false
411
+ },
412
+ "SidebarPlacement": {
413
+ "type": "string",
414
+ "enum": ["left", "right"]
415
+ },
416
+ "SidebarSize": {
417
+ "type": "string",
418
+ "enum": ["small", "medium", "large", "custom"]
419
+ },
282
420
  "SectionCardProps": {
283
421
  "type": "object",
284
422
  "properties": {
@@ -317,7 +455,7 @@
317
455
  "type": "object"
318
456
  },
319
457
  "dataLoader": {
320
- "$ref": "#/definitions/DashboardWidgetDataLoader%3CWidgetOutcomesDataLoader%3E"
458
+ "$ref": "#/definitions/ContainerWidgetDataLoader%3CWidgetOutcomesDataLoader%3E"
321
459
  }
322
460
  },
323
461
  "required": ["icon", "text"],
@@ -345,7 +483,7 @@
345
483
  "type": "string"
346
484
  }
347
485
  },
348
- "DashboardWidgetDataLoader<WidgetOutcomesDataLoader>": {
486
+ "ContainerWidgetDataLoader<WidgetOutcomesDataLoader>": {
349
487
  "type": "object",
350
488
  "properties": {
351
489
  "type": {
@@ -997,19 +1135,6 @@
997
1135
  },
998
1136
  "additionalProperties": false
999
1137
  },
1000
- "DashboardProps": {
1001
- "type": "object",
1002
- "properties": {
1003
- "active": {
1004
- "type": "boolean"
1005
- },
1006
- "config": {},
1007
- "icon": {
1008
- "type": ["string", "null"]
1009
- }
1010
- },
1011
- "additionalProperties": false
1012
- },
1013
1138
  "EmptyProps": {
1014
1139
  "type": "object",
1015
1140
  "additionalProperties": {
@@ -1067,6 +1192,12 @@
1067
1192
  },
1068
1193
  "appearance": {
1069
1194
  "$ref": "#/definitions/FormListAppearanceConfig"
1195
+ },
1196
+ "finalParams": {
1197
+ "type": "array",
1198
+ "items": {
1199
+ "$ref": "#/definitions/FinalParam"
1200
+ }
1070
1201
  }
1071
1202
  },
1072
1203
  "required": ["data"],
@@ -1086,7 +1217,7 @@
1086
1217
  "additionalProperties": {}
1087
1218
  },
1088
1219
  "limit": {
1089
- "type": "number"
1220
+ "type": ["number", "null"]
1090
1221
  },
1091
1222
  "sortBy": {
1092
1223
  "type": "array",
@@ -1096,6 +1227,12 @@
1096
1227
  },
1097
1228
  "mainForm": {
1098
1229
  "type": "boolean"
1230
+ },
1231
+ "filterParams": {
1232
+ "type": "array",
1233
+ "items": {
1234
+ "$ref": "#/definitions/FilterParamsBlock"
1235
+ }
1099
1236
  }
1100
1237
  },
1101
1238
  "required": ["fields"],
@@ -1114,6 +1251,23 @@
1114
1251
  "required": ["field", "orderType"],
1115
1252
  "additionalProperties": false
1116
1253
  },
1254
+ "FilterParamsBlock": {
1255
+ "type": "object",
1256
+ "properties": {
1257
+ "required": {
1258
+ "type": "boolean"
1259
+ },
1260
+ "rules": {
1261
+ "type": "object",
1262
+ "additionalProperties": {}
1263
+ },
1264
+ "description": {
1265
+ "type": "string"
1266
+ }
1267
+ },
1268
+ "required": ["required", "rules"],
1269
+ "additionalProperties": false
1270
+ },
1117
1271
  "FormListLayoutConfig": {
1118
1272
  "type": "object",
1119
1273
  "properties": {
@@ -1143,6 +1297,9 @@
1143
1297
  },
1144
1298
  "hidden": {
1145
1299
  "type": "boolean"
1300
+ },
1301
+ "aggregation": {
1302
+ "$ref": "#/definitions/ColumnAggregation"
1146
1303
  }
1147
1304
  },
1148
1305
  "additionalProperties": false
@@ -1177,11 +1334,46 @@
1177
1334
  },
1178
1335
  "textColor": {
1179
1336
  "type": "string"
1337
+ },
1338
+ "underline": {
1339
+ "type": "boolean"
1340
+ },
1341
+ "linkType": {
1342
+ "$ref": "#/definitions/LinkType"
1343
+ },
1344
+ "openInNewTab": {
1345
+ "type": "boolean"
1346
+ },
1347
+ "targetWidgetId": {
1348
+ "type": "number"
1349
+ },
1350
+ "paramMappings": {
1351
+ "$ref": "#/definitions/ContainerParamMappings"
1352
+ }
1353
+ },
1354
+ "additionalProperties": false
1355
+ },
1356
+ "LinkType": {
1357
+ "type": "string",
1358
+ "enum": ["external", "internal"]
1359
+ },
1360
+ "ColumnAggregation": {
1361
+ "type": "object",
1362
+ "properties": {
1363
+ "type": {
1364
+ "$ref": "#/definitions/AggregationType"
1365
+ },
1366
+ "position": {
1367
+ "type": "number"
1180
1368
  }
1181
1369
  },
1182
- "required": ["url"],
1370
+ "required": ["type"],
1183
1371
  "additionalProperties": false
1184
1372
  },
1373
+ "AggregationType": {
1374
+ "type": "string",
1375
+ "enum": ["first", "last", "position", "avg", "sum", "min", "max", "median", "stddev"]
1376
+ },
1185
1377
  "FormListAppearanceConfig": {
1186
1378
  "type": "object",
1187
1379
  "properties": {
@@ -1253,6 +1445,26 @@
1253
1445
  }
1254
1446
  },
1255
1447
  "additionalProperties": false
1448
+ },
1449
+ "FinalParam": {
1450
+ "type": "object",
1451
+ "properties": {
1452
+ "name": {
1453
+ "type": "string"
1454
+ },
1455
+ "type": {
1456
+ "$ref": "#/definitions/FinalParamType"
1457
+ },
1458
+ "required": {
1459
+ "type": "boolean"
1460
+ }
1461
+ },
1462
+ "required": ["name", "type", "required"],
1463
+ "additionalProperties": false
1464
+ },
1465
+ "FinalParamType": {
1466
+ "type": "string",
1467
+ "enum": ["string", "number", "boolean", "date", "time"]
1256
1468
  }
1257
1469
  }
1258
1470
  }
@@ -0,0 +1,6 @@
1
+ export interface ContainerWidgetProps {
2
+ active?: boolean;
3
+ config?: Record<string, unknown>;
4
+ icon?: string | null;
5
+ }
6
+ //# sourceMappingURL=ContainerWidgetProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerWidgetProps.d.ts","sourceRoot":"","sources":["../../../../../../src/schemas/container_widget/widgetTypes/ContainerWidgetProps.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB"}
@@ -0,0 +1,19 @@
1
+ import { ContainerWidgetProps } from './ContainerWidgetProps';
2
+ import { ContainerParamMappings } from './PatientListProps';
3
+ export declare enum ModalSize {
4
+ SMALL = "small",
5
+ MEDIUM = "medium",
6
+ LARGE = "large",
7
+ FULLSCREEN = "fullscreen",
8
+ CUSTOM = "custom"
9
+ }
10
+ export interface ModalConfig {
11
+ size: ModalSize;
12
+ width?: string;
13
+ height?: string;
14
+ }
15
+ export interface ModalProps extends Omit<ContainerWidgetProps, 'config'> {
16
+ config: ModalConfig;
17
+ paramMappings?: ContainerParamMappings;
18
+ }
19
+ //# sourceMappingURL=ModalProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalProps.d.ts","sourceRoot":"","sources":["../../../../../../src/schemas/container_widget/widgetTypes/ModalProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC;IACtE,MAAM,EAAE,WAAW,CAAA;IACnB,aAAa,CAAC,EAAE,sBAAsB,CAAA;CACvC"}