Full view mode (#6636)

* wuip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update folder.vue

* wip

* Update size.ts

* wip

* wip

* Update index.vue

* wip
This commit is contained in:
syuilo
2020-08-09 15:51:02 +09:00
committed by GitHub
parent 13683780cd
commit 69d9aa71f2
31 changed files with 853 additions and 334 deletions

View File

@ -1,7 +1,11 @@
export default {
inserted(el, binding, vn) {
inserted(src, binding, vn) {
const query = binding.value;
// TODO: 要素をもらうというよりはカスタム幅算出関数をもらうようにしてcalcで都度呼び出して計算するようにした方が柔軟そう
// その場合はunbindの方も改修することを忘れずに
const el = query.el ? query.el() : src;
/*
const addClassRecursive = (el: Element, cls: string) => {
el.classList.add(cls);
@ -32,19 +36,21 @@ export default {
const calc = () => {
const width = el.clientWidth;
for (const q of query) {
if (q.max) {
if (width <= q.max) {
addClass(el, 'max-width_' + q.max + 'px');
if (query.max) {
for (const v of query.max) {
if (width <= v) {
addClass(src, 'max-width_' + v + 'px');
} else {
removeClass(el, 'max-width_' + q.max + 'px');
removeClass(src, 'max-width_' + v + 'px');
}
}
if (q.min) {
if (width >= q.min) {
addClass(el, 'min-width_' + q.min + 'px');
}
if (query.min) {
for (const v of query.min) {
if (width >= v) {
addClass(src, 'min-width_' + v + 'px');
} else {
removeClass(el, 'min-width_' + q.min + 'px');
removeClass(src, 'min-width_' + v + 'px');
}
}
}
@ -63,7 +69,11 @@ export default {
el._ro_ = ro;
},
unbind(el, binding, vn) {
unbind(src, binding, vn) {
const query = binding.value;
const el = query.el ? query.el() : src;
el._ro_.unobserve(el);
}
};