@progress/kendo-vue-editor
Version:
9 lines (8 loc) • 2.05 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
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),l=require("@progress/kendo-vue-buttons"),h=require("@progress/kendo-vue-common"),T=require("./popup.js"),f=require("@progress/kendo-vue-intl"),c=require("../../messages/main.js"),r=require("@progress/kendo-editor-common"),P=s.defineComponent({name:"KendoInsertTable",props:{view:Object,settings:{type:Object,default:function(){return{messages:{}}}},dir:String,...l.Button.props},inject:{kendoLocalizationService:{default:null}},created(){this.buttonRef=h.guid()},data(){return{openedPopup:!1}},render(){const{view:e,settings:n,...t}=this.$props,o=e&&e.state,a=f.provideLocalizationService(this),{createTable:i,createTableHint:u}=n.messages,p=a.toLanguageString(i,c.messages[i]),d=a.toLanguageString(u,c.messages[u]),b={...t,disabled:!o||!r.canInsert(o,o.schema.nodes.table),key:"InsertTable",title:p,...n.props},g=[s.h(l.Button,{ref:this.buttonRef,onClick:this.togglePopup,onMousedown:this.preventDefault,onPointerdown:this.preventDefault,...b}),e&&s.createVNode(T.InsertTablePopup,{key:"insertTablePopup",createTableMessage:p,createTableHintMessage:d,dir:this.dir,anchor:this.buttonRef,show:this.openedPopup,onClose:this.closePopup,onTableinsert:this.onTableInsert},null)||null];return s.createVNode("span",null,[g])},methods:{togglePopup(){this.openedPopup=!this.openedPopup},closePopup(){this.openedPopup&&this.togglePopup()},onTableInsert(e,n){const{view:t}=this.$props;if(!t)return;const o=r.createTable(t.state.schema.nodes,e,n);o&&r.insertNode(o,!0)(t.state,t.dispatch),t.focus(),this.closePopup()},preventDefault(e){e.preventDefault()}}});exports.InsertTable=P;