UNPKG

@progress/kendo-vue-editor

Version:
9 lines (8 loc) 2.84 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),h=require("@progress/kendo-vue-dialogs"),p=require("@progress/kendo-vue-buttons"),n=require("@progress/kendo-editor-common"),f=require("@progress/kendo-vue-intl"),l=require("../messages/main.js"),V=require("../utils/props-key.js"),u=require("@progress/kendo-vue-common");function d(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const v=t.defineComponent({name:"KendoViewHtmlDialog",emits:{close:null},props:{view:Object,settings:Object,dir:String},created(){this.textAreaId=u.guid()},inject:{kendoLocalizationService:{default:null}},data(){const{view:e}=this.$props;return{textAreaValue:n.indentHtml(n.getHtml(e.state))}},mounted(){this.htmlArea=u.getRef(this,"htmlArea"),this.htmlArea&&this.htmlArea.focus()},render(){let e,o;const{settings:s,dir:i}=this.$props,a=f.provideLocalizationService(this),{viewHtmlDialogTitle:c,viewHtmlCancel:m,viewHtmlUpdate:g}=s.messages,k=t.createVNode("span",{class:"k-input k-textarea k-input-md k-input-solid k-rounded-md k-editor-textarea"},[t.createVNode("textarea",{ref:u.setRef(this,"htmlArea"),onInput:this.textAreaChange,value:this.textAreaValue,id:this.textAreaId,role:"textbox",class:"k-input-inner !k-overflow-auto",tabindex:"0","aria-multiline":"true",style:"resize: none;"},null)]),r=[t.createVNode(p.Button,{type:"button",onClick:this.onClose,dir:i,key:"cancel"},d(e=a.toLanguageString(m,l.messages[m]))?e:{default:()=>[e]}),t.createVNode(p.Button,{type:"button",onClick:this.onUpdate,themeColor:"primary",dir:i,key:"update"},d(o=a.toLanguageString(g,l.messages[g]))?o:{default:()=>[o]})];return t.createVNode(h.Window,{initialHeight:400,initialWidth:500,windowClass:"k-editor-window",title:a.toLanguageString(c,l.messages[c]),onClose:this.onClose,key:"dialog",dir:i,style:i==="rtl"?{textAlign:"right"}:void 0,modal:!0,minimizeButton:()=>null,maximizeButton:()=>null,resizable:!1},{default:()=>[k,t.createVNode(h.DialogActionsBar,null,d(r)?r:{default:()=>[r]})]})},methods:{textAreaChange(e){this.textAreaValue=e.target.value},onUpdate(){const{view:e,settings:o}=this.$props,s=n.trimWhitespace(this.htmlArea?this.textAreaValue:""),{preserveWhitespace:i}=V.editorPropsKey.getState(e.state);n.setHtml(s,o.commandName,{preserveWhitespace:i})(e.state,e.dispatch),this.onClose()},onClose(){this.$props.view.focus(),this.$emit("close")}}});exports.ViewHtmlDialog=v;