vgapp 0.5.8 → 0.6.0
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/CHANGELOG.md +7 -0
- package/app/modules/base-module.js +10 -0
- package/app/modules/vgalert/index.js +0 -2
- package/app/modules/vgdropdown/index.js +0 -1
- package/app/modules/vgdropdown/js/vgdropdown.js +11 -10
- package/app/modules/vgformsender/index.js +0 -1
- package/app/modules/vglawcookie/index.js +0 -1
- package/app/modules/vgmodal/index.js +0 -1
- package/app/modules/vgmodal/scss/vgmodal.scss +0 -1
- package/app/modules/vgnav/!old/!vgnav.js +510 -0
- package/app/modules/vgnav/!old/scss/_breakpoints.scss +127 -0
- package/app/modules/vgnav/!old/scss/_hamburger.scss +62 -0
- package/app/modules/vgnav/!old/scss/_placement.scss +70 -0
- package/app/modules/vgnav/!old/scss/_toggle.scss +20 -0
- package/app/modules/vgnav/!old/scss/_variables.scss +70 -0
- package/app/modules/vgnav/!old/scss/vgnav.scss +164 -0
- package/app/modules/vgnav/index.js +0 -1
- package/app/modules/vgnav/js/vgnav.js +136 -254
- package/app/modules/vgnav/scss/_placement.scss +1 -1
- package/app/modules/vgnav/scss/_variables.scss +18 -18
- package/app/modules/vgnav/scss/vgnav.scss +13 -10
- package/app/modules/vgrollup/index.js +0 -1
- package/app/modules/vgselect/index.js +0 -1
- package/app/modules/vgselect/js/vgselect.js +9 -1
- package/app/modules/vgsidebar/index.js +0 -1
- package/app/modules/vgtabs/index.js +0 -1
- package/app/modules/vgtoast/index.js +0 -1
- package/app/utils/js/components/placement.js +58 -1
- package/build/vgapp.css +1508 -20
- package/build/vgapp.css.map +1 -1
- package/build/vgapp.js +30 -3
- package/build/vgapp.js.map +1 -1
- package/index.js +0 -4
- package/index.scss +38 -0
- package/package.json +1 -1
- package/webpack.config.js +1 -1
- package/app/modules/vgalert/scss/vgalert.css +0 -83
- package/app/modules/vgalert/scss/vgalert.css.map +0 -1
- package/app/modules/vgdatatable/index.js +0 -4
- package/app/modules/vgdatatable/js/vgdatatable.js +0 -146
- package/app/modules/vgdatatable/scss/_variables.scss +0 -19
- package/app/modules/vgdatatable/scss/vgdatatable.scss +0 -72
- package/app/modules/vgdropdown/scss/vgdropdown.css +0 -47
- package/app/modules/vgdropdown/scss/vgdropdown.css.map +0 -1
- package/app/modules/vgformsender/scss/vgformsender.css +0 -13
- package/app/modules/vgformsender/scss/vgformsender.css.map +0 -1
- package/app/modules/vglawcookie/scss/vglawcookie.css +0 -87
- package/app/modules/vglawcookie/scss/vglawcookie.css.map +0 -1
- package/app/modules/vgmodal/scss/vgmodal.css +0 -3824
- package/app/modules/vgmodal/scss/vgmodal.css.map +0 -1
- package/app/modules/vgnav/scss/vgnav.css +0 -312
- package/app/modules/vgnav/scss/vgnav.css.map +0 -1
- package/app/modules/vgrollup/scss/vgrollup.css +0 -44
- package/app/modules/vgrollup/scss/vgrollup.css.map +0 -1
- package/app/modules/vgselect/scss/vgselect.css +0 -256
- package/app/modules/vgselect/scss/vgselect.css.map +0 -1
- package/app/modules/vgsidebar/scss/vgsidebar.css +0 -86
- package/app/modules/vgsidebar/scss/vgsidebar.css.map +0 -1
- package/app/modules/vgtoast/scss/vgtoast.css +0 -133
- package/app/modules/vgtoast/scss/vgtoast.css.map +0 -1
- package/app/utils/js/components/responsive.js +0 -83
- package/build/vgapp.js.LICENSE.txt +0 -1
|
@@ -309,7 +309,7 @@ class VGSelect extends BaseModule {
|
|
|
309
309
|
clearTimeout(observerTimout);
|
|
310
310
|
observerTimout = setTimeout(() => {
|
|
311
311
|
VGSelect.build(select, true);
|
|
312
|
-
},
|
|
312
|
+
}, 10);
|
|
313
313
|
});
|
|
314
314
|
|
|
315
315
|
observer.observe(select, {
|
|
@@ -379,6 +379,14 @@ class VGSelect extends BaseModule {
|
|
|
379
379
|
static changeSelector(select, value, data = {}) {
|
|
380
380
|
if (!isObject(data) && isEmptyObj(data)) return;
|
|
381
381
|
|
|
382
|
+
[... select.options].forEach(el => {
|
|
383
|
+
Manipulator.remove(el, 'selected');
|
|
384
|
+
|
|
385
|
+
if (el.value === value) {
|
|
386
|
+
Manipulator.set(el, 'selected', true);
|
|
387
|
+
}
|
|
388
|
+
})
|
|
389
|
+
|
|
382
390
|
select.value = normalizeData(value);
|
|
383
391
|
EventHandler.trigger(select, EVENT_KEY_CHANGE, {data: data});
|
|
384
392
|
EventHandler.trigger(select, 'change', {data: data});
|
|
@@ -1,16 +1,60 @@
|
|
|
1
1
|
import {mergeDeepObject, normalizeData} from "../functions";
|
|
2
|
+
import Selectors from "../dom/selectors";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Класс Placement, определяет и устанавливает местоположение элемента на странице.
|
|
5
|
-
* TODO класс не
|
|
6
|
+
* TODO класс не дописан, не определяет сверху и снизу
|
|
6
7
|
*/
|
|
7
8
|
|
|
9
|
+
const CLASS_NAME_RIGHT = 'right';
|
|
10
|
+
const CLASS_NAME_LEFT = 'left';
|
|
11
|
+
|
|
8
12
|
class Placement {
|
|
9
13
|
constructor(arg = {}) {
|
|
10
14
|
this.params = mergeDeepObject({
|
|
11
15
|
element: null,
|
|
12
16
|
drop: null
|
|
13
17
|
}, arg);
|
|
18
|
+
|
|
19
|
+
this._drop = null;
|
|
20
|
+
this.drop = this.params.drop;
|
|
21
|
+
|
|
22
|
+
this._element = null;
|
|
23
|
+
this.element = this.params.element;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
get drop() {
|
|
27
|
+
return this._drop;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set drop(el) {
|
|
31
|
+
if (!el) return;
|
|
32
|
+
this._drop = el;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
get element() {
|
|
36
|
+
return this._element;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
set element(el) {
|
|
40
|
+
if (!el) {
|
|
41
|
+
if (this.drop) {
|
|
42
|
+
this._element = this.drop.parentNode;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
this._element = el;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
_setPlacement() {
|
|
50
|
+
this.drop.classList.remove(CLASS_NAME_RIGHT);
|
|
51
|
+
this.drop.classList.remove(CLASS_NAME_LEFT);
|
|
52
|
+
|
|
53
|
+
if (this._isElementInViewport(this.drop)) {
|
|
54
|
+
this.drop.classList.add(CLASS_NAME_LEFT);
|
|
55
|
+
} else {
|
|
56
|
+
this.drop.classList.add(CLASS_NAME_RIGHT);
|
|
57
|
+
}
|
|
14
58
|
}
|
|
15
59
|
|
|
16
60
|
_getPlacement() {
|
|
@@ -54,6 +98,19 @@ class Placement {
|
|
|
54
98
|
left: left
|
|
55
99
|
}
|
|
56
100
|
}
|
|
101
|
+
|
|
102
|
+
_isElementInViewport(element) {
|
|
103
|
+
const rect = element.getBoundingClientRect();
|
|
104
|
+
const viewportWidth = window.innerWidth || document.documentElement.clientWidth;
|
|
105
|
+
const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
106
|
+
|
|
107
|
+
return (
|
|
108
|
+
rect.top >= 0 &&
|
|
109
|
+
rect.left >= 0 &&
|
|
110
|
+
rect.bottom <= viewportHeight &&
|
|
111
|
+
rect.right <= viewportWidth
|
|
112
|
+
);
|
|
113
|
+
}
|
|
57
114
|
}
|
|
58
115
|
|
|
59
116
|
export default Placement;
|