glib-web 2.5.0 → 3.0.0-beta1

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.
Files changed (209) hide show
  1. package/.eslintrc.js +0 -0
  2. package/LICENSE +0 -0
  3. package/README.md +0 -0
  4. package/action.js +6 -1
  5. package/actions/analytics/logEvent.js +0 -0
  6. package/actions/auth/creditCard.js +0 -0
  7. package/actions/auth/restart.js +0 -0
  8. package/actions/auth/saveCsrfToken.js +0 -0
  9. package/actions/cables/push.js +0 -0
  10. package/actions/commands/copy.js +0 -0
  11. package/actions/commands/enqueue.js +17 -0
  12. package/actions/components/update.js +13 -14
  13. package/actions/dialogs/alert.js +0 -0
  14. package/actions/dialogs/close.js +0 -0
  15. package/actions/dialogs/notification.js +0 -0
  16. package/actions/dialogs/oauth.js +0 -0
  17. package/actions/dialogs/open.js +0 -0
  18. package/actions/dialogs/options.js +0 -0
  19. package/actions/dialogs/reload.js +0 -0
  20. package/actions/dialogs/show.js +0 -0
  21. package/actions/http/delete.js +0 -0
  22. package/actions/http/patch.js +0 -0
  23. package/actions/http/post.js +0 -0
  24. package/actions/http/put.js +0 -0
  25. package/actions/panels/scrollTo.js +0 -0
  26. package/actions/panels/scrollToBottom.js +0 -0
  27. package/actions/runMultiple.js +0 -0
  28. package/actions/sheets/select.js +0 -0
  29. package/actions/snackbars/alert.js +0 -0
  30. package/actions/snackbars/select.js +0 -0
  31. package/actions/timeouts/set.js +0 -0
  32. package/actions/tours/start.js +0 -0
  33. package/actions/windows/close.js +0 -0
  34. package/actions/windows/closeAll.js +0 -0
  35. package/actions/windows/closeWithReload.js +0 -0
  36. package/actions/windows/open.js +0 -0
  37. package/actions/windows/openWeb.js +0 -0
  38. package/actions/windows/print.js +0 -0
  39. package/actions/windows/refreshState.js +0 -0
  40. package/actions/windows/reload.js +0 -0
  41. package/actions/ws/push.js +0 -0
  42. package/app.vue +25 -26
  43. package/components/_button.vue +21 -28
  44. package/components/_chip.vue +14 -19
  45. package/components/_dropdownMenu.vue +10 -23
  46. package/components/_icon.vue +5 -5
  47. package/components/_message.vue +0 -0
  48. package/components/_responsive.vue +7 -21
  49. package/components/avatar.vue +11 -15
  50. package/components/banners/alert.vue +2 -7
  51. package/components/banners/select.vue +18 -30
  52. package/components/button.vue +5 -5
  53. package/components/calendar.vue +0 -0
  54. package/components/component.vue +96 -101
  55. package/components/datetime.vue +0 -0
  56. package/components/fab.vue +0 -0
  57. package/components/fields/_patternText.vue +5 -19
  58. package/components/fields/_select.vue +7 -28
  59. package/components/fields/autocomplete.vue +5 -21
  60. package/components/fields/check.vue +19 -11
  61. package/components/fields/country/countries.js +0 -0
  62. package/components/fields/country/field.vue +9 -27
  63. package/components/fields/country/regions.js +0 -0
  64. package/components/fields/creditCard.vue +0 -0
  65. package/components/fields/date.vue +5 -5
  66. package/components/fields/datetime.vue +5 -5
  67. package/components/fields/dynamicSelect.vue +8 -29
  68. package/components/fields/file.vue +0 -0
  69. package/components/fields/googlePlace.vue +0 -0
  70. package/components/fields/hidden.vue +0 -0
  71. package/components/fields/location.vue +0 -0
  72. package/components/fields/newRichText.vue +66 -53
  73. package/components/fields/otpField.vue +6 -14
  74. package/components/fields/phone/countries.js +0 -0
  75. package/components/fields/phone/field.vue +60 -78
  76. package/components/fields/phone/sprite.css +0 -0
  77. package/components/fields/radio.vue +16 -23
  78. package/components/fields/rating.vue +9 -16
  79. package/components/fields/richText.vue +8 -28
  80. package/components/fields/select.vue +10 -7
  81. package/components/fields/stripe/stripeFields.vue +0 -0
  82. package/components/fields/stripe/stripeIndividualFields.vue +0 -0
  83. package/components/fields/stripeExternalAccount.vue +10 -24
  84. package/components/fields/stripeToken.vue +0 -0
  85. package/components/fields/submit.vue +0 -0
  86. package/components/fields/text.vue +24 -40
  87. package/components/fields/textarea.vue +13 -27
  88. package/components/fields/timeZone.vue +9 -6
  89. package/components/fields/timer.vue +3 -10
  90. package/components/h1.vue +0 -0
  91. package/components/h2.vue +0 -0
  92. package/components/h3.vue +0 -0
  93. package/components/h5.vue +0 -0
  94. package/components/h6.vue +0 -0
  95. package/components/hr.vue +0 -0
  96. package/components/html.vue +0 -0
  97. package/components/icon.vue +0 -0
  98. package/components/image.vue +13 -20
  99. package/components/label.vue +0 -0
  100. package/components/markdown.vue +15 -8
  101. package/components/mixins/chart/annotation.js +0 -0
  102. package/components/mixins/chart/tooltip.js +0 -0
  103. package/components/mixins/dataset.js +0 -0
  104. package/components/mixins/events.js +17 -6
  105. package/components/mixins/extension.js +0 -0
  106. package/components/mixins/list/autoload.js +0 -0
  107. package/components/mixins/longClick.js +0 -0
  108. package/components/mixins/scrolling.js +0 -0
  109. package/components/mixins/styles.js +18 -15
  110. package/components/mixins/table/autoload.js +0 -0
  111. package/components/mixins/table/export.js +0 -0
  112. package/components/mixins/table/import.js +0 -0
  113. package/components/mixins/text.js +0 -0
  114. package/components/mixins/ws/actionCable.js +0 -0
  115. package/components/mixins/ws/phoenixSocket.js +0 -0
  116. package/components/multimedia/video.vue +0 -0
  117. package/components/p.vue +0 -0
  118. package/components/panels/carousel.vue +0 -0
  119. package/components/panels/column.vue +5 -5
  120. package/components/panels/custom.vue +15 -15
  121. package/components/panels/flow.vue +19 -13
  122. package/components/panels/form.vue +17 -28
  123. package/components/panels/grid.vue +15 -9
  124. package/components/panels/horizontal.vue +149 -18
  125. package/components/panels/list.vue +63 -70
  126. package/components/panels/responsive.vue +13 -33
  127. package/components/panels/scroll.vue +0 -0
  128. package/components/panels/split.vue +2 -2
  129. package/components/panels/table.vue +27 -61
  130. package/components/panels/timeline.vue +20 -30
  131. package/components/panels/vertical.vue +9 -14
  132. package/components/panels/web.vue +0 -0
  133. package/components/progressbar.vue +0 -0
  134. package/components/spacer.vue +0 -0
  135. package/components/switch.vue +0 -0
  136. package/components/tabBar.vue +27 -19
  137. package/index.js +68 -72
  138. package/keys.js +0 -0
  139. package/nav/appbar.vue +4 -4
  140. package/nav/dialog.vue +24 -34
  141. package/nav/drawer.vue +39 -51
  142. package/nav/drawerButton.vue +5 -7
  143. package/nav/drawerLabel.vue +2 -3
  144. package/nav/sheet.vue +18 -24
  145. package/nav/snackbar.vue +16 -26
  146. package/package.json +10 -11
  147. package/plugins/driverCustomBehavior.js +1 -1
  148. package/plugins/updatableComponent.js +1 -7
  149. package/plugins/vuetify.js +27 -0
  150. package/settings.json.example +0 -0
  151. package/static/plugins/alignment/alignment.js +0 -0
  152. package/static/plugins/alignment/alignment.min.js +0 -0
  153. package/static/plugins/beyondgrammar/beyondgrammar.js +0 -0
  154. package/static/plugins/beyondgrammar/beyondgrammar.min.js +0 -0
  155. package/static/plugins/blockcode/blockcode.js +0 -0
  156. package/static/plugins/blockcode/blockcode.min.js +0 -0
  157. package/static/plugins/clips/clips.js +0 -0
  158. package/static/plugins/clips/clips.min.js +0 -0
  159. package/static/plugins/counter/counter.js +0 -0
  160. package/static/plugins/counter/counter.min.js +0 -0
  161. package/static/plugins/definedlinks/definedlinks.js +0 -0
  162. package/static/plugins/definedlinks/definedlinks.min.js +0 -0
  163. package/static/plugins/handle/handle.js +0 -0
  164. package/static/plugins/handle/handle.min.js +0 -0
  165. package/static/plugins/icons/icons.js +0 -0
  166. package/static/plugins/icons/icons.min.js +0 -0
  167. package/static/plugins/imageposition/imageposition.js +0 -0
  168. package/static/plugins/imageposition/imageposition.min.js +0 -0
  169. package/static/plugins/inlineformat/inlineformat.js +0 -0
  170. package/static/plugins/inlineformat/inlineformat.min.js +0 -0
  171. package/static/plugins/removeformat/removeformat.js +0 -0
  172. package/static/plugins/removeformat/removeformat.min.js +0 -0
  173. package/static/plugins/selector/selector.js +0 -0
  174. package/static/plugins/selector/selector.min.js +0 -0
  175. package/static/plugins/specialchars/specialchars.js +0 -0
  176. package/static/plugins/specialchars/specialchars.min.js +0 -0
  177. package/static/plugins/textdirection/textdirection.js +0 -0
  178. package/static/plugins/textdirection/textdirection.min.js +0 -0
  179. package/static/plugins/textexpander/textexpander.js +0 -0
  180. package/static/plugins/textexpander/textexpander.min.js +0 -0
  181. package/static/plugins/underline/underline.js +0 -0
  182. package/static/plugins/underline/underline.min.js +0 -0
  183. package/static/redactorx.css +0 -0
  184. package/static/redactorx.js +0 -0
  185. package/static/redactorx.min.css +0 -0
  186. package/static/redactorx.min.js +0 -0
  187. package/static/redactorx.usm.min.js +0 -0
  188. package/styles/test.sass +0 -0
  189. package/styles/test.scss +0 -0
  190. package/templates/_menu.vue +0 -0
  191. package/templates/comment.vue +42 -19
  192. package/templates/featured.vue +8 -9
  193. package/templates/thumbnail-old.vue +188 -0
  194. package/templates/thumbnail.vue +5 -188
  195. package/templates/unsupported.vue +0 -0
  196. package/tsconfig.json +1 -1
  197. package/utils/dom.js +0 -0
  198. package/utils/eventBus.js +9 -2
  199. package/utils/helper.js +0 -0
  200. package/utils/history.js +7 -4
  201. package/utils/http.js +7 -2
  202. package/utils/launch.js +43 -51
  203. package/utils/mime_type.js +0 -0
  204. package/utils/private/ws.js +0 -0
  205. package/utils/public.js +6 -0
  206. package/utils/queue.js +110 -0
  207. package/utils/settings.js +3 -1
  208. package/utils/type.js +0 -0
  209. package/utils/uploader.js +0 -0
