@postxl/generators 1.15.1 → 1.17.0

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 (37) hide show
  1. package/dist/backend-excel-io/excel-io.generator.d.ts +2 -1
  2. package/dist/backend-excel-io/excel-io.generator.js +2 -0
  3. package/dist/backend-excel-io/excel-io.generator.js.map +1 -1
  4. package/dist/backend-excel-io/template/excel-io.controller.ts +24 -54
  5. package/dist/backend-upload/index.d.ts +3 -0
  6. package/dist/backend-upload/index.js +40 -0
  7. package/dist/backend-upload/index.js.map +1 -0
  8. package/dist/backend-upload/template/src/index.ts +13 -0
  9. package/dist/backend-upload/template/src/upload.config.ts +15 -0
  10. package/dist/backend-upload/template/src/upload.controller.ts +53 -0
  11. package/dist/backend-upload/template/src/upload.guard.ts +39 -0
  12. package/dist/backend-upload/template/src/upload.module.ts +26 -0
  13. package/dist/backend-upload/template/src/upload.service.ts +333 -0
  14. package/dist/backend-upload/template/src/upload.types.ts +37 -0
  15. package/dist/backend-upload/template/src/uploaded-file.decorator.ts +12 -0
  16. package/dist/backend-upload/template/tsconfig.lib.json +10 -0
  17. package/dist/backend-upload/upload.generator.d.ts +16 -0
  18. package/dist/backend-upload/upload.generator.js +107 -0
  19. package/dist/backend-upload/upload.generator.js.map +1 -0
  20. package/dist/base/template/.claude/commands/README.md +65 -0
  21. package/dist/base/template/.claude/settings.json +3 -1
  22. package/dist/base/template/.github/.copilot-prompts.json +22 -0
  23. package/dist/e2e/e2e.generator.js +43 -1
  24. package/dist/e2e/e2e.generator.js.map +1 -1
  25. package/dist/e2e/template/.claude/commands/prepare-e2e-tests.md +251 -0
  26. package/dist/e2e/template/.claude/commands/run-e2e-tests.md +221 -0
  27. package/dist/e2e/template/scripts/e2e.sh +398 -0
  28. package/dist/frontend-forms/generators/model/forms.generator.js +191 -0
  29. package/dist/frontend-forms/generators/model/forms.generator.js.map +1 -1
  30. package/dist/frontend-tables/generators/model-table.generator.js +16 -2
  31. package/dist/frontend-tables/generators/model-table.generator.js.map +1 -1
  32. package/dist/generators.js +2 -0
  33. package/dist/generators.js.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.js +5 -2
  36. package/dist/index.js.map +1 -1
  37. package/package.json +4 -4
