glib-web 0.5.77 → 0.5.78

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 (130) hide show
  1. package/README.md +0 -0
  2. package/action.js +167 -167
  3. package/actions/analytics/logEvent.js +0 -0
  4. package/actions/cables/push.js +0 -0
  5. package/actions/dialogs/notification.js +0 -0
  6. package/actions/http/patch.js +0 -0
  7. package/actions/panels/scrollTo.js +18 -18
  8. package/actions/panels/scrollToBottom.js +0 -0
  9. package/actions/timeouts/set.js +20 -20
  10. package/actions/windows/close.js +0 -0
  11. package/actions/windows/closeAll.js +0 -0
  12. package/actions/windows/closeWithReload.js +0 -0
  13. package/actions/windows/refreshState.js +5 -5
  14. package/actions/windows/reload.js +0 -0
  15. package/actions/ws/push.js +0 -0
  16. package/app.vue +180 -180
  17. package/components/_button.vue +101 -101
  18. package/components/_dropdownMenu.vue +76 -76
  19. package/components/_icon.vue +50 -50
  20. package/components/avatar.vue +16 -16
  21. package/components/banners/alert.vue +0 -0
  22. package/components/banners/select.vue +82 -82
  23. package/components/component.vue +222 -222
  24. package/components/fields/_patternText.vue +61 -61
  25. package/components/fields/_select.vue +86 -86
  26. package/components/fields/autocomplete.vue +73 -73
  27. package/components/fields/check.vue +104 -104
  28. package/components/fields/creditCard.vue +0 -0
  29. package/components/fields/dynamicGroup.vue +0 -0
  30. package/components/fields/hidden.vue +0 -0
  31. package/components/fields/location.vue +0 -0
  32. package/components/fields/newRichText.vue +0 -0
  33. package/components/fields/phone/countries.js +315 -315
  34. package/components/fields/phone/field.vue +348 -348
  35. package/components/fields/phone/sprite.css +1071 -1071
  36. package/components/fields/radio.vue +64 -64
  37. package/components/fields/radioGroup.vue +0 -0
  38. package/components/fields/rating.vue +0 -0
  39. package/components/fields/richText.vue +0 -0
  40. package/components/fields/select.vue +17 -17
  41. package/components/fields/stripe/stripeFields.vue +93 -93
  42. package/components/fields/stripe/stripeIndividualFields.vue +207 -207
  43. package/components/fields/stripeExternalAccount.vue +135 -135
  44. package/components/fields/text.vue +0 -0
  45. package/components/fields/textarea.vue +0 -0
  46. package/components/fields/timeZone.vue +22 -22
  47. package/components/fields/timer.vue +83 -83
  48. package/components/h1.vue +28 -28
  49. package/components/h2.vue +20 -20
  50. package/components/h3.vue +22 -22
  51. package/components/h4.vue +20 -20
  52. package/components/h5.vue +20 -20
  53. package/components/h6.vue +20 -20
  54. package/components/icon.vue +25 -25
  55. package/components/label.vue +62 -62
  56. package/components/map.vue +0 -0
  57. package/components/mixins/events.js +178 -178
  58. package/components/mixins/generic.js +0 -0
  59. package/components/mixins/list/autoload.js +0 -0
  60. package/components/mixins/styles.js +221 -221
  61. package/components/mixins/table/autoload.js +0 -0
  62. package/components/mixins/text.js +20 -20
  63. package/components/mixins/ws/actionCable.js +48 -48
  64. package/components/mixins/ws/phoenixSocket.js +0 -0
  65. package/components/panels/carousel.vue +55 -55
  66. package/components/panels/flow.vue +81 -81
  67. package/components/panels/form.vue +126 -126
  68. package/components/panels/list.vue +0 -0
  69. package/components/panels/scroll.vue +0 -0
  70. package/components/panels/table.vue +0 -0
  71. package/components/panels/ul.vue +34 -34
  72. package/components/panels/vertical.vue +0 -0
  73. package/components/panels/web.vue +11 -11
  74. package/components/spacer.vue +0 -0
  75. package/components/switch.vue +42 -42
  76. package/extensions/string.js +21 -21
  77. package/index.js +195 -195
  78. package/nav/content.vue +0 -0
  79. package/nav/dialog.vue +127 -127
  80. package/nav/snackbar.vue +0 -0
  81. package/package.json +42 -42
  82. package/static/plugins/alignment/alignment.js +0 -0
  83. package/static/plugins/alignment/alignment.min.js +0 -0
  84. package/static/plugins/beyondgrammar/beyondgrammar.js +0 -0
  85. package/static/plugins/beyondgrammar/beyondgrammar.min.js +0 -0
  86. package/static/plugins/blockcode/blockcode.js +0 -0
  87. package/static/plugins/blockcode/blockcode.min.js +0 -0
  88. package/static/plugins/clips/clips.js +0 -0
  89. package/static/plugins/clips/clips.min.js +0 -0
  90. package/static/plugins/counter/counter.js +0 -0
  91. package/static/plugins/counter/counter.min.js +0 -0
  92. package/static/plugins/definedlinks/definedlinks.js +0 -0
  93. package/static/plugins/definedlinks/definedlinks.min.js +0 -0
  94. package/static/plugins/handle/handle.js +0 -0
  95. package/static/plugins/handle/handle.min.js +0 -0
  96. package/static/plugins/icons/icons.js +0 -0
  97. package/static/plugins/icons/icons.min.js +0 -0
  98. package/static/plugins/imageposition/imageposition.js +0 -0
  99. package/static/plugins/imageposition/imageposition.min.js +0 -0
  100. package/static/plugins/inlineformat/inlineformat.js +0 -0
  101. package/static/plugins/inlineformat/inlineformat.min.js +0 -0
  102. package/static/plugins/removeformat/removeformat.js +0 -0
  103. package/static/plugins/removeformat/removeformat.min.js +0 -0
  104. package/static/plugins/selector/selector.js +0 -0
  105. package/static/plugins/selector/selector.min.js +0 -0
  106. package/static/plugins/specialchars/specialchars.js +0 -0
  107. package/static/plugins/specialchars/specialchars.min.js +0 -0
  108. package/static/plugins/textdirection/textdirection.js +0 -0
  109. package/static/plugins/textdirection/textdirection.min.js +0 -0
  110. package/static/plugins/textexpander/textexpander.js +0 -0
  111. package/static/plugins/textexpander/textexpander.min.js +0 -0
  112. package/static/plugins/underline/underline.js +0 -0
  113. package/static/plugins/underline/underline.min.js +0 -0
  114. package/static/redactorx.css +0 -0
  115. package/static/redactorx.js +0 -0
  116. package/static/redactorx.min.css +0 -0
  117. package/static/redactorx.min.js +0 -0
  118. package/static/redactorx.usm.min.js +0 -0
  119. package/templates/_menu.vue +38 -38
  120. package/templates/comment.vue +202 -202
  121. package/templates/featured.vue +32 -32
  122. package/templates/thumbnail.vue +138 -138
  123. package/templates/unsupported.vue +12 -12
  124. package/utils/app.js +0 -0
  125. package/utils/hash.js +0 -0
  126. package/utils/helper.js +0 -0
  127. package/utils/history.js +70 -70
  128. package/utils/http.js +209 -209
  129. package/utils/launch.js +135 -135
  130. package/utils/private/ws.js +0 -0
