UNPKG

@progress/kendo-vue-editor

Version:
9 lines (8 loc) 3.95 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"),p=require("@progress/kendo-vue-dialogs"),m=require("@progress/kendo-vue-buttons"),V=require("@progress/kendo-editor-common"),v=require("@progress/kendo-vue-intl"),s=require("../messages/main.js"),o=require("@progress/kendo-vue-common"),a=require("@progress/kendo-vue-form"),d=require("@progress/kendo-vue-inputs");function C(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const y=t.defineComponent({name:"KendoInsertLinkDialog",emits:{close:null},props:{view:Object,settings:Object,dir:String},data(){const{view:e,settings:n}=this.$props,i=e?V.getMark(e.state,e.state.schema.marks[n.mark]):!1;return{hrefValue:i&&i.attrs.href||void 0,titleValue:i&&i.attrs.title||void 0,targetValue:i&&!!i.attrs.target||void 0}},inject:{kendoLocalizationService:{default:null}},mounted(){this.href=o.getRef(this,"href"),this.title=o.getRef(this,"title"),this.target=o.getRef(this,"target"),this.href&&this.href.focus()},render(){let e,n;const{settings:i,dir:l}=this.$props,r=v.provideLocalizationService(this),{insertHyperlinkDialogTitle:u,insertHyperlinkAddress:c,insertHyperlinkTitle:h,insertHyperlinkNewWindow:g,insertHyperlinkCancel:f,insertHyperlinkInsert:k}=i.messages,N=r.toLanguageString(g,s.messages[g]),b=t.createVNode(a.Form,null,{default:()=>[t.createVNode(a.FormElement,{horizontal:!0},{default:()=>[t.createVNode(a.FieldWrapper,null,{default:()=>[t.createVNode("label",{for:"k-editor-link-url",class:"k-form-label"},[r.toLanguageString(c,s.messages[c])]),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(d.Input,{id:"k-editor-link-url",ref:o.setRef(this,"href"),onInput:this.hrefChange,value:this.hrefValue},null)])]}),t.createVNode(a.FieldWrapper,null,{default:()=>[t.createVNode("label",{for:"k-editor-link-text",class:"k-form-label"},[r.toLanguageString(h,s.messages[h])]),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(d.Input,{id:"k-editor-link-text",ref:o.setRef(this,"title"),onInput:this.titleChange,value:this.titleValue},null)])]}),i.linkTarget!==!1&&t.createVNode(a.FieldWrapper,null,{default:()=>[t.createVNode("div",{class:"k-form-label"},null),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(d.Checkbox,{id:"k-editor-link-target",ref:o.setRef(this,"target"),label:N,onChange:this.targetChange,checked:this.targetValue},null)])]})]})]});return t.createVNode(p.Window,{initialWidth:450,initialHeight:250,windowClass:"k-editor-window",title:r.toLanguageString(u,s.messages[u]),onClose:this.onClose,dir:l,modal:!0,minimizeButton:()=>null,maximizeButton:()=>null,resizable:!1},{default:()=>[b,t.createVNode(p.DialogActionsBar,null,{default:()=>[t.createVNode(m.Button,{type:"button",onClick:this.onClose,dir:l,key:"cancel"},C(e=r.toLanguageString(f,s.messages[f]))?e:{default:()=>[e]}),t.createVNode(m.Button,{type:"button",onClick:this.onInsert,themeColor:"primary",dir:l,key:"insert"},C(n=r.toLanguageString(k,s.messages[k]))?n:{default:()=>[n]})]})]})},methods:{hrefChange(e){this.hrefValue=e.value},titleChange(e){this.titleValue=e.value},targetChange(e){this.targetValue=e.value},onClose(){this.$props.view.focus(),this.$emit("close")},onInsert(){const e=this.$props.view,n=this.$props.settings.mark,i={href:this.href?this.hrefValue:void 0,title:this.title?this.titleValue:void 0,target:this.target&&this.targetValue?"_blank":void 0};V.applyLink({mark:n,attrs:i},this.$props.settings.commandName)(e.state,e.dispatch),this.onClose()}}});exports.InsertLinkDialog=y;