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:
@ -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);
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user