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.
- package/README.md +0 -0
- package/action.js +167 -167
- package/actions/analytics/logEvent.js +0 -0
- package/actions/cables/push.js +0 -0
- package/actions/dialogs/notification.js +0 -0
- package/actions/http/patch.js +0 -0
- package/actions/panels/scrollTo.js +18 -18
- package/actions/panels/scrollToBottom.js +0 -0
- package/actions/timeouts/set.js +20 -20
- package/actions/windows/close.js +0 -0
- package/actions/windows/closeAll.js +0 -0
- package/actions/windows/closeWithReload.js +0 -0
- package/actions/windows/refreshState.js +5 -5
- package/actions/windows/reload.js +0 -0
- package/actions/ws/push.js +0 -0
- package/app.vue +180 -180
- package/components/_button.vue +101 -101
- package/components/_dropdownMenu.vue +76 -76
- package/components/_icon.vue +50 -50
- package/components/avatar.vue +16 -16
- package/components/banners/alert.vue +0 -0
- package/components/banners/select.vue +82 -82
- package/components/component.vue +222 -222
- package/components/fields/_patternText.vue +61 -61
- package/components/fields/_select.vue +86 -86
- package/components/fields/autocomplete.vue +73 -73
- package/components/fields/check.vue +104 -104
- package/components/fields/creditCard.vue +0 -0
- package/components/fields/dynamicGroup.vue +0 -0
- package/components/fields/hidden.vue +0 -0
- package/components/fields/location.vue +0 -0
- package/components/fields/newRichText.vue +0 -0
- package/components/fields/phone/countries.js +315 -315
- package/components/fields/phone/field.vue +348 -348
- package/components/fields/phone/sprite.css +1071 -1071
- package/components/fields/radio.vue +64 -64
- package/components/fields/radioGroup.vue +0 -0
- package/components/fields/rating.vue +0 -0
- package/components/fields/richText.vue +0 -0
- package/components/fields/select.vue +17 -17
- package/components/fields/stripe/stripeFields.vue +93 -93
- package/components/fields/stripe/stripeIndividualFields.vue +207 -207
- package/components/fields/stripeExternalAccount.vue +135 -135
- package/components/fields/text.vue +0 -0
- package/components/fields/textarea.vue +0 -0
- package/components/fields/timeZone.vue +22 -22
- package/components/fields/timer.vue +83 -83
- package/components/h1.vue +28 -28
- package/components/h2.vue +20 -20
- package/components/h3.vue +22 -22
- package/components/h4.vue +20 -20
- package/components/h5.vue +20 -20
- package/components/h6.vue +20 -20
- package/components/icon.vue +25 -25
- package/components/label.vue +62 -62
- package/components/map.vue +0 -0
- package/components/mixins/events.js +178 -178
- package/components/mixins/generic.js +0 -0
- package/components/mixins/list/autoload.js +0 -0
- package/components/mixins/styles.js +221 -221
- package/components/mixins/table/autoload.js +0 -0
- package/components/mixins/text.js +20 -20
- package/components/mixins/ws/actionCable.js +48 -48
- package/components/mixins/ws/phoenixSocket.js +0 -0
- package/components/panels/carousel.vue +55 -55
- package/components/panels/flow.vue +81 -81
- package/components/panels/form.vue +126 -126
- package/components/panels/list.vue +0 -0
- package/components/panels/scroll.vue +0 -0
- package/components/panels/table.vue +0 -0
- package/components/panels/ul.vue +34 -34
- package/components/panels/vertical.vue +0 -0
- package/components/panels/web.vue +11 -11
- package/components/spacer.vue +0 -0
- package/components/switch.vue +42 -42
- package/extensions/string.js +21 -21
- package/index.js +195 -195
- package/nav/content.vue +0 -0
- package/nav/dialog.vue +127 -127
- package/nav/snackbar.vue +0 -0
- package/package.json +42 -42
- package/static/plugins/alignment/alignment.js +0 -0
- package/static/plugins/alignment/alignment.min.js +0 -0
- package/static/plugins/beyondgrammar/beyondgrammar.js +0 -0
- package/static/plugins/beyondgrammar/beyondgrammar.min.js +0 -0
- package/static/plugins/blockcode/blockcode.js +0 -0
- package/static/plugins/blockcode/blockcode.min.js +0 -0
- package/static/plugins/clips/clips.js +0 -0
- package/static/plugins/clips/clips.min.js +0 -0
- package/static/plugins/counter/counter.js +0 -0
- package/static/plugins/counter/counter.min.js +0 -0
- package/static/plugins/definedlinks/definedlinks.js +0 -0
- package/static/plugins/definedlinks/definedlinks.min.js +0 -0
- package/static/plugins/handle/handle.js +0 -0
- package/static/plugins/handle/handle.min.js +0 -0
- package/static/plugins/icons/icons.js +0 -0
- package/static/plugins/icons/icons.min.js +0 -0
- package/static/plugins/imageposition/imageposition.js +0 -0
- package/static/plugins/imageposition/imageposition.min.js +0 -0
- package/static/plugins/inlineformat/inlineformat.js +0 -0
- package/static/plugins/inlineformat/inlineformat.min.js +0 -0
- package/static/plugins/removeformat/removeformat.js +0 -0
- package/static/plugins/removeformat/removeformat.min.js +0 -0
- package/static/plugins/selector/selector.js +0 -0
- package/static/plugins/selector/selector.min.js +0 -0
- package/static/plugins/specialchars/specialchars.js +0 -0
- package/static/plugins/specialchars/specialchars.min.js +0 -0
- package/static/plugins/textdirection/textdirection.js +0 -0
- package/static/plugins/textdirection/textdirection.min.js +0 -0
- package/static/plugins/textexpander/textexpander.js +0 -0
- package/static/plugins/textexpander/textexpander.min.js +0 -0
- package/static/plugins/underline/underline.js +0 -0
- package/static/plugins/underline/underline.min.js +0 -0
- package/static/redactorx.css +0 -0
- package/static/redactorx.js +0 -0
- package/static/redactorx.min.css +0 -0
- package/static/redactorx.min.js +0 -0
- package/static/redactorx.usm.min.js +0 -0
- package/templates/_menu.vue +38 -38
- package/templates/comment.vue +202 -202
- package/templates/featured.vue +32 -32
- package/templates/thumbnail.vue +138 -138
- package/templates/unsupported.vue +12 -12
- package/utils/app.js +0 -0
- package/utils/hash.js +0 -0
- package/utils/helper.js +0 -0
- package/utils/history.js +70 -70
- package/utils/http.js +209 -209
- package/utils/launch.js +135 -135
- package/utils/private/ws.js +0 -0
|
@@ -1,178 +1,178 @@
|
|
|
1
|
-
import Action from "../../action";
|
|
2
|
-
import UrlUtils from "../../utils/url";
|
|
3
|
-
import TypeUtils from "../../utils/type";
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
data() {
|
|
7
|
-
return {
|
|
8
|
-
// TODO: Consider replacing with an enum, e.g. executing with predefined values ('post', 'get', null)
|
|
9
|
-
// The complexity with this is that 'get' that comes after 'post' needs to show an indicator, e.g.
|
|
10
|
-
// Submit button needs to be disabled when redirecting after form submission
|
|
11
|
-
_isBusy: false,
|
|
12
|
-
_events: [],
|
|
13
|
-
_typingTimer: null
|
|
14
|
-
};
|
|
15
|
-
},
|
|
16
|
-
computed: {
|
|
17
|
-
_pageBody() {
|
|
18
|
-
return document.getElementById("page_body");
|
|
19
|
-
},
|
|
20
|
-
$isBusy() {
|
|
21
|
-
// Properties starting with $ or _ can only be accessed via $data
|
|
22
|
-
return this.$data._isBusy;
|
|
23
|
-
},
|
|
24
|
-
$isReady() {
|
|
25
|
-
return this.$data._events === null;
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
mounted() {
|
|
29
|
-
this._executeIfReady(false);
|
|
30
|
-
this.$mounted();
|
|
31
|
-
},
|
|
32
|
-
updated() {
|
|
33
|
-
this._executeIfReady(true);
|
|
34
|
-
this.$updated();
|
|
35
|
-
},
|
|
36
|
-
destroyed() {
|
|
37
|
-
this.$tearDown();
|
|
38
|
-
},
|
|
39
|
-
watch: {
|
|
40
|
-
// See Utils.http
|
|
41
|
-
"$root.vueApp.isStale": function(val, oldVal) {
|
|
42
|
-
// Make sure $ready() will be called in the next update
|
|
43
|
-
this._mountedUrl = null;
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
methods: {
|
|
47
|
-
$href: function(spec) {
|
|
48
|
-
const properties = spec || this.spec;
|
|
49
|
-
const onClick = properties.onClick;
|
|
50
|
-
if (TypeUtils.isObject(onClick)) {
|
|
51
|
-
switch (onClick.action) {
|
|
52
|
-
case "windows/open-v1":
|
|
53
|
-
case "windows/openWeb-v1":
|
|
54
|
-
case "windows/reload-v1":
|
|
55
|
-
return UrlUtils.htmlUrl(onClick.url);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return null;
|
|
59
|
-
},
|
|
60
|
-
$onClick: function(explicitEvent, spec) {
|
|
61
|
-
const properties = spec || this.spec;
|
|
62
|
-
const e = explicitEvent || event;
|
|
63
|
-
|
|
64
|
-
if (!properties.onClick) {
|
|
65
|
-
return; // Avoid blocking the event for parents.
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// Ignore middle/right clicks
|
|
69
|
-
if (!e.metaKey && !e.ctrlKey && e.button === 0) {
|
|
70
|
-
e.preventDefault();
|
|
71
|
-
e.stopPropagation();
|
|
72
|
-
// Action.execute(properties.onClick, target || event.target, this);
|
|
73
|
-
Action.execute(properties.onClick, null, this);
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
$rel: function(spec) {
|
|
77
|
-
const properties = spec || this.spec;
|
|
78
|
-
const onClick = properties.onClick;
|
|
79
|
-
if (TypeUtils.isObject(onClick)) {
|
|
80
|
-
if (onClick.action === "windows/openWeb-v1") {
|
|
81
|
-
return "nofollow";
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return null;
|
|
85
|
-
},
|
|
86
|
-
// Can be used for optimization, but not needed for now.
|
|
87
|
-
// $onLongPressFunction() {
|
|
88
|
-
// return this.spec.onLongPress ? this.$onLongPress : null;
|
|
89
|
-
// },
|
|
90
|
-
$onLongPress() {
|
|
91
|
-
GLib.action.execute(this.spec.onLongPress, null, this);
|
|
92
|
-
},
|
|
93
|
-
$addViewportChangeListeners: function(handler) {
|
|
94
|
-
window.addEventListener("load", handler);
|
|
95
|
-
window.addEventListener("resize", handler);
|
|
96
|
-
this._pageBody.addEventListener("scroll", handler);
|
|
97
|
-
},
|
|
98
|
-
$removeViewportChangeListeners: function(handler) {
|
|
99
|
-
window.removeEventListener("load", handler);
|
|
100
|
-
window.removeEventListener("resize", handler);
|
|
101
|
-
this._pageBody.removeEventListener("scroll", handler);
|
|
102
|
-
},
|
|
103
|
-
_executeIfReady(updated) {
|
|
104
|
-
if (updated) {
|
|
105
|
-
if (!this._renderingTheSamePage()) {
|
|
106
|
-
this.$tearDown();
|
|
107
|
-
this._ready();
|
|
108
|
-
}
|
|
109
|
-
} else {
|
|
110
|
-
this._ready();
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
_renderingTheSamePage() {
|
|
114
|
-
return this._mountedUrl === window.location.href;
|
|
115
|
-
},
|
|
116
|
-
_ready() {
|
|
117
|
-
this._mountedUrl = window.location.href;
|
|
118
|
-
this._updatedAt = new Date().getTime();
|
|
119
|
-
|
|
120
|
-
this.$data._events = [];
|
|
121
|
-
|
|
122
|
-
// Has to be executed before $ready()
|
|
123
|
-
this._linkFieldModels();
|
|
124
|
-
|
|
125
|
-
this.$ready();
|
|
126
|
-
|
|
127
|
-
// Make sure events are dispatched after $ready(). Dispatching them during $ready() causes errors.
|
|
128
|
-
for (const event of this.$data._events) {
|
|
129
|
-
// Execute later to ensure the parent has registered its event listener
|
|
130
|
-
// setTimeout(() => {
|
|
131
|
-
this.$el.dispatchEvent(event);
|
|
132
|
-
// }, 100)
|
|
133
|
-
}
|
|
134
|
-
this.$data._events = null;
|
|
135
|
-
},
|
|
136
|
-
$ready() {
|
|
137
|
-
// To be overridden
|
|
138
|
-
},
|
|
139
|
-
$tearDown() {
|
|
140
|
-
// To be overridden
|
|
141
|
-
},
|
|
142
|
-
$mounted() {
|
|
143
|
-
// To be overridden
|
|
144
|
-
},
|
|
145
|
-
$updated() {
|
|
146
|
-
// To be overridden
|
|
147
|
-
},
|
|
148
|
-
$dispatchEvent(name, data) {
|
|
149
|
-
const event = new Event(name, { bubbles: true });
|
|
150
|
-
|
|
151
|
-
// TODO: Deprecate
|
|
152
|
-
event.spec = data;
|
|
153
|
-
|
|
154
|
-
event.data = data;
|
|
155
|
-
|
|
156
|
-
if (this.$data._events) {
|
|
157
|
-
this.$data._events.push(event);
|
|
158
|
-
} else {
|
|
159
|
-
this.$el.dispatchEvent(event);
|
|
160
|
-
}
|
|
161
|
-
},
|
|
162
|
-
$onEvent(name, handler) {
|
|
163
|
-
this.$el.addEventListener(name, handler);
|
|
164
|
-
},
|
|
165
|
-
$onTyping({ duration = 2000 }) {
|
|
166
|
-
GLib.action.execute(this.spec.onTypeStart, null, this);
|
|
167
|
-
clearTimeout(this.timer);
|
|
168
|
-
|
|
169
|
-
this.timer = setTimeout(() => {
|
|
170
|
-
this._typingTimer = null;
|
|
171
|
-
GLib.action.execute(this.spec.onTypeEnd, null, this);
|
|
172
|
-
}, duration);
|
|
173
|
-
}
|
|
174
|
-
// $onZero() {
|
|
175
|
-
// GLib.action.execute(this.spec.onZero, null, this);
|
|
176
|
-
// },
|
|
177
|
-
}
|
|
178
|
-
};
|
|
1
|
+
import Action from "../../action";
|
|
2
|
+
import UrlUtils from "../../utils/url";
|
|
3
|
+
import TypeUtils from "../../utils/type";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
data() {
|
|
7
|
+
return {
|
|
8
|
+
// TODO: Consider replacing with an enum, e.g. executing with predefined values ('post', 'get', null)
|
|
9
|
+
// The complexity with this is that 'get' that comes after 'post' needs to show an indicator, e.g.
|
|
10
|
+
// Submit button needs to be disabled when redirecting after form submission
|
|
11
|
+
_isBusy: false,
|
|
12
|
+
_events: [],
|
|
13
|
+
_typingTimer: null
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
computed: {
|
|
17
|
+
_pageBody() {
|
|
18
|
+
return document.getElementById("page_body");
|
|
19
|
+
},
|
|
20
|
+
$isBusy() {
|
|
21
|
+
// Properties starting with $ or _ can only be accessed via $data
|
|
22
|
+
return this.$data._isBusy;
|
|
23
|
+
},
|
|
24
|
+
$isReady() {
|
|
25
|
+
return this.$data._events === null;
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
mounted() {
|
|
29
|
+
this._executeIfReady(false);
|
|
30
|
+
this.$mounted();
|
|
31
|
+
},
|
|
32
|
+
updated() {
|
|
33
|
+
this._executeIfReady(true);
|
|
34
|
+
this.$updated();
|
|
35
|
+
},
|
|
36
|
+
destroyed() {
|
|
37
|
+
this.$tearDown();
|
|
38
|
+
},
|
|
39
|
+
watch: {
|
|
40
|
+
// See Utils.http
|
|
41
|
+
"$root.vueApp.isStale": function(val, oldVal) {
|
|
42
|
+
// Make sure $ready() will be called in the next update
|
|
43
|
+
this._mountedUrl = null;
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
methods: {
|
|
47
|
+
$href: function(spec) {
|
|
48
|
+
const properties = spec || this.spec;
|
|
49
|
+
const onClick = properties.onClick;
|
|
50
|
+
if (TypeUtils.isObject(onClick)) {
|
|
51
|
+
switch (onClick.action) {
|
|
52
|
+
case "windows/open-v1":
|
|
53
|
+
case "windows/openWeb-v1":
|
|
54
|
+
case "windows/reload-v1":
|
|
55
|
+
return UrlUtils.htmlUrl(onClick.url);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
},
|
|
60
|
+
$onClick: function(explicitEvent, spec) {
|
|
61
|
+
const properties = spec || this.spec;
|
|
62
|
+
const e = explicitEvent || event;
|
|
63
|
+
|
|
64
|
+
if (!properties.onClick) {
|
|
65
|
+
return; // Avoid blocking the event for parents.
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Ignore middle/right clicks
|
|
69
|
+
if (!e.metaKey && !e.ctrlKey && e.button === 0) {
|
|
70
|
+
e.preventDefault();
|
|
71
|
+
e.stopPropagation();
|
|
72
|
+
// Action.execute(properties.onClick, target || event.target, this);
|
|
73
|
+
Action.execute(properties.onClick, null, this);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
$rel: function(spec) {
|
|
77
|
+
const properties = spec || this.spec;
|
|
78
|
+
const onClick = properties.onClick;
|
|
79
|
+
if (TypeUtils.isObject(onClick)) {
|
|
80
|
+
if (onClick.action === "windows/openWeb-v1") {
|
|
81
|
+
return "nofollow";
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
},
|
|
86
|
+
// Can be used for optimization, but not needed for now.
|
|
87
|
+
// $onLongPressFunction() {
|
|
88
|
+
// return this.spec.onLongPress ? this.$onLongPress : null;
|
|
89
|
+
// },
|
|
90
|
+
$onLongPress() {
|
|
91
|
+
GLib.action.execute(this.spec.onLongPress, null, this);
|
|
92
|
+
},
|
|
93
|
+
$addViewportChangeListeners: function(handler) {
|
|
94
|
+
window.addEventListener("load", handler);
|
|
95
|
+
window.addEventListener("resize", handler);
|
|
96
|
+
this._pageBody.addEventListener("scroll", handler);
|
|
97
|
+
},
|
|
98
|
+
$removeViewportChangeListeners: function(handler) {
|
|
99
|
+
window.removeEventListener("load", handler);
|
|
100
|
+
window.removeEventListener("resize", handler);
|
|
101
|
+
this._pageBody.removeEventListener("scroll", handler);
|
|
102
|
+
},
|
|
103
|
+
_executeIfReady(updated) {
|
|
104
|
+
if (updated) {
|
|
105
|
+
if (!this._renderingTheSamePage()) {
|
|
106
|
+
this.$tearDown();
|
|
107
|
+
this._ready();
|
|
108
|
+
}
|
|
109
|
+
} else {
|
|
110
|
+
this._ready();
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
_renderingTheSamePage() {
|
|
114
|
+
return this._mountedUrl === window.location.href;
|
|
115
|
+
},
|
|
116
|
+
_ready() {
|
|
117
|
+
this._mountedUrl = window.location.href;
|
|
118
|
+
this._updatedAt = new Date().getTime();
|
|
119
|
+
|
|
120
|
+
this.$data._events = [];
|
|
121
|
+
|
|
122
|
+
// Has to be executed before $ready()
|
|
123
|
+
this._linkFieldModels();
|
|
124
|
+
|
|
125
|
+
this.$ready();
|
|
126
|
+
|
|
127
|
+
// Make sure events are dispatched after $ready(). Dispatching them during $ready() causes errors.
|
|
128
|
+
for (const event of this.$data._events) {
|
|
129
|
+
// Execute later to ensure the parent has registered its event listener
|
|
130
|
+
// setTimeout(() => {
|
|
131
|
+
this.$el.dispatchEvent(event);
|
|
132
|
+
// }, 100)
|
|
133
|
+
}
|
|
134
|
+
this.$data._events = null;
|
|
135
|
+
},
|
|
136
|
+
$ready() {
|
|
137
|
+
// To be overridden
|
|
138
|
+
},
|
|
139
|
+
$tearDown() {
|
|
140
|
+
// To be overridden
|
|
141
|
+
},
|
|
142
|
+
$mounted() {
|
|
143
|
+
// To be overridden
|
|
144
|
+
},
|
|
145
|
+
$updated() {
|
|
146
|
+
// To be overridden
|
|
147
|
+
},
|
|
148
|
+
$dispatchEvent(name, data) {
|
|
149
|
+
const event = new Event(name, { bubbles: true });
|
|
150
|
+
|
|
151
|
+
// TODO: Deprecate
|
|
152
|
+
event.spec = data;
|
|
153
|
+
|
|
154
|
+
event.data = data;
|
|
155
|
+
|
|
156
|
+
if (this.$data._events) {
|
|
157
|
+
this.$data._events.push(event);
|
|
158
|
+
} else {
|
|
159
|
+
this.$el.dispatchEvent(event);
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
$onEvent(name, handler) {
|
|
163
|
+
this.$el.addEventListener(name, handler);
|
|
164
|
+
},
|
|
165
|
+
$onTyping({ duration = 2000 }) {
|
|
166
|
+
GLib.action.execute(this.spec.onTypeStart, null, this);
|
|
167
|
+
clearTimeout(this.timer);
|
|
168
|
+
|
|
169
|
+
this.timer = setTimeout(() => {
|
|
170
|
+
this._typingTimer = null;
|
|
171
|
+
GLib.action.execute(this.spec.onTypeEnd, null, this);
|
|
172
|
+
}, duration);
|
|
173
|
+
}
|
|
174
|
+
// $onZero() {
|
|
175
|
+
// GLib.action.execute(this.spec.onZero, null, this);
|
|
176
|
+
// },
|
|
177
|
+
}
|
|
178
|
+
};
|
|
File without changes
|
|
File without changes
|