@progress/kendo-vue-editor
Version:
106 lines (105 loc) • 2.63 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { defineComponent as p, createVNode as r } from "vue";
import { Popup as a } from "@progress/kendo-vue-popup";
import { PopupGrid as d } from "./popupGrid.mjs";
const h = /* @__PURE__ */ p({
name: "KendoInsertTablePopup",
emits: {
close: null
},
props: {
show: {
type: Boolean,
required: !0
},
createTableMessage: {
type: String,
required: !0
},
createTableHintMessage: {
type: String,
required: !0
},
anchor: String,
rows: {
type: Number,
default: 6
},
columns: {
type: Number,
default: 8
},
dir: String,
onTableinsert: Function
},
data() {
return {
pointerdown: !1
};
},
updated() {
},
mounted() {
window.addEventListener("mousedown", this.onWindowDown), window.addEventListener("pointerdown", this.onWindowDown);
},
unmounted() {
window.removeEventListener("mousedown", this.onWindowDown), window.removeEventListener("pointerdown", this.onWindowDown);
},
render() {
const {
show: o,
anchor: e,
dir: t,
rows: i,
columns: s
} = this.$props, n = t === "rtl" ? "right" : "left";
return r(a, {
anchor: e,
anchorAlign: {
horizontal: n,
vertical: "bottom"
},
popupAlign: {
horizontal: n,
vertical: "top"
},
popupClass: "k-ct-popup k-group k-reset k-border-up",
show: o,
style: t === "rtl" ? {
direction: "rtl"
} : void 0
}, {
default: () => [r(d, {
rows: i,
columns: s,
createTableMessage: this.$props.createTableMessage,
createTableHintMessage: this.$props.createTableHintMessage,
onCellclick: this.onTableInsert,
onDown: this.onPointerDown
}, null)]
});
},
methods: {
onTableInsert(o, e) {
this.$emit("tableinsert", o, e);
},
onWindowDown(o) {
const {
anchor: e
} = this.$props;
e && (e === o.target || e.firstElementChild === o.target) || (this.$props.show && !this.pointerdown && this.$emit("close"), this.pointerdown = !1);
},
onPointerDown() {
this.pointerdown = !0;
}
}
});
export {
h as InsertTablePopup
};