@luomus/laji-form 15.1.1 → 15.1.3
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/laji-form.js +1 -1
- package/dist/styles.css +90 -81
- package/package.json +5 -4
- package/test-export/test-utils.d.ts +194 -121
- package/test-export/test-utils.js +221 -207
- package/tsconfig.test.json +1 -1
- package/test-export/array-spec.d.ts +0 -1
- package/test-export/array-spec.js +0 -204
- package/test-export/bird-point-count-spec.d.ts +0 -1
- package/test-export/bird-point-count-spec.js +0 -62
- package/test-export/collection-contest-form-spec.d.ts +0 -1
- package/test-export/collection-contest-form-spec.js +0 -38
- package/test-export/dataset-form-spec.d.ts +0 -1
- package/test-export/dataset-form-spec.js +0 -50
- package/test-export/date-time-widget-spec.d.ts +0 -1
- package/test-export/date-time-widget-spec.js +0 -188
- package/test-export/geocoder-spec.d.ts +0 -1
- package/test-export/geocoder-spec.js +0 -135
- package/test-export/image-array-spec.d.ts +0 -1
- package/test-export/image-array-spec.js +0 -94
- package/test-export/inject-field-spec.d.ts +0 -1
- package/test-export/inject-field-spec.js +0 -148
- package/test-export/internal-uuids-spec.d.ts +0 -1
- package/test-export/internal-uuids-spec.js +0 -157
- package/test-export/invasive-species-eradication-np-spec.d.ts +0 -1
- package/test-export/invasive-species-eradication-np-spec.js +0 -18
- package/test-export/invasive-species-eradication-spec.d.ts +0 -1
- package/test-export/invasive-species-eradication-spec.js +0 -25
- package/test-export/line-transect-spec.d.ts +0 -1
- package/test-export/line-transect-spec.js +0 -121
- package/test-export/mobile-form-spec.d.ts +0 -1
- package/test-export/mobile-form-spec.js +0 -84
- package/test-export/nafi-spec.d.ts +0 -1
- package/test-export/nafi-spec.js +0 -85
- package/test-export/select-widget-spec.d.ts +0 -1
- package/test-export/select-widget-spec.js +0 -68
- package/test-export/single-item-array-field-spec.d.ts +0 -1
- package/test-export/single-item-array-field-spec.js +0 -92
- package/test-export/syke-butterfly-spec.d.ts +0 -1
- package/test-export/syke-butterfly-spec.js +0 -163
- package/test-export/transaction-form-spec.d.ts +0 -1
- package/test-export/transaction-form-spec.js +0 -63
- package/test-export/trip-report-autosuggest-spec.d.ts +0 -1
- package/test-export/trip-report-autosuggest-spec.js +0 -272
- package/test-export/trip-report-spec.d.ts +0 -1
- package/test-export/trip-report-spec.js +0 -456
- package/test-export/unit-list-shorthand-array-field-spec.d.ts +0 -1
- package/test-export/unit-list-shorthand-array-field-spec.js +0 -71
- package/test-export/validation-spec.d.ts +0 -1
- package/test-export/validation-spec.js +0 -336
- package/test-export/water-bird-spec.d.ts +0 -1
- package/test-export/water-bird-spec.js +0 -30
- package/test-export/wbc-spec.d.ts +0 -1
- package/test-export/wbc-spec.js +0 -82
- package/xsel -b +0 -9
package/dist/styles.css
CHANGED
|
@@ -750,10 +750,8 @@ Version: 0.0.6
|
|
|
750
750
|
height: 40%;
|
|
751
751
|
position: absolute;
|
|
752
752
|
right: 21px;
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
-ms-transform: skew(150deg) rotate(-40deg);
|
|
756
|
-
transform: skew(150deg) rotate(-40deg);
|
|
753
|
+
transform-origin: 50% 50%;
|
|
754
|
+
transform: skew(150deg) rotate(-40deg);
|
|
757
755
|
width: 60%;
|
|
758
756
|
z-index: -1; }
|
|
759
757
|
|
|
@@ -775,80 +773,80 @@ Version: 0.0.6
|
|
|
775
773
|
.vector-marker .icon-white {
|
|
776
774
|
color: #fff; }
|
|
777
775
|
|
|
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;
|
|
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);
|
|
837
788
|
}
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
/*
|
|
847
|
-
|
|
848
|
-
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
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;
|
|
835
|
+
}
|
|
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
|
+
}
|
|
852
850
|
|
|
853
851
|
/* global styling */
|
|
854
852
|
.leaflet-control-geosearch *,
|
|
@@ -1902,6 +1900,8 @@ li.laji-map-layer-control-layer-item.active span {
|
|
|
1902
1900
|
z-index: -1;
|
|
1903
1901
|
}
|
|
1904
1902
|
|
|
1903
|
+
|
|
1904
|
+
|
|
1905
1905
|
.leaflet-measure-path-measurement {
|
|
1906
1906
|
position: absolute;
|
|
1907
1907
|
font-size: 10px;
|
|
@@ -2213,10 +2213,18 @@ min-height: 20px;
|
|
|
2213
2213
|
|
|
2214
2214
|
.laji-form .laji-form-help-glyph {
|
|
2215
2215
|
margin-left: 5px;
|
|
2216
|
-
border-radius:
|
|
2217
|
-
color: white;
|
|
2218
|
-
padding: 0px 6px;
|
|
2216
|
+
border-radius: 100%;
|
|
2219
2217
|
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: "?";
|
|
2220
2228
|
}
|
|
2221
2229
|
|
|
2222
2230
|
.laji-form .laji-form-map-container {
|
|
@@ -2551,7 +2559,8 @@ min-height: 20px;
|
|
|
2551
2559
|
.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,
|
|
2552
2560
|
.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,
|
|
2553
2561
|
.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,
|
|
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
|
|
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 {
|
|
2555
2564
|
padding-right:3px;
|
|
2556
2565
|
padding-left:3px;
|
|
2557
2566
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luomus/laji-form",
|
|
3
|
-
"version": "15.1.
|
|
3
|
+
"version": "15.1.3",
|
|
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",
|
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
"staging": "webpack-dev-server --content-base playground playground/app.js --host 0.0.0.0 --port 4010",
|
|
10
10
|
"build:lib": "rimraf lib && NODE_ENV=production tsc -p tsconfig.lib.json",
|
|
11
11
|
"build:dist": "rimraf dist && NODE_ENV=production webpack --config webpack.config.dist.js && rimraf dist/styles.js",
|
|
12
|
-
"build:tests": "rimraf test-export
|
|
12
|
+
"build:tests": "rimraf test-export && NODE_ENV=production tsc -p tsconfig.test.json",
|
|
13
13
|
"build": "npm run build:lib && npm run build:dist && npm run build:tests",
|
|
14
14
|
"preversion": "npm run lint && npm test",
|
|
15
15
|
"version": "bin/update-changelog.sh",
|
|
16
|
-
"postversion": "npm
|
|
16
|
+
"postversion": "npm publish",
|
|
17
|
+
"prepack": "npm run build && git push & git push --tags",
|
|
17
18
|
"lint": "eslint -c .eslintrc.prod.json src playground",
|
|
18
|
-
"test": "npx playwright test
|
|
19
|
+
"test": "npx playwright test"
|
|
19
20
|
},
|
|
20
21
|
"keywords": [
|
|
21
22
|
"react-jsonschema-form",
|
|
@@ -1,53 +1,51 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Locator, Page } from "@playwright/test";
|
|
2
2
|
import { JSONSchema7 } from "json-schema";
|
|
3
|
-
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const navigateToForm: (formID: string, params?: string) => Promise<any>;
|
|
3
|
+
import { MapPageObject } from "@luomus/laji-map/test-export/test-utils";
|
|
4
|
+
export declare const emptyForm: (page: Page, params?: string) => Promise<import("playwright-core").Response | null>;
|
|
5
|
+
export declare const navigateToForm: (page: Page, formID: string, params?: string) => Promise<import("playwright-core").Response | null>;
|
|
7
6
|
export declare const lajiFormLocator: (path: string) => string;
|
|
8
|
-
export declare const lajiFormLocate: (str: string) =>
|
|
9
|
-
export declare const getFocusedElement: () =>
|
|
10
|
-
export declare const getFocusedId: () =>
|
|
7
|
+
export declare const lajiFormLocate: (page: Page, str: string) => Locator;
|
|
8
|
+
export declare const getFocusedElement: (page: Page) => Locator;
|
|
9
|
+
export declare const getFocusedId: (page: Page) => Promise<string | null>;
|
|
11
10
|
export interface Mock {
|
|
12
11
|
resolve: (response?: any, raw?: boolean) => Promise<void>;
|
|
13
12
|
reject: (response?: any, raw?: boolean) => Promise<void>;
|
|
14
13
|
remove: () => Promise<void>;
|
|
15
14
|
}
|
|
16
15
|
export interface DateWidgetPO {
|
|
17
|
-
$container:
|
|
18
|
-
$input:
|
|
16
|
+
$container: Locator;
|
|
17
|
+
$input: Locator;
|
|
19
18
|
buttons: {
|
|
20
|
-
$today:
|
|
21
|
-
$yesterday:
|
|
22
|
-
$same:
|
|
23
|
-
$date:
|
|
24
|
-
$time:
|
|
19
|
+
$today: Locator;
|
|
20
|
+
$yesterday: Locator;
|
|
21
|
+
$same: Locator;
|
|
22
|
+
$date: Locator;
|
|
23
|
+
$time: Locator;
|
|
25
24
|
};
|
|
26
25
|
calendar: {
|
|
27
|
-
$today:
|
|
28
|
-
waitAnimation: () => Promise<void>;
|
|
26
|
+
$today: Locator;
|
|
29
27
|
};
|
|
30
28
|
clock: {
|
|
31
|
-
"$01:00":
|
|
32
|
-
waitAnimation: () => Promise<void>;
|
|
29
|
+
"$01:00": Locator;
|
|
33
30
|
};
|
|
34
31
|
}
|
|
35
32
|
export interface BooleanWidgetPO {
|
|
36
|
-
$container:
|
|
37
|
-
$true:
|
|
38
|
-
$false:
|
|
39
|
-
$undefined:
|
|
40
|
-
$active:
|
|
41
|
-
$nonactive:
|
|
33
|
+
$container: Locator;
|
|
34
|
+
$true: Locator;
|
|
35
|
+
$false: Locator;
|
|
36
|
+
$undefined: Locator;
|
|
37
|
+
$active: Locator;
|
|
38
|
+
$nonactive: Locator;
|
|
42
39
|
}
|
|
43
|
-
export
|
|
44
|
-
|
|
40
|
+
export declare type EnumWidgetPOI = ReturnType<typeof getEnumWidgetForContainer>;
|
|
41
|
+
declare function getEnumWidgetForContainer($container: Locator): {
|
|
42
|
+
$container: Locator;
|
|
45
43
|
openEnums: () => Promise<void>;
|
|
46
|
-
$enumContainer:
|
|
47
|
-
$$enums:
|
|
48
|
-
$input:
|
|
49
|
-
}
|
|
50
|
-
interface
|
|
44
|
+
$enumContainer: Locator;
|
|
45
|
+
$$enums: Locator;
|
|
46
|
+
$input: Locator;
|
|
47
|
+
};
|
|
48
|
+
interface DemoPageProps {
|
|
51
49
|
schema?: JSONSchema7;
|
|
52
50
|
uiSchema?: any;
|
|
53
51
|
formData?: any;
|
|
@@ -58,114 +56,187 @@ interface FormProps {
|
|
|
58
56
|
localFormData?: boolean | string;
|
|
59
57
|
}
|
|
60
58
|
export declare class Form {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
constructor(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
submit(): Promise<void>;
|
|
69
|
-
startSubmit(): Promise<void>;
|
|
70
|
-
submitOnlySchemaValidations(): Promise<void>;
|
|
71
|
-
waitUntilBlockingLoaderHides(timeout?: number): import("selenium-webdriver").promise.Promise<unknown>;
|
|
72
|
-
getSubmittedData(): Promise<any>;
|
|
73
|
-
getChangedData(): Promise<any>;
|
|
74
|
-
getPropsData(): Promise<any>;
|
|
75
|
-
$form: ElementFinder;
|
|
76
|
-
$locate(path: string): ElementFinder;
|
|
77
|
-
$locateButton(path: string, selector: string): ElementFinder;
|
|
78
|
-
$locateAddition(path: string, selector: string): ElementFinder;
|
|
59
|
+
protected page: Page;
|
|
60
|
+
protected locator: Locator;
|
|
61
|
+
constructor(page: Page, locator?: Locator);
|
|
62
|
+
$form: Locator;
|
|
63
|
+
$locate(path: string): Locator;
|
|
64
|
+
$locateButton(path: string, selector: string, locateFromBody?: boolean): Locator;
|
|
65
|
+
$locateAddition(path: string, selector: string, locateFromBody?: boolean): Locator;
|
|
79
66
|
getMockStr: (path: string, query: any) => string;
|
|
80
67
|
setMockResponse(path: string, query?: any): Promise<Mock>;
|
|
81
68
|
createMockResponseQueue(path: string, query?: any): Promise<{
|
|
82
69
|
create: () => Promise<{
|
|
83
|
-
resolve: (response: any, raw?: boolean | undefined) =>
|
|
84
|
-
reject: (response: any, raw?: boolean | undefined) =>
|
|
70
|
+
resolve: (response: any, raw?: boolean | undefined) => Promise<unknown>;
|
|
71
|
+
reject: (response: any, raw?: boolean | undefined) => Promise<unknown>;
|
|
85
72
|
}>;
|
|
86
|
-
remove: () =>
|
|
73
|
+
remove: () => Promise<unknown>;
|
|
87
74
|
}>;
|
|
88
75
|
createValidatorPO: (type: "error" | "warning") => {
|
|
89
|
-
$$all:
|
|
90
|
-
$panel:
|
|
76
|
+
$$all: Locator;
|
|
77
|
+
$panel: Locator;
|
|
91
78
|
};
|
|
92
79
|
errors: {
|
|
93
|
-
$$all:
|
|
94
|
-
$panel:
|
|
80
|
+
$$all: Locator;
|
|
81
|
+
$panel: Locator;
|
|
95
82
|
};
|
|
96
83
|
warnings: {
|
|
97
|
-
$$all:
|
|
98
|
-
$panel:
|
|
84
|
+
$$all: Locator;
|
|
85
|
+
$panel: Locator;
|
|
99
86
|
};
|
|
100
87
|
failedJobs: {
|
|
101
|
-
$container:
|
|
88
|
+
$container: Locator;
|
|
89
|
+
$$errors: Locator;
|
|
90
|
+
};
|
|
91
|
+
$runningJobs: Locator;
|
|
92
|
+
$acknowledgeWarnings: Locator;
|
|
93
|
+
$blocker: Locator;
|
|
94
|
+
$mapFieldFullscreenMap: Locator;
|
|
95
|
+
getBooleanWidget(str: string): {
|
|
96
|
+
$container: Locator;
|
|
97
|
+
$true: Locator;
|
|
98
|
+
$false: Locator;
|
|
99
|
+
$undefined: Locator;
|
|
100
|
+
$active: Locator;
|
|
101
|
+
$nonactive: Locator;
|
|
102
|
+
};
|
|
103
|
+
$getInputWidget(str: string): Locator;
|
|
104
|
+
$getTextareaWidget(str: string): Locator;
|
|
105
|
+
$getEnumWidget(str: string): {
|
|
106
|
+
$container: Locator;
|
|
107
|
+
openEnums: () => Promise<void>;
|
|
108
|
+
$enumContainer: Locator;
|
|
109
|
+
$$enums: Locator;
|
|
110
|
+
$input: Locator;
|
|
111
|
+
};
|
|
112
|
+
getDateWidget(str: string): {
|
|
113
|
+
$container: Locator;
|
|
114
|
+
$input: Locator;
|
|
115
|
+
buttons: {
|
|
116
|
+
$today: Locator;
|
|
117
|
+
$yesterday: Locator;
|
|
118
|
+
$same: Locator;
|
|
119
|
+
$date: Locator;
|
|
120
|
+
$time: Locator;
|
|
121
|
+
};
|
|
122
|
+
calendar: {
|
|
123
|
+
$today: Locator;
|
|
124
|
+
};
|
|
125
|
+
clock: {
|
|
126
|
+
"$01:00": Locator;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
$getFieldErrors(str: string): Locator;
|
|
130
|
+
getImageArrayField: (lajiFormLocator: string) => {
|
|
131
|
+
$container: Locator;
|
|
132
|
+
$imgContainers: Locator;
|
|
133
|
+
$$imgs: Locator;
|
|
134
|
+
$$imgLoading: Locator;
|
|
135
|
+
$$imgRemoves: Locator;
|
|
136
|
+
$imgRemoveConfirmButton: (id: string) => Locator;
|
|
137
|
+
$dropzone: Locator;
|
|
138
|
+
$modal: Locator;
|
|
139
|
+
$addModal: Locator;
|
|
140
|
+
$modalClose: Locator;
|
|
141
|
+
$addModalCancel: Locator;
|
|
142
|
+
};
|
|
143
|
+
getAutosuggestWidget: (lajiFormLocator: string) => {
|
|
144
|
+
$input: Locator;
|
|
145
|
+
$suggestionsContainer: Locator;
|
|
146
|
+
$suggestions: Locator;
|
|
147
|
+
};
|
|
148
|
+
getTaxonAutosuggestWidget: (lajiFormLocator: string) => {
|
|
149
|
+
$powerUserButton: Locator;
|
|
150
|
+
$suggestedGlyph: Locator;
|
|
151
|
+
$nonsuggestedGlyph: Locator;
|
|
152
|
+
$input: Locator;
|
|
153
|
+
$suggestionsContainer: Locator;
|
|
154
|
+
$suggestions: Locator;
|
|
155
|
+
};
|
|
156
|
+
getPersonAutosuggestWidget: (lajiFormLocator: string) => {
|
|
157
|
+
$suggestedGlyph: Locator;
|
|
158
|
+
$input: Locator;
|
|
159
|
+
$suggestionsContainer: Locator;
|
|
160
|
+
$suggestions: Locator;
|
|
102
161
|
};
|
|
103
|
-
$acknowledgeWarnings: ElementFinder;
|
|
104
|
-
isBlocked: () => import("selenium-webdriver").promise.Promise<boolean>;
|
|
105
|
-
mockImageUpload: (lajiFormLocator: string) => Promise<{
|
|
106
|
-
resolve: () => Promise<void>;
|
|
107
|
-
remove: () => Promise<void>;
|
|
108
|
-
}>;
|
|
109
|
-
getBooleanWidget(str: string): BooleanWidgetPO;
|
|
110
|
-
$getInputWidget(str: string): ElementFinder;
|
|
111
|
-
$getTextareaWidget(str: string): ElementFinder;
|
|
112
|
-
$getEnumWidget(str: string): EnumWidgetPOI;
|
|
113
|
-
getDateWidget(str: string): DateWidgetPO;
|
|
114
|
-
$$getFieldErrors(str: string): ElementArrayFinder;
|
|
115
|
-
_getImageArrayField: (form: Form) => (lajiFormLocator: string) => ImageArrayFieldPOI;
|
|
116
|
-
getImageArrayField: (lajiFormLocator: string) => ImageArrayFieldPOI;
|
|
117
|
-
_getTaxonAutosuggestWidget: (form: Form) => (lajiFormLocator: string) => TaxonAutosuggestWidgetPOI;
|
|
118
|
-
getTaxonAutosuggestWidget: (lajiFormLocator: string) => TaxonAutosuggestWidgetPOI;
|
|
119
162
|
getScopeField: (lajiFormLocator: string) => {
|
|
120
|
-
$button:
|
|
121
|
-
$$listItems:
|
|
163
|
+
$button: Locator;
|
|
164
|
+
$$listItems: Locator;
|
|
165
|
+
modal: {
|
|
166
|
+
$container: Locator;
|
|
167
|
+
$close: Locator;
|
|
168
|
+
$$loadingGroups: Locator;
|
|
169
|
+
$$groupTitles: Locator;
|
|
170
|
+
$$listItems: Locator;
|
|
171
|
+
};
|
|
122
172
|
};
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
waitForGlyph: () => Promise<void>;
|
|
142
|
-
isSuggested: () => Promise<boolean>;
|
|
143
|
-
isNonsuggested: () => Promise<boolean>;
|
|
144
|
-
$powerUserButton: ElementFinder;
|
|
145
|
-
powerUserButtonIsActive: () => Promise<boolean>;
|
|
146
|
-
waitForPopoverToHide: () => Promise<void>;
|
|
147
|
-
}
|
|
148
|
-
export interface UnitListShorthandArrayFieldPOI {
|
|
149
|
-
$button: ElementFinder;
|
|
150
|
-
modal: {
|
|
151
|
-
$input: ElementFinder;
|
|
152
|
-
$addButton: ElementFinder;
|
|
173
|
+
getLocationChooser: (lajiFormLocator: string) => {
|
|
174
|
+
$button: Locator;
|
|
175
|
+
modal: {
|
|
176
|
+
$container: Locator;
|
|
177
|
+
map: MapPageObject;
|
|
178
|
+
};
|
|
179
|
+
peeker: {
|
|
180
|
+
$popover: Locator;
|
|
181
|
+
$map: Locator;
|
|
182
|
+
$$markers: Locator;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
getUnitListShorthandArrayField: (lajiFormLocator: string) => {
|
|
186
|
+
$button: Locator;
|
|
187
|
+
modal: {
|
|
188
|
+
$input: Locator;
|
|
189
|
+
$addButton: Locator;
|
|
190
|
+
};
|
|
153
191
|
};
|
|
192
|
+
$getShortHandWidget: (lajiFormLocator: string) => Locator;
|
|
193
|
+
getGeocoder: (lajiFormLocator?: string) => {
|
|
194
|
+
$btn: Locator;
|
|
195
|
+
$spinner: Locator;
|
|
196
|
+
};
|
|
197
|
+
getNamedPlaceChooser: () => {
|
|
198
|
+
select: {
|
|
199
|
+
$container: Locator;
|
|
200
|
+
openEnums: () => Promise<void>;
|
|
201
|
+
$enumContainer: Locator;
|
|
202
|
+
$$enums: Locator;
|
|
203
|
+
$input: Locator;
|
|
204
|
+
};
|
|
205
|
+
mapPopup: {
|
|
206
|
+
$container: Locator;
|
|
207
|
+
$useBtn: Locator;
|
|
208
|
+
};
|
|
209
|
+
$alert: Locator;
|
|
210
|
+
$close: Locator;
|
|
211
|
+
};
|
|
212
|
+
/** Draws a marker to the center of a laji-map rendered to the given locator. The locator defaults to "gatherings" */
|
|
213
|
+
putMarkerToMap(lajiFormLocator?: string): Promise<void>;
|
|
154
214
|
}
|
|
155
|
-
export declare
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
215
|
+
export declare type ImageArrayFieldPOI = ReturnType<Form["getImageArrayField"]>;
|
|
216
|
+
export declare type TaxonAutosuggestWidgetPOI = ReturnType<Form["getTaxonAutosuggestWidget"]>;
|
|
217
|
+
export declare type UnitListShorthandArrayFieldPOI = ReturnType<Form["getUnitListShorthandArrayField"]>;
|
|
218
|
+
export declare type NamedPlaceChooserPO = ReturnType<Form["getNamedPlaceChooser"]>;
|
|
219
|
+
export declare class DemoPageForm extends Form {
|
|
220
|
+
private props?;
|
|
221
|
+
constructor(page: Page, props?: DemoPageProps | undefined);
|
|
222
|
+
initialize(beforeInit?: (form: Form) => Promise<void>): Promise<void>;
|
|
223
|
+
e(path: string): Promise<any>;
|
|
224
|
+
setState(state: any): Promise<any>;
|
|
225
|
+
getState(): Promise<{
|
|
226
|
+
formData: any;
|
|
227
|
+
}>;
|
|
228
|
+
submit(): Promise<void>;
|
|
229
|
+
startSubmit(): void;
|
|
230
|
+
submitOnlySchemaValidations(): Promise<any>;
|
|
231
|
+
getSubmittedData(): Promise<any>;
|
|
232
|
+
getChangedData(): Promise<any>;
|
|
233
|
+
getPropsData(): Promise<any>;
|
|
234
|
+
mockImageUpload: (lajiFormLocator: string) => Promise<{
|
|
235
|
+
resolve: () => Promise<void>;
|
|
236
|
+
remove: () => Promise<void>;
|
|
237
|
+
}>;
|
|
163
238
|
}
|
|
164
|
-
export declare function createForm(props?:
|
|
165
|
-
export declare function waitUntilBlockingLoaderHides(timeout?: number): import("selenium-webdriver").promise.Promise<unknown>;
|
|
166
|
-
export declare function putForeignMarkerToMap(): Promise<void>;
|
|
167
|
-
export declare function removeUnit(gatheringIdx: number, unitIdx: number): Promise<void>;
|
|
168
|
-
export declare const updateValue: ($input: ElementFinder, value: string, blur?: boolean) => Promise<void>;
|
|
239
|
+
export declare function createForm(page: Page, props?: DemoPageProps, beforeInit?: (form: Form) => Promise<void>): Promise<DemoPageForm>;
|
|
169
240
|
export declare const mockImageMetadata: {
|
|
170
241
|
id: string;
|
|
171
242
|
capturerVerbatim: string[];
|
|
@@ -181,4 +252,6 @@ export declare const mockImageMetadata: {
|
|
|
181
252
|
};
|
|
182
253
|
export declare const filterUUIDs: (any: any) => any;
|
|
183
254
|
export declare const maybeJSONPointerToLocator: (pointer: string) => string;
|
|
255
|
+
export declare const updateValue: ($input: Locator, value: string) => Promise<void>;
|
|
256
|
+
export declare const getRemoveUnit: (page: Page) => (gatheringIdx: number, unitIdx: number) => Promise<void>;
|
|
184
257
|
export {};
|