@data-fair/app-dashboards 0.11.7 → 1.0.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.
@@ -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
  }
@@ -330,120 +1346,499 @@
330
1346
  "type": "string",
331
1347
  "title": "Titre"
332
1348
  },
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",
1349
+ "titleStyle": {
1350
+ "title": "Style du titre de page",
1351
+ "default": {
1352
+ "tag": "h2",
1353
+ "size": "h4",
1354
+ "center": true,
1355
+ "bold": false,
1356
+ "color": null,
1357
+ "line": {
1358
+ "position": "none",
1359
+ "color": "primary"
1360
+ }
1361
+ },
1362
+ "type": "object",
359
1363
  "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"
1364
+ "tag": {
1365
+ "type": "string",
1366
+ "title": "Balise HTML",
1367
+ "default": "h2",
1368
+ "oneOf": [
1369
+ {
1370
+ "const": "h1",
1371
+ "title": "h1"
1372
+ },
1373
+ {
1374
+ "const": "h2",
1375
+ "title": "h2"
1376
+ },
1377
+ {
1378
+ "const": "h3",
1379
+ "title": "h3"
1380
+ },
1381
+ {
1382
+ "const": "h4",
1383
+ "title": "h4"
376
1384
  }
377
- }
1385
+ ]
378
1386
  },
379
- "display": {
1387
+ "size": {
380
1388
  "type": "string",
1389
+ "title": "Taille",
1390
+ "default": "h4",
381
1391
  "oneOf": [
382
1392
  {
383
- "const": "table",
384
- "title": "Tableau"
1393
+ "const": "h1",
1394
+ "title": "Titre principal (96px)"
385
1395
  },
386
1396
  {
387
- "const": "table-dense",
388
- "title": "Tableau dense"
1397
+ "const": "h2",
1398
+ "title": "Très grand (60px)"
389
1399
  },
390
1400
  {
391
- "const": "list",
392
- "title": "Vignettes"
1401
+ "const": "h3",
1402
+ "title": "Grand (48px)"
1403
+ },
1404
+ {
1405
+ "const": "h4",
1406
+ "title": "Moyen (34px)"
1407
+ },
1408
+ {
1409
+ "const": "h5",
1410
+ "title": "Petit (24px)"
1411
+ },
1412
+ {
1413
+ "const": "h6",
1414
+ "title": "Très petit (20px)"
393
1415
  }
394
- ],
395
- "default": "table",
396
- "title": "Affichage"
1416
+ ]
397
1417
  },
398
- "noInteractions": {
399
- "title": "Désactiver les interactions",
1418
+ "center": {
400
1419
  "type": "boolean",
1420
+ "title": "Centré",
401
1421
  "default": false
402
1422
  },
403
- "ignoreFilters": {
404
- "title": "Ignorer les filtres",
1423
+ "bold": {
405
1424
  "type": "boolean",
1425
+ "title": "Gras",
406
1426
  "default": false
407
1427
  },
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
- }
1428
+ "color": {
1429
+ "type": "string",
1430
+ "title": "Couleur du texte",
1431
+ "default": null,
1432
+ "oneOf": [
1433
+ {
1434
+ "const": null,
1435
+ "title": "Aucune (par défaut)"
1436
+ },
1437
+ {
1438
+ "const": "primary",
1439
+ "title": "Principale"
1440
+ },
1441
+ {
1442
+ "const": "secondary",
1443
+ "title": "Secondaire"
1444
+ },
1445
+ {
1446
+ "const": "accent",
1447
+ "title": "Accent"
1448
+ },
1449
+ {
1450
+ "const": "info",
1451
+ "title": "Info"
1452
+ },
1453
+ {
1454
+ "const": "success",
1455
+ "title": "Succès"
1456
+ },
1457
+ {
1458
+ "const": "error",
1459
+ "title": "Erreur"
1460
+ },
1461
+ {
1462
+ "const": "warning",
1463
+ "title": "Avertissement"
1464
+ }
1465
+ ]
415
1466
  },
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"
1467
+ "line": {
1468
+ "type": "object",
1469
+ "title": "Trait décoratif",
1470
+ "properties": {
1471
+ "position": {
1472
+ "type": "string",
1473
+ "title": "Position",
1474
+ "default": "none",
1475
+ "oneOf": [
1476
+ {
1477
+ "const": "none",
1478
+ "title": "Aucun"
1479
+ },
1480
+ {
1481
+ "const": "left",
1482
+ "title": "À gauche du titre"
1483
+ },
1484
+ {
1485
+ "const": "bottom-small",
1486
+ "title": "Petit trait sous le titre (80px)"
1487
+ },
1488
+ {
1489
+ "const": "bottom-medium",
1490
+ "title": "Trait moyen sous le titre (largeur du texte)"
1491
+ },
1492
+ {
1493
+ "const": "bottom-large",
1494
+ "title": "Grand trait sous le titre (toute la largeur)"
1495
+ }
1496
+ ]
427
1497
  },
428
- "if": "parent.data.valueMandatory"
1498
+ "color": {
1499
+ "type": "string",
1500
+ "title": "Couleur du trait",
1501
+ "default": "primary",
1502
+ "oneOf": [
1503
+ {
1504
+ "const": "primary",
1505
+ "title": "Principale"
1506
+ },
1507
+ {
1508
+ "const": "secondary",
1509
+ "title": "Secondaire"
1510
+ },
1511
+ {
1512
+ "const": "accent",
1513
+ "title": "Accent"
1514
+ },
1515
+ {
1516
+ "const": "info",
1517
+ "title": "Info"
1518
+ },
1519
+ {
1520
+ "const": "success",
1521
+ "title": "Succès"
1522
+ },
1523
+ {
1524
+ "const": "error",
1525
+ "title": "Erreur"
1526
+ },
1527
+ {
1528
+ "const": "warning",
1529
+ "title": "Avertissement"
1530
+ }
1531
+ ]
1532
+ }
429
1533
  }
430
1534
  }
431
1535
  }
