@data-fair/app-dashboards 0.11.8 → 1.0.1

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.
@@ -14,13 +14,27 @@
14
14
  "href": {
15
15
  "type": "string"
16
16
  },
17
- "title": { "type": "string" },
18
- "id": { "type": "string" },
19
- "slug": { "type": "string" },
20
- "schema": { "type": "array" },
21
- "timePeriod": { "type": "object" },
22
- "bbox": { "type": "array" },
23
- "finalizedAt": { "type": "string" }
17
+ "title": {
18
+ "type": "string"
19
+ },
20
+ "id": {
21
+ "type": "string"
22
+ },
23
+ "slug": {
24
+ "type": "string"
25
+ },
26
+ "schema": {
27
+ "type": "array"
28
+ },
29
+ "timePeriod": {
30
+ "type": "object"
31
+ },
32
+ "bbox": {
33
+ "type": "array"
34
+ },
35
+ "finalizedAt": {
36
+ "type": "string"
37
+ }
24
38
  },
25
39
  "layout": {
26
40
  "getItems": {
@@ -34,7 +48,142 @@
34
48
  ]
35
49
  },
36
50
  "staticFilters": {
37
- "$ref": "#/definitions/filters"
51
+ "title": "Filtres prédéfinis",
52
+ "type": "array",
53
+ "layout": {
54
+ "messages": {
55
+ "addItem": "ajouter un filtre"
56
+ }
57
+ },
58
+ "items": {
59
+ "type": "object",
60
+ "default": {
61
+ "type": "in"
62
+ },
63
+ "required": [],
64
+ "oneOf": [
65
+ {
66
+ "title": "Restreindre à des valeurs",
67
+ "required": [
68
+ "field",
69
+ "values"
70
+ ],
71
+ "additionalProperties": false,
72
+ "properties": {
73
+ "type": {
74
+ "const": "in"
75
+ },
76
+ "field": {
77
+ "type": "string",
78
+ "title": "Colonne de filtre",
79
+ "layout": {
80
+ "getItems": {
81
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
82
+ "itemKey": "data.key",
83
+ "itemTitle": "data.label"
84
+ }
85
+ }
86
+ },
87
+ "values": {
88
+ "type": "array",
89
+ "title": "Valeurs",
90
+ "items": {
91
+ "type": "string"
92
+ },
93
+ "layout": {
94
+ "getItems": {
95
+ "url": "${rootData.datasets[0].href}/values-labels/${parent.data.field}?q={q}&q_mode=complete&size=1000&stringify=true",
96
+ "itemKey": "data.value",
97
+ "itemTitle": "data.label"
98
+ }
99
+ }
100
+ }
101
+ }
102
+ },
103
+ {
104
+ "title": "Restreindre à un interval de valeurs",
105
+ "required": [
106
+ "field"
107
+ ],
108
+ "additionalProperties": false,
109
+ "properties": {
110
+ "type": {
111
+ "const": "interval"
112
+ },
113
+ "field": {
114
+ "type": "string",
115
+ "title": "Colonne de filtre",
116
+ "layout": {
117
+ "getItems": {
118
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
119
+ "itemKey": "data.key",
120
+ "itemTitle": "data.label"
121
+ }
122
+ }
123
+ },
124
+ "minValue": {
125
+ "type": "string",
126
+ "title": "Valeur min",
127
+ "layout": {
128
+ "getItems": {
129
+ "url": "${rootData.datasets[0].href}/values-labels/$${parent.data.field}?sort=asc&{parent.data.field}_gte={q}&stringify=true",
130
+ "itemKey": "data.value",
131
+ "itemTitle": "data.label"
132
+ }
133
+ }
134
+ },
135
+ "maxValue": {
136
+ "type": "string",
137
+ "title": "Valeur max",
138
+ "layout": {
139
+ "getItems": {
140
+ "url": "${rootData.datasets[0].href}/values-labels/$${parent.data.field}?sort=desc&{parent.data.field}_lte={q}&stringify=true",
141
+ "itemKey": "data.value",
142
+ "itemTitle": "data.label"
143
+ }
144
+ }
145
+ }
146
+ }
147
+ },
148
+ {
149
+ "title": "Exclure des valeurs",
150
+ "required": [
151
+ "field"
152
+ ],
153
+ "additionalProperties": false,
154
+ "properties": {
155
+ "type": {
156
+ "const": "nin"
157
+ },
158
+ "field": {
159
+ "type": "string",
160
+ "title": "Colonne de filtre",
161
+ "layout": {
162
+ "getItems": {
163
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
164
+ "itemKey": "data.key",
165
+ "itemTitle": "data.label"
166
+ }
167
+ }
168
+ },
169
+ "values": {
170
+ "type": "array",
171
+ "title": "Valeurs à exclure",
172
+ "items": {
173
+ "type": "string"
174
+ },
175
+ "layout": {
176
+ "getItems": {
177
+ "url": "${rootData.datasets[0].href}/values-labels/${parent.data.field}?q={q}&q_mode=complete&size=1000&stringify=true",
178
+ "itemKey": "data.value",
179
+ "itemTitle": "data.label"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ ]
186
+ }
38
187
  },
39
188
  "filters": {
40
189
  "type": "array",
@@ -47,7 +196,9 @@
47
196
  },
48
197
  "items": {
49
198
  "type": "object",
50
- "required": ["labelField"],
199
+ "required": [
200
+ "labelField"
201
+ ],
51
202
  "layout": {
52
203
  "switch": [
53
204
  {
@@ -143,7 +294,11 @@
143
294
  "if": "!summary",
144
295
  "children": [
145
296
  {
146
- "children": ["title", "icon", "rows"]
297
+ "children": [
298
+ "title",
299
+ "icon",
300
+ "rows"
301
+ ]
147
302
  }
148
303
  ]
149
304
  },
@@ -199,12 +354,17 @@
199
354
  "if": "!summary",
200
355
  "children": [
201
356
  {
202
- "children": ["height", "elements"]
357
+ "children": [
358
+ "height",
359
+ "elements"
360
+ ]
203
361
  }
204
362
  ]
205
363
  },
206
364
  {
207
- "children": ["elements"]
365
+ "children": [
366
+ "elements"
367
+ ]
208
368
  }
209
369
  ]
210
370
  },
@@ -260,19 +420,875 @@
260
420
  },
261
421
  "oneOf": [
262
422
  {
263
- "$ref": "#/definitions/table"
423
+ "title": "Prévisualisation table",
424
+ "type": "object",
425
+ "properties": {
426
+ "type": {
427
+ "const": "tablePreview",
428
+ "title": "Type de l'élément"
429
+ }
430
+ },
431
+ "oneOf": [
432
+ {
433
+ "title": "Jeu de données des filtres",
434
+ "properties": {
435
+ "source": {
436
+ "const": "root",
437
+ "title": "Source des données"
438
+ },
439
+ "fields": {
440
+ "title": "Champs à afficher",
441
+ "description": "Si vide, tous les champs seront affichés",
442
+ "type": "array",
443
+ "items": {
444
+ "type": "string"
445
+ },
446
+ "layout": {
447
+ "getItems": {
448
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
449
+ "itemKey": "data.key",
450
+ "itemTitle": "data.label"
451
+ }
452
+ }
453
+ },
454
+ "display": {
455
+ "type": "string",
456
+ "oneOf": [
457
+ {
458
+ "const": "table",
459
+ "title": "Tableau"
460
+ },
461
+ {
462
+ "const": "table-dense",
463
+ "title": "Tableau dense"
464
+ },
465
+ {
466
+ "const": "list",
467
+ "title": "Vignettes"
468
+ }
469
+ ],
470
+ "default": "table",
471
+ "title": "Affichage"
472
+ },
473
+ "noInteractions": {
474
+ "title": "Désactiver les interactions",
475
+ "type": "boolean",
476
+ "default": false
477
+ },
478
+ "ignoreFilters": {
479
+ "title": "Ignorer les filtres",
480
+ "type": "boolean",
481
+ "default": false
482
+ },
483
+ "valueMandatory": {
484
+ "title": "Nécessite une valeur dans des filtres",
485
+ "type": "boolean",
486
+ "default": false,
487
+ "layout": {
488
+ "if": "!parent.data.ignoreFilters"
489
+ }
490
+ },
491
+ "mandatoryFilters": {
492
+ "title": "Filtres requis",
493
+ "type": "array",
494
+ "items": {
495
+ "type": "string"
496
+ },
497
+ "layout": {
498
+ "getItems": {
499
+ "expr": "rootData.filters",
500
+ "itemKey": "data.labelField",
501
+ "itemTitle": "data.labelField"
502
+ },
503
+ "if": "parent.data.valueMandatory"
504
+ }
505
+ }
506
+ }
507
+ },
508
+ {
509
+ "title": "Autre jeu de données",
510
+ "layout": {
511
+ "switch": [
512
+ {
513
+ "if": "!data.dataset",
514
+ "children": [
515
+ "dataset"
516
+ ]
517
+ }
518
+ ]
519
+ },
520
+ "properties": {
521
+ "source": {
522
+ "const": "external",
523
+ "title": "Source des données"
524
+ },
525
+ "dataset": {
526
+ "type": "object",
527
+ "properties": {
528
+ "id": {
529
+ "type": "string"
530
+ },
531
+ "slug": {
532
+ "type": "string"
533
+ },
534
+ "title": {
535
+ "type": "string"
536
+ },
537
+ "href": {
538
+ "type": "string"
539
+ },
540
+ "schema": {
541
+ "type": "array"
542
+ }
543
+ },
544
+ "layout": {
545
+ "getItems": {
546
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&select=id,title,slug,schema&sort=createdAt:-1",
547
+ "itemKey": "data.id",
548
+ "itemTitle": "data.title",
549
+ "itemsResults": "data.results"
550
+ }
551
+ }
552
+ },
553
+ "fields": {
554
+ "title": "Champs à afficher",
555
+ "description": "Si vide, tous les champs seront affichés",
556
+ "type": "array",
557
+ "items": {
558
+ "type": "string"
559
+ },
560
+ "layout": {
561
+ "getItems": {
562
+ "url": "${parent.data.dataset.href}/schema?calculated=false",
563
+ "itemKey": "data.key",
564
+ "itemTitle": "data.label"
565
+ }
566
+ }
567
+ },
568
+ "display": {
569
+ "type": "string",
570
+ "oneOf": [
571
+ {
572
+ "const": "table",
573
+ "title": "Tableau"
574
+ },
575
+ {
576
+ "const": "table-dense",
577
+ "title": "Tableau dense"
578
+ },
579
+ {
580
+ "const": "list",
581
+ "title": "Vignettes"
582
+ }
583
+ ],
584
+ "default": "table",
585
+ "title": "Affichage"
586
+ },
587
+ "noInteractions": {
588
+ "title": "Désactiver les interactions",
589
+ "type": "boolean",
590
+ "default": false
591
+ },
592
+ "ignoreFilters": {
593
+ "title": "Ignorer les filtres",
594
+ "type": "boolean",
595
+ "default": false
596
+ },
597
+ "valueMandatory": {
598
+ "title": "Nécessite une valeur dans des filtres",
599
+ "type": "boolean",
600
+ "default": false,
601
+ "layout": {
602
+ "if": "!parent.data.ignoreFilters"
603
+ }
604
+ },
605
+ "mandatoryFilters": {
606
+ "title": "Filtres requis",
607
+ "type": "array",
608
+ "items": {
609
+ "type": "string"
610
+ },
611
+ "layout": {
612
+ "getItems": {
613
+ "expr": "rootData.filters",
614
+ "itemKey": "data.labelField",
615
+ "itemTitle": "data.labelField"
616
+ },
617
+ "if": "parent.data.valueMandatory"
618
+ }
619
+ }
620
+ }
621
+ }
622
+ ],
623
+ "default": {
624
+ "source": "root"
625
+ },
626
+ "oneOfLayout": {
627
+ "label": "Source des données"
628
+ }
264
629
  },
265
630
  {
266
- "$ref": "#/definitions/application"
631
+ "title": "Visualisation",
632
+ "properties": {
633
+ "type": {
634
+ "const": "application",
635
+ "title": "Type de l'élément"
636
+ }
637
+ },
638
+ "oneOf": [
639
+ {
640
+ "title": "Jeu de données des filtres",
641
+ "properties": {
642
+ "source": {
643
+ "const": "root",
644
+ "title": "Source des données de l'application"
645
+ },
646
+ "application": {
647
+ "type": "object",
648
+ "properties": {
649
+ "id": {
650
+ "type": "string"
651
+ },
652
+ "title": {
653
+ "type": "string"
654
+ },
655
+ "href": {
656
+ "type": "string"
657
+ },
658
+ "baseApp": {
659
+ "type": "object"
660
+ }
661
+ },
662
+ "layout": {
663
+ "getItems": {
664
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&dataset=${rootData.datasets[0].id}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
665
+ "itemKey": "data.id",
666
+ "itemTitle": "data.title",
667
+ "itemsResults": "data.results"
668
+ }
669
+ }
670
+ },
671
+ "ignoreFilters": {
672
+ "title": "Ignorer les filtres",
673
+ "type": "boolean",
674
+ "default": false
675
+ },
676
+ "valueMandatory": {
677
+ "title": "Nécessite une valeur dans des filtres",
678
+ "type": "boolean",
679
+ "default": false,
680
+ "layout": {
681
+ "if": "!parent.data.ignoreFilters"
682
+ }
683
+ },
684
+ "mandatoryFilters": {
685
+ "title": "Filtres requis",
686
+ "type": "array",
687
+ "items": {
688
+ "type": "string"
689
+ },
690
+ "layout": {
691
+ "getItems": {
692
+ "expr": "rootData.filters",
693
+ "itemKey": "data.labelField",
694
+ "itemTitle": "data.labelField"
695
+ },
696
+ "if": "parent.data.valueMandatory"
697
+ }
698
+ },
699
+ "description": {
700
+ "title": "Affichage de la description",
701
+ "type": "string",
702
+ "oneOf": [
703
+ {
704
+ "const": "none",
705
+ "title": "Aucun affichage"
706
+ },
707
+ {
708
+ "const": "left",
709
+ "title": "A gauche"
710
+ },
711
+ {
712
+ "const": "right",
713
+ "title": "A droite"
714
+ }
715
+ ],
716
+ "default": "none"
717
+ }
718
+ }
719
+ },
720
+ {
721
+ "title": "Autre jeu de données",
722
+ "properties": {
723
+ "source": {
724
+ "const": "external",
725
+ "title": "Source des données de l'application"
726
+ },
727
+ "application": {
728
+ "type": "object",
729
+ "properties": {
730
+ "id": {
731
+ "type": "string"
732
+ },
733
+ "title": {
734
+ "type": "string"
735
+ },
736
+ "href": {
737
+ "type": "string"
738
+ },
739
+ "baseApp": {
740
+ "type": "object"
741
+ }
742
+ },
743
+ "layout": {
744
+ "getItems": {
745
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
746
+ "itemKey": "data.id",
747
+ "itemTitle": "data.title",
748
+ "itemsResults": "data.results"
749
+ }
750
+ }
751
+ },
752
+ "ignoreFilters": {
753
+ "title": "Ignorer les filtres",
754
+ "type": "boolean",
755
+ "default": false
756
+ },
757
+ "valueMandatory": {
758
+ "title": "Nécessite une valeur dans des filtres",
759
+ "type": "boolean",
760
+ "default": false,
761
+ "layout": {
762
+ "if": "!parent.data.ignoreFilters"
763
+ }
764
+ },
765
+ "mandatoryFilters": {
766
+ "title": "Filtres requis",
767
+ "type": "array",
768
+ "items": {
769
+ "type": "string"
770
+ },
771
+ "layout": {
772
+ "getItems": {
773
+ "expr": "rootData.filters",
774
+ "itemKey": "data.labelField",
775
+ "itemTitle": "data.labelField"
776
+ },
777
+ "if": "parent.data.valueMandatory"
778
+ }
779
+ }
780
+ }
781
+ }
782
+ ],
783
+ "default": {
784
+ "source": "root"
785
+ },
786
+ "oneOfLayout": {
787
+ "label": "Source des données de l'application"
788
+ }
267
789
  },
268
790
  {
269
- "$ref": "#/definitions/text"
791
+ "title": "Texte",
792
+ "properties": {
793
+ "type": {
794
+ "const": "text",
795
+ "title": "Type de l'élément"
796
+ },
797
+ "content": {
798
+ "type": "string",
799
+ "title": "Contenu",
800
+ "layout": "textarea"
801
+ }
802
+ }
270
803
  },
271
804
  {
272
- "$ref": "#/definitions/column"
805
+ "title": "Colonne",
806
+ "properties": {
807
+ "type": {
808
+ "const": "column",
809
+ "title": "Type de l'élément"
810
+ },
811
+ "elements": {
812
+ "type": "array",
813
+ "layout": {
814
+ "itemTitle": "data.title || {tablePreview: ('Vue table - ' + (data.source === 'root' ? rootData.datasets[0].title : (data.dataset?.title || 'Jeu de données non défini'))), application: ('Visualisation - ' + (data.application?.title || 'Visualisation non définie')),text: 'Texte libre', form: ('Formulaire - '+(data.dataset?.title || 'Jeu de données non défini')), column:('Colonne - '+(data.elements?.length||0)+' éléments')}[data.type]"
815
+ },
816
+ "items": {
817
+ "type": "object",
818
+ "layout": {
819
+ "switch": [
820
+ {
821
+ "if": "!summary"
822
+ },
823
+ {
824
+ "children": []
825
+ }
826
+ ]
827
+ },
828
+ "oneOf": [
829
+ {
830
+ "title": "Prévisualisation table",
831
+ "type": "object",
832
+ "properties": {
833
+ "type": {
834
+ "const": "tablePreview",
835
+ "title": "Type de l'élément"
836
+ }
837
+ },
838
+ "oneOf": [
839
+ {
840
+ "title": "Jeu de données des filtres",
841
+ "properties": {
842
+ "source": {
843
+ "const": "root",
844
+ "title": "Source des données"
845
+ },
846
+ "fields": {
847
+ "title": "Champs à afficher",
848
+ "description": "Si vide, tous les champs seront affichés",
849
+ "type": "array",
850
+ "items": {
851
+ "type": "string"
852
+ },
853
+ "layout": {
854
+ "getItems": {
855
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
856
+ "itemKey": "data.key",
857
+ "itemTitle": "data.label"
858
+ }
859
+ }
860
+ },
861
+ "display": {
862
+ "type": "string",
863
+ "oneOf": [
864
+ {
865
+ "const": "table",
866
+ "title": "Tableau"
867
+ },
868
+ {
869
+ "const": "table-dense",
870
+ "title": "Tableau dense"
871
+ },
872
+ {
873
+ "const": "list",
874
+ "title": "Vignettes"
875
+ }
876
+ ],
877
+ "default": "table",
878
+ "title": "Affichage"
879
+ },
880
+ "noInteractions": {
881
+ "title": "Désactiver les interactions",
882
+ "type": "boolean",
883
+ "default": false
884
+ },
885
+ "ignoreFilters": {
886
+ "title": "Ignorer les filtres",
887
+ "type": "boolean",
888
+ "default": false
889
+ },
890
+ "valueMandatory": {
891
+ "title": "Nécessite une valeur dans des filtres",
892
+ "type": "boolean",
893
+ "default": false,
894
+ "layout": {
895
+ "if": "!parent.data.ignoreFilters"
896
+ }
897
+ },
898
+ "mandatoryFilters": {
899
+ "title": "Filtres requis",
900
+ "type": "array",
901
+ "items": {
902
+ "type": "string"
903
+ },
904
+ "layout": {
905
+ "getItems": {
906
+ "expr": "rootData.filters",
907
+ "itemKey": "data.labelField",
908
+ "itemTitle": "data.labelField"
909
+ },
910
+ "if": "parent.data.valueMandatory"
911
+ }
912
+ }
913
+ }
914
+ },
915
+ {
916
+ "title": "Autre jeu de données",
917
+ "layout": {
918
+ "switch": [
919
+ {
920
+ "if": "!data.dataset",
921
+ "children": [
922
+ "dataset"
923
+ ]
924
+ }
925
+ ]
926
+ },
927
+ "properties": {
928
+ "source": {
929
+ "const": "external",
930
+ "title": "Source des données"
931
+ },
932
+ "dataset": {
933
+ "type": "object",
934
+ "properties": {
935
+ "id": {
936
+ "type": "string"
937
+ },
938
+ "slug": {
939
+ "type": "string"
940
+ },
941
+ "title": {
942
+ "type": "string"
943
+ },
944
+ "href": {
945
+ "type": "string"
946
+ },
947
+ "schema": {
948
+ "type": "array"
949
+ }
950
+ },
951
+ "layout": {
952
+ "getItems": {
953
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&select=id,title,slug,schema&sort=createdAt:-1",
954
+ "itemKey": "data.id",
955
+ "itemTitle": "data.title",
956
+ "itemsResults": "data.results"
957
+ }
958
+ }
959
+ },
960
+ "fields": {
961
+ "title": "Champs à afficher",
962
+ "description": "Si vide, tous les champs seront affichés",
963
+ "type": "array",
964
+ "items": {
965
+ "type": "string"
966
+ },
967
+ "layout": {
968
+ "getItems": {
969
+ "url": "${parent.data.dataset.href}/schema?calculated=false",
970
+ "itemKey": "data.key",
971
+ "itemTitle": "data.label"
972
+ }
973
+ }
974
+ },
975
+ "display": {
976
+ "type": "string",
977
+ "oneOf": [
978
+ {
979
+ "const": "table",
980
+ "title": "Tableau"
981
+ },
982
+ {
983
+ "const": "table-dense",
984
+ "title": "Tableau dense"
985
+ },
986
+ {
987
+ "const": "list",
988
+ "title": "Vignettes"
989
+ }
990
+ ],
991
+ "default": "table",
992
+ "title": "Affichage"
993
+ },
994
+ "noInteractions": {
995
+ "title": "Désactiver les interactions",
996
+ "type": "boolean",
997
+ "default": false
998
+ },
999
+ "ignoreFilters": {
1000
+ "title": "Ignorer les filtres",
1001
+ "type": "boolean",
1002
+ "default": false
1003
+ },
1004
+ "valueMandatory": {
1005
+ "title": "Nécessite une valeur dans des filtres",
1006
+ "type": "boolean",
1007
+ "default": false,
1008
+ "layout": {
1009
+ "if": "!parent.data.ignoreFilters"
1010
+ }
1011
+ },
1012
+ "mandatoryFilters": {
1013
+ "title": "Filtres requis",
1014
+ "type": "array",
1015
+ "items": {
1016
+ "type": "string"
1017
+ },
1018
+ "layout": {
1019
+ "getItems": {
1020
+ "expr": "rootData.filters",
1021
+ "itemKey": "data.labelField",
1022
+ "itemTitle": "data.labelField"
1023
+ },
1024
+ "if": "parent.data.valueMandatory"
1025
+ }
1026
+ }
1027
+ }
1028
+ }
1029
+ ],
1030
+ "default": {
1031
+ "source": "root"
1032
+ },
1033
+ "oneOfLayout": {
1034
+ "label": "Source des données"
1035
+ }
1036
+ },
1037
+ {
1038
+ "title": "Visualisation",
1039
+ "properties": {
1040
+ "type": {
1041
+ "const": "application",
1042
+ "title": "Type de l'élément"
1043
+ }
1044
+ },
1045
+ "oneOf": [
1046
+ {
1047
+ "title": "Jeu de données des filtres",
1048
+ "properties": {
1049
+ "source": {
1050
+ "const": "root",
1051
+ "title": "Source des données de l'application"
1052
+ },
1053
+ "application": {
1054
+ "type": "object",
1055
+ "properties": {
1056
+ "id": {
1057
+ "type": "string"
1058
+ },
1059
+ "title": {
1060
+ "type": "string"
1061
+ },
1062
+ "href": {
1063
+ "type": "string"
1064
+ },
1065
+ "baseApp": {
1066
+ "type": "object"
1067
+ }
1068
+ },
1069
+ "layout": {
1070
+ "getItems": {
1071
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&dataset=${rootData.datasets[0].id}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
1072
+ "itemKey": "data.id",
1073
+ "itemTitle": "data.title",
1074
+ "itemsResults": "data.results"
1075
+ }
1076
+ }
1077
+ },
1078
+ "ignoreFilters": {
1079
+ "title": "Ignorer les filtres",
1080
+ "type": "boolean",
1081
+ "default": false
1082
+ },
1083
+ "valueMandatory": {
1084
+ "title": "Nécessite une valeur dans des filtres",
1085
+ "type": "boolean",
1086
+ "default": false,
1087
+ "layout": {
1088
+ "if": "!parent.data.ignoreFilters"
1089
+ }
1090
+ },
1091
+ "mandatoryFilters": {
1092
+ "title": "Filtres requis",
1093
+ "type": "array",
1094
+ "items": {
1095
+ "type": "string"
1096
+ },
1097
+ "layout": {
1098
+ "getItems": {
1099
+ "expr": "rootData.filters",
1100
+ "itemKey": "data.labelField",
1101
+ "itemTitle": "data.labelField"
1102
+ },
1103
+ "if": "parent.data.valueMandatory"
1104
+ }
1105
+ },
1106
+ "description": {
1107
+ "title": "Affichage de la description",
1108
+ "type": "string",
1109
+ "oneOf": [
1110
+ {
1111
+ "const": "none",
1112
+ "title": "Aucun affichage"
1113
+ },
1114
+ {
1115
+ "const": "left",
1116
+ "title": "A gauche"
1117
+ },
1118
+ {
1119
+ "const": "right",
1120
+ "title": "A droite"
1121
+ }
1122
+ ],
1123
+ "default": "none"
1124
+ }
1125
+ }
1126
+ },
1127
+ {
1128
+ "title": "Autre jeu de données",
1129
+ "properties": {
1130
+ "source": {
1131
+ "const": "external",
1132
+ "title": "Source des données de l'application"
1133
+ },
1134
+ "application": {
1135
+ "type": "object",
1136
+ "properties": {
1137
+ "id": {
1138
+ "type": "string"
1139
+ },
1140
+ "title": {
1141
+ "type": "string"
1142
+ },
1143
+ "href": {
1144
+ "type": "string"
1145
+ },
1146
+ "baseApp": {
1147
+ "type": "object"
1148
+ }
1149
+ },
1150
+ "layout": {
1151
+ "getItems": {
1152
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
1153
+ "itemKey": "data.id",
1154
+ "itemTitle": "data.title",
1155
+ "itemsResults": "data.results"
1156
+ }
1157
+ }
1158
+ },
1159
+ "ignoreFilters": {
1160
+ "title": "Ignorer les filtres",
1161
+ "type": "boolean",
1162
+ "default": false
1163
+ },
1164
+ "valueMandatory": {
1165
+ "title": "Nécessite une valeur dans des filtres",
1166
+ "type": "boolean",
1167
+ "default": false,
1168
+ "layout": {
1169
+ "if": "!parent.data.ignoreFilters"
1170
+ }
1171
+ },
1172
+ "mandatoryFilters": {
1173
+ "title": "Filtres requis",
1174
+ "type": "array",
1175
+ "items": {
1176
+ "type": "string"
1177
+ },
1178
+ "layout": {
1179
+ "getItems": {
1180
+ "expr": "rootData.filters",
1181
+ "itemKey": "data.labelField",
1182
+ "itemTitle": "data.labelField"
1183
+ },
1184
+ "if": "parent.data.valueMandatory"
1185
+ }
1186
+ }
1187
+ }
1188
+ }
1189
+ ],
1190
+ "default": {
1191
+ "source": "root"
1192
+ },
1193
+ "oneOfLayout": {
1194
+ "label": "Source des données de l'application"
1195
+ }
1196
+ },
1197
+ {
1198
+ "title": "Texte",
1199
+ "properties": {
1200
+ "type": {
1201
+ "const": "text",
1202
+ "title": "Type de l'élément"
1203
+ },
1204
+ "content": {
1205
+ "type": "string",
1206
+ "title": "Contenu",
1207
+ "layout": "textarea"
1208
+ }
1209
+ }
1210
+ },
1211
+ {
1212
+ "title": "Formulaire de saisie",
1213
+ "properties": {
1214
+ "type": {
1215
+ "const": "form",
1216
+ "title": "Type de l'élément"
1217
+ },
1218
+ "dataset": {
1219
+ "type": "object",
1220
+ "title": "Jeu de données",
1221
+ "properties": {
1222
+ "id": {
1223
+ "type": "string"
1224
+ },
1225
+ "title": {
1226
+ "type": "string"
1227
+ },
1228
+ "href": {
1229
+ "type": "string"
1230
+ },
1231
+ "schema": {
1232
+ "type": "array"
1233
+ }
1234
+ },
1235
+ "layout": {
1236
+ "getItems": {
1237
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&rest=true&select=id,title,schema&sort=createdAt:-1",
1238
+ "itemKey": "data.id",
1239
+ "itemTitle": "data.title",
1240
+ "itemsResults": "data.results"
1241
+ }
1242
+ }
1243
+ }
1244
+ }
1245
+ }
1246
+ ],
1247
+ "properties": {
1248
+ "height": {
1249
+ "title": "Hauteur (pondération)",
1250
+ "type": "integer",
1251
+ "default": 100
1252
+ }
1253
+ }
1254
+ }
1255
+ }
1256
+ }
273
1257
  },
274
1258
  {
275
- "$ref": "#/definitions/form"
1259
+ "title": "Formulaire de saisie",
1260
+ "properties": {
1261
+ "type": {
1262
+ "const": "form",
1263
+ "title": "Type de l'élément"
1264
+ },
1265
+ "dataset": {
1266
+ "type": "object",
1267
+ "title": "Jeu de données",
1268
+ "properties": {
1269
+ "id": {
1270
+ "type": "string"
1271
+ },
1272
+ "title": {
1273
+ "type": "string"
1274
+ },
1275
+ "href": {
1276
+ "type": "string"
1277
+ },
1278
+ "schema": {
1279
+ "type": "array"
1280
+ }
1281
+ },
1282
+ "layout": {
1283
+ "getItems": {
1284
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&rest=true&select=id,title,schema&sort=createdAt:-1",
1285
+ "itemKey": "data.id",
1286
+ "itemTitle": "data.title",
1287
+ "itemsResults": "data.results"
1288
+ }
1289
+ }
1290
+ }
1291
+ }
276
1292
  }
277
1293
  ]
278
1294
  }
@@ -283,29 +1299,6 @@
283
1299
  }
284
1300
  }
285
1301
  },