@@ -1,222 +1,222 @@
1
- <template>
2
- <fields-text v-if="name == 'fields-text'" :spec="spec" type="text" />
3
- <fields-text v-else-if="name == 'fields-number'" :spec="spec" type="number" />
4
- <fields-text v-else-if="name == 'fields-email'" :spec="spec" type="email" />
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
- />
11
- <!-- <fields-textarea v-else-if="spec.view == 'fields/textarea-v1'" :spec="spec" />
12
- <fields-richText v-else-if="spec.view == 'fields/richText-v1'" :spec="spec" /> -->
13
- <!-- <fields-file v-else-if="spec.view == 'fields/file-v1'" :spec="spec" />
14
- <fields-select v-else-if="spec.view == 'fields/select-v1'" :spec="spec" />
15
- <fields-dynamicSelect
16
- v-else-if="spec.view == 'fields/dynamicSelect-v1'"
17
- :spec="spec"
18
- /> -->
19
- <!-- <fields-country v-else-if="spec.view == 'fields/country-v1'" :spec="spec" /> -->
20
-
21
- <!-- <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
- />
26
-
27
- <!-- <panels-responsive v-else-if="spec.view == 'panels/scroll-v1'" :spec="spec" /> -->
28
-
29
- <component :is="name" v-else-if="name" :spec="spec" />
30
-
31
- <div v-else>Unsupported view: {{ spec.view }}</div>
32
- </template>
33
-
34
- <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 Image from "./image";
49
- import Avatar from "./avatar";
50
- import Icon from "./icon";
51
-
52
- import Button from "./button";
53
- import Fab from "./fab";
54
- import Switch from "./switch";
55
-
56
- import Hr from "./hr";
57
- import Spacer from "./spacer";
58
-
59
- import Map from "./map";
60
- import TabBar from "./tabBar";
61
- import Calendar from "./calendar";
62
-
63
- import HiddenField from "./fields/hidden";
64
- import TextField from "./fields/text";
65
- import SubmitField from "./fields/submit";
66
- import TextAreaField from "./fields/textarea";
67
- import RichTextField from "./fields/richText";
68
- import NewRichTextField from "./fields/newRichText";
69
- import FileField from "./fields/file";
70
- import AutocompleteField from "./fields/autocomplete";
71
- import SelectField from "./fields/select";
72
- import TimeZoneField from "./fields/timeZone";
73
- import DynamicSelectField from "./fields/dynamicSelect";
74
- import CountryField from "./fields/country/field";
75
- import RadioGroupField from "./fields/radioGroup";
76
- import RadioField from "./fields/radio";
77
- import CheckGroupField from "./fields/checkGroup";
78
- import CheckField from "./fields/check";
79
- import DateField from "./fields/date";
80
- import DateTimeField from "./fields/datetime";
81
- import LocationField from "./fields/location";
82
- import GooglePlaceField from "./fields/googlePlace";
83
- import DynamicGroupField from "./fields/dynamicGroup";
84
- import StripeTokenField from "./fields/stripeToken";
85
- import StripeExternalAccount from "./fields/stripeExternalAccount";
86
- import CreditCardField from "./fields/creditCard";
87
- import RatingField from "./fields/rating";
88
- import PhoneField from "./fields/phone/field";
89
- import TimerField from "./fields/timer";
90
-
91
- import ScrollPanel from "./panels/scroll";
92
- import VerticalPanel from "./panels/vertical";
93
- import HorizontalPanel from "./panels/horizontal";
94
- import FlowPanel from "./panels/flow";
95
- import SplitPanel from "./panels/split";
96
- import FormPanel from "./panels/form";
97
- import ListPanel from "./panels/list";
98
- import CarouselPanel from "./panels/carousel";
99
- import TablePanel from "./panels/table";
100
- import CustomPanel from "./panels/custom";
101
- import ColumnPanel from "./panels/column";
102
- import ResponsivePanel from "./panels/responsive";
103
- import UlPanel from "./panels/ul";
104
- import WebPanel from "./panels/web";
105
-
106
- import AlertBanner from "./banners/alert";
107
- import SelectBanner from "./banners/select";
108
-
109
- import LineChart from "./charts/line";
110
- import ColumnChart from "./charts/column";
111
-
112
- export default {
113
- components: {
114
- "views-h1": H1,
115
- "views-h2": H2,
116
- "views-h3": H3,
117
- "views-h4": H4,
118
- "views-h5": H5,
119
- "views-h6": H6,
120
- "views-label": Label,
121
- "views-p": P,
122
- "views-markdown": Markdown,
123
- "views-html": Html,
124
- "views-chip": Chip,
125
- "views-datetime": Datetime,
126
-
127
- "views-image": Image,
128
- "views-avatar": Avatar,
129
- "views-icon": Icon,
130
-
131
- "views-button": Button,
132
- "views-fab": Fab,
133
- "views-switch": Switch,
134
-
135
- "views-hr": Hr,
136
- "views-spacer": Spacer,
137
-
138
- "views-map": Map,
139
- "views-tabBar": TabBar,
140
- "views-calendar": Calendar,
141
-
142
- "fields-hidden": HiddenField,
143
- "fields-text": TextField,
144
- "fields-submit": SubmitField,
145
- "fields-textarea": TextAreaField,
146
- "fields-richText": RichTextField,
147
- "fields-newRichText": NewRichTextField,
148
- "fields-file": FileField,
149
- "fields-autocomplete": AutocompleteField,
150
- "fields-select": SelectField,
151
- "fields-timeZone": TimeZoneField,
152
- "fields-dynamicSelect": DynamicSelectField,
153
- "fields-country": CountryField,
154
- "fields-radioGroup": RadioGroupField,
155
- "fields-radio": RadioField,
156
- "fields-checkGroup": CheckGroupField,
157
- "fields-check": CheckField,
158
- "fields-date": DateField,
159
- "fields-datetime": DateTimeField,
160
- "fields-location": LocationField,
161
- "fields-googlePlace": GooglePlaceField,
162
- "fields-dynamicGroup": DynamicGroupField,
163
- "fields-stripeToken": StripeTokenField,
164
- "fields-stripeExternalAccount": StripeExternalAccount,
165
- "fields-creditCard": CreditCardField,
166
- "fields-rating": RatingField,
167
- "fields-phone": PhoneField,
168
- "fields-timer": TimerField,
169
-
170
- "panels-scroll": ScrollPanel,
171
- "panels-vertical": VerticalPanel,
172
- "panels-horizontal": HorizontalPanel,
173
- "panels-flow": FlowPanel,
174
- "panels-split": SplitPanel,
175
- "panels-form": FormPanel,
176
- "panels-list": ListPanel,
177
- "panels-carousel": CarouselPanel,
178
- "panels-table": TablePanel,
179
- "panels-custom": CustomPanel,
180
- "panels-responsive": ResponsivePanel,
181
- "panels-column": ColumnPanel,
182
- "panels-ul": UlPanel,
183
- "panels-web": WebPanel,
184
-
185
- "banners-alert": AlertBanner,
186
- "banners-select": SelectBanner,
187
-
188
- "charts-line": LineChart,
189
- "charts-column": ColumnChart
190
- },
191
- props: {
192
- spec: { type: Object, required: true }
193
- },
194
- data() {
195
- return {
196
- name: null
197
- };
198
- },
199
- beforeUpdate() {
200
- // NOTE: Not sure what this is for
201
- // Make sure vuejs will not attempt to render old data.
202
- // if (this._mountedUrl !== window.location.href) {
203
- // this.name = null;
204
- // }
205
- },
206
- methods: {
207
- $ready() {
208
- const name = Utils.app.componentName(this.spec.view);
209
- const strict = true;
210
- if (strict) {
211
- this.name = name;
212
- } else {
213
- if (this.$options.components[name]) {
214
- this.name = name;
215
- }
216
- }
217
- }
218
- }
219
- };
220
- </script>
221
-
222
- <style scoped></style>
1
+ <template>
2
+ <fields-text v-if="name == 'fields-text'" :spec="spec" type="text" />
3
+ <fields-text v-else-if="name == 'fields-number'" :spec="spec" type="number" />
4
+ <fields-text v-else-if="name == 'fields-email'" :spec="spec" type="email" />
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
+ />
11
+ <!-- <fields-textarea v-else-if="spec.view == 'fields/textarea-v1'" :spec="spec" />
12
+ <fields-richText v-else-if="spec.view == 'fields/richText-v1'" :spec="spec" /> -->
13
+ <!-- <fields-file v-else-if="spec.view == 'fields/file-v1'" :spec="spec" />
14
+ <fields-select v-else-if="spec.view == 'fields/select-v1'" :spec="spec" />
15
+ <fields-dynamicSelect
16
+ v-else-if="spec.view == 'fields/dynamicSelect-v1'"
17
+ :spec="spec"
18
+ /> -->
19
+ <!-- <fields-country v-else-if="spec.view == 'fields/country-v1'" :spec="spec" /> -->
20
+
21
+ <!-- <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
+ />
26
+
27
+ <!-- <panels-responsive v-else-if="spec.view == 'panels/scroll-v1'" :spec="spec" /> -->
28
+
29
+ <component :is="name" v-else-if="name" :spec="spec" />
30
+
31
+ <div v-else>Unsupported view: {{ spec.view }}</div>
32
+ </template>
33
+
34
+ <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 Image from "./image";
49
+ import Avatar from "./avatar";
50
+ import Icon from "./icon";
51
+
52
+ import Button from "./button";
53
+ import Fab from "./fab";
54
+ import Switch from "./switch";
55
+
56
+ import Hr from "./hr";
57
+ import Spacer from "./spacer";
58
+
59
+ import Map from "./map";
60
+ import TabBar from "./tabBar";
61
+ import Calendar from "./calendar";
62
+
63
+ import HiddenField from "./fields/hidden";
64
+ import TextField from "./fields/text";
65
+ import SubmitField from "./fields/submit";
66
+ import TextAreaField from "./fields/textarea";
67
+ import RichTextField from "./fields/richText";
68
+ import NewRichTextField from "./fields/newRichText";
69
+ import FileField from "./fields/file";
70
+ import AutocompleteField from "./fields/autocomplete";
71
+ import SelectField from "./fields/select";
72
+ import TimeZoneField from "./fields/timeZone";
73
+ import DynamicSelectField from "./fields/dynamicSelect";
74
+ import CountryField from "./fields/country/field";
75
+ import RadioGroupField from "./fields/radioGroup";
76
+ import RadioField from "./fields/radio";
77
+ import CheckGroupField from "./fields/checkGroup";
78
+ import CheckField from "./fields/check";
79
+ import DateField from "./fields/date";
80
+ import DateTimeField from "./fields/datetime";
81
+ import LocationField from "./fields/location";
82
+ import GooglePlaceField from "./fields/googlePlace";
83
+ import DynamicGroupField from "./fields/dynamicGroup";
84
+ import StripeTokenField from "./fields/stripeToken";
85
+ import StripeExternalAccount from "./fields/stripeExternalAccount";
86
+ import CreditCardField from "./fields/creditCard";
87
+ import RatingField from "./fields/rating";
88
+ import PhoneField from "./fields/phone/field";
89
+ import TimerField from "./fields/timer";
90
+
91
+ import ScrollPanel from "./panels/scroll";
92
+ import VerticalPanel from "./panels/vertical";
93
+ import HorizontalPanel from "./panels/horizontal";
94
+ import FlowPanel from "./panels/flow";
95
+ import SplitPanel from "./panels/split";
96
+ import FormPanel from "./panels/form";
97
+ import ListPanel from "./panels/list";
98
+ import CarouselPanel from "./panels/carousel";
99
+ import TablePanel from "./panels/table";
100
+ import CustomPanel from "./panels/custom";
101
+ import ColumnPanel from "./panels/column";
102
+ import ResponsivePanel from "./panels/responsive";
103
+ import UlPanel from "./panels/ul";
104
+ import WebPanel from "./panels/web";
105
+
106
+ import AlertBanner from "./banners/alert";
107
+ import SelectBanner from "./banners/select";
108
+
109
+ import LineChart from "./charts/line";
110
+ import ColumnChart from "./charts/column";
111
+
112
+ export default {
113
+ components: {
114
+ "views-h1": H1,
115
+ "views-h2": H2,
116
+ "views-h3": H3,
117
+ "views-h4": H4,
118
+ "views-h5": H5,
119
+ "views-h6": H6,
120
+ "views-label": Label,
121
+ "views-p": P,
122
+ "views-markdown": Markdown,
123
+ "views-html": Html,
124
+ "views-chip": Chip,
125
+ "views-datetime": Datetime,
126
+
127
+ "views-image": Image,
128
+ "views-avatar": Avatar,
129
+ "views-icon": Icon,
130
+
131
+ "views-button": Button,
132
+ "views-fab": Fab,
133
+ "views-switch": Switch,
134
+
135
+ "views-hr": Hr,
136
+ "views-spacer": Spacer,
137
+
138
+ "views-map": Map,
139
+ "views-tabBar": TabBar,
140
+ "views-calendar": Calendar,
141
+
142
+ "fields-hidden": HiddenField,
143
+ "fields-text": TextField,
144
+ "fields-submit": SubmitField,
145
+ "fields-textarea": TextAreaField,
146
+ "fields-richText": RichTextField,
147
+ "fields-newRichText": NewRichTextField,
148
+ "fields-file": FileField,
149
+ "fields-autocomplete": AutocompleteField,
150
+ "fields-select": SelectField,
151
+ "fields-timeZone": TimeZoneField,
152
+ "fields-dynamicSelect": DynamicSelectField,
153
+ "fields-country": CountryField,
154
+ "fields-radioGroup": RadioGroupField,
155
+ "fields-radio": RadioField,
156
+ "fields-checkGroup": CheckGroupField,
157
+ "fields-check": CheckField,
158
+ "fields-date": DateField,
159
+ "fields-datetime": DateTimeField,
160
+ "fields-location": LocationField,
161
+ "fields-googlePlace": GooglePlaceField,
162
+ "fields-dynamicGroup": DynamicGroupField,
163
+ "fields-stripeToken": StripeTokenField,
164
+ "fields-stripeExternalAccount": StripeExternalAccount,
165
+ "fields-creditCard": CreditCardField,
166
+ "fields-rating": RatingField,
167
+ "fields-phone": PhoneField,
168
+ "fields-timer": TimerField,
169
+
170
+ "panels-scroll": ScrollPanel,
171
+ "panels-vertical": VerticalPanel,
172
+ "panels-horizontal": HorizontalPanel,
173
+ "panels-flow": FlowPanel,
174
+ "panels-split": SplitPanel,
175
+ "panels-form": FormPanel,
176
+ "panels-list": ListPanel,
177
+ "panels-carousel": CarouselPanel,
178
+ "panels-table": TablePanel,
179
+ "panels-custom": CustomPanel,
180
+ "panels-responsive": ResponsivePanel,
181
+ "panels-column": ColumnPanel,
182
+ "panels-ul": UlPanel,
183
+ "panels-web": WebPanel,
184
+
185
+ "banners-alert": AlertBanner,
186
+ "banners-select": SelectBanner,
187
+
188
+ "charts-line": LineChart,
189
+ "charts-column": ColumnChart
190
+ },
191
+ props: {
192
+ spec: { type: Object, required: true }
193
+ },
194
+ data() {
195
+ return {
196
+ name: null
197
+ };
198
+ },
199
+ beforeUpdate() {
200
+ // NOTE: Not sure what this is for
201
+ // Make sure vuejs will not attempt to render old data.
202
+ // if (this._mountedUrl !== window.location.href) {
203
+ // this.name = null;
204
+ // }
205
+ },
206
+ methods: {
207
+ $ready() {
208
+ const name = Utils.app.componentName(this.spec.view);
209
+ const strict = true;
210
+ if (strict) {
211
+ this.name = name;
212
+ } else {
213
+ if (this.$options.components[name]) {
214
+ this.name = name;
215
+ }
216
+ }
217
+ }
218
+ }
219
+ };
220
+ </script>
221
+
222
+ <style scoped></style>
@@ -1,61 +1,61 @@
1
- <template>
2
- <div :style="$styles()" :class="classes()">
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="spec.min"
14
- :max="spec.max"
15
- :pattern="pattern"
16
- :outlined="$classes().includes('outlined')"
17
- :style="$styles()"
18
- clearable
19
- />
20
- </div>
21
- </template>
22
-
23
- <script>
24
- export default {
25
- props: {
26
- spec: { type: Object, required: true },
27
- type: { type: String, required: true },
28
- pattern: { type: String, required: true }
29
- },
30
- methods: {
31
- $internalizeValue(val) {
32
- if (Utils.type.isString(val)) {
33
- return new Date(val).getTime() / 1000;
34
- }
35
- return null;
36
- },
37
- $externalizeValue(val) {
38
- if (Utils.type.isNumber(val)) {
39
- const date = new Date(val * 1000);
40
- return Utils.format.local_iso8601(date);
41
- }
42
- return null;
43
- },
44
- $sanitizeValue(val) {
45
- switch (this.type) {
46
- case "date":
47
- return val.slice(0, 10);
48
- case "datetime-local":
49
- return val.slice(0, 16);
50
- default:
51
- return val;
52
- }
53
- },
54
- classes() {
55
- return this.$classes().concat("g-text-field--hintless");
56
- }
57
- }
58
- };
59
- </script>
60
-
61
- <style scoped></style>
1
+ <template>
2
+ <div :style="$styles()" :class="classes()">
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="spec.min"
14
+ :max="spec.max"
15
+ :pattern="pattern"
16
+ :outlined="$classes().includes('outlined')"
17
+ :style="$styles()"
18
+ clearable
19
+ />
20
+ </div>
21
+ </template>
22
+
23
+ <script>
24
+ export default {
25
+ props: {
26
+ spec: { type: Object, required: true },
27
+ type: { type: String, required: true },
28
+ pattern: { type: String, required: true }
29
+ },
30
+ methods: {
31
+ $internalizeValue(val) {
32
+ if (Utils.type.isString(val)) {
33
+ return new Date(val).getTime() / 1000;
34
+ }
35
+ return null;
36
+ },
37
+ $externalizeValue(val) {
38
+ if (Utils.type.isNumber(val)) {
39
+ const date = new Date(val * 1000);
40
+ return Utils.format.local_iso8601(date);
41
+ }
42
+ return null;
43
+ },
44
+ $sanitizeValue(val) {
45
+ switch (this.type) {
46
+ case "date":
47
+ return val.slice(0, 10);
48
+ case "datetime-local":
49
+ return val.slice(0, 16);
50
+ default:
51
+ return val;
52
+ }
53
+ },
54
+ classes() {
55
+ return this.$classes().concat("g-text-field--hintless");
56
+ }
57
+ }
58
+ };
59
+ </script>
60
+
61
+ <style scoped></style>