@vcmap/ui 6.0.0-rc.2 → 6.0.0-rc.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/build/build.js +40 -60
- package/build/buildHelpers.js +2 -8
- package/build/info/conf.json +1 -1
- package/config/projects.config.json +2 -1
- package/config/splashscreen.config.json +45 -0
- package/dist/.htaccess +7 -0
- package/dist/assets/@mdi/font/README.md +25 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min-7a4f6be0.css +3 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.cbf44a.js → core-72f21835.js} +673 -641
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol.86e93c.js → ol-2d33bc8b.js} +42505 -44282
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-2ab43a16.css +1 -0
- package/dist/assets/{ui.7c276c.js → ui-2ab43a16.js} +12026 -12100
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify.4d18fe.css → vuetify-760ced3b.css} +1 -1
- package/dist/assets/{vuetify.4d18fe.js → vuetify-760ced3b.js} +5720 -5662
- package/dist/assets/vuetify.js +1 -1
- package/dist/index.html +11 -10
- package/index.d.ts +7 -5
- package/index.html +5 -5
- package/index.js +3 -3
- package/lib/olLib.js +84 -23
- package/package.json +5 -5
- package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +70 -30
- package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
- package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
- package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +21 -8
- package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
- package/public/assets/@mdi/font/README.md +25 -0
- package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
- package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/src/actions/actionHelper.js +20 -20
- package/src/actions/flightActions.js +5 -5
- package/src/actions/listActions.d.ts +0 -7
- package/src/actions/listActions.js +4 -20
- package/src/actions/stateRefAction.js +2 -2
- package/src/application/VcsApp.vue +52 -27
- package/src/application/VcsApp.vue.d.ts +1 -0
- package/src/application/VcsAttributions.vue +2 -13
- package/src/application/VcsAttributionsFooter.vue +10 -11
- package/src/application/VcsPositionDisplay.vue +8 -23
- package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
- package/src/application/VcsSettings.vue +10 -17
- package/src/application/VcsSplashScreen.vue +25 -42
- package/src/application/VcsSplashScreen.vue.d.ts +0 -2
- package/src/application/VcsTextPage.vue +12 -43
- package/src/application/VcsTextPage.vue.d.ts +4 -8
- package/src/application/VcsTextPageFooter.vue +22 -40
- package/src/components/extent/VcsExtentEditor.vue +1 -1
- package/src/components/flight/VcsFlightAnchorsComponent.vue +63 -36
- package/src/components/flight/VcsFlightComponent.vue +16 -21
- package/src/components/flight/VcsFlightPlayer.vue +27 -5
- package/src/components/form-inputs-controls/VcsCheckbox.vue +9 -5
- package/src/components/form-inputs-controls/VcsCoordinate.vue +13 -1
- package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsDatePicker.vue +34 -60
- package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -63
- package/src/components/form-inputs-controls/VcsFileInput.vue +17 -18
- package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
- package/src/components/form-inputs-controls/VcsRadio.vue +17 -3
- package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +39 -27
- package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsSlider.vue +14 -1
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsTextArea.vue +26 -22
- package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +6 -4
- package/src/components/form-inputs-controls/VcsWizardStep.vue +1 -1
- package/src/components/form-inputs-controls/vcsTextField.scss +8 -8
- package/src/components/form-output/VcsFormattedNumber.vue +15 -1
- package/src/components/form-output/VcsFormattedNumber.vue.d.ts +9 -0
- package/src/components/lists/VcsActionList.vue +7 -7
- package/src/components/lists/VcsList.vue +10 -17
- package/src/components/lists/VcsList.vue.d.ts +3 -7
- package/src/components/lists/VcsListItem.vue +51 -21
- package/src/components/lists/VcsListItem.vue.d.ts +11 -5
- package/src/components/section/VcsExpansionPanel.vue +101 -0
- package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
- package/src/components/style/MenuWrapper.vue +24 -26
- package/src/components/style/MenuWrapper.vue.d.ts +4 -4
- package/src/components/style/VcsFillMenu.vue +9 -16
- package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
- package/src/components/style/VcsFillSelector.vue +13 -16
- package/src/components/style/VcsImageMenu.vue +8 -25
- package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
- package/src/components/style/VcsImageSelector.vue +102 -167
- package/src/components/style/VcsImageSelector.vue.d.ts +15 -15
- package/src/components/style/VcsStrokeMenu.vue +8 -15
- package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
- package/src/components/style/VcsStrokeSelector.vue +11 -18
- package/src/components/style/VcsTextMenu.vue +9 -12
- package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
- package/src/components/style/VcsTextSelector.vue +79 -95
- package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
- package/src/components/style/VcsVectorStyleComponent.vue +7 -18
- package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
- package/src/components/style/composables.d.ts +0 -14
- package/src/components/style/composables.js +0 -49
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +39 -6
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +1 -1
- package/src/components/viewpoint/VcsViewpointComponent.vue +21 -8
- package/src/components/viewpoint/VcsViewpointEditor.vue +1 -0
- package/src/contentTree/contentTreeItem.d.ts +2 -2
- package/src/contentTree/contentTreeItem.js +7 -7
- package/src/featureInfo/featureInfo.js +8 -10
- package/src/init.d.ts +5 -38
- package/src/init.js +19 -18
- package/src/legend/StyleLegendItem.vue +4 -9
- package/src/legend/VcsLegend.vue +28 -54
- package/src/manager/buttonManager.js +4 -4
- package/src/manager/collectionManager/CollectionComponent.vue +17 -42
- package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
- package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
- package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
- package/src/manager/collectionManager/CollectionComponentList.vue +10 -8
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +4 -2
- package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
- package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
- package/src/manager/collectionManager/CollectionManager.vue +1 -1
- package/src/manager/collectionManager/collectionComponentClass.js +6 -9
- package/src/manager/collectionManager/collectionManager.js +10 -10
- package/src/manager/collectionManager/editorCollectionComponentClass.js +4 -4
- package/src/manager/contextMenu/contextMenuManager.js +2 -2
- package/src/manager/navbarManager.js +2 -2
- package/src/manager/panel/panelManager.js +3 -3
- package/src/manager/toolbox/toolboxManager.js +10 -10
- package/src/manager/window/windowManager.d.ts +2 -2
- package/src/manager/window/windowManager.js +4 -4
- package/src/search/search.js +2 -2
- package/src/siteConfig.js +1 -1
- package/src/state.js +4 -4
- package/src/vcsUiApp.d.ts +14 -10
- package/src/vcsUiApp.js +1 -1
- package/src/vuePlugins/vuetify.d.ts +2 -0
- package/src/vuePlugins/vuetify.js +11 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
- package/dist/assets/index-8eGauqjA.js +0 -1
- package/dist/assets/ui.7c276c.css +0 -1
- package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/src/application/VcsCustomScreen.vue +0 -45
- package/src/application/VcsCustomScreen.vue.d.ts +0 -15
- /package/dist/assets/{cesium.0b750d.js → cesium-cb4dbfba.js} +0 -0
- /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
- /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
- /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
- /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
- /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
- /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
- /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
- /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
- /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
- /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
- /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
- /package/dist/assets/{vue.a3cd64.js → vue-03b265aa.js} +0 -0
- /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
- /package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +0 -0
- /package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +0 -0
@@ -20,13 +20,18 @@
|
|
20
20
|
<template #default>
|
21
21
|
<v-container class="py-0 px-1">
|
22
22
|
<v-row no-gutters>
|
23
|
-
<v-col
|
24
|
-
<VcsLabel
|
23
|
+
<v-col>
|
24
|
+
<VcsLabel
|
25
|
+
:disabled="disabled"
|
26
|
+
html-for="selectInput"
|
27
|
+
tooltip="labelTooltip"
|
28
|
+
>
|
25
29
|
{{ $t('form-inputs-example.select') }}
|
26
30
|
</VcsLabel>
|
27
31
|
</v-col>
|
28
|
-
<v-col
|
32
|
+
<v-col>
|
29
33
|
<VcsSelect
|
34
|
+
:disabled="disabled"
|
30
35
|
id="selectInput"
|
31
36
|
loading="primary"
|
32
37
|
:items="selectOptions"
|
@@ -37,12 +42,13 @@
|
|
37
42
|
</v-row>
|
38
43
|
<v-row no-gutters>
|
39
44
|
<v-col>
|
40
|
-
<VcsLabel html-for="conditionalInput">
|
45
|
+
<VcsLabel :disabled="disabled" html-for="conditionalInput">
|
41
46
|
ConditionalInput
|
42
47
|
</VcsLabel>
|
43
48
|
</v-col>
|
44
49
|
<v-col>
|
45
50
|
<VcsTextField
|
51
|
+
:disabled="disabled"
|
46
52
|
id="conditionalInput"
|
47
53
|
clearable
|
48
54
|
:rules="[
|
@@ -54,13 +60,21 @@
|
|
54
60
|
</v-col>
|
55
61
|
</v-row>
|
56
62
|
<v-row no-gutters>
|
57
|
-
<v-col
|
58
|
-
<
|
63
|
+
<v-col>
|
64
|
+
<VcsCheckbox :disabled="disabled" label="Checkbox"></VcsCheckbox>
|
65
|
+
</v-col>
|
66
|
+
</v-row>
|
67
|
+
<v-row no-gutters>
|
68
|
+
<v-col>
|
69
|
+
<VcsLabel :disabled="disabled" html-for="arrayInput">
|
70
|
+
Array Input
|
71
|
+
</VcsLabel>
|
59
72
|
</v-col>
|
60
73
|
</v-row>
|
61
74
|
<v-row no-gutters>
|
62
75
|
<v-col>
|
63
76
|
<VcsChipArrayInput
|
77
|
+
:disabled="disabled"
|
64
78
|
id="arrayInput"
|
65
79
|
type="number"
|
66
80
|
v-model="array"
|
@@ -71,6 +85,7 @@
|
|
71
85
|
<v-row no-gutters>
|
72
86
|
<v-col>
|
73
87
|
<VcsChipArrayInput
|
88
|
+
:disabled="disabled"
|
74
89
|
id="arrayInput"
|
75
90
|
v-model="state.arrayInputString"
|
76
91
|
column
|
@@ -80,6 +95,7 @@
|
|
80
95
|
<v-row no-gutters>
|
81
96
|
<v-col>
|
82
97
|
<VcsTextField
|
98
|
+
:disabled="disabled"
|
83
99
|
v-model="state.initialTextInput"
|
84
100
|
:rules="[isValidText]"
|
85
101
|
:loading="
|
@@ -98,7 +114,7 @@
|
|
98
114
|
<v-row no-gutters>
|
99
115
|
<v-col>
|
100
116
|
<VcsTextArea
|
101
|
-
:
|
117
|
+
:disabled="disabled"
|
102
118
|
:rules="[(v) => !!v || 'text area must not be empty']"
|
103
119
|
placeholder="This is a text area"
|
104
120
|
tooltip="This is a tooltip"
|
@@ -108,10 +124,13 @@
|
|
108
124
|
</v-row>
|
109
125
|
<v-row no-gutters>
|
110
126
|
<v-col>
|
111
|
-
<VcsLabel html-for="emailInput" required>
|
127
|
+
<VcsLabel :disabled="disabled" html-for="emailInput" required>
|
128
|
+
Email
|
129
|
+
</VcsLabel>
|
112
130
|
</v-col>
|
113
131
|
<v-col>
|
114
132
|
<VcsTextField
|
133
|
+
:disabled="disabled"
|
115
134
|
id="emailInput"
|
116
135
|
type="email"
|
117
136
|
:rules="[isValidEmail]"
|
@@ -122,10 +141,13 @@
|
|
122
141
|
</v-row>
|
123
142
|
<v-row no-gutters>
|
124
143
|
<v-col>
|
125
|
-
<VcsLabel html-for="prependedInput">
|
144
|
+
<VcsLabel :disabled="disabled" html-for="prependedInput">
|
145
|
+
String With Icon
|
146
|
+
</VcsLabel>
|
126
147
|
</v-col>
|
127
148
|
<v-col>
|
128
149
|
<VcsTextField
|
150
|
+
:disabled="disabled"
|
129
151
|
id="prependedInput"
|
130
152
|
prepend-icon="mdi-map-marker"
|
131
153
|
v-model="state.prependedInput"
|
@@ -135,10 +157,13 @@
|
|
135
157
|
</v-row>
|
136
158
|
<v-row no-gutters>
|
137
159
|
<v-col>
|
138
|
-
<VcsLabel html-for="fileInput">
|
160
|
+
<VcsLabel :disabled="disabled" html-for="fileInput">
|
161
|
+
File input
|
162
|
+
</VcsLabel>
|
139
163
|
</v-col>
|
140
164
|
<v-col>
|
141
165
|
<VcsFileInput
|
166
|
+
:disabled="disabled"
|
142
167
|
id="fileInput"
|
143
168
|
multiple
|
144
169
|
tooltip="Click to select a file."
|
@@ -148,10 +173,12 @@
|
|
148
173
|
</v-row>
|
149
174
|
<v-row no-gutters>
|
150
175
|
<v-col>
|
151
|
-
<VcsLabel html-for="dateInput">
|
176
|
+
<VcsLabel :disabled="disabled" html-for="dateInput">
|
177
|
+
Date
|
178
|
+
</VcsLabel>
|
152
179
|
</v-col>
|
153
180
|
<v-col>
|
154
|
-
<VcsDatePicker
|
181
|
+
<VcsDatePicker :disabled="disabled" id="dateInput" />
|
155
182
|
</v-col>
|
156
183
|
</v-row>
|
157
184
|
</v-container>
|
@@ -165,10 +192,13 @@
|
|
165
192
|
<v-container class="py-0 px-1">
|
166
193
|
<v-row no-gutters>
|
167
194
|
<v-col>
|
168
|
-
<VcsLabel html-for="numberInput">
|
195
|
+
<VcsLabel :disabled="disabled" html-for="numberInput">
|
196
|
+
NumberInput
|
197
|
+
</VcsLabel>
|
169
198
|
</v-col>
|
170
199
|
<v-col>
|
171
200
|
<VcsTextField
|
201
|
+
:disabled="disabled"
|
172
202
|
id="numberInput"
|
173
203
|
type="number"
|
174
204
|
step="1"
|
@@ -180,12 +210,14 @@
|
|
180
210
|
</v-row>
|
181
211
|
<v-row no-gutters class="align-center">
|
182
212
|
<v-col>
|
183
|
-
<VcsLabel html-for="sliderInput">
|
213
|
+
<VcsLabel :disabled="disabled" html-for="sliderInput">
|
214
|
+
Slider
|
215
|
+
</VcsLabel>
|
184
216
|
</v-col>
|
185
217
|
<v-col>
|
186
218
|
<VcsSlider
|
219
|
+
:disabled="disabled"
|
187
220
|
id="sliderInput"
|
188
|
-
:dense="dense"
|
189
221
|
type="number"
|
190
222
|
step="1"
|
191
223
|
v-model.number="state.numberInput"
|
@@ -194,53 +226,53 @@
|
|
194
226
|
</v-row>
|
195
227
|
<v-row no-gutters>
|
196
228
|
<v-col>
|
197
|
-
<VcsLabel html-for="formattedNumber">
|
229
|
+
<VcsLabel :disabled="disabled" html-for="formattedNumber">
|
198
230
|
VcsFormattedNumber
|
199
231
|
</VcsLabel>
|
200
232
|
</v-col>
|
201
233
|
<v-col class="d-flex justify-end">
|
202
234
|
<VcsFormattedNumber
|
235
|
+
:disabled="disabled"
|
203
236
|
id="formattedNumber"
|
204
237
|
:value="state.numberInput"
|
205
238
|
unit="cm"
|
206
239
|
:fraction-digits="1"
|
207
|
-
:dense="dense"
|
208
240
|
/>
|
209
241
|
</v-col>
|
210
242
|
</v-row>
|
211
243
|
<v-row no-gutters class="gc-2">
|
212
244
|
<v-col>
|
213
245
|
<VcsFormattedNumber
|
246
|
+
:disabled="disabled"
|
214
247
|
id="formattedNumber"
|
215
248
|
:value="state.numberInput"
|
216
249
|
prefix="X"
|
217
250
|
unit="cm"
|
218
251
|
:fraction-digits="1"
|
219
|
-
:dense="dense"
|
220
252
|
/>
|
221
253
|
</v-col>
|
222
254
|
<v-col>
|
223
255
|
<VcsFormattedNumber
|
256
|
+
:disabled="disabled"
|
224
257
|
id="formattedNumber"
|
225
258
|
:value="state.numberInput"
|
226
259
|
prefix="Y"
|
227
260
|
unit="cm"
|
228
261
|
:fraction-digits="1"
|
229
|
-
:dense="dense"
|
230
262
|
/>
|
231
263
|
</v-col>
|
232
264
|
<v-col>
|
233
265
|
<VcsFormattedNumber
|
266
|
+
:disabled="disabled"
|
234
267
|
id="formattedNumber"
|
235
268
|
:value="state.numberInput"
|
236
269
|
prefix="Z"
|
237
270
|
unit="cm"
|
238
271
|
:fraction-digits="1"
|
239
|
-
:dense="dense"
|
240
272
|
/>
|
241
273
|
</v-col>
|
242
274
|
</v-row>
|
243
|
-
<VcsCoordinate v-model="array" />
|
275
|
+
<VcsCoordinate :disabled="disabled" v-model="array" />
|
244
276
|
</v-container>
|
245
277
|
</template>
|
246
278
|
</VcsFormSection>
|
@@ -254,6 +286,7 @@
|
|
254
286
|
<v-row no-gutters>
|
255
287
|
<v-col>
|
256
288
|
<VcsRadio
|
289
|
+
:disabled="disabled"
|
257
290
|
:items="[
|
258
291
|
...selectOptions,
|
259
292
|
{
|
@@ -270,12 +303,13 @@
|
|
270
303
|
</v-row>
|
271
304
|
<v-row no-gutters>
|
272
305
|
<v-col>
|
273
|
-
<VcsLabel> Radio with img label </VcsLabel>
|
306
|
+
<VcsLabel :disabled="disabled"> Radio with img label </VcsLabel>
|
274
307
|
</v-col>
|
275
308
|
</v-row>
|
276
309
|
<v-row no-gutters>
|
277
310
|
<v-col>
|
278
311
|
<VcsRadio
|
312
|
+
:disabled="disabled"
|
279
313
|
v-model="state.selected"
|
280
314
|
:items="[
|
281
315
|
{ value: 'AAAAAAAA', src: 'mdi-circle-outline' },
|
@@ -283,7 +317,6 @@
|
|
283
317
|
{ value: 'C', src: 'mdi-triangle-outline' },
|
284
318
|
{ value: 'D', src: 'mdi-square-outline' },
|
285
319
|
]"
|
286
|
-
:dense="dense"
|
287
320
|
:rules="[(v) => v !== 'D' || 'Square is not allowed']"
|
288
321
|
tooltip="This is a radio grid"
|
289
322
|
inline
|
@@ -313,6 +346,7 @@
|
|
313
346
|
<v-row no-gutters>
|
314
347
|
<v-col>
|
315
348
|
<VcsCheckbox
|
349
|
+
:disabled="disabled"
|
316
350
|
id="checkboxInput"
|
317
351
|
label="CheckboxInput"
|
318
352
|
tooltip="This is a checkbox for terms of usage"
|
@@ -324,6 +358,7 @@
|
|
324
358
|
</v-col>
|
325
359
|
<v-col>
|
326
360
|
<VcsFormButton
|
361
|
+
:disabled="disabled"
|
327
362
|
:is-active="state.checkboxInput"
|
328
363
|
@click="state.checkboxInput = !state.checkboxInput"
|
329
364
|
tooltip="toggle button"
|
@@ -349,29 +384,35 @@
|
|
349
384
|
<v-container class="py-0 px-1">
|
350
385
|
<v-row>
|
351
386
|
<v-col cols="1">
|
352
|
-
<VcsLabel
|
387
|
+
<VcsLabel
|
388
|
+
:disabled="disabled"
|
389
|
+
html-for="textInput"
|
390
|
+
class="text-caption"
|
391
|
+
>
|
392
|
+
1
|
393
|
+
</VcsLabel>
|
353
394
|
</v-col>
|
354
395
|
<v-col>
|
355
396
|
<VcsSelect
|
397
|
+
:disabled="disabled"
|
356
398
|
:items="[
|
357
399
|
{ value: 'one', i18n: 'form-inputs-example.numbers.one' },
|
358
400
|
{ value: 'two', i18n: 'form-inputs-example.numbers.two' },
|
359
401
|
{ value: 'three', i18n: 'form-inputs-example.numbers.three' },
|
360
402
|
]"
|
361
403
|
:item-text="(item) => item.i18n"
|
362
|
-
:dense="dense"
|
363
404
|
placeholder="Numbers"
|
364
405
|
/>
|
365
406
|
</v-col>
|
366
407
|
<v-col>
|
367
408
|
<VcsSelect
|
409
|
+
:disabled="disabled"
|
368
410
|
:items="[
|
369
411
|
{ value: 'Anna', fullName: 'Annabella' },
|
370
412
|
{ value: 'Bella', fullName: 'Belladonna' },
|
371
413
|
{ value: 'Claudi', fullName: 'Claudine' },
|
372
414
|
]"
|
373
415
|
:item-text="(item) => item.fullName"
|
374
|
-
:dense="dense"
|
375
416
|
multiple
|
376
417
|
v-model="state.selectedMultiple"
|
377
418
|
:rules="[
|
@@ -404,16 +445,15 @@
|
|
404
445
|
<template #default>
|
405
446
|
<v-container class="py-0 px-1">
|
406
447
|
<v-row no-gutters>
|
407
|
-
<v-col
|
448
|
+
<v-col>
|
408
449
|
<VcsLabel html-for="selectInput2" disabled>
|
409
450
|
{{ $t('form-inputs-example.select') }}
|
410
451
|
</VcsLabel>
|
411
452
|
</v-col>
|
412
|
-
<v-col
|
453
|
+
<v-col>
|
413
454
|
<VcsSelect
|
414
455
|
id="selectInput2"
|
415
456
|
:items="selectOptions"
|
416
|
-
:dense="dense"
|
417
457
|
:rules="[(v) => v !== 'D' || 'D is not allowed']"
|
418
458
|
v-model="state.selected"
|
419
459
|
:disabled="true"
|
@@ -499,7 +539,7 @@
|
|
499
539
|
type: Array,
|
500
540
|
required: true,
|
501
541
|
},
|
502
|
-
|
542
|
+
disabled: {
|
503
543
|
type: Boolean,
|
504
544
|
required: true,
|
505
545
|
},
|
@@ -1,21 +1,17 @@
|
|
1
1
|
import { reactive, ref } from 'vue';
|
2
2
|
|
3
3
|
export default function createExampleActions() {
|
4
|
-
const
|
4
|
+
const disabled = ref(false);
|
5
5
|
const showSection = ref(true);
|
6
6
|
|
7
7
|
const actions = [
|
8
8
|
reactive({
|
9
|
-
name: '
|
10
|
-
title: '
|
11
|
-
icon:
|
12
|
-
? 'mdi-arrow-split-horizontal'
|
13
|
-
: 'mdi-arrow-collapse-vertical',
|
9
|
+
name: 'disabledSelection',
|
10
|
+
title: 'Changed Disabled',
|
11
|
+
icon: disabled.value ? 'mdi-airplane' : 'mdi-airplane-off',
|
14
12
|
callback() {
|
15
|
-
|
16
|
-
this.icon =
|
17
|
-
? 'mdi-arrow-split-horizontal'
|
18
|
-
: 'mdi-arrow-collapse-vertical';
|
13
|
+
disabled.value = !disabled.value;
|
14
|
+
this.icon = disabled.value ? 'mdi-airplane' : 'mdi-airplane-off';
|
19
15
|
},
|
20
16
|
}),
|
21
17
|
{
|
@@ -32,5 +28,5 @@ export default function createExampleActions() {
|
|
32
28
|
},
|
33
29
|
];
|
34
30
|
|
35
|
-
return { actions,
|
31
|
+
return { actions, disabled, showSection };
|
36
32
|
}
|
@@ -178,7 +178,7 @@ export default function formInputsExample(config) {
|
|
178
178
|
getSerializedState,
|
179
179
|
setSerializedState,
|
180
180
|
onVcsAppMounted(app) {
|
181
|
-
const { actions,
|
181
|
+
const { actions, disabled } = createExampleActions();
|
182
182
|
|
183
183
|
const { action, destroy } = createToggleAction(
|
184
184
|
{
|
@@ -199,7 +199,7 @@ export default function formInputsExample(config) {
|
|
199
199
|
},
|
200
200
|
props: reactive({
|
201
201
|
actions,
|
202
|
-
|
202
|
+
disabled,
|
203
203
|
}),
|
204
204
|
},
|
205
205
|
app.windowManager,
|
@@ -87,9 +87,10 @@
|
|
87
87
|
<v-switch label="disabled" v-model="newItem.disabled" />
|
88
88
|
<v-switch label="random icon" v-model="newItem.icon" />
|
89
89
|
<v-switch label="hasUpdate" v-model="newItem.hasUpdate" />
|
90
|
+
<v-switch label="rename action" v-model="newItem.renamable" />
|
90
91
|
<v-switch
|
91
|
-
label="rename action"
|
92
|
-
v-model="newItem.
|
92
|
+
label="toggle rename action"
|
93
|
+
v-model="newItem.toggleRename"
|
93
94
|
/>
|
94
95
|
<v-switch label="console.log action" v-model="newItem.action" />
|
95
96
|
<v-switch
|
@@ -162,7 +163,6 @@
|
|
162
163
|
VcsTextField,
|
163
164
|
Icons,
|
164
165
|
VcsFormSection,
|
165
|
-
createListItemRenameAction,
|
166
166
|
} from '@vcmap/ui';
|
167
167
|
import {
|
168
168
|
VSwitch,
|
@@ -247,7 +247,8 @@
|
|
247
247
|
disabled: false,
|
248
248
|
visible: true,
|
249
249
|
icon: false,
|
250
|
-
|
250
|
+
renamable: false,
|
251
|
+
toggleRename: false,
|
251
252
|
action: false,
|
252
253
|
clicked: false,
|
253
254
|
selected: false,
|
@@ -281,6 +282,7 @@
|
|
281
282
|
disabled: newItem.value.disabled,
|
282
283
|
visible: newItem.value.visible,
|
283
284
|
hasUpdate: newItem.value.hasUpdate,
|
285
|
+
renamable: newItem.value.renamable,
|
284
286
|
});
|
285
287
|
|
286
288
|
if (newItem.value.icon) {
|
@@ -289,9 +291,13 @@
|
|
289
291
|
|
290
292
|
item.actions = [];
|
291
293
|
|
292
|
-
if (newItem.value.
|
293
|
-
item.
|
294
|
-
|
294
|
+
if (newItem.value.toggleRename) {
|
295
|
+
item.actions.push({
|
296
|
+
name: 'toggle rename',
|
297
|
+
callback() {
|
298
|
+
item.renamable = !item.renamable;
|
299
|
+
},
|
300
|
+
});
|
295
301
|
}
|
296
302
|
|
297
303
|
if (newItem.value.action) {
|
@@ -320,6 +326,13 @@
|
|
320
326
|
}
|
321
327
|
};
|
322
328
|
}
|
329
|
+
|
330
|
+
if (newItem.value.renamable) {
|
331
|
+
item.titleChanged = (newTitle) => {
|
332
|
+
item.title = newTitle;
|
333
|
+
};
|
334
|
+
}
|
335
|
+
|
323
336
|
items.value.push(item);
|
324
337
|
newItem.value = {
|
325
338
|
name: 'foo',
|
@@ -327,7 +340,7 @@
|
|
327
340
|
disabled: false,
|
328
341
|
visible: true,
|
329
342
|
icon: false,
|
330
|
-
|
343
|
+
renamable: false,
|
331
344
|
action: false,
|
332
345
|
clicked: false,
|
333
346
|
selected: false,
|
@@ -1,27 +1,30 @@
|
|
1
1
|
<template>
|
2
2
|
<v-sheet>
|
3
|
-
<VcsFormSection
|
3
|
+
<VcsFormSection
|
4
|
+
heading="Style menus"
|
5
|
+
:header-actions="[resetExample, logStyle]"
|
6
|
+
>
|
4
7
|
<VcsVectorStyleComponent
|
5
|
-
v-model="styleOptions"
|
8
|
+
v-model="styleOptions.style"
|
6
9
|
:value-default="defaultStyleOptions"
|
7
10
|
/>
|
8
11
|
</VcsFormSection>
|
9
12
|
<VcsFormSection :expandable="true" heading="Fill Selector">
|
10
|
-
<VcsFillSelector v-model="styleOptions.fill" />
|
13
|
+
<VcsFillSelector v-model="styleOptions.style.fill" />
|
11
14
|
</VcsFormSection>
|
12
15
|
<VcsFormSection :expandable="true" heading="Stroke Selector">
|
13
|
-
<VcsStrokeSelector v-model="styleOptions.stroke" />
|
16
|
+
<VcsStrokeSelector v-model="styleOptions.style.stroke" />
|
14
17
|
</VcsFormSection>
|
15
18
|
<VcsFormSection :expandable="true" heading="Image Selector">
|
16
19
|
<VcsImageSelector
|
17
|
-
v-model="styleOptions.image"
|
20
|
+
v-model="styleOptions.style.image"
|
18
21
|
:value-default="defaultStyleOptions.image"
|
19
22
|
:extended-shape-settings="true"
|
20
23
|
/>
|
21
24
|
</VcsFormSection>
|
22
25
|
<VcsFormSection :expandable="true" heading="Text Selector">
|
23
26
|
<VcsTextSelector
|
24
|
-
v-model="styleOptions.text"
|
27
|
+
v-model="styleOptions.style.text"
|
25
28
|
:value-default="defaultStyleOptions.text"
|
26
29
|
/>
|
27
30
|
</VcsFormSection>
|
@@ -30,7 +33,7 @@
|
|
30
33
|
|
31
34
|
<script>
|
32
35
|
import { VSheet } from 'vuetify/components';
|
33
|
-
import {
|
36
|
+
import { reactive, toRaw } from 'vue';
|
34
37
|
import {
|
35
38
|
VcsFormSection,
|
36
39
|
VcsFillSelector,
|
@@ -40,8 +43,8 @@
|
|
40
43
|
VcsVectorStyleComponent,
|
41
44
|
VectorStyleMenus,
|
42
45
|
} from '@vcmap/ui';
|
43
|
-
import {
|
44
|
-
import { Fill,
|
46
|
+
import { getStyleOptions } from '@vcmap/core';
|
47
|
+
import { Fill, RegularShape, Stroke, Style, Text } from 'ol/style.js';
|
45
48
|
|
46
49
|
export default {
|
47
50
|
name: 'StyleExample',
|
@@ -97,93 +100,29 @@
|
|
97
100
|
},
|
98
101
|
};
|
99
102
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
image: undefined,
|
104
|
-
text: undefined,
|
105
|
-
});
|
106
|
-
|
107
|
-
const fill = exampleStyle.getFill();
|
108
|
-
const stroke = exampleStyle.getStroke();
|
109
|
-
const image = exampleStyle.getImage();
|
110
|
-
const text = exampleStyle.getText();
|
111
|
-
|
112
|
-
// TODO: Replace with new getStyleOptions from @vcmap/core as soon as available
|
113
|
-
if (fill) {
|
114
|
-
styleOptions.value.fill = {
|
115
|
-
color: parseColor(fill.getColor()),
|
116
|
-
};
|
117
|
-
}
|
118
|
-
if (stroke) {
|
119
|
-
styleOptions.value.stroke = {
|
120
|
-
color: parseColor(stroke.getColor()),
|
121
|
-
width: exampleStyle.getStroke().getWidth(),
|
122
|
-
};
|
123
|
-
}
|
124
|
-
if (image) {
|
125
|
-
if (image instanceof RegularShape) {
|
126
|
-
styleOptions.value.image = {
|
127
|
-
points: image.getPoints(),
|
128
|
-
radius: image.getRadius(),
|
129
|
-
radius2: image.getRadius2(),
|
130
|
-
angle: image.getAngle(),
|
131
|
-
fill: {
|
132
|
-
color: parseColor(image.getFill().getColor()),
|
133
|
-
},
|
134
|
-
stroke: {
|
135
|
-
color: parseColor(image.getStroke().getColor()),
|
136
|
-
width: image.getStroke().getWidth(),
|
137
|
-
},
|
138
|
-
};
|
139
|
-
} else if (image instanceof Icon) {
|
140
|
-
styleOptions.value.image = {
|
141
|
-
src: image.getSrc(),
|
142
|
-
scale: image.getScale(),
|
143
|
-
opacity: image.getOpacity(),
|
144
|
-
};
|
145
|
-
}
|
146
|
-
}
|
147
|
-
if (text) {
|
148
|
-
styleOptions.value.text = {
|
149
|
-
font: text.getFont(),
|
150
|
-
fill: {
|
151
|
-
color: parseColor(text.getFill()?.getColor()),
|
152
|
-
},
|
153
|
-
stroke: {
|
154
|
-
color: parseColor(text.getStroke()?.getColor()),
|
155
|
-
width: text.getStroke().getWidth(),
|
156
|
-
},
|
157
|
-
textBaseline: text.getTextBaseline(),
|
158
|
-
offsetY: text.getOffsetY(),
|
159
|
-
offsetX: text.getOffsetX(),
|
160
|
-
text: text.getText(),
|
161
|
-
};
|
162
|
-
}
|
163
|
-
|
164
|
-
onMounted(() => {
|
165
|
-
watchEffect(() => {
|
166
|
-
const newFill = styleOptions.value.fill;
|
167
|
-
const newStroke = styleOptions.value.stroke;
|
168
|
-
const newImage = styleOptions.value.image;
|
169
|
-
// const newText = styleOptions.value.text;
|
170
|
-
// TODO: Replace with new getStyleFromOptions from @vcmap/core as soon as available
|
171
|
-
exampleStyle.setFill(newFill ? new Fill(newFill) : null);
|
172
|
-
exampleStyle.setStroke(newStroke ? new Stroke(newStroke) : null);
|
173
|
-
if (newImage?.points) {
|
174
|
-
// exampleStyle.setImage(new RegularShape(newImage));
|
175
|
-
} else if (newImage?.src) {
|
176
|
-
exampleStyle.setImage(new Icon(newImage));
|
177
|
-
} else {
|
178
|
-
exampleStyle.setImage(null);
|
179
|
-
}
|
180
|
-
});
|
103
|
+
// use reactive wrapper object to ensure updates
|
104
|
+
const styleOptions = reactive({
|
105
|
+
style: getStyleOptions(exampleStyle),
|
181
106
|
});
|
182
107
|
|
183
108
|
return {
|
184
109
|
styleOptions,
|
185
110
|
defaultStyleOptions,
|
186
111
|
VectorStyleMenus,
|
112
|
+
resetExample: {
|
113
|
+
name: 'resetExample',
|
114
|
+
icon: 'mdi-sync',
|
115
|
+
callback() {
|
116
|
+
styleOptions.style = getStyleOptions(exampleStyle);
|
117
|
+
},
|
118
|
+
},
|
119
|
+
logStyle: {
|
120
|
+
name: 'logStyle',
|
121
|
+
icon: 'mdi-console',
|
122
|
+
callback() {
|
123
|
+
console.log(toRaw(styleOptions.style));
|
124
|
+
},
|
125
|
+
},
|
187
126
|
};
|
188
127
|
},
|
189
128
|
};
|
@@ -0,0 +1,25 @@
|
|
1
|
+
> *Note:* Please use the main [MaterialDesign](https://github.com/Templarian/MaterialDesign/issues) repo to report issues. This repo is for distribution of the Webfont files only.
|
2
|
+
|
3
|
+
# Webfont - Material Design Icons
|
4
|
+
|
5
|
+
Webfont distribution for the [Material Design Icons](https://materialdesignicons.com).
|
6
|
+
|
7
|
+
```
|
8
|
+
npm install @mdi/font
|
9
|
+
```
|
10
|
+
|
11
|
+
> Package built with [@mdi/font-build](https://github.com/Templarian/MaterialDesign-Font-Build).
|
12
|
+
|
13
|
+
## Related Packages
|
14
|
+
|
15
|
+
[NPM @MDI Organization](https://npmjs.com/org/mdi)
|
16
|
+
|
17
|
+
- JavaScript/Typescript: [MaterialDesign-JS](https://github.com/Templarian/MaterialDesign-JS)
|
18
|
+
- SVG: [MaterialDesign-SVG](https://github.com/Templarian/MaterialDesign-SVG)
|
19
|
+
- Font-Build [MaterialDesign-Font-Build](https://github.com/Templarian/MaterialDesign-Font-Build)
|
20
|
+
- Desktop Font: [MaterialDesign-Font](https://github.com/Templarian/MaterialDesign-Font)
|
21
|
+
|
22
|
+
## Learn More
|
23
|
+
|
24
|
+
- [MaterialDesignIcons.com](https://materialdesignicons.com)
|
25
|
+
- https://github.com/Templarian/MaterialDesign
|