mountain-ui 1.0.35 → 1.0.37

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 (21) hide show
  1. package/package.json +1 -1
  2. package/src/lib/registry/entityRegistry/registry.svelte.js +17 -0
  3. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Lines/View.svelte +6 -3
  4. package/src/lib/registry/fieldTypeRegistry/fieldTypes/calculation/CalculationColumn/View.svelte +2 -2
  5. package/src/lib/registry/fieldTypeRegistry/fieldTypes/calculation/CalculationLine/View.svelte +2 -2
  6. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDate/View.svelte +1 -1
  7. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDatetime/View.svelte +1 -1
  8. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeUpdatedAt/View.svelte +1 -1
  9. package/src/lib/registry/projectRegistry/components/ProjectButton.svelte +14 -0
  10. package/src/lib/registry/projectRegistry/components/ProjectCard.svelte +43 -0
  11. package/src/lib/registry/projectRegistry/components/ProjectDropdown.svelte +117 -0
  12. package/src/lib/registry/projectRegistry/createProject.js +17 -0
  13. package/src/lib/registry/projectRegistry/registry.svelte.js +50 -0
  14. package/src/routes/+layout.svelte +600 -596
  15. package/src/routes/+page.svelte +2 -2
  16. package/src/routes/exemple/+layout.svelte +43 -0
  17. package/src/routes/exemple/+page.svelte +0 -0
  18. package/src/routes/exemple/[project_normalized_name]/+layout.svelte +98 -0
  19. package/src/routes/exemple/[project_normalized_name]/[entity_slug]/+layout.svelte +44 -0
  20. package/src/routes/exemple/[project_normalized_name]/[entity_slug]/+page.svelte +1 -0
  21. package/src/routes/exemple/[project_normalized_name]/home/+page.svelte +1 -0
@@ -7,6 +7,8 @@
7
7
  import { createEntity } from '$lib/registry/entityRegistry/createEntity';
8
8
  import { init, sendRequest } from 'hamzus-ui';
9
9
  import { registerDefaultViewTypes } from '$lib/registry/viewTypeRegistry/registerDefaultViewTypes';
10
+ import { projectRegistry } from '$lib/registry/projectRegistry/registry.svelte';
11
+ import { createProject } from '$lib/registry/projectRegistry/createProject';
10
12
 
11
13
  let { children } = $props();
12
14
 
@@ -29,7 +31,7 @@
29
31
  replayAfter401: true,
30
32
  addData: () => {
31
33
  return {
32
- __project_normalized_name: 'testsds'
34
+ __project_normalized_name: 'tuto'
33
35
  };
34
36
  }
35
37
  });