@@ -1,11 +1,6 @@
1
1
  <template>
2
- <v-alert
3
- :style="genericStyles()"
4
- :class="$classes()"
5
- :value="true"
6
- :color="color"
7
- :outlined="!$classes().includes('frameless')"
8
- >
2
+ <v-alert :style="genericStyles()" :class="$classes()" :value="true" :color="color"
3
+ :outlined="!$classes().includes('frameless') || null">
9
4
  <!-- <span class="padder" v-if="spec.icon"><common-icon :spec="spec.icon || {}" /></span> -->
10
5
  <!-- <common-icon :spec="spec.icon || {}" /> -->
11
6
  <common-message :spec="spec" />
@@ -1,34 +1,21 @@
1
1
  <template>
2
- <v-banner
3
- :style="genericStyles()"
4
- :class="$classes()"
5
- :color="spec.color || color"
6
- :dark="dark"
7
- single-line
8
- :outlined="!$classes().includes('frameless')"
9
- >
10
- <common-icon v-if="spec.icon" slot="icon" :spec="spec.icon" />
2
+ <div :style="genericStyles()" :class="$classes()" :color="spec.color || color">
3
+ <v-banner>
11
4
 
12
- <common-message :spec="spec" />
13
-
14
- <template v-slot:actions>
15
- <template v-for="(item, index) in spec.buttons">
16
- <common-dropdownMenu
17
- v-if="item.childButtons"
18
- :key="index"
19
- :spec="item"
20
- :disabled="$isBusy"
21
- />
22
- <common-button
23
- v-else
24
- :key="index"
25
- :spec="buttonSpec(item)"
26
- :disabled="$isBusy"
27
- :hide-text-on-xs="true"
28
- />
5
+ <template v-if="spec.icon" v-slot:prepend>
6
+ <common-icon slot="icon" :spec="spec.icon" />
29
7
  </template>
