epic-designer-cjh
Version:
基于vue3的设计器,可视化开发页面表单
94 lines (93 loc) • 2.43 kB
JavaScript
import { i as D } from "./interopRequireDefault-40f894e3.js";
import { r as H } from "./public_api-1267ff2a.js";
import { r as P } from "./ResizeObserver.es-df63660c.js";
import { r as U } from "./_vue_commonjs-external-eb7fec7f.js";
import { b as W } from "./useConfigInject-d85d8c62.js";
var s = {}, z;
function j() {
if (z)
return s;
z = 1;
var h = D;
Object.defineProperty(s, "__esModule", {
value: !0
}), s.default = void 0;
var a = h(H()), O = h(P), e = U, R = W(), _ = (0, e.defineComponent)({
compatConfig: {
MODE: 3
},
name: "ResizeObserver",
props: {
disabled: Boolean,
onResize: Function
},
emits: ["resize"],
setup(f, q) {
let {
slots: v
} = q;
const o = (0, e.reactive)({
width: 0,
height: 0,
offsetHeight: 0,
offsetWidth: 0
});
let m = null, i = null;
const d = () => {
i && (i.disconnect(), i = null);
}, w = (t) => {
const {
onResize: r
} = f, n = t[0].target, {
width: C,
height: M
} = n.getBoundingClientRect(), {
offsetWidth: u,
offsetHeight: c
} = n, g = Math.floor(C), p = Math.floor(M);
if (o.width !== g || o.height !== p || o.offsetWidth !== u || o.offsetHeight !== c) {
const b = {
width: g,
height: p,
offsetWidth: u,
offsetHeight: c
};
(0, a.default)(o, b), r && Promise.resolve().then(() => {
r((0, a.default)((0, a.default)({}, b), {
offsetWidth: u,
offsetHeight: c
}), n);
});
}
}, x = (0, e.getCurrentInstance)(), l = () => {
const {
disabled: t
} = f;
if (t) {
d();
return;
}
const r = (0, R.findDOMNode)(x);
r !== m && (d(), m = r), !i && r && (i = new O.default(w), i.observe(r));
};
return (0, e.onMounted)(() => {
l();
}), (0, e.onUpdated)(() => {
l();
}), (0, e.onUnmounted)(() => {
d();
}), (0, e.watch)(() => f.disabled, () => {
l();
}, {
flush: "post"
}), () => {
var t;
return (t = v.default) === null || t === void 0 ? void 0 : t.call(v)[0];
};
}
});
return s.default = _, s;
}
export {
j as r
};