glib-web 0.10.4 → 0.10.5
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/LICENSE +0 -0
- package/actions/auth/restart.js +0 -0
- package/actions/dialogs/oauth.js +0 -0
- package/actions/dialogs/options.js +0 -0
- package/actions/sheets/select.js +0 -0
- package/actions/snackbars/alert.js +0 -0
- package/actions/snackbars/select.js +0 -0
- package/actions/windows/openWeb.js +0 -0
- package/components/_message.vue +0 -0
- package/components/_responsive.vue +94 -0
- package/components/datetime.vue +0 -0
- package/components/fab.vue +0 -0
- package/components/fields/_select.vue +0 -0
- package/components/fields/country/countries.js +0 -0
- package/components/fields/country/field.vue +0 -0
- package/components/fields/country/regions.js +0 -0
- package/components/fields/datetime.vue +0 -0
- package/components/fields/dynamicSelect.vue +0 -0
- package/components/fields/select.vue +0 -0
- package/components/fields/timeZone.vue +0 -0
- package/components/hr.vue +0 -0
- package/components/html.vue +0 -0
- package/components/image.vue +0 -0
- package/components/mixins/longClick.js +0 -0
- package/components/mixins/scrolling.js +0 -0
- package/components/mixins/table/export.js +0 -0
- package/components/mixins/table/import.js +0 -0
- package/components/p.vue +0 -0
- package/components/panels/column.vue +0 -20
- package/components/panels/horizontal.vue +0 -0
- package/components/panels/responsive.vue +25 -67
- package/components/panels/split.vue +0 -0
- package/components/panels/ul.vue +0 -0
- package/index.js +2 -0
- package/keys.js +0 -0
- package/nav/drawerButton.vue +0 -0
- package/package.json +1 -1
- package/settings.json.example +0 -0
- package/styles/test.sass +0 -0
- package/styles/test.scss +0 -0
- package/templates/featured.vue +0 -0
- package/templates/unsupported.vue +0 -0
- package/utils/dom.js +0 -0
- package/utils/public.js +0 -0
- package/utils/settings.js +0 -0
- package/utils/storage.js +0 -0
- package/utils/url.js +0 -0
package/LICENSE
CHANGED
|
File without changes
|
package/actions/auth/restart.js
CHANGED
|
File without changes
|
package/actions/dialogs/oauth.js
CHANGED
|
File without changes
|
|
File without changes
|
package/actions/sheets/select.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/components/_message.vue
CHANGED
|
File without changes
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
:class="cssClasses"
|
|
4
|
+
:style="$styles()"
|
|
5
|
+
:href="$href()"
|
|
6
|
+
@click="$onClick()"
|
|
7
|
+
>
|
|
8
|
+
<v-row no-gutters class="full-height">
|
|
9
|
+
<template v-for="(item, index) in spec.childViews">
|
|
10
|
+
<ui-component
|
|
11
|
+
v-if="isColumn(item)"
|
|
12
|
+
:key="viewKey(item, index)"
|
|
13
|
+
:spec="item"
|
|
14
|
+
/>
|
|
15
|
+
<div
|
|
16
|
+
v-else
|
|
17
|
+
:key="viewKey(item, index)"
|
|
18
|
+
class="full-width"
|
|
19
|
+
:style="innerStyles"
|
|
20
|
+
>
|
|
21
|
+
<ui-component :spec="item" />
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
24
|
+
</v-row>
|
|
25
|
+
</div>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
import Vue from "vue";
|
|
30
|
+
|
|
31
|
+
export default {
|
|
32
|
+
props: {
|
|
33
|
+
spec: {
|
|
34
|
+
type: Object,
|
|
35
|
+
required: true,
|
|
36
|
+
default: function() {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
data() {
|
|
42
|
+
return {
|
|
43
|
+
innerStyles: {}
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
computed: {
|
|
47
|
+
cssClasses() {
|
|
48
|
+
// This panel will be nameless when used in predefined layout (e.g. page.body, list.header, etc.)
|
|
49
|
+
this.spec.view = this.spec.view || "panels/responsive";
|
|
50
|
+
return this.$classes();
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
methods: {
|
|
54
|
+
$ready() {
|
|
55
|
+
let align = null;
|
|
56
|
+
switch (this.spec.align) {
|
|
57
|
+
case "center":
|
|
58
|
+
align = "center";
|
|
59
|
+
break;
|
|
60
|
+
case "right":
|
|
61
|
+
align = "flex-end";
|
|
62
|
+
break;
|
|
63
|
+
default:
|
|
64
|
+
align = "flex-start";
|
|
65
|
+
}
|
|
66
|
+
Vue.set(this.innerStyles, "align-items", align);
|
|
67
|
+
},
|
|
68
|
+
isColumn(item) {
|
|
69
|
+
return item.view == "panels/column-v1";
|
|
70
|
+
},
|
|
71
|
+
viewKey(item, index) {
|
|
72
|
+
// Use view name for key to avoid component reuse issue
|
|
73
|
+
return `view${index}_${item.view}`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
</script>
|
|
78
|
+
|
|
79
|
+
<style scoped>
|
|
80
|
+
.row {
|
|
81
|
+
margin-left: 0;
|
|
82
|
+
margin-right: 0;
|
|
83
|
+
}
|
|
84
|
+
.full-width {
|
|
85
|
+
width: 100%;
|
|
86
|
+
flex: 0 0 100%;
|
|
87
|
+
display: flex;
|
|
88
|
+
flex-direction: column;
|
|
89
|
+
}
|
|
90
|
+
/* Needed to ensure that split's sub panels have the same height */
|
|
91
|
+
.full-height {
|
|
92
|
+
height: 100%;
|
|
93
|
+
}
|
|
94
|
+
</style>
|
package/components/datetime.vue
CHANGED
|
File without changes
|
package/components/fab.vue
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/components/hr.vue
CHANGED
|
File without changes
|
package/components/html.vue
CHANGED
|
File without changes
|
package/components/image.vue
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/components/p.vue
CHANGED
|
File without changes
|
|
@@ -81,26 +81,6 @@ export default {
|
|
|
81
81
|
this.applyStyles(styles, this.spec.xsAndDown || {});
|
|
82
82
|
this.applyStyles(styles, this.spec.xsOnly || {});
|
|
83
83
|
break;
|
|
84
|
-
|
|
85
|
-
// const padding = this.lg.padding;
|
|
86
|
-
// Utils.type.ifObject(this.lg.padding, padding => {
|
|
87
|
-
// Utils.type.ifNumber(
|
|
88
|
-
// padding.top,
|
|
89
|
-
// top => (styles["padding-top"] = `${top}px`)
|
|
90
|
-
// );
|
|
91
|
-
// Utils.type.ifNumber(
|
|
92
|
-
// padding.bottom,
|
|
93
|
-
// bottom => (styles["padding-bottom"] = `${bottom}px`)
|
|
94
|
-
// );
|
|
95
|
-
// Utils.type.ifNumber(
|
|
96
|
-
// padding.left,
|
|
97
|
-
// left => (styles["padding-left"] = `${left}px`)
|
|
98
|
-
// );
|
|
99
|
-
// Utils.type.ifNumber(
|
|
100
|
-
// padding.right,
|
|
101
|
-
// right => (styles["padding-right"] = `${right}px`)
|
|
102
|
-
// );
|
|
103
|
-
// });
|
|
104
84
|
}
|
|
105
85
|
return styles;
|
|
106
86
|
},
|
|
File without changes
|
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
<div
|
|
16
|
-
v-else
|
|
17
|
-
:key="viewKey(item, index)"
|
|
18
|
-
class="full-width"
|
|
19
|
-
:style="innerStyles"
|
|
20
|
-
>
|
|
21
|
-
<ui-component :spec="item" />
|
|
2
|
+
<div style="display: contents;">
|
|
3
|
+
<common-responsive v-if="!hoverViewsSpec" :spec="spec" />
|
|
4
|
+
<v-menu
|
|
5
|
+
v-else
|
|
6
|
+
:close-on-content-click="false"
|
|
7
|
+
open-on-hover
|
|
8
|
+
offset-x
|
|
9
|
+
transition="scale-transition"
|
|
10
|
+
content-class="hover"
|
|
11
|
+
>
|
|
12
|
+
<template v-slot:activator="{ on, attrs }">
|
|
13
|
+
<div v-bind="attrs" v-on="on">
|
|
14
|
+
<common-responsive :spec="spec" />
|
|
22
15
|
</div>
|
|
23
16
|
</template>
|
|
24
|
-
|
|
17
|
+
<v-card>
|
|
18
|
+
<common-responsive :spec="hoverViewsSpec" />
|
|
19
|
+
</v-card>
|
|
20
|
+
</v-menu>
|
|
25
21
|
</div>
|
|
26
22
|
</template>
|
|
27
23
|
|
|
28
24
|
<script>
|
|
29
|
-
import Vue from "vue";
|
|
30
|
-
|
|
31
25
|
export default {
|
|
32
26
|
props: {
|
|
33
27
|
spec: {
|
|
@@ -40,55 +34,19 @@ export default {
|
|
|
40
34
|
},
|
|
41
35
|
data() {
|
|
42
36
|
return {
|
|
43
|
-
|
|
37
|
+
hoverViewsSpec: this.spec.hoverViews
|
|
38
|
+
? {
|
|
39
|
+
childViews: this.spec.hoverViews,
|
|
40
|
+
align: this.spec.align
|
|
41
|
+
}
|
|
42
|
+
: false
|
|
44
43
|
};
|
|
45
|
-
},
|
|
46
|
-
computed: {
|
|
47
|
-
cssClasses() {
|
|
48
|
-
// This panel will be nameless when used in predefined layout (e.g. page.body, list.header, etc.)
|
|
49
|
-
this.spec.view = this.spec.view || "panels/responsive";
|
|
50
|
-
return this.$classes();
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
methods: {
|
|
54
|
-
$ready() {
|
|
55
|
-
let align = null;
|
|
56
|
-
switch (this.spec.align) {
|
|
57
|
-
case "center":
|
|
58
|
-
align = "center";
|
|
59
|
-
break;
|
|
60
|
-
case "right":
|
|
61
|
-
align = "flex-end";
|
|
62
|
-
break;
|
|
63
|
-
default:
|
|
64
|
-
align = "flex-start";
|
|
65
|
-
}
|
|
66
|
-
Vue.set(this.innerStyles, "align-items", align);
|
|
67
|
-
},
|
|
68
|
-
isColumn(item) {
|
|
69
|
-
return item.view == "panels/column-v1";
|
|
70
|
-
},
|
|
71
|
-
viewKey(item, index) {
|
|
72
|
-
// Use view name for key to avoid component reuse issue
|
|
73
|
-
return `view${index}_${item.view}`;
|
|
74
|
-
}
|
|
75
44
|
}
|
|
76
45
|
};
|
|
77
46
|
</script>
|
|
78
47
|
|
|
79
48
|
<style scoped>
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
margin-right: 0;
|
|
83
|
-
}
|
|
84
|
-
.full-width {
|
|
85
|
-
width: 100%;
|
|
86
|
-
flex: 0 0 100%;
|
|
87
|
-
display: flex;
|
|
88
|
-
flex-direction: column;
|
|
89
|
-
}
|
|
90
|
-
/* Needed to ensure that split's sub panels have the same height */
|
|
91
|
-
.full-height {
|
|
92
|
-
height: 100%;
|
|
49
|
+
.hover {
|
|
50
|
+
width: 8rem;
|
|
93
51
|
}
|
|
94
52
|
</style>
|
|
File without changes
|
package/components/panels/ul.vue
CHANGED
|
File without changes
|
package/index.js
CHANGED
|
@@ -53,6 +53,7 @@ import CommonBadge from "./components/_badge";
|
|
|
53
53
|
import CommonButton from "./components/_button";
|
|
54
54
|
import CommonMessage from "./components/_message";
|
|
55
55
|
import CommonDropdownMenu from "./components/_dropdownMenu";
|
|
56
|
+
import CommonResponsive from "./components/_responsive";
|
|
56
57
|
import CommonTemplateMenu from "./templates/_menu";
|
|
57
58
|
Vue.component("panels-vertical", VerticalPanel);
|
|
58
59
|
Vue.component("panels-responsive", ResponsivePanel);
|
|
@@ -61,6 +62,7 @@ Vue.component("common-icon", CommonIcon);
|
|
|
61
62
|
Vue.component("common-badge", CommonBadge);
|
|
62
63
|
Vue.component("common-message", CommonMessage);
|
|
63
64
|
Vue.component("common-dropdownMenu", CommonDropdownMenu);
|
|
65
|
+
Vue.component("common-responsive", CommonResponsive);
|
|
64
66
|
Vue.component("templates-menu", CommonTemplateMenu);
|
|
65
67
|
|
|
66
68
|
// TODO: Deprecate
|
package/keys.js
CHANGED
|
File without changes
|
package/nav/drawerButton.vue
CHANGED
|
File without changes
|
package/package.json
CHANGED
package/settings.json.example
CHANGED
|
File without changes
|
package/styles/test.sass
CHANGED
|
File without changes
|
package/styles/test.scss
CHANGED
|
File without changes
|
package/templates/featured.vue
CHANGED
|
File without changes
|
|
File without changes
|
package/utils/dom.js
CHANGED
|
File without changes
|
package/utils/public.js
CHANGED
|
File without changes
|
package/utils/settings.js
CHANGED
|
File without changes
|
package/utils/storage.js
CHANGED
|
File without changes
|
package/utils/url.js
CHANGED
|
File without changes
|