hazo_collab_forms 1.4.5 → 1.4.7
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/dist/components/collab_form_file_upload.d.ts +24 -1
- package/dist/components/collab_form_file_upload.d.ts.map +1 -1
- package/dist/components/collab_form_file_upload.js +232 -28
- package/dist/components/collab_form_file_upload.js.map +1 -1
- package/dist/components/hazo_collab_form_base.d.ts +42 -2
- package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_base.js +15 -5
- package/dist/components/hazo_collab_form_base.js.map +1 -1
- package/dist/components/hazo_collab_form_checkbox.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_checkbox.js +2 -2
- package/dist/components/hazo_collab_form_checkbox.js.map +1 -1
- package/dist/components/hazo_collab_form_combo.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_combo.js +4 -4
- 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 +3 -3
- package/dist/components/hazo_collab_form_data_table.js.map +1 -1
- package/dist/components/hazo_collab_form_date.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_date.js +2 -2
- package/dist/components/hazo_collab_form_date.js.map +1 -1
- package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_group.js +2 -2
- package/dist/components/hazo_collab_form_group.js.map +1 -1
- package/dist/components/hazo_collab_form_inputbox.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_inputbox.js +2 -2
- package/dist/components/hazo_collab_form_inputbox.js.map +1 -1
- package/dist/components/hazo_collab_form_radio.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_radio.js +2 -2
- package/dist/components/hazo_collab_form_radio.js.map +1 -1
- package/dist/components/hazo_collab_form_set.d.ts +29 -0
- package/dist/components/hazo_collab_form_set.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_set.js +9 -2
- package/dist/components/hazo_collab_form_set.js.map +1 -1
- package/dist/components/hazo_collab_form_textarea.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_textarea.js +2 -2
- package/dist/components/hazo_collab_form_textarea.js.map +1 -1
- package/package.json +1 -1
|
@@ -64,9 +64,32 @@ export interface CollabFormFileUploadProps {
|
|
|
64
64
|
* Default: '/api/collab-forms/upload-file'
|
|
65
65
|
*/
|
|
66
66
|
upload_endpoint?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Enable private/public file visibility controls
|
|
69
|
+
* When true and private_files_permission is set, displays two file sections
|
|
70
|
+
*/
|
|
71
|
+
enable_file_visibility?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Permission string required to view/upload private files
|
|
74
|
+
* Uses hazo_auth permission checking
|
|
75
|
+
*/
|
|
76
|
+
private_files_permission?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Controlled private files state
|
|
79
|
+
*/
|
|
80
|
+
private_files?: FileData[];
|
|
81
|
+
/**
|
|
82
|
+
* Callback when private files change
|
|
83
|
+
*/
|
|
84
|
+
on_private_files_change?: (files: FileData[]) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Whether user has permission to access private files
|
|
87
|
+
* Can be provided by parent component to override internal permission check
|
|
88
|
+
*/
|
|
89
|
+
can_access_private_files?: boolean;
|
|
67
90
|
}
|
|
68
91
|
/**
|
|
69
92
|
* Collaboration form file upload component
|
|
70
93
|
*/
|
|
71
|
-
export declare function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint, }: CollabFormFileUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
export declare function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint, enable_file_visibility, private_files_permission, private_files: controlled_private_files, on_private_files_change, can_access_private_files: can_access_private_files_prop, }: CollabFormFileUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
72
95
|
//# sourceMappingURL=collab_form_file_upload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collab_form_file_upload.d.ts","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAI3D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpG;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAErC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"collab_form_file_upload.d.ts","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAI3D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpG;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAErC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE3B;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAEtD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AA2CD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,EAAE,gBAAgB,EACvB,eAAe,EACf,aAAa,EACb,eAAiD,EACjD,sBAA8B,EAC9B,wBAAwB,EACxB,aAAa,EAAE,wBAAwB,EACvC,uBAAuB,EACvB,wBAAwB,EAAE,6BAA6B,GACxD,EAAE,yBAAyB,2CAyhB3B"}
|
|
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
import React, { useRef, useState, useCallback } from 'react';
|
|
8
8
|
import { cn } from '../utils/cn.js';
|
|
9
9
|
import { use_logger } from '../logger/context.js';
|
|
10
|
-
import { HiTrash, HiPaperClip, HiPhotograph, HiDocument, HiDocumentText, HiCheckCircle } from 'react-icons/hi';
|
|
10
|
+
import { HiTrash, HiPaperClip, HiPhotograph, HiDocument, HiDocumentText, HiCheckCircle, HiLockClosed, HiLockOpen } from 'react-icons/hi';
|
|
11
11
|
import { FaSpinner } from 'react-icons/fa';
|
|
12
12
|
/**
|
|
13
13
|
* Get file icon based on file type
|
|
@@ -46,28 +46,132 @@ function format_file_size(bytes) {
|
|
|
46
46
|
/**
|
|
47
47
|
* Collaboration form file upload component
|
|
48
48
|
*/
|
|
49
|
-
export function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files = 10, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint = '/api/collab-forms/upload-file', }) {
|
|
49
|
+
export function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files = 10, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint = '/api/collab-forms/upload-file', enable_file_visibility = false, private_files_permission, private_files: controlled_private_files, on_private_files_change, can_access_private_files: can_access_private_files_prop, }) {
|
|
50
|
+
const logger = use_logger();
|
|
50
51
|
const file_input_ref = useRef(null);
|
|
52
|
+
const private_file_input_ref = useRef(null);
|
|
51
53
|
const [internal_files, set_internal_files] = useState([]);
|
|
54
|
+
const [internal_private_files, set_internal_private_files] = useState([]);
|
|
52
55
|
const [is_dragging, set_is_dragging] = useState(false);
|
|
56
|
+
const [is_dragging_private, set_is_dragging_private] = useState(false);
|
|
53
57
|
const [upload_errors, set_upload_errors] = useState({});
|
|
54
58
|
const [uploading_files, set_uploading_files] = useState(new Set());
|
|
55
59
|
const [processing_files, set_processing_files] = useState(new Set());
|
|
56
60
|
const [processed_files, set_processed_files] = useState(new Set());
|
|
61
|
+
const [has_permission, set_has_permission] = useState(false);
|
|
62
|
+
const [permission_loading, set_permission_loading] = useState(true);
|
|
57
63
|
// Use controlled files if provided, otherwise use internal state
|
|
58
64
|
const files = controlled_files !== undefined ? controlled_files : internal_files;
|
|
59
65
|
const is_controlled = controlled_files !== undefined;
|
|
66
|
+
// Use controlled private files if provided, otherwise use internal state
|
|
67
|
+
const private_files = controlled_private_files !== undefined ? controlled_private_files : internal_private_files;
|
|
68
|
+
const is_private_controlled = controlled_private_files !== undefined;
|
|
69
|
+
// Check permission using hazo_auth when enable_file_visibility is true
|
|
70
|
+
React.useEffect(() => {
|
|
71
|
+
if (!enable_file_visibility || !private_files_permission) {
|
|
72
|
+
set_permission_loading(false);
|
|
73
|
+
set_has_permission(false);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// If permission is provided via prop, use that
|
|
77
|
+
if (can_access_private_files_prop !== undefined) {
|
|
78
|
+
set_has_permission(can_access_private_files_prop);
|
|
79
|
+
set_permission_loading(false);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
// Otherwise, check via hazo_auth API
|
|
83
|
+
const check_permission = async () => {
|
|
84
|
+
try {
|
|
85
|
+
set_permission_loading(true);
|
|
86
|
+
const response = await fetch('/api/hazo_auth/get_auth', {
|
|
87
|
+
credentials: 'include',
|
|
88
|
+
});
|
|
89
|
+
if (response.ok) {
|
|
90
|
+
const auth_data = await response.json();
|
|
91
|
+
if (auth_data.authenticated && auth_data.permissions) {
|
|
92
|
+
const has_perm = auth_data.permissions.includes(private_files_permission);
|
|
93
|
+
set_has_permission(has_perm);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
set_has_permission(false);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
set_has_permission(false);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
logger.warn('[CollabFormFileUpload] Error checking permission', {
|
|
105
|
+
permission: private_files_permission,
|
|
106
|
+
error: error instanceof Error ? error.message : String(error),
|
|
107
|
+
});
|
|
108
|
+
set_has_permission(false);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
set_permission_loading(false);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
check_permission();
|
|
115
|
+
}, [enable_file_visibility, private_files_permission, can_access_private_files_prop]);
|
|
116
|
+
// Determine if private files section should be shown
|
|
117
|
+
const show_private_section = !!(enable_file_visibility && private_files_permission && has_permission && !permission_loading);
|
|
60
118
|
/**
|
|
61
|
-
* Update files state
|
|
119
|
+
* Update files state (public files)
|
|
62
120
|
*/
|
|
63
121
|
const update_files = useCallback((new_files) => {
|
|
122
|
+
// Ensure all files have visibility set to 'public'
|
|
123
|
+
const files_with_visibility = new_files.map(f => ({
|
|
124
|
+
...f,
|
|
125
|
+
visibility: f.visibility || 'public',
|
|
126
|
+
}));
|
|
64
127
|
if (!is_controlled) {
|
|
65
|
-
set_internal_files(
|
|
128
|
+
set_internal_files(files_with_visibility);
|
|
66
129
|
}
|
|
67
130
|
if (on_files_change) {
|
|
68
|
-
on_files_change(
|
|
131
|
+
on_files_change(files_with_visibility);
|
|
69
132
|
}
|
|
70
133
|
}, [is_controlled, on_files_change]);
|
|
134
|
+
/**
|
|
135
|
+
* Update private files state
|
|
136
|
+
*/
|
|
137
|
+
const update_private_files = useCallback((new_files) => {
|
|
138
|
+
// Ensure all files have visibility set to 'private'
|
|
139
|
+
const files_with_visibility = new_files.map(f => ({
|
|
140
|
+
...f,
|
|
141
|
+
visibility: 'private',
|
|
142
|
+
}));
|
|
143
|
+
if (!is_private_controlled) {
|
|
144
|
+
set_internal_private_files(files_with_visibility);
|
|
145
|
+
}
|
|
146
|
+
if (on_private_files_change) {
|
|
147
|
+
on_private_files_change(files_with_visibility);
|
|
148
|
+
}
|
|
149
|
+
}, [is_private_controlled, on_private_files_change]);
|
|
150
|
+
/**
|
|
151
|
+
* Toggle file visibility (move between public and private)
|
|
152
|
+
*/
|
|
153
|
+
const toggle_file_visibility = useCallback((file_id, current_visibility) => {
|
|
154
|
+
if (current_visibility === 'public') {
|
|
155
|
+
// Move from public to private
|
|
156
|
+
const file_to_move = files.find(f => f.file_id === file_id);
|
|
157
|
+
if (file_to_move) {
|
|
158
|
+
const new_public_files = files.filter(f => f.file_id !== file_id);
|
|
159
|
+
const moved_file = { ...file_to_move, visibility: 'private' };
|
|
160
|
+
update_files(new_public_files);
|
|
161
|
+
update_private_files([...private_files, moved_file]);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
// Move from private to public
|
|
166
|
+
const file_to_move = private_files.find(f => f.file_id === file_id);
|
|
167
|
+
if (file_to_move) {
|
|
168
|
+
const new_private_files = private_files.filter(f => f.file_id !== file_id);
|
|
169
|
+
const moved_file = { ...file_to_move, visibility: 'public' };
|
|
170
|
+
update_private_files(new_private_files);
|
|
171
|
+
update_files([...files, moved_file]);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}, [files, private_files, update_files, update_private_files]);
|
|
71
175
|
/**
|
|
72
176
|
* Validate file before upload
|
|
73
177
|
*/
|
|
@@ -116,7 +220,7 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
116
220
|
/**
|
|
117
221
|
* Upload file to server
|
|
118
222
|
*/
|
|
119
|
-
const upload_file = useCallback(async (file) => {
|
|
223
|
+
const upload_file = useCallback(async (file, visibility = 'public') => {
|
|
120
224
|
const file_id = `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
121
225
|
const uploading_id = `${file_id}-${file.name}`;
|
|
122
226
|
try {
|
|
@@ -126,9 +230,16 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
126
230
|
if (files_dir) {
|
|
127
231
|
form_data.append('files_dir', files_dir);
|
|
128
232
|
}
|
|
233
|
+
// Add visibility to the form data
|
|
234
|
+
form_data.append('visibility', visibility);
|
|
235
|
+
// Add required permission for private files (server-side validation)
|
|
236
|
+
if (visibility === 'private' && private_files_permission) {
|
|
237
|
+
form_data.append('required_permission', private_files_permission);
|
|
238
|
+
}
|
|
129
239
|
const response = await fetch(upload_endpoint, {
|
|
130
240
|
method: 'POST',
|
|
131
241
|
body: form_data,
|
|
242
|
+
credentials: 'include',
|
|
132
243
|
});
|
|
133
244
|
if (!response.ok) {
|
|
134
245
|
const error_data = await response.json().catch(() => ({ error: 'Upload failed' }));
|
|
@@ -142,6 +253,7 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
142
253
|
file_type: file.type,
|
|
143
254
|
file_id,
|
|
144
255
|
uploaded_at: new Date(),
|
|
256
|
+
visibility,
|
|
145
257
|
};
|
|
146
258
|
// Call file processor if provided
|
|
147
259
|
if (file_processor && component_ref) {
|
|
@@ -180,9 +292,9 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
180
292
|
return next;
|
|
181
293
|
});
|
|
182
294
|
}
|
|
183
|
-
}, [files_dir, upload_endpoint, file_processor, component_ref]);
|
|
295
|
+
}, [files_dir, upload_endpoint, file_processor, component_ref, private_files_permission]);
|
|
184
296
|
/**
|
|
185
|
-
* Handle file selection
|
|
297
|
+
* Handle file selection (public files)
|
|
186
298
|
*/
|
|
187
299
|
const handle_files_selected = useCallback(async (selected_files) => {
|
|
188
300
|
if (!selected_files || selected_files.length === 0)
|
|
@@ -203,14 +315,44 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
203
315
|
if (Object.keys(errors).length > 0) {
|
|
204
316
|
set_upload_errors((prev) => ({ ...prev, ...errors }));
|
|
205
317
|
}
|
|
206
|
-
// Upload valid files
|
|
207
|
-
const upload_promises = files_to_upload.map((file) => upload_file(file));
|
|
318
|
+
// Upload valid files as public
|
|
319
|
+
const upload_promises = files_to_upload.map((file) => upload_file(file, 'public'));
|
|
208
320
|
const uploaded_files = await Promise.all(upload_promises);
|
|
209
321
|
const successful_uploads = uploaded_files.filter((f) => f !== null);
|
|
210
322
|
if (successful_uploads.length > 0) {
|
|
211
323
|
update_files([...files, ...successful_uploads]);
|
|
212
324
|
}
|
|
213
325
|
}, [files, validate_file, upload_file, update_files]);
|
|
326
|
+
/**
|
|
327
|
+
* Handle private file selection
|
|
328
|
+
*/
|
|
329
|
+
const handle_private_files_selected = useCallback(async (selected_files) => {
|
|
330
|
+
if (!selected_files || selected_files.length === 0)
|
|
331
|
+
return;
|
|
332
|
+
const files_to_upload = [];
|
|
333
|
+
const errors = {};
|
|
334
|
+
// Validate all files first (use same validation as public)
|
|
335
|
+
Array.from(selected_files).forEach((file) => {
|
|
336
|
+
const error = validate_file(file);
|
|
337
|
+
if (error) {
|
|
338
|
+
errors[file.name] = error;
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
files_to_upload.push(file);
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
// Set validation errors
|
|
345
|
+
if (Object.keys(errors).length > 0) {
|
|
346
|
+
set_upload_errors((prev) => ({ ...prev, ...errors }));
|
|
347
|
+
}
|
|
348
|
+
// Upload valid files as private
|
|
349
|
+
const upload_promises = files_to_upload.map((file) => upload_file(file, 'private'));
|
|
350
|
+
const uploaded_files = await Promise.all(upload_promises);
|
|
351
|
+
const successful_uploads = uploaded_files.filter((f) => f !== null);
|
|
352
|
+
if (successful_uploads.length > 0) {
|
|
353
|
+
update_private_files([...private_files, ...successful_uploads]);
|
|
354
|
+
}
|
|
355
|
+
}, [private_files, validate_file, upload_file, update_private_files]);
|
|
214
356
|
/**
|
|
215
357
|
* Handle drag and drop
|
|
216
358
|
*/
|
|
@@ -234,6 +376,25 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
234
376
|
set_is_dragging(false);
|
|
235
377
|
handle_files_selected(e.dataTransfer.files);
|
|
236
378
|
}, [handle_files_selected]);
|
|
379
|
+
/**
|
|
380
|
+
* Handle private drag and drop
|
|
381
|
+
*/
|
|
382
|
+
const handle_private_drag_enter = useCallback((e) => {
|
|
383
|
+
e.preventDefault();
|
|
384
|
+
e.stopPropagation();
|
|
385
|
+
set_is_dragging_private(true);
|
|
386
|
+
}, []);
|
|
387
|
+
const handle_private_drag_leave = useCallback((e) => {
|
|
388
|
+
e.preventDefault();
|
|
389
|
+
e.stopPropagation();
|
|
390
|
+
set_is_dragging_private(false);
|
|
391
|
+
}, []);
|
|
392
|
+
const handle_private_drop = useCallback((e) => {
|
|
393
|
+
e.preventDefault();
|
|
394
|
+
e.stopPropagation();
|
|
395
|
+
set_is_dragging_private(false);
|
|
396
|
+
handle_private_files_selected(e.dataTransfer.files);
|
|
397
|
+
}, [handle_private_files_selected]);
|
|
237
398
|
/**
|
|
238
399
|
* Handle file input change
|
|
239
400
|
*/
|
|
@@ -245,7 +406,17 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
245
406
|
}
|
|
246
407
|
}, [handle_files_selected]);
|
|
247
408
|
/**
|
|
248
|
-
* Handle file
|
|
409
|
+
* Handle private file input change
|
|
410
|
+
*/
|
|
411
|
+
const handle_private_input_change = useCallback((e) => {
|
|
412
|
+
handle_private_files_selected(e.target.files);
|
|
413
|
+
// Reset input to allow selecting the same file again
|
|
414
|
+
if (private_file_input_ref.current) {
|
|
415
|
+
private_file_input_ref.current.value = '';
|
|
416
|
+
}
|
|
417
|
+
}, [handle_private_files_selected]);
|
|
418
|
+
/**
|
|
419
|
+
* Handle file delete (public files)
|
|
249
420
|
*/
|
|
250
421
|
const handle_delete_file = useCallback((file_id) => {
|
|
251
422
|
const new_files = files.filter((f) => f.file_id !== file_id);
|
|
@@ -265,24 +436,43 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
|
|
|
265
436
|
});
|
|
266
437
|
}, [files, min_files, update_files]);
|
|
267
438
|
/**
|
|
268
|
-
*
|
|
439
|
+
* Handle private file delete
|
|
269
440
|
*/
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
441
|
+
const handle_delete_private_file = useCallback((file_id) => {
|
|
442
|
+
const new_files = private_files.filter((f) => f.file_id !== file_id);
|
|
443
|
+
update_private_files(new_files);
|
|
444
|
+
}, [private_files, update_private_files]);
|
|
445
|
+
/**
|
|
446
|
+
* Get file URL - handles both public and private files
|
|
447
|
+
*/
|
|
448
|
+
const get_file_url = useCallback((file_path, visibility) => {
|
|
449
|
+
if (file_path.startsWith('/')) {
|
|
450
|
+
return file_path;
|
|
451
|
+
}
|
|
452
|
+
// For private files, use the private files endpoint with permission query
|
|
453
|
+
if (visibility === 'private' && private_files_permission) {
|
|
454
|
+
return `/api/collab-forms/private-files/${encodeURIComponent(file_path)}?permission=${encodeURIComponent(private_files_permission)}`;
|
|
455
|
+
}
|
|
456
|
+
return `/api/collab-forms/files/${encodeURIComponent(file_path)}`;
|
|
457
|
+
}, [private_files_permission]);
|
|
458
|
+
// Build accordion title based on visibility mode
|
|
459
|
+
const accordion_title = enable_file_visibility && show_private_section
|
|
460
|
+
? `Files (${files.length} public, ${private_files.length} private)`
|
|
461
|
+
: files.length > 0 ? `Files (${files.length})` : 'Files';
|
|
276
462
|
// Always render wrapper div to maintain consistent DOM structure
|
|
277
463
|
// This prevents hydration mismatches when accept_files changes between server and client
|
|
278
464
|
return (_jsx("div", { className: "cls_collab_file_upload space-y-2", suppressHydrationWarning: true, children: accept_files ? (
|
|
279
465
|
/* Dynamic import for Accordion - will be loaded by consuming app */
|
|
280
|
-
_jsx(FileUploadAccordion, { field_id_final: field_id_final, title: accordion_title, is_dragging: is_dragging, on_drag_enter: handle_drag_enter, on_drag_leave: handle_drag_leave, on_drag_over: handle_drag_over, on_drop: handle_drop, file_input_ref: file_input_ref, file_accept: file_accept, on_input_change: handle_input_change, files: files, uploading_files: uploading_files, processing_files: processing_files, processed_files: processed_files, upload_errors: upload_errors, get_file_url: get_file_url, on_file_delete: handle_delete_file, get_file_icon: get_file_icon, format_file_size: format_file_size, max_files: max_files, min_files: min_files
|
|
466
|
+
_jsx(FileUploadAccordion, { field_id_final: field_id_final, title: accordion_title, is_dragging: is_dragging, on_drag_enter: handle_drag_enter, on_drag_leave: handle_drag_leave, on_drag_over: handle_drag_over, on_drop: handle_drop, file_input_ref: file_input_ref, file_accept: file_accept, on_input_change: handle_input_change, files: files, uploading_files: uploading_files, processing_files: processing_files, processed_files: processed_files, upload_errors: upload_errors, get_file_url: get_file_url, on_file_delete: handle_delete_file, get_file_icon: get_file_icon, format_file_size: format_file_size, max_files: max_files, min_files: min_files,
|
|
467
|
+
// Private files props
|
|
468
|
+
enable_file_visibility: enable_file_visibility, show_private_section: show_private_section, private_files: private_files, private_file_input_ref: private_file_input_ref, is_dragging_private: is_dragging_private, on_private_drag_enter: handle_private_drag_enter, on_private_drag_leave: handle_private_drag_leave, on_private_drop: handle_private_drop, on_private_input_change: handle_private_input_change, on_private_file_delete: handle_delete_private_file, on_toggle_visibility: toggle_file_visibility })) : null }));
|
|
281
469
|
}
|
|
282
470
|
/**
|
|
283
471
|
* File upload accordion component with dynamic imports
|
|
284
472
|
*/
|
|
285
|
-
function FileUploadAccordion({ field_id_final, title, is_dragging, on_drag_enter, on_drag_leave, on_drag_over, on_drop, file_input_ref, file_accept, on_input_change, files, uploading_files, processing_files, processed_files, upload_errors, get_file_url, on_file_delete, get_file_icon, format_file_size, max_files, min_files,
|
|
473
|
+
function FileUploadAccordion({ field_id_final, title, is_dragging, on_drag_enter, on_drag_leave, on_drag_over, on_drop, file_input_ref, file_accept, on_input_change, files, uploading_files, processing_files, processed_files, upload_errors, get_file_url, on_file_delete, get_file_icon, format_file_size, max_files, min_files,
|
|
474
|
+
// Private files props
|
|
475
|
+
enable_file_visibility = false, show_private_section = false, private_files = [], private_file_input_ref, is_dragging_private = false, on_private_drag_enter, on_private_drag_leave, on_private_drop, on_private_input_change, on_private_file_delete, on_toggle_visibility, }) {
|
|
286
476
|
const logger = use_logger();
|
|
287
477
|
const [AccordionComponents, set_accordion_components] = React.useState(null);
|
|
288
478
|
const [is_loading, set_is_loading] = React.useState(true);
|
|
@@ -339,15 +529,29 @@ function FileUploadAccordion({ field_id_final, title, is_dragging, on_drag_enter
|
|
|
339
529
|
const default_value = files.length > 0 ? 'files' : undefined;
|
|
340
530
|
// Determine if files are required (min_files >= 1)
|
|
341
531
|
const is_files_required = min_files !== undefined && min_files >= 1;
|
|
532
|
+
/**
|
|
533
|
+
* Render a file item with optional visibility toggle
|
|
534
|
+
*/
|
|
535
|
+
const render_file_item = (file_data, visibility, delete_handler) => {
|
|
536
|
+
const is_uploading = Array.from(uploading_files).some((id) => id.startsWith(file_data.file_id));
|
|
537
|
+
const is_processing = processing_files.has(file_data.file_id);
|
|
538
|
+
const is_processed = processed_files.has(file_data.file_id);
|
|
539
|
+
return (_jsxs("div", { className: "cls_collab_file_item flex-shrink-0 w-24 flex flex-col items-center gap-1 p-2 border rounded-md hover:bg-muted transition-colors relative", children: [_jsxs("a", { href: get_file_url(file_data.file_path, visibility), target: "_blank", rel: "noopener noreferrer", className: cn("flex flex-col items-center gap-1 w-full", is_uploading && "pointer-events-none opacity-50"), "aria-disabled": is_uploading, children: [_jsxs("div", { className: "relative", children: [get_file_icon(file_data.file_type, file_data.file_name), is_processing && (_jsx("div", { className: "absolute -bottom-1 -right-1 bg-background rounded-full p-0.5 shadow-sm border border-border", children: _jsx(FaSpinner, { className: "h-3 w-3 animate-spin text-primary" }) }))] }), _jsx("span", { className: "text-xs text-center truncate w-full", title: file_data.file_name, children: file_data.file_name }), _jsx("span", { className: "text-xs text-muted-foreground", children: format_file_size(file_data.file_size) })] }), _jsxs("div", { className: "flex items-center gap-1", children: [show_private_section && on_toggle_visibility && (_jsx("button", { type: "button", onClick: () => on_toggle_visibility(file_data.file_id, visibility), className: cn("p-1 transition-colors", visibility === 'private'
|
|
540
|
+
? "text-amber-600 hover:text-amber-700"
|
|
541
|
+
: "text-muted-foreground hover:text-foreground"), disabled: is_uploading, "aria-label": visibility === 'private' ? `Make ${file_data.file_name} public` : `Make ${file_data.file_name} private`, title: visibility === 'private' ? 'Make public' : 'Make private', children: visibility === 'private' ? (_jsx(HiLockClosed, { className: "h-4 w-4" })) : (_jsx(HiLockOpen, { className: "h-4 w-4" })) })), _jsx("button", { type: "button", onClick: () => delete_handler(file_data.file_id), className: "text-destructive hover:text-destructive/80 p-1", disabled: is_uploading, "aria-label": `Delete ${file_data.file_name}`, children: _jsx(HiTrash, { className: "h-4 w-4" }) }), is_processed && !is_processing && (_jsx(HiCheckCircle, { className: "h-4 w-4 text-green-500" }))] }), is_uploading && (_jsx("div", { className: "absolute inset-0 bg-background/50 flex items-center justify-center rounded-md", children: _jsx("div", { className: "text-xs text-muted-foreground", children: "Uploading..." }) }))] }, file_data.file_id));
|
|
542
|
+
};
|
|
543
|
+
/**
|
|
544
|
+
* Render file upload section (drop zone + file list)
|
|
545
|
+
*/
|
|
546
|
+
const render_file_section = (section_type, section_files, section_is_dragging, section_on_drag_enter, section_on_drag_leave, section_on_drop, section_file_input_ref, section_on_input_change, section_on_delete, input_id_suffix) => (_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: cn('cls_collab_file_drop_zone border-2 border-dashed rounded-md p-4 text-center transition-colors', section_is_dragging
|
|
547
|
+
? 'border-primary bg-primary/5'
|
|
548
|
+
: 'border-input hover:border-primary/50 hover:bg-muted/50', section_files.length >= max_files && 'opacity-50 cursor-not-allowed'), onDragEnter: section_on_drag_enter, onDragLeave: section_on_drag_leave, onDragOver: on_drag_over, onDrop: section_on_drop, children: [_jsx("input", { ref: section_file_input_ref, type: "file", id: `${field_id_final}-${input_id_suffix}`, className: "hidden", accept: file_accept, multiple: true, onChange: section_on_input_change, disabled: section_files.length >= max_files }), _jsxs("label", { htmlFor: `${field_id_final}-${input_id_suffix}`, className: cn('cursor-pointer block', section_files.length >= max_files && 'cursor-not-allowed opacity-50'), children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Drag and drop files here, or click to select" }), file_accept && (_jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: ["Accepted: ", file_accept] }))] })] }), section_files.length > 0 && (_jsx("div", { className: "cls_collab_file_list", children: _jsx("div", { className: "flex overflow-x-auto gap-2 pb-2", children: section_files.map((file_data) => render_file_item(file_data, section_type, section_on_delete)) }) }))] }));
|
|
342
549
|
// Wrap Accordion in div with suppressHydrationWarning to prevent React from checking children
|
|
343
550
|
// The Accordion content may differ between server and client due to dynamic imports
|
|
344
|
-
return (_jsx("div", { suppressHydrationWarning: true, children: _jsx(Accordion, { type: "single", collapsible: true, defaultValue: default_value, className: "w-full", children: _jsxs(AccordionItem, { value: "files", children: [_jsxs(AccordionTrigger, { className: "text-sm font-medium", children: [title, is_files_required && _jsx("span", { className: "text-destructive ml-1", children: "*" })] }), _jsx(AccordionContent, { children: _jsxs("div", { className: "space-y-4", children: [
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
const is_processed = processed_files.has(file_data.file_id);
|
|
350
|
-
return (_jsxs("div", { className: "cls_collab_file_item flex-shrink-0 w-24 flex flex-col items-center gap-1 p-2 border rounded-md hover:bg-muted transition-colors", children: [_jsxs("a", { href: get_file_url(file_data.file_path), target: "_blank", rel: "noopener noreferrer", className: cn("flex flex-col items-center gap-1 w-full", is_uploading && "pointer-events-none opacity-50"), "aria-disabled": is_uploading, children: [_jsxs("div", { className: "relative", children: [get_file_icon(file_data.file_type, file_data.file_name), is_processing && (_jsx("div", { className: "absolute -bottom-1 -right-1 bg-background rounded-full p-0.5 shadow-sm border border-border", children: _jsx(FaSpinner, { className: "h-3 w-3 animate-spin text-primary" }) }))] }), _jsx("span", { className: "text-xs text-center truncate w-full", title: file_data.file_name, children: file_data.file_name }), _jsx("span", { className: "text-xs text-muted-foreground", children: format_file_size(file_data.file_size) })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { type: "button", onClick: () => on_file_delete(file_data.file_id), className: "text-destructive hover:text-destructive/80 p-1", disabled: is_uploading, "aria-label": `Delete ${file_data.file_name}`, children: _jsx(HiTrash, { className: "h-4 w-4" }) }), is_processed && !is_processing && (_jsx(HiCheckCircle, { className: "h-4 w-4 text-green-500" }))] }), is_uploading && (_jsx("div", { className: "absolute inset-0 bg-background/50 flex items-center justify-center rounded-md", children: _jsx("div", { className: "text-xs text-muted-foreground", children: "Uploading..." }) }))] }, file_data.file_id));
|
|
351
|
-
}) }) }))] }) })] }) }) }));
|
|
551
|
+
return (_jsx("div", { suppressHydrationWarning: true, children: _jsx(Accordion, { type: "single", collapsible: true, defaultValue: default_value, className: "w-full", children: _jsxs(AccordionItem, { value: "files", children: [_jsxs(AccordionTrigger, { className: "text-sm font-medium", children: [title, is_files_required && _jsx("span", { className: "text-destructive ml-1", children: "*" })] }), _jsx(AccordionContent, { children: _jsxs("div", { className: "space-y-4", children: [Object.keys(upload_errors).length > 0 && (_jsx("div", { className: "space-y-1", children: Object.entries(upload_errors).map(([key, error]) => (_jsx("p", { className: "text-sm text-destructive", children: error }, key))) })), enable_file_visibility && show_private_section ? (_jsxs(Accordion, { type: "multiple", defaultValue: ['public-files', 'private-files'], className: "w-full", children: [_jsxs(AccordionItem, { value: "public-files", className: "border-b-0", children: [_jsx(AccordionTrigger, { className: "text-sm font-medium py-2", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(HiLockOpen, { className: "h-4 w-4 text-muted-foreground" }), _jsxs("span", { children: ["Public Files (", files.length, ")"] })] }) }), _jsx(AccordionContent, { className: "pb-4", children: render_file_section('public', files, is_dragging, on_drag_enter, on_drag_leave, on_drop, file_input_ref, on_input_change, on_file_delete, 'public-file-input') })] }), _jsxs(AccordionItem, { value: "private-files", className: "border-b-0", children: [_jsx(AccordionTrigger, { className: "text-sm font-medium py-2", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(HiLockClosed, { className: "h-4 w-4 text-amber-600" }), _jsxs("span", { children: ["Private Files (", private_files.length, ")"] })] }) }), _jsx(AccordionContent, { className: "pb-4", children: private_file_input_ref && on_private_drag_enter && on_private_drag_leave && on_private_drop && on_private_input_change && on_private_file_delete && render_file_section('private', private_files, is_dragging_private, on_private_drag_enter, on_private_drag_leave, on_private_drop, private_file_input_ref, on_private_input_change, on_private_file_delete, 'private-file-input') })] })] })) : (
|
|
552
|
+
/* Single-section UI (original behavior) */
|
|
553
|
+
_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: cn('cls_collab_file_drop_zone border-2 border-dashed rounded-md p-6 text-center transition-colors', is_dragging
|
|
554
|
+
? 'border-primary bg-primary/5'
|
|
555
|
+
: 'border-input hover:border-primary/50 hover:bg-muted/50', files.length >= max_files && 'opacity-50 cursor-not-allowed'), onDragEnter: on_drag_enter, onDragLeave: on_drag_leave, onDragOver: on_drag_over, onDrop: on_drop, children: [_jsx("input", { ref: file_input_ref, type: "file", id: `${field_id_final}-file-input`, className: "hidden", accept: file_accept, multiple: true, onChange: on_input_change, disabled: files.length >= max_files }), _jsx("label", { htmlFor: `${field_id_final}-file-input`, className: cn('cursor-pointer block', files.length >= max_files && 'cursor-not-allowed opacity-50'), children: _jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Drag and drop files here, or click to select" }), file_accept && (_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Accepted: ", file_accept] }))] }) })] }), files.length > 0 && (_jsx("div", { className: "cls_collab_file_list space-y-2", children: _jsx("div", { className: "flex overflow-x-auto gap-2 pb-2", children: files.map((file_data) => render_file_item(file_data, 'public', on_file_delete)) }) }))] }))] }) })] }) }) }));
|
|
352
556
|
}
|
|
353
557
|
//# sourceMappingURL=collab_form_file_upload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collab_form_file_upload.js","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"collab_form_file_upload.js","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"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"}
|
|
@@ -215,6 +215,13 @@ export interface CollabFormFieldBaseProps {
|
|
|
215
215
|
* Default: false
|
|
216
216
|
*/
|
|
217
217
|
data_ok_editable?: boolean;
|
|
218
|
+
/**
|
|
219
|
+
* Default value for the data OK checkbox/multi-state
|
|
220
|
+
* - boolean: For checkbox mode (true = checked, false = unchecked)
|
|
221
|
+
* - 'ok' | 'not_ok' | 'pending': For multi_state mode
|
|
222
|
+
* Default: false for checkbox mode, 'pending' for multi_state mode
|
|
223
|
+
*/
|
|
224
|
+
data_ok_default?: boolean | 'ok' | 'not_ok' | 'pending';
|
|
218
225
|
/**
|
|
219
226
|
* Custom className for field width
|
|
220
227
|
* Used to control the width of the field container
|
|
@@ -351,6 +358,31 @@ export interface CollabFormFieldBaseProps {
|
|
|
351
358
|
* If validation fails, the file will not be uploaded
|
|
352
359
|
*/
|
|
353
360
|
file_validator?: (file: File) => string | null;
|
|
361
|
+
/**
|
|
362
|
+
* Enable private/public file visibility controls
|
|
363
|
+
* When true and private_files_permission is set, displays two file sections:
|
|
364
|
+
* - Public Files: visible to all users
|
|
365
|
+
* - Private Files: visible only to users with the required permission
|
|
366
|
+
* Default: false (all files are public, existing behavior)
|
|
367
|
+
*/
|
|
368
|
+
enable_file_visibility?: boolean;
|
|
369
|
+
/**
|
|
370
|
+
* Permission string required to view/upload private files
|
|
371
|
+
* Uses hazo_auth permission checking
|
|
372
|
+
* If not provided, private file functionality is disabled even if enable_file_visibility is true
|
|
373
|
+
*/
|
|
374
|
+
private_files_permission?: string;
|
|
375
|
+
/**
|
|
376
|
+
* Controlled private files state
|
|
377
|
+
* When provided, component is controlled and uses this array for private files
|
|
378
|
+
* Separate from `files` prop which is used for public files
|
|
379
|
+
*/
|
|
380
|
+
private_files?: FileData[];
|
|
381
|
+
/**
|
|
382
|
+
* Callback when private files change
|
|
383
|
+
* Called with the updated private files array
|
|
384
|
+
*/
|
|
385
|
+
on_private_files_change?: (files: FileData[]) => void;
|
|
354
386
|
/**
|
|
355
387
|
* Custom field value validator callback
|
|
356
388
|
* Called on value change to validate the field value
|
|
@@ -444,6 +476,13 @@ export interface FileData {
|
|
|
444
476
|
* Upload timestamp
|
|
445
477
|
*/
|
|
446
478
|
uploaded_at: Date;
|
|
479
|
+
/**
|
|
480
|
+
* File visibility level
|
|
481
|
+
* - 'public': Visible to all users (default)
|
|
482
|
+
* - 'private': Visible only to users with the required permission
|
|
483
|
+
* If not specified, defaults to 'public' for backward compatibility
|
|
484
|
+
*/
|
|
485
|
+
visibility?: 'public' | 'private';
|
|
447
486
|
}
|
|
448
487
|
/**
|
|
449
488
|
* Single note entry structure for field notes
|
|
@@ -523,13 +562,14 @@ export declare function CollabFormFieldReferenceTag({ reference_value, reference
|
|
|
523
562
|
* Provides consistent data OK functionality across all form fields
|
|
524
563
|
* Supports both binary checkbox mode and multi-state mode
|
|
525
564
|
*/
|
|
526
|
-
export declare function CollabFormDataOkCheckbox({ label, data_ok_checked: controlled_data_ok_checked, on_data_ok_change, data_ok_mode, data_ok_value: controlled_data_ok_value, on_data_ok_value_change, disabled, editable, }: {
|
|
565
|
+
export declare function CollabFormDataOkCheckbox({ label, data_ok_checked: controlled_data_ok_checked, on_data_ok_change, data_ok_mode, data_ok_value: controlled_data_ok_value, on_data_ok_value_change, data_ok_default, disabled, editable, }: {
|
|
527
566
|
label: string;
|
|
528
567
|
data_ok_checked?: boolean;
|
|
529
568
|
on_data_ok_change?: (checked: boolean) => void;
|
|
530
569
|
data_ok_mode?: 'checkbox' | 'multi_state';
|
|
531
570
|
data_ok_value?: DataOkState;
|
|
532
571
|
on_data_ok_value_change?: (value: DataOkState) => void;
|
|
572
|
+
data_ok_default?: boolean | 'ok' | 'not_ok' | 'pending';
|
|
533
573
|
disabled?: boolean;
|
|
534
574
|
editable?: boolean;
|
|
535
575
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -537,7 +577,7 @@ export declare function CollabFormDataOkCheckbox({ label, data_ok_checked: contr
|
|
|
537
577
|
* Render the file upload component
|
|
538
578
|
* Provides file upload functionality for collaboration form fields
|
|
539
579
|
*/
|
|
540
|
-
export declare function CollabFormFileUploadSection({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files, on_files_change, component_ref, }: Pick<CollabFormFieldBaseProps, 'accept_files' | 'files_dir' | 'max_size' | 'min_files' | 'max_files' | 'file_accept' | 'file_processor' | 'file_validator' | 'files' | 'on_files_change'> & {
|
|
580
|
+
export declare function CollabFormFileUploadSection({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files, on_files_change, component_ref, enable_file_visibility, private_files_permission, private_files, on_private_files_change, }: Pick<CollabFormFieldBaseProps, 'accept_files' | 'files_dir' | 'max_size' | 'min_files' | 'max_files' | 'file_accept' | 'file_processor' | 'file_validator' | 'files' | 'on_files_change' | 'enable_file_visibility' | 'private_files_permission' | 'private_files' | 'on_private_files_change'> & {
|
|
541
581
|
field_id_final: string;
|
|
542
582
|
component_ref?: React.RefObject<any>;
|
|
543
583
|
}): import("react/jsx-runtime").JSX.Element;
|