30
- </template>
31
- </v-banner>
8
+
9
+ <v-banner-text>{{ spec.message }}</v-banner-text>
10
+
11
+ <v-banner-actions>
12
+ <template v-for="(item, index) in spec.buttons">
13
+ <common-dropdownMenu v-if="item.childButtons" :key="'left-' + index" :spec="item" :disabled="$isBusy" />
14
+ <common-button v-else :key="index" :spec="buttonSpec(item)" :disabled="$isBusy" :hide-text-on-xs="true" />
15
+ </template>
16
+ </v-banner-actions>
17
+ </v-banner>
18
+ </div>
32
19
  </template>
33
20
 
34
21
  <script>
@@ -68,11 +55,12 @@ export default {
68
55
  .frameless {
69
56
  padding: 0;
70
57
  }
58
+
71
59
  .v-list-item {
72
60
  padding: 0 8px 0 8px;
73
61
 
74
- > a,
75
- > button {
62
+ >a,
63
+ >button {
76
64
  width: 100%;
77
65
  min-height: 48px;
78
66
  justify-content: flex-start;
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <common-tooltip ref="tooltip" :spec="spec">
3
- <template v-slot:activator="{ on }">
4
- <common-button :spec="spec" :disabled="$isBusy" :event-handlers="on" />
5
- </template>
6
- </common-tooltip>
2
+ <!-- <common-tooltip ref="tooltip" :spec="spec"> -->
3
+ <!-- <template v-slot:activator="{ on }"> -->
4
+ <common-button :spec="spec" :disabled="$isBusy" />
5
+ <!-- </template> -->
6
+ <!-- </common-tooltip> -->
7
7
  </template>
8
8
 
9
9
  <script>
File without changes
@@ -3,11 +3,7 @@
3
3
  <fields-text v-else-if="name == 'fields-number'" :spec="spec" type="number" />
4
4
  <fields-text v-else-if="name == 'fields-email'" :spec="spec" type="email" />
5
5
  <fields-text v-else-if="name == 'fields-url'" :spec="spec" type="url" />
6
- <fields-text
7
- v-else-if="name == 'fields-password'"
8
- :spec="spec"
9
- type="password"
10
- />
6
+ <fields-text v-else-if="name == 'fields-password'" :spec="spec" type="password" />
11
7
  <!-- <fields-textarea v-else-if="spec.view == 'fields/textarea-v1'" :spec="spec" />
12
8
  <fields-richText v-else-if="spec.view == 'fields/richText-v1'" :spec="spec" /> -->
13
9
  <!-- <fields-file v-else-if="spec.view == 'fields/file-v1'" :spec="spec" />
@@ -19,10 +15,7 @@
19
15
  <!-- <fields-country v-else-if="spec.view == 'fields/country-v1'" :spec="spec" /> -->
20
16
 
21
17
  <!-- <fields-latLong v-else-if="spec.view == 'fields/latLong-v1'" :spec="spec" /> -->
22
- <fields-googlePlace
23
- v-else-if="spec.view == 'fields/googlePlace-v1'"
24
- :spec="spec"
25
- />
18
+ <fields-googlePlace v-else-if="spec.view == 'fields/googlePlace-v1'" :spec="spec" />
26
19
 
27
20
  <!-- <panels-responsive v-else-if="spec.view == 'panels/scroll-v1'" :spec="spec" /> -->
28
21
 
@@ -32,93 +25,95 @@
32
25
  </template>
33
26
 
34
27
  <script>
35
- import H1 from "./h1";
36
- import H2 from "./h2";
37
- import H3 from "./h3";
38
- import H4 from "./h4";
39
- import H5 from "./h5";
40
- import H6 from "./h6";
41
- import Label from "./label";
42
- import P from "./p";
43
- import Markdown from "./markdown";
44
- import Html from "./html";
45
- import Chip from "./chip";
46
- import Datetime from "./datetime";
47
-
48
- import ProgressBar from "./progressbar";
28
+ import H1 from "./h1.vue";
29
+ import H2 from "./h2.vue";
30
+ import H3 from "./h3.vue";
31
+ import H4 from "./h4.vue";
32
+ import H5 from "./h5.vue";
33
+ import H6 from "./h6.vue";
34
+ import Label from "./label.vue";
35
+ import P from "./p.vue";
36
+ import Markdown from "./markdown.vue";
37
+ import Html from "./html.vue";
38
+ import Chip from "./chip.vue";
39
+ import Datetime from "./datetime.vue";
40
+
41
+ import ProgressBar from "./progressbar.vue";
49
42
  import ProgressCircle from "./progressCircle.vue";
50
43
 
51
- import Image from "./image";
52
- import Avatar from "./avatar";
53
- import Icon from "./icon";
54
-
55
- import Button from "./button";
56
- import Fab from "./fab";
57
- import Switch from "./switch";
58
-
59
- import Hr from "./hr";
60
- import Spacer from "./spacer";
61
-
62
- import Map from "./map";
63
- import TabBar from "./tabBar";
64
- import Calendar from "./calendar";
65
-
66
- import HiddenField from "./fields/hidden";
67
- import TextField from "./fields/text";
68
- import SubmitField from "./fields/submit";
69
- import TextAreaField from "./fields/textarea";
70
- import RichTextField from "./fields/richText";
71
- import NewRichTextField from "./fields/newRichText";
72
- import FileField from "./fields/file";
73
- import AutocompleteField from "./fields/autocomplete";
74
- import SelectField from "./fields/select";
75
- import TimeZoneField from "./fields/timeZone";
76
- import DynamicSelectField from "./fields/dynamicSelect";
77
- import CountryField from "./fields/country/field";
78
- import RadioGroupField from "./fields/radioGroup";
79
- import RadioField from "./fields/radio";
80
- import CheckGroupField from "./fields/checkGroup";
81
- import CheckField from "./fields/check";
82
- import DateField from "./fields/date";
83
- import DateTimeField from "./fields/datetime";
84
- import LocationField from "./fields/location";
85
- import GooglePlaceField from "./fields/googlePlace";
86
- import DynamicGroupField from "./fields/dynamicGroup";
87
- import StripeTokenField from "./fields/stripeToken";
88
- import StripeExternalAccount from "./fields/stripeExternalAccount";
89
- import CreditCardField from "./fields/creditCard";
90
- import RatingField from "./fields/rating";
91
- import PhoneField from "./fields/phone/field";
92
- import TimerField from "./fields/timer";
93
- import OtpField from "./fields/otpField";
94
-
95
- import ScrollPanel from "./panels/scroll";
96
- import VerticalPanel from "./panels/vertical";
97
- import HorizontalPanel from "./panels/horizontal";
98
- import FlowPanel from "./panels/flow";
99
- import SplitPanel from "./panels/split";
100
- import FormPanel from "./panels/form";
101
- import ListPanel from "./panels/list";
102
- import CarouselPanel from "./panels/carousel";
103
- import TablePanel from "./panels/table";
104
- import CustomPanel from "./panels/custom";
105
- import ColumnPanel from "./panels/column";
106
- import ResponsivePanel from "./panels/responsive";
107
- import UlPanel from "./panels/ul";
108
- import WebPanel from "./panels/web";
109
- import GridPanel from "./panels/grid";
110
- import TimelinePanel from "./panels/timeline";
111
-
112
- import MultimediaVideo from "./multimedia/video";
113
-
114
- import AlertBanner from "./banners/alert";
115
- import SelectBanner from "./banners/select";
116
-
117
- import LineChart from "./charts/line";
118
- import ColumnChart from "./charts/column";
119
- import PieChart from "./charts/pie";
120
-
121
- import ShareButton from "./shareButton";
44
+ import Image from "./image.vue";
45
+ import Avatar from "./avatar.vue";
46
+ import Icon from "./icon.vue";
47
+
48
+ import Button from "./button.vue";
49
+ import Fab from "./fab.vue";
50
+ import Switch from "./switch.vue";
51
+
52
+ import Hr from "./hr.vue";
53
+ import Spacer from "./spacer.vue";
54
+
55
+ // import Map from "./map.vue";
56
+ import TabBar from "./tabBar.vue";
57
+ import Calendar from "./calendar.vue";
58
+
59
+ import HiddenField from "./fields/hidden.vue";
60
+ import TextField from "./fields/text.vue";
61
+ import SubmitField from "./fields/submit.vue";
62
+ import TextAreaField from "./fields/textarea.vue";
63
+ import RichTextField from "./fields/richText.vue";
64
+ // import NewRichTextField from "./fields/newRichText.vue";
65
+ import FileField from "./fields/file.vue";
66
+ import AutocompleteField from "./fields/autocomplete.vue";
67
+ import SelectField from "./fields/select.vue";
68
+ import TimeZoneField from "./fields/timeZone.vue";
69
+ import DynamicSelectField from "./fields/dynamicSelect.vue";
70
+ import CountryField from "./fields/country/field.vue";
71
+ import RadioGroupField from "./fields/radioGroup.vue";
72
+ import RadioField from "./fields/radio.vue";
73
+ import CheckGroupField from "./fields/checkGroup.vue";
74
+ import CheckField from "./fields/check.vue";
75
+ import DateField from "./fields/date.vue";
76
+ import DateTimeField from "./fields/datetime.vue";
77
+ import LocationField from "./fields/location.vue";
78
+ import GooglePlaceField from "./fields/googlePlace.vue";
79
+ import DynamicGroupField from "./fields/dynamicGroup.vue";
80
+ import StripeTokenField from "./fields/stripeToken.vue";
81
+ import StripeExternalAccount from "./fields/stripeExternalAccount.vue";
82
+ import CreditCardField from "./fields/creditCard.vue";
83
+ import RatingField from "./fields/rating.vue";
84
+ import PhoneField from "./fields/phone/field.vue";
85
+ import TimerField from "./fields/timer.vue";
86
+ import OtpField from "./fields/otpField.vue";
87
+
88
+ import ScrollPanel from "./panels/scroll.vue";
89
+ import VerticalPanel from "./panels/vertical.vue";
90
+ import HorizontalPanel from "./panels/horizontal.vue";
91
+ import FlowPanel from "./panels/flow.vue";
92
+ import SplitPanel from "./panels/split.vue";
93
+ import FormPanel from "./panels/form.vue";
94
+ import ListPanel from "./panels/list.vue";
95
+ import CarouselPanel from "./panels/carousel.vue";
96
+ import TablePanel from "./panels/table.vue";
97
+ import CustomPanel from "./panels/custom.vue";
98
+ import ColumnPanel from "./panels/column.vue";
99
+ import ResponsivePanel from "./panels/responsive.vue";
100
+ import UlPanel from "./panels/ul.vue";
101
+ import WebPanel from "./panels/web.vue";
102
+ import GridPanel from "./panels/grid.vue";
103
+ import TimelinePanel from "./panels/timeline.vue";
104
+
105
+ import MultimediaVideo from "./multimedia/video.vue";
106
+
107
+ import AlertBanner from "./banners/alert.vue";
108
+ import SelectBanner from "./banners/select.vue";
109
+
110
+ import LineChart from "./charts/line.vue";
111
+ import ColumnChart from "./charts/column.vue";
112
+ import PieChart from "./charts/pie.vue";
113
+
114
+ import ShareButton from "./shareButton.vue";
115
+
116
+ import { getCurrentInstance } from 'vue';
122
117
 
123
118
  export default {
124
119
  components: {
@@ -158,7 +153,7 @@ export default {
158
153
  "fields-submit": SubmitField,
159
154
  "fields-textarea": TextAreaField,
160
155
  "fields-richText": RichTextField,
161
- "fields-newRichText": NewRichTextField,
156
+ // "fields-newRichText": NewRichTextField,
162
157
  "fields-file": FileField,
163
158
  "fields-autocomplete": AutocompleteField,
164
159
  "fields-select": SelectField,
@@ -206,14 +201,14 @@ export default {
206
201
 
207
202
  "charts-line": LineChart,
208
203
  "charts-column": ColumnChart,
209
- "charts-pie": PieChart
204
+ "charts-pie": PieChart,
210
205
  },
211
206
  props: {
212
- spec: { type: Object, required: true }
207
+ spec: { type: Object, required: true },
213
208
  },
214
209
  data() {
215
210
  return {
216
- name: null
211
+ name: null,
217
212
  };
218
213
  },
219
214
  beforeUpdate() {
@@ -230,15 +225,15 @@ export default {
230
225
  if (strict) {
231
226
  this.name = name;
232
227
  } else {
233
- if (this.$options.components[name]) {
228
+ if (getCurrentInstance().appContext.app.components[name]) {
234
229
  this.name = name;
235
230
  }
236
231
  }
237
232
  },
238
233
  $registryEnabled() {
239
234
  return false;
240
- }
241
- }
235
+ },
236
+ },
242
237
  };
243
238
  </script>
244
239
 
File without changes
File without changes
@@ -1,25 +1,11 @@
1
1
  <template>
2
2
  <div :style="$styles()" :class="classes()">
3
3
  <!-- See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date for why we need to use `pattern` -->
4
- <v-text-field
5
- v-model="fieldModel"
6
- :name="fieldName"
7
- :label="spec.label"
8
- :value="spec.value"
9
- :hint="spec.hint"
10
- :type="type"
11
- :readonly="spec.readOnly || false"
12
- :disabled="spec.readOnly"
13
- :min="$sanitizeValue(spec.min)"
14
- :max="$sanitizeValue(spec.max)"
15
- :pattern="pattern"
16
- :rules="$validation()"
17
- :outlined="$classes().includes('outlined')"
18
- :style="$styles()"
19
- :dense="$classes().includes('dense')"
20
- clearable
21
- @input="onChange"
22
- />
4
+ <v-text-field v-model="fieldModel" :name="fieldName" :label="spec.label" :value="spec.value" :hint="spec.hint"
5
+ :type="type" :readonly="spec.readOnly || false" :disabled="spec.readOnly" :min="$sanitizeValue(spec.min)"
6
+ :max="$sanitizeValue(spec.max)" :pattern="pattern" :rules="$validation()"
7
+ :outlined="$classes().includes('outlined') || null" :style="$styles()" :dense="$classes().includes('dense') || null"
8
+ clearable @input="onChange" />
23
9
  </div>
24
10
  </template>
25
11
 
@@ -1,33 +1,12 @@
1
1
  <template>
2
2
  <div :style="$styles()" :class="classes()">
3
- <v-autocomplete
4
- v-model="fieldModel"
5
- :label="spec.label"
6
- :items="options"
7
- :chips="spec.multiple"
8
- :deletable-chips="spec.multiple"
9
- :multiple="spec.multiple"
10
- :disabled="spec.readOnly"
11
- :clearable="!spec.readOnly"
12
- :hint="spec.hint"
13
- :placeholder="spec.placeholder"
14
- :rules="rules"
15
- validate-on-blur
16
- persistent-hint
17
- :class="$classes()"
18
- :dense="$classes().includes('dense')"
19
- :outlined="$classes().includes('outlined')"
20
- :append-icon="append.icon"
21
- @change="onChange"
22
- />
3
+ <v-autocomplete v-model="fieldModel" :label="spec.label" :items="options || []" :chips="spec.multiple"
4
+ :deletable-chips="spec.multiple" :multiple="spec.multiple" :disabled="spec.readOnly" :clearable="!spec.readOnly"
5
+ :hint="spec.hint" :placeholder="spec.placeholder" :rules="rules" validate-on-blur persistent-hint
6
+ :class="$classes()" :dense="$classes().includes('dense') || null"
7
+ :outlined="$classes().includes('outlined') || null" :append-icon="append.icon" @change="onChange" />
23
8
 
24
- <input
25
- v-for="(item, index) in values"
26
- :key="index"
27
- type="hidden"
28
- :name="fieldName"
29
- :value="item"
30
- />
9
+ <input v-for="(item, index) in values" :key="index" type="hidden" :name="fieldName" :value="item" />
31
10
  </div>
32
11
  </template>
33
12
 
@@ -71,7 +50,7 @@ export default {
71
50
  case "divider":
72
51
  return { divider: true };
73
52
  default:
74
- return i;
53
+ return { 'title': i.text, 'value': i.value };
75
54
  }
76
55
  });
77
56
  },
@@ -1,28 +1,12 @@
1
1
  <!-- TODO: Remove (deprecated) -->
2
2
  <template>
3
3
  <div :style="genericStyles()">
4
- <v-combobox
5
- v-model="fieldModel"
6
- :label="spec.label"
7
- :items="options"
8
- :chips="spec.multiple"
9
- :deletable-chips="spec.multiple"
10
- :multiple="spec.multiple"
11
- :readonly="spec.readOnly"
12
- :disabled="spec.readOnly"
13
- :hint="spec.hint"
14
- :placeholder="spec.placeholder"
15
- :outlined="$classes().includes('outlined')"
16
- :append-icon="append.icon"
17
- />
4
+ <v-combobox v-model="fieldModel" :label="spec.label" :items="options" :chips="spec.multiple"
5
+ :deletable-chips="spec.multiple" :multiple="spec.multiple" :readonly="spec.readOnly" :disabled="spec.readOnly"
6
+ :hint="spec.hint" :placeholder="spec.placeholder" :outlined="$classes().includes('outlined') || null"
7
+ :append-icon="append.icon" />
18
8
 
19
- <input
20
- v-for="(item, index) in values"
21
- :key="index"
22
- type="hidden"
23
- :name="fieldName"
24
- :value="item"
25
- />
9
+ <input v-for="(item, index) in values" :key="index" type="hidden" :name="fieldName" :value="item" />
26
10
  </div>
27
11
  </template>
28
12
 
@@ -1,13 +1,19 @@
1
1
  <template>
2
- <div :class="$classes()" :style="$styles()">
2
+ <div
3
+ :class="$classes()"
4
+ :style="$styles()"
5
+ >
3
6
  <!-- This hidden field should always be there to make sure the submitted param is not empty,
4
7
  which could cause "Not accessible" error on the server. -->
5
- <input type="hidden" :name="fieldName" :value="spec.uncheckValue" />
8
+ <input
9
+ v-model="uncheckValue"
10
+ type="hidden"
11
+ :name="fieldName"
12
+ />
6
13
  <v-checkbox
7
14
  v-model="fieldModel"
8
15
  :name="fieldName"
9
16
  :disabled="spec.readOnly"
10
- :value="spec.checkValue"
11
17
  :label="fieldModel ? spec.onLabel || spec.label : spec.label"
12
18
  :on-icon="spec.onIcon"
13
19
  :off-icon="spec.offIcon"
@@ -20,22 +26,24 @@
20
26
  <script>
21
27
  export default {
22
28
  props: {
23
- spec: { type: Object, required: true }
29
+ spec: { type: Object, required: true },
24
30
  },
25
31
  data() {
26
32
  return {
27
33
  groupName: null,
28
- fieldType: null
34
+ fieldType: null,
29
35
  };
30
36
  },
31
37
  methods: {
32
38
  $ready() {
39
+ this.fieldModel = this.checkValue;
40
+ this.uncheckValue = this.spec.uncheckValue;
33
41
  this.groupElement = this.$el.closest("[data-component=checkGroup]");
34
42
 
35
43
  let groupName = null;
36
44
  this.$type.ifObject(
37
45
  this.groupElement,
38
- val => (groupName = val.getAttribute("name"))
46
+ (val) => (groupName = val.getAttribute("name"))
39
47
  );
40
48
 
41
49
  this.fieldName = this.spec.name || groupName;
@@ -44,7 +52,7 @@ export default {
44
52
  ? this.spec.checkValue
45
53
  : this.spec.value;
46
54
 
47
- Utils.type.ifArray(this.spec.styleClasses, classes => {
55
+ Utils.type.ifArray(this.spec.styleClasses, (classes) => {
48
56
  if (classes.remove("switch")) {
49
57
  this.fieldType = "switch";
50
58
  }
@@ -53,7 +61,7 @@ export default {
53
61
  changed(event) {
54
62
  // Execute later to ensure the checkbox's checked state has been updated.
55
63
  setTimeout(() => {
56
- this.$type.ifObject(this.groupElement, val =>
64
+ this.$type.ifObject(this.groupElement, (val) =>
57
65
  val.dispatchEvent(new Event("change"))
58
66
  );
59
67
  }, 100);
@@ -64,7 +72,7 @@ export default {
64
72
  // }, 200);
65
73
  // }
66
74
 
67
- Utils.type.ifObject(this.spec.onChange, onChange => {
75
+ Utils.type.ifObject(this.spec.onChange, (onChange) => {
68
76
  this.$nextTick(() => {
69
77
  GLib.action.execute(onChange, this);
70
78
  });
@@ -75,8 +83,8 @@ export default {
75
83
  return val;
76
84
  }
77
85
  return this.spec.uncheckValue;
78
- }
79
- }
86
+ },
87
+ },
80
88
  };
81
89
  </script>
82
90
 
File without changes
@@ -19,32 +19,14 @@
19
19
  :value="regionField.value"
20
20
  />-->
21
21
 
22
- <v-autocomplete
23
- v-model="country"
24
- :label="spec.label"
25
- :name="spec.name"
26
- :items="countryOptions"
27
- :readonly="spec.readOnly"
28
- :disabled="spec.readOnly"
29
- :clearable="!spec.readOnly"
30
- :hint="spec.hint"
31
- persistent-hint
32
- :outlined="$classes().includes('outlined')"
33
- />
22
+ <v-autocomplete v-model="country" :label="spec.label" :name="spec.name" :items="countryOptions"
23
+ :readonly="spec.readOnly" :disabled="spec.readOnly" :clearable="!spec.readOnly" :hint="spec.hint" persistent-hint
24
+ :outlined="$classes().includes('outlined') || null" />
34
25
 
35
- <v-autocomplete
36
- v-if="regionField && regionOptions"
37
- :label="regionField.label"
38
- :name="regionField.name"
39
- :value="regionField.value"
40
- :items="regionOptions"
41
- :readonly="regionField.readOnly"
42
- :disabled="regionField.readOnly"
43
- :clearable="!regionField.readOnly"
44
- :hint="regionField.hint"
45
- persistent-hint
46
- :outlined="$classes().includes('outlined')"
47
- />
26
+ <v-autocomplete v-if="regionField && regionOptions" :label="regionField.label" :name="regionField.name"
27
+ :value="regionField.value" :items="regionOptions" :readonly="regionField.readOnly" :disabled="regionField.readOnly"
28
+ :clearable="!regionField.readOnly" :hint="regionField.hint" persistent-hint
29
+ :outlined="$classes().includes('outlined') || null" />
48
30
  </div>
49
31
  </template>
50
32
 
@@ -63,10 +45,10 @@ export default {
63
45
  };
64
46
  },
65
47
  computed: {
66
- regionField: function() {
48
+ regionField: function () {
67
49
  return this.spec.region;
68
50
  },
69
- regionOptions: function() {
51
+ regionOptions: function () {
70
52
  return regions[this.country];
71
53
  }
72
54
  },
File without changes
File without changes
@@ -9,22 +9,22 @@
9
9
  </template>
10
10
 
11
11
  <script>
12
- import PatternTextField from "./_patternText";
12
+ import PatternTextField from "./_patternText.vue";
13
13
 
14
14
  export default {
15
15
  components: {
16
16
  // Need to start with `fields-` to enable jsonlogic in `styles.js#_linkFieldModels`
17
- "fields-patternText": PatternTextField
17
+ "fields-patternText": PatternTextField,
18
18
  },
19
19
  props: {
20
- spec: { type: Object, required: true }
20
+ spec: { type: Object, required: true },
21
21
  },
22
22
  methods: {
23
23
  action_merge(mergedSpec) {
24
24
  Object.assign(this.spec, mergedSpec);
25
25
  this.$refs.delegate.updateData();
26
- }
27
- }
26
+ },
27
+ },
28
28
  };
29
29
  </script>
30
30