@luomus/laji-form 15.1.0 → 15.1.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.
- package/CHANGELOG.md +0 -4
- package/dist/laji-form.js +1 -1
- package/dist/styles.css +81 -90
- package/jsonconfig.json +26 -0
- package/migrate.sh +0 -1
- package/package.json +8 -8
- package/test-export/array-spec.js +204 -0
- package/test-export/bird-point-count-spec.d.ts +1 -0
- package/test-export/bird-point-count-spec.js +62 -0
- package/test-export/collection-contest-form-spec.d.ts +1 -0
- package/test-export/collection-contest-form-spec.js +38 -0
- package/test-export/dataset-form-spec.d.ts +1 -0
- package/test-export/dataset-form-spec.js +50 -0
- package/test-export/date-time-widget-spec.d.ts +1 -0
- package/test-export/date-time-widget-spec.js +188 -0
- package/test-export/geocoder-spec.d.ts +1 -0
- package/test-export/geocoder-spec.js +135 -0
- package/test-export/image-array-spec.d.ts +1 -0
- package/test-export/image-array-spec.js +94 -0
- package/test-export/inject-field-spec.d.ts +1 -0
- package/test-export/inject-field-spec.js +148 -0
- package/test-export/internal-uuids-spec.d.ts +1 -0
- package/test-export/internal-uuids-spec.js +157 -0
- package/test-export/invasive-species-eradication-np-spec.d.ts +1 -0
- package/test-export/invasive-species-eradication-np-spec.js +18 -0
- package/test-export/invasive-species-eradication-spec.d.ts +1 -0
- package/test-export/invasive-species-eradication-spec.js +25 -0
- package/test-export/line-transect-spec.d.ts +1 -0
- package/test-export/line-transect-spec.js +121 -0
- package/test-export/mobile-form-spec.d.ts +1 -0
- package/test-export/mobile-form-spec.js +84 -0
- package/test-export/nafi-spec.d.ts +1 -0
- package/test-export/nafi-spec.js +85 -0
- package/test-export/select-widget-spec.d.ts +1 -0
- package/test-export/select-widget-spec.js +68 -0
- package/test-export/single-item-array-field-spec.d.ts +1 -0
- package/test-export/single-item-array-field-spec.js +92 -0
- package/test-export/syke-butterfly-spec.d.ts +1 -0
- package/test-export/syke-butterfly-spec.js +163 -0
- package/test-export/test-utils.d.ts +150 -177
- package/test-export/test-utils.js +218 -214
- package/test-export/transaction-form-spec.d.ts +1 -0
- package/test-export/transaction-form-spec.js +63 -0
- package/test-export/trip-report-autosuggest-spec.d.ts +1 -0
- package/test-export/trip-report-autosuggest-spec.js +272 -0
- package/test-export/trip-report-spec.d.ts +1 -0
- package/test-export/trip-report-spec.js +456 -0
- package/test-export/unit-list-shorthand-array-field-spec.d.ts +1 -0
- package/test-export/unit-list-shorthand-array-field-spec.js +71 -0
- package/test-export/validation-spec.d.ts +1 -0
- package/test-export/validation-spec.js +336 -0
- package/test-export/water-bird-spec.d.ts +1 -0
- package/test-export/water-bird-spec.js +30 -0
- package/test-export/wbc-spec.d.ts +1 -0
- package/test-export/wbc-spec.js +82 -0
- package/tsconfig.test.json +1 -1
- package/xsel -b +9 -0
- package/cypress/fixtures/example.json +0 -5
- package/cypress/screenshots/nafi.cy.ts/NAFI (MHL.6) -- selecting species name with keyboard navigation -- and closes suggestion list (failed).png +0 -0
- package/cypress/screenshots/nafi.cy.ts/NAFI (MHL.6) -- selecting species name with keyboard navigation -- and is marked as suggested (failed).png +0 -0
- package/lib/ApiClient.d.ts +0 -46
- package/lib/ApiClient.js +0 -93
- package/lib/Context.d.ts +0 -8
- package/lib/Context.js +0 -18
- package/lib/ReactContext.d.ts +0 -7
- package/lib/ReactContext.js +0 -5
- package/lib/components/BaseComponent.d.ts +0 -9
- package/lib/components/BaseComponent.js +0 -29
- package/lib/components/LajiForm.d.ts +0 -221
- package/lib/components/LajiForm.js +0 -615
- package/lib/components/VirtualSchemaField.d.ts +0 -42
- package/lib/components/VirtualSchemaField.js +0 -74
- package/lib/components/components.d.ts +0 -119
- package/lib/components/components.js +0 -606
- package/lib/components/fields/AnnotationField.d.ts +0 -34
- package/lib/components/fields/AnnotationField.js +0 -242
- package/lib/components/fields/AnyToBooleanField.d.ts +0 -18
- package/lib/components/fields/AnyToBooleanField.js +0 -20
- package/lib/components/fields/ArrayBulkField.d.ts +0 -23
- package/lib/components/fields/ArrayBulkField.js +0 -82
- package/lib/components/fields/ArrayCombinerField.d.ts +0 -36
- package/lib/components/fields/ArrayCombinerField.js +0 -138
- package/lib/components/fields/ArrayField.d.ts +0 -39
- package/lib/components/fields/ArrayField.js +0 -148
- package/lib/components/fields/AudioArrayField.d.ts +0 -22
- package/lib/components/fields/AudioArrayField.js +0 -100
- package/lib/components/fields/AutoArrayField.d.ts +0 -24
- package/lib/components/fields/AutoArrayField.js +0 -56
- package/lib/components/fields/AutosuggestField.d.ts +0 -69
- package/lib/components/fields/AutosuggestField.js +0 -299
- package/lib/components/fields/CombinedValueDisplayField.d.ts +0 -41
- package/lib/components/fields/CombinedValueDisplayField.js +0 -100
- package/lib/components/fields/ConditionalOnChangeField.d.ts +0 -42
- package/lib/components/fields/ConditionalOnChangeField.js +0 -107
- package/lib/components/fields/ConditionalUiSchemaField.d.ts +0 -123
- package/lib/components/fields/ConditionalUiSchemaField.js +0 -143
- package/lib/components/fields/ContextInjectionField.d.ts +0 -24
- package/lib/components/fields/ContextInjectionField.js +0 -68
- package/lib/components/fields/DataLeakerField.d.ts +0 -40
- package/lib/components/fields/DataLeakerField.js +0 -68
- package/lib/components/fields/DefaultValueArrayField.d.ts +0 -34
- package/lib/components/fields/DefaultValueArrayField.js +0 -59
- package/lib/components/fields/DependentBooleanField.d.ts +0 -38
- package/lib/components/fields/DependentBooleanField.js +0 -87
- package/lib/components/fields/DependentDisableField.d.ts +0 -35
- package/lib/components/fields/DependentDisableField.js +0 -71
- package/lib/components/fields/EnumRangeArrayField.d.ts +0 -27
- package/lib/components/fields/EnumRangeArrayField.js +0 -115
- package/lib/components/fields/ExtraLabelRowField.d.ts +0 -38
- package/lib/components/fields/ExtraLabelRowField.js +0 -100
- package/lib/components/fields/FakePropertyField.d.ts +0 -18
- package/lib/components/fields/FakePropertyField.js +0 -48
- package/lib/components/fields/FilterArrayField.d.ts +0 -73
- package/lib/components/fields/FilterArrayField.js +0 -121
- package/lib/components/fields/FlatField.d.ts +0 -29
- package/lib/components/fields/FlatField.js +0 -171
- package/lib/components/fields/GeocoderField.d.ts +0 -47
- package/lib/components/fields/GeocoderField.js +0 -372
- package/lib/components/fields/GridLayoutField.d.ts +0 -18
- package/lib/components/fields/GridLayoutField.js +0 -32
- package/lib/components/fields/HiddenField.d.ts +0 -10
- package/lib/components/fields/HiddenField.js +0 -11
- package/lib/components/fields/ImageArrayField.d.ts +0 -172
- package/lib/components/fields/ImageArrayField.js +0 -697
- package/lib/components/fields/ImageDisplayField.d.ts +0 -18
- package/lib/components/fields/ImageDisplayField.js +0 -44
- package/lib/components/fields/InitiallyHiddenField.d.ts +0 -21
- package/lib/components/fields/InitiallyHiddenField.js +0 -58
- package/lib/components/fields/InjectDefaultValueField.d.ts +0 -37
- package/lib/components/fields/InjectDefaultValueField.js +0 -68
- package/lib/components/fields/InjectField.d.ts +0 -46
- package/lib/components/fields/InjectField.js +0 -88
- package/lib/components/fields/InputWithDefaultValueButtonField.d.ts +0 -25
- package/lib/components/fields/InputWithDefaultValueButtonField.js +0 -61
- package/lib/components/fields/LocalityField.d.ts +0 -22
- package/lib/components/fields/LocalityField.js +0 -94
- package/lib/components/fields/LocationChooserField.d.ts +0 -27
- package/lib/components/fields/LocationChooserField.js +0 -440
- package/lib/components/fields/MapArrayField.d.ts +0 -78
- package/lib/components/fields/MapArrayField.js +0 -1783
- package/lib/components/fields/MapField.d.ts +0 -48
- package/lib/components/fields/MapField.js +0 -434
- package/lib/components/fields/MultiAnyToBooleanField.d.ts +0 -25
- package/lib/components/fields/MultiAnyToBooleanField.js +0 -100
- package/lib/components/fields/MultiArrayField.d.ts +0 -53
- package/lib/components/fields/MultiArrayField.js +0 -224
- package/lib/components/fields/MultiLanguageField.d.ts +0 -13
- package/lib/components/fields/MultiLanguageField.js +0 -52
- package/lib/components/fields/MultiTagArrayField.d.ts +0 -36
- package/lib/components/fields/MultiTagArrayField.js +0 -142
- package/lib/components/fields/NamedPlaceChooserField.d.ts +0 -29
- package/lib/components/fields/NamedPlaceChooserField.js +0 -380
- package/lib/components/fields/NamedPlaceSaverField.d.ts +0 -29
- package/lib/components/fields/NamedPlaceSaverField.js +0 -237
- package/lib/components/fields/NestField.d.ts +0 -148
- package/lib/components/fields/NestField.js +0 -289
- package/lib/components/fields/ObjectField.d.ts +0 -2
- package/lib/components/fields/ObjectField.js +0 -119
- package/lib/components/fields/PdfArrayField.d.ts +0 -21
- package/lib/components/fields/PdfArrayField.js +0 -40
- package/lib/components/fields/PrefillingArrayField.d.ts +0 -22
- package/lib/components/fields/PrefillingArrayField.js +0 -65
- package/lib/components/fields/SchemaField.d.ts +0 -7
- package/lib/components/fields/SchemaField.js +0 -109
- package/lib/components/fields/ScopeField.d.ts +0 -85
- package/lib/components/fields/ScopeField.js +0 -521
- package/lib/components/fields/SectionArrayField.d.ts +0 -38
- package/lib/components/fields/SectionArrayField.js +0 -618
- package/lib/components/fields/SelectTreeField.d.ts +0 -39
- package/lib/components/fields/SelectTreeField.js +0 -143
- package/lib/components/fields/SingleActiveArrayField.d.ts +0 -49
- package/lib/components/fields/SingleActiveArrayField.js +0 -974
- package/lib/components/fields/SingleItemArrayField.d.ts +0 -15
- package/lib/components/fields/SingleItemArrayField.js +0 -60
- package/lib/components/fields/SortArrayField.d.ts +0 -73
- package/lib/components/fields/SortArrayField.js +0 -351
- package/lib/components/fields/SplitField.d.ts +0 -28
- package/lib/components/fields/SplitField.js +0 -65
- package/lib/components/fields/StringToArrayField.d.ts +0 -24
- package/lib/components/fields/StringToArrayField.js +0 -48
- package/lib/components/fields/SumField.d.ts +0 -35
- package/lib/components/fields/SumField.js +0 -83
- package/lib/components/fields/TableField.d.ts +0 -18
- package/lib/components/fields/TableField.js +0 -136
- package/lib/components/fields/TagArrayField.d.ts +0 -38
- package/lib/components/fields/TagArrayField.js +0 -128
- package/lib/components/fields/ToggleAdditionalArrayFieldsField.d.ts +0 -26
- package/lib/components/fields/ToggleAdditionalArrayFieldsField.js +0 -81
- package/lib/components/fields/UiFieldApplierField.d.ts +0 -30
- package/lib/components/fields/UiFieldApplierField.js +0 -106
- package/lib/components/fields/UiFieldMapperArrayField.d.ts +0 -42
- package/lib/components/fields/UiFieldMapperArrayField.js +0 -121
- package/lib/components/fields/UnitCountShorthandField.d.ts +0 -22
- package/lib/components/fields/UnitCountShorthandField.js +0 -149
- package/lib/components/fields/UnitListShorthandArrayField.d.ts +0 -26
- package/lib/components/fields/UnitListShorthandArrayField.js +0 -108
- package/lib/components/fields/UnitShorthandField.d.ts +0 -32
- package/lib/components/fields/UnitShorthandField.js +0 -220
- package/lib/components/templates/ArrayFieldTemplate.d.ts +0 -85
- package/lib/components/templates/ArrayFieldTemplate.js +0 -417
- package/lib/components/templates/BaseInputTemplate.d.ts +0 -11
- package/lib/components/templates/BaseInputTemplate.js +0 -80
- package/lib/components/templates/DescriptionField.d.ts +0 -1
- package/lib/components/templates/DescriptionField.js +0 -37
- package/lib/components/templates/ErrorListTemplate.d.ts +0 -9
- package/lib/components/templates/ErrorListTemplate.js +0 -95
- package/lib/components/templates/FieldTemplate.d.ts +0 -6
- package/lib/components/templates/FieldTemplate.js +0 -112
- package/lib/components/templates/ObjectFieldTemplate.d.ts +0 -7
- package/lib/components/templates/ObjectFieldTemplate.js +0 -66
- package/lib/components/templates/TitleField.d.ts +0 -9
- package/lib/components/templates/TitleField.js +0 -51
- package/lib/components/widgets/AnyToBooleanWidget.d.ts +0 -20
- package/lib/components/widgets/AnyToBooleanWidget.js +0 -49
- package/lib/components/widgets/AutosuggestWidget.d.ts +0 -66
- package/lib/components/widgets/AutosuggestWidget.js +0 -1127
- package/lib/components/widgets/CheckboxWidget.d.ts +0 -37
- package/lib/components/widgets/CheckboxWidget.js +0 -139
- package/lib/components/widgets/DateTimeWidget.d.ts +0 -62
- package/lib/components/widgets/DateTimeWidget.js +0 -251
- package/lib/components/widgets/DateWidget.d.ts +0 -23
- package/lib/components/widgets/DateWidget.js +0 -41
- package/lib/components/widgets/HiddenWidget.d.ts +0 -15
- package/lib/components/widgets/HiddenWidget.js +0 -19
- package/lib/components/widgets/ImageSelectWidget.d.ts +0 -14
- package/lib/components/widgets/ImageSelectWidget.js +0 -57
- package/lib/components/widgets/InformalTaxonGroupChooserWidget.d.ts +0 -43
- package/lib/components/widgets/InformalTaxonGroupChooserWidget.js +0 -237
- package/lib/components/widgets/InputGroupWidget.d.ts +0 -21
- package/lib/components/widgets/InputGroupWidget.js +0 -36
- package/lib/components/widgets/InputWithDefaultValueButtonWidget.d.ts +0 -21
- package/lib/components/widgets/InputWithDefaultValueButtonWidget.js +0 -47
- package/lib/components/widgets/NumberWidget.d.ts +0 -13
- package/lib/components/widgets/NumberWidget.js +0 -21
- package/lib/components/widgets/PlainTextWidget.d.ts +0 -12
- package/lib/components/widgets/PlainTextWidget.js +0 -24
- package/lib/components/widgets/SelectWidget.d.ts +0 -52
- package/lib/components/widgets/SelectWidget.js +0 -158
- package/lib/components/widgets/SeparatedDateTimeWidget.d.ts +0 -19
- package/lib/components/widgets/SeparatedDateTimeWidget.js +0 -59
- package/lib/components/widgets/TaxonImageWidget.d.ts +0 -13
- package/lib/components/widgets/TaxonImageWidget.js +0 -30
- package/lib/components/widgets/TextSelectWidget.d.ts +0 -25
- package/lib/components/widgets/TextSelectWidget.js +0 -94
- package/lib/components/widgets/TextareaWidget.d.ts +0 -32
- package/lib/components/widgets/TextareaWidget.js +0 -87
- package/lib/components/widgets/TimeWidget.d.ts +0 -11
- package/lib/components/widgets/TimeWidget.js +0 -19
- package/lib/components/widgets/URLWidget.d.ts +0 -14
- package/lib/components/widgets/URLWidget.js +0 -12
- package/lib/components/widgets/UpperCaseWidget.d.ts +0 -13
- package/lib/components/widgets/UpperCaseWidget.js +0 -21
- package/lib/index.d.ts +0 -20
- package/lib/index.js +0 -50
- package/lib/services/blocker-service.d.ts +0 -11
- package/lib/services/blocker-service.js +0 -55
- package/lib/services/custom-event-service.d.ts +0 -17
- package/lib/services/custom-event-service.js +0 -35
- package/lib/services/dom-id-service.d.ts +0 -8
- package/lib/services/dom-id-service.js +0 -30
- package/lib/services/focus-service.d.ts +0 -13
- package/lib/services/focus-service.js +0 -60
- package/lib/services/id-service.d.ts +0 -22
- package/lib/services/id-service.js +0 -130
- package/lib/services/key-handler-service.d.ts +0 -56
- package/lib/services/key-handler-service.js +0 -184
- package/lib/services/root-instance-service.d.ts +0 -25
- package/lib/services/root-instance-service.js +0 -49
- package/lib/services/settings-service.d.ts +0 -34
- package/lib/services/settings-service.js +0 -154
- package/lib/services/singleton-map-service.d.ts +0 -23
- package/lib/services/singleton-map-service.js +0 -44
- package/lib/services/submit-hook-service.d.ts +0 -24
- package/lib/services/submit-hook-service.js +0 -73
- package/lib/styles.js +0 -4
- package/lib/themes/bs3.d.ts +0 -3
- package/lib/themes/bs3.js +0 -133
- package/lib/themes/bs5.d.ts +0 -3
- package/lib/themes/bs5.js +0 -111
- package/lib/themes/glyphicon-fa-mapping.d.ts +0 -3
- package/lib/themes/glyphicon-fa-mapping.js +0 -271
- package/lib/themes/stub.d.ts +0 -3
- package/lib/themes/stub.js +0 -82
- package/lib/themes/theme.d.ts +0 -233
- package/lib/themes/theme.js +0 -2
- package/lib/translations.json +0 -847
- package/lib/utils.d.ts +0 -171
- package/lib/utils.js +0 -1191
- package/lib/validation.d.ts +0 -7
- package/lib/validation.js +0 -141
- package/llol +0 -10
- package/llol.pdf +0 -10
- package/playwright-report/index.html +0 -62
- package/q +0 -196
- package/rename.sh +0 -24
- package/trip-report.spec.ts +0 -594
- /package/{lib/styles.d.ts → test-export/array-spec.d.ts} +0 -0
package/dist/styles.css
CHANGED
|
@@ -750,8 +750,10 @@ Version: 0.0.6
|
|
|
750
750
|
height: 40%;
|
|
751
751
|
position: absolute;
|
|
752
752
|
right: 21px;
|
|
753
|
-
transform-origin: 50% 50%;
|
|
754
|
-
|
|
753
|
+
-ms-transform-origin: 50% 50%;
|
|
754
|
+
transform-origin: 50% 50%;
|
|
755
|
+
-ms-transform: skew(150deg) rotate(-40deg);
|
|
756
|
+
transform: skew(150deg) rotate(-40deg);
|
|
755
757
|
width: 60%;
|
|
756
758
|
z-index: -1; }
|
|
757
759
|
|
|
@@ -773,80 +775,80 @@ Version: 0.0.6
|
|
|
773
775
|
.vector-marker .icon-white {
|
|
774
776
|
color: #fff; }
|
|
775
777
|
|
|
776
|
-
.marker-cluster-small {
|
|
777
|
-
background-color: rgba(181, 226, 140, 0.6);
|
|
778
|
-
}
|
|
779
|
-
.marker-cluster-small div {
|
|
780
|
-
background-color: rgba(110, 204, 57, 0.6);
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
.marker-cluster-medium {
|
|
784
|
-
background-color: rgba(241, 211, 87, 0.6);
|
|
785
|
-
}
|
|
786
|
-
.marker-cluster-medium div {
|
|
787
|
-
background-color: rgba(240, 194, 12, 0.6);
|
|
788
|
-
}
|
|
789
|
-
|
|
790
|
-
.marker-cluster-large {
|
|
791
|
-
background-color: rgba(253, 156, 115, 0.6);
|
|
792
|
-
}
|
|
793
|
-
.marker-cluster-large div {
|
|
794
|
-
background-color: rgba(241, 128, 23, 0.6);
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
/* IE 6-8 fallback colors */
|
|
798
|
-
.leaflet-oldie .marker-cluster-small {
|
|
799
|
-
background-color: rgb(181, 226, 140);
|
|
800
|
-
}
|
|
801
|
-
.leaflet-oldie .marker-cluster-small div {
|
|
802
|
-
background-color: rgb(110, 204, 57);
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
.leaflet-oldie .marker-cluster-medium {
|
|
806
|
-
background-color: rgb(241, 211, 87);
|
|
807
|
-
}
|
|
808
|
-
.leaflet-oldie .marker-cluster-medium div {
|
|
809
|
-
background-color: rgb(240, 194, 12);
|
|
810
|
-
}
|
|
811
|
-
|
|
812
|
-
.leaflet-oldie .marker-cluster-large {
|
|
813
|
-
background-color: rgb(253, 156, 115);
|
|
814
|
-
}
|
|
815
|
-
.leaflet-oldie .marker-cluster-large div {
|
|
816
|
-
background-color: rgb(241, 128, 23);
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
.marker-cluster {
|
|
820
|
-
background-clip: padding-box;
|
|
821
|
-
border-radius: 20px;
|
|
822
|
-
}
|
|
823
|
-
.marker-cluster div {
|
|
824
|
-
width: 30px;
|
|
825
|
-
height: 30px;
|
|
826
|
-
margin-left: 5px;
|
|
827
|
-
margin-top: 5px;
|
|
828
|
-
|
|
829
|
-
text-align: center;
|
|
830
|
-
border-radius: 15px;
|
|
831
|
-
font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
|
|
832
|
-
}
|
|
833
|
-
.marker-cluster span {
|
|
834
|
-
line-height: 30px;
|
|
778
|
+
.marker-cluster-small {
|
|
779
|
+
background-color: rgba(181, 226, 140, 0.6);
|
|
780
|
+
}
|
|
781
|
+
.marker-cluster-small div {
|
|
782
|
+
background-color: rgba(110, 204, 57, 0.6);
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
.marker-cluster-medium {
|
|
786
|
+
background-color: rgba(241, 211, 87, 0.6);
|
|
787
|
+
}
|
|
788
|
+
.marker-cluster-medium div {
|
|
789
|
+
background-color: rgba(240, 194, 12, 0.6);
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
.marker-cluster-large {
|
|
793
|
+
background-color: rgba(253, 156, 115, 0.6);
|
|
794
|
+
}
|
|
795
|
+
.marker-cluster-large div {
|
|
796
|
+
background-color: rgba(241, 128, 23, 0.6);
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
/* IE 6-8 fallback colors */
|
|
800
|
+
.leaflet-oldie .marker-cluster-small {
|
|
801
|
+
background-color: rgb(181, 226, 140);
|
|
802
|
+
}
|
|
803
|
+
.leaflet-oldie .marker-cluster-small div {
|
|
804
|
+
background-color: rgb(110, 204, 57);
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
.leaflet-oldie .marker-cluster-medium {
|
|
808
|
+
background-color: rgb(241, 211, 87);
|
|
809
|
+
}
|
|
810
|
+
.leaflet-oldie .marker-cluster-medium div {
|
|
811
|
+
background-color: rgb(240, 194, 12);
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
.leaflet-oldie .marker-cluster-large {
|
|
815
|
+
background-color: rgb(253, 156, 115);
|
|
816
|
+
}
|
|
817
|
+
.leaflet-oldie .marker-cluster-large div {
|
|
818
|
+
background-color: rgb(241, 128, 23);
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
.marker-cluster {
|
|
822
|
+
background-clip: padding-box;
|
|
823
|
+
border-radius: 20px;
|
|
824
|
+
}
|
|
825
|
+
.marker-cluster div {
|
|
826
|
+
width: 30px;
|
|
827
|
+
height: 30px;
|
|
828
|
+
margin-left: 5px;
|
|
829
|
+
margin-top: 5px;
|
|
830
|
+
|
|
831
|
+
text-align: center;
|
|
832
|
+
border-radius: 15px;
|
|
833
|
+
font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
|
|
834
|
+
}
|
|
835
|
+
.marker-cluster span {
|
|
836
|
+
line-height: 30px;
|
|
835
837
|
}
|
|
836
|
-
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
|
|
837
|
-
-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
838
|
-
-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
839
|
-
-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
840
|
-
transition: transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
.leaflet-cluster-spider-leg {
|
|
844
|
-
/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
|
|
845
|
-
-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
|
|
846
|
-
-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
|
|
847
|
-
-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
|
|
848
|
-
transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
|
|
849
|
-
}
|
|
838
|
+
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
|
|
839
|
+
-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
840
|
+
-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
841
|
+
-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
842
|
+
transition: transform 0.3s ease-out, opacity 0.3s ease-in;
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
.leaflet-cluster-spider-leg {
|
|
846
|
+
/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
|
|
847
|
+
-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
|
|
848
|
+
-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
|
|
849
|
+
-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
|
|
850
|
+
transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
|
|
851
|
+
}
|
|
850
852
|
|
|
851
853
|
/* global styling */
|
|
852
854
|
.leaflet-control-geosearch *,
|
|
@@ -1900,8 +1902,6 @@ li.laji-map-layer-control-layer-item.active span {
|
|
|
1900
1902
|
z-index: -1;
|
|
1901
1903
|
}
|
|
1902
1904
|
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
1905
|
.leaflet-measure-path-measurement {
|
|
1906
1906
|
position: absolute;
|
|
1907
1907
|
font-size: 10px;
|
|
@@ -2213,18 +2213,10 @@ min-height: 20px;
|
|
|
2213
2213
|
|
|
2214
2214
|
.laji-form .laji-form-help-glyph {
|
|
2215
2215
|
margin-left: 5px;
|
|
2216
|
-
border-radius:
|
|
2216
|
+
border-radius: 9px;
|
|
2217
|
+
color: white;
|
|
2218
|
+
padding: 0px 6px;
|
|
2217
2219
|
font-size: 13px;
|
|
2218
|
-
background: white;
|
|
2219
|
-
outline: 1px solid #b6b6b6;
|
|
2220
|
-
width: 18px;
|
|
2221
|
-
height: 18px;
|
|
2222
|
-
font-weight: bold;
|
|
2223
|
-
display: inline-block;
|
|
2224
|
-
text-align: center;
|
|
2225
|
-
}
|
|
2226
|
-
.laji-form .laji-form-help-glyph:before {
|
|
2227
|
-
content: "?";
|
|
2228
2220
|
}
|
|
2229
2221
|
|
|
2230
2222
|
.laji-form .laji-form-map-container {
|
|
@@ -2559,8 +2551,7 @@ min-height: 20px;
|
|
|
2559
2551
|
.laji-form .col-lg-1, .laji-form .col-lg-10, .laji-form .col-lg-11, .laji-form .col-lg-12, .laji-form .col-lg-2, .laji-form .col-lg-3, .laji-form .col-lg-4, .laji-form .col-lg-5, .laji-form .col-lg-6, .laji-form .col-lg-7, .laji-form .col-lg-8, .laji-form .col-lg-9,
|
|
2560
2552
|
.laji-form .col-md-1, .laji-form .col-md-10, .laji-form .col-md-11, .laji-form .col-md-12, .laji-form .col-md-2, .laji-form .col-md-3, .laji-form .col-md-4, .laji-form .col-md-5, .laji-form .col-md-6, .laji-form .col-md-7, .laji-form .col-md-8, .laji-form .col-md-9,
|
|
2561
2553
|
.laji-form .col-sm-1, .laji-form .col-sm-10, .laji-form .col-sm-11, .laji-form .col-sm-12, .laji-form .col-sm-2, .laji-form .col-sm-3, .laji-form .col-sm-4, .laji-form .col-sm-5, .laji-form .col-sm-6, .laji-form .col-sm-7, .laji-form .col-sm-8, .laji-form .col-sm-9,
|
|
2562
|
-
.laji-form .col-xs-1, .laji-form .col-xs-10, .laji-form .col-xs-11, .laji-form .col-xs-12, .laji-form .col-xs-2, .laji-form .col-xs-3, .laji-form .col-xs-4, .laji-form .col-xs-5, .laji-form .col-xs-6, .laji-form .col-xs-7, .laji-form .col-xs-8, .laji-form .col-xs-9
|
|
2563
|
-
.laji-form .col-1, .laji-form .col-10, .laji-form .col-11, .laji-form .col-12, .laji-form .col-2, .laji-form .col-3, .laji-form .col-4, .laji-form .col-5, .laji-form .col-6, .laji-form .col-7, .laji-form .col-8, .laji-form .col-9 {
|
|
2554
|
+
.laji-form .col-xs-1, .laji-form .col-xs-10, .laji-form .col-xs-11, .laji-form .col-xs-12, .laji-form .col-xs-2, .laji-form .col-xs-3, .laji-form .col-xs-4, .laji-form .col-xs-5, .laji-form .col-xs-6, .laji-form .col-xs-7, .laji-form .col-xs-8, .laji-form .col-xs-9 {
|
|
2564
2555
|
padding-right:3px;
|
|
2565
2556
|
padding-left:3px;
|
|
2566
2557
|
}
|
package/jsonconfig.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"outDir": "./build",
|
|
4
|
+
"module": "es6",
|
|
5
|
+
"target": "es6",
|
|
6
|
+
"lib": [
|
|
7
|
+
"dom",
|
|
8
|
+
"es7",
|
|
9
|
+
"es2016.array.include"
|
|
10
|
+
],
|
|
11
|
+
"allowJs": true,
|
|
12
|
+
"jsx": "react",
|
|
13
|
+
"moduleResolution": "node",
|
|
14
|
+
"noImplicitReturns": true,
|
|
15
|
+
"noImplicitThis": false,
|
|
16
|
+
"noImplicitAny": true,
|
|
17
|
+
"strictNullChecks": true,
|
|
18
|
+
"allowSyntheticDefaultImports": true,
|
|
19
|
+
"esModuleInterop": true,
|
|
20
|
+
"experimentalDecorators": true,
|
|
21
|
+
"resolveJsonModule": true
|
|
22
|
+
},
|
|
23
|
+
"include": [
|
|
24
|
+
"./src/**/*"
|
|
25
|
+
]
|
|
26
|
+
}
|
package/migrate.sh
CHANGED
|
@@ -30,4 +30,3 @@ sed -i"" -E 's/protractor.Key.DOWN/"ArrowDown"/g' $files
|
|
|
30
30
|
#laji form specific
|
|
31
31
|
sed -i"" -E 's/beforeAll\(async \(\)/beforeAll\(async \({browser}\)/' $files
|
|
32
32
|
sed -i"" -E 's/createForm\(/createForm\(await browser.newPage(), /' $files
|
|
33
|
-
sed -i"" -E 's/updateValue/form.updateValue/' $files
|
package/package.json
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luomus/laji-form",
|
|
3
|
-
"version": "15.1.
|
|
3
|
+
"version": "15.1.1",
|
|
4
4
|
"description": "React module capable of building dynamic forms from Laji form json schemas",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"prepare": "self-import",
|
|
9
8
|
"start": "npx webpack serve",
|
|
10
9
|
"staging": "webpack-dev-server --content-base playground playground/app.js --host 0.0.0.0 --port 4010",
|
|
11
10
|
"build:lib": "rimraf lib && NODE_ENV=production tsc -p tsconfig.lib.json",
|
|
12
11
|
"build:dist": "rimraf dist && NODE_ENV=production webpack --config webpack.config.dist.js && rimraf dist/styles.js",
|
|
13
|
-
"build:tests": "rimraf test-export & NODE_ENV=production tsc -p tsconfig.test.json",
|
|
12
|
+
"build:tests": "rimraf test-export &c NODE_ENV=production tsc -p tsconfig.test.json",
|
|
14
13
|
"build": "npm run build:lib && npm run build:dist && npm run build:tests",
|
|
15
|
-
"preversion": "npm run lint && npm
|
|
14
|
+
"preversion": "npm run lint && npm test",
|
|
16
15
|
"version": "bin/update-changelog.sh",
|
|
17
|
-
"postversion": "npm run build &&
|
|
16
|
+
"postversion": "npm run build && git push & git push --tags && npm publish",
|
|
18
17
|
"lint": "eslint -c .eslintrc.prod.json src playground",
|
|
19
|
-
"test": "playwright test"
|
|
18
|
+
"test": "npx playwright test --project chromium"
|
|
20
19
|
},
|
|
21
20
|
"keywords": [
|
|
22
21
|
"react-jsonschema-form",
|
|
@@ -27,7 +26,7 @@
|
|
|
27
26
|
"repository": "https://github.com/luomus/laji-form.git",
|
|
28
27
|
"license": "MIT",
|
|
29
28
|
"dependencies": {
|
|
30
|
-
"@luomus/laji-map": "^4.0.
|
|
29
|
+
"@luomus/laji-map": "^4.0.3",
|
|
31
30
|
"@luomus/laji-validate": "0.0.120",
|
|
32
31
|
"@rjsf/core": "~5.1.0",
|
|
33
32
|
"@rjsf/utils": "~5.1.0",
|
|
@@ -56,19 +55,20 @@
|
|
|
56
55
|
},
|
|
57
56
|
"devDependencies": {
|
|
58
57
|
"@playwright/test": "^1.40.1",
|
|
58
|
+
"@types/jasmine": "^3.7.7",
|
|
59
59
|
"@types/node": "^20.10.1",
|
|
60
60
|
"@typescript-eslint/eslint-plugin": "^4.28.1",
|
|
61
61
|
"@typescript-eslint/parser": "^4.28.1",
|
|
62
62
|
"copy-webpack-plugin": "^9.0.1",
|
|
63
63
|
"css-loader": "^5.2.6",
|
|
64
64
|
"eslint": "^7.30.0",
|
|
65
|
+
"eslint-plugin-jasmine": "^4.1.2",
|
|
65
66
|
"eslint-plugin-react": "^7.24.0",
|
|
66
67
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
67
68
|
"mini-css-extract-plugin": "^2.1.0",
|
|
68
69
|
"notus": "^0.3.2",
|
|
69
70
|
"querystring": "^0.2.1",
|
|
70
71
|
"rimraf": "^2.5.4",
|
|
71
|
-
"self-import": "^1.0.1",
|
|
72
72
|
"style-loader": "^3.0.0",
|
|
73
73
|
"ts-loader": "^9.2.3",
|
|
74
74
|
"typescript": "^4.3.5",
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const test_utils_1 = require("./test-utils");
|
|
13
|
+
const protractor_1 = require("protractor");
|
|
14
|
+
describe("Array", () => {
|
|
15
|
+
let form;
|
|
16
|
+
describe("copy button", () => {
|
|
17
|
+
const uiSchemaForCopy = (type, filter) => ({
|
|
18
|
+
"ui:options": {
|
|
19
|
+
"buttons": [{
|
|
20
|
+
fn: "copy", type, filter
|
|
21
|
+
}]
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
form = yield test_utils_1.createForm();
|
|
26
|
+
}));
|
|
27
|
+
describe("nested object", () => {
|
|
28
|
+
const schema = {
|
|
29
|
+
type: "array",
|
|
30
|
+
items: {
|
|
31
|
+
type: "object",
|
|
32
|
+
properties: {
|
|
33
|
+
a: { type: "string" },
|
|
34
|
+
b: { type: "string" },
|
|
35
|
+
1: {
|
|
36
|
+
type: "object",
|
|
37
|
+
properties: {
|
|
38
|
+
a: { type: "string" },
|
|
39
|
+
b: { type: "string" },
|
|
40
|
+
2: {
|
|
41
|
+
type: "object",
|
|
42
|
+
properties: {
|
|
43
|
+
a: { type: "string" },
|
|
44
|
+
b: { type: "string" },
|
|
45
|
+
default: { type: "string", default: "default" },
|
|
46
|
+
3: {
|
|
47
|
+
type: "object",
|
|
48
|
+
properties: {
|
|
49
|
+
a: { type: "string" },
|
|
50
|
+
b: { type: "string" },
|
|
51
|
+
default: { type: "string", default: "default" },
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const allButDefaultFilled = [{
|
|
62
|
+
a: "foo",
|
|
63
|
+
b: "foo",
|
|
64
|
+
1: {
|
|
65
|
+
a: "foo",
|
|
66
|
+
b: "foo",
|
|
67
|
+
2: {
|
|
68
|
+
a: "foo",
|
|
69
|
+
b: "foo",
|
|
70
|
+
3: {
|
|
71
|
+
a: "foo",
|
|
72
|
+
b: "foo",
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}];
|
|
77
|
+
it("works with whitelist", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
+
yield form.setState({ schema, formData: allButDefaultFilled, uiSchema: uiSchemaForCopy("whitelist", ["a", "/1/a", "/1/2/a"]) });
|
|
79
|
+
yield form.$locateButton("", "copy").click();
|
|
80
|
+
expect((yield form.getChangedData())[1]).toEqual({
|
|
81
|
+
a: "foo",
|
|
82
|
+
1: {
|
|
83
|
+
a: "foo",
|
|
84
|
+
2: {
|
|
85
|
+
a: "foo",
|
|
86
|
+
default: "default",
|
|
87
|
+
3: {
|
|
88
|
+
default: "default"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}));
|
|
94
|
+
it("works with blacklist", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
+
yield form.setState({ schema, formData: allButDefaultFilled, uiSchema: uiSchemaForCopy("blacklist", ["a", "/1/a", "/1/2/a"]) });
|
|
96
|
+
yield form.$locateButton("", "copy").click();
|
|
97
|
+
expect((yield form.getChangedData())[1]).toEqual({
|
|
98
|
+
a: null,
|
|
99
|
+
b: "foo",
|
|
100
|
+
1: {
|
|
101
|
+
a: null,
|
|
102
|
+
b: "foo",
|
|
103
|
+
2: {
|
|
104
|
+
a: null,
|
|
105
|
+
b: "foo",
|
|
106
|
+
default: "default",
|
|
107
|
+
3: {
|
|
108
|
+
a: "foo",
|
|
109
|
+
b: "foo",
|
|
110
|
+
default: "default"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}));
|
|
116
|
+
});
|
|
117
|
+
describe("copying form nonexisting array item", () => {
|
|
118
|
+
const schema = {
|
|
119
|
+
type: "array",
|
|
120
|
+
items: {
|
|
121
|
+
type: "object",
|
|
122
|
+
properties: {
|
|
123
|
+
arr: {
|
|
124
|
+
type: "array",
|
|
125
|
+
items: {
|
|
126
|
+
type: "object",
|
|
127
|
+
properties: {
|
|
128
|
+
a: { type: "string" },
|
|
129
|
+
b: { type: "string" },
|
|
130
|
+
default: { type: "string", default: "default" }
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
const formData = [{
|
|
138
|
+
arr: [{
|
|
139
|
+
a: "foo",
|
|
140
|
+
b: "foo"
|
|
141
|
+
}]
|
|
142
|
+
}];
|
|
143
|
+
it("works with whitelist", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
144
|
+
yield form.setState({ schema, formData, uiSchema: uiSchemaForCopy("whitelist", ["/arr/0/a", "/arr/1/b"]) });
|
|
145
|
+
yield form.$locateButton("", "copy").click();
|
|
146
|
+
expect((yield form.getChangedData())[1]).toEqual({
|
|
147
|
+
arr: [
|
|
148
|
+
{
|
|
149
|
+
a: "foo",
|
|
150
|
+
default: "default"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
b: null,
|
|
154
|
+
default: "default"
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
});
|
|
158
|
+
}));
|
|
159
|
+
it("works with blacklist", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
160
|
+
yield form.setState({ schema, formData, uiSchema: uiSchemaForCopy("blacklist", ["/arr/0/a", "/arr/1/b"]) });
|
|
161
|
+
yield form.$locateButton("", "copy").click();
|
|
162
|
+
expect((yield form.getChangedData())[1]).toEqual({
|
|
163
|
+
arr: [
|
|
164
|
+
{
|
|
165
|
+
a: null,
|
|
166
|
+
b: "foo",
|
|
167
|
+
default: "default"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
b: null,
|
|
171
|
+
default: "default"
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
});
|
|
175
|
+
}));
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
describe("keyboard shortcut", () => {
|
|
179
|
+
let form;
|
|
180
|
+
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
181
|
+
const shortcuts = { "alt+i": { fn: "insert" } };
|
|
182
|
+
const props = { schema: { type: "array", items: { type: "string" } }, uiSchema: { "ui:shortcuts": shortcuts } };
|
|
183
|
+
form = yield test_utils_1.createForm(props);
|
|
184
|
+
}));
|
|
185
|
+
afterEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
186
|
+
yield form.setState({ formData: [] });
|
|
187
|
+
}));
|
|
188
|
+
describe("insert", () => {
|
|
189
|
+
it("works", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
190
|
+
yield form.$locateButton("", "add").click();
|
|
191
|
+
expect(yield form.$locate("0").isDisplayed()).toBe(true);
|
|
192
|
+
yield protractor_1.browser.driver.switchTo().activeElement().sendKeys(protractor_1.protractor.Key.chord(protractor_1.protractor.Key.ALT, "i"));
|
|
193
|
+
expect(yield form.$locate("1").isDisplayed()).toBe(true);
|
|
194
|
+
}));
|
|
195
|
+
it("keeps entered value", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
196
|
+
yield form.$locateButton("", "add").click();
|
|
197
|
+
yield protractor_1.browser.driver.switchTo().activeElement().sendKeys("test");
|
|
198
|
+
yield protractor_1.browser.driver.switchTo().activeElement().sendKeys(protractor_1.protractor.Key.chord(protractor_1.protractor.Key.ALT, "i"));
|
|
199
|
+
expect(yield form.$locate("1").isDisplayed()).toBe(true);
|
|
200
|
+
expect(yield form.$getInputWidget("0").getAttribute("value")).toBe("test");
|
|
201
|
+
}));
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const test_utils_1 = require("./test-utils");
|
|
13
|
+
const protractor_1 = require("protractor");
|
|
14
|
+
describe("Bird point count (MHL.75)", () => {
|
|
15
|
+
let form;
|
|
16
|
+
let $addUnit;
|
|
17
|
+
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
form = yield test_utils_1.createForm({ id: "MHL.75" });
|
|
19
|
+
$addUnit = form.$locateButton("gatherings.0.units", "add");
|
|
20
|
+
}));
|
|
21
|
+
it("adds gathering", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
yield test_utils_1.putForeignMarkerToMap();
|
|
23
|
+
expect(yield test_utils_1.isDisplayed(form.$locate("gatherings.0"))).toBe(true);
|
|
24
|
+
}));
|
|
25
|
+
it("adds unit", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
yield $addUnit.click();
|
|
27
|
+
expect(yield test_utils_1.isDisplayed(form.$locate("gatherings.0.units.0"))).toBe(true);
|
|
28
|
+
}));
|
|
29
|
+
it("unit pair count doesn't lose value when typed and new unit entered by shortcut key", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
const text = "123";
|
|
31
|
+
yield form.$getInputWidget("gatherings.0.units.0.unitFact.pairCountInner").sendKeys(text);
|
|
32
|
+
yield protractor_1.browser.driver.switchTo().activeElement().sendKeys(protractor_1.protractor.Key.chord(protractor_1.protractor.Key.ALT, "u"));
|
|
33
|
+
expect(yield form.$getInputWidget("gatherings.0.units.0.unitFact.pairCountInner").getAttribute("value")).toBe(text);
|
|
34
|
+
// Cleanup
|
|
35
|
+
yield form.$locateButton("gatherings.0.units.0", "delete").click();
|
|
36
|
+
yield form.$locateButton("gatherings.0.units.0", "delete").click();
|
|
37
|
+
}));
|
|
38
|
+
it("when two units and 1st is removed, the autosuggest input value updated to the value of the 1st", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
const taxonAutosuggest1 = form.getTaxonAutosuggestWidget("gatherings.0.units.0.identifications.0.taxonVerbatim");
|
|
40
|
+
const taxonAutosuggest2 = form.getTaxonAutosuggestWidget("gatherings.0.units.1.identifications.0.taxonVerbatim");
|
|
41
|
+
const mockQueue = yield form.createMockResponseQueue("/autocomplete/taxon");
|
|
42
|
+
const peippoMock = yield mockQueue.create();
|
|
43
|
+
const mustarastasMock = yield mockQueue.create();
|
|
44
|
+
yield $addUnit.click();
|
|
45
|
+
yield test_utils_1.updateValue(taxonAutosuggest1.$input, "peippo");
|
|
46
|
+
yield peippoMock.resolve([{
|
|
47
|
+
key: "MX.36237",
|
|
48
|
+
value: "peippo",
|
|
49
|
+
}]);
|
|
50
|
+
yield taxonAutosuggest1.waitForPopoverToHide();
|
|
51
|
+
yield $addUnit.click();
|
|
52
|
+
yield test_utils_1.updateValue(taxonAutosuggest2.$input, "mustarastas");
|
|
53
|
+
yield mustarastasMock.resolve([{
|
|
54
|
+
key: "MX.33106",
|
|
55
|
+
value: "mustarastas",
|
|
56
|
+
}]);
|
|
57
|
+
yield taxonAutosuggest2.waitForPopoverToHide();
|
|
58
|
+
yield mockQueue.remove();
|
|
59
|
+
yield form.$locateButton("gatherings.0.units.0", "delete").click();
|
|
60
|
+
expect(yield taxonAutosuggest1.$input.getAttribute("value")).toBe("mustarastas");
|
|
61
|
+
}));
|
|
62
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const test_utils_1 = require("./test-utils");
|
|
13
|
+
describe("Collection contest form (MHL.25)", () => {
|
|
14
|
+
let form;
|
|
15
|
+
describe("Without data", () => {
|
|
16
|
+
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
form = yield test_utils_1.createForm({ id: "MHL.25" });
|
|
18
|
+
}));
|
|
19
|
+
it("adds observation", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
yield form.$locateButton("gatherings", "add").click();
|
|
21
|
+
}));
|
|
22
|
+
it("shows gathering date and hides unit date", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
+
expect(yield form.$locate("gatherings.0.dateBegin").isDisplayed()).toBe(true);
|
|
24
|
+
expect(yield form.$locate("gatherings.0.units.0.unitGathering.dateBegin").isPresent()).toBe(false);
|
|
25
|
+
}));
|
|
26
|
+
describe("injected date field", () => {
|
|
27
|
+
let dateWidget;
|
|
28
|
+
it("is date widget", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
dateWidget = form.getDateWidget("gatherings.0.dateBegin");
|
|
30
|
+
expect(yield dateWidget.$input.isDisplayed()).toBe(true);
|
|
31
|
+
}));
|
|
32
|
+
it("onChange works", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
yield dateWidget.buttons.$today.click();
|
|
34
|
+
expect((yield dateWidget.$input.getAttribute("value")).length).not.toBe(0);
|
|
35
|
+
}));
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const test_utils_1 = require("./test-utils");
|
|
13
|
+
const protractor_1 = require("protractor");
|
|
14
|
+
describe("dataset form (MHL.731)", () => {
|
|
15
|
+
let form;
|
|
16
|
+
let nameInEnglishInput$;
|
|
17
|
+
let nameInFinnishInput$;
|
|
18
|
+
const uiSchemaContext = {
|
|
19
|
+
defaultPersonsResponsible: "Test, User"
|
|
20
|
+
};
|
|
21
|
+
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
form = yield test_utils_1.createForm({ id: "MHL.731" });
|
|
23
|
+
yield form.setState({ uiSchemaContext });
|
|
24
|
+
nameInEnglishInput$ = form.$locate("datasetName_en").$("input");
|
|
25
|
+
nameInFinnishInput$ = form.$locate("datasetName_fi").$("input");
|
|
26
|
+
}));
|
|
27
|
+
it("sets correct name to dataset when adding a name in one language", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
const name = "name";
|
|
29
|
+
yield nameInEnglishInput$.sendKeys(name + protractor_1.protractor.Key.TAB);
|
|
30
|
+
const formData = yield form.getChangedData();
|
|
31
|
+
expect(formData.datasetName["en"]).toBe(name);
|
|
32
|
+
}));
|
|
33
|
+
it("sets correct name to dataset when adding a name in two languages", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
const name1 = "name in English";
|
|
35
|
+
const name2 = "name in Finnish";
|
|
36
|
+
yield nameInEnglishInput$.clear();
|
|
37
|
+
yield nameInEnglishInput$.sendKeys(name1);
|
|
38
|
+
yield nameInFinnishInput$.sendKeys(name2 + protractor_1.protractor.Key.TAB);
|
|
39
|
+
const formData = yield form.getChangedData();
|
|
40
|
+
expect(formData.datasetName["en"]).toBe(name1);
|
|
41
|
+
expect(formData.datasetName["fi"]).toBe(name2);
|
|
42
|
+
}));
|
|
43
|
+
it("sets correct name to personsResponsible field when clicking a me button", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
yield form.$locate("personsResponsible").$("button").click();
|
|
45
|
+
const $input = form.$locate("personsResponsible").$("input");
|
|
46
|
+
expect(yield $input.getAttribute("value")).toBe("Test, User");
|
|
47
|
+
const formData = yield form.getChangedData();
|
|
48
|
+
expect(formData.personsResponsible).toBe("Test, User");
|
|
49
|
+
}));
|
|
50
|
+
});
|