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