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
package/app.vue CHANGED
@@ -1,180 +1,180 @@
1
- <template>
2
- <v-app :class="page.styleClasses">
3
- <nav-appbar :page="page" />
4
-
5
- <v-progress-linear
6
- v-if="$root.vueApp.indicator"
7
- :indeterminate="true"
8
- height="5"
9
- style="position: fixed; z-index: 4;"
10
- >
11
- </v-progress-linear>
12
-
13
- <div class="pages-header">
14
- <layouts-content
15
- :template="page.template"
16
- :spec="header"
17
- :full-height="false"
18
- />
19
- </div>
20
-
21
- <div id="page_body" class="pages-body body-wrapper">
22
- <layouts-content
23
- :template="page.template"
24
- :spec="body"
25
- :full-height="true"
26
- />
27
- </div>
28
-
29
- <div class="pages-footer">
30
- <layouts-content
31
- :template="page.template"
32
- :spec="footer"
33
- :full-height="false"
34
- />
35
- </div>
36
- </v-app>
37
- </template>
38
-
39
- <script>
40
- import NavAppBar from "./nav/appbar";
41
- import Utils from "./utils/helper";
42
- import ContentLayout from "./nav/content";
43
- import phoenixSocketMixin from "./components/mixins/ws/phoenixSocket.js";
44
- import actionCableMixin from "./components/mixins/ws/actionCable.js";
45
-
46
- export default {
47
- components: {
48
- "nav-appbar": NavAppBar,
49
- "layouts-content": ContentLayout
50
- },
51
- mixins: [phoenixSocketMixin, actionCableMixin],
52
- props: {
53
- page: { type: Object, required: true }
54
- },
55
- data() {
56
- return {
57
- title: "..."
58
- };
59
- },
60
- computed: {
61
- header() {
62
- return this.page.header || {};
63
- },
64
- body() {
65
- return this.page.body || {};
66
- },
67
- footer() {
68
- return this.page.footer || {};
69
- }
70
- },
71
- watch: {
72
- "$root.indicator": function(val, oldVal) {
73
- document.title = val ? "..." : this.page.title;
74
- }
75
- },
76
- created() {
77
- console.log(
78
- `Version: ${Utils.settings.appVersion} (${Utils.settings.env})`
79
- );
80
- Utils.history.saveInitialContent(this.page);
81
- Utils.history.restoreOnBackOrForward();
82
- },
83
- methods: {
84
- $ready: function() {
85
- document.title = this.page.title;
86
-
87
- this.$wsInitPhoenixSocket(this.page.phoenixSocket);
88
- this.$wsInitActionCable(this.page.actionCable);
89
-
90
- if (this.$gtag) {
91
- if (!Utils.settings.isDev) {
92
- console.log(`Tracking analytics: ${window.location}`);
93
- // this.$ga.page(window.location);
94
-
95
- this.$gtag.pageview({
96
- page_location: window.location
97
- });
98
- }
99
- } else {
100
- console.warn("Analytics not setup. Set `settings.gtagId`.");
101
- }
102
-
103
- if (Utils.history.isPoppedState(this.page)) {
104
- setTimeout(() => {
105
- // Wait until page is rendered
106
- GLib.action.execute(this.page.onRefocus, null, this);
107
- });
108
- } else {
109
- setTimeout(() => {
110
- // Wait until page is rendered
111
- GLib.action.execute(this.page.onLoad, null, this);
112
- });
113
- }
114
- }
115
- }
116
- };
117
- </script>
118
-
119
- <style lang="scss">
120
- // h1,
121
- // h2,
122
- // h3,
123
- // h4,
124
- // h5,
125
- // h6,
126
- // span {
127
- // line-height: 1;
128
- // }
129
-
130
- body {
131
- // Hide superfluous scrollbar (Edge)
132
- -ms-overflow-style: none;
133
- * {
134
- -ms-overflow-style: initial;
135
- }
136
-
137
- // Hide superfluous scrollbar (Webkit)
138
- &::-webkit-scrollbar {
139
- display: none;
140
- }
141
- }
142
- html {
143
- // Hide superfluous scrollbar (Firefox)
144
- scrollbar-width: none;
145
- }
146
-
147
- /*** Header/footer support ***/
148
- html,
149
- body,
150
- #app {
151
- height: 100%;
152
- }
153
- /******/
154
-
155
- /*** panels/scrollTo support ***/
156
- .glib-scrollto {
157
- transition: background 0.5s;
158
- }
159
- .glib-scrollto--highlighted {
160
- background: yellow !important;
161
- }
162
- /******/
163
- </style>
164
-
165
- <style scoped>
166
- /*** Header/footer support ***/
167
- .application--wrap {
168
- display: flex;
169
- flex-direction: column;
170
- justify-content: space-between;
171
- height: 100%;
172
- }
173
-
174
- .body-wrapper {
175
- height: 100%;
176
- /* overflow-y: auto; */
177
- overflow-y: overlay;
178
- }
179
- /******/
180
- </style>
1
+ <template>
2
+ <v-app :class="page.styleClasses">
3
+ <nav-appbar :page="page" />
4
+
5
+ <v-progress-linear
6
+ v-if="$root.vueApp.indicator"
7
+ :indeterminate="true"
8
+ height="5"
9
+ style="position: fixed; z-index: 4;"
10
+ >
11
+ </v-progress-linear>
12
+
13
+ <div class="pages-header">
14
+ <layouts-content
15
+ :template="page.template"
16
+ :spec="header"
17
+ :full-height="false"
18
+ />
19
+ </div>
20
+
21
+ <div id="page_body" class="pages-body body-wrapper">
22
+ <layouts-content
23
+ :template="page.template"
24
+ :spec="body"
25
+ :full-height="true"
26
+ />
27
+ </div>
28
+
29
+ <div class="pages-footer">
30
+ <layouts-content
31
+ :template="page.template"
32
+ :spec="footer"
33
+ :full-height="false"
34
+ />
35
+ </div>
36
+ </v-app>
37
+ </template>
38
+
39
+ <script>
40
+ import NavAppBar from "./nav/appbar";
41
+ import Utils from "./utils/helper";
42
+ import ContentLayout from "./nav/content";
43
+ import phoenixSocketMixin from "./components/mixins/ws/phoenixSocket.js";
44
+ import actionCableMixin from "./components/mixins/ws/actionCable.js";
45
+
46
+ export default {
47
+ components: {
48
+ "nav-appbar": NavAppBar,
49
+ "layouts-content": ContentLayout
50
+ },
51
+ mixins: [phoenixSocketMixin, actionCableMixin],
52
+ props: {
53
+ page: { type: Object, required: true }
54
+ },
55
+ data() {
56
+ return {
57
+ title: "..."
58
+ };
59
+ },
60
+ computed: {
61
+ header() {
62
+ return this.page.header || {};
63
+ },
64
+ body() {
65
+ return this.page.body || {};
66
+ },
67
+ footer() {
68
+ return this.page.footer || {};
69
+ }
70
+ },
71
+ watch: {
72
+ "$root.indicator": function(val, oldVal) {
73
+ document.title = val ? "..." : this.page.title;
74
+ }
75
+ },
76
+ created() {
77
+ console.log(
78
+ `Version: ${Utils.settings.appVersion} (${Utils.settings.env})`
79
+ );
80
+ Utils.history.saveInitialContent(this.page);
81
+ Utils.history.restoreOnBackOrForward();
82
+ },
83
+ methods: {
84
+ $ready: function() {
85
+ document.title = this.page.title;
86
+
87
+ this.$wsInitPhoenixSocket(this.page.phoenixSocket);
88
+ this.$wsInitActionCable(this.page.actionCable);
89
+
90
+ if (this.$gtag) {
91
+ if (!Utils.settings.isDev) {
92
+ console.log(`Tracking analytics: ${window.location}`);
93
+ // this.$ga.page(window.location);
94
+
95
+ this.$gtag.pageview({
96
+ page_location: window.location
97
+ });
98
+ }
99
+ } else {
100
+ console.warn("Analytics not setup. Set `settings.gtagId`.");
101
+ }
102
+
103
+ if (Utils.history.isPoppedState(this.page)) {
104
+ setTimeout(() => {
105
+ // Wait until page is rendered
106
+ GLib.action.execute(this.page.onRefocus, null, this);
107
+ });
108
+ } else {
109
+ setTimeout(() => {
110
+ // Wait until page is rendered
111
+ GLib.action.execute(this.page.onLoad, null, this);
112
+ });
113
+ }
114
+ }
115
+ }
116
+ };
117
+ </script>
118
+
119
+ <style lang="scss">
120
+ // h1,
121
+ // h2,
122
+ // h3,
123
+ // h4,
124
+ // h5,
125
+ // h6,
126
+ // span {
127
+ // line-height: 1;
128
+ // }
129
+
130
+ body {
131
+ // Hide superfluous scrollbar (Edge)
132
+ -ms-overflow-style: none;
133
+ * {
134
+ -ms-overflow-style: initial;
135
+ }
136
+
137
+ // Hide superfluous scrollbar (Webkit)
138
+ &::-webkit-scrollbar {
139
+ display: none;
140
+ }
141
+ }
142
+ html {
143
+ // Hide superfluous scrollbar (Firefox)
144
+ scrollbar-width: none;
145
+ }
146
+
147
+ /*** Header/footer support ***/
148
+ html,
149
+ body,
150
+ #app {
151
+ height: 100%;
152
+ }
153
+ /******/
154
+
155
+ /*** panels/scrollTo support ***/
156
+ .glib-scrollto {
157
+ transition: background 0.5s;
158
+ }
159
+ .glib-scrollto--highlighted {
160
+ background: yellow !important;
161
+ }
162
+ /******/
163
+ </style>
164
+
165
+ <style scoped>
166
+ /*** Header/footer support ***/
167
+ .application--wrap {
168
+ display: flex;
169
+ flex-direction: column;
170
+ justify-content: space-between;
171
+ height: 100%;
172
+ }
173
+
174
+ .body-wrapper {
175
+ height: 100%;
176
+ /* overflow-y: auto; */
177
+ overflow-y: overlay;
178
+ }
179
+ /******/
180
+ </style>
@@ -1,101 +1,101 @@
1
- <template>
2
- <v-btn
3
- :type="type"
4
- :disabled="disabled || $isBusy"
5
- :style="styles()"
6
- :class="$classes()"
7
- :href="$href()"
8
- :rel="$rel()"
9
- :text="linkStyling || $classes().includes('text')"
10
- :small="linkStyling"
11
- :icon="$classes().includes('icon')"
12
- :outlined="$classes().includes('outlined')"
13
- :tile="$classes().includes('tile')"
14
- :rounded="$classes().includes('rounded')"
15
- :depressed="$classes().includes('depressed')"
16
- @click="type == 'submit' ? null : $onClick()"
17
- >
18
- <span><common-icon :spec="spec.icon || {}"/></span>
19
- <div :class="hideTextOnXs && spec.icon ? 'd-none d-sm-flex' : null">
20
- {{ spec.text }}
21
- </div>
22
- </v-btn>
23
- </template>
24
-
25
- <script>
26
- export default {
27
- props: {
28
- spec: { type: Object, required: true },
29
- type: { type: String, default: "button" },
30
- disabled: { type: Boolean, required: true },
31
- hideTextOnXs: { type: Boolean }
32
- },
33
- data: function() {
34
- return {
35
- linkStyling: false
36
- };
37
- },
38
- methods: {
39
- $ready() {
40
- this.$type.ifArray(this.spec.styleClasses, val => {
41
- this.linkStyling = val.includes("link");
42
- });
43
- },
44
- styles() {
45
- const styles = this.genericStyles();
46
- if (this.linkStyling) {
47
- styles["color"] = styles["color"] || "#1976d2";
48
- }
49
- return styles;
50
- }
51
- }
52
- };
53
- </script>
54
-
55
- <style lang="scss" scoped>
56
- a,
57
- button {
58
- min-width: 0;
59
- margin: 0;
60
- }
61
- .v-btn {
62
- &.link {
63
- text-transform: none !important;
64
- /* text-decoration: underline; */
65
- padding-left: 0;
66
- padding-right: 0;
67
- /* `height: inherit/auto/initial` will stretch to max height when used inside a horizontal panel,
68
- presumably because it is affected by the panel's flex arrangement. */
69
- height: 16px;
70
- font-size: 16px;
71
- line-height: 1;
72
- min-width: auto;
73
- }
74
- }
75
- .v-btn--rounded {
76
- // Override .v-application.rounded
77
- border-radius: 28px !important;
78
- }
79
- .v-banner__wrapper .v-btn:not(.v-btn--round).v-size--default {
80
- min-width: 0;
81
- padding: 0;
82
- }
83
- .v-banner__wrapper .v-btn.v-size--default {
84
- font-size: 12px;
85
- }
86
- .breadcrumbs .v-btn.link {
87
- display: inline-table;
88
- justify-content: left;
89
- white-space: normal;
90
- }
91
-
92
- @media only screen and (min-width: 600px) {
93
- .v-banner__wrapper.v-btn.v-size--default {
94
- font-size: 0.875rem;
95
- }
96
- .v-banner__wrapper.v-btn:not(.v-btn--round).v-size--default {
97
- min-width: 64px;
98
- padding: 0 16px;
99
- }
100
- }
101
- </style>
1
+ <template>
2
+ <v-btn
3
+ :type="type"
4
+ :disabled="disabled || $isBusy"
5
+ :style="styles()"
6
+ :class="$classes()"
7
+ :href="$href()"
8
+ :rel="$rel()"
9
+ :text="linkStyling || $classes().includes('text')"
10
+ :small="linkStyling"
11
+ :icon="$classes().includes('icon')"
12
+ :outlined="$classes().includes('outlined')"
13
+ :tile="$classes().includes('tile')"
14
+ :rounded="$classes().includes('rounded')"
15
+ :depressed="$classes().includes('depressed')"
16
+ @click="type == 'submit' ? null : $onClick()"
17
+ >
18
+ <span><common-icon :spec="spec.icon || {}"/></span>
19
+ <div :class="hideTextOnXs && spec.icon ? 'd-none d-sm-flex' : null">
20
+ {{ spec.text }}
21
+ </div>
22
+ </v-btn>
23
+ </template>
24
+
25
+ <script>
26
+ export default {
27
+ props: {
28
+ spec: { type: Object, required: true },
29
+ type: { type: String, default: "button" },
30
+ disabled: { type: Boolean, required: true },
31
+ hideTextOnXs: { type: Boolean }
32
+ },
33
+ data: function() {
34
+ return {
35
+ linkStyling: false
36
+ };
37
+ },
38
+ methods: {
39
+ $ready() {
40
+ this.$type.ifArray(this.spec.styleClasses, val => {
41
+ this.linkStyling = val.includes("link");
42
+ });
43
+ },
44
+ styles() {
45
+ const styles = this.genericStyles();
46
+ if (this.linkStyling) {
47
+ styles["color"] = styles["color"] || "#1976d2";
48
+ }
49
+ return styles;
50
+ }
51
+ }
52
+ };
53
+ </script>
54
+
55
+ <style lang="scss" scoped>
56
+ a,
57
+ button {
58
+ min-width: 0;
59
+ margin: 0;
60
+ }
61
+ .v-btn {
62
+ &.link {
63
+ text-transform: none !important;
64
+ /* text-decoration: underline; */
65
+ padding-left: 0;
66
+ padding-right: 0;
67
+ /* `height: inherit/auto/initial` will stretch to max height when used inside a horizontal panel,
68
+ presumably because it is affected by the panel's flex arrangement. */
69
+ height: 16px;
70
+ font-size: 16px;
71
+ line-height: 1;
72
+ min-width: auto;
73
+ }
74
+ }
75
+ .v-btn--rounded {
76
+ // Override .v-application.rounded
77
+ border-radius: 28px !important;
78
+ }
79
+ .v-banner__wrapper .v-btn:not(.v-btn--round).v-size--default {
80
+ min-width: 0;
81
+ padding: 0;
82
+ }
83
+ .v-banner__wrapper .v-btn.v-size--default {
84
+ font-size: 12px;
85
+ }
86
+ .breadcrumbs .v-btn.link {
87
+ display: inline-table;
88
+ justify-content: left;
89
+ white-space: normal;
90
+ }
91
+
92
+ @media only screen and (min-width: 600px) {
93
+ .v-banner__wrapper.v-btn.v-size--default {
94
+ font-size: 0.875rem;
95
+ }
96
+ .v-banner__wrapper.v-btn:not(.v-btn--round).v-size--default {
97
+ min-width: 64px;
98
+ padding: 0 16px;
99
+ }
100
+ }
101
+ </style>