@@ -37,608 +39,610 @@
37
39
  onMount(async () => {
38
40
  registerDefaultFieldTypes();
39
41
 
40
- // recuperer les entités
41
- const requestStructures = await sendRequest({
42
- path: '/get-all-entities'
42
+ // récuperer les projets
43
+ const projectStructures = await sendRequest({
44
+ path: '/get-all-projects'
43
45
  });
44
46
 
45
- for (const entity of requestStructures.data) {
46
- entityRegistry.register(createEntity(entity));
47
+ for (const project of projectStructures.data) {
48
+ projectRegistry.register(createProject(project));
47
49
  }
48
50
 
51
+
52
+
49
53
  registerDefaultViewTypes();
50
54
 
51
55
  // enregistrer des entité
52
- entityRegistry.register(
53
- createEntity({
54
- id: 1,
55
- version: 1,
56
- plural_name: 'clients',
57
- singular_name: 'client',
58
- normalized_name: 'clients',
59
- slug: 'clients',
60
- symbol: 'C',
61
- can_be_edited: true,
62
- can_be_deleted: true,
63
- is_locked: false,
64
- updated_at: null,
65
- created_at: '2026-07-26 16:53:34',
66
- fields: [
67
- {
68
- id: 1,
69
- link_to_field_id: null,
70
- entity_id: 1,
71
- type: 'primary',
72
- width: 70,
73
- name: 'id',
74
- normalized_name: 'id',
75
- is_locked: true,
76
- is_required: false,
77
- is_secret: false,
78
- is_unique: true,
79
- props: []
80
- },
81
- {
82
- id: 2,
83
- link_to_field_id: null,
84
- entity_id: 1,
85
- type: 'text-varchar-default',
86
- width: 160,
87
- name: 'nom',
88
- normalized_name: 'nom',
89
- is_locked: false,
90
- is_required: true,
91
- is_secret: false,
92
- is_unique: true,
93
- props: []
94
- },
95
- {
96
- id: 3,
97
- link_to_field_id: null,
98
- entity_id: 1,
99
- type: 'text-varchar-email',
100
- width: 160,
101
- name: 'email principal',
102
- normalized_name: 'email_principal',
103
- is_locked: false,
104
- is_required: true,
105
- is_secret: false,
106
- is_unique: true,
107
- props: []
108
- },
109
- {
110
- id: 13,
111
- link_to_field_id: null,
112
- entity_id: 1,
113
- type: 'text-varchar-default',
114
- width: 160,
115
- name: 'TVA',
116
- normalized_name: 'tva',
117
- is_locked: false,
118
- is_required: false,
119
- is_secret: false,
120
- is_unique: true,
121
- props: []
122
- },
123
- {
124
- id: 14,
125
- link_to_field_id: null,
126
- entity_id: 1,
127
- type: 'text-varchar-default',
128
- width: 160,
129
- name: 'SIRET / ICE',
130
- normalized_name: 'siret_ice',
131
- is_locked: false,
132
- is_required: false,
133
- is_secret: false,
134
- is_unique: true,
135
- props: []
136
- },
137
- {
138
- id: 4,
139
- link_to_field_id: null,
140
- entity_id: 1,
141
- type: 'list-radio',
142
- width: 160,
143
- name: 'type',
144
- normalized_name: 'type',
145
- is_locked: false,
146
- is_required: true,
147
- is_secret: false,
148
- is_unique: false,
149
- props: {
150
- choices: [
151
- {
152
- value: 'Entreprise',
153
- color: '--blue'
154
- },
155
- {
156
- value: 'Particulier',
157
- color: '--green'
158
- }
159
- ]
160
- }
161
- },
162
- {
163
- id: 16,
164
- link_to_field_id: null,
165
- entity_id: 1,
166
- type: 'list-radio',
167
- width: 160,
168
- name: 'status',
169
- normalized_name: 'status',
170
- is_locked: false,
171
- is_required: true,
172
- is_secret: false,
173
- is_unique: false,
174
- props: {
175
- choices: [
176
- {
177
- value: 'Actif',
178
- color: '--green'
179
- },
180
- {
181
- value: 'Inactif',
182
- color: '--orange'
183
- },
184
- {
185
- value: 'Bloqué',
186
- color: '--red'
187
- },
188
- {
189
- value: 'Archivé',
190
- color: '--yellow'
191
- }
192
- ]
193
- }
194
- },
195
- {
196
- id: 15,
197
- link_to_field_id: null,
198
- entity_id: 1,
199
- type: 'list-radio',
200
- width: 160,
201
- name: "taille de l'entreprise",
202
- normalized_name: 'taille_de_lentreprise',
203
- is_locked: false,
204
- is_required: false,
205
- is_secret: false,
206
- is_unique: false,
207
- props: {
208
- choices: [
209
- {
210
- value: 'Indépendant',
211
- color: '--green'
212
- },
213
- {
214
- value: 'TPE (1-9)',
215
- color: '--blue'
216
- },
217
- {
218
- value: 'PME (10-249)',
219
- color: '--mauve'
220
- },
221
- {
222
- value: 'Grande entreprise (250+)',
223
- color: '--orange'
224
- }
225
- ]
226
- }
227
- },
228
- {
229
- id: 5,
230
- link_to_field_id: null,
231
- entity_id: 1,
232
- type: 'text-varchar-phone',
233
- width: 160,
234
- name: 'téléphone principal',
235
- normalized_name: 'telephone_principal',
236
- is_locked: false,
237
- is_required: false,
238
- is_secret: false,
239
- is_unique: false,
240
- props: []
241
- },
242
- {
243
- id: 6,
244
- link_to_field_id: null,
245
- entity_id: 1,
246
- type: 'text-varchar-url',
247
- width: 160,
248
- name: 'site web',
249
- normalized_name: 'site_web',
250
- is_locked: false,
251
- is_required: false,
252
- is_secret: false,
253
- is_unique: false,
254
- props: []
255
- },
256
- {
257
- id: 18,
258
- link_to_field_id: null,
259
- entity_id: 1,
260
- type: 'text-varchar-default',
261
- width: 160,
262
- name: 'rue',
263
- normalized_name: 'rue',
264
- is_locked: false,
265
- is_required: false,
266
- is_secret: false,
267
- is_unique: false,
268
- props: []
269
- },
270
- {
271
- id: 19,
272
- link_to_field_id: null,
273
- entity_id: 1,
274
- type: 'number-int',
275
- width: 160,
276
- name: 'code postal',
277
- normalized_name: 'code_postal',
278
- is_locked: false,
279
- is_required: false,
280
- is_secret: false,
281
- is_unique: false,
282
- props: []
283
- },
284
- {
285
- id: 8,
286
- link_to_field_id: null,
287
- entity_id: 1,
288
- type: 'text-varchar-default',
289
- width: 160,
290
- name: 'ville',
291
- normalized_name: 'ville',
292
- is_locked: false,
293
- is_required: false,
294
- is_secret: false,
295
- is_unique: false,
296
- props: []
297
- },
298
- {
299
- id: 9,
300
- link_to_field_id: null,
301
- entity_id: 1,
302
- type: 'text-varchar-default',
303
- width: 160,
304
- name: 'pays',
305
- normalized_name: 'pays',
306
- is_locked: false,
307
- is_required: false,
308
- is_secret: false,
309
- is_unique: false,
310
- props: []
311
- },
312
- {
313
- id: 17,
314
- link_to_field_id: null,
315
- entity_id: 1,
316
- type: 'text-textarea',
317
- width: 160,
318
- name: 'notes',
319
- normalized_name: 'notes',
320
- is_locked: false,
321
- is_required: false,
322
- is_secret: false,
323
- is_unique: false,
324
- props: []
325
- },
326
- {
327
- id: 11,
328
- link_to_field_id: null,
329
- entity_id: 1,
330
- type: 'time-updated_at',
331
- width: 160,
332
- name: 'mis à jour le',
333
- normalized_name: 'mis_a_jour_le',
334
- is_locked: false,
335
- is_required: false,
336
- is_secret: false,
337
- is_unique: false,
338
- props: []
339
- },
340
- {
341
- id: 12,
342
- link_to_field_id: null,
343
- entity_id: 1,
344
- type: 'time-created_at',
345
- width: 160,
346
- name: 'Créé le',
347
- normalized_name: 'cree_le',
348
- is_locked: false,
349
- is_required: false,
350
- is_secret: false,
351
- is_unique: false,
352
- props: []
353
- }
354
- ]
355
- })
356
- );
357
- entityRegistry.register(
358
- createEntity({
359
- id: 86,
360
- version: 1,
361
- plural_name: 'produits',
362
- singular_name: 'produit',
363
- normalized_name: 'produits',
364
- slug: 'produits',
365
- symbol: 'C',
366
- can_be_edited: true,
367
- can_be_deleted: true,
368
- is_locked: false,
369
- updated_at: null,
370
- created_at: '2026-07-26 16:53:34',
371
- fields: [
372
- {
373
- id: 371,
374
- link_to_field_id: null,
375
- entity_id: 86,
376
- type: 'primary',
377
- width: 70,
378
- name: 'id',
379
- normalized_name: 'id',
380
- is_locked: true,
381
- is_required: false,
382
- is_secret: false,
383
- is_unique: true,
384
- props: []
385
- },
386
- {
387
- id: 372,
388
- link_to_field_id: null,
389
- entity_id: 86,
390
- type: 'text-varchar-default',
391
- width: 160,
392
- name: 'nom',
393
- normalized_name: 'nom',
394
- is_locked: false,
395
- is_required: true,
396
- is_secret: false,
397
- is_unique: true,
398
- props: []
399
- },
400
- {
401
- id: 373,
402
- link_to_field_id: null,
403
- entity_id: 86,
404
- type: 'number-float-price',
405
- width: 160,
406
- name: 'prix',
407
- normalized_name: 'prix',
408
- is_locked: false,
409
- is_required: true,
410
- is_secret: false,
411
- is_unique: true,
412
- props: []
413
- }
414
- ]
415
- })
416
- );
417
- entityRegistry.register(
418
- createEntity({
419
- id: 2,
420
- version: 1,
421
- plural_name: 'lignes de facture',
422
- singular_name: 'ligne de facture',
423
- normalized_name: 'lignes_de_facture',
424
- slug: 'lignes-de-facture',
425
- symbol: '#',
426
- can_be_edited: true,
427
- can_be_deleted: true,
428
- is_locked: false,
429
- updated_at: null,
430
- created_at: '2026-07-26 16:53:34',
431
- fields: [
432
- {
433
- id: 201,
434
- link_to_field_id: null,
435
- entity_id: 2,
436
- type: 'primary',
437
- width: 70,
438
- name: 'id',
439
- normalized_name: 'id',
440
- is_locked: true,
441
- is_required: false,
442
- is_secret: false,
443
- is_unique: true,
444
- props: []
445
- },
446
- {
447
- id: 209,
448
- link_to_field_id: null,
449
- entity_id: 2,
450
- type: 'link',
451
- width: 160,
452
- name: 'produit',
453
- normalized_name: 'produit',
454
- is_locked: false,
455
- is_required: false,
456
- is_secret: false,
457
- is_unique: false,
458
- props: {
459
- linkId: 86,
460
- multiple: false,
461
- display: '{structure.symbol}{element.id} - {element.nom}, {element.prix}€'
462
- }
463
- },
464
- {
465
- id: 205,
466
- link_to_field_id: null,
467
- entity_id: 2,
468
- type: 'number-int',
469
- width: 160,
470
- name: 'quantité',
471
- normalized_name: 'quantite',
472
- is_locked: false,
473
- is_required: false,
474
- is_secret: false,
475
- is_unique: false,
476
- props: []
477
- },
478
- {
479
- id: 206,
480
- link_to_field_id: null,
481
- entity_id: 2,
482
- type: 'number-int',
483
- width: 160,
484
- name: 'prix',
485
- normalized_name: 'prix',
486
- is_locked: false,
487
- is_required: false,
488
- is_secret: false,
489
- is_unique: false,
490
- props: []
491
- },
492
- {
493
- id: 207,
494
- link_to_field_id: null,
495
- entity_id: 2,
496
- type: 'calculation-column',
497
- width: 160,
498
- name: 'total',
499
- normalized_name: 'total',
500
- is_locked: false,
501
- is_required: false,
502
- is_secret: false,
503
- is_unique: false,
504
- props: {
505
- column1: 373,
506
- operator: '*',
507
- column2: 205
508
- }
509
- },
510
- {
511
- id: 232,
512
- link_to_field_id: null,
513
- entity_id: 2,
514
- type: 'calculation-column',
515
- width: 160,
516
- name: 'total 2',
517
- normalized_name: 'total 2',
518
- is_locked: false,
519
- is_required: false,
520
- is_secret: false,
521
- is_unique: false,
522
- props: {
523
- column1: 206,
524
- operator: '*',
525
- column2: 207
526
- }
527
- }
528
- ]
529
- })
530
- );
531
- entityRegistry.register(
532
- createEntity({
533
- id: 3,
534
- version: 1,
535
- plural_name: 'factures',
536
- singular_name: 'facture',
537
- normalized_name: 'factures',
538
- slug: 'factures',
539
- symbol: '#',
540
- can_be_edited: true,
541
- can_be_deleted: true,
542
- is_locked: false,
543
- updated_at: null,
544
- created_at: '2026-07-26 16:53:34',
545
- fields: [
546
- {
547
- id: 301,
548
- link_to_field_id: null,
549
- entity_id: 3,
550
- type: 'primary',
551
- width: 70,
552
- name: 'id',
553
- normalized_name: 'id',
554
- is_locked: true,
555
- is_required: false,
556
- is_secret: false,
557
- is_unique: true,
558
- props: []
559
- },
560
- {
561
- id: 305,
562
- link_to_field_id: null,
563
- entity_id: 3,
564
- type: 'lines',
565
- width: 160,
566
- name: 'lignes',
567
- normalized_name: 'lignes',
568
- is_locked: false,
569
- is_required: false,
570
- is_secret: false,
571
- is_unique: false,
572
- props: {
573
- linkId: 2,
574
- columns: [
575
- {
576
- columnIndex: 0,
577
- rows: [
578
- {
579
- rowIndex: 0,
580
- type: null,
581
- fieldId: 205
582
- },
583
- {
584
- rowIndex: 0,
585
- type: null,
586
- fieldId: 209
587
- }
588
- ],
589
- name: 'details'
590
- },
591
- {
592
- columnIndex: 1,
593
- rows: [
594
- {
595
- rowIndex: 0,
596
- type: null,
597
- fieldId: 206
598
- }
599
- ],
600
- name: 'qtt'
601
- },
602
- {
603
- columnIndex: 2,
604
- rows: [
605
- {
606
- rowIndex: 0,
607
- type: null,
608
- fieldId: 207
609
- },
610
- {
611
- rowIndex: 0,
612
- type: null,
613
- fieldId: 232
614
- }
615
- ],
616
- name: 'tot'
617
- }
618
- ]
619
- }
620
- },
621
- {
622
- id: 456,
623
- link_to_field_id: null,
624
- entity_id: 2,
625
- type: 'calculation-line',
626
- width: 160,
627
- name: 'total de ligne',
628
- normalized_name: 'total de ligne',
629
- is_locked: false,
630
- is_required: false,
631
- is_secret: false,
632
- is_unique: false,
633
- props: {
634
- fieldId: 305,
635
- operator: '-',
636
- lineFieldId: 207
637
- }
638
- }
639
- ]
640
- })
641
- );
56
+ // entityRegistry.register(
57
+ // createEntity({
58
+ // id: 1,
59
+ // version: 1,
60
+ // plural_name: 'clients',
61
+ // singular_name: 'client',
62
+ // normalized_name: 'clients',
63
+ // slug: 'clients',
64
+ // symbol: 'C',
65
+ // can_be_edited: true,
66
+ // can_be_deleted: true,
67
+ // is_locked: false,
68
+ // updated_at: null,
69
+ // created_at: '2026-07-26 16:53:34',
70
+ // fields: [
71
+ // {
72
+ // id: 1,
73
+ // link_to_field_id: null,
74
+ // entity_id: 1,
75
+ // type: 'primary',
76
+ // width: 70,
77
+ // name: 'id',
78
+ // normalized_name: 'id',
79
+ // is_locked: true,
80
+ // is_required: false,
81
+ // is_secret: false,
82
+ // is_unique: true,
83
+ // props: []
84
+ // },
85
+ // {
86
+ // id: 2,
87
+ // link_to_field_id: null,
88
+ // entity_id: 1,
89
+ // type: 'text-varchar-default',
90
+ // width: 160,
91
+ // name: 'nom',
92
+ // normalized_name: 'nom',
93
+ // is_locked: false,
94
+ // is_required: true,
95
+ // is_secret: false,
96
+ // is_unique: true,
97
+ // props: []
98
+ // },
99
+ // {
100
+ // id: 3,
101
+ // link_to_field_id: null,
102
+ // entity_id: 1,
103
+ // type: 'text-varchar-email',
104
+ // width: 160,
105
+ // name: 'email principal',
106
+ // normalized_name: 'email_principal',
107
+ // is_locked: false,
108
+ // is_required: true,
109
+ // is_secret: false,
110
+ // is_unique: true,
111
+ // props: []
112
+ // },
113
+ // {
114
+ // id: 13,
115
+ // link_to_field_id: null,
116
+ // entity_id: 1,
117
+ // type: 'text-varchar-default',
118
+ // width: 160,
119
+ // name: 'TVA',
120
+ // normalized_name: 'tva',
121
+ // is_locked: false,
122
+ // is_required: false,
123
+ // is_secret: false,
124
+ // is_unique: true,
125
+ // props: []
126
+ // },
127
+ // {
128
+ // id: 14,
129
+ // link_to_field_id: null,
130
+ // entity_id: 1,
131
+ // type: 'text-varchar-default',
132
+ // width: 160,
133
+ // name: 'SIRET / ICE',
134
+ // normalized_name: 'siret_ice',
135
+ // is_locked: false,
136
+ // is_required: false,
137
+ // is_secret: false,
138
+ // is_unique: true,
139
+ // props: []
140
+ // },
141
+ // {
142
+ // id: 4,
143
+ // link_to_field_id: null,
144
+ // entity_id: 1,
145
+ // type: 'list-radio',
146
+ // width: 160,
147
+ // name: 'type',
148
+ // normalized_name: 'type',
149
+ // is_locked: false,
150
+ // is_required: true,
151
+ // is_secret: false,
152
+ // is_unique: false,
153
+ // props: {
154
+ // choices: [
155
+ // {
156
+ // value: 'Entreprise',
157
+ // color: '--blue'
158
+ // },
159
+ // {
160
+ // value: 'Particulier',
161
+ // color: '--green'
162
+ // }
163
+ // ]
164
+ // }
165
+ // },
166
+ // {
167
+ // id: 16,
168
+ // link_to_field_id: null,
169
+ // entity_id: 1,
170
+ // type: 'list-radio',
171
+ // width: 160,
172
+ // name: 'status',
173
+ // normalized_name: 'status',
174
+ // is_locked: false,
175
+ // is_required: true,
176
+ // is_secret: false,
177
+ // is_unique: false,
178
+ // props: {
179
+ // choices: [
180
+ // {
181
+ // value: 'Actif',
182
+ // color: '--green'
183
+ // },
184
+ // {
185
+ // value: 'Inactif',
186
+ // color: '--orange'
187
+ // },
188
+ // {
189
+ // value: 'Bloqué',
190
+ // color: '--red'
191
+ // },
192
+ // {
193
+ // value: 'Archivé',
194
+ // color: '--yellow'
195
+ // }
196
+ // ]
197
+ // }
198
+ // },
199
+ // {
200
+ // id: 15,
201
+ // link_to_field_id: null,
202
+ // entity_id: 1,
203
+ // type: 'list-radio',
204
+ // width: 160,
205
+ // name: "taille de l'entreprise",
206
+ // normalized_name: 'taille_de_lentreprise',
207
+ // is_locked: false,
208
+ // is_required: false,
209
+ // is_secret: false,
210
+ // is_unique: false,
211
+ // props: {
212
+ // choices: [
213
+ // {
214
+ // value: 'Indépendant',
215
+ // color: '--green'
216
+ // },
217
+ // {
218
+ // value: 'TPE (1-9)',
219
+ // color: '--blue'
220
+ // },
221
+ // {
222
+ // value: 'PME (10-249)',
223
+ // color: '--mauve'
224
+ // },
225
+ // {
226
+ // value: 'Grande entreprise (250+)',
227
+ // color: '--orange'
228
+ // }
229
+ // ]
230
+ // }
231
+ // },
232
+ // {
233
+ // id: 5,
234
+ // link_to_field_id: null,
235
+ // entity_id: 1,
236
+ // type: 'text-varchar-phone',
237
+ // width: 160,
238
+ // name: 'téléphone principal',
239
+ // normalized_name: 'telephone_principal',
240
+ // is_locked: false,
241
+ // is_required: false,
242
+ // is_secret: false,
243
+ // is_unique: false,
244
+ // props: []
245
+ // },
246
+ // {
247
+ // id: 6,
248
+ // link_to_field_id: null,
249
+ // entity_id: 1,
250
+ // type: 'text-varchar-url',
251
+ // width: 160,
252
+ // name: 'site web',
253
+ // normalized_name: 'site_web',
254
+ // is_locked: false,
255
+ // is_required: false,
256
+ // is_secret: false,
257
+ // is_unique: false,
258
+ // props: []
259
+ // },
260
+ // {
261
+ // id: 18,
262
+ // link_to_field_id: null,
263
+ // entity_id: 1,
264
+ // type: 'text-varchar-default',
265
+ // width: 160,
266
+ // name: 'rue',
267
+ // normalized_name: 'rue',
268
+ // is_locked: false,
269
+ // is_required: false,
270
+ // is_secret: false,
271
+ // is_unique: false,
272
+ // props: []
273
+ // },
274
+ // {
275
+ // id: 19,
276
+ // link_to_field_id: null,
277
+ // entity_id: 1,
278
+ // type: 'number-int',
279
+ // width: 160,
280
+ // name: 'code postal',
281
+ // normalized_name: 'code_postal',
282
+ // is_locked: false,
283
+ // is_required: false,
284
+ // is_secret: false,
285
+ // is_unique: false,
286
+ // props: []
287
+ // },
288
+ // {
289
+ // id: 8,
290
+ // link_to_field_id: null,
291
+ // entity_id: 1,
292
+ // type: 'text-varchar-default',
293
+ // width: 160,
294
+ // name: 'ville',
295
+ // normalized_name: 'ville',
296
+ // is_locked: false,
297
+ // is_required: false,
298
+ // is_secret: false,
299
+ // is_unique: false,
300
+ // props: []
301
+ // },
302
+ // {
303
+ // id: 9,
304
+ // link_to_field_id: null,
305
+ // entity_id: 1,
306
+ // type: 'text-varchar-default',
307
+ // width: 160,
308
+ // name: 'pays',
309
+ // normalized_name: 'pays',
310
+ // is_locked: false,
311
+ // is_required: false,
312
+ // is_secret: false,
313
+ // is_unique: false,
314
+ // props: []
315
+ // },
316
+ // {
317
+ // id: 17,
318
+ // link_to_field_id: null,
319
+ // entity_id: 1,
320
+ // type: 'text-textarea',
321
+ // width: 160,
322
+ // name: 'notes',
323
+ // normalized_name: 'notes',
324
+ // is_locked: false,
325
+ // is_required: false,
326
+ // is_secret: false,
327
+ // is_unique: false,
328
+ // props: []
329
+ // },
330
+ // {
331
+ // id: 11,
332
+ // link_to_field_id: null,
333
+ // entity_id: 1,
334
+ // type: 'time-updated_at',
335
+ // width: 160,
336
+ // name: 'mis à jour le',
337
+ // normalized_name: 'mis_a_jour_le',
338
+ // is_locked: false,
339
+ // is_required: false,
340
+ // is_secret: false,
341
+ // is_unique: false,
342
+ // props: []
343
+ // },
344
+ // {
345
+ // id: 12,
346
+ // link_to_field_id: null,
347
+ // entity_id: 1,
348
+ // type: 'time-created_at',
349
+ // width: 160,
350
+ // name: 'Créé le',
351
+ // normalized_name: 'cree_le',
352
+ // is_locked: false,
353
+ // is_required: false,
354
+ // is_secret: false,
355
+ // is_unique: false,
356
+ // props: []
357
+ // }
358
+ // ]
359
+ // })
360
+ // );
361
+ // entityRegistry.register(
362
+ // createEntity({
363
+ // id: 86,
364
+ // version: 1,
365
+ // plural_name: 'produits',
366
+ // singular_name: 'produit',
367
+ // normalized_name: 'produits',
368
+ // slug: 'produits',
369
+ // symbol: 'C',
370
+ // can_be_edited: true,
371
+ // can_be_deleted: true,
372
+ // is_locked: false,
373
+ // updated_at: null,
374
+ // created_at: '2026-07-26 16:53:34',
375
+ // fields: [
376
+ // {
377
+ // id: 371,
378
+ // link_to_field_id: null,
379
+ // entity_id: 86,
380
+ // type: 'primary',
381
+ // width: 70,
382
+ // name: 'id',
383
+ // normalized_name: 'id',
384
+ // is_locked: true,
385
+ // is_required: false,
386
+ // is_secret: false,
387
+ // is_unique: true,
388
+ // props: []
389
+ // },
390
+ // {
391
+ // id: 372,
392
+ // link_to_field_id: null,
393
+ // entity_id: 86,
394
+ // type: 'text-varchar-default',
395
+ // width: 160,
396
+ // name: 'nom',
397
+ // normalized_name: 'nom',
398
+ // is_locked: false,
399
+ // is_required: true,
400
+ // is_secret: false,
401
+ // is_unique: true,
402
+ // props: []
403
+ // },
404
+ // {
405
+ // id: 373,
406
+ // link_to_field_id: null,
407
+ // entity_id: 86,
408
+ // type: 'number-float-price',
409
+ // width: 160,
410
+ // name: 'prix',
411
+ // normalized_name: 'prix',
412
+ // is_locked: false,
413
+ // is_required: true,
414
+ // is_secret: false,
415
+ // is_unique: true,
416
+ // props: []
417
+ // }
418
+ // ]
419
+ // })
420
+ // );
421
+ // entityRegistry.register(
422
+ // createEntity({
423
+ // id: 2,
424
+ // version: 1,
425
+ // plural_name: 'lignes de facture',
426
+ // singular_name: 'ligne de facture',
427
+ // normalized_name: 'lignes_de_facture',
428
+ // slug: 'lignes-de-facture',
429
+ // symbol: '#',
430
+ // can_be_edited: true,
431
+ // can_be_deleted: true,
432
+ // is_locked: false,
433
+ // updated_at: null,
434
+ // created_at: '2026-07-26 16:53:34',
435
+ // fields: [
436
+ // {
437
+ // id: 201,
438
+ // link_to_field_id: null,
439
+ // entity_id: 2,
440
+ // type: 'primary',
441
+ // width: 70,
442
+ // name: 'id',
443
+ // normalized_name: 'id',
444
+ // is_locked: true,
445
+ // is_required: false,
446
+ // is_secret: false,
447
+ // is_unique: true,
448
+ // props: []
449
+ // },
450
+ // {
451
+ // id: 209,
452
+ // link_to_field_id: null,
453
+ // entity_id: 2,
454
+ // type: 'link',
455
+ // width: 160,
456
+ // name: 'produit',
457
+ // normalized_name: 'produit',
458
+ // is_locked: false,
459
+ // is_required: false,
460
+ // is_secret: false,
461
+ // is_unique: false,
462
+ // props: {
463
+ // linkId: 86,
464
+ // multiple: false,
465
+ // display: '{structure.symbol}{element.id} - {element.nom}, {element.prix}€'
466
+ // }
467
+ // },
468
+ // {
469
+ // id: 205,
470
+ // link_to_field_id: null,
471
+ // entity_id: 2,
472
+ // type: 'number-int',
473
+ // width: 160,
474
+ // name: 'quantité',
475
+ // normalized_name: 'quantite',
476
+ // is_locked: false,
477
+ // is_required: false,
478
+ // is_secret: false,
479
+ // is_unique: false,
480
+ // props: []
481
+ // },
482
+ // {
483
+ // id: 206,
484
+ // link_to_field_id: null,
485
+ // entity_id: 2,
486
+ // type: 'number-int',
487
+ // width: 160,
488
+ // name: 'prix',
489
+ // normalized_name: 'prix',
490
+ // is_locked: false,
491
+ // is_required: false,
492
+ // is_secret: false,
493
+ // is_unique: false,
494
+ // props: []
495
+ // },
496
+ // {
497
+ // id: 207,
498
+ // link_to_field_id: null,
499
+ // entity_id: 2,
500
+ // type: 'calculation-column',
501
+ // width: 160,
502
+ // name: 'total',
503
+ // normalized_name: 'total',
504
+ // is_locked: false,
505
+ // is_required: false,
506
+ // is_secret: false,
507
+ // is_unique: false,
508
+ // props: {
509
+ // column1: 373,
510
+ // operator: '*',
511
+ // column2: 205
512
+ // }
513
+ // },
514
+ // {
515
+ // id: 232,
516
+ // link_to_field_id: null,
517
+ // entity_id: 2,
518
+ // type: 'calculation-column',
519
+ // width: 160,
520
+ // name: 'total 2',
521
+ // normalized_name: 'total 2',
522
+ // is_locked: false,
523
+ // is_required: false,
524
+ // is_secret: false,
525
+ // is_unique: false,
526
+ // props: {
527
+ // column1: 206,
528
+ // operator: '*',
529
+ // column2: 207
530
+ // }
531
+ // }
532
+ // ]
533
+ // })
534
+ // );
535
+ // entityRegistry.register(
536
+ // createEntity({
537
+ // id: 3,
538
+ // version: 1,
539
+ // plural_name: 'factures',
540
+ // singular_name: 'facture',
541
+ // normalized_name: 'factures',
542
+ // slug: 'factures',
543
+ // symbol: '#',
544
+ // can_be_edited: true,
545
+ // can_be_deleted: true,
546
+ // is_locked: false,
547
+ // updated_at: null,
548
+ // created_at: '2026-07-26 16:53:34',
549
+ // fields: [
550
+ // {
551
+ // id: 301,
552
+ // link_to_field_id: null,
553
+ // entity_id: 3,
554
+ // type: 'primary',
555
+ // width: 70,
556
+ // name: 'id',
557
+ // normalized_name: 'id',
558
+ // is_locked: true,
559
+ // is_required: false,
560
+ // is_secret: false,
561
+ // is_unique: true,
562
+ // props: []
563
+ // },
564
+ // {
565
+ // id: 305,
566
+ // link_to_field_id: null,
567
+ // entity_id: 3,
568
+ // type: 'lines',
569
+ // width: 160,
570
+ // name: 'lignes',
571
+ // normalized_name: 'lignes',
572
+ // is_locked: false,
573
+ // is_required: false,
574
+ // is_secret: false,
575
+ // is_unique: false,
576
+ // props: {
577
+ // linkId: 2,
578
+ // columns: [
579
+ // {
580
+ // columnIndex: 0,
581
+ // rows: [
582
+ // {
583
+ // rowIndex: 0,
584
+ // type: null,
585
+ // fieldId: 205
586
+ // },
587
+ // {
588
+ // rowIndex: 0,
589
+ // type: null,
590
+ // fieldId: 209
591
+ // }
592
+ // ],
593
+ // name: 'details'
594
+ // },
595
+ // {
596
+ // columnIndex: 1,
597
+ // rows: [
598
+ // {
599
+ // rowIndex: 0,
600
+ // type: null,
601
+ // fieldId: 206
602
+ // }
603
+ // ],
604
+ // name: 'qtt'
605
+ // },
606
+ // {
607
+ // columnIndex: 2,
608
+ // rows: [
609
+ // {
610
+ // rowIndex: 0,
611
+ // type: null,
612
+ // fieldId: 207
613
+ // },
614
+ // {
615
+ // rowIndex: 0,
616
+ // type: null,
617
+ // fieldId: 232
618
+ // }
619
+ // ],
620
+ // name: 'tot'
621
+ // }
622
+ // ]
623
+ // }
624
+ // },
625
+ // {
626
+ // id: 456,
627
+ // link_to_field_id: null,
628
+ // entity_id: 2,
629
+ // type: 'calculation-line',
630
+ // width: 160,
631
+ // name: 'total de ligne',
632
+ // normalized_name: 'total de ligne',
633
+ // is_locked: false,
634
+ // is_required: false,
635
+ // is_secret: false,
636
+ // is_unique: false,
637
+ // props: {
638
+ // fieldId: 305,
639
+ // operator: '-',
640
+ // lineFieldId: 207
641
+ // }
642
+ // }
643
+ // ]
644
+ // })
645
+ // );
642
646
 
643
647
  isMount = true;
644
648
  });