286
- "sectionsGroup": {
287
- "title": "Rendu des sections",
288
- "type": "string",
289
- "oneOf": [
290
- {
291
- "const": "accordion",
292
- "title": "En accordéon"
293
- },
294
- {
295
- "const": "tabs-tab",
296
- "title": "Dans des onglets"
297
- },
298
- {
299
- "const": "tabs-button",
300
- "title": "Dans des onglets (sélection par boutton)"
301
- },
302
- {
303
- "const": "flow",
304
- "title": "Les unes à la suite des autres"
305
- }
306
- ],
307
- "default": "accordion"
308
- },
309
1302
  "showSources": {
310
1303
  "title": "Afficher les liens vers les sources des données",
311
1304
  "type": "boolean",
@@ -330,137 +1323,542 @@
330
1323
  "type": "string",
331
1324
  "title": "Titre"
332
1325
  },
333
- "description": {
334
- "type": "string",
335
- "title": "Introduction",
336
- "layout": "textarea"
337
- },
338
- "allowDuplicate": {
339
- "title": "Mode comparaison disponible",
340
- "type": "boolean",
341
- "default": false
342
- }
343
- }
344
- }
345
- ],
346
- "definitions": {
347
- "table": {
348
- "title": "Prévisualisation table",
349
- "type": "object",
350
- "properties": {
351
- "type": {
352
- "const": "tablePreview",
353
- "title": "Type de l'élément"
354
- }
355
- },
356
- "oneOf": [
357
- {
358
- "title": "Jeu de données des filtres",
1326
+ "titleStyle": {
1327
+ "title": "Style du titre de page",
1328
+ "default": {
1329
+ "tag": "h2",
1330
+ "size": "h4",
1331
+ "center": true,
1332
+ "bold": false,
1333
+ "color": null,
1334
+ "line": {
1335
+ "position": "none",
1336
+ "color": "primary"
1337
+ }
1338
+ },
1339
+ "type": "object",
359
1340
  "properties": {
360
- "source": {
361
- "const": "root",
362
- "title": "Source des données"
363
- },
364
- "fields": {
365
- "title": "Champs à afficher",
366
- "description": "Si vide, tous les champs seront affichés",
367
- "type": "array",
368
- "items": {
369
- "type": "string"
370
- },
371
- "layout": {
372
- "getItems": {
373
- "url": "${rootData.datasets[0].href}/schema?calculated=false",
374
- "itemKey": "data.key",
375
- "itemTitle": "data.label"
1341
+ "tag": {
1342
+ "type": "string",
1343
+ "title": "Balise HTML",
1344
+ "default": "h2",
1345
+ "oneOf": [
1346
+ {
1347
+ "const": "h1",
1348
+ "title": "h1"
1349
+ },
1350
+ {
1351
+ "const": "h2",
1352
+ "title": "h2"
1353
+ },
1354
+ {
1355
+ "const": "h3",
1356
+ "title": "h3"
1357
+ },
1358
+ {
1359
+ "const": "h4",
1360
+ "title": "h4"
376
1361
  }
377
- }
1362
+ ]
378
1363
  },
379
- "display": {
1364
+ "size": {
380
1365
  "type": "string",
1366
+ "title": "Taille",
1367
+ "default": "h4",
381
1368
  "oneOf": [
382
1369
  {
383
- "const": "table",
384
- "title": "Tableau"
1370
+ "const": "h1",
1371
+ "title": "Titre principal (96px)"
385
1372
  },
386
1373
  {
387
- "const": "table-dense",
388
- "title": "Tableau dense"
1374
+ "const": "h2",
1375
+ "title": "Très grand (60px)"
389
1376
  },
390
1377
  {
391
- "const": "list",
392
- "title": "Vignettes"
1378
+ "const": "h3",
1379
+ "title": "Grand (48px)"
1380
+ },
1381
+ {
1382
+ "const": "h4",
1383
+ "title": "Moyen (34px)"
1384
+ },
1385
+ {
1386
+ "const": "h5",
1387
+ "title": "Petit (24px)"
1388
+ },
1389
+ {
1390
+ "const": "h6",
1391
+ "title": "Très petit (20px)"
393
1392
  }
394
- ],
395
- "default": "table",
396
- "title": "Affichage"
1393
+ ]
397
1394
  },
398
- "noInteractions": {
399
- "title": "Désactiver les interactions",
1395
+ "center": {
400
1396
  "type": "boolean",
1397
+ "title": "Centré",
401
1398
  "default": false
402
1399
  },
403
- "ignoreFilters": {
404
- "title": "Ignorer les filtres",
1400
+ "bold": {
405
1401
  "type": "boolean",
1402
+ "title": "Gras",
406
1403
  "default": false
407
1404
  },
408
- "valueMandatory": {
409
- "title": "Nécessite une valeur dans des filtres",
410
- "type": "boolean",
411
- "default": false,
412
- "layout": {
413
- "if": "!parent.data.ignoreFilters"
414
- }
415
- },
416
- "mandatoryFilters": {
417
- "title": "Filtres requis",
418
- "type": "array",
419
- "items": {
420
- "type": "string"
421
- },
422
- "layout": {
423
- "getItems": {
424
- "expr": "rootData.filters",
425
- "itemKey": "data.labelField",
426
- "itemTitle": "data.labelField"
1405
+ "color": {
1406
+ "type": "string",
1407
+ "title": "Couleur du texte",
1408
+ "default": null,
1409
+ "oneOf": [
1410
+ {
1411
+ "const": null,
1412
+ "title": "Aucune (par défaut)"
427
1413
  },
428
- "if": "parent.data.valueMandatory"
429
- }
430
- }
431
- }
432
- },
433
- {
434
- "title": "Autre jeu de données",
435
- "layout": {
436
- "switch": [
437
- {
438
- "if": "!data.dataset",
439
- "children": ["dataset"]
440
- }
441
- ]
442
- },
443
- "properties": {
444
- "source": {
445
- "const": "external",
446
- "title": "Source des données"
447
- },
448
- "dataset": {
449
- "type": "object",
450
- "properties": {
451
- "id": {
452
- "type": "string"
1414
+ {
1415
+ "const": "primary",
1416
+ "title": "Principale"
453
1417
  },
454
- "slug": {
455
- "type": "string"
1418
+ {
1419
+ "const": "secondary",
1420
+ "title": "Secondaire"
456
1421
  },
457
- "title": {
458
- "type": "string"
1422
+ {
1423
+ "const": "accent",
1424
+ "title": "Accent"
459
1425
  },
460
- "href": {
461
- "type": "string"
1426
+ {
1427
+ "const": "info",
1428
+ "title": "Info"
462
1429
  },
463
- "schema": {
1430
+ {
1431
+ "const": "success",
1432
+ "title": "Succès"
1433
+ },
1434
+ {
1435
+ "const": "error",
1436
+ "title": "Erreur"
1437
+ },
1438
+ {
1439
+ "const": "warning",
1440
+ "title": "Avertissement"
1441
+ }
1442
+ ]
1443
+ },
1444
+ "line": {
1445
+ "type": "object",
1446
+ "title": "Trait décoratif",
1447
+ "properties": {
1448
+ "position": {
1449
+ "type": "string",
1450
+ "title": "Position",
1451
+ "default": "none",
1452
+ "oneOf": [
1453
+ {
1454
+ "const": "none",
1455
+ "title": "Aucun"
1456
+ },
1457
+ {
1458
+ "const": "left",
1459
+ "title": "À gauche du titre"
1460
+ },
1461
+ {
1462
+ "const": "bottom-small",
1463
+ "title": "Petit trait sous le titre (80px)"
1464
+ },
1465
+ {
1466
+ "const": "bottom-medium",
1467
+ "title": "Trait moyen sous le titre (largeur du texte)"
1468
+ },
1469
+ {
1470
+ "const": "bottom-large",
1471
+ "title": "Grand trait sous le titre (toute la largeur)"
1472
+ }
1473
+ ]
1474
+ },
1475
+ "color": {
1476
+ "type": "string",
1477
+ "title": "Couleur du trait",
1478
+ "default": "primary",
1479
+ "oneOf": [
1480
+ {
1481
+ "const": "primary",
1482
+ "title": "Principale"
1483
+ },
1484
+ {
1485
+ "const": "secondary",
1486
+ "title": "Secondaire"
1487
+ },
1488
+ {
1489
+ "const": "accent",
1490
+ "title": "Accent"
1491
+ },
1492
+ {
1493
+ "const": "info",
1494
+ "title": "Info"
1495
+ },
1496
+ {
1497
+ "const": "success",
1498
+ "title": "Succès"
1499
+ },
1500
+ {
1501
+ "const": "error",
1502
+ "title": "Erreur"
1503
+ },
1504
+ {
1505
+ "const": "warning",
1506
+ "title": "Avertissement"
1507
+ }
1508
+ ]
1509
+ }
1510
+ }
1511
+ }
1512
+ }
1513
+ },
1514
+ "sectionsGroup": {
1515
+ "title": "Rendu des sections",
1516
+ "type": "string",
1517
+ "oneOf": [
1518
+ {
1519
+ "const": "accordion",
1520
+ "title": "En accordéon"
1521
+ },
1522
+ {
1523
+ "const": "tabs-tab",
1524
+ "title": "Dans des onglets"
1525
+ },
1526
+ {
1527
+ "const": "tabs-button",
1528
+ "title": "Dans des onglets (sélection par boutton)"
1529
+ },
1530
+ {
1531
+ "const": "flow",
1532
+ "title": "Les unes à la suite des autres"
1533
+ }
1534
+ ],
1535
+ "default": "accordion"
1536
+ },
1537
+ "sectionsTitleStyle": {
1538
+ "title": "Style des titres de sections",
1539
+ "description": "Style appliqué à tous les libellés de sections",
1540
+ "default": {
1541
+ "tag": "h3",
1542
+ "size": "h4",
1543
+ "center": false,
1544
+ "bold": false,
1545
+ "color": null,
1546
+ "line": {
1547
+ "position": "none",
1548
+ "color": "primary"
1549
+ }
1550
+ },
1551
+ "layout": {
1552
+ "if": "rootData.sectionsGroup === 'flow'"
1553
+ },
1554
+ "type": "object",
1555
+ "properties": {
1556
+ "tag": {
1557
+ "type": "string",
1558
+ "title": "Balise HTML",
1559
+ "default": "h2",
1560
+ "oneOf": [
1561
+ {
1562
+ "const": "h1",
1563
+ "title": "h1"
1564
+ },
1565
+ {
1566
+ "const": "h2",
1567
+ "title": "h2"
1568
+ },
1569
+ {
1570
+ "const": "h3",
1571
+ "title": "h3"
1572
+ },
1573
+ {
1574
+ "const": "h4",
1575
+ "title": "h4"
1576
+ }
1577
+ ]
1578
+ },
1579
+ "size": {
1580
+ "type": "string",
1581
+ "title": "Taille",
1582
+ "default": "h4",
1583
+ "oneOf": [
1584
+ {
1585
+ "const": "h1",
1586
+ "title": "Titre principal (96px)"
1587
+ },
1588
+ {
1589
+ "const": "h2",
1590
+ "title": "Très grand (60px)"
1591
+ },
1592
+ {
1593
+ "const": "h3",
1594
+ "title": "Grand (48px)"
1595
+ },
1596
+ {
1597
+ "const": "h4",
1598
+ "title": "Moyen (34px)"
1599
+ },
1600
+ {
1601
+ "const": "h5",
1602
+ "title": "Petit (24px)"
1603
+ },
1604
+ {
1605
+ "const": "h6",
1606
+ "title": "Très petit (20px)"
1607
+ }
1608
+ ]
1609
+ },
1610
+ "center": {
1611
+ "type": "boolean",
1612
+ "title": "Centré",
1613
+ "default": false
1614
+ },
1615
+ "bold": {
1616
+ "type": "boolean",
1617
+ "title": "Gras",
1618
+ "default": false
1619
+ },
1620
+ "color": {
1621
+ "type": "string",
1622
+ "title": "Couleur du texte",
1623
+ "default": null,
1624
+ "oneOf": [
1625
+ {
1626
+ "const": null,
1627
+ "title": "Aucune (par défaut)"
1628
+ },
1629
+ {
1630
+ "const": "primary",
1631
+ "title": "Principale"
1632
+ },
1633
+ {
1634
+ "const": "secondary",
1635
+ "title": "Secondaire"
1636
+ },
1637
+ {
1638
+ "const": "accent",
1639
+ "title": "Accent"
1640
+ },
1641
+ {
1642
+ "const": "info",
1643
+ "title": "Info"
1644
+ },
1645
+ {
1646
+ "const": "success",
1647
+ "title": "Succès"
1648
+ },
1649
+ {
1650
+ "const": "error",
1651
+ "title": "Erreur"
1652
+ },
1653
+ {
1654
+ "const": "warning",
1655
+ "title": "Avertissement"
1656
+ }
1657
+ ]
1658
+ },
1659
+ "line": {
1660
+ "type": "object",
1661
+ "title": "Trait décoratif",
1662
+ "properties": {
1663
+ "position": {
1664
+ "type": "string",
1665
+ "title": "Position",
1666
+ "default": "none",
1667
+ "oneOf": [
1668
+ {
1669
+ "const": "none",
1670
+ "title": "Aucun"
1671
+ },
1672
+ {
1673
+ "const": "left",
1674
+ "title": "À gauche du titre"
1675
+ },
1676
+ {
1677
+ "const": "bottom-small",
1678
+ "title": "Petit trait sous le titre (80px)"
1679
+ },
1680
+ {
1681
+ "const": "bottom-medium",
1682
+ "title": "Trait moyen sous le titre (largeur du texte)"
1683
+ },
1684
+ {
1685
+ "const": "bottom-large",
1686
+ "title": "Grand trait sous le titre (toute la largeur)"
1687
+ }
1688
+ ]
1689
+ },
1690
+ "color": {
1691
+ "type": "string",
1692
+ "title": "Couleur du trait",
1693
+ "default": "primary",
1694
+ "oneOf": [
1695
+ {
1696
+ "const": "primary",
1697
+ "title": "Principale"
1698
+ },
1699
+ {
1700
+ "const": "secondary",
1701
+ "title": "Secondaire"
1702
+ },
1703
+ {
1704
+ "const": "accent",
1705
+ "title": "Accent"
1706
+ },
1707
+ {
1708
+ "const": "info",
1709
+ "title": "Info"
1710
+ },
1711
+ {
1712
+ "const": "success",
1713
+ "title": "Succès"
1714
+ },
1715
+ {
1716
+ "const": "error",
1717
+ "title": "Erreur"
1718
+ },
1719
+ {
1720
+ "const": "warning",
1721
+ "title": "Avertissement"
1722
+ }
1723
+ ]
1724
+ }
1725
+ }
1726
+ }
1727
+ }
1728
+ },
1729
+ "description": {
1730
+ "type": "string",
1731
+ "title": "Introduction",
1732
+ "layout": "textarea"
1733
+ },
1734
+ "allowDuplicate": {
1735
+ "title": "Mode comparaison disponible",
1736
+ "type": "boolean",
1737
+ "default": false
1738
+ }
1739
+ }
1740
+ }
1741
+ ],
1742
+ "definitions": {
1743
+ "table": {
1744
+ "title": "Prévisualisation table",
1745
+ "type": "object",
1746
+ "properties": {
1747
+ "type": {
1748
+ "const": "tablePreview",
1749
+ "title": "Type de l'élément"
1750
+ }
1751
+ },
1752
+ "oneOf": [
1753
+ {
1754
+ "title": "Jeu de données des filtres",
1755
+ "properties": {
1756
+ "source": {
1757
+ "const": "root",
1758
+ "title": "Source des données"
1759
+ },
1760
+ "fields": {
1761
+ "title": "Champs à afficher",
1762
+ "description": "Si vide, tous les champs seront affichés",
1763
+ "type": "array",
1764
+ "items": {
1765
+ "type": "string"
1766
+ },
1767
+ "layout": {
1768
+ "getItems": {
1769
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
1770
+ "itemKey": "data.key",
1771
+ "itemTitle": "data.label"
1772
+ }
1773
+ }
1774
+ },
1775
+ "display": {
1776
+ "type": "string",
1777
+ "oneOf": [
1778
+ {
1779
+ "const": "table",
1780
+ "title": "Tableau"
1781
+ },
1782
+ {
1783
+ "const": "table-dense",
1784
+ "title": "Tableau dense"
1785
+ },
1786
+ {
1787
+ "const": "list",
1788
+ "title": "Vignettes"
1789
+ }
1790
+ ],
1791
+ "default": "table",
1792
+ "title": "Affichage"
1793
+ },
1794
+ "noInteractions": {
1795
+ "title": "Désactiver les interactions",
1796
+ "type": "boolean",
1797
+ "default": false
1798
+ },
1799
+ "ignoreFilters": {
1800
+ "title": "Ignorer les filtres",
1801
+ "type": "boolean",
1802
+ "default": false
1803
+ },
1804
+ "valueMandatory": {
1805
+ "title": "Nécessite une valeur dans des filtres",
1806
+ "type": "boolean",
1807
+ "default": false,
1808
+ "layout": {
1809
+ "if": "!parent.data.ignoreFilters"
1810
+ }
1811
+ },
1812
+ "mandatoryFilters": {
1813
+ "title": "Filtres requis",
1814
+ "type": "array",
1815
+ "items": {
1816
+ "type": "string"
1817
+ },
1818
+ "layout": {
1819
+ "getItems": {
1820
+ "expr": "rootData.filters",
1821
+ "itemKey": "data.labelField",
1822
+ "itemTitle": "data.labelField"
1823
+ },
1824
+ "if": "parent.data.valueMandatory"
1825
+ }
1826
+ }
1827
+ }
1828
+ },
1829
+ {
1830
+ "title": "Autre jeu de données",
1831
+ "layout": {
1832
+ "switch": [
1833
+ {
1834
+ "if": "!data.dataset",
1835
+ "children": [
1836
+ "dataset"
1837
+ ]
1838
+ }
1839
+ ]
1840
+ },
1841
+ "properties": {
1842
+ "source": {
1843
+ "const": "external",
1844
+ "title": "Source des données"
1845
+ },
1846
+ "dataset": {
1847
+ "type": "object",
1848
+ "properties": {
1849
+ "id": {
1850
+ "type": "string"
1851
+ },
1852
+ "slug": {
1853
+ "type": "string"
1854
+ },
1855
+ "title": {
1856
+ "type": "string"
1857
+ },
1858
+ "href": {
1859
+ "type": "string"
1860
+ },
1861
+ "schema": {
464
1862
  "type": "array"
465
1863
  }
466
1864
  },
@@ -778,23 +2176,428 @@
778
2176
  {
779
2177
  "if": "!summary"
780
2178
  },
781
- {
782
- "children": []
2179
+ {
2180
+ "children": []
2181
+ }
2182
+ ]
2183
+ },
2184
+ "oneOf": [
2185
+ {
2186
+ "title": "Prévisualisation table",
2187
+ "type": "object",
2188
+ "properties": {
2189
+ "type": {
2190
+ "const": "tablePreview",
2191
+ "title": "Type de l'élément"
2192
+ }
2193
+ },
2194
+ "oneOf": [
2195
+ {
2196
+ "title": "Jeu de données des filtres",
2197
+ "properties": {
2198
+ "source": {
2199
+ "const": "root",
2200
+ "title": "Source des données"
2201
+ },
2202
+ "fields": {
2203
+ "title": "Champs à afficher",
2204
+ "description": "Si vide, tous les champs seront affichés",
2205
+ "type": "array",
2206
+ "items": {
2207
+ "type": "string"
2208
+ },
2209
+ "layout": {
2210
+ "getItems": {
2211
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2212
+ "itemKey": "data.key",
2213
+ "itemTitle": "data.label"
2214
+ }
2215
+ }
2216
+ },
2217
+ "display": {
2218
+ "type": "string",
2219
+ "oneOf": [
2220
+ {
2221
+ "const": "table",
2222
+ "title": "Tableau"
2223
+ },
2224
+ {
2225
+ "const": "table-dense",
2226
+ "title": "Tableau dense"
2227
+ },
2228
+ {
2229
+ "const": "list",
2230
+ "title": "Vignettes"
2231
+ }
2232
+ ],
2233
+ "default": "table",
2234
+ "title": "Affichage"
2235
+ },
2236
+ "noInteractions": {
2237
+ "title": "Désactiver les interactions",
2238
+ "type": "boolean",
2239
+ "default": false
2240
+ },
2241
+ "ignoreFilters": {
2242
+ "title": "Ignorer les filtres",
2243
+ "type": "boolean",
2244
+ "default": false
2245
+ },
2246
+ "valueMandatory": {
2247
+ "title": "Nécessite une valeur dans des filtres",
2248
+ "type": "boolean",
2249
+ "default": false,
2250
+ "layout": {
2251
+ "if": "!parent.data.ignoreFilters"
2252
+ }
2253
+ },
2254
+ "mandatoryFilters": {
2255
+ "title": "Filtres requis",
2256
+ "type": "array",
2257
+ "items": {
2258
+ "type": "string"
2259
+ },
2260
+ "layout": {
2261
+ "getItems": {
2262
+ "expr": "rootData.filters",
2263
+ "itemKey": "data.labelField",
2264
+ "itemTitle": "data.labelField"
2265
+ },
2266
+ "if": "parent.data.valueMandatory"
2267
+ }
2268
+ }
2269
+ }
2270
+ },
2271
+ {
2272
+ "title": "Autre jeu de données",
2273
+ "layout": {
2274
+ "switch": [
2275
+ {
2276
+ "if": "!data.dataset",
2277
+ "children": [
2278
+ "dataset"
2279
+ ]
2280
+ }
2281
+ ]
2282
+ },
2283
+ "properties": {
2284
+ "source": {
2285
+ "const": "external",
2286
+ "title": "Source des données"
2287
+ },
2288
+ "dataset": {
2289
+ "type": "object",
2290
+ "properties": {
2291
+ "id": {
2292
+ "type": "string"
2293
+ },
2294
+ "slug": {
2295
+ "type": "string"
2296
+ },
2297
+ "title": {
2298
+ "type": "string"
2299
+ },
2300
+ "href": {
2301
+ "type": "string"
2302
+ },
2303
+ "schema": {
2304
+ "type": "array"
2305
+ }
2306
+ },
2307
+ "layout": {
2308
+ "getItems": {
2309
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&select=id,title,slug,schema&sort=createdAt:-1",
2310
+ "itemKey": "data.id",
2311
+ "itemTitle": "data.title",
2312
+ "itemsResults": "data.results"
2313
+ }
2314
+ }
2315
+ },
2316
+ "fields": {
2317
+ "title": "Champs à afficher",
2318
+ "description": "Si vide, tous les champs seront affichés",
2319
+ "type": "array",
2320
+ "items": {
2321
+ "type": "string"
2322
+ },
2323
+ "layout": {
2324
+ "getItems": {
2325
+ "url": "${parent.data.dataset.href}/schema?calculated=false",
2326
+ "itemKey": "data.key",
2327
+ "itemTitle": "data.label"
2328
+ }
2329
+ }
2330
+ },
2331
+ "display": {
2332
+ "type": "string",
2333
+ "oneOf": [
2334
+ {
2335
+ "const": "table",
2336
+ "title": "Tableau"
2337
+ },
2338
+ {
2339
+ "const": "table-dense",
2340
+ "title": "Tableau dense"
2341
+ },
2342
+ {
2343
+ "const": "list",
2344
+ "title": "Vignettes"
2345
+ }
2346
+ ],
2347
+ "default": "table",
2348
+ "title": "Affichage"
2349
+ },
2350
+ "noInteractions": {
2351
+ "title": "Désactiver les interactions",
2352
+ "type": "boolean",
2353
+ "default": false
2354
+ },
2355
+ "ignoreFilters": {
2356
+ "title": "Ignorer les filtres",
2357
+ "type": "boolean",
2358
+ "default": false
2359
+ },
2360
+ "valueMandatory": {
2361
+ "title": "Nécessite une valeur dans des filtres",
2362
+ "type": "boolean",
2363
+ "default": false,
2364
+ "layout": {
2365
+ "if": "!parent.data.ignoreFilters"
2366
+ }
2367
+ },
2368
+ "mandatoryFilters": {
2369
+ "title": "Filtres requis",
2370
+ "type": "array",
2371
+ "items": {
2372
+ "type": "string"
2373
+ },
2374
+ "layout": {
2375
+ "getItems": {
2376
+ "expr": "rootData.filters",
2377
+ "itemKey": "data.labelField",
2378
+ "itemTitle": "data.labelField"
2379
+ },
2380
+ "if": "parent.data.valueMandatory"
2381
+ }
2382
+ }
2383
+ }
2384
+ }
2385
+ ],
2386
+ "default": {
2387
+ "source": "root"
2388
+ },
2389
+ "oneOfLayout": {
2390
+ "label": "Source des données"
783
2391
  }
784
- ]
785
- },
786
- "oneOf": [
787
- {
788
- "$ref": "#/definitions/table"
789
2392
  },
790
2393
  {
791
- "$ref": "#/definitions/application"
2394
+ "title": "Visualisation",
2395
+ "properties": {
2396
+ "type": {
2397
+ "const": "application",
2398
+ "title": "Type de l'élément"
2399
+ }
2400
+ },
2401
+ "oneOf": [
2402
+ {
2403
+ "title": "Jeu de données des filtres",
2404
+ "properties": {
2405
+ "source": {
2406
+ "const": "root",
2407
+ "title": "Source des données de l'application"
2408
+ },
2409
+ "application": {
2410
+ "type": "object",
2411
+ "properties": {
2412
+ "id": {
2413
+ "type": "string"
2414
+ },
2415
+ "title": {
2416
+ "type": "string"
2417
+ },
2418
+ "href": {
2419
+ "type": "string"
2420
+ },
2421
+ "baseApp": {
2422
+ "type": "object"
2423
+ }
2424
+ },
2425
+ "layout": {
2426
+ "getItems": {
2427
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&dataset=${rootData.datasets[0].id}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
2428
+ "itemKey": "data.id",
2429
+ "itemTitle": "data.title",
2430
+ "itemsResults": "data.results"
2431
+ }
2432
+ }
2433
+ },
2434
+ "ignoreFilters": {
2435
+ "title": "Ignorer les filtres",
2436
+ "type": "boolean",
2437
+ "default": false
2438
+ },
2439
+ "valueMandatory": {
2440
+ "title": "Nécessite une valeur dans des filtres",
2441
+ "type": "boolean",
2442
+ "default": false,
2443
+ "layout": {
2444
+ "if": "!parent.data.ignoreFilters"
2445
+ }
2446
+ },
2447
+ "mandatoryFilters": {
2448
+ "title": "Filtres requis",
2449
+ "type": "array",
2450
+ "items": {
2451
+ "type": "string"
2452
+ },
2453
+ "layout": {
2454
+ "getItems": {
2455
+ "expr": "rootData.filters",
2456
+ "itemKey": "data.labelField",
2457
+ "itemTitle": "data.labelField"
2458
+ },
2459
+ "if": "parent.data.valueMandatory"
2460
+ }
2461
+ },
2462
+ "description": {
2463
+ "title": "Affichage de la description",
2464
+ "type": "string",
2465
+ "oneOf": [
2466
+ {
2467
+ "const": "none",
2468
+ "title": "Aucun affichage"
2469
+ },
2470
+ {
2471
+ "const": "left",
2472
+ "title": "A gauche"
2473
+ },
2474
+ {
2475
+ "const": "right",
2476
+ "title": "A droite"
2477
+ }
2478
+ ],
2479
+ "default": "none"
2480
+ }
2481
+ }
2482
+ },
2483
+ {
2484
+ "title": "Autre jeu de données",
2485
+ "properties": {
2486
+ "source": {
2487
+ "const": "external",
2488
+ "title": "Source des données de l'application"
2489
+ },
2490
+ "application": {
2491
+ "type": "object",
2492
+ "properties": {
2493
+ "id": {
2494
+ "type": "string"
2495
+ },
2496
+ "title": {
2497
+ "type": "string"
2498
+ },
2499
+ "href": {
2500
+ "type": "string"
2501
+ },
2502
+ "baseApp": {
2503
+ "type": "object"
2504
+ }
2505
+ },
2506
+ "layout": {
2507
+ "getItems": {
2508
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
2509
+ "itemKey": "data.id",
2510
+ "itemTitle": "data.title",
2511
+ "itemsResults": "data.results"
2512
+ }
2513
+ }
2514
+ },
2515
+ "ignoreFilters": {
2516
+ "title": "Ignorer les filtres",
2517
+ "type": "boolean",
2518
+ "default": false
2519
+ },
2520
+ "valueMandatory": {
2521
+ "title": "Nécessite une valeur dans des filtres",
2522
+ "type": "boolean",
2523
+ "default": false,
2524
+ "layout": {
2525
+ "if": "!parent.data.ignoreFilters"
2526
+ }
2527
+ },
2528
+ "mandatoryFilters": {
2529
+ "title": "Filtres requis",
2530
+ "type": "array",
2531
+ "items": {
2532
+ "type": "string"
2533
+ },
2534
+ "layout": {
2535
+ "getItems": {
2536
+ "expr": "rootData.filters",
2537
+ "itemKey": "data.labelField",
2538
+ "itemTitle": "data.labelField"
2539
+ },
2540
+ "if": "parent.data.valueMandatory"
2541
+ }
2542
+ }
2543
+ }
2544
+ }
2545
+ ],
2546
+ "default": {
2547
+ "source": "root"
2548
+ },
2549
+ "oneOfLayout": {
2550
+ "label": "Source des données de l'application"
2551
+ }
792
2552
  },
793
2553
  {
794
- "$ref": "#/definitions/text"
2554
+ "title": "Texte",
2555
+ "properties": {
2556
+ "type": {
2557
+ "const": "text",
2558
+ "title": "Type de l'élément"
2559
+ },
2560
+ "content": {
2561
+ "type": "string",
2562
+ "title": "Contenu",
2563
+ "layout": "textarea"
2564
+ }
2565
+ }
795
2566
  },
796
2567
  {
797
- "$ref": "#/definitions/form"
2568
+ "title": "Formulaire de saisie",
2569
+ "properties": {
2570
+ "type": {
2571
+ "const": "form",
2572
+ "title": "Type de l'élément"
2573
+ },
2574
+ "dataset": {
2575
+ "type": "object",
2576
+ "title": "Jeu de données",
2577
+ "properties": {
2578
+ "id": {
2579
+ "type": "string"
2580
+ },
2581
+ "title": {
2582
+ "type": "string"
2583
+ },
2584
+ "href": {
2585
+ "type": "string"
2586
+ },
2587
+ "schema": {
2588
+ "type": "array"
2589
+ }
2590
+ },
2591
+ "layout": {
2592
+ "getItems": {
2593
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&rest=true&select=id,title,schema&sort=createdAt:-1",
2594
+ "itemKey": "data.id",
2595
+ "itemTitle": "data.title",
2596
+ "itemsResults": "data.results"
2597
+ }
2598
+ }
2599
+ }
2600
+ }
798
2601
  }
799
2602
  ],
800
2603
  "properties": {
@@ -825,14 +2628,25 @@
825
2628
  "oneOf": [
826
2629
  {
827
2630
  "title": "Restreindre à des valeurs",
828
- "required": ["field", "values"],
2631
+ "required": [
2632
+ "field",
2633
+ "values"
2634
+ ],
829
2635
  "additionalProperties": false,
830
2636
  "properties": {
831
2637
  "type": {
832
2638
  "const": "in"
833
2639
  },
834
2640
  "field": {
835
- "$ref": "#/definitions/filterField"
2641
+ "type": "string",
2642
+ "title": "Colonne de filtre",
2643
+ "layout": {
2644
+ "getItems": {
2645
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2646
+ "itemKey": "data.key",
2647
+ "itemTitle": "data.label"
2648
+ }
2649
+ }
836
2650
  },
837
2651
  "values": {
838
2652
  "type": "array",
@@ -852,14 +2666,24 @@
852
2666
  },
853
2667
  {
854
2668
  "title": "Restreindre à un interval de valeurs",
855
- "required": ["field"],
2669
+ "required": [
2670
+ "field"
2671
+ ],
856
2672
  "additionalProperties": false,
857
2673
  "properties": {
858
2674
  "type": {
859
2675
  "const": "interval"
860
2676
  },
861
2677
  "field": {
862
- "$ref": "#/definitions/filterField"
2678
+ "type": "string",
2679
+ "title": "Colonne de filtre",
2680
+ "layout": {
2681
+ "getItems": {
2682
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2683
+ "itemKey": "data.key",
2684
+ "itemTitle": "data.label"
2685
+ }
2686
+ }
863
2687
  },
864
2688
  "minValue": {
865
2689
  "type": "string",
@@ -887,14 +2711,24 @@
887
2711
  },
888
2712
  {
889
2713
  "title": "Exclure des valeurs",
890
- "required": ["field"],
2714
+ "required": [
2715
+ "field"
2716
+ ],
891
2717
  "additionalProperties": false,
892
2718
  "properties": {
893
2719
  "type": {
894
2720
  "const": "nin"
895
2721
  },
896
2722
  "field": {
897
- "$ref": "#/definitions/filterField"
2723
+ "type": "string",
2724
+ "title": "Colonne de filtre",
2725
+ "layout": {
2726
+ "getItems": {
2727
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2728
+ "itemKey": "data.key",
2729
+ "itemTitle": "data.label"
2730
+ }
2731
+ }
898
2732
  },
899
2733
  "values": {
900
2734
  "type": "array",
@@ -925,6 +2759,184 @@
925
2759
  "itemTitle": "data.label"
926
2760
  }
927
2761
  }
2762
+ },
2763
+ "titleStyle": {
2764
+ "type": "object",
2765
+ "title": "Style du titre",
2766
+ "properties": {
2767
+ "tag": {
2768
+ "type": "string",
2769
+ "title": "Balise HTML",
2770
+ "default": "h2",
2771
+ "oneOf": [
2772
+ {
2773
+ "const": "h1",
2774
+ "title": "h1"
2775
+ },
2776
+ {
2777
+ "const": "h2",
2778
+ "title": "h2"
2779
+ },
2780
+ {
2781
+ "const": "h3",
2782
+ "title": "h3"
2783
+ },
2784
+ {
2785
+ "const": "h4",
2786
+ "title": "h4"
2787
+ }
2788
+ ]
2789
+ },
2790
+ "size": {
2791
+ "type": "string",
2792
+ "title": "Taille",
2793
+ "default": "h4",
2794
+ "oneOf": [
2795
+ {
2796
+ "const": "h1",
2797
+ "title": "Titre principal (96px)"
2798
+ },
2799
+ {
2800
+ "const": "h2",
2801
+ "title": "Très grand (60px)"
2802
+ },
2803
+ {
2804
+ "const": "h3",
2805
+ "title": "Grand (48px)"
2806
+ },
2807
+ {
2808
+ "const": "h4",
2809
+ "title": "Moyen (34px)"
2810
+ },
2811
+ {
2812
+ "const": "h5",
2813
+ "title": "Petit (24px)"
2814
+ },
2815
+ {
2816
+ "const": "h6",
2817
+ "title": "Très petit (20px)"
2818
+ }
2819
+ ]
2820
+ },
2821
+ "center": {
2822
+ "type": "boolean",
2823
+ "title": "Centré",
2824
+ "default": false
2825
+ },
2826
+ "bold": {
2827
+ "type": "boolean",
2828
+ "title": "Gras",
2829
+ "default": false
2830
+ },
2831
+ "color": {
2832
+ "type": "string",
2833
+ "title": "Couleur du texte",
2834
+ "default": null,
2835
+ "oneOf": [
2836
+ {
2837
+ "const": null,
2838
+ "title": "Aucune (par défaut)"
2839
+ },
2840
+ {
2841
+ "const": "primary",
2842
+ "title": "Principale"
2843
+ },
2844
+ {
2845
+ "const": "secondary",
2846
+ "title": "Secondaire"
2847
+ },
2848
+ {
2849
+ "const": "accent",
2850
+ "title": "Accent"
2851
+ },
2852
+ {
2853
+ "const": "info",
2854
+ "title": "Info"
2855
+ },
2856
+ {
2857
+ "const": "success",
2858
+ "title": "Succès"
2859
+ },
2860
+ {
2861
+ "const": "error",
2862
+ "title": "Erreur"
2863
+ },
2864
+ {
2865
+ "const": "warning",
2866
+ "title": "Avertissement"
2867
+ }
2868
+ ]
2869
+ },
2870
+ "line": {
2871
+ "type": "object",
2872
+ "title": "Trait décoratif",
2873
+ "properties": {
2874
+ "position": {
2875
+ "type": "string",
2876
+ "title": "Position",
2877
+ "default": "none",
2878
+ "oneOf": [
2879
+ {
2880
+ "const": "none",
2881
+ "title": "Aucun"
2882
+ },
2883
+ {
2884
+ "const": "left",
2885
+ "title": "À gauche du titre"
2886
+ },
2887
+ {
2888
+ "const": "bottom-small",
2889
+ "title": "Petit trait sous le titre (80px)"
2890
+ },
2891
+ {
2892
+ "const": "bottom-medium",
2893
+ "title": "Trait moyen sous le titre (largeur du texte)"
2894
+ },
2895
+ {
2896
+ "const": "bottom-large",
2897
+ "title": "Grand trait sous le titre (toute la largeur)"
2898
+ }
2899
+ ]
2900
+ },
2901
+ "color": {
2902
+ "type": "string",
2903
+ "title": "Couleur du trait",
2904
+ "default": "primary",
2905
+ "oneOf": [
2906
+ {
2907
+ "const": "primary",
2908
+ "title": "Principale"
2909
+ },
2910
+ {
2911
+ "const": "secondary",
2912
+ "title": "Secondaire"
2913
+ },
2914
+ {
2915
+ "const": "accent",
2916
+ "title": "Accent"
2917
+ },
2918
+ {
2919
+ "const": "info",
2920
+ "title": "Info"
2921
+ },
2922
+ {
2923
+ "const": "success",
2924
+ "title": "Succès"
2925
+ },
2926
+ {
2927
+ "const": "error",
2928
+ "title": "Erreur"
2929
+ },
2930
+ {
2931
+ "const": "warning",
2932
+ "title": "Avertissement"
2933
+ }
2934
+ ]
2935
+ }
2936
+ }
2937
+ }
2938
+ }
928
2939
  }
929
- }
930
- }
2940
+ },
2941
+ "$id": "config-resolved"
2942
+ }