@bizhermit/react-sdk
Version:
React SDK
1 lines • 2.12 kB
JavaScript
;var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var a=Object.getOwnPropertyDescriptor(t,i);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,a)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=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},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const number_utils_1=__importDefault(require("@bizhermit/basic-utils/dist/number-utils")),react_1=__importStar(require("react")),attributes_1=require("../../../utils/attributes"),numeric_box_1=__importStar(require("../../inputs/numeric-box")),list_view_1=require("../list-view"),ListViewNumericBoxColumn=e=>{let t={value:void 0};const i=e.labelDataName??`__${e.name}`,r=e.format??(e=>number_utils_1.default.format(e));return{dataType:"number",...e,name:i,vName:e.name,bodyClassNames:[...(0,attributes_1.convertClassNames)(e.bodyClassNames)??[],list_view_1.listViewIptCn],initializeRowData:t=>{t[i]=r(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.numericBoxAttributes}),effect:()=>{e.beganEdit?.(i.data[e.name],i)}}),_endEdit:(a,u)=>{const n=a.data[e.name],o=t.value;u&&(a.data[e.name]=o,a.data[i]=r(o)??""),e.endedEdit?.({before:n,after:u?o:n},a,u)}}},EditColumn=({bind:e,attrs:t})=>{const i=(0,numeric_box_1.useNumericBox)();return(0,react_1.useEffect)((()=>{i.focus()}),[]),react_1.default.createElement(numeric_box_1.default,{...t,$hook:i,$name:"value",$bind:e,style:{height:"100%",width:"100%"}})};exports.default=ListViewNumericBoxColumn;