hazo_collab_forms 1.9.0 → 1.9.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.
- package/CHANGE_LOG.md +25 -0
- package/README.md +157 -44
- package/dist/components/_internal_form_set.d.ts +30 -30
- package/dist/components/_internal_form_set.d.ts.map +1 -1
- package/dist/components/_internal_form_set.js +31 -12
- package/dist/components/_internal_form_set.js.map +1 -1
- package/dist/components/collab_form_file_upload.d.ts +40 -74
- package/dist/components/collab_form_file_upload.d.ts.map +1 -1
- package/dist/components/collab_form_file_upload.js +191 -275
- package/dist/components/collab_form_file_upload.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/pending_field_item.d.ts +1 -1
- package/dist/components/hazo_add_field_dialog/components/pending_field_item.js +2 -2
- package/dist/components/hazo_add_field_dialog/components/pending_field_item.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/pending_field_list.d.ts +1 -1
- package/dist/components/hazo_add_field_dialog/hazo_add_field_dialog.js +7 -7
- package/dist/components/hazo_add_field_dialog/hazo_add_field_dialog.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/types.d.ts +4 -4
- package/dist/components/hazo_add_field_dialog/types.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/utils/library_to_pending.js +2 -2
- package/dist/components/hazo_add_field_dialog/utils/library_to_pending.js.map +1 -1
- package/dist/components/hazo_add_group_dialog/hazo_add_group_dialog.js +6 -6
- package/dist/components/hazo_add_group_dialog/hazo_add_group_dialog.js.map +1 -1
- package/dist/components/hazo_collab_form_base.d.ts +26 -20
- package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_base.js +22 -13
- package/dist/components/hazo_collab_form_base.js.map +1 -1
- package/dist/components/hazo_collab_form_checkbox.d.ts +1 -24
- package/dist/components/hazo_collab_form_checkbox.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_checkbox.js +15 -141
- package/dist/components/hazo_collab_form_checkbox.js.map +1 -1
- package/dist/components/hazo_collab_form_combo.d.ts +0 -44
- package/dist/components/hazo_collab_form_combo.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_combo.js +24 -199
- package/dist/components/hazo_collab_form_combo.js.map +1 -1
- package/dist/components/hazo_collab_form_data_table.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_data_table.js +2 -1
- package/dist/components/hazo_collab_form_data_table.js.map +1 -1
- package/dist/components/hazo_collab_form_date.d.ts +1 -59
- package/dist/components/hazo_collab_form_date.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_date.js +34 -194
- package/dist/components/hazo_collab_form_date.js.map +1 -1
- package/dist/components/hazo_collab_form_doc.d.ts +8 -11
- package/dist/components/hazo_collab_form_doc.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_doc.js +15 -12
- package/dist/components/hazo_collab_form_doc.js.map +1 -1
- package/dist/components/hazo_collab_form_group.d.ts +4 -3
- package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_group.js +5 -5
- package/dist/components/hazo_collab_form_group.js.map +1 -1
- package/dist/components/hazo_collab_form_inputbox.d.ts +0 -17
- package/dist/components/hazo_collab_form_inputbox.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_inputbox.js +25 -148
- package/dist/components/hazo_collab_form_inputbox.js.map +1 -1
- package/dist/components/hazo_collab_form_radio.d.ts +1 -36
- package/dist/components/hazo_collab_form_radio.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_radio.js +18 -143
- package/dist/components/hazo_collab_form_radio.js.map +1 -1
- package/dist/components/hazo_collab_form_textarea.d.ts +0 -17
- package/dist/components/hazo_collab_form_textarea.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_textarea.js +14 -141
- package/dist/components/hazo_collab_form_textarea.js.map +1 -1
- package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/context.js +4 -0
- package/dist/components/hazo_collab_form_view/context.js.map +1 -1
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts +36 -0
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js +82 -0
- package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js.map +1 -0
- package/dist/components/hazo_collab_form_view/index.d.ts +1 -1
- package/dist/components/hazo_collab_form_view/index.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/index.js.map +1 -1
- package/dist/components/hazo_collab_form_view/types.d.ts +18 -12
- package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.js +11 -81
- package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.js +58 -278
- package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
- package/dist/components/hazo_edit_field_dialog/hazo_edit_field_dialog.js +8 -8
- package/dist/components/hazo_edit_field_dialog/hazo_edit_field_dialog.js.map +1 -1
- package/dist/components/hazo_edit_field_dialog/types.d.ts +4 -4
- package/dist/components/hazo_edit_field_dialog/types.d.ts.map +1 -1
- package/dist/components/hazo_edit_group_dialog/hazo_edit_group_dialog.js +15 -15
- package/dist/components/hazo_edit_group_dialog/hazo_edit_group_dialog.js.map +1 -1
- package/dist/components/hazo_edit_group_dialog/types.d.ts +4 -4
- package/dist/components/hazo_edit_group_dialog/types.d.ts.map +1 -1
- package/dist/components/hazo_field_library/hooks/use_elements.d.ts.map +1 -1
- package/dist/components/hazo_field_library/hooks/use_elements.js +2 -1
- package/dist/components/hazo_field_library/hooks/use_elements.js.map +1 -1
- package/dist/components/hazo_field_selector_dialog/utils.d.ts.map +1 -1
- package/dist/components/hazo_field_selector_dialog/utils.js +2 -1
- package/dist/components/hazo_field_selector_dialog/utils.js.map +1 -1
- package/dist/components/hazo_template_generator/components/section_tree.js +1 -1
- package/dist/components/hazo_template_generator/components/section_tree.js.map +1 -1
- package/dist/components/hazo_template_generator/components/tabs/basic_tab.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/components/tabs/basic_tab.js +6 -3
- package/dist/components/hazo_template_generator/components/tabs/basic_tab.js.map +1 -1
- package/dist/components/hazo_template_generator/components/tabs/section_tab.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/components/tabs/section_tab.js +8 -4
- package/dist/components/hazo_template_generator/components/tabs/section_tab.js.map +1 -1
- package/dist/components/hazo_template_generator/types.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/types.js +6 -3
- package/dist/components/hazo_template_generator/types.js.map +1 -1
- package/dist/components/hazo_template_generator/utils/validation.js +1 -1
- package/dist/components/hazo_template_generator/utils/validation.js.map +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/shared/base_field_layout.d.ts +40 -0
- package/dist/components/shared/base_field_layout.d.ts.map +1 -0
- package/dist/components/shared/base_field_layout.js +34 -0
- package/dist/components/shared/base_field_layout.js.map +1 -0
- package/dist/components/shared/file_settings/file_settings_checkboxes.d.ts +13 -13
- package/dist/components/shared/file_settings/file_settings_checkboxes.d.ts.map +1 -1
- package/dist/components/shared/file_settings/file_settings_checkboxes.js +8 -25
- package/dist/components/shared/file_settings/file_settings_checkboxes.js.map +1 -1
- package/dist/components/shared/row_color_utils.d.ts +16 -0
- package/dist/components/shared/row_color_utils.d.ts.map +1 -0
- package/dist/components/shared/row_color_utils.js +21 -0
- package/dist/components/shared/row_color_utils.js.map +1 -0
- package/dist/components/shared/strip_base_props.d.ts +16 -0
- package/dist/components/shared/strip_base_props.d.ts.map +1 -0
- package/dist/components/shared/strip_base_props.js +91 -0
- package/dist/components/shared/strip_base_props.js.map +1 -0
- package/dist/components/shared/summary_files/summary_files.d.ts +10 -5
- package/dist/components/shared/summary_files/summary_files.d.ts.map +1 -1
- package/dist/components/shared/summary_files/summary_files.js +35 -14
- package/dist/components/shared/summary_files/summary_files.js.map +1 -1
- package/dist/components/shared/summary_utils/file_helpers.d.ts +16 -0
- package/dist/components/shared/summary_utils/file_helpers.d.ts.map +1 -0
- package/dist/components/shared/summary_utils/file_helpers.js +26 -0
- package/dist/components/shared/summary_utils/file_helpers.js.map +1 -0
- package/dist/components/shared/summary_utils/index.d.ts +1 -0
- package/dist/components/shared/summary_utils/index.d.ts.map +1 -1
- package/dist/components/shared/summary_utils/index.js +1 -0
- package/dist/components/shared/summary_utils/index.js.map +1 -1
- package/dist/components/shared/unified_field_controls/index.d.ts +1 -0
- package/dist/components/shared/unified_field_controls/index.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/index.js +2 -1
- package/dist/components/shared/unified_field_controls/index.js.map +1 -1
- package/dist/components/shared/unified_field_controls/use_field_control_props.d.ts +68 -0
- package/dist/components/shared/unified_field_controls/use_field_control_props.d.ts.map +1 -0
- package/dist/components/shared/unified_field_controls/use_field_control_props.js +105 -0
- package/dist/components/shared/unified_field_controls/use_field_control_props.js.map +1 -0
- package/dist/components/shared/use_base_form_field.d.ts +193 -0
- package/dist/components/shared/use_base_form_field.d.ts.map +1 -0
- package/dist/components/shared/use_base_form_field.js +265 -0
- package/dist/components/shared/use_base_form_field.js.map +1 -0
- package/dist/config/api_endpoints.d.ts +19 -0
- package/dist/config/api_endpoints.d.ts.map +1 -0
- package/dist/config/api_endpoints.js +19 -0
- package/dist/config/api_endpoints.js.map +1 -0
- package/dist/config/defaults.d.ts +17 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +17 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/types/file_attachment.d.ts +55 -0
- package/dist/types/file_attachment.d.ts.map +1 -0
- package/dist/types/file_attachment.js +54 -0
- package/dist/types/file_attachment.js.map +1 -0
- package/dist/types/file_manager.d.ts +60 -0
- package/dist/types/file_manager.d.ts.map +1 -0
- package/dist/types/file_manager.js +8 -0
- package/dist/types/file_manager.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/filter_dom_props.d.ts.map +1 -1
- package/dist/utils/filter_dom_props.js +2 -1
- package/dist/utils/filter_dom_props.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/use_chat_messages_check.d.ts.map +1 -1
- package/dist/utils/use_chat_messages_check.js +4 -2
- package/dist/utils/use_chat_messages_check.js.map +1 -1
- package/dist/utils/use_collab_chat.d.ts.map +1 -1
- package/dist/utils/use_collab_chat.js +2 -1
- package/dist/utils/use_collab_chat.js.map +1 -1
- package/dist/utils/use_field_chat_status.d.ts.map +1 -1
- package/dist/utils/use_field_chat_status.js +5 -3
- package/dist/utils/use_field_chat_status.js.map +1 -1
- package/dist/utils/use_file_status.d.ts +29 -0
- package/dist/utils/use_file_status.d.ts.map +1 -0
- package/dist/utils/use_file_status.js +68 -0
- package/dist/utils/use_file_status.js.map +1 -0
- package/package.json +4 -1
package/CHANGE_LOG.md
CHANGED
|
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **hazo_files Integration**: File upload system now uses FileManagerCallbacks for improved architecture
|
|
13
|
+
- New `FileManagerConfig` type with callback-based architecture
|
|
14
|
+
- `file_manager` prop on HazoCollabFormView for centralized file operations
|
|
15
|
+
- New `FormFileAttachment` type replacing legacy FileData in file operations
|
|
16
|
+
- New `FileStatus` type: 'active', 'orphaned', 'soft_deleted', 'missing'
|
|
17
|
+
- New utilities: `use_file_status` hook for polling file status
|
|
18
|
+
- Helper functions: `get_field_attachments`, `get_field_private_attachments`, `is_form_file_attachment`, `attachment_to_file_data`, `file_data_to_attachment`
|
|
19
|
+
- Types exported: `FileManagerConfig`, `FileManagerCallbacks`, `FileUploadOptions`, `FormFileAttachment`, `FileStatus`
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **File Upload Architecture**: CollabFormFileUploadSection now requires `file_manager` prop to display file upload UI
|
|
24
|
+
- File upload no longer makes direct API calls
|
|
25
|
+
- Uses `file_manager.callbacks` for upload, remove, get_download_url, get_status, reupload operations
|
|
26
|
+
- Returns empty div when `file_manager` is not provided
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- **File Manager Prop Flow**: Fixed `file_manager` not being passed through `use_base_form_field` hook to CollabFormFileUploadSection
|
|
31
|
+
- **File Icon Crash**: Fixed `get_file_icon` crashing on undefined `mime_type` with defensive null handling
|
|
32
|
+
|
|
8
33
|
## [1.8.14] - 2026-02-02
|
|
9
34
|
|
|
10
35
|
### Added
|
package/README.md
CHANGED
|
@@ -75,7 +75,7 @@ npx shadcn@latest add popover command
|
|
|
75
75
|
# For HazoCollabFormDate (date picker)
|
|
76
76
|
npx shadcn@latest add calendar
|
|
77
77
|
|
|
78
|
-
# For file upload functionality (required when using
|
|
78
|
+
# For file upload functionality (required when using accept_files_public / accept_files_private props)
|
|
79
79
|
npx shadcn@latest add accordion
|
|
80
80
|
|
|
81
81
|
# For HazoTemplateGenerator (visual form builder)
|
|
@@ -193,63 +193,129 @@ export default function MyForm() {
|
|
|
193
193
|
}
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
### File Upload with
|
|
196
|
+
### File Upload with hazo_files Integration
|
|
197
|
+
|
|
198
|
+
The file upload system uses `hazo_files` for centralized file management:
|
|
197
199
|
|
|
198
200
|
```typescript
|
|
199
201
|
'use client';
|
|
200
202
|
|
|
201
|
-
import {
|
|
203
|
+
import { HazoCollabFormView, FileManagerConfig, FileManagerCallbacks, FileUploadOptions, FormFileAttachment } from 'hazo_collab_forms';
|
|
202
204
|
import { useState } from 'react';
|
|
203
205
|
|
|
204
206
|
export default function DocumentUpload() {
|
|
205
|
-
|
|
207
|
+
// Define file management callbacks
|
|
208
|
+
const fileCallbacks: FileManagerCallbacks = {
|
|
209
|
+
upload: async (file: File, options: FileUploadOptions) => {
|
|
210
|
+
const formData = new FormData();
|
|
211
|
+
formData.append('file', file);
|
|
212
|
+
formData.append('field_id', options.field_id);
|
|
213
|
+
formData.append('visibility', options.visibility);
|
|
214
|
+
|
|
215
|
+
const response = await fetch('/api/files/upload', {
|
|
216
|
+
method: 'POST',
|
|
217
|
+
body: formData,
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
const data = await response.json();
|
|
221
|
+
return {
|
|
222
|
+
file_id: data.file_id,
|
|
223
|
+
ref_id: options.field_id,
|
|
224
|
+
file_name: file.name,
|
|
225
|
+
file_size: file.size,
|
|
226
|
+
mime_type: file.type,
|
|
227
|
+
visibility: options.visibility,
|
|
228
|
+
attached_at: new Date(),
|
|
229
|
+
};
|
|
230
|
+
},
|
|
231
|
+
|
|
232
|
+
remove: async (file_id: string, field_id: string) => {
|
|
233
|
+
await fetch(`/api/files/${file_id}`, { method: 'DELETE' });
|
|
234
|
+
},
|
|
235
|
+
|
|
236
|
+
get_download_url: (file_id: string, field_id: string) => {
|
|
237
|
+
return `/api/files/${file_id}/download`;
|
|
238
|
+
},
|
|
239
|
+
|
|
240
|
+
// Optional: File status polling
|
|
241
|
+
get_status: async (file_ids: string[]) => {
|
|
242
|
+
const response = await fetch(`/api/files/status?ids=${file_ids.join(',')}`);
|
|
243
|
+
const data = await response.json();
|
|
244
|
+
return data.statuses; // Record<file_id, FileStatus>
|
|
245
|
+
},
|
|
246
|
+
|
|
247
|
+
// Optional: Reupload functionality
|
|
248
|
+
reupload: async (file_id: string, file: File, options: FileUploadOptions) => {
|
|
249
|
+
// Similar to upload, but replaces existing file
|
|
250
|
+
const formData = new FormData();
|
|
251
|
+
formData.append('file', file);
|
|
252
|
+
formData.append('file_id', file_id);
|
|
253
|
+
|
|
254
|
+
const response = await fetch(`/api/files/${file_id}/reupload`, {
|
|
255
|
+
method: 'PUT',
|
|
256
|
+
body: formData,
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
const data = await response.json();
|
|
260
|
+
return {
|
|
261
|
+
file_id: data.file_id,
|
|
262
|
+
ref_id: options.field_id,
|
|
263
|
+
file_name: file.name,
|
|
264
|
+
file_size: file.size,
|
|
265
|
+
mime_type: file.type,
|
|
266
|
+
visibility: options.visibility,
|
|
267
|
+
attached_at: new Date(),
|
|
268
|
+
};
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
const fileManager: FileManagerConfig = {
|
|
273
|
+
callbacks: fileCallbacks,
|
|
274
|
+
show_file_status: true, // Show status badges (active, orphaned, etc.)
|
|
275
|
+
allow_reupload: true, // Enable reupload button
|
|
276
|
+
status_poll_interval: 10000, // Poll status every 10s
|
|
277
|
+
};
|
|
206
278
|
|
|
207
279
|
return (
|
|
208
|
-
<
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
files_dir="public/uploads"
|
|
214
|
-
min_files={1} // Shows red asterisk (mandatory indicator)
|
|
215
|
-
max_files={5}
|
|
216
|
-
file_accept=".pdf"
|
|
217
|
-
file_validator={(file) => {
|
|
218
|
-
// Custom validation - filename pattern check
|
|
219
|
-
if (!file.name.match(/^INV-\d{4}\.pdf$/i)) {
|
|
220
|
-
return 'File name must match pattern: INV-0000.pdf';
|
|
221
|
-
}
|
|
222
|
-
// Size check (5MB limit)
|
|
223
|
-
if (file.size > 5 * 1024 * 1024) {
|
|
224
|
-
return 'File size must be under 5MB';
|
|
225
|
-
}
|
|
226
|
-
return null; // Accept file
|
|
227
|
-
}}
|
|
280
|
+
<HazoCollabFormView
|
|
281
|
+
mode="edit"
|
|
282
|
+
sections={sections}
|
|
283
|
+
form_data={formData}
|
|
284
|
+
file_manager={fileManager} // Required for file upload UI to appear
|
|
228
285
|
/>
|
|
229
286
|
);
|
|
230
287
|
}
|
|
231
288
|
```
|
|
232
289
|
|
|
233
|
-
###
|
|
290
|
+
### File Manager Configuration
|
|
234
291
|
|
|
235
|
-
|
|
292
|
+
File upload now uses a callback-based system via `FileManagerConfig`. You must implement the following callbacks:
|
|
236
293
|
|
|
237
|
-
**
|
|
294
|
+
**Required Callbacks:**
|
|
238
295
|
|
|
239
|
-
|
|
|
240
|
-
|
|
241
|
-
| `
|
|
242
|
-
| `
|
|
243
|
-
| `
|
|
244
|
-
| `visibility` | string | `'public'` or `'private'` |
|
|
245
|
-
| `required_permission` | string | Permission required for private files (optional) |
|
|
296
|
+
| Callback | Description |
|
|
297
|
+
|----------|-------------|
|
|
298
|
+
| `upload` | Upload a file and return FormFileAttachment |
|
|
299
|
+
| `remove` | Delete a file by file_id |
|
|
300
|
+
| `get_download_url` | Generate download URL for a file |
|
|
246
301
|
|
|
247
|
-
**
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
302
|
+
**Optional Callbacks:**
|
|
303
|
+
|
|
304
|
+
| Callback | Description |
|
|
305
|
+
|----------|-------------|
|
|
306
|
+
| `get_status` | Poll file status (active, orphaned, soft_deleted, missing) |
|
|
307
|
+
| `reupload` | Replace an existing file with a new version |
|
|
308
|
+
|
|
309
|
+
**Configuration Options:**
|
|
310
|
+
|
|
311
|
+
| Option | Type | Default | Description |
|
|
312
|
+
|--------|------|---------|-------------|
|
|
313
|
+
| `callbacks` | FileManagerCallbacks | required | File operation callbacks |
|
|
314
|
+
| `show_file_status` | boolean | false | Show status badges on files |
|
|
315
|
+
| `allow_reupload` | boolean | false | Enable reupload button |
|
|
316
|
+
| `status_poll_interval` | number | undefined | Status polling interval (ms) |
|
|
317
|
+
|
|
318
|
+
**Important**: File upload UI will only render when `file_manager` prop is provided to HazoCollabFormView.
|
|
253
319
|
|
|
254
320
|
### File Persistence (Multi-User Scenarios)
|
|
255
321
|
|
|
@@ -333,9 +399,24 @@ export default function CollaborativeForm({ formId }: { formId: string }) {
|
|
|
333
399
|
}
|
|
334
400
|
```
|
|
335
401
|
|
|
336
|
-
**
|
|
402
|
+
**File Attachment Interfaces:**
|
|
337
403
|
|
|
338
404
|
```typescript
|
|
405
|
+
// New callback-based attachment format
|
|
406
|
+
interface FormFileAttachment {
|
|
407
|
+
file_id: string; // Unique identifier
|
|
408
|
+
ref_id: string; // Field ID reference
|
|
409
|
+
file_name: string; // Display name
|
|
410
|
+
file_size: number; // Size in bytes
|
|
411
|
+
mime_type: string; // MIME type (e.g., 'application/pdf')
|
|
412
|
+
visibility: 'public' | 'private';
|
|
413
|
+
attached_at: Date; // Attachment timestamp
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// File status for status badges
|
|
417
|
+
type FileStatus = 'active' | 'orphaned' | 'soft_deleted' | 'missing';
|
|
418
|
+
|
|
419
|
+
// Legacy format (still supported for backward compatibility)
|
|
339
420
|
interface FileData {
|
|
340
421
|
file_path: string; // Server path for download
|
|
341
422
|
file_name: string; // Display name
|
|
@@ -347,6 +428,27 @@ interface FileData {
|
|
|
347
428
|
}
|
|
348
429
|
```
|
|
349
430
|
|
|
431
|
+
**Conversion Utilities:**
|
|
432
|
+
|
|
433
|
+
```typescript
|
|
434
|
+
import {
|
|
435
|
+
attachment_to_file_data,
|
|
436
|
+
file_data_to_attachment,
|
|
437
|
+
is_form_file_attachment
|
|
438
|
+
} from 'hazo_collab_forms';
|
|
439
|
+
|
|
440
|
+
// Convert new format to legacy
|
|
441
|
+
const legacy = attachment_to_file_data(attachment);
|
|
442
|
+
|
|
443
|
+
// Convert legacy to new format
|
|
444
|
+
const attachment = file_data_to_attachment(fileData, 'field_id');
|
|
445
|
+
|
|
446
|
+
// Type guard
|
|
447
|
+
if (is_form_file_attachment(item)) {
|
|
448
|
+
// item is FormFileAttachment
|
|
449
|
+
}
|
|
450
|
+
```
|
|
451
|
+
|
|
350
452
|
**Backend API Example (Next.js):**
|
|
351
453
|
|
|
352
454
|
```typescript
|
|
@@ -1446,7 +1548,7 @@ Private file access is controlled via the `control_private_files` control in the
|
|
|
1446
1548
|
}
|
|
1447
1549
|
```
|
|
1448
1550
|
|
|
1449
|
-
When `control_private_files.visible` is `true`, users with that role will see private file upload sections on fields that have `
|
|
1551
|
+
When `control_private_files.visible` is `true`, users with that role will see private file upload sections on fields that have `accept_files_private: true`. This is automatically resolved from the `active_role` prop.
|
|
1450
1552
|
|
|
1451
1553
|
**Benefits:**
|
|
1452
1554
|
- Single configuration for entire form
|
|
@@ -1547,6 +1649,13 @@ import {
|
|
|
1547
1649
|
// Field metadata normalization
|
|
1548
1650
|
normalize_field_metadata,
|
|
1549
1651
|
normalize_field_metadata_input,
|
|
1652
|
+
|
|
1653
|
+
// File management
|
|
1654
|
+
get_field_attachments,
|
|
1655
|
+
get_field_private_attachments,
|
|
1656
|
+
is_form_file_attachment,
|
|
1657
|
+
attachment_to_file_data,
|
|
1658
|
+
file_data_to_attachment,
|
|
1550
1659
|
} from 'hazo_collab_forms';
|
|
1551
1660
|
|
|
1552
1661
|
// Traverse all fields in sections
|
|
@@ -1563,6 +1672,10 @@ const shouldRender = should_render_field(field, formData, {
|
|
|
1563
1672
|
// Parse and check field dependencies
|
|
1564
1673
|
const dependency = parse_dependency(field.depends_on);
|
|
1565
1674
|
const isActive = check_dependency(dependency, formData);
|
|
1675
|
+
|
|
1676
|
+
// Get file attachments for a field
|
|
1677
|
+
const publicFiles = get_field_attachments(formData, 'document_field');
|
|
1678
|
+
const privateFiles = get_field_private_attachments(formData, 'sensitive_field');
|
|
1566
1679
|
```
|
|
1567
1680
|
|
|
1568
1681
|
## Components
|
|
@@ -1603,7 +1716,7 @@ const isActive = check_dependency(dependency, formData);
|
|
|
1603
1716
|
|
|
1604
1717
|
| Feature | Required shadcn |
|
|
1605
1718
|
|---------|-----------------|
|
|
1606
|
-
| File Upload (`
|
|
1719
|
+
| File Upload (`accept_files_public` / `accept_files_private` props) | + **accordion** (required) |
|
|
1607
1720
|
| Field Tooltips (`tooltip` prop) | + **hover-card** (optional) |
|
|
1608
1721
|
|
|
1609
1722
|
## Import Paths
|
|
@@ -1642,7 +1755,7 @@ If you see errors about missing components, install the specific shadcn componen
|
|
|
1642
1755
|
npx shadcn@latest add [component-name]
|
|
1643
1756
|
```
|
|
1644
1757
|
|
|
1645
|
-
**Important**: If you're using file upload functionality (`
|
|
1758
|
+
**Important**: If you're using file upload functionality (`accept_files_public` or `accept_files_private` props on any form field), you **must** install the accordion component:
|
|
1646
1759
|
|
|
1647
1760
|
```bash
|
|
1648
1761
|
npx shadcn@latest add accordion
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { type DataTableConfig, type TooltipConfig } from './hazo_collab_form_data_table.js';
|
|
8
|
-
import type { NoteEntry, FieldValidatorValue, ChatStatusColorsConfig
|
|
8
|
+
import type { NoteEntry, FieldValidatorValue, ChatStatusColorsConfig } from './hazo_collab_form_base.js';
|
|
9
|
+
import type { FormFileAttachment } from '../types/file_attachment.js';
|
|
10
|
+
import type { FileManagerConfig } from '../types/file_manager.js';
|
|
9
11
|
import { type NewFieldDefinition, type DialogComponents, type ComboboxComponents } from './hazo_add_field_dialog/index.js';
|
|
10
12
|
import type { IconsBehaviour } from '../types/icons_behaviour.js';
|
|
11
13
|
/**
|
|
@@ -94,9 +96,16 @@ export interface FieldConfig {
|
|
|
94
96
|
*/
|
|
95
97
|
input_type?: 'mixed' | 'numeric' | 'email' | 'alpha';
|
|
96
98
|
/**
|
|
97
|
-
* Whether to accept
|
|
99
|
+
* Whether to accept public file uploads
|
|
100
|
+
* When true, displays a public files upload section
|
|
98
101
|
*/
|
|
99
|
-
|
|
102
|
+
accept_files_public?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Whether to accept private file uploads
|
|
105
|
+
* When true and user has permission, displays a private files upload section
|
|
106
|
+
* Gated by `control_private_files.visible` in `icons_behaviour` roles
|
|
107
|
+
*/
|
|
108
|
+
accept_files_private?: boolean;
|
|
100
109
|
/**
|
|
101
110
|
* Server directory path where files should be saved
|
|
102
111
|
*/
|
|
@@ -125,18 +134,10 @@ export interface FieldConfig {
|
|
|
125
134
|
* Note: For JSON configs, this must be passed via a callback prop
|
|
126
135
|
*/
|
|
127
136
|
file_validator?: (file: File) => string | null;
|
|
128
|
-
/**
|
|
129
|
-
* Enable private/public file visibility controls
|
|
130
|
-
* When true and private_files_permission is set, displays two file sections:
|
|
131
|
-
* - Public Files: visible to all users
|
|
132
|
-
* - Private Files: visible only to users with the required permission
|
|
133
|
-
* Default: false (all files are public, existing behavior)
|
|
134
|
-
*/
|
|
135
|
-
enable_file_visibility?: boolean;
|
|
136
137
|
/**
|
|
137
138
|
* Permission string required to view/upload private files
|
|
138
139
|
* Uses hazo_auth permission checking
|
|
139
|
-
*
|
|
140
|
+
* Required when accept_files_private is true
|
|
140
141
|
*/
|
|
141
142
|
private_files_permission?: string;
|
|
142
143
|
/**
|
|
@@ -486,9 +487,13 @@ export interface Section {
|
|
|
486
487
|
*/
|
|
487
488
|
section_name?: string;
|
|
488
489
|
/**
|
|
489
|
-
* Whether to accept
|
|
490
|
+
* Whether to accept public file uploads at the section level
|
|
490
491
|
*/
|
|
491
|
-
|
|
492
|
+
accept_files_public?: boolean;
|
|
493
|
+
/**
|
|
494
|
+
* Whether to accept private file uploads at the section level
|
|
495
|
+
*/
|
|
496
|
+
accept_files_private?: boolean;
|
|
492
497
|
/**
|
|
493
498
|
* Array of groups in the section
|
|
494
499
|
* Each group is a FieldConfig with field_type='group' and contains fields
|
|
@@ -956,7 +961,7 @@ export interface HazoCollabFormSetProps {
|
|
|
956
961
|
library_scope_id?: string | null;
|
|
957
962
|
/**
|
|
958
963
|
* Whether the current user/role can access private files
|
|
959
|
-
* When true, private file sections are visible for fields with
|
|
964
|
+
* When true, private file sections are visible for fields with accept_files_private.
|
|
960
965
|
* This is typically resolved from the active_role's can_access_private_files setting
|
|
961
966
|
* in icons_behaviour/global_settings and passed down from HazoCollabFormView.
|
|
962
967
|
*
|
|
@@ -966,33 +971,28 @@ export interface HazoCollabFormSetProps {
|
|
|
966
971
|
* 3. hazo_auth API permission check (using private_files_permission)
|
|
967
972
|
*/
|
|
968
973
|
can_access_private_files?: boolean;
|
|
974
|
+
/**
|
|
975
|
+
* File manager configuration for hazo_files integration.
|
|
976
|
+
* When provided, file upload/remove operations use the callback interface
|
|
977
|
+
* instead of the legacy upload_endpoint pattern.
|
|
978
|
+
*/
|
|
979
|
+
file_manager?: FileManagerConfig;
|
|
969
980
|
/**
|
|
970
981
|
* Callback when files change for any field.
|
|
971
982
|
* Called with field_id and the updated files array.
|
|
972
|
-
* Use this to persist files to your backend or parent state.
|
|
973
983
|
*
|
|
974
984
|
* Files are automatically stored in form_data using key pattern `__files_${field_id}`
|
|
975
985
|
* and will be included in get_form_data() and on_form_data_change callbacks.
|
|
976
|
-
* This callback provides a dedicated handler for file changes specifically.
|
|
977
|
-
*
|
|
978
|
-
* @example
|
|
979
|
-
* ```typescript
|
|
980
|
-
* on_field_files_change={(field_id, files) => {
|
|
981
|
-
* console.log(`Files changed for ${field_id}:`, files);
|
|
982
|
-
* // Persist to backend or update parent state
|
|
983
|
-
* }}
|
|
984
|
-
* ```
|
|
985
986
|
*/
|
|
986
|
-
on_field_files_change?: (field_id: string, files:
|
|
987
|
+
on_field_files_change?: (field_id: string, files: FormFileAttachment[]) => void;
|
|
987
988
|
/**
|
|
988
989
|
* Callback when private files change for any field.
|
|
989
990
|
* Called with field_id and the updated private files array.
|
|
990
|
-
* Only relevant when enable_file_visibility is true on fields.
|
|
991
991
|
*
|
|
992
992
|
* Private files are automatically stored in form_data using key pattern `__private_files_${field_id}`
|
|
993
993
|
* and will be included in get_form_data() and on_form_data_change callbacks.
|
|
994
994
|
*/
|
|
995
|
-
on_field_private_files_change?: (field_id: string, files:
|
|
995
|
+
on_field_private_files_change?: (field_id: string, files: FormFileAttachment[]) => void;
|
|
996
996
|
/**
|
|
997
997
|
* Function to get row background color for a field based on its data_ok state
|
|
998
998
|
* Returns a Tailwind CSS class for the field's background color
|
|
@@ -1038,13 +1038,13 @@ export interface HazoCollabFormSetRef {
|
|
|
1038
1038
|
* Returns a map of field_id -> files array
|
|
1039
1039
|
* Extracts files from form_data entries with __files_ prefix
|
|
1040
1040
|
*/
|
|
1041
|
-
get_files_data: () => Record<string,
|
|
1041
|
+
get_files_data: () => Record<string, FormFileAttachment[]>;
|
|
1042
1042
|
/**
|
|
1043
1043
|
* Get all private files data
|
|
1044
1044
|
* Returns a map of field_id -> files array
|
|
1045
1045
|
* Extracts files from form_data entries with __private_files_ prefix
|
|
1046
1046
|
*/
|
|
1047
|
-
get_private_files_data: () => Record<string,
|
|
1047
|
+
get_private_files_data: () => Record<string, FormFileAttachment[]>;
|
|
1048
1048
|
}
|
|
1049
1049
|
/**
|
|
1050
1050
|
* Collaboration form set component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_internal_form_set.d.ts","sourceRoot":"","sources":["../../src/components/_internal_form_set.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_internal_form_set.d.ts","sourceRoot":"","sources":["../../src/components/_internal_form_set.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { IoTrash } from 'react-icons/io5';
|
|
10
10
|
import { use_logger } from '../logger/context.js';
|
|
11
|
+
import { DEFAULTS } from '../config/defaults.js';
|
|
12
|
+
import { API_ENDPOINTS } from '../config/api_endpoints.js';
|
|
11
13
|
// Import directly from each component file to avoid circular dependencies
|
|
12
14
|
// (index.js exports HazoCollabFormSet which imports from these files)
|
|
13
15
|
import { HazoCollabFormInputbox } from './hazo_collab_form_inputbox.js';
|
|
@@ -171,6 +173,8 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
171
173
|
enable_library, library_api_base_url, library_table_name, library_scope_id,
|
|
172
174
|
// Private file access control
|
|
173
175
|
can_access_private_files: can_access_private_files_prop,
|
|
176
|
+
// File manager
|
|
177
|
+
file_manager,
|
|
174
178
|
// File persistence callbacks
|
|
175
179
|
on_field_files_change, on_field_private_files_change,
|
|
176
180
|
// Row color function
|
|
@@ -181,7 +185,8 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
181
185
|
// Resolve groups and section_name from section config
|
|
182
186
|
const resolved_groups = React.useMemo(() => get_section_groups(section), [section]);
|
|
183
187
|
const resolved_section_name = React.useMemo(() => get_section_name(section), [section]);
|
|
184
|
-
const
|
|
188
|
+
const resolved_accept_files_public = section.accept_files_public ?? false;
|
|
189
|
+
const resolved_accept_files_private = section.accept_files_private ?? false;
|
|
185
190
|
// Extract icons_behaviour - prop takes precedence over section config
|
|
186
191
|
const resolved_icons_behaviour = icons_behaviour_prop ?? section.icons_behaviour;
|
|
187
192
|
// Debug logging for icons_behaviour
|
|
@@ -203,7 +208,7 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
203
208
|
const fetch_default_chat_group_id = async () => {
|
|
204
209
|
try {
|
|
205
210
|
// First, get the current user from hazo_auth
|
|
206
|
-
const auth_response = await fetch(
|
|
211
|
+
const auth_response = await fetch(API_ENDPOINTS.auth_me);
|
|
207
212
|
if (!auth_response.ok) {
|
|
208
213
|
logger.debug('[HazoCollabFormSet] Auth API not available or user not authenticated');
|
|
209
214
|
return; // User not authenticated or API route doesn't exist
|
|
@@ -685,7 +690,7 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
685
690
|
set_additional_entries((prev) => {
|
|
686
691
|
const current = prev[base_field_id] || [0];
|
|
687
692
|
// Find the max entry to determine the next number
|
|
688
|
-
const max_entries =
|
|
693
|
+
const max_entries = DEFAULTS.max_additional_entries;
|
|
689
694
|
if (current.length >= max_entries) {
|
|
690
695
|
return prev;
|
|
691
696
|
}
|
|
@@ -879,7 +884,7 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
879
884
|
reference_id: field_id,
|
|
880
885
|
});
|
|
881
886
|
logger.debug('[HazoCollabFormSet] Checking field', { field_id, params: params.toString() });
|
|
882
|
-
const response = await fetch(
|
|
887
|
+
const response = await fetch(`${API_ENDPOINTS.chat_messages}?${params.toString()}`);
|
|
883
888
|
if (response.ok) {
|
|
884
889
|
const data = await response.json();
|
|
885
890
|
const messages = data.messages || [];
|
|
@@ -1167,24 +1172,33 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
1167
1172
|
hazo_chat_container_element: chat_container_element,
|
|
1168
1173
|
hazo_chat_log_polling: chat_log_polling,
|
|
1169
1174
|
// File upload props
|
|
1170
|
-
|
|
1175
|
+
accept_files_public: field.accept_files_public ?? resolved_accept_files_public,
|
|
1176
|
+
accept_files_private: field.accept_files_private ?? resolved_accept_files_private,
|
|
1171
1177
|
files_dir: field.files_dir,
|
|
1172
1178
|
max_size: field.max_size,
|
|
1173
1179
|
min_files: field.min_files,
|
|
1174
1180
|
max_files: field.max_files,
|
|
1175
1181
|
file_accept: field.file_accept,
|
|
1176
1182
|
file_validator: field.file_validator,
|
|
1183
|
+
// File manager callbacks
|
|
1184
|
+
...(file_manager ? { file_manager: file_manager.callbacks } : {}),
|
|
1177
1185
|
// File persistence - read from form_data using __files_ prefix
|
|
1178
1186
|
files: form_data[`__files_${field_data_id}`] || [],
|
|
1179
1187
|
on_files_change: (new_files) => handle_files_change(field_data_id, new_files),
|
|
1180
|
-
//
|
|
1181
|
-
enable_file_visibility: field.enable_file_visibility,
|
|
1188
|
+
// Private file props
|
|
1182
1189
|
private_files_permission: field.private_files_permission,
|
|
1183
1190
|
// Form-level can_access_private_files takes precedence over field-level
|
|
1184
1191
|
can_access_private_files: can_access_private_files_prop ?? field.can_access_private_files,
|
|
1185
1192
|
// Private file persistence - read from form_data using __private_files_ prefix
|
|
1186
1193
|
private_files: form_data[`__private_files_${field_data_id}`] || [],
|
|
1187
1194
|
on_private_files_change: (new_files) => handle_private_files_change(field_data_id, new_files),
|
|
1195
|
+
// File status props
|
|
1196
|
+
...(file_manager ? {
|
|
1197
|
+
show_file_status: file_manager.show_file_status,
|
|
1198
|
+
allow_reupload: file_manager.allow_reupload,
|
|
1199
|
+
scope_id: file_manager.scope_id,
|
|
1200
|
+
uploaded_by: file_manager.uploaded_by,
|
|
1201
|
+
} : {}),
|
|
1188
1202
|
// Field validation
|
|
1189
1203
|
field_validator: field.field_validator,
|
|
1190
1204
|
field_width_class_name,
|
|
@@ -1237,7 +1251,7 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
1237
1251
|
user_role,
|
|
1238
1252
|
// Additional entry props
|
|
1239
1253
|
additional_entry: field.additional_entry,
|
|
1240
|
-
max_additional_entries: field.max_additional_entries ??
|
|
1254
|
+
max_additional_entries: field.max_additional_entries ?? DEFAULTS.max_additional_entries,
|
|
1241
1255
|
entry_index,
|
|
1242
1256
|
entry_count,
|
|
1243
1257
|
is_additional_entry,
|
|
@@ -1364,15 +1378,20 @@ export const HazoCollabFormSet = React.forwardRef((props, ref) => {
|
|
|
1364
1378
|
const delete_field_enabled = role_controls?.control_delete_field?.enabled;
|
|
1365
1379
|
// Enabled state for controls (clickable/editable)
|
|
1366
1380
|
const data_ok_is_enabled = group_show_icons && role_controls?.control_data_ok?.enabled;
|
|
1367
|
-
return (_jsx(HazoCollabFormGroup, { label: field.label, tooltip: field.tooltip, field_data_id: field.id, field_name: field.label,
|
|
1381
|
+
return (_jsx(HazoCollabFormGroup, { label: field.label, tooltip: field.tooltip, field_data_id: field.id, field_name: field.label, accept_files_public: field.accept_files_public ?? resolved_accept_files_public, accept_files_private: field.accept_files_private ?? resolved_accept_files_private, files_dir: field.files_dir, max_size: field.max_size, min_files: field.min_files, max_files: field.max_files, file_accept: field.file_accept, file_validator: field.file_validator, field_validator: field.field_validator, ...(file_manager ? { file_manager: file_manager.callbacks } : {}),
|
|
1368
1382
|
// File persistence - read from form_data using __files_ prefix
|
|
1369
1383
|
files: form_data[`__files_${field.id}`] || [], on_files_change: (new_files) => handle_files_change(field.id, new_files),
|
|
1370
|
-
//
|
|
1371
|
-
|
|
1384
|
+
// Private file props
|
|
1385
|
+
private_files_permission: field.private_files_permission,
|
|
1372
1386
|
// Form-level can_access_private_files takes precedence over field-level
|
|
1373
1387
|
can_access_private_files: can_access_private_files_prop ?? field.can_access_private_files,
|
|
1374
1388
|
// Private file persistence - read from form_data using __private_files_ prefix
|
|
1375
|
-
private_files: form_data[`__private_files_${field.id}`] || [], on_private_files_change: (new_files) => handle_private_files_change(field.id, new_files),
|
|
1389
|
+
private_files: form_data[`__private_files_${field.id}`] || [], on_private_files_change: (new_files) => handle_private_files_change(field.id, new_files), ...(file_manager ? {
|
|
1390
|
+
show_file_status: file_manager.show_file_status,
|
|
1391
|
+
allow_reupload: file_manager.allow_reupload,
|
|
1392
|
+
scope_id: file_manager.scope_id,
|
|
1393
|
+
uploaded_by: file_manager.uploaded_by,
|
|
1394
|
+
} : {}), hazo_chat_group_id: chat_group_id, hazo_chat_read_only: field.chat_read_only ?? chat_read_only_prop, hazo_chat_realtime_mode: chat_realtime_mode, chat_status: field_chat_status[field.id] || 'none',
|
|
1376
1395
|
// Notes control - determined by icons_behaviour when show_icons=true
|
|
1377
1396
|
enable_notes: show_notes, ...(notes_mode === 'controlled' ? {
|
|
1378
1397
|
notes: field_notes[field.id] || [],
|