UNPKG

@progress/kendo-vue-editor

Version:
9 lines (8 loc) 1.85 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 h=require("@progress/kendo-vue-buttons"),n=require("@progress/kendo-editor-common"),w=require("@progress/kendo-vue-intl"),f=require("../messages/main.js"),u=require("vue"),k=u.defineComponent({name:"KendoIndent",props:{view:Object,settings:{type:Object,default:function(){return{messages:{}}}},...h.Button.props},inject:{kendoLocalizationService:{default:null}},render(){const{view:t,render:d,settings:s,...i}=this.$props,e=t&&t.state,o=e&&e.schema.nodes,c=o&&o[s.listsTypes.listItem],a=s.actions,m=!!e&&(n.isIndented(e,a,i.dir)||a.some(l=>o[l.node]&&n.hasNode(e,o[l.node])))&&!n.hasNode(e,c),p=!!e&&n.canIndentAsListItem(e,c),I=m||p,v=w.provideLocalizationService(this),r=s.messages.title,g={...i,disabled:!I,title:v.toLanguageString(r,f.messages[r]),...s.props};return u.h(h.Button,{onClick:this.handleClick,onMousedown:this.preventDefault,onPointerdown:this.preventDefault,...g})},methods:{handleClick(){const t=this.view&&this.view.state,d=t&&t.schema.nodes,s=d&&d[this.settings.listsTypes.listItem],i=this.settings.actions,e=!!t&&(n.isIndented(t,i,this.dir)||i.some(c=>d[c.node]&&n.hasNode(t,d[c.node])))&&!n.hasNode(t,s),o=!!t&&n.canIndentAsListItem(t,s);this.view&&o?n.sinkListItem(s)(this.view.state,this.view.dispatch):this.view&&e&&n.indentBlocks(i,this.settings.commandName,this.dir)(this.view.state,this.view.dispatch)},preventDefault(t){t.preventDefault()}}});exports.Indent=k;