UNPKG

@progress/kendo-vue-dialogs

Version:
9 lines (8 loc) 3.44 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 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 e=require("vue"),n=require("@progress/kendo-vue-common"),l=require("@progress/kendo-vue-buttons"),R=require("@progress/kendo-vue-intl"),a=require("./StageEnum.js"),t=require("./messages/main.js"),c=require("@progress/kendo-svg-icons"),F=e.defineComponent({name:"KendoWindowTitleBar",props:{id:String,stage:String,closeButton:[String,Function,Object,Boolean],minimizeButton:[String,Function,Object,Boolean],maximizeButton:[String,Function,Object,Boolean],restoreButton:[String,Function,Object,Boolean],title:String,titleId:String,titleRender:[String,Function,Object,Boolean],onDoubleclick:Function,onMinimizeclick:Function,onFullscreenclick:Function,onRestoreclick:Function,onCloseclick:Function},inject:{kendoLocalizationService:{default:null}},methods:{onDoubleClick(i){this.$emit("doubleclick",i)},onMinimizeClick(i){this.$emit("minimizeclick",i)},onFullScreenClick(i){this.$emit("fullscreenclick",i)},onRestoreClick(i){this.$emit("restoreclick",i)},onCloseClick(i){this.$emit("closeclick",i)}},render(){const i=this.$props,{stage:s,title:r,titleRender:u,minimizeButton:d,maximizeButton:g,restoreButton:m,closeButton:w}=i,o=R.provideLocalizationService(this);let k=n.getTemplate.call(this,{h:e.h,template:u,defaultRendering:r});const B=e.createVNode(l.Button,{type:"button",class:"k-window-titlebar-action",size:"xs",icon:"window-minimize",svgIcon:c.windowMinimizeIcon,fillMode:"flat",onClick:this.onMinimizeClick,"aria-label":o.toLanguageString(t.dialogsWindowMinimizeButton,t.messages[t.dialogsWindowMinimizeButton])},null),h=n.getTemplate.call(this,{h:e.h,template:d,defaultRendering:B}),b=e.createVNode(l.Button,{type:"button",class:"k-window-titlebar-action",size:"xs",icon:"window",svgIcon:c.windowIcon,fillMode:"flat",onClick:this.onFullScreenClick,"aria-label":o.toLanguageString(t.dialogsWindowMaximizeButton,t.messages[t.dialogsWindowMaximizeButton])},null),p=n.getTemplate.call(this,{h:e.h,template:g,defaultRendering:b}),z=e.createVNode(l.Button,{type:"button",class:"k-window-titlebar-action",size:"xs",icon:"window-restore",svgIcon:c.windowRestoreIcon,fillMode:"flat",onClick:this.onRestoreClick,"aria-label":o.toLanguageString(t.dialogsWindowRestoreButton,t.messages[t.dialogsWindowRestoreButton])},null),S=n.getTemplate.call(this,{h:e.h,template:m,defaultRendering:z}),f=e.createVNode(l.Button,{type:"button",class:"k-window-titlebar-action",size:"xs",icon:"x",svgIcon:c.xIcon,fillMode:"flat",onClick:this.onCloseClick,"aria-label":o.toLanguageString(t.dialogsWindowCloseButton,t.messages[t.dialogsWindowCloseButton])},null),C=n.getTemplate.call(this,{h:e.h,template:w,defaultRendering:f});return e.createVNode("div",{class:"k-window-titlebar",style:{touchAction:"none"},onDblclick:this.onDoubleClick},[e.createVNode("span",{class:"k-window-title",id:this.$props.titleId},[k]),e.createVNode("div",{class:"k-window-titlebar-actions"},[s===a.windowStage.DEFAULT&&h,s===a.windowStage.DEFAULT&&p,s!==a.windowStage.DEFAULT&&S,C])])}});exports.WindowTitleBar=F;