432
1536
  },
433
- {
434
- "title": "Autre jeu de données",
435
- "layout": {
436
- "switch": [
437
- {
438
- "if": "!data.dataset",
439
- "children": ["dataset"]
440
- }
441
- ]
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
+ }
442
1550
  },
1551
+ "type": "object",
443
1552
  "properties": {
444
- "source": {
445
- "const": "external",
446
- "title": "Source des données"
1553
+ "tag": {
1554
+ "type": "string",
1555
+ "title": "Balise HTML",
1556
+ "default": "h2",
1557
+ "oneOf": [
1558
+ {
1559
+ "const": "h1",
1560
+ "title": "h1"
1561
+ },
1562
+ {
1563
+ "const": "h2",
1564
+ "title": "h2"
1565
+ },
1566
+ {
1567
+ "const": "h3",
1568
+ "title": "h3"
1569
+ },
1570
+ {
1571
+ "const": "h4",
1572
+ "title": "h4"
1573
+ }
1574
+ ]
1575
+ },
1576
+ "size": {
1577
+ "type": "string",
1578
+ "title": "Taille",
1579
+ "default": "h4",
1580
+ "oneOf": [
1581
+ {
1582
+ "const": "h1",
1583
+ "title": "Titre principal (96px)"
1584
+ },
1585
+ {
1586
+ "const": "h2",
1587
+ "title": "Très grand (60px)"
1588
+ },
1589
+ {
1590
+ "const": "h3",
1591
+ "title": "Grand (48px)"
1592
+ },
1593
+ {
1594
+ "const": "h4",
1595
+ "title": "Moyen (34px)"
1596
+ },
1597
+ {
1598
+ "const": "h5",
1599
+ "title": "Petit (24px)"
1600
+ },
1601
+ {
1602
+ "const": "h6",
1603
+ "title": "Très petit (20px)"
1604
+ }
1605
+ ]
1606
+ },
1607
+ "center": {
1608
+ "type": "boolean",
1609
+ "title": "Centré",
1610
+ "default": false
1611
+ },
1612
+ "bold": {
1613
+ "type": "boolean",
1614
+ "title": "Gras",
1615
+ "default": false
1616
+ },
1617
+ "color": {
1618
+ "type": "string",
1619
+ "title": "Couleur du texte",
1620
+ "default": null,
1621
+ "oneOf": [
1622
+ {
1623
+ "const": null,
1624
+ "title": "Aucune (par défaut)"
1625
+ },
1626
+ {
1627
+ "const": "primary",
1628
+ "title": "Principale"
1629
+ },
1630
+ {
1631
+ "const": "secondary",
1632
+ "title": "Secondaire"
1633
+ },
1634
+ {
1635
+ "const": "accent",
1636
+ "title": "Accent"
1637
+ },
1638
+ {
1639
+ "const": "info",
1640
+ "title": "Info"
1641
+ },
1642
+ {
1643
+ "const": "success",
1644
+ "title": "Succès"
1645
+ },
1646
+ {
1647
+ "const": "error",
1648
+ "title": "Erreur"
1649
+ },
1650
+ {
1651
+ "const": "warning",
1652
+ "title": "Avertissement"
1653
+ }
1654
+ ]
1655
+ },
1656
+ "line": {
1657
+ "type": "object",
1658
+ "title": "Trait décoratif",
1659
+ "properties": {
1660
+ "position": {
1661
+ "type": "string",
1662
+ "title": "Position",
1663
+ "default": "none",
1664
+ "oneOf": [
1665
+ {
1666
+ "const": "none",
1667
+ "title": "Aucun"
1668
+ },
1669
+ {
1670
+ "const": "left",
1671
+ "title": "À gauche du titre"
1672
+ },
1673
+ {
1674
+ "const": "bottom-small",
1675
+ "title": "Petit trait sous le titre (80px)"
1676
+ },
1677
+ {
1678
+ "const": "bottom-medium",
1679
+ "title": "Trait moyen sous le titre (largeur du texte)"
1680
+ },
1681
+ {
1682
+ "const": "bottom-large",
1683
+ "title": "Grand trait sous le titre (toute la largeur)"
1684
+ }
1685
+ ]
1686
+ },
1687
+ "color": {
1688
+ "type": "string",
1689
+ "title": "Couleur du trait",
1690
+ "default": "primary",
1691
+ "oneOf": [
1692
+ {
1693
+ "const": "primary",
1694
+ "title": "Principale"
1695
+ },
1696
+ {
1697
+ "const": "secondary",
1698
+ "title": "Secondaire"
1699
+ },
1700
+ {
1701
+ "const": "accent",
1702
+ "title": "Accent"
1703
+ },
1704
+ {
1705
+ "const": "info",
1706
+ "title": "Info"
1707
+ },
1708
+ {
1709
+ "const": "success",
1710
+ "title": "Succès"
1711
+ },
1712
+ {
1713
+ "const": "error",
1714
+ "title": "Erreur"
1715
+ },
1716
+ {
1717
+ "const": "warning",
1718
+ "title": "Avertissement"
1719
+ }
1720
+ ]
1721
+ }
1722
+ }
1723
+ }
1724
+ }
1725
+ },
1726
+ "description": {
1727
+ "type": "string",
1728
+ "title": "Introduction",
1729
+ "layout": "textarea"
1730
+ },
1731
+ "allowDuplicate": {
1732
+ "title": "Mode comparaison disponible",
1733
+ "type": "boolean",
1734
+ "default": false
1735
+ }
1736
+ }
1737
+ }
1738
+ ],
1739
+ "definitions": {
1740
+ "table": {
1741
+ "title": "Prévisualisation table",
1742
+ "type": "object",
1743
+ "properties": {
1744
+ "type": {
1745
+ "const": "tablePreview",
1746
+ "title": "Type de l'élément"
1747
+ }
1748
+ },
1749
+ "oneOf": [
1750
+ {
1751
+ "title": "Jeu de données des filtres",
1752
+ "properties": {
1753
+ "source": {
1754
+ "const": "root",
1755
+ "title": "Source des données"
1756
+ },
1757
+ "fields": {
1758
+ "title": "Champs à afficher",
1759
+ "description": "Si vide, tous les champs seront affichés",
1760
+ "type": "array",
1761
+ "items": {
1762
+ "type": "string"
1763
+ },
1764
+ "layout": {
1765
+ "getItems": {
1766
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
1767
+ "itemKey": "data.key",
1768
+ "itemTitle": "data.label"
1769
+ }
1770
+ }
1771
+ },
1772
+ "display": {
1773
+ "type": "string",
1774
+ "oneOf": [
1775
+ {
1776
+ "const": "table",
1777
+ "title": "Tableau"
1778
+ },
1779
+ {
1780
+ "const": "table-dense",
1781
+ "title": "Tableau dense"
1782
+ },
1783
+ {
1784
+ "const": "list",
1785
+ "title": "Vignettes"
1786
+ }
1787
+ ],
1788
+ "default": "table",
1789
+ "title": "Affichage"
1790
+ },
1791
+ "noInteractions": {
1792
+ "title": "Désactiver les interactions",
1793
+ "type": "boolean",
1794
+ "default": false
1795
+ },
1796
+ "ignoreFilters": {
1797
+ "title": "Ignorer les filtres",
1798
+ "type": "boolean",
1799
+ "default": false
1800
+ },
1801
+ "valueMandatory": {
1802
+ "title": "Nécessite une valeur dans des filtres",
1803
+ "type": "boolean",
1804
+ "default": false,
1805
+ "layout": {
1806
+ "if": "!parent.data.ignoreFilters"
1807
+ }
1808
+ },
1809
+ "mandatoryFilters": {
1810
+ "title": "Filtres requis",
1811
+ "type": "array",
1812
+ "items": {
1813
+ "type": "string"
1814
+ },
1815
+ "layout": {
1816
+ "getItems": {
1817
+ "expr": "rootData.filters",
1818
+ "itemKey": "data.labelField",
1819
+ "itemTitle": "data.labelField"
1820
+ },
1821
+ "if": "parent.data.valueMandatory"
1822
+ }
1823
+ }
1824
+ }
1825
+ },
1826
+ {
1827
+ "title": "Autre jeu de données",
1828
+ "layout": {
1829
+ "switch": [
1830
+ {
1831
+ "if": "!data.dataset",
1832
+ "children": [
1833
+ "dataset"
1834
+ ]
1835
+ }
1836
+ ]
1837
+ },
1838
+ "properties": {
1839
+ "source": {
1840
+ "const": "external",
1841
+ "title": "Source des données"
447
1842
  },
448
1843
  "dataset": {
449
1844
  "type": "object",
@@ -785,16 +2180,421 @@
785
2180
  },
786
2181
  "oneOf": [
787
2182
  {
788
- "$ref": "#/definitions/table"
2183
+ "title": "Prévisualisation table",
2184
+ "type": "object",
2185
+ "properties": {
2186
+ "type": {
2187
+ "const": "tablePreview",
2188
+ "title": "Type de l'élément"
2189
+ }
2190
+ },
2191
+ "oneOf": [
2192
+ {
2193
+ "title": "Jeu de données des filtres",
2194
+ "properties": {
2195
+ "source": {
2196
+ "const": "root",
2197
+ "title": "Source des données"
2198
+ },
2199
+ "fields": {
2200
+ "title": "Champs à afficher",
2201
+ "description": "Si vide, tous les champs seront affichés",
2202
+ "type": "array",
2203
+ "items": {
2204
+ "type": "string"
2205
+ },
2206
+ "layout": {
2207
+ "getItems": {
2208
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2209
+ "itemKey": "data.key",
2210
+ "itemTitle": "data.label"
2211
+ }
2212
+ }
2213
+ },
2214
+ "display": {
2215
+ "type": "string",
2216
+ "oneOf": [
2217
+ {
2218
+ "const": "table",
2219
+ "title": "Tableau"
2220
+ },
2221
+ {
2222
+ "const": "table-dense",
2223
+ "title": "Tableau dense"
2224
+ },
2225
+ {
2226
+ "const": "list",
2227
+ "title": "Vignettes"
2228
+ }
2229
+ ],
2230
+ "default": "table",
2231
+ "title": "Affichage"
2232
+ },
2233
+ "noInteractions": {
2234
+ "title": "Désactiver les interactions",
2235
+ "type": "boolean",
2236
+ "default": false
2237
+ },
2238
+ "ignoreFilters": {
2239
+ "title": "Ignorer les filtres",
2240
+ "type": "boolean",
2241
+ "default": false
2242
+ },
2243
+ "valueMandatory": {
2244
+ "title": "Nécessite une valeur dans des filtres",
2245
+ "type": "boolean",
2246
+ "default": false,
2247
+ "layout": {
2248
+ "if": "!parent.data.ignoreFilters"
2249
+ }
2250
+ },
2251
+ "mandatoryFilters": {
2252
+ "title": "Filtres requis",
2253
+ "type": "array",
2254
+ "items": {
2255
+ "type": "string"
2256
+ },
2257
+ "layout": {
2258
+ "getItems": {
2259
+ "expr": "rootData.filters",
2260
+ "itemKey": "data.labelField",
2261
+ "itemTitle": "data.labelField"
2262
+ },
2263
+ "if": "parent.data.valueMandatory"
2264
+ }
2265
+ }
2266
+ }
2267
+ },
2268
+ {
2269
+ "title": "Autre jeu de données",
2270
+ "layout": {
2271
+ "switch": [
2272
+ {
2273
+ "if": "!data.dataset",
2274
+ "children": [
2275
+ "dataset"
2276
+ ]
2277
+ }
2278
+ ]
2279
+ },
2280
+ "properties": {
2281
+ "source": {
2282
+ "const": "external",
2283
+ "title": "Source des données"
2284
+ },
2285
+ "dataset": {
2286
+ "type": "object",
2287
+ "properties": {
2288
+ "id": {
2289
+ "type": "string"
2290
+ },
2291
+ "slug": {
2292
+ "type": "string"
2293
+ },
2294
+ "title": {
2295
+ "type": "string"
2296
+ },
2297
+ "href": {
2298
+ "type": "string"
2299
+ },
2300
+ "schema": {
2301
+ "type": "array"
2302
+ }
2303
+ },
2304
+ "layout": {
2305
+ "getItems": {
2306
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&select=id,title,slug,schema&sort=createdAt:-1",
2307
+ "itemKey": "data.id",
2308
+ "itemTitle": "data.title",
2309
+ "itemsResults": "data.results"
2310
+ }
2311
+ }
2312
+ },
2313
+ "fields": {
2314
+ "title": "Champs à afficher",
2315
+ "description": "Si vide, tous les champs seront affichés",
2316
+ "type": "array",
2317
+ "items": {
2318
+ "type": "string"
2319
+ },
2320
+ "layout": {
2321
+ "getItems": {
2322
+ "url": "${parent.data.dataset.href}/schema?calculated=false",
2323
+ "itemKey": "data.key",
2324
+ "itemTitle": "data.label"
2325
+ }
2326
+ }
2327
+ },
2328
+ "display": {
2329
+ "type": "string",
2330
+ "oneOf": [
2331
+ {
2332
+ "const": "table",
2333
+ "title": "Tableau"
2334
+ },
2335
+ {
2336
+ "const": "table-dense",
2337
+ "title": "Tableau dense"
2338
+ },
2339
+ {
2340
+ "const": "list",
2341
+ "title": "Vignettes"
2342
+ }
2343
+ ],
2344
+ "default": "table",
2345
+ "title": "Affichage"
2346
+ },
2347
+ "noInteractions": {
2348
+ "title": "Désactiver les interactions",
2349
+ "type": "boolean",
2350
+ "default": false
2351
+ },
2352
+ "ignoreFilters": {
2353
+ "title": "Ignorer les filtres",
2354
+ "type": "boolean",
2355
+ "default": false
2356
+ },
2357
+ "valueMandatory": {
2358
+ "title": "Nécessite une valeur dans des filtres",
2359
+ "type": "boolean",
2360
+ "default": false,
2361
+ "layout": {
2362
+ "if": "!parent.data.ignoreFilters"
2363
+ }
2364
+ },
2365
+ "mandatoryFilters": {
2366
+ "title": "Filtres requis",
2367
+ "type": "array",
2368
+ "items": {
2369
+ "type": "string"
2370
+ },
2371
+ "layout": {
2372
+ "getItems": {
2373
+ "expr": "rootData.filters",
2374
+ "itemKey": "data.labelField",
2375
+ "itemTitle": "data.labelField"
2376
+ },
2377
+ "if": "parent.data.valueMandatory"
2378
+ }
2379
+ }
2380
+ }
2381
+ }
2382
+ ],
2383
+ "default": {
2384
+ "source": "root"
2385
+ },
2386
+ "oneOfLayout": {
2387
+ "label": "Source des données"
2388
+ }
789
2389
  },
790
2390
  {
791
- "$ref": "#/definitions/application"
2391
+ "title": "Visualisation",
2392
+ "properties": {
2393
+ "type": {
2394
+ "const": "application",
2395
+ "title": "Type de l'élément"
2396
+ }
2397
+ },
2398
+ "oneOf": [
2399
+ {
2400
+ "title": "Jeu de données des filtres",
2401
+ "properties": {
2402
+ "source": {
2403
+ "const": "root",
2404
+ "title": "Source des données de l'application"
2405
+ },
2406
+ "application": {
2407
+ "type": "object",
2408
+ "properties": {
2409
+ "id": {
2410
+ "type": "string"
2411
+ },
2412
+ "title": {
2413
+ "type": "string"
2414
+ },
2415
+ "href": {
2416
+ "type": "string"
2417
+ },
2418
+ "baseApp": {
2419
+ "type": "object"
2420
+ }
2421
+ },
2422
+ "layout": {
2423
+ "getItems": {
2424
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&dataset=${rootData.datasets[0].id}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
2425
+ "itemKey": "data.id",
2426
+ "itemTitle": "data.title",
2427
+ "itemsResults": "data.results"
2428
+ }
2429
+ }
2430
+ },
2431
+ "ignoreFilters": {
2432
+ "title": "Ignorer les filtres",
2433
+ "type": "boolean",
2434
+ "default": false
2435
+ },
2436
+ "valueMandatory": {
2437
+ "title": "Nécessite une valeur dans des filtres",
2438
+ "type": "boolean",
2439
+ "default": false,
2440
+ "layout": {
2441
+ "if": "!parent.data.ignoreFilters"
2442
+ }
2443
+ },
2444
+ "mandatoryFilters": {
2445
+ "title": "Filtres requis",
2446
+ "type": "array",
2447
+ "items": {
2448
+ "type": "string"
2449
+ },
2450
+ "layout": {
2451
+ "getItems": {
2452
+ "expr": "rootData.filters",
2453
+ "itemKey": "data.labelField",
2454
+ "itemTitle": "data.labelField"
2455
+ },
2456
+ "if": "parent.data.valueMandatory"
2457
+ }
2458
+ },
2459
+ "description": {
2460
+ "title": "Affichage de la description",
2461
+ "type": "string",
2462
+ "oneOf": [
2463
+ {
2464
+ "const": "none",
2465
+ "title": "Aucun affichage"
2466
+ },
2467
+ {
2468
+ "const": "left",
2469
+ "title": "A gauche"
2470
+ },
2471
+ {
2472
+ "const": "right",
2473
+ "title": "A droite"
2474
+ }
2475
+ ],
2476
+ "default": "none"
2477
+ }
2478
+ }
2479
+ },
2480
+ {
2481
+ "title": "Autre jeu de données",
2482
+ "properties": {
2483
+ "source": {
2484
+ "const": "external",
2485
+ "title": "Source des données de l'application"
2486
+ },
2487
+ "application": {
2488
+ "type": "object",
2489
+ "properties": {
2490
+ "id": {
2491
+ "type": "string"
2492
+ },
2493
+ "title": {
2494
+ "type": "string"
2495
+ },
2496
+ "href": {
2497
+ "type": "string"
2498
+ },
2499
+ "baseApp": {
2500
+ "type": "object"
2501
+ }
2502
+ },
2503
+ "layout": {
2504
+ "getItems": {
2505
+ "url": "api/v1/applications?q={q}&${context.datasetFilter}&filterConcepts=true&select=id,title,baseApp&sort=createdAt:-1",
2506
+ "itemKey": "data.id",
2507
+ "itemTitle": "data.title",
2508
+ "itemsResults": "data.results"
2509
+ }
2510
+ }
2511
+ },
2512
+ "ignoreFilters": {
2513
+ "title": "Ignorer les filtres",
2514
+ "type": "boolean",
2515
+ "default": false
2516
+ },
2517
+ "valueMandatory": {
2518
+ "title": "Nécessite une valeur dans des filtres",
2519
+ "type": "boolean",
2520
+ "default": false,
2521
+ "layout": {
2522
+ "if": "!parent.data.ignoreFilters"
2523
+ }
2524
+ },
2525
+ "mandatoryFilters": {
2526
+ "title": "Filtres requis",
2527
+ "type": "array",
2528
+ "items": {
2529
+ "type": "string"
2530
+ },
2531
+ "layout": {
2532
+ "getItems": {
2533
+ "expr": "rootData.filters",
2534
+ "itemKey": "data.labelField",
2535
+ "itemTitle": "data.labelField"
2536
+ },
2537
+ "if": "parent.data.valueMandatory"
2538
+ }
2539
+ }
2540
+ }
2541
+ }
2542
+ ],
2543
+ "default": {
2544
+ "source": "root"
2545
+ },
2546
+ "oneOfLayout": {
2547
+ "label": "Source des données de l'application"
2548
+ }
792
2549
  },
793
2550
  {
794
- "$ref": "#/definitions/text"
2551
+ "title": "Texte",
2552
+ "properties": {
2553
+ "type": {
2554
+ "const": "text",
2555
+ "title": "Type de l'élément"
2556
+ },
2557
+ "content": {
2558
+ "type": "string",
2559
+ "title": "Contenu",
2560
+ "layout": "textarea"
2561
+ }
2562
+ }
795
2563
  },
796
2564
  {
797
- "$ref": "#/definitions/form"
2565
+ "title": "Formulaire de saisie",
2566
+ "properties": {
2567
+ "type": {
2568
+ "const": "form",
2569
+ "title": "Type de l'élément"
2570
+ },
2571
+ "dataset": {
2572
+ "type": "object",
2573
+ "title": "Jeu de données",
2574
+ "properties": {
2575
+ "id": {
2576
+ "type": "string"
2577
+ },
2578
+ "title": {
2579
+ "type": "string"
2580
+ },
2581
+ "href": {
2582
+ "type": "string"
2583
+ },
2584
+ "schema": {
2585
+ "type": "array"
2586
+ }
2587
+ },
2588
+ "layout": {
2589
+ "getItems": {
2590
+ "url": "api/v1/datasets?q={q}&${context.datasetFilter}&rest=true&select=id,title,schema&sort=createdAt:-1",
2591
+ "itemKey": "data.id",
2592
+ "itemTitle": "data.title",
2593
+ "itemsResults": "data.results"
2594
+ }
2595
+ }
2596
+ }
2597
+ }
798
2598
  }
799
2599
  ],
800
2600
  "properties": {
@@ -825,14 +2625,25 @@
825
2625
  "oneOf": [
826
2626
  {
827
2627
  "title": "Restreindre à des valeurs",
828
- "required": ["field", "values"],
2628
+ "required": [
2629
+ "field",
2630
+ "values"
2631
+ ],
829
2632
  "additionalProperties": false,
830
2633
  "properties": {
831
2634
  "type": {
832
2635
  "const": "in"
833
2636
  },
834
2637
  "field": {
835
- "$ref": "#/definitions/filterField"
2638
+ "type": "string",
2639
+ "title": "Colonne de filtre",
2640
+ "layout": {
2641
+ "getItems": {
2642
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2643
+ "itemKey": "data.key",
2644
+ "itemTitle": "data.label"
2645
+ }
2646
+ }
836
2647
  },
837
2648
  "values": {
838
2649
  "type": "array",
@@ -852,14 +2663,24 @@
852
2663
  },
853
2664
  {
854
2665
  "title": "Restreindre à un interval de valeurs",
855
- "required": ["field"],
2666
+ "required": [
2667
+ "field"
2668
+ ],
856
2669
  "additionalProperties": false,
857
2670
  "properties": {
858
2671
  "type": {
859
2672
  "const": "interval"
860
2673
  },
861
2674
  "field": {
862
- "$ref": "#/definitions/filterField"
2675
+ "type": "string",
2676
+ "title": "Colonne de filtre",
2677
+ "layout": {
2678
+ "getItems": {
2679
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2680
+ "itemKey": "data.key",
2681
+ "itemTitle": "data.label"
2682
+ }
2683
+ }
863
2684
  },
864
2685
  "minValue": {
865
2686
  "type": "string",
@@ -887,14 +2708,24 @@
887
2708
  },
888
2709
  {
889
2710
  "title": "Exclure des valeurs",
890
- "required": ["field"],
2711
+ "required": [
2712
+ "field"
2713
+ ],
891
2714
  "additionalProperties": false,
892
2715
  "properties": {
893
2716
  "type": {
894
2717
  "const": "nin"
895
2718
  },
896
2719
  "field": {
897
- "$ref": "#/definitions/filterField"
2720
+ "type": "string",
2721
+ "title": "Colonne de filtre",
2722
+ "layout": {
2723
+ "getItems": {
2724
+ "url": "${rootData.datasets[0].href}/schema?calculated=false",
2725
+ "itemKey": "data.key",
2726
+ "itemTitle": "data.label"
2727
+ }
2728
+ }
898
2729
  },
899
2730
  "values": {
900
2731
  "type": "array",
@@ -925,6 +2756,184 @@
925
2756
  "itemTitle": "data.label"
926
2757
  }
927
2758
  }
2759
+ },
2760
+ "titleStyle": {
2761
+ "type": "object",
2762
+ "title": "Style du titre",
2763
+ "properties": {
2764
+ "tag": {
2765
+ "type": "string",
2766
+ "title": "Balise HTML",
2767
+ "default": "h2",
2768
+ "oneOf": [
2769
+ {
2770
+ "const": "h1",
2771
+ "title": "h1"
2772
+ },
2773
+ {
2774
+ "const": "h2",
2775
+ "title": "h2"
2776
+ },
2777
+ {
2778
+ "const": "h3",
2779
+ "title": "h3"
2780
+ },
2781
+ {
2782
+ "const": "h4",
2783
+ "title": "h4"
2784
+ }
2785
+ ]
2786
+ },
2787
+ "size": {
2788
+ "type": "string",
2789
+ "title": "Taille",
2790
+ "default": "h4",
2791
+ "oneOf": [
2792
+ {
2793
+ "const": "h1",
2794
+ "title": "Titre principal (96px)"
2795
+ },
2796
+ {
2797
+ "const": "h2",
2798
+ "title": "Très grand (60px)"
2799
+ },
2800
+ {
2801
+ "const": "h3",
2802
+ "title": "Grand (48px)"
2803
+ },
2804
+ {
2805
+ "const": "h4",
2806
+ "title": "Moyen (34px)"
2807
+ },
2808
+ {
2809
+ "const": "h5",
2810
+ "title": "Petit (24px)"
2811
+ },
2812
+ {
2813
+ "const": "h6",
2814
+ "title": "Très petit (20px)"
2815
+ }
2816
+ ]
2817
+ },
2818
+ "center": {
2819
+ "type": "boolean",
2820
+ "title": "Centré",
2821
+ "default": false
2822
+ },
2823
+ "bold": {
2824
+ "type": "boolean",
2825
+ "title": "Gras",
2826
+ "default": false
2827
+ },
2828
+ "color": {
2829
+ "type": "string",
2830
+ "title": "Couleur du texte",
2831
+ "default": null,
2832
+ "oneOf": [
2833
+ {
2834
+ "const": null,
2835
+ "title": "Aucune (par défaut)"
2836
+ },
2837
+ {
2838
+ "const": "primary",
2839
+ "title": "Principale"
2840
+ },
2841
+ {
2842
+ "const": "secondary",
2843
+ "title": "Secondaire"
2844
+ },
2845
+ {
2846
+ "const": "accent",
2847
+ "title": "Accent"
2848
+ },
2849
+ {
2850
+ "const": "info",
2851
+ "title": "Info"
2852
+ },
2853
+ {
2854
+ "const": "success",
2855
+ "title": "Succès"
2856
+ },
2857
+ {
2858
+ "const": "error",
2859
+ "title": "Erreur"
2860
+ },
2861
+ {
2862
+ "const": "warning",
2863
+ "title": "Avertissement"
2864
+ }
2865
+ ]
2866
+ },
2867
+ "line": {
2868
+ "type": "object",
2869
+ "title": "Trait décoratif",
2870
+ "properties": {
2871
+ "position": {
2872
+ "type": "string",
2873
+ "title": "Position",
2874
+ "default": "none",
2875
+ "oneOf": [
2876
+ {
2877
+ "const": "none",
2878
+ "title": "Aucun"
2879
+ },
2880
+ {
2881
+ "const": "left",
2882
+ "title": "À gauche du titre"
2883
+ },
2884
+ {
2885
+ "const": "bottom-small",
2886
+ "title": "Petit trait sous le titre (80px)"
2887
+ },
2888
+ {
2889
+ "const": "bottom-medium",
2890
+ "title": "Trait moyen sous le titre (largeur du texte)"
2891
+ },
2892
+ {
2893
+ "const": "bottom-large",
2894
+ "title": "Grand trait sous le titre (toute la largeur)"
2895
+ }
2896
+ ]
2897
+ },
2898
+ "color": {
2899
+ "type": "string",
2900
+ "title": "Couleur du trait",
2901
+ "default": "primary",
2902
+ "oneOf": [
2903
+ {
2904
+ "const": "primary",
2905
+ "title": "Principale"
2906
+ },
2907
+ {
2908
+ "const": "secondary",
2909
+ "title": "Secondaire"
2910
+ },
2911
+ {
2912
+ "const": "accent",
2913
+ "title": "Accent"
2914
+ },
2915
+ {
2916
+ "const": "info",
2917
+ "title": "Info"
2918
+ },
2919
+ {
2920
+ "const": "success",
2921
+ "title": "Succès"
2922
+ },
2923
+ {
2924
+ "const": "error",
2925
+ "title": "Erreur"
2926
+ },
2927
+ {
2928
+ "const": "warning",
2929
+ "title": "Avertissement"
2930
+ }
2931
+ ]
2932
+ }
2933
+ }
2934
+ }
2935
+ }
928
2936
  }
929
- }
930
- }
2937
+ },
2938
+ "$id": "config-resolved"
2939
+ }