@openmrs/esm-form-builder-app 2.1.1-pre.621 → 2.1.1-pre.626
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/153.js +1 -1
- package/dist/{515.js → 223.js} +2 -2
- package/dist/{515.js.map → 223.js.map} +1 -1
- package/dist/259.js +1 -1
- package/dist/259.js.map +1 -1
- package/dist/319.js +1 -1
- package/dist/574.js +1 -1
- package/dist/757.js +1 -1
- package/dist/788.js +1 -1
- package/dist/807.js +1 -1
- package/dist/833.js +1 -1
- package/dist/main.js +1 -1
- package/dist/openmrs-esm-form-builder-app.js.buildmanifest.json +168 -168
- package/dist/routes.json +1 -1
- package/package.json +2 -1
- package/src/components/dashboard/dashboard.component.tsx +40 -41
- package/src/components/dashboard/dashboard.scss +7 -2
- package/src/components/dashboard/dashboard.test.tsx +2 -2
- /package/dist/{515.js.LICENSE.txt → 223.js.LICENSE.txt} +0 -0
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"auxiliaryFiles": [
|
|
70
70
|
"153.js.map"
|
|
71
71
|
],
|
|
72
|
-
"hash": "
|
|
72
|
+
"hash": "1feb363b8fb039cb",
|
|
73
73
|
"childrenByOrder": {}
|
|
74
74
|
},
|
|
75
75
|
{
|
|
@@ -124,153 +124,7 @@
|
|
|
124
124
|
"auxiliaryFiles": [
|
|
125
125
|
"main.js.map"
|
|
126
126
|
],
|
|
127
|
-
"hash": "
|
|
128
|
-
"childrenByOrder": {}
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
"rendered": true,
|
|
132
|
-
"initial": false,
|
|
133
|
-
"entry": false,
|
|
134
|
-
"recorded": false,
|
|
135
|
-
"size": 3602,
|
|
136
|
-
"sizes": {
|
|
137
|
-
"javascript": 3602
|
|
138
|
-
},
|
|
139
|
-
"names": [],
|
|
140
|
-
"idHints": [],
|
|
141
|
-
"runtime": [
|
|
142
|
-
"@openmrs/esm-form-builder-app",
|
|
143
|
-
"main"
|
|
144
|
-
],
|
|
145
|
-
"files": [
|
|
146
|
-
"256.js"
|
|
147
|
-
],
|
|
148
|
-
"auxiliaryFiles": [
|
|
149
|
-
"256.js.map"
|
|
150
|
-
],
|
|
151
|
-
"hash": "d4d5b35efe1d8ede",
|
|
152
|
-
"childrenByOrder": {}
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
"rendered": true,
|
|
156
|
-
"initial": false,
|
|
157
|
-
"entry": false,
|
|
158
|
-
"recorded": false,
|
|
159
|
-
"size": 311791,
|
|
160
|
-
"sizes": {
|
|
161
|
-
"javascript": 311749,
|
|
162
|
-
"consume-shared": 42
|
|
163
|
-
},
|
|
164
|
-
"names": [],
|
|
165
|
-
"idHints": [],
|
|
166
|
-
"runtime": [
|
|
167
|
-
"@openmrs/esm-form-builder-app",
|
|
168
|
-
"main"
|
|
169
|
-
],
|
|
170
|
-
"files": [
|
|
171
|
-
"259.js"
|
|
172
|
-
],
|
|
173
|
-
"auxiliaryFiles": [
|
|
174
|
-
"259.js.map"
|
|
175
|
-
],
|
|
176
|
-
"hash": "bed10a78d6da8766",
|
|
177
|
-
"childrenByOrder": {}
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
"rendered": true,
|
|
181
|
-
"initial": false,
|
|
182
|
-
"entry": false,
|
|
183
|
-
"recorded": false,
|
|
184
|
-
"size": 7103,
|
|
185
|
-
"sizes": {
|
|
186
|
-
"javascript": 7103
|
|
187
|
-
},
|
|
188
|
-
"names": [],
|
|
189
|
-
"idHints": [],
|
|
190
|
-
"runtime": [
|
|
191
|
-
"@openmrs/esm-form-builder-app",
|
|
192
|
-
"main"
|
|
193
|
-
],
|
|
194
|
-
"files": [
|
|
195
|
-
"294.js"
|
|
196
|
-
],
|
|
197
|
-
"auxiliaryFiles": [
|
|
198
|
-
"294.js.map"
|
|
199
|
-
],
|
|
200
|
-
"hash": "b314e60f1c149ba9",
|
|
201
|
-
"childrenByOrder": {}
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"rendered": true,
|
|
205
|
-
"initial": false,
|
|
206
|
-
"entry": false,
|
|
207
|
-
"recorded": false,
|
|
208
|
-
"size": 9323,
|
|
209
|
-
"sizes": {
|
|
210
|
-
"javascript": 9323
|
|
211
|
-
},
|
|
212
|
-
"names": [],
|
|
213
|
-
"idHints": [],
|
|
214
|
-
"runtime": [
|
|
215
|
-
"@openmrs/esm-form-builder-app",
|
|
216
|
-
"main"
|
|
217
|
-
],
|
|
218
|
-
"files": [
|
|
219
|
-
"319.js"
|
|
220
|
-
],
|
|
221
|
-
"auxiliaryFiles": [],
|
|
222
|
-
"hash": "791ee4cd0cc89d0b",
|
|
223
|
-
"childrenByOrder": {}
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"rendered": true,
|
|
227
|
-
"initial": false,
|
|
228
|
-
"entry": false,
|
|
229
|
-
"recorded": false,
|
|
230
|
-
"size": 984,
|
|
231
|
-
"sizes": {
|
|
232
|
-
"javascript": 984
|
|
233
|
-
},
|
|
234
|
-
"names": [],
|
|
235
|
-
"idHints": [],
|
|
236
|
-
"runtime": [
|
|
237
|
-
"@openmrs/esm-form-builder-app",
|
|
238
|
-
"main"
|
|
239
|
-
],
|
|
240
|
-
"files": [
|
|
241
|
-
"447.js"
|
|
242
|
-
],
|
|
243
|
-
"auxiliaryFiles": [
|
|
244
|
-
"447.js.map"
|
|
245
|
-
],
|
|
246
|
-
"hash": "40f540e9c6d5d988",
|
|
247
|
-
"childrenByOrder": {}
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"rendered": true,
|
|
251
|
-
"initial": false,
|
|
252
|
-
"entry": false,
|
|
253
|
-
"recorded": false,
|
|
254
|
-
"reason": "split chunk (cache group: defaultVendors)",
|
|
255
|
-
"size": 2552869,
|
|
256
|
-
"sizes": {
|
|
257
|
-
"javascript": 2552869
|
|
258
|
-
},
|
|
259
|
-
"names": [],
|
|
260
|
-
"idHints": [
|
|
261
|
-
"vendors"
|
|
262
|
-
],
|
|
263
|
-
"runtime": [
|
|
264
|
-
"@openmrs/esm-form-builder-app",
|
|
265
|
-
"main"
|
|
266
|
-
],
|
|
267
|
-
"files": [
|
|
268
|
-
"501.js"
|
|
269
|
-
],
|
|
270
|
-
"auxiliaryFiles": [
|
|
271
|
-
"501.js.map"
|
|
272
|
-
],
|
|
273
|
-
"hash": "6fda22fd27ff1fcc",
|
|
127
|
+
"hash": "b01cd6507e5262b4",
|
|
274
128
|
"childrenByOrder": {}
|
|
275
129
|
},
|
|
276
130
|
{
|
|
@@ -279,9 +133,9 @@
|
|
|
279
133
|
"entry": false,
|
|
280
134
|
"recorded": false,
|
|
281
135
|
"reason": "split chunk (cache group: defaultVendors)",
|
|
282
|
-
"size":
|
|
136
|
+
"size": 2970520,
|
|
283
137
|
"sizes": {
|
|
284
|
-
"javascript":
|
|
138
|
+
"javascript": 2970520
|
|
285
139
|
},
|
|
286
140
|
"names": [],
|
|
287
141
|
"idHints": [
|
|
@@ -292,7 +146,7 @@
|
|
|
292
146
|
"main"
|
|
293
147
|
],
|
|
294
148
|
"files": [
|
|
295
|
-
"
|
|
149
|
+
"223.js"
|
|
296
150
|
],
|
|
297
151
|
"auxiliaryFiles": [
|
|
298
152
|
"002a2ac7b7d3b3b807ddcb210cfc91eb.js",
|
|
@@ -358,6 +212,7 @@
|
|
|
358
212
|
"2091e4c01015d7dda392116f3ae59801.js",
|
|
359
213
|
"211511e7b374f57ad31acaf49dbdccb1.js",
|
|
360
214
|
"2184bcd361a0e38d249bc49439d994cb.js",
|
|
215
|
+
"223.js.map",
|
|
361
216
|
"2272c6632c52c3e402ab27b8045ab8f1.js",
|
|
362
217
|
"23602ad4c88f0f19e7a0a12454ebf556.js",
|
|
363
218
|
"23bb1a9f279e7a732bfd405350aab114.js",
|
|
@@ -457,7 +312,6 @@
|
|
|
457
312
|
"4f89e8c1a691faf5f1bfe3987ddf108a.js",
|
|
458
313
|
"5061ac5e99882b9f26051a5d73c75271.js",
|
|
459
314
|
"50bd9a652785963a5d7d24bda4dee4ca.js",
|
|
460
|
-
"515.js.map",
|
|
461
315
|
"51f903c5ce5284a63196247cffb5ca40.js",
|
|
462
316
|
"52c9726f9e52ed3a57c0634718366029.js",
|
|
463
317
|
"52ee9d28ed4c3389951a46084343a993.js",
|
|
@@ -740,7 +594,153 @@
|
|
|
740
594
|
"ffb6d262efb0718a20d60b5fecb76ea6.js",
|
|
741
595
|
"ffd3b83e8b5878f4785591ff54b1dfff.js"
|
|
742
596
|
],
|
|
743
|
-
"hash": "
|
|
597
|
+
"hash": "bb6a01952667b7a9",
|
|
598
|
+
"childrenByOrder": {}
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"rendered": true,
|
|
602
|
+
"initial": false,
|
|
603
|
+
"entry": false,
|
|
604
|
+
"recorded": false,
|
|
605
|
+
"size": 3602,
|
|
606
|
+
"sizes": {
|
|
607
|
+
"javascript": 3602
|
|
608
|
+
},
|
|
609
|
+
"names": [],
|
|
610
|
+
"idHints": [],
|
|
611
|
+
"runtime": [
|
|
612
|
+
"@openmrs/esm-form-builder-app",
|
|
613
|
+
"main"
|
|
614
|
+
],
|
|
615
|
+
"files": [
|
|
616
|
+
"256.js"
|
|
617
|
+
],
|
|
618
|
+
"auxiliaryFiles": [
|
|
619
|
+
"256.js.map"
|
|
620
|
+
],
|
|
621
|
+
"hash": "d4d5b35efe1d8ede",
|
|
622
|
+
"childrenByOrder": {}
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"rendered": true,
|
|
626
|
+
"initial": false,
|
|
627
|
+
"entry": false,
|
|
628
|
+
"recorded": false,
|
|
629
|
+
"size": 312184,
|
|
630
|
+
"sizes": {
|
|
631
|
+
"javascript": 312142,
|
|
632
|
+
"consume-shared": 42
|
|
633
|
+
},
|
|
634
|
+
"names": [],
|
|
635
|
+
"idHints": [],
|
|
636
|
+
"runtime": [
|
|
637
|
+
"@openmrs/esm-form-builder-app",
|
|
638
|
+
"main"
|
|
639
|
+
],
|
|
640
|
+
"files": [
|
|
641
|
+
"259.js"
|
|
642
|
+
],
|
|
643
|
+
"auxiliaryFiles": [
|
|
644
|
+
"259.js.map"
|
|
645
|
+
],
|
|
646
|
+
"hash": "5e836aeeece80092",
|
|
647
|
+
"childrenByOrder": {}
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"rendered": true,
|
|
651
|
+
"initial": false,
|
|
652
|
+
"entry": false,
|
|
653
|
+
"recorded": false,
|
|
654
|
+
"size": 7103,
|
|
655
|
+
"sizes": {
|
|
656
|
+
"javascript": 7103
|
|
657
|
+
},
|
|
658
|
+
"names": [],
|
|
659
|
+
"idHints": [],
|
|
660
|
+
"runtime": [
|
|
661
|
+
"@openmrs/esm-form-builder-app",
|
|
662
|
+
"main"
|
|
663
|
+
],
|
|
664
|
+
"files": [
|
|
665
|
+
"294.js"
|
|
666
|
+
],
|
|
667
|
+
"auxiliaryFiles": [
|
|
668
|
+
"294.js.map"
|
|
669
|
+
],
|
|
670
|
+
"hash": "b314e60f1c149ba9",
|
|
671
|
+
"childrenByOrder": {}
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"rendered": true,
|
|
675
|
+
"initial": false,
|
|
676
|
+
"entry": false,
|
|
677
|
+
"recorded": false,
|
|
678
|
+
"size": 9293,
|
|
679
|
+
"sizes": {
|
|
680
|
+
"javascript": 9293
|
|
681
|
+
},
|
|
682
|
+
"names": [],
|
|
683
|
+
"idHints": [],
|
|
684
|
+
"runtime": [
|
|
685
|
+
"@openmrs/esm-form-builder-app",
|
|
686
|
+
"main"
|
|
687
|
+
],
|
|
688
|
+
"files": [
|
|
689
|
+
"319.js"
|
|
690
|
+
],
|
|
691
|
+
"auxiliaryFiles": [],
|
|
692
|
+
"hash": "5636b451deeba091",
|
|
693
|
+
"childrenByOrder": {}
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"rendered": true,
|
|
697
|
+
"initial": false,
|
|
698
|
+
"entry": false,
|
|
699
|
+
"recorded": false,
|
|
700
|
+
"size": 984,
|
|
701
|
+
"sizes": {
|
|
702
|
+
"javascript": 984
|
|
703
|
+
},
|
|
704
|
+
"names": [],
|
|
705
|
+
"idHints": [],
|
|
706
|
+
"runtime": [
|
|
707
|
+
"@openmrs/esm-form-builder-app",
|
|
708
|
+
"main"
|
|
709
|
+
],
|
|
710
|
+
"files": [
|
|
711
|
+
"447.js"
|
|
712
|
+
],
|
|
713
|
+
"auxiliaryFiles": [
|
|
714
|
+
"447.js.map"
|
|
715
|
+
],
|
|
716
|
+
"hash": "40f540e9c6d5d988",
|
|
717
|
+
"childrenByOrder": {}
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"rendered": true,
|
|
721
|
+
"initial": false,
|
|
722
|
+
"entry": false,
|
|
723
|
+
"recorded": false,
|
|
724
|
+
"reason": "split chunk (cache group: defaultVendors)",
|
|
725
|
+
"size": 2552869,
|
|
726
|
+
"sizes": {
|
|
727
|
+
"javascript": 2552869
|
|
728
|
+
},
|
|
729
|
+
"names": [],
|
|
730
|
+
"idHints": [
|
|
731
|
+
"vendors"
|
|
732
|
+
],
|
|
733
|
+
"runtime": [
|
|
734
|
+
"@openmrs/esm-form-builder-app",
|
|
735
|
+
"main"
|
|
736
|
+
],
|
|
737
|
+
"files": [
|
|
738
|
+
"501.js"
|
|
739
|
+
],
|
|
740
|
+
"auxiliaryFiles": [
|
|
741
|
+
"501.js.map"
|
|
742
|
+
],
|
|
743
|
+
"hash": "6fda22fd27ff1fcc",
|
|
744
744
|
"childrenByOrder": {}
|
|
745
745
|
},
|
|
746
746
|
{
|
|
@@ -775,9 +775,9 @@
|
|
|
775
775
|
"initial": false,
|
|
776
776
|
"entry": false,
|
|
777
777
|
"recorded": false,
|
|
778
|
-
"size":
|
|
778
|
+
"size": 9208,
|
|
779
779
|
"sizes": {
|
|
780
|
-
"javascript":
|
|
780
|
+
"javascript": 9208
|
|
781
781
|
},
|
|
782
782
|
"names": [],
|
|
783
783
|
"idHints": [],
|
|
@@ -789,7 +789,7 @@
|
|
|
789
789
|
"574.js"
|
|
790
790
|
],
|
|
791
791
|
"auxiliaryFiles": [],
|
|
792
|
-
"hash": "
|
|
792
|
+
"hash": "f7fb7d49cfc0d124",
|
|
793
793
|
"childrenByOrder": {}
|
|
794
794
|
},
|
|
795
795
|
{
|
|
@@ -818,9 +818,9 @@
|
|
|
818
818
|
"initial": false,
|
|
819
819
|
"entry": false,
|
|
820
820
|
"recorded": false,
|
|
821
|
-
"size":
|
|
821
|
+
"size": 9293,
|
|
822
822
|
"sizes": {
|
|
823
|
-
"javascript":
|
|
823
|
+
"javascript": 9293
|
|
824
824
|
},
|
|
825
825
|
"names": [],
|
|
826
826
|
"idHints": [],
|
|
@@ -832,7 +832,7 @@
|
|
|
832
832
|
"757.js"
|
|
833
833
|
],
|
|
834
834
|
"auxiliaryFiles": [],
|
|
835
|
-
"hash": "
|
|
835
|
+
"hash": "dc0b6206faa09706",
|
|
836
836
|
"childrenByOrder": {}
|
|
837
837
|
},
|
|
838
838
|
{
|
|
@@ -840,9 +840,9 @@
|
|
|
840
840
|
"initial": false,
|
|
841
841
|
"entry": false,
|
|
842
842
|
"recorded": false,
|
|
843
|
-
"size":
|
|
843
|
+
"size": 9293,
|
|
844
844
|
"sizes": {
|
|
845
|
-
"javascript":
|
|
845
|
+
"javascript": 9293
|
|
846
846
|
},
|
|
847
847
|
"names": [],
|
|
848
848
|
"idHints": [],
|
|
@@ -854,7 +854,7 @@
|
|
|
854
854
|
"788.js"
|
|
855
855
|
],
|
|
856
856
|
"auxiliaryFiles": [],
|
|
857
|
-
"hash": "
|
|
857
|
+
"hash": "99d9c4c64629db69",
|
|
858
858
|
"childrenByOrder": {}
|
|
859
859
|
},
|
|
860
860
|
{
|
|
@@ -889,9 +889,9 @@
|
|
|
889
889
|
"initial": false,
|
|
890
890
|
"entry": false,
|
|
891
891
|
"recorded": false,
|
|
892
|
-
"size":
|
|
892
|
+
"size": 9293,
|
|
893
893
|
"sizes": {
|
|
894
|
-
"javascript":
|
|
894
|
+
"javascript": 9293
|
|
895
895
|
},
|
|
896
896
|
"names": [],
|
|
897
897
|
"idHints": [],
|
|
@@ -903,7 +903,7 @@
|
|
|
903
903
|
"807.js"
|
|
904
904
|
],
|
|
905
905
|
"auxiliaryFiles": [],
|
|
906
|
-
"hash": "
|
|
906
|
+
"hash": "72cccdd76e06f658",
|
|
907
907
|
"childrenByOrder": {}
|
|
908
908
|
},
|
|
909
909
|
{
|
|
@@ -911,9 +911,9 @@
|
|
|
911
911
|
"initial": false,
|
|
912
912
|
"entry": false,
|
|
913
913
|
"recorded": false,
|
|
914
|
-
"size":
|
|
914
|
+
"size": 9293,
|
|
915
915
|
"sizes": {
|
|
916
|
-
"javascript":
|
|
916
|
+
"javascript": 9293
|
|
917
917
|
},
|
|
918
918
|
"names": [],
|
|
919
919
|
"idHints": [],
|
|
@@ -925,7 +925,7 @@
|
|
|
925
925
|
"833.js"
|
|
926
926
|
],
|
|
927
927
|
"auxiliaryFiles": [],
|
|
928
|
-
"hash": "
|
|
928
|
+
"hash": "08f084e1a4c42962",
|
|
929
929
|
"childrenByOrder": {}
|
|
930
930
|
},
|
|
931
931
|
{
|
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":"^1.2.0","webservices.rest":"^2.2.0"},"pages":[{"component":"root","route":"form-builder","online":true,"offline":true,"order":1}],"extensions":[{"name":"system-administration-form-builder-card-link","slot":"system-admin-page-card-link-slot","component":"systemAdministrationFormBuilderCardLink","online":true,"offline":true}],"version":"2.1.1-pre.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":"^1.2.0","webservices.rest":"^2.2.0"},"pages":[{"component":"root","route":"form-builder","online":true,"offline":true,"order":1}],"extensions":[{"name":"system-administration-form-builder-card-link","slot":"system-admin-page-card-link-slot","component":"systemAdministrationFormBuilderCardLink","online":true,"offline":true}],"version":"2.1.1-pre.626"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmrs/esm-form-builder-app",
|
|
3
|
-
"version": "2.1.1-pre.
|
|
3
|
+
"version": "2.1.1-pre.626",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "OpenMRS ESM Form Builder App",
|
|
6
6
|
"browser": "dist/openmrs-esm-form-builder-app.js",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"@openmrs/openmrs-form-engine-lib": "next",
|
|
54
54
|
"dotenv": "^16.3.1",
|
|
55
55
|
"file-loader": "^6.2.0",
|
|
56
|
+
"fuzzy": "^0.1.3",
|
|
56
57
|
"lodash-es": "^4.17.21",
|
|
57
58
|
"react-ace": "^10.1.0",
|
|
58
59
|
"sass": "^1.67.0"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { useCallback, useMemo, useState } from 'react';
|
|
2
|
+
import fuzzy from 'fuzzy';
|
|
2
3
|
import type { TFunction } from 'i18next';
|
|
3
4
|
import { useTranslation } from 'react-i18next';
|
|
4
5
|
import {
|
|
@@ -35,10 +36,11 @@ import {
|
|
|
35
36
|
useConfig,
|
|
36
37
|
useLayoutType,
|
|
37
38
|
usePagination,
|
|
39
|
+
useDebounce,
|
|
38
40
|
} from '@openmrs/esm-framework';
|
|
39
41
|
import type { KeyedMutator } from 'swr';
|
|
40
42
|
|
|
41
|
-
import type { Form as
|
|
43
|
+
import type { Form as TypedForm } from '../../types';
|
|
42
44
|
import { deleteForm } from '../../forms.resource';
|
|
43
45
|
import { FormBuilderPagination } from '../pagination';
|
|
44
46
|
import { useClobdata } from '../../hooks/useClobdata';
|
|
@@ -49,19 +51,19 @@ import styles from './dashboard.scss';
|
|
|
49
51
|
|
|
50
52
|
type Mutator = KeyedMutator<{
|
|
51
53
|
data: {
|
|
52
|
-
results: Array<
|
|
54
|
+
results: Array<TypedForm>;
|
|
53
55
|
};
|
|
54
56
|
}>;
|
|
55
57
|
|
|
56
58
|
interface ActionButtonsProps {
|
|
57
|
-
form:
|
|
59
|
+
form: TypedForm;
|
|
58
60
|
mutate: Mutator;
|
|
59
61
|
responsiveSize: string;
|
|
60
62
|
t: TFunction;
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
interface FormsListProps {
|
|
64
|
-
forms: Array<
|
|
66
|
+
forms: Array<TypedForm>;
|
|
65
67
|
isValidating: boolean;
|
|
66
68
|
mutate: Mutator;
|
|
67
69
|
t: TFunction;
|
|
@@ -245,28 +247,41 @@ function ActionButtons({ form, mutate, responsiveSize, t }: ActionButtonsProps)
|
|
|
245
247
|
}
|
|
246
248
|
|
|
247
249
|
function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
|
|
250
|
+
const pageSize = 10;
|
|
248
251
|
const config = useConfig();
|
|
249
252
|
const isTablet = useLayoutType() === 'tablet';
|
|
250
253
|
const responsiveSize = isTablet ? 'lg' : 'sm';
|
|
251
254
|
const [filter, setFilter] = useState('');
|
|
252
|
-
const [
|
|
253
|
-
const
|
|
255
|
+
const [searchTerm, setSearchTerm] = useState('');
|
|
256
|
+
const debouncedSearchTerm = useDebounce(searchTerm);
|
|
254
257
|
|
|
255
|
-
const
|
|
256
|
-
if (!
|
|
257
|
-
|
|
258
|
-
|
|
258
|
+
const filteredForms: Array<TypedForm> = useMemo(() => {
|
|
259
|
+
if (!debouncedSearchTerm) {
|
|
260
|
+
if (filter === 'Retired') {
|
|
261
|
+
return forms.filter((form) => form.retired);
|
|
262
|
+
}
|
|
259
263
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
264
|
+
if (filter === 'Published') {
|
|
265
|
+
return forms.filter((form) => form.published);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
if (filter === 'Unpublished') {
|
|
269
|
+
return forms.filter((form) => !form.published);
|
|
270
|
+
}
|
|
263
271
|
|
|
264
|
-
|
|
265
|
-
return forms.filter((form) => !form.published);
|
|
272
|
+
return forms;
|
|
266
273
|
}
|
|
267
274
|
|
|
268
|
-
return
|
|
269
|
-
|
|
275
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
276
|
+
return debouncedSearchTerm
|
|
277
|
+
? fuzzy
|
|
278
|
+
.filter(debouncedSearchTerm, forms, {
|
|
279
|
+
extract: (form: TypedForm) => `${form.name} ${form.version}`,
|
|
280
|
+
})
|
|
281
|
+
.sort((r1, r2) => r1.score - r2.score)
|
|
282
|
+
.map((result) => result.original as unknown as TypedForm)
|
|
283
|
+
: forms;
|
|
284
|
+
}, [filter, forms, debouncedSearchTerm]);
|
|
270
285
|
|
|
271
286
|
const tableHeaders = [
|
|
272
287
|
{
|
|
@@ -291,17 +306,9 @@ function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
|
|
|
291
306
|
},
|
|
292
307
|
];
|
|
293
308
|
|
|
294
|
-
const
|
|
295
|
-
if (searchString && searchString.trim() !== '') {
|
|
296
|
-
return filteredRows.filter((form) => form.name.toLowerCase().includes(searchString.toLowerCase()));
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
return filteredRows;
|
|
300
|
-
}, [searchString, filteredRows]);
|
|
301
|
-
|
|
302
|
-
const { paginated, goTo, results, currentPage } = usePagination(searchResults, pageSize);
|
|
309
|
+
const { paginated, goTo, results, currentPage } = usePagination(filteredForms, pageSize);
|
|
303
310
|
|
|
304
|
-
const tableRows = results?.map((form:
|
|
311
|
+
const tableRows = results?.map((form: TypedForm) => ({
|
|
305
312
|
...form,
|
|
306
313
|
id: form?.uuid,
|
|
307
314
|
published: <CustomTag condition={form.published} />,
|
|
@@ -309,15 +316,7 @@ function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
|
|
|
309
316
|
actions: <ActionButtons form={form} mutate={mutate} responsiveSize={responsiveSize} t={t} />,
|
|
310
317
|
}));
|
|
311
318
|
|
|
312
|
-
const
|
|
313
|
-
|
|
314
|
-
const handleSearch = useCallback(
|
|
315
|
-
(e: React.ChangeEvent<HTMLInputElement>) => {
|
|
316
|
-
goTo(1);
|
|
317
|
-
setSearchString(e.target.value);
|
|
318
|
-
},
|
|
319
|
-
[goTo, setSearchString],
|
|
320
|
-
);
|
|
319
|
+
const handleFilter = ({ selectedItem }: { selectedItem: string }) => setFilter(selectedItem);
|
|
321
320
|
|
|
322
321
|
return (
|
|
323
322
|
<>
|
|
@@ -338,11 +337,11 @@ function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
|
|
|
338
337
|
id="publishStatusFilter"
|
|
339
338
|
initialSelectedItem={'All'}
|
|
340
339
|
label=""
|
|
341
|
-
titleText={t('
|
|
340
|
+
titleText={t('filterBy', 'Filter by') + ':'}
|
|
342
341
|
size={responsiveSize}
|
|
343
342
|
type="inline"
|
|
344
|
-
items={['All', 'Published', 'Unpublished']}
|
|
345
|
-
onChange={
|
|
343
|
+
items={['All', 'Published', 'Unpublished', 'Retired']}
|
|
344
|
+
onChange={handleFilter}
|
|
346
345
|
/>
|
|
347
346
|
</div>
|
|
348
347
|
<div className={styles.backgroundDataFetchingIndicator}>
|
|
@@ -358,7 +357,7 @@ function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
|
|
|
358
357
|
<TableToolbarContent className={styles.headerContainer}>
|
|
359
358
|
<TableToolbarSearch
|
|
360
359
|
className={styles.searchbox}
|
|
361
|
-
onChange={
|
|
360
|
+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => setSearchTerm(e.target.value)}
|
|
362
361
|
placeholder={t('searchThisList', 'Search this list')}
|
|
363
362
|
/>
|
|
364
363
|
<Button
|
|
@@ -412,7 +411,7 @@ function FormsList({ forms, isValidating, mutate, t }: FormsListProps) {
|
|
|
412
411
|
{paginated && (
|
|
413
412
|
<FormBuilderPagination
|
|
414
413
|
currentItems={results.length}
|
|
415
|
-
totalItems={
|
|
414
|
+
totalItems={filteredForms.length}
|
|
416
415
|
onPageNumberChange={({ page }) => {
|
|
417
416
|
goTo(page);
|
|
418
417
|
}}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
height: layout.$spacing-09;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
:global(.omrs-breakpoint-gt-tablet) {
|
|
32
32
|
.toolbarWrapper {
|
|
33
33
|
height: layout.$spacing-07;
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
:global(.cds--table-toolbar) {
|
|
97
97
|
position: relative;
|
|
98
98
|
height: 2rem;
|
|
99
|
-
min-height: 0rem;
|
|
99
|
+
min-height: 0rem;
|
|
100
100
|
overflow: visible;
|
|
101
101
|
top: 0;
|
|
102
102
|
}
|
|
@@ -104,6 +104,11 @@
|
|
|
104
104
|
&:global(.cds--data-table-container) {
|
|
105
105
|
padding-top: 0rem;
|
|
106
106
|
}
|
|
107
|
+
|
|
108
|
+
// FIXME: This override should be moved to esm-styleguide
|
|
109
|
+
:global(.cds--btn--icon-only) {
|
|
110
|
+
padding-block-start: 0.5rem;
|
|
111
|
+
}
|
|
107
112
|
}
|
|
108
113
|
|
|
109
114
|
.filterContainer {
|
|
@@ -108,7 +108,7 @@ describe('Dashboard', () => {
|
|
|
108
108
|
await waitForLoadingToFinish();
|
|
109
109
|
|
|
110
110
|
const publishStatusFilter = screen.getByRole('combobox', {
|
|
111
|
-
name: /filter by
|
|
111
|
+
name: /filter by/i,
|
|
112
112
|
});
|
|
113
113
|
|
|
114
114
|
await waitFor(() => user.click(publishStatusFilter));
|
|
@@ -142,7 +142,7 @@ describe('Dashboard', () => {
|
|
|
142
142
|
await waitForLoadingToFinish();
|
|
143
143
|
|
|
144
144
|
expect(screen.getByRole('heading', { name: /form builder/i })).toBeInTheDocument();
|
|
145
|
-
expect(screen.getByRole('combobox', { name: /filter by
|
|
145
|
+
expect(screen.getByRole('combobox', { name: /filter by/i })).toBeInTheDocument();
|
|
146
146
|
expect(screen.getByRole('button', { name: /create a new form/i })).toBeInTheDocument();
|
|
147
147
|
expect(screen.getByRole('button', { name: /edit schema/i })).toBeInTheDocument();
|
|
148
148
|
expect(screen.getByRole('button', { name: /download schema/i })).toBeInTheDocument();
|
|
File without changes
|