UNPKG

@progress/kendo-vue-data-tools

Version:
9 lines (8 loc) 1.88 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 r=require("vue"),a=require("@progress/kendo-vue-dropdowns"),i=require("@progress/kendo-vue-inputs"),s=require("@progress/kendo-vue-dateinputs"),u=require("../filterCommon.js"),c=r.defineComponent({props:{field:String,filterType:String,value:[Object,String,Number,Date,Boolean],operator:String,operators:Array,booleanValues:Array},emits:{change:null,filtercellfocus:null},methods:{handleFocus(t){this.$emit("filtercellfocus",t)},triggerChange(t){this.$emit("change",t)},inputChange(t,n){const o=u.cellInputChange(t,n,this.$props);this.triggerChange(o)},boolDropdownChange(t,n){const o=u.cellBoolDropdownChange(t.value.operator,n);this.triggerChange(o)}},render(){const{filterType:t,value:n,booleanValues:o}=this.$props;let l;switch(t){case"numeric":return r.createVNode(i.NumericTextBox,{value:n,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"date":return r.createVNode(s.DatePicker,{value:n,onFocus:this.handleFocus,onChange:e=>{this.inputChange(e.value,e.event)}},null);case"boolean":return l=e=>e==null,r.createVNode(a.DropDownList,{onChange:this.boolDropdownChange,value:o.find(e=>e.operator===(l(n)?"":n)),"data-items":o,textField:"text"},null);default:return r.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[r.createVNode("input",{class:"k-input-inner",value:n||"",onInput:e=>{this.inputChange(e.target.value,e)}},null)])}}});exports.ColumnMenuFilterCell=c;