????

Your IP : 216.73.216.130


Current Path : C:/inetpub/vhost/donthu.nextform.vn/wwwroot/assets/
Upload File :
Current File : C:/inetpub/vhost/donthu.nextform.vn/wwwroot/assets/index-DxvQazSy.js

var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{bM as formatDatetime,ao as useService,bP as Event,r as reactExports,bh as CHECK_SUCCESS,bi as CHECK_ERROR,bK as lodashExports,bO as slug,k as jsxRuntimeExports,C as Card,B as Box,am as Grid,P as Paper,y as Button,I as Icon,aH as CircularProgress}from"./index-y1X-EiI1.js";import{h as useMedia,u as useAsync,F as Form,C as CardHeader,b as CardContent,a as FormControl,D as DataTable}from"./DataTable-BEDH0i35.js";import{J as JoditForm}from"./index-V2aIyTpk.js";import{b as DialogContent,c as DialogActions,D as Dialog}from"./DialogTitle-B28XGy8_.js";import"./Tooltip-C0pwvyhl.js";import"./Popper-BN0GgV3z.js";import"./utils-B_XeHYak.js";import"./TableRow-BfZy-RM-.js";import"./FormGroup-CEJG6asl.js";import"./ListItemText-BvrfP19N.js";import"./Autocomplete-CpStdzj7.js";import"./Close-DnCuke95.js";import"./usePreviousProps-eNEUPQQG.js";import"./Chip-4iuxTgqW.js";import"./warning-BmqNoLzl.js";import"./TablePagination-Dnie0nHQ.js";import"./Toolbar-BZCdaOvb.js";import"./LoadingButton-DgqpHLzy.js";import"./Badge-BUU8rl3f.js";import"./Collapse-YEAu7S3-.js";import"./Alert-AfWalC00.js";import"./Switch-BlzK9Osj.js";import"./SwitchBase-HB81Uehs.js";import"./Checkbox-B8nePMFP.js";import"./AppBar-BrohM22l.js";import"./Fab-BPCNM9bU.js";const columns=[{title:"id",field:"id",type:"numeric",dataID:!0,editable:"never",hidden:!0},{title:"Ảnh",field:"featuredImage",type:"image",headerStyle:{width:"11rem"}},{title:"Tiêu đề",field:"name",type:"string",dataCheck:!0,searchable:!0},{title:"Mô tả",field:"description",type:"string",dataCheck:!0,searchable:!0},{title:"Ngày bắt đầu",field:"startDate",type:"date",dataCheck:!0,render:({startDate})=>formatDatetime(startDate)},{title:"Ngày kết thúc",field:"endDate",type:"date",dataCheck:!0,render:({endDate})=>formatDatetime(endDate)}];function useEvent(){const allow=useService(Event,"");return{getAllEvent:__name(param=>allow.get({url:""},param),"getAllEvent"),postEvent:__name(data=>allow.post({url:"",body:data}),"postEvent"),getEventById:__name((id,param)=>allow.get({url:`(${id})`},param),"getEventById"),updateEvent:__name((id,data)=>allow.path({url:`(${id})`,body:data}),"updateEvent"),deleteEvent:__name(id=>allow.deleteMethod({url:`(${id})`}),"deleteEvent")}}__name(useEvent,"useEvent");const formData={featuredImage:{field_name:"featuredImage",title:"Ảnh bìa",type:"image"},name:{field_name:"name",title:"Tiêu đề",type:"textbox",rules:{required:"Vui lòng chọn"}},description:{field_name:"description",title:"Mô tả",type:"textarea",rules:{required:"Vui lòng chọn"}},link:{field_name:"link",title:"Slug",type:"textbox",disabled:!0},startDate:{field_name:"startDate",title:"Bắt đầu",type:"datetime"},endDate:{field_name:"endDate",title:"Kết thúc",type:"datetime"}},Index$1=__name(({onClose,open,id})=>{const[data,setData]=reactExports.useState({}),{getEventById,postEvent,updateEvent}=useEvent(),{postMedia}=useMedia(),refJodit=reactExports.useRef(null),getDataById=reactExports.useCallback(async id2=>{try{const data2=await getEventById(id2,{});return setData(data2),data2}catch{}},[getEventById]),handleSubmit=reactExports.useCallback(async dataForm=>{try{const{id:id2,...dataEdit}=dataForm;if(id2){const{file}=data;if(file){const url=await postMedia({file,caption:file==null?void 0:file.name});await updateEvent(id2,{...dataEdit,featuredImage:url.link,content:refJodit.current.getValue()})}else await updateEvent(id2,{...dataEdit,content:refJodit.current.getValue()})}else{const{file}=data;let urlImage=null;if(file){const{link}=await postMedia({file,caption:file==null?void 0:file.name});urlImage=link}await postEvent({...dataForm,featuredImage:urlImage||dataForm.featuredImage,content:refJodit.current.getValue()})}CHECK_SUCCESS("Cập nhật thành công"),onClose()}catch(error){CHECK_ERROR(error)}},[data,onClose,postEvent,postMedia,updateEvent]),{execute,status}=useAsync(handleSubmit),handleChangeNS=reactExports.useCallback((name,value)=>{switch(name){case"name":setData(pre=>({...pre,[name]:value,link:slug(value)}));break;case"featuredImage":lodashExports.isObject(value)?setData(pre=>({...pre,[name]:value.url,file:value.file})):setData(pre=>({...pre,[name]:value}));break;default:setData(pre=>({...pre,[name]:value}));break}},[]),renderFormCreate=reactExports.useMemo(()=>jsxRuntimeExports.jsxs(Form,{onSubmit:execute,defaultValues:()=>id?getDataById(id):Promise.resolve({}),children:[jsxRuntimeExports.jsx(DialogContent,{sx:{padding:"0px"},children:jsxRuntimeExports.jsxs(Card,{children:[jsxRuntimeExports.jsx(CardHeader,{title:"Thêm mới"}),jsxRuntimeExports.jsx(CardContent,{sx:{background:"#E7EBF0"},children:jsxRuntimeExports.jsx(Box,{children:jsxRuntimeExports.jsxs(Grid,{container:!0,spacing:2,children:[jsxRuntimeExports.jsx(Grid,{item:!0,xs:4,children:jsxRuntimeExports.jsx(Paper,{sx:{borderRadius:"0.3rem",padding:"1rem"},children:Object.entries(formData).map(([key,value],idx)=>jsxRuntimeExports.jsx(FormControl,{data:{...value,name:key},rules:value.rules,name:key,value:data&&data[key],onChange:handleChangeNS,defaultValue:value.defaultValue||data[key]},idx+key))})}),jsxRuntimeExports.jsx(Grid,{item:!0,xs:8,children:open&&jsxRuntimeExports.jsx(JoditForm,{ref:refJodit,isOpen:data.content||""})})]})})})]})}),jsxRuntimeExports.jsxs(DialogActions,{children:[jsxRuntimeExports.jsx(Button,{color:"error",startIcon:jsxRuntimeExports.jsx(Icon,{children:"cancel"}),onClick:onClose,disabled:!1,children:"Hủy"}),jsxRuntimeExports.jsx(Button,{type:"submit",variant:"outlined",startIcon:status==="pending"?jsxRuntimeExports.jsx(CircularProgress,{size:20}):jsxRuntimeExports.jsx(Icon,{children:"save"}),disabled:status==="pending",children:"Lưu"})]})]}),[data,execute,getDataById,handleChangeNS,id,onClose,open,status]);return jsxRuntimeExports.jsx(Dialog,{fullWidth:!0,disableEnforceFocus:!0,disableAutoFocus:!0,maxWidth:"xl",onClose,open:!!open,children:renderFormCreate})},"Index$1"),UpdateForm=reactExports.memo(Index$1),Index=__name(()=>{const tableRef=reactExports.createRef(),[openConfig,setOpenConfig]=reactExports.useState({}),reloadTable=__name(()=>tableRef.current&&tableRef.current.onQueryChange(),"reloadTable");return jsxRuntimeExports.jsxs(Box,{children:[jsxRuntimeExports.jsx(Grid,{container:!0,children:jsxRuntimeExports.jsx(DataTable,{tableRef,isAuth:!0,isFullTextSearch:!0,url:"/Events",title:"Danh sách sự kiện",columns,selectType:"withColumns",onAdd:{onClick:()=>{setOpenConfig({status:"open"})}},onEdit:{onClick:(e,rowData)=>{setOpenConfig({status:"open",id:rowData.id})}},onDelete:{}})}),openConfig&&jsxRuntimeExports.jsx(UpdateForm,{open:openConfig.status,id:openConfig.id,onClose:()=>{reloadTable(),setOpenConfig(null)},handleReload:reloadTable})]})},"Index");export{Index as default};