@@ -0,0 +1,398 @@
1
+ #!/bin/bash
2
+
3
+ # E2E Test Runner Script
4
+ # This script starts backend, frontend, and runs E2E tests in Docker automatically.
5
+ #
6
+ # The script auto-detects pnpm and Node.js 24+ regardless of how it's invoked
7
+ # (interactive shell, non-interactive subprocess, CI, Claude Code, etc.)
8
+
9
+ set -e # Exit on error
10
+
11
+ # Colors for output
12
+ RED='\033[0;31m'
13
+ GREEN='\033[0;32m'
14
+ YELLOW='\033[1;33m'
15
+ BLUE='\033[0;34m'
16
+ NC='\033[0m' # No Color
17
+
18
+ # Get the directory where this script is located
19
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
20
+ PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
21
+ MONOREPO_ROOT=<% monorepoRootExpr %>
22
+
23
+ # Ports
24
+ BACKEND_PORT=3001
25
+ FRONTEND_PORT=3000
26
+ BACKEND_MAIN_PORT=4000
27
+
28
+ # PID file paths
29
+ BACKEND_PID_FILE="$PROJECT_DIR/.e2e-backend.pid"
30
+ FRONTEND_PID_FILE="$PROJECT_DIR/.e2e-frontend.pid"
31
+
32
+ # Docker image name
33
+ DOCKER_IMAGE="e2e-pxl-env"
34
+
35
+ # --------------------------------------------------------------------------
36
+ # Environment setup: resolve pnpm and Node.js 24+
37
+ # --------------------------------------------------------------------------
38
+ # This section ensures pnpm and the correct Node.js version are available
39
+ # even in non-interactive shells (e.g., Claude Code, CI, cron, subprocesses).
40
+
41
+ setup_environment() {
42
+ # Common paths where pnpm might be installed
43
+ local search_paths=(
44
+ "$HOME/.local/share/pnpm"
45
+ "$HOME/.pnpm"
46
+ "/opt/homebrew/bin"
47
+ "/usr/local/bin"
48
+ "$HOME/.corepack/bin"
49
+ )
50
+
51
+ # Add search paths to PATH if they exist and aren't already in PATH
52
+ for p in "${search_paths[@]}"; do
53
+ if [[ -d "$p" ]] && [[ ":$PATH:" != *":$p:"* ]]; then
54
+ export PATH="$p:$PATH"
55
+ fi
56
+ done
57
+
58
+ # Resolve pnpm
59
+ PNPM_BIN=$(command -v pnpm 2>/dev/null || true)
60
+ if [[ -z "$PNPM_BIN" ]]; then
61
+ echo -e "${RED}❌ pnpm not found. Please install pnpm (https://pnpm.io/installation)${NC}"
62
+ exit 1
63
+ fi
64
+
65
+ # Check current Node.js version - we need 24+ for ESM require() support
66
+ local node_version
67
+ node_version=$(node --version 2>/dev/null | sed 's/^v//' | cut -d. -f1)
68
+
69
+ if [[ -n "$node_version" ]] && [[ "$node_version" -ge 24 ]]; then
70
+ echo -e "${GREEN}✅ Node.js $(node --version) detected${NC}"
71
+ return 0
72
+ fi
73
+
74
+ # Try to activate Node.js 24+ via nvm
75
+ if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
76
+ export NVM_DIR="$HOME/.nvm"
77
+ # shellcheck source=/dev/null
78
+ source "$NVM_DIR/nvm.sh" 2>/dev/null
79
+
80
+ # Find a Node.js 24+ version installed via nvm
81
+ local nvm_node
82
+ nvm_node=$(nvm ls --no-alias --no-colors 2>/dev/null | grep -oE 'v2[4-9]\.[0-9]+\.[0-9]+|v[3-9][0-9]\.[0-9]+\.[0-9]+' | sort -V | tail -1 || true)
83
+
84
+ if [[ -n "$nvm_node" ]]; then
85
+ echo -e "${BLUE}🔄 Activating $nvm_node via nvm...${NC}"
86
+ nvm use "$nvm_node" >/dev/null 2>&1
87
+ # Ensure nvm's bin dir is first in PATH so pnpm picks it up
88
+ export PATH="$NVM_BIN:$PATH"
89
+ echo -e "${GREEN}✅ Node.js $(node --version) activated via nvm${NC}"
90
+ return 0
91
+ fi
92
+ fi
93
+
94
+ # Try to activate Node.js 24+ via fnm
95
+ if command -v fnm >/dev/null 2>&1; then
96
+ local fnm_node
97
+ fnm_node=$(fnm list 2>/dev/null | grep -oE 'v2[4-9]\.[0-9]+\.[0-9]+|v[3-9][0-9]\.[0-9]+\.[0-9]+' | sort -V | tail -1 || true)
98
+
99
+ if [[ -n "$fnm_node" ]]; then
100
+ echo -e "${BLUE}🔄 Activating $fnm_node via fnm...${NC}"
101
+ eval "$(fnm env)" 2>/dev/null
102
+ fnm use "$fnm_node" >/dev/null 2>&1
103
+ echo -e "${GREEN}✅ Node.js $(node --version) activated via fnm${NC}"
104
+ return 0
105
+ fi
106
+ fi
107
+
108
+ # Try to activate Node.js 24+ via volta
109
+ if command -v volta >/dev/null 2>&1; then
110
+ echo -e "${BLUE}🔄 Using volta for Node.js management...${NC}"
111
+ # volta manages node automatically based on package.json
112
+ local volta_node
113
+ volta_node=$(node --version 2>/dev/null | sed 's/^v//' | cut -d. -f1)
114
+ if [[ "$volta_node" -ge 24 ]]; then
115
+ echo -e "${GREEN}✅ Node.js $(node --version) via volta${NC}"
116
+ return 0
117
+ fi
118
+ fi
119
+
120
+ # Node.js 24+ not found - warn but don't fail (pnpm devEngines might handle it)
121
+ echo -e "${YELLOW}⚠️ Node.js 24+ not found (current: $(node --version 2>/dev/null || echo 'none')).${NC}"
122
+ echo -e "${YELLOW} The project requires Node.js 24+ for ESM support.${NC}"
123
+ echo -e "${YELLOW} Install via: nvm install 24 / fnm install 24 / volta install node@24${NC}"
124
+ echo -e "${YELLOW} Continuing anyway (pnpm devEngines.runtime may auto-download it)...${NC}"
125
+ }
126
+
127
+ # Kill a process and all its descendants (children, grandchildren, etc.)
128
+ kill_tree() {
129
+ local pid=$1
130
+ local children
131
+ children=$(pgrep -P "$pid" 2>/dev/null || true)
132
+ for child in $children; do
133
+ kill_tree "$child"
134
+ done
135
+ kill "$pid" 2>/dev/null || true
136
+ }
137
+
138
+ # Kill any remaining process listening on a port
139
+ kill_port() {
140
+ local port=$1
141
+ local pids
142
+ pids=$(lsof -Pi :"$port" -sTCP:LISTEN -t 2>/dev/null || true)
143
+ if [[ -n "$pids" ]]; then
144
+ echo -e "${BLUE} Killing remaining process(es) on port $port...${NC}"
145
+ echo "$pids" | xargs kill 2>/dev/null || true
146
+ fi
147
+ }
148
+
149
+ # Cleanup function
150
+ cleanup() {
151
+ echo -e "\n${YELLOW}🧹 Cleaning up...${NC}"
152
+
153
+ # Kill backend if we started it
154
+ if [[ -f "$BACKEND_PID_FILE" ]]; then
155
+ BACKEND_PID=$(cat "$BACKEND_PID_FILE")
156
+ if ps -p "$BACKEND_PID" > /dev/null 2>&1; then
157
+ echo -e "${BLUE}⏹️ Stopping backend (PID: $BACKEND_PID)...${NC}"
158
+ kill_tree "$BACKEND_PID"
159
+ fi
160
+ rm -f "$BACKEND_PID_FILE"
161
+ # Ensure ports are fully released
162
+ sleep 0.5
163
+ kill_port $BACKEND_PORT
164
+ kill_port $BACKEND_MAIN_PORT
165
+ fi
166
+
167
+ # Kill frontend if we started it
168
+ if [[ -f "$FRONTEND_PID_FILE" ]]; then
169
+ FRONTEND_PID=$(cat "$FRONTEND_PID_FILE")
170
+ if ps -p "$FRONTEND_PID" > /dev/null 2>&1; then
171
+ echo -e "${BLUE}⏹️ Stopping frontend (PID: $FRONTEND_PID)...${NC}"
172
+ kill_tree "$FRONTEND_PID"
173
+ fi
174
+ rm -f "$FRONTEND_PID_FILE"
175
+ # Ensure port is fully released
176
+ sleep 0.5
177
+ kill_port $FRONTEND_PORT
178
+ fi
179
+
180
+ echo -e "${GREEN}✅ Cleanup complete${NC}"
181
+ }
182
+
183
+ # Register cleanup on script exit
184
+ trap cleanup EXIT INT TERM
185
+
186
+ # Check if services are already running
187
+ check_services() {
188
+ echo -e "${BLUE}🔍 Checking for existing services...${NC}"
189
+
190
+ BACKEND_RUNNING=false
191
+ FRONTEND_RUNNING=false
192
+
193
+ if lsof -Pi :$BACKEND_PORT -sTCP:LISTEN -t >/dev/null 2>&1; then
194
+ echo -e "${YELLOW}⚠️ Backend already running on port $BACKEND_PORT${NC}"
195
+ BACKEND_RUNNING=true
196
+ fi
197
+
198
+ if lsof -Pi :$FRONTEND_PORT -sTCP:LISTEN -t >/dev/null 2>&1; then
199
+ echo -e "${YELLOW}⚠️ Frontend already running on port $FRONTEND_PORT${NC}"
200
+ FRONTEND_RUNNING=true
201
+ fi
202
+ }
203
+
204
+ # Wait for a service to be ready
205
+ wait_for_service() {
206
+ local port=$1
207
+ local service_name=$2
208
+ local max_attempts=60 # 60 seconds timeout
209
+ local attempt=0
210
+
211
+ echo -e "${BLUE}⏳ Waiting for $service_name to be ready on port $port...${NC}"
212
+
213
+ while ! lsof -Pi :$port -sTCP:LISTEN -t >/dev/null 2>&1; do
214
+ attempt=$((attempt + 1))
215
+ if [[ $attempt -gt $max_attempts ]]; then
216
+ echo -e "${RED}❌ Timeout waiting for $service_name to start${NC}"
217
+ return 1
218
+ fi
219
+ sleep 1
220
+ done
221
+
222
+ echo -e "${GREEN}✅ $service_name is ready${NC}"
223
+ return 0
224
+ }
225
+
226
+ # Start backend
227
+ start_backend() {
228
+ if [[ "$BACKEND_RUNNING" == "true" ]]; then
229
+ echo -e "${GREEN}✅ Using existing backend on port $BACKEND_PORT${NC}"
230
+ return 0
231
+ fi
232
+
233
+ echo -e "${BLUE}🚀 Starting backend in E2E stateless mode...${NC}"
234
+ cd "$PROJECT_DIR/backend"
235
+
236
+ # Start backend in background and save PID
237
+ "$PNPM_BIN" e2e:stateless > "$PROJECT_DIR/.e2e-backend.log" 2>&1 &
238
+ echo $! > "$BACKEND_PID_FILE"
239
+
240
+ # Wait for backend to be ready
241
+ if ! wait_for_service $BACKEND_PORT "Backend"; then
242
+ echo -e "${RED}❌ Failed to start backend${NC}"
243
+ echo -e "${YELLOW}📋 Backend log (last 20 lines):${NC}"
244
+ tail -n 20 "$PROJECT_DIR/.e2e-backend.log"
245
+ return 1
246
+ fi
247
+ }
248
+
249
+ # Build and start frontend
250
+ start_frontend() {
251
+ if [[ "$FRONTEND_RUNNING" == "true" ]]; then
252
+ echo -e "${GREEN}✅ Using existing frontend on port $FRONTEND_PORT${NC}"
253
+ return 0
254
+ fi
255
+
256
+ echo -e "${BLUE}🏗️ Building frontend for E2E...${NC}"
257
+ cd "$PROJECT_DIR/frontend"
258
+
259
+ # Build frontend with Docker URLs (tests run inside Docker container accessing host services)
260
+ if ! VITE_PUBLIC_API_URL=http://host.docker.internal:3001 VITE_PUBLIC_BASE_URL=http://host.docker.internal:3000 NODE_V8_COVERAGE=.v8-coverage VITE_PUBLIC_MAPBOX_DISABLE_TRANSITIONS=true VITE_PUBLIC_USE_TEST_ASSETS=true VITE_AUTH=false "$PNPM_BIN" exec vite build; then
261
+ echo -e "${RED}❌ Failed to build frontend${NC}"
262
+ return 1
263
+ fi
264
+
265
+ echo -e "${BLUE}🚀 Starting frontend preview server...${NC}"
266
+
267
+ # Start frontend preview server in background and save PID
268
+ "$PNPM_BIN" exec vite preview --port 3000 > "$PROJECT_DIR/.e2e-frontend.log" 2>&1 &
269
+ echo $! > "$FRONTEND_PID_FILE"
270
+
271
+ # Wait for frontend to be ready
272
+ if ! wait_for_service $FRONTEND_PORT "Frontend"; then
273
+ echo -e "${RED}❌ Failed to start frontend${NC}"
274
+ echo -e "${YELLOW}📋 Frontend log (last 20 lines):${NC}"
275
+ tail -n 20 "$PROJECT_DIR/.e2e-frontend.log"
276
+ return 1
277
+ fi
278
+ }
279
+
280
+ # Build Docker image
281
+ build_docker_image() {
282
+ echo -e "${BLUE}🐳 Building Docker image...${NC}"
283
+ cd "$PROJECT_DIR"
284
+
285
+ if docker build -t $DOCKER_IMAGE ./e2e/; then
286
+ echo -e "${GREEN}✅ Docker image built successfully${NC}"
287
+ return 0
288
+ else
289
+ echo -e "${RED}❌ Failed to build Docker image${NC}"
290
+ return 1
291
+ fi
292
+ }
293
+
294
+ # Run E2E tests in Docker
295
+ run_tests() {
296
+ echo -e "${BLUE}🧪 Running E2E tests in Docker...${NC}"
297
+
298
+ # Build Docker image if it doesn't exist
299
+ if ! docker image inspect $DOCKER_IMAGE >/dev/null 2>&1; then
300
+ echo -e "${YELLOW}Docker image not found, building...${NC}"
301
+ if ! build_docker_image; then
302
+ return 1
303
+ fi
304
+ fi
305
+
306
+ echo -e "${BLUE}📦 Running tests in Docker container...${NC}"
307
+
308
+ # Clean test output directories so they can be recreated with correct permissions
309
+ rm -rf "$MONOREPO_ROOT/projects/demo/e2e/test-results" "$MONOREPO_ROOT/projects/demo/e2e/playwright-report" "$MONOREPO_ROOT/projects/demo/e2e/monocart-report"
310
+
311
+ # Run tests in Docker with proper volume mounting
312
+ # Use host user ID to avoid permission issues with mounted volumes
313
+ docker run --rm \
314
+ -v "$MONOREPO_ROOT:/pxl" \
315
+ -w <% dockerWorkDir %> \
316
+ --add-host=host.docker.internal:host-gateway \
317
+ $DOCKER_IMAGE \
318
+ /bin/bash -c "<% nodeShimsCleanup %>; pnpm e2e"
319
+
320
+ local test_exit_code=$?
321
+
322
+ if [[ $test_exit_code -eq 0 ]]; then
323
+ echo -e "${GREEN}✅ All tests passed!${NC}"
324
+ else
325
+ echo -e "${RED}❌ Tests failed with exit code $test_exit_code${NC}"
326
+ fi
327
+
328
+ return $test_exit_code
329
+ }
330
+
331
+ # Main execution
332
+ main() {
333
+ echo -e "${GREEN}╔═══════════════════╗${NC}"
334
+ echo -e "${GREEN}║ E2E Test Runner ║${NC}"
335
+ echo -e "${GREEN}╚═══════════════════╝${NC}\n"
336
+
337
+ echo -e "${BLUE}🐳 Running in Docker mode${NC}\n"
338
+
339
+ # Setup environment (resolve pnpm, activate Node.js 24+)
340
+ setup_environment
341
+
342
+ # Check for existing services
343
+ check_services
344
+
345
+ # Start backend
346
+ if ! start_backend; then
347
+ echo -e "${RED}❌ Failed to start backend. Exiting.${NC}"
348
+ exit 1
349
+ fi
350
+
351
+ # Start frontend
352
+ if ! start_frontend; then
353
+ echo -e "${RED}❌ Failed to start frontend. Exiting.${NC}"
354
+ exit 1
355
+ fi
356
+
357
+ # Run tests in Docker
358
+ run_tests
359
+ local exit_code=$?
360
+
361
+ exit $exit_code
362
+ }
363
+
364
+ # Parse command line arguments
365
+ case "${1:-}" in
366
+ --help|-h)
367
+ echo "Usage: $0 [OPTIONS]"
368
+ echo ""
369
+ echo "Options:"
370
+ echo " --help, -h Show this help message"
371
+ echo " --build-image Build Docker image and exit"
372
+ echo ""
373
+ echo "This script automatically:"
374
+ echo " 1. Detects pnpm and activates Node.js 24+ (via nvm/fnm/volta)"
375
+ echo " 2. Checks if backend/frontend are already running (reuses them)"
376
+ echo " 3. Starts backend in E2E stateless mode (if needed)"
377
+ echo " 4. Builds and starts frontend preview server (if needed)"
378
+ echo " 5. Runs E2E tests in Docker"
379
+ echo " 6. Cleans up all processes on exit (Ctrl+C safe)"
380
+ echo ""
381
+ echo "Examples:"
382
+ echo " $0 # Run E2E tests"
383
+ echo " $0 --build-image # Just build the Docker image"
384
+ echo ""
385
+ echo "Logs:"
386
+ echo " Backend log: .e2e-backend.log"
387
+ echo " Frontend log: .e2e-frontend.log"
388
+ exit 0
389
+ ;;
390
+ --build-image)
391
+ setup_environment
392
+ build_docker_image
393
+ exit $?
394
+ ;;
395
+ *)
396
+ main
397
+ ;;
398
+ esac
@@ -14,6 +14,9 @@ function generateModelCreateForm({ model, context }) {
14
14
  if (model.update.action.standardActions.create === undefined) {
15
15
  throw new Error(`Cannot generate create form for model ${model.name} without create action`);
16
16
  }
17
+ if (model._conjugated.camelCase === 'file') {
18
+ return generateFileCreateUploadForm({ model });
19
+ }
17
20
  const imports = generator_1.ImportGenerator
18
21
  //
19
22
  .from(model.forms.create.location)
@@ -542,4 +545,192 @@ function generateModelFormField_DiscriminatedUnion({ imports, field, context, is
542
545
  `),
543
546
  };
544
547
  }
548
+ function generateFileCreateUploadForm({ model }) {
549
+ const imports = generator_1.ImportGenerator
550
+ //
551
+ .from(model.forms.create.location)
552
+ .addImports({
553
+ [(0, generator_1.toPackageName)('react')]: [(0, generator_1.toFunctionName)('Fragment'), (0, generator_1.toFunctionName)('useCallback'), (0, generator_1.toFunctionName)('useState')],
554
+ [(0, generator_1.toPackageName)('@postxl/ui-components')]: [
555
+ (0, generator_1.toClassName)('Button'),
556
+ (0, generator_1.toClassName)('Dialog'),
557
+ (0, generator_1.toClassName)('DialogClose'),
558
+ (0, generator_1.toClassName)('DialogContent'),
559
+ (0, generator_1.toClassName)('DialogDescription'),
560
+ (0, generator_1.toClassName)('DialogFooter'),
561
+ (0, generator_1.toClassName)('DialogHeader'),
562
+ (0, generator_1.toClassName)('DialogTitle'),
563
+ (0, generator_1.toClassName)('Field'),
564
+ (0, generator_1.toClassName)('FieldGroup'),
565
+ (0, generator_1.toClassName)('FieldLabel'),
566
+ (0, generator_1.toClassName)('Input'),
567
+ ],
568
+ })
569
+ .addImport({
570
+ from: (0, generator_1.toBackendModuleLocation)('@context-providers/auth-context-provider'),
571
+ items: [(0, generator_1.toFunctionName)('getAuthHeaders')],
572
+ })
573
+ .addImport({ from: (0, generator_1.toBackendModuleLocation)('@lib/config'), items: [(0, generator_1.toConstantName)('APP_CONFIG')] });
574
+ const outputType = `${model.types.name}Create`;
575
+ return `
576
+ ${imports.generate()}
577
+
578
+ export type ${model.forms.create.name}Props = Readonly<{
579
+ /**
580
+ * When true, the form includes a \`DialogFooter\` with a button to close the dialog.
581
+ */
582
+ modal?: boolean
583
+
584
+ /**
585
+ * Optional custom submit callback. If provided, it will be used instead of the default upload endpoint.
586
+ */
587
+ onSubmit?: (item: ${outputType}) => void
588
+
589
+ /**
590
+ * Callback invoked when a ${model.userFriendlyName} has been successfully created.
591
+ */
592
+ onSuccess?: (item: ${outputType}) => void
593
+
594
+ /**
595
+ * Callback invoked when an error occurred during creation of a ${model.userFriendlyName}.
596
+ */
597
+ onError?: (item: ${outputType}, error: unknown) => void
598
+ }>
599
+
600
+ export type ${outputType} = {
601
+ name: string
602
+ mimetype: string
603
+ size: number | null
604
+ url: string
605
+ }
606
+
607
+ export function ${model.forms.create.name}({ modal, onSubmit, onSuccess, onError }: ${model.forms.create.name}Props) {
608
+ const [selectedFile, setSelectedFile] = useState<File | null>(null)
609
+ const [isSubmitting, setIsSubmitting] = useState(false)
610
+ const Footer = modal ? DialogFooter : Fragment
611
+
612
+ const reset = useCallback(() => {
613
+ setSelectedFile(null)
614
+ }, [])
615
+
616
+ const handleSubmit = useCallback(
617
+ async (event: React.FormEvent) => {
618
+ event.preventDefault()
619
+ event.stopPropagation()
620
+
621
+ if (!selectedFile || isSubmitting) {
622
+ return
623
+ }
624
+
625
+ const data: ${outputType} = {
626
+ name: selectedFile.name,
627
+ mimetype: selectedFile.type || 'application/octet-stream',
628
+ size: selectedFile.size,
629
+ url: '',
630
+ }
631
+
632
+ try {
633
+ setIsSubmitting(true)
634
+ if (onSubmit) {
635
+ await onSubmit(data)
636
+ onSuccess?.(data)
637
+ return
638
+ }
639
+
640
+ const formData = new FormData()
641
+ formData.append('file', selectedFile)
642
+
643
+ const response = await fetch(\`\${APP_CONFIG.apiURL}/upload\`, {
644
+ method: 'POST',
645
+ body: formData,
646
+ headers: getAuthHeaders(),
647
+ credentials: 'include',
648
+ })
649
+
650
+ const payload = (await response.json().catch(() => undefined)) as
651
+ | { success: true; result: { file: ${outputType} } }
652
+ | { success: false; error?: string }
653
+ | undefined
654
+
655
+ if (!response.ok || !payload || payload.success !== true) {
656
+ const errorMessage =
657
+ payload && 'error' in payload && typeof payload.error === 'string' ? payload.error : 'Upload failed'
658
+ throw new Error(errorMessage)
659
+ }
660
+
661
+ onSuccess?.(payload.result.file)
662
+ reset()
663
+ } catch (error) {
664
+ onError?.(data, error)
665
+ } finally {
666
+ setIsSubmitting(false)
667
+ }
668
+ },
669
+ [isSubmitting, onError, onSubmit, onSuccess, reset, selectedFile],
670
+ )
671
+
672
+ return (
673
+ <form onSubmit={handleSubmit}>
674
+ <FieldGroup>
675
+ <Field>
676
+ <FieldLabel htmlFor="file-upload-input">File</FieldLabel>
677
+ <Input
678
+ id="file-upload-input"
679
+ type="file"
680
+ onChange={(event) => {
681
+ setSelectedFile(event.target.files?.[0] ?? null)
682
+ }}
683
+ />
684
+ </Field>
685
+ </FieldGroup>
686
+
687
+ <Footer>
688
+ <Field orientation="horizontal">
689
+ {modal && (
690
+ <DialogClose asChild>
691
+ <Button type="button" variant="outline">
692
+ Cancel
693
+ </Button>
694
+ </DialogClose>
695
+ )}
696
+
697
+ <Button type="button" variant="outline" onClick={reset} disabled={isSubmitting}>
698
+ Reset
699
+ </Button>
700
+
701
+ <Button type="submit" disabled={!selectedFile || isSubmitting}>
702
+ {isSubmitting ? 'Uploading...' : 'Upload'}
703
+ </Button>
704
+ </Field>
705
+ </Footer>
706
+ </form>
707
+ )
708
+ }
709
+
710
+ export type ${model.forms.createModal.name}Props = Readonly<{
711
+ open?: boolean
712
+ children?: React.ReactNode
713
+ onClose?: () => void
714
+ } & Omit<${model.forms.create.name}Props, 'modal'>>
715
+
716
+ export function ${model.forms.createModal.name}({ open, children, onClose, ...props }: ${model.forms.createModal.name}Props) {
717
+ return (
718
+ <Dialog open={open} onOpenChange={onClose}>
719
+ {children}
720
+
721
+ <DialogContent>
722
+ <DialogHeader>
723
+ <DialogTitle>Create ${model.userFriendlyName}</DialogTitle>
724
+ <DialogDescription>
725
+ Upload a file to create a new ${model.userFriendlyName}.
726
+ </DialogDescription>
727
+ </DialogHeader>
728
+
729
+ <${model.forms.create.name} modal {...props} />
730
+ </DialogContent>
731
+ </Dialog>
732
+ )
733
+ }
734
+ `;
735
+ }
545
736
  //# sourceMappingURL=forms.generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"forms.generator.js","sourceRoot":"","sources":["../../../../src/frontend-forms/generators/model/forms.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forms.generator.js","sourceRoot":"","sources":["../../../../src/frontend-forms/generators/model/forms.generator.ts"],"names":[],"mappings":"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"}