@bizhermit/react-sdk
Version:
React SDK
1 lines • 2.48 kB
JavaScript
;var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,a){void 0===a&&(a=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,a,r)}:function(e,t,i,a){void 0===a&&(a=i),e[a]=t[i]}),__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 i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0});const time_1=__importStar(require("@bizhermit/time")),react_1=__importStar(require("react")),attributes_1=require("../../../utils/attributes"),time_box_1=__importStar(require("../../inputs/time-box")),list_view_1=require("../list-view"),ListViewTimeBoxColumn=e=>{let t={value:void 0};const i=e.labelDataName??`__${e.name}`,a=e.mode??"hm";let r,n,o,s=e.unit;switch("function"==typeof e.format?n=e.format:(o=e.format,n=e=>"string"==typeof e?new time_1.default(e).format(o):"number"==typeof e?new time_1.default(time_1.TimeUtils.convertUnitToMilliseconds(e,s)).format(o):""),a){case"hms":r=127,s||(s="second"),o||(o="hh:mm:ss");break;case"ms":r=93,s||(s="second"),o||(o="mm:ss");break;case"h":r=58,s||(s="hour"),o||(o="hh");break;default:r=93,s||(s="minute"),o||(o="hh:mm")}return{resize:!1,width:r,cellTextAlign:"center",...e,name:i,vName:e.name,bodyClassNames:[...(0,attributes_1.convertClassNames)(e.bodyClassNames)??[],list_view_1.listViewIptCn],initializeRowData:t=>{t[i]=n(t[e.name])},_beginEdit:e.disabled?void 0:({target:i})=>({node:react_1.default.createElement(EditColumn,{bind:t={value:i.data[e.name]},attrs:{...e.timeBoxAttributes,$mode:a,$unit:s,$dataType:e.dataType}}),effect:()=>{e.beganEdit?.(i.data[e.name],i)}}),_endEdit:(a,r)=>{const o=a.data[e.name],s=t.value;r&&(a.data[e.name]=s,a.data[i]=n(s)??""),e.endedEdit?.({before:o,after:r?s:o},a,r)}}},EditColumn=({bind:e,attrs:t})=>{const i=(0,time_box_1.useTimeBox)();return(0,react_1.useEffect)((()=>{i.focus()}),[]),react_1.default.createElement(time_box_1.default,{...t,$hook:i,$name:"value",$bind:e,$hidePickerButton:!0,style:{height:"100%",width:"100%"},onClick:()=>{i.showPicker()}})};exports.default=ListViewTimeBoxColumn;