UNPKG

@bizhermit/react-sdk

Version:
1 lines 2.6 kB
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,r)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const datetime_utils_1=__importDefault(require("@bizhermit/basic-utils/dist/datetime-utils")),string_utils_1=__importDefault(require("@bizhermit/basic-utils/dist/string-utils")),react_1=__importStar(require("react")),attributes_1=require("../../../utils/attributes"),date_box_1=__importStar(require("../../inputs/date-box")),list_view_1=require("../list-view"),ListViewDateBoxColumn=e=>{let t={value:void 0};const a=e.labelDataName??`__${e.name}`,i=e.mode??"ymd";let r,u;switch(u=string_utils_1.default.isString(e.format)?t=>datetime_utils_1.default.format(t,e.format):e.format,i){case"y":r=80,u||(u=e=>datetime_utils_1.default.format(e,"yyyy"));break;case"ym":r=112,u||(u=e=>datetime_utils_1.default.format(e,"yyyy/MM"));break;default:r=148,u||(u=e=>datetime_utils_1.default.format(e,"yyyy/MM/dd"))}return{resize:!1,width:r,cellTextAlign:"center",...e,name:a,vName:e.name,bodyClassNames:[...(0,attributes_1.convertClassNames)(e.bodyClassNames)??[],list_view_1.listViewIptCn],initializeRowData:t=>{t[a]=u(t[e.name])},_beginEdit:e.disabled?void 0:({target:a})=>({node:react_1.default.createElement(EditColumn,{bind:t={value:a.data[e.name]},attrs:{...e.dateBoxAttributes,$mode:i,$dataType:e.dataType}}),effect:()=>{e.beganEdit?.(a.data[e.name],a)}}),_endEdit:(i,r)=>{const l=i.data[e.name],s=t.value;r&&(i.data[e.name]=s,i.data[a]=u(s)??""),e.endedEdit?.({before:l,after:r?s:l},i,r)}}},EditColumn=({bind:e,attrs:t})=>{const a=(0,date_box_1.useDateBox)();return(0,react_1.useEffect)((()=>{a.focus()}),[]),react_1.default.createElement(date_box_1.default,{...t,$hook:a,$name:"value",$bind:e,$hidePickerButton:!0,style:{height:"100%",width:"100%"},onClick:()=>{a.showPicker()}})};exports.default=ListViewDateBoxColumn;