????
Your IP : 3.133.130.192
var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{r as reactExports,l as lodashExports,j as jsxDevRuntimeExports,aN as DialogTitle,aO as DialogContent,aR as DialogContentText,z as Card,bg as CardContent,B as Box,G as Grid,bj as Paper,v as Typography,aP as DialogActions,i as Button,I as Icon,C as CircularProgress,aM as Dialog,bp as InputBase,D as Divider,h as IconButton,bi as Container,bs as CardMedia,bn as Skeleton}from"./vendor-d1l7PA9U.js";import{U as formatDatetime,O as useService,$ as Slide,E as CHECK_SUCCESS,F as CHECK_ERROR,a0 as formatLinkMedia}from"./index-xxTpRcwO.js";import{D as DataTable}from"./DataTable-hGDoCAWM.js";import{F as Form,C as Controller}from"./Form-TjmuzJ2e.js";import{m as makeStyles,d as useMedia,u as useAsync}from"./NumberFormat-2ngWAb2i.js";import{u as useArticle}from"./Article.service-E_itkWGV.js";import"./utils-7A1eFKMP.js";import"./Button-8xnHbmfB.js";import"./tiny-warning.esm-mOgAIwdD.js";const columns=[{title:"id",field:"id",type:"numeric",dataID:!0,editable:"never",hidden:!0},{title:"Ảnh",field:"imageLink",type:"image",headerStyle:{width:"7rem"},cellStyle:{width:"5.5rem"}},{title:"Bài viết",field:"Article.title",dataRef:["articleId","id"],type:"string",render:({article:{title}})=>title},{title:"Ngày tạo",field:"createdOn",type:"date",dataCheck:!0,render:({createdOn})=>formatDatetime(createdOn)}];function useSlide(){const allow=useService(Slide,"");return{getAll:__name(param=>allow.get({url:""},param),"getAll"),post:__name(data=>allow.post({url:"",body:data}),"post"),getById:__name((id,param)=>allow.get({url:`(${id})`},param),"getById"),update:__name((id,data)=>allow.path({url:`(${id})`,body:data}),"update")}}__name(useSlide,"useSlide");const formData={imageLink:{field_name:"imageLink",title:"Ảnh chính",type:"image",rules:{required:"Vui lòng chọn"}}},formDataArticle={featuredImage:{field_name:"featuredImage",title:"Ảnh bìa",type:"image",rules:{required:"Vui lòng chọn"},disabled:!0},title:{field_name:"title",title:"Tiêu đề",type:"textbox",disabled:!0},summary:{field_name:"summary",title:"Tóm tắt",type:"textarea",disabled:!0},keywords:{field_name:"keywords",title:"Nhãn",type:"textbox",disabled:!0},link:{field_name:"link",title:"Slug",type:"textbox",disabled:!0}},Index$1=__name(({onClose,open,id})=>{const[data,setData]=reactExports.useState({}),[article,setArticle]=reactExports.useState(null),{post,update,getById}=useSlide(),{postMedia}=useMedia(),getDataById=reactExports.useCallback(async id2=>{try{const{article:article2,...dataSlide}=await getById(id2,{expand:"article"});return article2&&setArticle(article2),setData(dataSlide),{...article2,...dataSlide}}catch{}},[getById]),handleSubmit=reactExports.useCallback(async dataForm=>{try{const{id:id2,imageLink}=dataForm;if(id2){const{file}=data;if(file){const url=await postMedia({file,caption:file==null?void 0:file.name});await update(id2,{imageLink:url.link,articleId:article==null?void 0:article.id})}else await update(id2,{articleId:article==null?void 0:article.id,imageLink})}else{const{file}=data;let urlImage=null;if(file){const{link}=await postMedia({file,caption:file==null?void 0:file.name});urlImage=link}await post({imageLink:urlImage||dataForm.imageLink,articleId:article==null?void 0:article.id})}CHECK_SUCCESS("Cập nhật thành công"),onClose()}catch(error){CHECK_ERROR(error)}},[onClose,data,postMedia,update,post,article==null?void 0:article.id]),{execute,status}=useAsync(handleSubmit),handleChangeNS=reactExports.useCallback((name,value)=>{switch(name){case"imageLink":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}},[]),descriptionElementRef=reactExports.useRef(null),renderFormCreate=reactExports.useMemo(()=>jsxDevRuntimeExports.jsxDEV(reactExports.Fragment,{children:[jsxDevRuntimeExports.jsxDEV(DialogTitle,{id:"scroll-dialog-title",children:id?"Chỉnh sửa":"Thêm mới"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:158,columnNumber:9},void 0),jsxDevRuntimeExports.jsxDEV(Form,{onSubmit:execute,defaultValues:()=>id?getDataById(id):Promise.resolve({}),children:[jsxDevRuntimeExports.jsxDEV(DialogContent,{dividers:!0,sx:{padding:"0px"},children:jsxDevRuntimeExports.jsxDEV(DialogContentText,{id:"scroll-dialog-description",ref:descriptionElementRef,tabIndex:-1,children:jsxDevRuntimeExports.jsxDEV(Card,{children:jsxDevRuntimeExports.jsxDEV(CardContent,{sx:{background:"#E7EBF0"},children:jsxDevRuntimeExports.jsxDEV(Box,{children:jsxDevRuntimeExports.jsxDEV(Grid,{container:!0,spacing:2,children:[jsxDevRuntimeExports.jsxDEV(Grid,{item:!0,xs:4,children:[jsxDevRuntimeExports.jsxDEV(Paper,{sx:{borderRadius:"0.3rem",padding:"1rem"},children:Object.entries(formData).map(([key,value],idx)=>jsxDevRuntimeExports.jsxDEV(Controller,{data:{...value,name:key},rules:value.rules,name:key,value:data&&data[key],onChange:handleChangeNS,defaultValue:value.defaultValue||data[key]},idx+key,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:170,columnNumber:31},void 0))},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:167,columnNumber:25},void 0),article&&jsxDevRuntimeExports.jsxDEV(Paper,{sx:{borderRadius:"0.3rem",padding:"1rem",marginTop:"1rem"},children:[jsxDevRuntimeExports.jsxDEV(Typography,{gutterBottom:!0,variant:"h6",component:"div",children:"Bài viết đính kèm"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:184,columnNumber:29},void 0),Object.entries(formDataArticle).map(([key,value],idx)=>jsxDevRuntimeExports.jsxDEV(Controller,{data:{...value,name:key},rules:value.rules,name:key,value:article&&article[key],defaultValue:value.defaultValue||article[key]},idx+key,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:189,columnNumber:33},void 0))]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:183,columnNumber:27},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:166,columnNumber:23},void 0),jsxDevRuntimeExports.jsxDEV(Grid,{item:!0,xs:8,children:jsxDevRuntimeExports.jsxDEV(BoxScroll,{handleChoose:item=>setArticle(item)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:203,columnNumber:25},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:202,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:165,columnNumber:21},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:164,columnNumber:19},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:163,columnNumber:17},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:162,columnNumber:15},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:161,columnNumber:13},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:160,columnNumber:11},void 0),jsxDevRuntimeExports.jsxDEV(DialogActions,{children:[jsxDevRuntimeExports.jsxDEV(Button,{color:"error",startIcon:jsxDevRuntimeExports.jsxDEV(Icon,{children:"cancel"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:212,columnNumber:46},void 0),onClick:onClose,disabled:!1,children:"Hủy"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:212,columnNumber:13},void 0),jsxDevRuntimeExports.jsxDEV(Button,{type:"submit",variant:"outlined",startIcon:status==="pending"?jsxDevRuntimeExports.jsxDEV(CircularProgress,{size:20},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:218,columnNumber:49},void 0):jsxDevRuntimeExports.jsxDEV(Icon,{children:"save"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:218,columnNumber:82},void 0),disabled:status==="pending",children:"Lưu"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:215,columnNumber:13},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:211,columnNumber:11},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:159,columnNumber:9},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:157,columnNumber:7},void 0),[article,data,execute,getDataById,handleChangeNS,id,onClose,status]);return jsxDevRuntimeExports.jsxDEV(Dialog,{fullWidth:!0,disableEnforceFocus:!0,disableAutoFocus:!0,maxWidth:"xl",onClose,open:!!open,scroll:"paper","aria-labelledby":"scroll-dialog-title","aria-describedby":"scroll-dialog-description",children:renderFormCreate},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:230,columnNumber:5},void 0)},"Index$1"),UpdateForm=reactExports.memo(Index$1),top=12,useStyles=makeStyles(()=>({twoLineEllipsis:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box","-webkit-box-orient":"vertical",fontSize:15,fontWeight:"bold","-webkit-line-clamp":2},threeLineEllipsis:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box","-webkit-box-orient":"vertical",fontSize:11,fontWeight:"bold","-webkit-line-clamp":3},card:{cursor:"pointer","&:hover":{transform:"scale(1.01)",transition:".3s ease-in-out"}}})),BoxScroll=__name(({handleChoose})=>{const[items,setItems]=reactExports.useState([]),[loading,setLoading]=reactExports.useState(!1),page=reactExports.useRef(0),isFetch=reactExports.useRef(!0),{getAllArticle}=useArticle(),classes=useStyles(),refInputSearch=reactExports.useRef(),fetchMoreData=reactExports.useCallback(async strSearch=>{try{if(isFetch.current){setLoading(!0);const newValue=await getAllArticle({skip:page.current,top,search:strSearch});newValue.length<top&&(isFetch.current=!1),page.current===0?setItems(newValue):setItems(prevItems=>[...prevItems,...newValue]),page.current+=newValue.length,setLoading(!1)}}catch{}},[getAllArticle]);reactExports.useEffect(()=>{fetchMoreData()},[]);const handleScroll=reactExports.useCallback(()=>{const container=document.getElementById("scroll-container");container&&container.scrollTop+container.clientHeight>=container.scrollHeight&&(loading||fetchMoreData())},[fetchMoreData,loading]),handleSearch=reactExports.useCallback(async strSearch=>{try{page.current=0,isFetch.current=!0,fetchMoreData(strSearch)}catch{}},[fetchMoreData]);return jsxDevRuntimeExports.jsxDEV(reactExports.Fragment,{children:[jsxDevRuntimeExports.jsxDEV(Paper,{component:"form",sx:{p:"2px 4px",display:"flex",alignItems:"center"},children:[jsxDevRuntimeExports.jsxDEV(InputBase,{inputRef:refInputSearch,sx:{ml:1,flex:1,borderRadius:"0px"},placeholder:"Tìm kiếm",inputProps:{"aria-label":"search google maps"}},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:340,columnNumber:9},void 0),jsxDevRuntimeExports.jsxDEV(Divider,{sx:{height:28,m:.5},orientation:"vertical"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:346,columnNumber:9},void 0),jsxDevRuntimeExports.jsxDEV(IconButton,{onClick:()=>handleSearch(refInputSearch.current.value),type:"button","aria-label":"search",children:jsxDevRuntimeExports.jsxDEV(Icon,{children:"search"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:348,columnNumber:11},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:347,columnNumber:9},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:339,columnNumber:7},void 0),jsxDevRuntimeExports.jsxDEV(Divider,{},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:351,columnNumber:7},void 0),jsxDevRuntimeExports.jsxDEV(Container,{id:"scroll-container",sx:{height:"40rem",overflowY:"scroll",backgroundColor:"Window",padding:"0.5rem"},onScroll:handleScroll,children:[jsxDevRuntimeExports.jsxDEV(Grid,{container:!0,spacing:2,children:page.current!==0&&items.map((item,index)=>jsxDevRuntimeExports.jsxDEV(Grid,{item:!0,xs:12,sm:6,md:4,lg:3,children:jsxDevRuntimeExports.jsxDEV(Card,{sx:{maxWidth:345},className:classes.card,onClick:()=>handleChoose(item),children:[jsxDevRuntimeExports.jsxDEV(CardMedia,{sx:{height:140},image:formatLinkMedia(item.featuredImage),title:"green iguana"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:367,columnNumber:19},void 0),jsxDevRuntimeExports.jsxDEV(CardContent,{children:[jsxDevRuntimeExports.jsxDEV(Typography,{className:classes.twoLineEllipsis,gutterBottom:!0,component:"div",children:item.title},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:369,columnNumber:21},void 0),jsxDevRuntimeExports.jsxDEV(Typography,{className:classes.threeLineEllipsis,variant:"body2",color:"text.secondary",children:item.summary},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:372,columnNumber:21},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:368,columnNumber:19},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:366,columnNumber:17},void 0)},index,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:365,columnNumber:15},void 0))},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:362,columnNumber:9},void 0),loading&&jsxDevRuntimeExports.jsxDEV(reactExports.Fragment,{children:page.current===0?jsxDevRuntimeExports.jsxDEV(Grid,{container:!0,sx:{marginTop:0},spacing:2,children:Array.from(new Array(12)).map((item,index)=>jsxDevRuntimeExports.jsxDEV(Grid,{item:!0,xs:12,sm:6,md:4,lg:3,children:[jsxDevRuntimeExports.jsxDEV(Skeleton,{variant:"rectangular",width:210,height:118},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:386,columnNumber:21},void 0),jsxDevRuntimeExports.jsxDEV(Box,{sx:{pt:.5},children:[jsxDevRuntimeExports.jsxDEV(Skeleton,{},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:388,columnNumber:23},void 0),jsxDevRuntimeExports.jsxDEV(Skeleton,{width:"60%"},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:389,columnNumber:23},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:387,columnNumber:21},void 0)]},index,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:385,columnNumber:19},void 0))},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:383,columnNumber:15},void 0):jsxDevRuntimeExports.jsxDEV("div",{style:{textAlign:"center"},children:jsxDevRuntimeExports.jsxDEV(CircularProgress,{size:20},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:396,columnNumber:17},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:395,columnNumber:15},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:381,columnNumber:11},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:352,columnNumber:7},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/UpdateForm.tsx",lineNumber:338,columnNumber:5},void 0)},"BoxScroll"),Index=__name(()=>{const tableRef=reactExports.createRef(),[openConfig,setOpenConfig]=reactExports.useState({}),reloadTable=__name(()=>tableRef.current&&tableRef.current.onQueryChange(),"reloadTable");return jsxDevRuntimeExports.jsxDEV(Box,{children:[jsxDevRuntimeExports.jsxDEV(Grid,{container:!0,children:jsxDevRuntimeExports.jsxDEV(DataTable,{tableRef,isAuth:!0,isFullTextSearch:!0,url:"/Slides",title:"Danh sách bản trình chiếu",columns,selectType:"withColumns",onAdd:{onClick:()=>{setOpenConfig({status:"open"})}},onEdit:{onClick:(e,rowData)=>{setOpenConfig({status:"open",id:rowData.id})}},onDelete:{}},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/index.tsx",lineNumber:20,columnNumber:9},void 0)},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/index.tsx",lineNumber:19,columnNumber:7},void 0),openConfig&&jsxDevRuntimeExports.jsxDEV(UpdateForm,{open:openConfig.status,id:openConfig.id,onClose:()=>{reloadTable(),setOpenConfig(null)}},void 0,!1,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/index.tsx",lineNumber:53,columnNumber:9},void 0)]},void 0,!0,{fileName:"/home/jenkins/agent/workspace/binhdinhf1h2o/admin/src/app/views/main/Slides/index.tsx",lineNumber:18,columnNumber:5},void 0)},"Index");export{Index as default};