jamespot-front-business 1.3.86 → 1.3.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@reduxjs/toolkit"),m=require("jamespot-user-api"),b=t=>!!t&&typeof t=="object"&&"aborted"in t&&!!t.aborted,T=(t,e)=>!t||typeof t!="object"?e??"GLOBAL_Technical_Error":"errorMsg"in t&&typeof t.errorMsg=="string"?t.errorMsg:"message"in t&&typeof t.message=="string"?t.message:e??"GLOBAL_Technical_Error",We=d.createEntityAdapter({selectId:t=>t.id}),Tt=d.createSlice({name:"toasts",initialState:We.getInitialState(),reducers:{addOne:We.addOne,removeOne:We.removeOne}}),Xr=()=>Math.random().toString(16).slice(2),xe=({id:t=Xr(),...e},i="success",r=3e3)=>a=>{const n={id:t,...e,timeout:r,type:i};return a(Tt.actions.addOne(n)),setTimeout(()=>{a(Tt.actions.removeOne(t))},r),t},Pi={addMessage:xe,success:(t,e)=>xe(t,"success",e),warning:(t,e)=>xe(t,"warning",e),error:(t,e)=>xe(t,"error",e)},Jr=We.getSelectors(t=>t.toasts),g={slice:Tt,actions:{...Pi,...Tt.actions},selectors:Jr},pi=t=>t.toISOString().slice(0,19).replace(/T/g," "),Kr=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Yr={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:pi(Kr()),end:pi(new Date)}}],orders:[],limit:30,nbResults:0},Fe=d.createAsyncThunk("admin/fetchLogsNavigation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.admin.logs.getLogsNavigation(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve admin logs navigation"})}}),Ot=d.createSlice({name:"logsNavigation",initialState:Yr,reducers:{setNavigationOrder:(t,e)=>{t.orders=[...e.payload],t.page=1},setNavigationFilter:(t,e)=>{t.filters=[...e.payload],t.page=1},setNavigationPage:(t,e)=>{t.page=e.payload}},extraReducers:t=>{t.addCase(Fe.pending,e=>{e.loading="pending"}),t.addCase(Fe.fulfilled,(e,i)=>{e.data=i.payload.data,e.nbResults=i.payload.cnt,e.limit=i.payload.limit??30,e.page=i.payload.page,e.loading="idle"}),t.addCase(Fe.rejected,e=>{e.loading="idle"})}}),gi=t=>t.toISOString().slice(0,19).replace(/T/g," "),zr=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Qr={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:gi(zr()),end:gi(new Date)}}],orders:[],limit:30,nbResults:0},Ue=d.createAsyncThunk("admin/fetchLogsObjects",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.admin.logs.getLogsObjects(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve admin logs Objects"})}}),Rt=d.createSlice({name:"logsObjects",initialState:Qr,reducers:{setObjectsOrder:(t,e)=>{t.orders=[...e.payload],t.page=1},setObjectsFilter:(t,e)=>{t.filters=[...e.payload],t.page=1},setObjectsPage:(t,e)=>{t.page=e.payload}},extraReducers:t=>{t.addCase(Ue.pending,e=>{e.loading="pending"}),t.addCase(Ue.fulfilled,(e,i)=>{e.data=i.payload.data,e.nbResults=i.payload.cnt,e.limit=i.payload.limit??30,e.page=i.payload.page,e.loading="idle"}),t.addCase(Ue.rejected,e=>{e.loading="idle"})}}),fi=t=>t.toISOString().slice(0,19).replace(/T/g," "),Zr=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},ea={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:fi(Zr()),end:fi(new Date)}}],orders:[],limit:30,nbResults:0},Be=d.createAsyncThunk("admin/fetchLogsSearch",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.admin.logs.getLogsSearch(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve admin logs Search"})}}),Dt=d.createSlice({name:"logsSearch",initialState:ea,reducers:{setSearchOrder:(t,e)=>{t.orders=[...e.payload],t.page=1},setSearchFilter:(t,e)=>{t.filters=[...e.payload],t.page=1},setSearchPage:(t,e)=>{t.page=e.payload}},extraReducers:t=>{t.addCase(Be.pending,e=>{e.loading="pending"}),t.addCase(Be.fulfilled,(e,i)=>{e.data=i.payload.data,e.nbResults=i.payload.cnt,e.limit=i.payload.limit??30,e.page=i.payload.page,e.loading="idle"}),t.addCase(Be.rejected,e=>{e.loading="idle"})}}),ta=t=>t.adminLogs.logsNavigation,ia=t=>t.adminLogs.logsObjects,ra=t=>t.adminLogs.logsSearch,aa=d.combineReducers({[Ot.name]:Ot.reducer,[Rt.name]:Rt.reducer,[Dt.name]:Dt.reducer}),ti={name:"adminLogs",reducer:aa},na=ti.reducer,sa={slice:ti,actions:{...Ot.actions,...Rt.actions,...Dt.actions,fetchLogsNavigation:Fe,fetchLogsObjects:Ue,fetchLogsSearch:Be},selectors:{selectAdminLogsNavigation:ta,selectAdminLogsObjects:ia,selectAdminLogsSearch:ra}},oa={loading:"idle",profile:void 0,isError:!1,setProfileState:{isError:!1,loading:"idle"}},ie=d.createAsyncThunk("aiProfile/fetchAIProfile",async(t,{rejectWithValue:e,extra:i,dispatch:r})=>{try{return await i.jApi.user.getAIProfile()}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot fetch ai profile"})}}),re=d.createAsyncThunk("aiProfile/setAIProfile",async(t,{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=await i.jApi.user.setAIProfile(t);if(a.result)r(Wi.actions.fetchAIProfile());else return r(g.actions.error({label:"GLOBAL_Technical_Error"})),e({error:1,errorMsg:"Cannot set ai profile"});return a}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot set ai profile"})}}),Ni=d.createSlice({name:"aiProfile",initialState:oa,reducers:{},extraReducers:t=>{t.addCase(ie.pending,e=>{e.loading="pending",e.isError=!1}).addCase(ie.fulfilled,(e,i)=>{e.loading="idle",e.profile=i.payload.result,e.isError=!1}).addCase(ie.rejected,e=>{e.loading="idle",e.isError=!0}).addCase(re.pending,e=>{e.setProfileState.isError=!1,e.setProfileState.loading="pending"}).addCase(re.fulfilled,e=>{e.setProfileState.isError=!1,e.setProfileState.loading="idle"}).addCase(re.rejected,e=>{e.setProfileState.loading="idle",e.setProfileState.isError=!0})}}),Wi={slice:Ni,actions:{fetchAIProfile:ie,setAIProfile:re},selectors:{}},la={animationConfiguration:null,isActiveForCurrentUser:!1,isInitialized:!1,isToggleLoading:!1},mi=d.createSlice({name:"animationsList",initialState:la,reducers:{},extraReducers:t=>{t.addCase(ae.fulfilled,(e,i)=>{e.isActiveForCurrentUser=i.payload.isActiveForCurrentUser,e.animationConfiguration=i.payload.animationConfiguration,e.isInitialized=i.payload.isInitialized}),t.addCase(Ct.fulfilled,(e,i)=>{e.animationConfigurationApp=i.payload}),t.addCase($e.pending,e=>{e.isToggleLoading=!0,e.isActiveForCurrentUser=!e.isActiveForCurrentUser}),t.addCase($e.fulfilled,e=>{e.isToggleLoading=!1}),t.addCase($e.rejected,e=>{e.isActiveForCurrentUser=!e.isActiveForCurrentUser,e.isToggleLoading=!1})}}),ae=d.createAsyncThunk("animations/fetchCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{const n=(await e.jApi.animations.GetCurrentAnimation({signal:a})).result,s=(await e.jApi.animations.GetAnimationActive({signal:a})).result;return{animationConfiguration:n,isActiveForCurrentUser:s,isInitialized:!0}}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),Ct=d.createAsyncThunk("animations/fetchCurrentAnimationApp",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.animations.GetCurrentAnimationApp()).result}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),da=d.createAsyncThunk("animations/deleteCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.animations.DeleteAnimation();return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot delete animation"})}}),ca=d.createAsyncThunk("animations/saveCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.animations.SaveAnimationConfiguration(t);return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot update animation"})}}),$e=d.createAsyncThunk("animations/toggleAnimationIsActive",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.animations.ToggleAnimationActive();return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot update animation"})}}),ua=function(t){return[{namespace:"ANIMATIONS",function:"add",handler:function(a){a.namespace==="ANIMATIONS"&&a.function==="add"&&(t(ae()),t(Ct()))}},{namespace:"ANIMATIONS",function:"delete",handler:function(a){a.namespace==="ANIMATIONS"&&a.function==="delete"&&(t(ae()),t(Ct()))}},{namespace:"ANIMATIONS",function:"toggle",handler:function(a){a.namespace==="ANIMATIONS"&&a.function==="toggle"&&t(ae())}}]},qe=d.createAsyncThunk("animations/fetchAnimationStats",async({name:t},{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.animations.GetAnimationStats(t)).result.data}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve animation stats"})}}),pa={stats:[],loading:"idle"},yi=d.createSlice({name:"animationStats",initialState:pa,reducers:{},extraReducers:t=>{t.addCase(qe.pending,e=>{e.loading="pending"}),t.addCase(qe.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(qe.rejected,e=>{e.loading="idle"})}}),Ve=d.createAsyncThunk("animations/fetchAnimationStatsCurrent",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.animations.GetAnimationStatsCurrent(t)).result}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve animation stats current"})}}),ga={stats:null,loading:"idle"},Ai=d.createSlice({name:"animationStatsCurrent",initialState:ga,reducers:{},extraReducers:t=>{t.addCase(Ve.pending,e=>{e.loading="pending"}),t.addCase(Ve.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(Ve.rejected,e=>{e.loading="idle"})}}),fa=t=>t.animations.animationsList.animationConfiguration,ma=t=>t.animations.animationsList.isActiveForCurrentUser,ya=t=>t.animations.animationsList.isToggleLoading,Aa=t=>t.animations.animationsList.animationConfigurationApp,Sa=d.combineReducers({[mi.name]:mi.reducer,[yi.name]:yi.reducer,[Ai.name]:Ai.reducer}),ii={name:"animations",reducer:Sa},Ta=ii.reducer,Ca={slice:ii,actions:{saveCurrentAnimation:ca,fetchCurrentAnimation:ae,deleteCurrentAnimation:da,toggleAnimationIsActive:$e,fetchCurrentAnimationApp:Ct,fetchAnimationStats:qe,fetchAnimationStatsCurrent:Ve},selectors:{selectCurrentAnimation:fa,isActiveAnimation:ma,isToggleLoading:ya,selectAnimationConfigurationApp:Aa},getAnimationsRTHandlers:ua},V=d.createEntityAdapter({selectId:t=>t.name,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),Fi=d.createAsyncThunk("application/fetch",async(t,{extra:e})=>await e.jApi.application.list()),Si=d.createSlice({name:"applications",initialState:V.getInitialState(),reducers:{addOne:V.addOne,addMany:V.addMany,setAll:V.setAll},extraReducers:t=>{t.addCase(Fi.fulfilled,(e,i)=>{V.setAll(e,i.payload.result)})}}),Ea=V.getSelectors(t=>t.entities.applications),ba={slice:Si,actions:{fetchList:Fi,...Si.actions},selectors:Ea},ha=function(t){return[{namespace:"JAMESPOT",function:"article-create",handler:function(i){i.namespace==="JAMESPOT"&&i.function==="article-create"&&t(i.object)}}]},va={getArticleRTHandlers:ha},wa={entities:[],loading:"idle",nbResults:0},He=d.createAsyncThunk("BookableAsset/fetchBookableAsset",async(t,{extra:e})=>{const i={type:"bookableAsset",limit:50,public:!0};return await e.jApi.article.list(i,{format:"raw-list"})}),Ti=d.createSlice({name:"bookableAsset",initialState:wa,reducers:{},extraReducers:t=>{t.addCase(He.pending,e=>{e.loading="pending"}).addCase(He.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(He.rejected,e=>{e.loading="idle"})}}),Ge=d.createAsyncThunk("AssetReservation/configuration",async(t,{extra:e})=>await e.jApi.assetReservation.configuration()),La={description:"",right:{manage:!1},daysOff:[],weekEnd:"0",bookingOpeningTime:"00:00",bookingClosingTime:"24:00",lastBookingSchedule:"24:00",loading:"idle"},Ci=d.createSlice({name:"configuration",initialState:La,reducers:{},extraReducers:t=>{t.addCase(Ge.pending,e=>{e.loading="pending"}).addCase(Ge.fulfilled,(e,i)=>({...i.payload.result,loading:"idle"})).addCase(Ge.rejected,e=>{e.loading="idle"})}}),Ui={date:"",hourStart:"",hourEnd:""},Ia={entities:[],loading:"idle",nbResults:0,form:Ui},Xe=d.createAsyncThunk("Reservation/fetchReservation",async(t,{extra:e})=>{const i={format:"raw-list",limit:50,viewMode:t==="history"?"history":void 0};return await e.jApi.assetReservation.getList(i)}),Mt=d.createSlice({name:"reservation",initialState:Ia,reducers:{setForm:(t,e)=>{t.form=e.payload},resetForm:t=>{t.form=Ui},removeReservation:(t,e)=>{t.entities=t.entities.filter(i=>i.id!==e.payload)}},extraReducers:t=>{t.addCase(Xe.pending,e=>{e.loading="pending"}).addCase(Xe.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(Xe.rejected,e=>{e.loading="idle"})}}),ka=d.combineReducers({[Ti.name]:Ti.reducer,[Ci.name]:Ci.reducer,[Mt.name]:Mt.reducer}),Oa={name:"assetReservation",reducer:ka},Ra=t=>t.assetReservation.configuration,Da=t=>t.assetReservation.bookableAsset.entities,Ma=t=>t.assetReservation.bookableAsset.loading,xa=t=>t.assetReservation.reservation.entities,ja=t=>t.assetReservation.reservation.loading,_a=t=>t.assetReservation.reservation.form,Pa={slice:Oa,actions:{...Mt.actions,fetchBookableAsset:He,fetchConfiguration:Ge,fetchReservation:Xe},selectors:{configuration:Ra,bookableAssetEntities:Da,bookableAssetLoading:Ma,reservationEntities:xa,reservationLoading:ja,reservationForm:_a}},Bi=999,Na={bookmarks:[],loading:"idle",status:void 0,isInitialized:!1,nbResults:0,add:{},move:{loading:"idle",status:void 0},delete:{},lastOptimisticMoveAt:0,perPage:Bi,page:1},ne=d.createAsyncThunk("bookmarkList/fetchbookmarkList",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{const a={limit:Bi};try{return await e.jApi.bookmark.getFormattedList(a,m.BookmarkType.RAW_LIST)}catch(n){return r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot retrieve bookmarks"})}}),Je=d.createAsyncThunk("bookmarkList/addBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return m.jEnsure.isBookmarkLink(t)?await e.jApi.bookmark.addFormattedLink(t.targetId,t.targetType,m.BookmarkType.RAW_LIST):await e.jApi.bookmark.addBookmark(t)}catch(a){const n=T(a);return r(g.actions.error({label:n})),i({error:1,errorMsg:"Error saving bookmark"})}}),Ke=d.createAsyncThunk("bookmarkList/moveBookmark",async({bookmark:t,bookmarkReference:e,position:i},{extra:r,rejectWithValue:a,dispatch:n})=>{try{await r.jApi.bookmark.move(t.id,e.id,i);return}catch(s){return n(g.actions.error({label:T(s)})),a({error:1,errorMsg:"Error moving bookmark"})}}),Ye=d.createAsyncThunk("bookmarkList/deleteBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.bookmark.delete(t.id);return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Error deleting bookmark"})}}),ke=d.createSlice({name:"bookmarkList",initialState:Na,reducers:{resetAddBookmarkStatus:(t,e)=>{t.add[e.payload]&&delete t.add[e.payload]},resetMoveBookmarkStatus:t=>{t.move.status=void 0,t.move.loading="idle"},resetDeleteBookmarkStatus:(t,e)=>{t.delete[e.payload]&&delete t.delete[e.payload]},addBookmarkRT:(t,e)=>{t.bookmarks.push(e.payload),t.bookmarks.sort((i,r)=>(i.bookmarkOrder??0)-(r.bookmarkOrder??0))},deleteBookmarkRT:(t,e)=>{t.bookmarks=t.bookmarks.filter(i=>i.id!==e.payload.id)},updateBookmarkRT:(t,e)=>{t.bookmarks=t.bookmarks.map(i=>i.id===e.payload.id?e.payload:i).sort((i,r)=>(i.bookmarkOrder??0)-(r.bookmarkOrder??0))}},extraReducers:t=>{t.addCase(ne.pending,e=>{e.loading="pending",e.status=void 0}).addCase(ne.fulfilled,(e,i)=>{const r=Date.now()-e.lastOptimisticMoveAt;e.loading="idle",e.isInitialized=!0,e.status="success",e.nbResults=i.payload.result.cnt,!(e.move.loading==="pending"||e.lastOptimisticMoveAt>0&&r<2e3)&&(e.bookmarks=[...i.payload.result.data].sort((a,n)=>(a.bookmarkOrder??0)-(n.bookmarkOrder??0)))}).addCase(ne.rejected,e=>{e.loading="idle",e.status="error"}).addCase(Je.pending,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Je.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"idle",status:"success",id:i.payload.result.id})}).addCase(Je.rejected,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"idle",status:"error"})}).addCase(Ke.pending,(e,i)=>{e.move.loading="pending",e.move.status=void 0,e.lastOptimisticMoveAt=Date.now();const{bookmark:r,bookmarkReference:a,position:n}=i.meta.arg,s=e.bookmarks.findIndex(c=>c.id===r.id),o=e.bookmarks.findIndex(c=>c.id===a.id);if(s!==-1&&o!==-1&&s!==o){const c=e.bookmarks[s];e.bookmarks.splice(s,1);const p=n==="before"?s<o?o-1:o:s<o?o:o+1;e.bookmarks.splice(p,0,c);const y=p>0?e.bookmarks[p-1]:null,f=p<e.bookmarks.length-1?e.bookmarks[p+1]:null,u=y?.bookmarkOrder??0,S=f?.bookmarkOrder??0;y&&f?c.bookmarkOrder=(u+S)/2:y?c.bookmarkOrder=u+1:f&&(c.bookmarkOrder=S-1)}}).addCase(Ke.fulfilled,e=>{e.move.loading="idle",e.move.status="success"}).addCase(Ke.rejected,e=>{e.move.loading="idle",e.move.status="error",e.lastOptimisticMoveAt=0}).addCase(Ye.pending,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Ye.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"success"})}).addCase(Ye.rejected,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"error"})})}});let je=null;const Wa=function(t){const e=(s=2e3)=>{je&&clearTimeout(je),je=setTimeout(()=>{t(ne()),je=null},s)},i=function(s,o){m.jEnsure.objectIsType("bookmarkLink",s.object)?t(o(s.object)):e()},r=function(){e()},a=function(s){(s.namespace==="BOOKMARKS"||s.namespace==="CUSTOM-ACTION")&&s.function==="add"&&i(s,ke.actions.addBookmarkRT)},n=s=>{(s.namespace==="BOOKMARKS"&&s.function==="delete"||s.namespace==="CUSTOM-ACTION"&&s.function==="remove")&&i(s,ke.actions.deleteBookmarkRT)};return[{namespace:"CUSTOM-ACTION",function:"add",handler:a},{namespace:"CUSTOM-ACTION",function:"remove",handler:n},{namespace:"BOOKMARKS",function:"add",handler:a},{namespace:"BOOKMARKS",function:"delete",handler:n},{namespace:"BOOKMARKS",function:"update",handler:r}]},Fa={bookmark:void 0,status:void 0,loading:"idle"},ze=d.createAsyncThunk("bookmarkEdit/editBookmark",async(t,{extra:e,rejectWithValue:i})=>{if(!t.id)return i({error:1,errorMsg:"Bookmark id is required"});const r=t.bookmarkLabel??"",a=t.bookmarkUrl??"";try{await e.jApi.bookmark.rename(t.id,r,a)}catch{return i({error:2,errorMsg:"Error saving bookmark"})}}),xt=d.createSlice({name:"bookmarkEdit",initialState:Fa,reducers:{setEditBookmark:(t,e)=>{t.bookmark={...e.payload}},unsetEditBookmark:t=>{t.bookmark=void 0},resetStatus:t=>{t.status=void 0,t.loading="idle"}},extraReducers:t=>{t.addCase(ze.pending,e=>{e.loading="pending",e.status=void 0}).addCase(ze.fulfilled,e=>{e.loading="idle",e.bookmark=void 0,e.status="success"}).addCase(ze.rejected,e=>{e.status="error",e.loading="idle"})}}),Ua=d.combineReducers({[ke.name]:ke.reducer,[xt.name]:xt.reducer}),Ba={name:"bookmark",reducer:Ua},$a=t=>t.bookmark.bookmarkList,qa=t=>t.bookmark.bookmarkList.bookmarks,Va=t=>t.bookmark.bookmarkList.loading,Ha=t=>t.bookmark.bookmarkList.isInitialized,Ga=t=>t.bookmark.bookmarkEdit.bookmark,Xa=(t,e)=>t.bookmark.bookmarkList.bookmarks.find(i=>i.targetId===e),Ja={slice:Ba,actions:{fetchBookmark:ne,addBookmark:Je,moveBookmark:Ke,deleteBookmark:Ye,editBookmark:ze,...xt.actions,...ke.actions},selectors:{bookmarkList:$a,bookmarks:qa,bookmarkLoading:Va,bookmarkListIsInitialized:Ha,bookmarkEditBookmark:Ga,bookmarkByArticleId:Xa},getRTHandlers:Wa},Ei={list:[],statuses:["subscribed","unanswered"],loading:"idle",types:[],pendingStatusChanges:[]};let Lt=null;const ri=(t,e,i=500)=>{Lt&&clearTimeout(Lt),Lt=setTimeout(()=>{t(j(e))},i)},j=d.createAsyncThunk("calendarEvents/fetchEvents",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a,getState:n})=>{const s=n().calendar.events;if(!t.dates&&!s.dates)return i({error:1,errorMsg:"Dates must be set"});let o=t.types??s.types;o=o.includes("socialEvent")?[...o,"recurringEvent"]:[...o];try{const c={dateStart:t.dates?.start??s.dates?.start??"",dateEnd:t.dates?.end??s.dates?.end??"",statuses:s.statuses,types:o,idSpot:t.spotId??s.spotId};return(await e.jApi.calendar.listEvents(c,{format:"raw-view",signal:a})).result}catch(c){return b(c)||r(g.actions.error({label:T(c)})),i({error:1,errorMsg:"Cannot retrieve events"})}}),$i=d.createAsyncThunk("calendarEvents/setDates",async(t,{dispatch:e})=>(ri(e,{dates:t}),!0)),qi=d.createAsyncThunk("calendarEvents/setTypes",async(t,{dispatch:e})=>(ri(e,{types:t}),!0)),Vi=d.createAsyncThunk("calendarEvents/setSpotId",async(t,{dispatch:e})=>(ri(e,{spotId:t}),!0)),Qe=d.createAsyncThunk("calendarEvents/changeResponse",async(t,{dispatch:e,extra:i,signal:r,rejectWithValue:a})=>{try{return t.status==="unknown"?await i.jApi.global.removeAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe"},{signal:r}):await i.jApi.global.updateAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe",value:t.status},{signal:r}),e(g.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(n){return b(n)||e(g.actions.error({label:T(n)})),a({error:1,errorMsg:"Cannot change response"})}}),W=d.createSlice({name:"events",initialState:Ei,reducers:{addEvent:(t,e)=>{t.list=[e.payload,...t.list]},removeEvent:(t,e)=>{t.list=t.list.filter(i=>i.uri!==e.payload.uri)},updateEvent:(t,e)=>{t.list=t.list.map(i=>i.uri===e.payload.uri?e.payload:i)},reset:()=>Ei},extraReducers:t=>{t.addCase(j.pending,(e,i)=>{e.loading="pending",i.meta.arg.types&&(e.types=i.meta.arg.types),i.meta.arg.dates&&(e.dates=i.meta.arg.dates)}).addCase(j.fulfilled,(e,i)=>{e.loading="idle",e.list=i.payload}).addCase(j.rejected,e=>{e.loading="idle"}).addCase(Qe.pending,(e,i)=>{const r=e.list.find(a=>a.id===i.meta.arg.id&&a.type===i.meta.arg.type);if(r?._extend?.socialEventRecord){e.pendingStatusChanges.push({requestId:i.meta.requestId,prevStatus:r._extend.socialEventRecord.userResponseStatus,prevSubscribersTotal:r._extend.socialEventRecord.subscribersTotal,eventId:r.id});const a=i.meta.arg.status,n=r._extend.socialEventRecord.userResponseStatus;r._extend.socialEventRecord.userResponseStatus=a,(a===1||a==="onSpot"||a==="visio"||a==="available")&&(n===0||n==="unavailable"||n==="unknown")?r._extend.socialEventRecord.subscribersTotal+=1:(a===0||a==="unavailable"||a==="unknown")&&(n===1||n==="available"||n==="onSpot"||n==="visio")&&(r._extend.socialEventRecord.subscribersTotal-=1)}}).addCase(Qe.fulfilled,(e,i)=>{e.pendingStatusChanges=e.pendingStatusChanges.filter(r=>r.requestId!==i.meta.requestId)}).addCase(Qe.rejected,(e,i)=>{const r=e.pendingStatusChanges.find(a=>a.requestId===i.meta.requestId);if(r){const a=e.list.find(n=>n.id===i.meta.arg.id&&n.type===i.meta.arg.type);a?._extend?.socialEventRecord&&(a._extend.socialEventRecord.userResponseStatus=r.prevStatus,a._extend.socialEventRecord.subscribersTotal=r.prevSubscribersTotal),e.pendingStatusChanges=e.pendingStatusChanges.filter(n=>n.requestId!==i.meta.requestId)}}).addCase($i.pending,(e,i)=>{e.dates={start:i.meta.arg.start,end:i.meta.arg.end},e.loading="pending"}).addCase(qi.pending,(e,i)=>{e.types=i.meta.arg,e.loading="pending"}).addCase(Vi.pending,(e,i)=>{e.spotId=i.meta.arg,e.loading="pending"})}}),_e=t=>["socialEvent","meeting","animatedMeeting","recurringEvent","recurringEventOccurrence"].includes(t),Ka=function(t,e){const i=function(s){s.namespace==="JAMESPOT"&&s.function==="article-create"&&_e(s.object.type)&&t(j({}))},r=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-delete"&&_e(s.object.type)){if(s.object.type==="recurringEvent"){t(j({}));return}t(W.actions.removeEvent({uri:s.object.uri}))}},a=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-update"&&_e(s.object.type)){if(s.object.type==="recurringEvent"){t(j({}));return}e.article.get({uri:s.object.uri},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(o=>{"hideFromCalendar"in o.result&&o.result.hideFromCalendar?t(W.actions.removeEvent({uri:s.object.uri})):t(W.actions.updateEvent(o.result))}).catch(o=>{t(g.actions.error({label:T(o)}))})}},n=function(s){s.namespace==="CUSTOM-ACTION"&&(s.function==="update"||s.function==="remove")&&s.object.targetType&&s.object.targetId&&_e(s.object.targetType)&&e.article.get({idArticle:s.object.targetId},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(o=>{t(W.actions.updateEvent(o.result))}).catch(o=>{t(g.actions.error({label:T(o)}))})};return[{namespace:"JAMESPOT",function:"article-create",handler:i},{namespace:"JAMESPOT",function:"article-delete",handler:r},{namespace:"JAMESPOT",function:"article-update",handler:a},{namespace:"CUSTOM-ACTION",function:"update",handler:n},{namespace:"CUSTOM-ACTION",function:"remove",handler:n}]},Ya=d.combineReducers({[W.name]:W.reducer}),za={name:"calendar",reducer:Ya},Qa=t=>t.calendar.events,Za={slice:za,actions:{fetchEvents:j,setDates:$i,setTypes:qi,setSpotId:Vi,changeResponse:Qe,...W.actions},selectors:{selectCalendarEvents:Qa},getCalendarRTHandlers:Ka},en={loading:"idle",comments:[]},U=d.createAsyncThunk("commentList/fetchCommentList",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{const a=await e.jApi.article.getComments(t,{format:"raw-list",formatExtension:["actions","quarantine"]});return{idArticle:t.idArticle,list:a.result}}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve comments"})}}),jt=d.createAsyncThunk("commentList/deleteComment",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return await e.jApi.article.deleteComment(t.idComment),!0}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot delete comment"})}}),_t=d.createSlice({name:"commentList",initialState:en,reducers:{discardComments:(t,e)=>{t.comments=t.comments.filter(i=>i.idArticle!==e.payload.idArticle)},hydrateComment:(t,e)=>{const{idArticle:i,list:r}=e.payload;if(!t.comments.find(c=>c.idArticle===i)){t.comments=[...t.comments.filter(c=>c.idArticle!==i),{idArticle:i,list:Array.isArray(r)?r:[]}];return}const n=[],s=t.comments.reduce((c,p)=>Array.isArray(p.list)?[...c,...p.list.map(y=>y.uri)]:[...c],n),o=Array.isArray(r)?r.filter(c=>!s.includes(c.uri)):[];t.comments=t.comments.map(c=>c.idArticle===i?{...c,list:Array.isArray(c.list)?[...c.list,...o]:[...o]}:c)},updateComment:(t,e)=>{t.comments=t.comments.map(i=>{const{idArticle:r,idComment:a,data:n}=e.payload;return i.idArticle===r?{...i,list:i.list.map(s=>s.id===a?{...s,description:n.description}:s)}:i})}},extraReducers:t=>{t.addCase(U.pending,e=>{e.loading="pending"}).addCase(U.fulfilled,(e,i)=>{e.loading="idle",e.comments=[...e.comments.filter(r=>r.idArticle!==i.payload.idArticle),{idArticle:i.payload.idArticle,list:i.payload.list.reverse()}]}).addCase(U.rejected,e=>{e.loading="idle"}).addCase(jt.pending,(e,i)=>{e.comments=e.comments.map(r=>r.idArticle!==i.meta.arg.idArticle?r:{...r,list:r.list.map(a=>a.id===i.meta.arg.idComment?{...a,pending:!0}:a)})}).addCase(jt.rejected,(e,i)=>{e.comments=e.comments.map(r=>r.idArticle!==i.meta.arg.idArticle?r:{...r,list:r.list.map(a=>a.id===i.meta.arg.idComment?{...a,pending:!1}:a)})})}}),tn=function(t,e){return[{namespace:"JAMESPOT",function:"comment-create",handler:function(a){a.namespace==="JAMESPOT"&&a.function==="comment-create"&&a.object.idArticle===e&&t(U({idArticle:e}))}},{namespace:"JAMESPOT",function:"comment-delete",handler:function(a){a.namespace==="JAMESPOT"&&a.function==="comment-delete"&&Number(a.object.idArticle)===e&&t(U({idArticle:e}))}}]},rn=function(t,e,i){const r=function(a){a.namespace==="CUSTOM-ACTION"&&(a.function==="add"||a.function==="remove")&&a.object.type==="sociallike"&&a.object.targetId&&e?.includes(a.object.targetId)&&t(U({idArticle:i}))};return e?[{namespace:"CUSTOM-ACTION",function:"add",handler:r},{namespace:"CUSTOM-ACTION",function:"remove",handler:r}]:[]},an=d.combineReducers({[_t.name]:_t.reducer}),nn={name:"comment",reducer:an},sn=(t,e,i=0)=>{const r=t.comment.commentList.comments.find(n=>n.idArticle===e),a=r?[...r.list].sort((n,s)=>n.id-s.id):[];return i!==0?a.slice(-i):a},on={slice:nn,actions:{fetchComments:U,deleteComment:jt,..._t.actions},selectors:{commentList:sn},getCommentRTHandlers:tn,getCommentsLikeRTHandlers:rn},ln={loading:"idle",reports:[],page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0,pendingReports:[]},Hi=d.createSlice({name:"contentReport",initialState:ln,reducers:{setTab:(t,e)=>{t.tab=e.payload,t.page=1,t.orders=[],t.filters=[]},setPage:(t,e)=>{t.page=e.payload},setFilters:(t,e)=>{t.filters=e.payload},setOrders:(t,e)=>{t.orders=e.payload}},extraReducers:t=>{t.addCase(se.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(se.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.reports=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(se.rejected,e=>{e.loading=="pending"&&(e.loading="idle")}).addCase(oe.pending,(e,i)=>{const r=e.reports.find(a=>a.uri===i.meta.arg.uri);r&&(e.pendingReports=[...e.pendingReports,{...r,requestId:i.meta.requestId}],e.reports=e.reports.map(a=>a.uri!==i.meta.arg.uri?a:{...a,status:i.meta.arg.status}))}).addCase(oe.fulfilled,(e,i)=>{e.pendingReports=e.pendingReports.filter(r=>r.requestId!==i.meta.requestId)}).addCase(oe.rejected,(e,i)=>{const r=e.pendingReports.find(a=>a.requestId===i.meta.requestId);r&&(e.reports=e.reports.map(a=>a.id!==r.id?a:r),e.pendingReports=e.pendingReports.filter(a=>a.requestId!==i.meta.requestId))})}}),se=d.createAsyncThunk("contentReport/fetchReports",async(t,{rejectWithValue:e,extra:i,dispatch:r,getState:a})=>{const n=a().contentReport,s=a().userCurrent?.id;try{const o=n.tab==="my"&&s?[...n.filters,{name:"idUser",value:s}]:[...n.filters],c=n.orders.length>0?n.orders:[{name:"dateCreation",sort:"DESC"}];return(await i.jApi.contentReport.getReports({filters:o,orders:c,page:n.page,limit:n.limit})).result}catch(o){return b(o)||r(g.actions.error({label:T(o)})),e({error:1,errorMsg:"Cannot fetch pads"})}}),oe=d.createAsyncThunk("contentReport/updateStatus",async(t,{dispatch:e,rejectWithValue:i,extra:r})=>{try{return await r.jApi.contentReport.updateStatus(t),e(g.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(a){return b(a)||e(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),dn=t=>t.contentReport,cn={slice:Hi,actions:{fetchReports:se,updateStatus:oe},selectors:{selectContentReport:dn}},O={route:"extra-bot",moduleName:"ExtraBotHook",configurationType:"extraBot",listLimit:20,listDefaultPage:1},un={global:{loading:"idle"},listAll:{loading:"idle",data:[],limit:O.listLimit,nbResults:0,page:O.listDefaultPage,filters:[],orders:[]},listMines:{loading:"idle",data:[],limit:O.listLimit,nbResults:0,page:O.listDefaultPage,filters:[],orders:[]},formModal:{open:!1,mode:"create",type:"all",extraBot:void 0}},X=d.createAsyncThunk("extraBot/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=a().extraBot.listAll;try{return(await e.jApi.extraBot.list("all",{limit:n.limit,page:n.page,filters:n.filters,orders:n.orders})).result}catch(s){return b(s)||r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),le=d.createAsyncThunk("extraBot/fetchMines",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=a().extraBot.listMines;try{return(await e.jApi.extraBot.list("mines",{limit:n.limit,page:n.page,filters:n.filters,orders:n.orders})).result}catch(s){return b(s)||r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),de=d.createAsyncThunk("extraBot/toggleActivation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{const a=!t.enabled,n=(await e.jApi.article.update({...t,enabled:a},{format:m.Format.VIEW})).result;return n.enabled!==t.enabled?(r(g.actions.success({label:a?"APP_ExtraBot_Toast_ActivationSuccess":"APP_ExtraBot_Toast_DeactivationSuccess"})),r(X())):r(g.actions.error({label:"APP_ExtraBot_Toast_FailedToChangeActivation"})),n}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Failed to change extra bot activation"})}}),ce=d.createAsyncThunk("extraBot/save",async({extraBot:t},{extra:e,rejectWithValue:i,dispatch:r})=>{try{const a={...t,type:O.configurationType,publishTo:""};let n,s;if(delete a.avatar,t.uri)n=(await e.jApi.article.update(a,{format:m.Format.VIEW})).result,s=(await e.jApi.extraBot.updateBot(n.uri)).result;else{if(n=(await e.jApi.article.create({...a},{format:m.Format.VIEW})).result[0],!n)throw new Error("ExtraBot configuration creation failed");s=(await e.jApi.extraBot.createBot(n.uri)).result,n._user=s}const o=t.uri?"APP_ExtraBot_Toast_SaveEdit":"APP_ExtraBot_Toast_SaveCreate";return r(g.actions.success({label:o})),n}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve extra bot"})}}),Gi=(t,e,i,r)=>{const a=t.listAll.data.find(s=>s.uri===e),n=t.listMines.data.find(s=>s.uri===e);a&&(a[i]=r),n&&(n[i]=r)},Pt=d.createSlice({name:"extraBot",initialState:un,reducers:{setListAllOrder:(t,e)=>{t.listAll.orders=[...e.payload],t.listAll.page=O.listDefaultPage},setListAllFilter:(t,e)=>{t.listAll.filters=[...e.payload],t.listAll.page=O.listDefaultPage},setListAllPage:(t,e)=>{t.listAll.page=e.payload},setListMinesOrder:(t,e)=>{t.listMines.orders=[...e.payload],t.listMines.page=O.listDefaultPage},setListMinesFilter:(t,e)=>{t.listMines.filters=[...e.payload],t.listMines.page=O.listDefaultPage},setListMinesPage:(t,e)=>{t.listMines.page=e.payload},openFormModal:(t,e)=>{t.formModal.open=!0,t.formModal.mode=e.payload.mode,t.formModal.type=e.payload.type,t.formModal.extraBot=e.payload.extraBot},closeFormModal:t=>{t.formModal.open=!1}},extraReducers:t=>{t.addCase(X.pending,e=>{e.listAll.loading="pending"}).addCase(X.fulfilled,(e,i)=>{e.listAll.data=i.payload.data,e.listAll.nbResults=i.payload.cnt,e.listAll.limit=i.payload.limit??O.listLimit,e.listAll.page=i.payload.page,e.listAll.loading="idle"}).addCase(X.rejected,e=>{e.listAll.loading="idle"}).addCase(le.pending,e=>{e.listMines.loading="pending"}).addCase(le.fulfilled,(e,i)=>{e.listMines.data=i.payload.data,e.listMines.nbResults=i.payload.cnt,e.listMines.limit=i.payload.limit??O.listLimit,e.listMines.page=i.payload.page,e.listMines.loading="idle"}).addCase(le.rejected,e=>{e.listMines.loading="idle"}).addCase(de.pending,e=>{e.global.loading="pending"}).addCase(de.fulfilled,(e,i)=>{e.global.loading="idle";const r=i.payload;Gi(e,r.uri,"enabled",r.enabled)}).addCase(de.rejected,e=>{e.global.loading="idle"}).addCase(ce.pending,e=>{e.global.loading="pending"}).addCase(ce.fulfilled,(e,i)=>{e.global.loading="idle",e.formModal.open=!1}).addCase(ce.rejected,e=>{e.global.loading="idle"})}}),Xi=t=>t.extraBot.listAll,Ji=t=>t.extraBot.listMines,pn={slice:Pt,actions:{fetchExtraBotListAll:X,fetchExtraBotListMines:le,toggleExtraBotActivation:de,saveExtraBot:ce,...Pt.actions},selectors:{selectExtraBotListAll:Xi,selectExtraBotListMines:Ji}},gn={loading:"idle",access:{createCategory:!1}},Ze=d.createAsyncThunk("faqConfig/fetch",async(t,{extra:e})=>{try{const[i,r]=await Promise.all([await e.jApi.faq.getHookProperties(["_web","appImage","appImageText","_displayComment"]),await e.jApi.faq.getAccess()]);return{_web:i.result._web,appImage:i.result.appImage,appImageText:i.result.appImageText,access:r.result,_displayComment:i.result._displayComment}}catch(i){if(i.error===403)return{_web:"0"};throw i}}),bi=d.createSlice({name:"config",initialState:gn,reducers:{},extraReducers:t=>{t.addCase(Ze.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(Ze.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),i.payload._web!==void 0&&(e._web=i.payload._web),i.payload.appImage&&(e.appImage=i.payload.appImage),i.payload.appImageText&&(e.appImageText=i.payload.appImageText),i.payload.access&&(e.access=i.payload.access),i.payload._displayComment!==void 0&&(e._displayComment=i.payload._displayComment),e)).addCase(Ze.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),fn={loading:"idle",categories:null},et=d.createAsyncThunk("faqCategories/fetch",async(t,{extra:e})=>({categories:(await e.jApi.faq.getCategoriesList()).result.data})),hi=d.createSlice({name:"categories",initialState:fn,reducers:{},extraReducers:t=>{t.addCase(et.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(et.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.categories=i.payload.categories,e)).addCase(et.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),mn=d.combineReducers({[bi.name]:bi.reducer,[hi.name]:hi.reducer}),yn={name:"faq",reducer:mn},An=t=>t.faq.config,Sn=t=>t.faq.categories,Tn={slice:yn,actions:{fetchFaqConfig:Ze,fetchFaqCategories:et},selectors:{selectFaqConfig:An,selectFaqCategories:Sn}},ue={listLimit:50,listDefaultPage:1},Cn={list:{loading:"idle",data:[],limit:ue.listLimit,nbResults:0,page:ue.listDefaultPage,filters:[],orders:[{name:"dateCreation",sort:"DESC"}]},action:{loading:"idle"}},pe=d.createAsyncThunk("fileIntegrity/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=a().fileIntegrity.list;try{return(await e.jApi.fileIntegrity.list({limit:n.limit,page:n.page,filters:n.filters,orders:n.orders})).result}catch(s){return b(s)||r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Cannot retrieve file integrity list"})}}),ge=d.createAsyncThunk("fileIntegrity/releaseQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.fileIntegrity.release(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot release quarantined file"})}}),fe=d.createAsyncThunk("fileIntegrity/deleteQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.fileIntegrity.delete(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot delete quarantined file"})}}),Nt=d.createSlice({name:"fileIntegrity",initialState:Cn,reducers:{setListOrder:(t,e)=>{t.list.orders=[...e.payload],t.list.page=ue.listDefaultPage},setListFilter:(t,e)=>{t.list.filters=[...e.payload],t.list.page=ue.listDefaultPage},setListPage:(t,e)=>{t.list.page=e.payload}},extraReducers:t=>{t.addCase(pe.pending,e=>{e.list.loading="pending"}).addCase(pe.fulfilled,(e,i)=>{e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt,e.list.limit=i.payload.limit??ue.listLimit,e.list.page=i.payload.page,e.list.loading="idle"}).addCase(pe.rejected,e=>{e.list.loading="idle"}).addCase(ge.pending,e=>{e.action.loading="pending"}).addCase(ge.fulfilled,e=>{e.action.loading="idle"}).addCase(ge.rejected,e=>{e.action.loading="idle"}).addCase(fe.pending,e=>{e.action.loading="pending"}).addCase(fe.fulfilled,e=>{e.action.loading="idle"}).addCase(fe.rejected,e=>{e.action.loading="idle"})}}),Ki=t=>t.fileIntegrity.action,Yi=t=>t.fileIntegrity.list,En={slice:Nt,actions:{deleteQuarantine:fe,fetchFileIntegrityList:pe,releaseQuarantine:ge,...Nt.actions},selectors:{selectFileIntegrityAction:Ki,selectFileIntegrityList:Yi}},bn=t=>t?Object.keys(t).filter(e=>t[e]):[],vi=d.createSlice({name:"hooks",initialState:{},reducers:{initHooks:(t,{payload:e})=>e}}),hn=t=>t.hooks,vn=(t,e)=>t.hooks[e],wn=(t,e)=>!!t.hooks[e]?.hasLicense,Ln={slice:vi,actions:vi.actions,selectors:{selectHooks:hn,selectHook:vn,hasHookLicense:wn},utils:{buildDrivesArrayFromObject:bn}},ai=t=>{const e=t.urlToJland;if(!e)return;const i=/(https:\/\/[^/]+)\/.*/g.exec(e);if(i)return i[1]},ni=(t,e,i)=>`${i}/map/${e}/${t.uri}`,B=d.createAsyncThunk("/fetchMaps",async({jlandUrlBase:t,retrieveAllMaps:e},{extra:i})=>{const r=i.jApi,a=await r.network.getHostname();return await new Promise((n,s)=>{const o={type:"jlandmap"};(e?r.jland.getAllMapsAsAdmin():r.article.list(o,{format:"raw-list",formatExtension:["licenses"]})).then(p=>{const f=p.result.data.map(u=>{const S={...u};return S.urlToJland=ni(u,a,t),S});n(f)}).catch(p=>{p.error&&s(p),s({error:1,errorMsg:"Error retrieving maps"})})})}),$=d.createAsyncThunk("/fetchAvailableLicenses",async(t,{extra:e})=>{const i=e.jApi;return await new Promise((r,a)=>{i.admin.license.getLicensesNotAssigned("jlandmap").then(n=>{r(n.result)}).catch(n=>{if(n.error){a(n);return}a({error:1,errorMsg:"Error while retrieving licenses not assigned"})})})}),tt=d.createAsyncThunk("/unassignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:r})=>{const a=i.jApi,n=ai(t);return n?await new Promise((s,o)=>{a.admin.license.unAssignLicense(t.uri).then(c=>{c.result&&(r($()),r(B({jlandUrlBase:n,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){o(c);return}o({error:1,errorMsg:"Error unassign license"})})}):!1}),it=d.createAsyncThunk("/deleteLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:r})=>{const a=i.jApi,n=ai(t);return n?await new Promise((s,o)=>{a.article.delete(t.id).then(c=>{s(c.result),r(B({jlandUrlBase:n,retrieveAllMaps:e})),r($())}).catch(c=>{if(c.error){o(c);return}o({error:1,errorMsg:c.errorMsg+""})})}):!1}),me=d.createAsyncThunk("/assignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:r})=>{const a=ai(t);if(!a)return!1;const n=i.jApi;return await new Promise((s,o)=>{n.admin.license.assignLicense(t.uri).then(c=>{c.result&&(r($()),r(B({jlandUrlBase:a,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){o(c);return}o({error:1,errorMsg:"Error assign license"})})})}),wi=d.createSlice({name:"jLandMapList",initialState:{maps:[],availableLicenses:{},loading:"idle",loadingAvailableLicenses:"idle",loadingLicenseOperation:{},loadingMapDeletion:"idle"},reducers:{},extraReducers:t=>{t.addCase(B.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(B.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.maps=i.payload)}).addCase(B.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase($.pending,e=>{e.loadingAvailableLicenses==="idle"&&(e.loadingAvailableLicenses="pending")}).addCase($.fulfilled,(e,i)=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle",e.availableLicenses=i.payload)}).addCase($.rejected,e=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle")}).addCase(me.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(me.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(me.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(tt.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(tt.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(tt.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(it.pending,e=>{e.loadingMapDeletion="pending"}).addCase(it.fulfilled,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")}).addCase(it.rejected,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")})}}),In={title:"",type:"",flavor:"",url:"",audience:[],illustration:"",assignLicense:!1},Li={map:{...In},loading:"idle",status:void 0,msg:void 0},rt=d.createAsyncThunk("mapCreate/create",async({map:t,jlandUrlBase:e},{extra:i,dispatch:r})=>{const a={title:t.title,publishTo:t.audience.reduce((s,o,c,p)=>(o.uri&&(s+=o.uri,c<p.length-1&&(s+=",")),s),""),jlandMapAggregated:t.type,type:"jlandmap"},n=i.jApi;return await new Promise((s,o)=>{n.article.create(a,{format:"raw-list",formatExtension:["licenses"]}).then(async c=>{if(c.error){o({error:1,errorMsg:c.errorMsg});return}const p=c.result[0]?{...c.result[0],urlToJland:void 0}:void 0;if(t.assignLicense&&p!==void 0){const y=await n.network.getHostname();p.urlToJland=ni(p,y,e),r(me({map:p,retrieveAllMaps:!1}))}s(c.result)}).catch(()=>{o({error:1,errorMsg:"Error assign license"})})})}),Wt=d.createSlice({name:"mapCreate",initialState:Li,reducers:{setMap:(t,e)=>{t.map=e.payload},resetCreateMapState:()=>Li},extraReducers:t=>{t.addCase(rt.pending,e=>{e.loading="pending"}).addCase(rt.fulfilled,e=>{e.loading="idle",e.status="success"}).addCase(rt.rejected,(e,i)=>{e.msg=i.error.message??void 0,e.status="error",e.loading="idle"})}}),kn=function(e){return e.jland.jLandMapList.maps},On=function(e){return e.jland.jLandMapList.availableLicenses},Rn=function(e){return e.jland.mapCreate},Dn=d.combineReducers({[wi.name]:wi.reducer,[Wt.name]:Wt.reducer}),Mn={name:"jland",reducer:Dn},xn={slice:Mn,actions:{...Wt.actions,assignLicense:me,unassignLicense:tt,deleteJlandMap:it,fetchJLandMaps:B,fetchJLandAvailableLicenses:$,createMap:rt},selectors:{selectJLandMaps:kn,selectJLandAvailableLicenses:On,selectMapCreate:Rn},utils:{buildUrlToJland:ni}},jn={loading:"idle",pads:[],query:"",page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0},zi=d.createSlice({name:"magicPad",initialState:jn,reducers:{setTab:(t,e)=>{t.tab=e.payload,t.page=1,t.orders=[],t.filters=[]},setQuery:(t,e)=>{t.query=e.payload,t.page=1,t.orders=[],t.filters=[]},setPage:(t,e)=>{t.page=e.payload},setFilters:(t,e)=>{t.filters=e.payload},setOrders:(t,e)=>{t.orders=e.payload}},extraReducers:t=>{t.addCase(ye.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ye.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.pads=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(ye.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),ye=d.createAsyncThunk("magicPad/fetchPads",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{try{const n=a().magicPad,s=n.page,o=n.query,c=[...n.filters,...n.tab==="my"?[{name:"idUser",value:t.idUserLogged}]:[]],p=n.orders.length>0?n.orders:[{name:"dateCreation",sort:"DESC"}];return(await e.jApi.article.list({type:"magicpad",limit:n.limit,page:s,query:o,orders:p,filters:c},{format:"raw-view"})).result}catch(n){return r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),_n=t=>t.magicPad,Pn={slice:zi,actions:{fetchPads:ye},selectors:{selectMagicPad:_n}},Ft={typeMediaLibraryFolder:"mediaLibraryFolder",typeMediaLibraryFile:"mediaLibraryFile"},Nn=18,Wn=12,Fn=18,Un={loading:"idle",nbResults:0,query:"",folders:{loading:"idle",list:[],page:1,totalPages:0},foldersAll:{loading:"idle",list:[]},folderFiles:{loading:"idle",list:[],page:1,totalPages:0},unclassifiedFiles:{loading:"idle",list:[],page:1,totalPages:0,nbResults:0},mediaLibraryAccess:!1,stats:null,foldersStats:{loading:!1,pager:null},filesStats:{loading:!1,pager:null}},si=d.createSlice({name:"mediaLibrary",initialState:Un,reducers:{removeFileFromFolder(t,e){return{...t,folderFiles:{...t.folderFiles,list:t.folderFiles.list.filter(i=>i.id!==e.payload)}}},removeUnclassifiedFile(t,e){t.unclassifiedFiles.list=t.unclassifiedFiles.list.filter(i=>i.id!==e.payload)}},extraReducers:t=>{t.addCase(Ae.pending,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="pending":e.folders.loading="pending"}).addCase(Ae.fulfilled,(e,i)=>{const r=i?.meta?.arg?.noLimit??!1,a=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=i.payload.result.page,s=i.meta.arg.query??"";r?e.foldersAll={loading:"idle",list:i.payload.result.data}:(e.query!==s?(e.folders.list=i.payload.result.data,e.folders.page=1):(e.folders.list=i.payload.result.data,e.folders.page=n),e.folders.totalPages=Math.ceil(i.payload.result.cnt/a)),e.folders.loading="idle",e.query=s}).addCase(Ae.rejected,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="idle":e.folders.loading="idle"}).addCase(Se.pending,(e,i)=>{i.meta.arg.page==1&&(e.folderFiles.list=[]),e.folderFiles.loading="pending"}).addCase(Se.fulfilled,(e,i)=>{const r=i.payload.result.page,a=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=Math.ceil(i.payload.result.cnt/a);r>1?e.folderFiles.list.push(...i.payload.result.data):e.folderFiles.list=i.payload.result.data,e.folderFiles.page=r,e.folderFiles.totalPages=n,e.folderFiles.loading="idle"}).addCase(Se.rejected,e=>{e.folderFiles.loading="idle"}).addCase(Te.pending,e=>{e.unclassifiedFiles.loading="pending"}).addCase(Te.fulfilled,(e,i)=>{const r=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,a=i.payload.result.page,n=Math.ceil(i.payload.result.cnt/r),s=i.meta.arg.query??e.query??"";e.query!==s||a===1?(e.unclassifiedFiles.list=i.payload.result.data,e.unclassifiedFiles.page=1):(e.unclassifiedFiles.list.push(...i.payload.result.data),e.unclassifiedFiles.page=a),e.unclassifiedFiles.totalPages=n,e.unclassifiedFiles.loading="idle",e.query=s}).addCase(Te.rejected,e=>{e.unclassifiedFiles.loading="idle"}).addCase(Ce.fulfilled,(e,i)=>{e.loading="idle",e.mediaLibraryAccess=i.payload?.result??!1}).addCase(Ce.rejected,e=>{e.loading="idle",e.mediaLibraryAccess=!1}).addCase(Ce.pending,e=>{e.loading="pending",e.mediaLibraryAccess=!1}).addCase(he.fulfilled,(e,i)=>{e.loading="idle",e.stats={...i.payload?.result}}).addCase(he.rejected,e=>{e.loading="idle",e.stats=null}).addCase(he.pending,e=>{e.loading="pending"}).addCase(Ee.fulfilled,(e,i)=>{e.foldersStats={loading:!1,pager:i.payload?.result}}).addCase(Ee.rejected,e=>{e.foldersStats={loading:!1,pager:null}}).addCase(Ee.pending,e=>{e.foldersStats.loading=!0}).addCase(be.fulfilled,(e,i)=>{e.filesStats={loading:!1,pager:i.payload?.result}}).addCase(be.rejected,e=>{e.filesStats={loading:!1,pager:null}}).addCase(be.pending,e=>{e.filesStats.loading=!0})}}),Ae=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFolders",async({page:t=1,noLimit:e=!1,query:i},{extra:r,rejectWithValue:a,dispatch:n,getState:s})=>{const o={type:Ft.typeMediaLibraryFolder,page:t,orders:[{name:"title",sort:"ASC"}]};e||(o.limit=Wn);try{const c=s().mediaLibrary;return o.query=i??c.query,await r.jApi.article.list(o,{format:"raw-list"})}catch(c){return n(g.actions.error({label:T(c)})),a({error:1,errorMsg:"Cannot retrieve folders"})}}),Se=d.createAsyncThunk("MediaLibrary/fetchFolderFiles",async({folderId:t,page:e},{extra:i,rejectWithValue:r,dispatch:a})=>{const n={type:Ft.typeMediaLibraryFile,page:e,limit:Fn,filters:[{name:"mediaLibraryFolderOrientedLinks",value:{targetId:t,targetType:Ft.typeMediaLibraryFolder}}],format:"raw-list",orders:[{name:"title",sort:"ASC"}]};try{return await i.jApi.article.list(n)}catch(s){return a(g.actions.error({label:T(s)})),r({error:1,errorMsg:`Cannot retrieve files for folder ${t}`})}}),Te=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryUnclassifiedFiles",async({page:t,query:e},{extra:i,rejectWithValue:r,dispatch:a,getState:n})=>{try{const s=n().mediaLibrary,o=e??s.query;return await i.jApi.mediaLibrary.GetUnclassifiedFiles({page:t,limit:Nn,query:o})}catch(s){return a(g.actions.error({label:T(s)})),r({error:1,errorMsg:"Cannot retrieve UnclassifiedFiles"})}}),Ce=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryConfig",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return await e.jApi.mediaLibrary.getAccess()}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot get MediaLibrary Config"})}}),Ee=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFoldersStats",async({page:t,filters:e,orders:i},{extra:r,rejectWithValue:a,dispatch:n})=>{try{return await r.jApi.mediaLibrary.getFoldersStatsList(e,i,t)}catch(s){return n(g.actions.error({label:T(s)})),a({error:1,errorMsg:"Cannot get MediaLibrary folders stats"})}}),be=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFilesStats",async({page:t,filters:e,orders:i},{extra:r,rejectWithValue:a,dispatch:n})=>{try{return await r.jApi.mediaLibrary.getFilesStatsList(e,i,t)}catch(s){return n(g.actions.error({label:T(s)})),a({error:1,errorMsg:"Cannot get MediaLibrary files stats"})}}),he=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryStats",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return await e.jApi.mediaLibrary.getStats()}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot get MediaLibrary stats"})}}),Bn=t=>t.mediaLibrary,$n=t=>t.mediaLibrary.stats,qn=t=>t.mediaLibrary.foldersStats,Vn=t=>t.mediaLibrary.filesStats,Hn=t=>t.mediaLibrary.folders,Gn=t=>t.mediaLibrary.foldersAll,Xn=t=>t.mediaLibrary.folderFiles,Jn=t=>t.mediaLibrary.unclassifiedFiles,Kn=si.reducer,Yn={slice:si,actions:{fetchMediaLibraryFolders:Ae,fetchFolderFiles:Se,fetchMediaLibraryUnclassifiedFiles:Te,fetchMediaLibraryConfig:Ce,fetchMediaLibraryStats:he,fetchMediaLibraryFilesStats:be,fetchMediaLibraryFoldersStats:Ee},selectors:{selectMediaLibrary:Bn,selectMediaLibraryStats:$n,selectMediaLibraryFoldersStats:qn,selectMediaLibraryFilesStats:Vn,selectFolders:Hn,selectFolderAll:Gn,selectFolderFiles:Xn,selectUnclassifiedFiles:Jn}},z=d.createEntityAdapter({selectId:t=>t.type,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),zn=(t,e)=>{const i={from:"imagestatic",size:e??"fitx600",uri:`icons/${t?.icon??"article"}-white`};return m.formatImgUrl(i)},Qn=t=>`icon-${{actionplan:"fs-actionplan",animatedMeeting:"fs-animated_meeting",articleWidget:"star",album:"images",article:"file-lines",businessDirectory:"building",client:"hammer",document:"file-arrow-down",diffgroup:"group",event:"calendar-days",goal:"bullseye-arrow",idea:"fs-idea","intranet-page":"fs-intranet",lab:"flask",magicpad:"draftio",boardCard:"square-list",boardList:"square-list",board:"square-list",meeting:"calendar-days",news:"newspaper",platform:"hammer",poll:"square-poll-vertical",process:"fs-process",question:"circle-question",search:"block-question","secure-document":"file-lock",surveyDate:"calendar-check",support:"headset",targetInfo:"message-exclamation",task:"list-check",tender:"bullhorn",url:"link","weDoc-docx":"file-word","weDoc-xlsx":"file-excel","weDoc-pptx":"file-powerpoint",wiki:"fs-wiki",workgroup:"fs-workgroup"}[t]??t}`,Ii=d.createSlice({name:"models",initialState:z.getInitialState(),reducers:{addOne:z.addOne,addMany:z.addMany,setAll:z.setAll}}),Zn=z.getSelectors(t=>t.entities.models),es={getModelIconSrc:zn,getModelFontAwesomeIcon:Qn},ts=(t,e)=>e.map(i=>t.entities.models.entities[i]).filter(i=>!!i),Qi={slice:Ii,actions:{...Ii.actions},utils:es,selectors:{...Zn,selectByIds:ts}},is={},Ut=d.createSlice({name:"statics",initialState:is,reducers:{initNetworkStatics:(t,{payload:e})=>e}}),rs=d.combineReducers({[Ut.name]:Ut.reducer}),as={name:"network",reducer:rs},ns=t=>t.network.statics,ss=t=>t.network.statics.networkPublic,os=t=>t.network.statics.networkMe,ls={slice:as,actions:{...Ut.actions},selectors:{selectNetworkStatics:ns,selectNetworkPublic:ss,selectNetworkMe:os}},ds={userAccountStatus:0,sendAlert:0},Zi=d.createSlice({name:"config",initialState:ds,reducers:{initPlatformConfig:(t,{payload:e})=>e}}),cs=d.combineReducers({config:Zi.reducer}),us={name:"platform",reducer:cs},ps=t=>t.platform.config,gs=t=>t.platform.config.userHighlightFields,fs=t=>t.platform.config.userAccountStatus,ms=t=>t.platform.config.urlBase,ys={slice:us,actions:{...Zi.actions},selectors:{selectPlatformConfig:ps,selectUserHighlightFields:gs,selectUserAccountStatus:fs,selectUrlBase:ms}},at=d.createAsyncThunk("/fetchRequest",async({uri:t,idUser:e},{extra:i})=>await i.jApi.object.getAccessRequest(t,e)),As={entities:[],nbEntities:0,loading:"idle"},Ss=d.createSlice({name:"share",initialState:As,reducers:{remove:(t,e)=>{t.entities=[...t.entities.filter(i=>i.id!==e.payload)]}},extraReducers:t=>{t.addCase(at.pending,e=>{e.loading="pending"}).addCase(at.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result}).addCase(at.rejected,e=>{e.loading="idle"})}}),Ts={slice:Ss,selectors:{requests:t=>({loading:t.share.loading,entities:t.share.entities})},actions:{fetchRequest:at}},N=d.createEntityAdapter({selectId:t=>`${t.targetId}-${t.type}`}),ki=d.createSlice({name:"socialActions",initialState:N.getInitialState(),reducers:{addOne:N.addOne,addMany:N.addMany,setAll:N.setAll,clear:N.removeAll,updateOne:N.updateOne}}),Cs=N.getSelectors(t=>t.entities.socialActions),Es={slice:ki,actions:{...ki.actions},selectors:Cs},Oe={ALL:"1",CUSTOM:"0"},q={draft:"draft",installed:"installed",suspended:"suspended"},R={DRAFT:q.draft,INSTALLED:q.installed,SUSPENDED:q.suspended},Et={SOLR:"1",NOT_SOLR:"0"};var Y=(t=>(t.TABLE="table",t.FLUX="flux",t))(Y||{});const vt=["create","popup","edit","filter","list","view"],l={IMAGE:"IMAGE",DESCRIPTION:"DESCRIPTION",TEXT:"TEXT",TEXTAREA:"TEXTAREA",TEXTAREAHTML:"TEXTAREAHTML",DATE:"DATE",DATETIME:"DATETIME",NUMBER:"NUMBER",URL:"URL",EMAIL:"EMAIL",SELECT:"SELECT",CHECKBOX:"CHECKBOX",TOGGLE:"TOGGLE",RADIO:"RADIO",TAGS:"TAGS",ADDFILEATTACHMENT:"ADDFILEATTACHMENT",CODEHTML:"CODEHTML",USERLINK:"USERLINK",CONTENTLINK:"CONTENTLINK",RANGE:"RANGE"},A={TITLE:"TITLE",USER:"USER",PUBLISHTO:"PUBLISHTO",SENDALERTTOSUBSCRIBERS:"SENDALERTTOSUBSCRIBERS",RECEIVEACOPY:"RECEIVEACOPY",CREATIONDATE:"CREATIONDATE"},er={TITLE:"title",USER:"user",PUBLISHTO:"publishTo",SENDALERTTOSUBSCRIBERS:"sendAlert",RECEIVEACOPY:"alertAuthor",CREATIONDATE:"dateCreation"},C={LABEL:"label",DESCRIPTION:"description",RICHTEXT:"richtext",CHECKBOX:"checkbox",OPTIONS_EDITOR:"options_editor",TAXONOMY:"taxonomy",CONTENTTYPE:"contenttype"},bs=[l.DESCRIPTION,l.IMAGE],hs=bs,wt=new Map;wt.set(l.IMAGE,["list","filter","view"]);wt.set(l.CODEHTML,["list","filter","view"]);const F={create:{fixed:[A.TITLE],optional:[A.PUBLISHTO,A.SENDALERTTOSUBSCRIBERS,A.RECEIVEACOPY]},popup:{fixed:[A.TITLE],optional:[A.PUBLISHTO]},edit:{fixed:[A.TITLE],optional:[A.PUBLISHTO]},list:{fixed:[A.TITLE,A.USER],optional:[A.CREATIONDATE]},filter:{fixed:[A.TITLE,A.USER],optional:[A.CREATIONDATE]},view:{fixed:[A.TITLE],optional:[]}},tr=[A.TITLE,A.USER,A.CREATIONDATE,l.DESCRIPTION],ir=[l.DESCRIPTION],oi=ir,vs=[A.TITLE,A.PUBLISHTO,A.SENDALERTTOSUBSCRIBERS,A.RECEIVEACOPY,A.USER,A.CREATIONDATE],rr=[A.USER,A.TITLE],ar=[l.CODEHTML],nr=rr.concat(ar).concat(ir);var sr=(t=>(t.Attr="attr",t.PublishTo="publishTo",t))(sr||{}),or=(t=>(t.Empty="",t.FieldTagDescription="Field_Tag_Description",t.FieldTitleDescription="Field_Title_Description",t.WWWDescCOM="www.desc.com",t))(or||{}),w=[];for(var It=0;It<256;++It)w.push((It+256).toString(16).slice(1));function ws(t,e=0){return(w[t[e+0]]+w[t[e+1]]+w[t[e+2]]+w[t[e+3]]+"-"+w[t[e+4]]+w[t[e+5]]+"-"+w[t[e+6]]+w[t[e+7]]+"-"+w[t[e+8]]+w[t[e+9]]+"-"+w[t[e+10]]+w[t[e+11]]+w[t[e+12]]+w[t[e+13]]+w[t[e+14]]+w[t[e+15]]).toLowerCase()}var Pe,Ls=new Uint8Array(16);function Is(){if(!Pe&&(Pe=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Pe))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Pe(Ls)}var ks=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const Oi={randomUUID:ks};function M(t,e,i){if(Oi.randomUUID&&!t)return Oi.randomUUID();t=t||{};var r=t.random||(t.rng||Is)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,ws(r)}var H=(t=>(t.TITLE="TITLE",t.IMAGE="IMAGE",t.DESCRIPTION="DESCRIPTION",t.IDUSER="IDUSER",t.PUBLISHTO="PUBLISHTO",t.SENDALERTTOSUBSCRIBERS="SENDALERTTOSUBSCRIBERS",t.RECEIVEACOPY="RECEIVEACOPY",t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.TEXTAREAHTML="TEXTAREAHTML",t.DATE="DATE",t.DATETIME="DATETIME",t.RANGE="RANGE",t.NUMBER="NUMBER",t.URL="URL",t.EMAIL="EMAIL",t.SELECT="SELECT",t.CHECKBOX="CHECKBOX",t.TOGGLE="TOGGLE",t.RADIO="RADIO",t.TAGS="TAGS",t.ADDFILEATTACHMENT="ADDFILEATTACHMENT",t.AUDIENCE="AUDIENCE",t.CODEHTML="CODEHTML",t.DATECREATION="DATECREATION",t.USERLINK="USERLINK",t.CONTENTLINK="CONTENTLINK",t))(H||{});function lr(t){const e=t,i=e.manifest,r=n(),a={idApp:e.idApp,status:e.status,studioVersion:2,author:e.author??"",manifest:{appShortName:i.appShortName,appName:i.appName,description:i.description,author:i.author??"",typeLabel:i.typeLabel,cssColor:i.cssColor,cssClass:i.cssClass,version:i.version,dateCreation:new Date(i.dateCreation).toISOString(),viewSolr:i.viewSolr,checkAccess:i.checkAccess,accessRightList:i.accessRightList??"",attrExposed:i.attrExposed},fields:r,views:p(),audience:e.audience??"1",installFor:e.installFor??[]};function n(){const u=[];for(const S of e.form.formItems){const E=s(S.type);u.push({id:S.id,type:E,properties:o(S.properties??{}),mandatory:S.mandatory??!1,views:S.views,isActive:!0,isFixed:!1,isOptional:!1,value:null})}return u}function s(u){return l[u]}function o(u){const S=[],E=u.options&&Object.prototype.hasOwnProperty.call(u,"hasDefaultValue"),h={isRequired:u.mandatory??!1,...E&&{isOptionsEditorEnhanced:!0}};return u.labels&&(S.push({propertyType:C.LABEL,value:u.labels.label?.content??"",...h}),S.push({propertyType:C.DESCRIPTION,value:u.labels.description?.content??"",...h})),u.options&&S.push({propertyType:C.OPTIONS_EDITOR,value:E?{propertyOptions:c(u.options??[]),defaultSelectOptionValue:u.defaultValue,defaultSelectOption:u.hasDefaultValue??!1,canSelectMultiple:u.multiple??!1,userCanModifiyByComment:u.explain??!1}:{propertyOptions:c(u.options??[])},...h}),u.code&&S.push({propertyType:C.RICHTEXT,value:{html:u.code.html,text:u.code.text},...h}),Object.prototype.hasOwnProperty.call(u,"digits")&&S.push({propertyType:C.CHECKBOX,value:u.digits??!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:u.digits}],...h}),Object.prototype.hasOwnProperty.call(u,"taxonomy")&&S.push({propertyType:C.TAXONOMY,value:u.taxonomy??"",...h}),Object.prototype.hasOwnProperty.call(u,"contentType")&&S.push({propertyType:C.CONTENTTYPE,value:u.contentType??"",...h}),S}function c(u){const S=[];for(const E of u)S.push({title:E.label,value:E.value});return S}function p(){return{create:y(e.formItemsViewList.find(u=>u.view=="create").formItemRefs),popup:y(e.formItemsViewList.find(u=>u.view=="popup").formItemRefs),edit:y(e.formItemsViewList.find(u=>u.view=="edit").formItemRefs),list:y(e.formItemsViewList.find(u=>u.view=="list").formItemRefs),filter:y(e.formItemsViewList.find(u=>u.view=="filter").formItemRefs),view:y(e.formItemsViewList.find(u=>u.view=="view").formItemRefs)}}function y(u){const S={};return u.forEach(E=>{const h={isUsed:!0,isFixed:!1,isOptional:!1,properties:[],pos:0,isLockedValue:!!E.fixedValue||!1,value:E.fixedValue??""};if(E.ref===H.TITLE)S[M()]={...h,type:A.TITLE,isFixed:!0};else if(E.ref===H.IDUSER)S[M()]={...h,type:A.USER,isFixed:!0};else if(E.ref===H.PUBLISHTO)S[M()]={...h,type:A.PUBLISHTO,isOptional:!0};else if(E.ref===H.SENDALERTTOSUBSCRIBERS)S[M()]={...h,type:A.SENDALERTTOSUBSCRIBERS,isOptional:!0};else if(E.ref===H.RECEIVEACOPY)S[M()]={...h,type:A.RECEIVEACOPY,isOptional:!0};else{const v=f(E);v&&(S[v.id]={type:v.type,...h,properties:v.properties??[]})}}),S}function f(u){const S=e.form.formItems.find(E=>u.ref===E.id||u.ref===E.name);return S?r.find(E=>E.id===S.id):null}return a}function Re(t,e=!0){return{id:M(),type:t,properties:Ds(t),mandatory:!1,views:{create:e,popup:e,edit:e,list:e,filter:e,view:e},isActive:!0,isFixed:!1,isOptional:!1,value:null,isLockedValue:!1}}const Os={type:"taxonomyOpen",id:1,title:"Mots-clés"},Rs={type:"mpArticle",label:"Article"};function Ds(t){switch(t){case l.TEXT:case l.DESCRIPTION:case l.TEXTAREAHTML:case l.DATE:case l.DATETIME:case l.URL:case l.EMAIL:case l.TOGGLE:case l.USERLINK:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""}];case l.ADDFILEATTACHMENT:return[{propertyType:C.LABEL,isRequired:!0,value:""}];case l.CODEHTML:return[{propertyType:C.RICHTEXT,value:""}];case l.TEXTAREA:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""}];case l.NUMBER:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.CHECKBOX,value:!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:!1}]}];case l.SELECT:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.OPTIONS_EDITOR,value:[],isOptionsEditorEnhanced:!0}];case l.CHECKBOX:case l.RADIO:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.OPTIONS_EDITOR,value:[]}];case l.TAGS:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.TAXONOMY,value:{...Os}}];case l.CONTENTLINK:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.CONTENTTYPE,value:{...Rs}}];default:return[]}}function L(t,e){const i={...Re(t,!1),id:e.name,mandatory:e.mandatory};return i.properties[0].value=e.label,i.properties[1].value=e.description,i}function dr(t){const e=[];return Object.keys(t).forEach(i=>{e.push({title:t[i],value:i})}),e}function Ms(t){const e={...Re(l.ADDFILEATTACHMENT,!1),id:t.name,mandatory:t.mandatory};return e.properties[0].value=t.label,e}function xs(t){const e={...Re(l.CODEHTML,!1),id:t.name},i=t.properties.code;return typeof i=="object"&&i?.html&&typeof i.html=="string"?e.properties[0].value=i.html:typeof i=="string"&&(e.properties[0].value=i),e}function js(){return Re(l.IMAGE,!1)}function _s(t){const e=L(l.NUMBER,t);return e.properties[2].value=t.widget.params?.step==="0.01",e}function Ps(t){const e=L(l.TAGS,t);return e.properties[2].value.id=+(t.widget.params?.idTaxonomy??1),e}function Ns(t){const e=L(l.SELECT,t),i=t.widget.params?.defaultValue?{title:t.widget.options[t.widget.params?.defaultValue],value:t.widget.params?.defaultValue}:void 0,r={propertyOptions:dr(t.widget.options),canSelectMultiple:t.widget.multiple==="1",userCanModifiyByComment:t.widget.params?.explain==="1",defaultSelectOption:!!t.widget.params?.defaultValue,defaultSelectOptionValue:i};return e.properties[2].value=r,e}function cr(t){const e=L(l.RADIO,t),i={propertyOptions:dr(t.widget.options)};return e.properties[2].value=i,e}function Ws(t){const e=cr(t);return e.type=l.CHECKBOX,e}function Fs(t,e){const i=L(l.CONTENTLINK,t);i.properties[2].value.type=t.widget.params.types??"mpArticle";const r=e.entities===void 0?void 0:{entities:e.entities},a=r?Qi.selectors.selectById(r,i.properties[2].value.type):void 0;return i.properties[2].value.label=a?.label??"Article",i}function Us(t){return L(l.TEXT,t)}function Bs(t){return L(l.DESCRIPTION,t)}function $s(t){return L(l.TEXTAREAHTML,t)}function qs(t){return L(l.DATE,t)}function Vs(t){return L(l.DATETIME,t)}function Hs(t){return L(l.URL,t)}function Gs(t){return L(l.EMAIL,t)}function Xs(t){return L(l.TOGGLE,t)}function Js(t){return L(l.USERLINK,t)}function Ks(t){return L(l.TEXTAREA,t)}function Ys(t){const{manifest:e,views:i,audience:r,installFor:a}=t;return`<?xml version='1.0' encoding='utf-8'?>
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@reduxjs/toolkit"),m=require("jamespot-user-api"),b=t=>!!t&&typeof t=="object"&&"aborted"in t&&!!t.aborted,T=(t,e)=>!t||typeof t!="object"?e??"GLOBAL_Technical_Error":"errorMsg"in t&&typeof t.errorMsg=="string"?t.errorMsg:"message"in t&&typeof t.message=="string"?t.message:e??"GLOBAL_Technical_Error",We=d.createEntityAdapter({selectId:t=>t.id}),Tt=d.createSlice({name:"toasts",initialState:We.getInitialState(),reducers:{addOne:We.addOne,removeOne:We.removeOne}}),Xr=()=>Math.random().toString(16).slice(2),xe=({id:t=Xr(),...e},i="success",r=3e3)=>a=>{const n={id:t,...e,timeout:r,type:i};return a(Tt.actions.addOne(n)),setTimeout(()=>{a(Tt.actions.removeOne(t))},r),t},Pi={addMessage:xe,success:(t,e)=>xe(t,"success",e),warning:(t,e)=>xe(t,"warning",e),error:(t,e)=>xe(t,"error",e)},Jr=We.getSelectors(t=>t.toasts),g={slice:Tt,actions:{...Pi,...Tt.actions},selectors:Jr},pi=t=>t.toISOString().slice(0,19).replace(/T/g," "),Kr=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Yr={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:pi(Kr()),end:pi(new Date)}}],orders:[],limit:30,nbResults:0},Fe=d.createAsyncThunk("admin/fetchLogsNavigation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.admin.logs.getLogsNavigation(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve admin logs navigation"})}}),Ot=d.createSlice({name:"logsNavigation",initialState:Yr,reducers:{setNavigationOrder:(t,e)=>{t.orders=[...e.payload],t.page=1},setNavigationFilter:(t,e)=>{t.filters=[...e.payload],t.page=1},setNavigationPage:(t,e)=>{t.page=e.payload}},extraReducers:t=>{t.addCase(Fe.pending,e=>{e.loading="pending"}),t.addCase(Fe.fulfilled,(e,i)=>{e.data=i.payload.data,e.nbResults=i.payload.cnt,e.limit=i.payload.limit??30,e.page=i.payload.page,e.loading="idle"}),t.addCase(Fe.rejected,e=>{e.loading="idle"})}}),gi=t=>t.toISOString().slice(0,19).replace(/T/g," "),zr=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Qr={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:gi(zr()),end:gi(new Date)}}],orders:[],limit:30,nbResults:0},Ue=d.createAsyncThunk("admin/fetchLogsObjects",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.admin.logs.getLogsObjects(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve admin logs Objects"})}}),Rt=d.createSlice({name:"logsObjects",initialState:Qr,reducers:{setObjectsOrder:(t,e)=>{t.orders=[...e.payload],t.page=1},setObjectsFilter:(t,e)=>{t.filters=[...e.payload],t.page=1},setObjectsPage:(t,e)=>{t.page=e.payload}},extraReducers:t=>{t.addCase(Ue.pending,e=>{e.loading="pending"}),t.addCase(Ue.fulfilled,(e,i)=>{e.data=i.payload.data,e.nbResults=i.payload.cnt,e.limit=i.payload.limit??30,e.page=i.payload.page,e.loading="idle"}),t.addCase(Ue.rejected,e=>{e.loading="idle"})}}),fi=t=>t.toISOString().slice(0,19).replace(/T/g," "),Zr=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},ea={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:fi(Zr()),end:fi(new Date)}}],orders:[],limit:30,nbResults:0},Be=d.createAsyncThunk("admin/fetchLogsSearch",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.admin.logs.getLogsSearch(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve admin logs Search"})}}),Dt=d.createSlice({name:"logsSearch",initialState:ea,reducers:{setSearchOrder:(t,e)=>{t.orders=[...e.payload],t.page=1},setSearchFilter:(t,e)=>{t.filters=[...e.payload],t.page=1},setSearchPage:(t,e)=>{t.page=e.payload}},extraReducers:t=>{t.addCase(Be.pending,e=>{e.loading="pending"}),t.addCase(Be.fulfilled,(e,i)=>{e.data=i.payload.data,e.nbResults=i.payload.cnt,e.limit=i.payload.limit??30,e.page=i.payload.page,e.loading="idle"}),t.addCase(Be.rejected,e=>{e.loading="idle"})}}),ta=t=>t.adminLogs.logsNavigation,ia=t=>t.adminLogs.logsObjects,ra=t=>t.adminLogs.logsSearch,aa=d.combineReducers({[Ot.name]:Ot.reducer,[Rt.name]:Rt.reducer,[Dt.name]:Dt.reducer}),ti={name:"adminLogs",reducer:aa},na=ti.reducer,sa={slice:ti,actions:{...Ot.actions,...Rt.actions,...Dt.actions,fetchLogsNavigation:Fe,fetchLogsObjects:Ue,fetchLogsSearch:Be},selectors:{selectAdminLogsNavigation:ta,selectAdminLogsObjects:ia,selectAdminLogsSearch:ra}},oa={loading:"idle",profile:void 0,isError:!1,setProfileState:{isError:!1,loading:"idle"}},ie=d.createAsyncThunk("aiProfile/fetchAIProfile",async(t,{rejectWithValue:e,extra:i,dispatch:r})=>{try{return await i.jApi.user.getAIProfile()}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot fetch ai profile"})}}),re=d.createAsyncThunk("aiProfile/setAIProfile",async(t,{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=await i.jApi.user.setAIProfile(t);if(a.result)r(Wi.actions.fetchAIProfile());else return r(g.actions.error({label:"GLOBAL_Technical_Error"})),e({error:1,errorMsg:"Cannot set ai profile"});return a}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot set ai profile"})}}),Ni=d.createSlice({name:"aiProfile",initialState:oa,reducers:{},extraReducers:t=>{t.addCase(ie.pending,e=>{e.loading="pending",e.isError=!1}).addCase(ie.fulfilled,(e,i)=>{e.loading="idle",e.profile=i.payload.result,e.isError=!1}).addCase(ie.rejected,e=>{e.loading="idle",e.isError=!0}).addCase(re.pending,e=>{e.setProfileState.isError=!1,e.setProfileState.loading="pending"}).addCase(re.fulfilled,e=>{e.setProfileState.isError=!1,e.setProfileState.loading="idle"}).addCase(re.rejected,e=>{e.setProfileState.loading="idle",e.setProfileState.isError=!0})}}),Wi={slice:Ni,actions:{fetchAIProfile:ie,setAIProfile:re},selectors:{}},la={animationConfiguration:null,isActiveForCurrentUser:!1,isInitialized:!1,isToggleLoading:!1},mi=d.createSlice({name:"animationsList",initialState:la,reducers:{},extraReducers:t=>{t.addCase(ae.fulfilled,(e,i)=>{e.isActiveForCurrentUser=i.payload.isActiveForCurrentUser,e.animationConfiguration=i.payload.animationConfiguration,e.isInitialized=i.payload.isInitialized}),t.addCase(Ct.fulfilled,(e,i)=>{e.animationConfigurationApp=i.payload}),t.addCase($e.pending,e=>{e.isToggleLoading=!0,e.isActiveForCurrentUser=!e.isActiveForCurrentUser}),t.addCase($e.fulfilled,e=>{e.isToggleLoading=!1}),t.addCase($e.rejected,e=>{e.isActiveForCurrentUser=!e.isActiveForCurrentUser,e.isToggleLoading=!1})}}),ae=d.createAsyncThunk("animations/fetchCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{const n=(await e.jApi.animations.GetCurrentAnimation({signal:a})).result,s=(await e.jApi.animations.GetAnimationActive({signal:a})).result;return{animationConfiguration:n,isActiveForCurrentUser:s,isInitialized:!0}}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),Ct=d.createAsyncThunk("animations/fetchCurrentAnimationApp",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.animations.GetCurrentAnimationApp()).result}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),da=d.createAsyncThunk("animations/deleteCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.animations.DeleteAnimation();return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot delete animation"})}}),ca=d.createAsyncThunk("animations/saveCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.animations.SaveAnimationConfiguration(t);return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot update animation"})}}),$e=d.createAsyncThunk("animations/toggleAnimationIsActive",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.animations.ToggleAnimationActive();return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot update animation"})}}),ua=function(t){return[{namespace:"ANIMATIONS",function:"add",handler:function(a){a.namespace==="ANIMATIONS"&&a.function==="add"&&(t(ae()),t(Ct()))}},{namespace:"ANIMATIONS",function:"delete",handler:function(a){a.namespace==="ANIMATIONS"&&a.function==="delete"&&(t(ae()),t(Ct()))}},{namespace:"ANIMATIONS",function:"toggle",handler:function(a){a.namespace==="ANIMATIONS"&&a.function==="toggle"&&t(ae())}}]},qe=d.createAsyncThunk("animations/fetchAnimationStats",async({name:t},{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.animations.GetAnimationStats(t)).result.data}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve animation stats"})}}),pa={stats:[],loading:"idle"},yi=d.createSlice({name:"animationStats",initialState:pa,reducers:{},extraReducers:t=>{t.addCase(qe.pending,e=>{e.loading="pending"}),t.addCase(qe.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(qe.rejected,e=>{e.loading="idle"})}}),Ve=d.createAsyncThunk("animations/fetchAnimationStatsCurrent",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.animations.GetAnimationStatsCurrent(t)).result}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve animation stats current"})}}),ga={stats:null,loading:"idle"},Ai=d.createSlice({name:"animationStatsCurrent",initialState:ga,reducers:{},extraReducers:t=>{t.addCase(Ve.pending,e=>{e.loading="pending"}),t.addCase(Ve.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(Ve.rejected,e=>{e.loading="idle"})}}),fa=t=>t.animations.animationsList.animationConfiguration,ma=t=>t.animations.animationsList.isActiveForCurrentUser,ya=t=>t.animations.animationsList.isToggleLoading,Aa=t=>t.animations.animationsList.animationConfigurationApp,Sa=d.combineReducers({[mi.name]:mi.reducer,[yi.name]:yi.reducer,[Ai.name]:Ai.reducer}),ii={name:"animations",reducer:Sa},Ta=ii.reducer,Ca={slice:ii,actions:{saveCurrentAnimation:ca,fetchCurrentAnimation:ae,deleteCurrentAnimation:da,toggleAnimationIsActive:$e,fetchCurrentAnimationApp:Ct,fetchAnimationStats:qe,fetchAnimationStatsCurrent:Ve},selectors:{selectCurrentAnimation:fa,isActiveAnimation:ma,isToggleLoading:ya,selectAnimationConfigurationApp:Aa},getAnimationsRTHandlers:ua},V=d.createEntityAdapter({selectId:t=>t.name,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),Fi=d.createAsyncThunk("application/fetch",async(t,{extra:e})=>await e.jApi.application.list()),Si=d.createSlice({name:"applications",initialState:V.getInitialState(),reducers:{addOne:V.addOne,addMany:V.addMany,setAll:V.setAll},extraReducers:t=>{t.addCase(Fi.fulfilled,(e,i)=>{V.setAll(e,i.payload.result)})}}),Ea=V.getSelectors(t=>t.entities.applications),ba={slice:Si,actions:{fetchList:Fi,...Si.actions},selectors:Ea},ha=function(t){return[{namespace:"JAMESPOT",function:"article-create",handler:function(i){i.namespace==="JAMESPOT"&&i.function==="article-create"&&t(i.object)}}]},wa={getArticleRTHandlers:ha},va={entities:[],loading:"idle",nbResults:0},He=d.createAsyncThunk("BookableAsset/fetchBookableAsset",async(t,{extra:e})=>{const i={type:"bookableAsset",limit:50,public:!0};return await e.jApi.article.list(i,{format:"raw-list"})}),Ti=d.createSlice({name:"bookableAsset",initialState:va,reducers:{},extraReducers:t=>{t.addCase(He.pending,e=>{e.loading="pending"}).addCase(He.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(He.rejected,e=>{e.loading="idle"})}}),Ge=d.createAsyncThunk("AssetReservation/configuration",async(t,{extra:e})=>await e.jApi.assetReservation.configuration()),La={description:"",right:{manage:!1},daysOff:[],weekEnd:"0",bookingOpeningTime:"00:00",bookingClosingTime:"24:00",lastBookingSchedule:"24:00",loading:"idle"},Ci=d.createSlice({name:"configuration",initialState:La,reducers:{},extraReducers:t=>{t.addCase(Ge.pending,e=>{e.loading="pending"}).addCase(Ge.fulfilled,(e,i)=>({...i.payload.result,loading:"idle"})).addCase(Ge.rejected,e=>{e.loading="idle"})}}),Ui={date:"",hourStart:"",hourEnd:""},Ia={entities:[],loading:"idle",nbResults:0,form:Ui},Xe=d.createAsyncThunk("Reservation/fetchReservation",async(t,{extra:e})=>{const i={format:"raw-list",limit:50,viewMode:t==="history"?"history":void 0};return await e.jApi.assetReservation.getList(i)}),Mt=d.createSlice({name:"reservation",initialState:Ia,reducers:{setForm:(t,e)=>{t.form=e.payload},resetForm:t=>{t.form=Ui},removeReservation:(t,e)=>{t.entities=t.entities.filter(i=>i.id!==e.payload)}},extraReducers:t=>{t.addCase(Xe.pending,e=>{e.loading="pending"}).addCase(Xe.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(Xe.rejected,e=>{e.loading="idle"})}}),ka=d.combineReducers({[Ti.name]:Ti.reducer,[Ci.name]:Ci.reducer,[Mt.name]:Mt.reducer}),Oa={name:"assetReservation",reducer:ka},Ra=t=>t.assetReservation.configuration,Da=t=>t.assetReservation.bookableAsset.entities,Ma=t=>t.assetReservation.bookableAsset.loading,xa=t=>t.assetReservation.reservation.entities,ja=t=>t.assetReservation.reservation.loading,_a=t=>t.assetReservation.reservation.form,Pa={slice:Oa,actions:{...Mt.actions,fetchBookableAsset:He,fetchConfiguration:Ge,fetchReservation:Xe},selectors:{configuration:Ra,bookableAssetEntities:Da,bookableAssetLoading:Ma,reservationEntities:xa,reservationLoading:ja,reservationForm:_a}},Bi=999,Na={bookmarks:[],loading:"idle",status:void 0,isInitialized:!1,nbResults:0,add:{},move:{loading:"idle",status:void 0},delete:{},lastOptimisticMoveAt:0,perPage:Bi,page:1},ne=d.createAsyncThunk("bookmarkList/fetchbookmarkList",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{const a={limit:Bi};try{return await e.jApi.bookmark.getFormattedList(a,m.BookmarkType.RAW_LIST)}catch(n){return r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot retrieve bookmarks"})}}),Je=d.createAsyncThunk("bookmarkList/addBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return m.jEnsure.isBookmarkLink(t)?await e.jApi.bookmark.addFormattedLink(t.targetId,t.targetType,m.BookmarkType.RAW_LIST):await e.jApi.bookmark.addBookmark(t)}catch(a){const n=T(a);return r(g.actions.error({label:n})),i({error:1,errorMsg:"Error saving bookmark"})}}),Ke=d.createAsyncThunk("bookmarkList/moveBookmark",async({bookmark:t,bookmarkReference:e,position:i},{extra:r,rejectWithValue:a,dispatch:n})=>{try{await r.jApi.bookmark.move(t.id,e.id,i);return}catch(s){return n(g.actions.error({label:T(s)})),a({error:1,errorMsg:"Error moving bookmark"})}}),Ye=d.createAsyncThunk("bookmarkList/deleteBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{await e.jApi.bookmark.delete(t.id);return}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Error deleting bookmark"})}}),ke=d.createSlice({name:"bookmarkList",initialState:Na,reducers:{resetAddBookmarkStatus:(t,e)=>{t.add[e.payload]&&delete t.add[e.payload]},resetMoveBookmarkStatus:t=>{t.move.status=void 0,t.move.loading="idle"},resetDeleteBookmarkStatus:(t,e)=>{t.delete[e.payload]&&delete t.delete[e.payload]},addBookmarkRT:(t,e)=>{t.bookmarks.push(e.payload),t.bookmarks.sort((i,r)=>(i.bookmarkOrder??0)-(r.bookmarkOrder??0))},deleteBookmarkRT:(t,e)=>{t.bookmarks=t.bookmarks.filter(i=>i.id!==e.payload.id)},updateBookmarkRT:(t,e)=>{t.bookmarks=t.bookmarks.map(i=>i.id===e.payload.id?e.payload:i).sort((i,r)=>(i.bookmarkOrder??0)-(r.bookmarkOrder??0))}},extraReducers:t=>{t.addCase(ne.pending,e=>{e.loading="pending",e.status=void 0}).addCase(ne.fulfilled,(e,i)=>{const r=Date.now()-e.lastOptimisticMoveAt;e.loading="idle",e.isInitialized=!0,e.status="success",e.nbResults=i.payload.result.cnt,!(e.move.loading==="pending"||e.lastOptimisticMoveAt>0&&r<2e3)&&(e.bookmarks=[...i.payload.result.data].sort((a,n)=>(a.bookmarkOrder??0)-(n.bookmarkOrder??0)))}).addCase(ne.rejected,e=>{e.loading="idle",e.status="error"}).addCase(Je.pending,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Je.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"idle",status:"success",id:i.payload.result.id})}).addCase(Je.rejected,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"idle",status:"error"})}).addCase(Ke.pending,(e,i)=>{e.move.loading="pending",e.move.status=void 0,e.lastOptimisticMoveAt=Date.now();const{bookmark:r,bookmarkReference:a,position:n}=i.meta.arg,s=e.bookmarks.findIndex(c=>c.id===r.id),o=e.bookmarks.findIndex(c=>c.id===a.id);if(s!==-1&&o!==-1&&s!==o){const c=e.bookmarks[s];e.bookmarks.splice(s,1);const p=n==="before"?s<o?o-1:o:s<o?o:o+1;e.bookmarks.splice(p,0,c);const y=p>0?e.bookmarks[p-1]:null,f=p<e.bookmarks.length-1?e.bookmarks[p+1]:null,u=y?.bookmarkOrder??0,S=f?.bookmarkOrder??0;y&&f?c.bookmarkOrder=(u+S)/2:y?c.bookmarkOrder=u+1:f&&(c.bookmarkOrder=S-1)}}).addCase(Ke.fulfilled,e=>{e.move.loading="idle",e.move.status="success"}).addCase(Ke.rejected,e=>{e.move.loading="idle",e.move.status="error",e.lastOptimisticMoveAt=0}).addCase(Ye.pending,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Ye.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"success"})}).addCase(Ye.rejected,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"error"})})}});let je=null;const Wa=function(t){const e=(s=2e3)=>{je&&clearTimeout(je),je=setTimeout(()=>{t(ne()),je=null},s)},i=function(s,o){m.jEnsure.objectIsType("bookmarkLink",s.object)?t(o(s.object)):e()},r=function(){e()},a=function(s){(s.namespace==="BOOKMARKS"||s.namespace==="CUSTOM-ACTION")&&s.function==="add"&&i(s,ke.actions.addBookmarkRT)},n=s=>{(s.namespace==="BOOKMARKS"&&s.function==="delete"||s.namespace==="CUSTOM-ACTION"&&s.function==="remove")&&i(s,ke.actions.deleteBookmarkRT)};return[{namespace:"CUSTOM-ACTION",function:"add",handler:a},{namespace:"CUSTOM-ACTION",function:"remove",handler:n},{namespace:"BOOKMARKS",function:"add",handler:a},{namespace:"BOOKMARKS",function:"delete",handler:n},{namespace:"BOOKMARKS",function:"update",handler:r}]},Fa={bookmark:void 0,status:void 0,loading:"idle"},ze=d.createAsyncThunk("bookmarkEdit/editBookmark",async(t,{extra:e,rejectWithValue:i})=>{if(!t.id)return i({error:1,errorMsg:"Bookmark id is required"});const r=t.bookmarkLabel??"",a=t.bookmarkUrl??"";try{await e.jApi.bookmark.rename(t.id,r,a)}catch{return i({error:2,errorMsg:"Error saving bookmark"})}}),xt=d.createSlice({name:"bookmarkEdit",initialState:Fa,reducers:{setEditBookmark:(t,e)=>{t.bookmark={...e.payload}},unsetEditBookmark:t=>{t.bookmark=void 0},resetStatus:t=>{t.status=void 0,t.loading="idle"}},extraReducers:t=>{t.addCase(ze.pending,e=>{e.loading="pending",e.status=void 0}).addCase(ze.fulfilled,e=>{e.loading="idle",e.bookmark=void 0,e.status="success"}).addCase(ze.rejected,e=>{e.status="error",e.loading="idle"})}}),Ua=d.combineReducers({[ke.name]:ke.reducer,[xt.name]:xt.reducer}),Ba={name:"bookmark",reducer:Ua},$a=t=>t.bookmark.bookmarkList,qa=t=>t.bookmark.bookmarkList.bookmarks,Va=t=>t.bookmark.bookmarkList.loading,Ha=t=>t.bookmark.bookmarkList.isInitialized,Ga=t=>t.bookmark.bookmarkEdit.bookmark,Xa=(t,e)=>t.bookmark.bookmarkList.bookmarks.find(i=>i.targetId===e),Ja={slice:Ba,actions:{fetchBookmark:ne,addBookmark:Je,moveBookmark:Ke,deleteBookmark:Ye,editBookmark:ze,...xt.actions,...ke.actions},selectors:{bookmarkList:$a,bookmarks:qa,bookmarkLoading:Va,bookmarkListIsInitialized:Ha,bookmarkEditBookmark:Ga,bookmarkByArticleId:Xa},getRTHandlers:Wa},Ei={list:[],statuses:["subscribed","unanswered"],loading:"idle",types:[],pendingStatusChanges:[]};let Lt=null;const ri=(t,e,i=500)=>{Lt&&clearTimeout(Lt),Lt=setTimeout(()=>{t(j(e))},i)},j=d.createAsyncThunk("calendarEvents/fetchEvents",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a,getState:n})=>{const s=n().calendar.events;if(!t.dates&&!s.dates)return i({error:1,errorMsg:"Dates must be set"});let o=t.types??s.types;o=o.includes("socialEvent")?[...o,"recurringEvent"]:[...o];try{const c={dateStart:t.dates?.start??s.dates?.start??"",dateEnd:t.dates?.end??s.dates?.end??"",statuses:s.statuses,types:o,idSpot:t.spotId??s.spotId};return(await e.jApi.calendar.listEvents(c,{format:"raw-view",signal:a})).result}catch(c){return b(c)||r(g.actions.error({label:T(c)})),i({error:1,errorMsg:"Cannot retrieve events"})}}),$i=d.createAsyncThunk("calendarEvents/setDates",async(t,{dispatch:e})=>(ri(e,{dates:t}),!0)),qi=d.createAsyncThunk("calendarEvents/setTypes",async(t,{dispatch:e})=>(ri(e,{types:t}),!0)),Vi=d.createAsyncThunk("calendarEvents/setSpotId",async(t,{dispatch:e})=>(ri(e,{spotId:t}),!0)),Qe=d.createAsyncThunk("calendarEvents/changeResponse",async(t,{dispatch:e,extra:i,signal:r,rejectWithValue:a})=>{try{return t.status==="unknown"?await i.jApi.global.removeAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe"},{signal:r}):await i.jApi.global.updateAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe",value:t.status},{signal:r}),e(g.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(n){return b(n)||e(g.actions.error({label:T(n)})),a({error:1,errorMsg:"Cannot change response"})}}),W=d.createSlice({name:"events",initialState:Ei,reducers:{addEvent:(t,e)=>{t.list=[e.payload,...t.list]},removeEvent:(t,e)=>{t.list=t.list.filter(i=>i.uri!==e.payload.uri)},updateEvent:(t,e)=>{t.list=t.list.map(i=>i.uri===e.payload.uri?e.payload:i)},reset:()=>Ei},extraReducers:t=>{t.addCase(j.pending,(e,i)=>{e.loading="pending",i.meta.arg.types&&(e.types=i.meta.arg.types),i.meta.arg.dates&&(e.dates=i.meta.arg.dates)}).addCase(j.fulfilled,(e,i)=>{e.loading="idle",e.list=i.payload}).addCase(j.rejected,e=>{e.loading="idle"}).addCase(Qe.pending,(e,i)=>{const r=e.list.find(a=>a.id===i.meta.arg.id&&a.type===i.meta.arg.type);if(r?._extend?.socialEventRecord){e.pendingStatusChanges.push({requestId:i.meta.requestId,prevStatus:r._extend.socialEventRecord.userResponseStatus,prevSubscribersTotal:r._extend.socialEventRecord.subscribersTotal,eventId:r.id});const a=i.meta.arg.status,n=r._extend.socialEventRecord.userResponseStatus;r._extend.socialEventRecord.userResponseStatus=a,(a===1||a==="onSpot"||a==="visio"||a==="available")&&(n===0||n==="unavailable"||n==="unknown")?r._extend.socialEventRecord.subscribersTotal+=1:(a===0||a==="unavailable"||a==="unknown")&&(n===1||n==="available"||n==="onSpot"||n==="visio")&&(r._extend.socialEventRecord.subscribersTotal-=1)}}).addCase(Qe.fulfilled,(e,i)=>{e.pendingStatusChanges=e.pendingStatusChanges.filter(r=>r.requestId!==i.meta.requestId)}).addCase(Qe.rejected,(e,i)=>{const r=e.pendingStatusChanges.find(a=>a.requestId===i.meta.requestId);if(r){const a=e.list.find(n=>n.id===i.meta.arg.id&&n.type===i.meta.arg.type);a?._extend?.socialEventRecord&&(a._extend.socialEventRecord.userResponseStatus=r.prevStatus,a._extend.socialEventRecord.subscribersTotal=r.prevSubscribersTotal),e.pendingStatusChanges=e.pendingStatusChanges.filter(n=>n.requestId!==i.meta.requestId)}}).addCase($i.pending,(e,i)=>{e.dates={start:i.meta.arg.start,end:i.meta.arg.end},e.loading="pending"}).addCase(qi.pending,(e,i)=>{e.types=i.meta.arg,e.loading="pending"}).addCase(Vi.pending,(e,i)=>{e.spotId=i.meta.arg,e.loading="pending"})}}),_e=t=>["socialEvent","meeting","animatedMeeting","recurringEvent","recurringEventOccurrence"].includes(t),Ka=function(t,e){const i=function(s){s.namespace==="JAMESPOT"&&s.function==="article-create"&&_e(s.object.type)&&t(j({}))},r=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-delete"&&_e(s.object.type)){if(s.object.type==="recurringEvent"){t(j({}));return}t(W.actions.removeEvent({uri:s.object.uri}))}},a=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-update"&&_e(s.object.type)){if(s.object.type==="recurringEvent"){t(j({}));return}e.article.get({uri:s.object.uri},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(o=>{"hideFromCalendar"in o.result&&o.result.hideFromCalendar?t(W.actions.removeEvent({uri:s.object.uri})):t(W.actions.updateEvent(o.result))}).catch(o=>{t(g.actions.error({label:T(o)}))})}},n=function(s){s.namespace==="CUSTOM-ACTION"&&(s.function==="update"||s.function==="remove")&&s.object.targetType&&s.object.targetId&&_e(s.object.targetType)&&e.article.get({idArticle:s.object.targetId},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(o=>{t(W.actions.updateEvent(o.result))}).catch(o=>{t(g.actions.error({label:T(o)}))})};return[{namespace:"JAMESPOT",function:"article-create",handler:i},{namespace:"JAMESPOT",function:"article-delete",handler:r},{namespace:"JAMESPOT",function:"article-update",handler:a},{namespace:"CUSTOM-ACTION",function:"update",handler:n},{namespace:"CUSTOM-ACTION",function:"remove",handler:n}]},Ya=d.combineReducers({[W.name]:W.reducer}),za={name:"calendar",reducer:Ya},Qa=t=>t.calendar.events,Za={slice:za,actions:{fetchEvents:j,setDates:$i,setTypes:qi,setSpotId:Vi,changeResponse:Qe,...W.actions},selectors:{selectCalendarEvents:Qa},getCalendarRTHandlers:Ka},en={loading:"idle",comments:[]},U=d.createAsyncThunk("commentList/fetchCommentList",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{const a=await e.jApi.article.getComments(t,{format:"raw-list",formatExtension:["actions","quarantine"]});return{idArticle:t.idArticle,list:a.result}}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve comments"})}}),jt=d.createAsyncThunk("commentList/deleteComment",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return await e.jApi.article.deleteComment(t.idComment),!0}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot delete comment"})}}),_t=d.createSlice({name:"commentList",initialState:en,reducers:{discardComments:(t,e)=>{t.comments=t.comments.filter(i=>i.idArticle!==e.payload.idArticle)},hydrateComment:(t,e)=>{const{idArticle:i,list:r}=e.payload;if(!t.comments.find(c=>c.idArticle===i)){t.comments=[...t.comments.filter(c=>c.idArticle!==i),{idArticle:i,list:Array.isArray(r)?r:[]}];return}const n=[],s=t.comments.reduce((c,p)=>Array.isArray(p.list)?[...c,...p.list.map(y=>y.uri)]:[...c],n),o=Array.isArray(r)?r.filter(c=>!s.includes(c.uri)):[];t.comments=t.comments.map(c=>c.idArticle===i?{...c,list:Array.isArray(c.list)?[...c.list,...o]:[...o]}:c)},updateComment:(t,e)=>{t.comments=t.comments.map(i=>{const{idArticle:r,idComment:a,data:n}=e.payload;return i.idArticle===r?{...i,list:i.list.map(s=>s.id===a?{...s,description:n.description}:s)}:i})}},extraReducers:t=>{t.addCase(U.pending,e=>{e.loading="pending"}).addCase(U.fulfilled,(e,i)=>{e.loading="idle",e.comments=[...e.comments.filter(r=>r.idArticle!==i.payload.idArticle),{idArticle:i.payload.idArticle,list:i.payload.list.reverse()}]}).addCase(U.rejected,e=>{e.loading="idle"}).addCase(jt.pending,(e,i)=>{e.comments=e.comments.map(r=>r.idArticle!==i.meta.arg.idArticle?r:{...r,list:r.list.map(a=>a.id===i.meta.arg.idComment?{...a,pending:!0}:a)})}).addCase(jt.rejected,(e,i)=>{e.comments=e.comments.map(r=>r.idArticle!==i.meta.arg.idArticle?r:{...r,list:r.list.map(a=>a.id===i.meta.arg.idComment?{...a,pending:!1}:a)})})}}),tn=function(t,e){return[{namespace:"JAMESPOT",function:"comment-create",handler:function(a){a.namespace==="JAMESPOT"&&a.function==="comment-create"&&a.object.idArticle===e&&t(U({idArticle:e}))}},{namespace:"JAMESPOT",function:"comment-delete",handler:function(a){a.namespace==="JAMESPOT"&&a.function==="comment-delete"&&Number(a.object.idArticle)===e&&t(U({idArticle:e}))}}]},rn=function(t,e,i){const r=function(a){a.namespace==="CUSTOM-ACTION"&&(a.function==="add"||a.function==="remove")&&a.object.type==="sociallike"&&a.object.targetId&&e?.includes(a.object.targetId)&&t(U({idArticle:i}))};return e?[{namespace:"CUSTOM-ACTION",function:"add",handler:r},{namespace:"CUSTOM-ACTION",function:"remove",handler:r}]:[]},an=d.combineReducers({[_t.name]:_t.reducer}),nn={name:"comment",reducer:an},sn=(t,e,i=0)=>{const r=t.comment.commentList.comments.find(n=>n.idArticle===e),a=r?[...r.list].sort((n,s)=>n.id-s.id):[];return i!==0?a.slice(-i):a},on={slice:nn,actions:{fetchComments:U,deleteComment:jt,..._t.actions},selectors:{commentList:sn},getCommentRTHandlers:tn,getCommentsLikeRTHandlers:rn},ln={loading:"idle",reports:[],page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0,pendingReports:[]},Hi=d.createSlice({name:"contentReport",initialState:ln,reducers:{setTab:(t,e)=>{t.tab=e.payload,t.page=1,t.orders=[],t.filters=[]},setPage:(t,e)=>{t.page=e.payload},setFilters:(t,e)=>{t.filters=e.payload},setOrders:(t,e)=>{t.orders=e.payload}},extraReducers:t=>{t.addCase(se.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(se.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.reports=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(se.rejected,e=>{e.loading=="pending"&&(e.loading="idle")}).addCase(oe.pending,(e,i)=>{const r=e.reports.find(a=>a.uri===i.meta.arg.uri);r&&(e.pendingReports=[...e.pendingReports,{...r,requestId:i.meta.requestId}],e.reports=e.reports.map(a=>a.uri!==i.meta.arg.uri?a:{...a,status:i.meta.arg.status}))}).addCase(oe.fulfilled,(e,i)=>{e.pendingReports=e.pendingReports.filter(r=>r.requestId!==i.meta.requestId)}).addCase(oe.rejected,(e,i)=>{const r=e.pendingReports.find(a=>a.requestId===i.meta.requestId);r&&(e.reports=e.reports.map(a=>a.id!==r.id?a:r),e.pendingReports=e.pendingReports.filter(a=>a.requestId!==i.meta.requestId))})}}),se=d.createAsyncThunk("contentReport/fetchReports",async(t,{rejectWithValue:e,extra:i,dispatch:r,getState:a})=>{const n=a().contentReport,s=a().userCurrent?.id;try{const o=n.tab==="my"&&s?[...n.filters,{name:"idUser",value:s}]:[...n.filters],c=n.orders.length>0?n.orders:[{name:"dateCreation",sort:"DESC"}];return(await i.jApi.contentReport.getReports({filters:o,orders:c,page:n.page,limit:n.limit})).result}catch(o){return b(o)||r(g.actions.error({label:T(o)})),e({error:1,errorMsg:"Cannot fetch pads"})}}),oe=d.createAsyncThunk("contentReport/updateStatus",async(t,{dispatch:e,rejectWithValue:i,extra:r})=>{try{return await r.jApi.contentReport.updateStatus(t),e(g.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(a){return b(a)||e(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),dn=t=>t.contentReport,cn={slice:Hi,actions:{fetchReports:se,updateStatus:oe},selectors:{selectContentReport:dn}},O={route:"extra-bot",moduleName:"ExtraBotHook",configurationType:"extraBot",listLimit:20,listDefaultPage:1},un={global:{loading:"idle"},listAll:{loading:"idle",data:[],limit:O.listLimit,nbResults:0,page:O.listDefaultPage,filters:[],orders:[]},listMines:{loading:"idle",data:[],limit:O.listLimit,nbResults:0,page:O.listDefaultPage,filters:[],orders:[]},formModal:{open:!1,mode:"create",type:"all",extraBot:void 0}},X=d.createAsyncThunk("extraBot/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=a().extraBot.listAll;try{return(await e.jApi.extraBot.list("all",{limit:n.limit,page:n.page,filters:n.filters,orders:n.orders})).result}catch(s){return b(s)||r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),le=d.createAsyncThunk("extraBot/fetchMines",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=a().extraBot.listMines;try{return(await e.jApi.extraBot.list("mines",{limit:n.limit,page:n.page,filters:n.filters,orders:n.orders})).result}catch(s){return b(s)||r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),de=d.createAsyncThunk("extraBot/toggleActivation",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{const a=!t.enabled,n=(await e.jApi.article.update({...t,enabled:a},{format:m.Format.VIEW})).result;return n.enabled!==t.enabled?(r(g.actions.success({label:a?"APP_ExtraBot_Toast_ActivationSuccess":"APP_ExtraBot_Toast_DeactivationSuccess"})),r(X())):r(g.actions.error({label:"APP_ExtraBot_Toast_FailedToChangeActivation"})),n}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Failed to change extra bot activation"})}}),ce=d.createAsyncThunk("extraBot/save",async({extraBot:t},{extra:e,rejectWithValue:i,dispatch:r})=>{try{const a={...t,type:O.configurationType,publishTo:""};let n,s;if(delete a.avatar,t.uri)n=(await e.jApi.article.update(a,{format:m.Format.VIEW})).result,s=(await e.jApi.extraBot.updateBot(n.uri)).result;else{if(n=(await e.jApi.article.create({...a},{format:m.Format.VIEW})).result[0],!n)throw new Error("ExtraBot configuration creation failed");s=(await e.jApi.extraBot.createBot(n.uri)).result,n._user=s}const o=t.uri?"APP_ExtraBot_Toast_SaveEdit":"APP_ExtraBot_Toast_SaveCreate";return r(g.actions.success({label:o})),n}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot retrieve extra bot"})}}),Gi=(t,e,i,r)=>{const a=t.listAll.data.find(s=>s.uri===e),n=t.listMines.data.find(s=>s.uri===e);a&&(a[i]=r),n&&(n[i]=r)},Pt=d.createSlice({name:"extraBot",initialState:un,reducers:{setListAllOrder:(t,e)=>{t.listAll.orders=[...e.payload],t.listAll.page=O.listDefaultPage},setListAllFilter:(t,e)=>{t.listAll.filters=[...e.payload],t.listAll.page=O.listDefaultPage},setListAllPage:(t,e)=>{t.listAll.page=e.payload},setListMinesOrder:(t,e)=>{t.listMines.orders=[...e.payload],t.listMines.page=O.listDefaultPage},setListMinesFilter:(t,e)=>{t.listMines.filters=[...e.payload],t.listMines.page=O.listDefaultPage},setListMinesPage:(t,e)=>{t.listMines.page=e.payload},openFormModal:(t,e)=>{t.formModal.open=!0,t.formModal.mode=e.payload.mode,t.formModal.type=e.payload.type,t.formModal.extraBot=e.payload.extraBot},closeFormModal:t=>{t.formModal.open=!1}},extraReducers:t=>{t.addCase(X.pending,e=>{e.listAll.loading="pending"}).addCase(X.fulfilled,(e,i)=>{e.listAll.data=i.payload.data,e.listAll.nbResults=i.payload.cnt,e.listAll.limit=i.payload.limit??O.listLimit,e.listAll.page=i.payload.page,e.listAll.loading="idle"}).addCase(X.rejected,e=>{e.listAll.loading="idle"}).addCase(le.pending,e=>{e.listMines.loading="pending"}).addCase(le.fulfilled,(e,i)=>{e.listMines.data=i.payload.data,e.listMines.nbResults=i.payload.cnt,e.listMines.limit=i.payload.limit??O.listLimit,e.listMines.page=i.payload.page,e.listMines.loading="idle"}).addCase(le.rejected,e=>{e.listMines.loading="idle"}).addCase(de.pending,e=>{e.global.loading="pending"}).addCase(de.fulfilled,(e,i)=>{e.global.loading="idle";const r=i.payload;Gi(e,r.uri,"enabled",r.enabled)}).addCase(de.rejected,e=>{e.global.loading="idle"}).addCase(ce.pending,e=>{e.global.loading="pending"}).addCase(ce.fulfilled,(e,i)=>{e.global.loading="idle",e.formModal.open=!1}).addCase(ce.rejected,e=>{e.global.loading="idle"})}}),Xi=t=>t.extraBot.listAll,Ji=t=>t.extraBot.listMines,pn={slice:Pt,actions:{fetchExtraBotListAll:X,fetchExtraBotListMines:le,toggleExtraBotActivation:de,saveExtraBot:ce,...Pt.actions},selectors:{selectExtraBotListAll:Xi,selectExtraBotListMines:Ji}},gn={loading:"idle",access:{createCategory:!1}},Ze=d.createAsyncThunk("faqConfig/fetch",async(t,{extra:e})=>{try{const[i,r]=await Promise.all([await e.jApi.faq.getHookProperties(["_web","appImage","appImageText","_displayComment"]),await e.jApi.faq.getAccess()]);return{_web:i.result._web,appImage:i.result.appImage,appImageText:i.result.appImageText,access:r.result,_displayComment:i.result._displayComment}}catch(i){if(i.error===403)return{_web:"0"};throw i}}),bi=d.createSlice({name:"config",initialState:gn,reducers:{},extraReducers:t=>{t.addCase(Ze.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(Ze.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),i.payload._web!==void 0&&(e._web=i.payload._web),i.payload.appImage&&(e.appImage=i.payload.appImage),i.payload.appImageText&&(e.appImageText=i.payload.appImageText),i.payload.access&&(e.access=i.payload.access),i.payload._displayComment!==void 0&&(e._displayComment=i.payload._displayComment),e)).addCase(Ze.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),fn={loading:"idle",categories:null},et=d.createAsyncThunk("faqCategories/fetch",async(t,{extra:e})=>({categories:(await e.jApi.faq.getCategoriesList()).result.data})),hi=d.createSlice({name:"categories",initialState:fn,reducers:{},extraReducers:t=>{t.addCase(et.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(et.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.categories=i.payload.categories,e)).addCase(et.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),mn=d.combineReducers({[bi.name]:bi.reducer,[hi.name]:hi.reducer}),yn={name:"faq",reducer:mn},An=t=>t.faq.config,Sn=t=>t.faq.categories,Tn={slice:yn,actions:{fetchFaqConfig:Ze,fetchFaqCategories:et},selectors:{selectFaqConfig:An,selectFaqCategories:Sn}},ue={listLimit:50,listDefaultPage:1},Cn={list:{loading:"idle",data:[],limit:ue.listLimit,nbResults:0,page:ue.listDefaultPage,filters:[],orders:[{name:"dateCreation",sort:"DESC"}]},action:{loading:"idle"}},pe=d.createAsyncThunk("fileIntegrity/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=a().fileIntegrity.list;try{return(await e.jApi.fileIntegrity.list({limit:n.limit,page:n.page,filters:n.filters,orders:n.orders})).result}catch(s){return b(s)||r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Cannot retrieve file integrity list"})}}),ge=d.createAsyncThunk("fileIntegrity/releaseQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.fileIntegrity.release(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot release quarantined file"})}}),fe=d.createAsyncThunk("fileIntegrity/deleteQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return(await e.jApi.fileIntegrity.delete(t)).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot delete quarantined file"})}}),Nt=d.createSlice({name:"fileIntegrity",initialState:Cn,reducers:{setListOrder:(t,e)=>{t.list.orders=[...e.payload],t.list.page=ue.listDefaultPage},setListFilter:(t,e)=>{t.list.filters=[...e.payload],t.list.page=ue.listDefaultPage},setListPage:(t,e)=>{t.list.page=e.payload}},extraReducers:t=>{t.addCase(pe.pending,e=>{e.list.loading="pending"}).addCase(pe.fulfilled,(e,i)=>{e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt,e.list.limit=i.payload.limit??ue.listLimit,e.list.page=i.payload.page,e.list.loading="idle"}).addCase(pe.rejected,e=>{e.list.loading="idle"}).addCase(ge.pending,e=>{e.action.loading="pending"}).addCase(ge.fulfilled,e=>{e.action.loading="idle"}).addCase(ge.rejected,e=>{e.action.loading="idle"}).addCase(fe.pending,e=>{e.action.loading="pending"}).addCase(fe.fulfilled,e=>{e.action.loading="idle"}).addCase(fe.rejected,e=>{e.action.loading="idle"})}}),Ki=t=>t.fileIntegrity.action,Yi=t=>t.fileIntegrity.list,En={slice:Nt,actions:{deleteQuarantine:fe,fetchFileIntegrityList:pe,releaseQuarantine:ge,...Nt.actions},selectors:{selectFileIntegrityAction:Ki,selectFileIntegrityList:Yi}},bn=t=>t?Object.keys(t).filter(e=>t[e]):[],wi=d.createSlice({name:"hooks",initialState:{},reducers:{initHooks:(t,{payload:e})=>e}}),hn=t=>t.hooks,wn=(t,e)=>t.hooks[e],vn=(t,e)=>!!t.hooks[e]?.hasLicense,Ln={slice:wi,actions:wi.actions,selectors:{selectHooks:hn,selectHook:wn,hasHookLicense:vn},utils:{buildDrivesArrayFromObject:bn}},ai=t=>{const e=t.urlToJland;if(!e)return;const i=/(https:\/\/[^/]+)\/.*/g.exec(e);if(i)return i[1]},ni=(t,e,i)=>`${i}/map/${e}/${t.uri}`,B=d.createAsyncThunk("/fetchMaps",async({jlandUrlBase:t,retrieveAllMaps:e},{extra:i})=>{const r=i.jApi,a=await r.network.getHostname();return await new Promise((n,s)=>{const o={type:"jlandmap"};(e?r.jland.getAllMapsAsAdmin():r.article.list(o,{format:"raw-list",formatExtension:["licenses"]})).then(p=>{const f=p.result.data.map(u=>{const S={...u};return S.urlToJland=ni(u,a,t),S});n(f)}).catch(p=>{p.error&&s(p),s({error:1,errorMsg:"Error retrieving maps"})})})}),$=d.createAsyncThunk("/fetchAvailableLicenses",async(t,{extra:e})=>{const i=e.jApi;return await new Promise((r,a)=>{i.admin.license.getLicensesNotAssigned("jlandmap").then(n=>{r(n.result)}).catch(n=>{if(n.error){a(n);return}a({error:1,errorMsg:"Error while retrieving licenses not assigned"})})})}),tt=d.createAsyncThunk("/unassignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:r})=>{const a=i.jApi,n=ai(t);return n?await new Promise((s,o)=>{a.admin.license.unAssignLicense(t.uri).then(c=>{c.result&&(r($()),r(B({jlandUrlBase:n,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){o(c);return}o({error:1,errorMsg:"Error unassign license"})})}):!1}),it=d.createAsyncThunk("/deleteLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:r})=>{const a=i.jApi,n=ai(t);return n?await new Promise((s,o)=>{a.article.delete(t.id).then(c=>{s(c.result),r(B({jlandUrlBase:n,retrieveAllMaps:e})),r($())}).catch(c=>{if(c.error){o(c);return}o({error:1,errorMsg:c.errorMsg+""})})}):!1}),me=d.createAsyncThunk("/assignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:r})=>{const a=ai(t);if(!a)return!1;const n=i.jApi;return await new Promise((s,o)=>{n.admin.license.assignLicense(t.uri).then(c=>{c.result&&(r($()),r(B({jlandUrlBase:a,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){o(c);return}o({error:1,errorMsg:"Error assign license"})})})}),vi=d.createSlice({name:"jLandMapList",initialState:{maps:[],availableLicenses:{},loading:"idle",loadingAvailableLicenses:"idle",loadingLicenseOperation:{},loadingMapDeletion:"idle"},reducers:{},extraReducers:t=>{t.addCase(B.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(B.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.maps=i.payload)}).addCase(B.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase($.pending,e=>{e.loadingAvailableLicenses==="idle"&&(e.loadingAvailableLicenses="pending")}).addCase($.fulfilled,(e,i)=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle",e.availableLicenses=i.payload)}).addCase($.rejected,e=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle")}).addCase(me.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(me.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(me.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(tt.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(tt.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(tt.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(it.pending,e=>{e.loadingMapDeletion="pending"}).addCase(it.fulfilled,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")}).addCase(it.rejected,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")})}}),In={title:"",type:"",flavor:"",url:"",audience:[],illustration:"",assignLicense:!1},Li={map:{...In},loading:"idle",status:void 0,msg:void 0},rt=d.createAsyncThunk("mapCreate/create",async({map:t,jlandUrlBase:e},{extra:i,dispatch:r})=>{const a={title:t.title,publishTo:t.audience.reduce((s,o,c,p)=>(o.uri&&(s+=o.uri,c<p.length-1&&(s+=",")),s),""),jlandMapAggregated:t.type,type:"jlandmap"},n=i.jApi;return await new Promise((s,o)=>{n.article.create(a,{format:"raw-list",formatExtension:["licenses"]}).then(async c=>{if(c.error){o({error:1,errorMsg:c.errorMsg});return}const p=c.result[0]?{...c.result[0],urlToJland:void 0}:void 0;if(t.assignLicense&&p!==void 0){const y=await n.network.getHostname();p.urlToJland=ni(p,y,e),r(me({map:p,retrieveAllMaps:!1}))}s(c.result)}).catch(()=>{o({error:1,errorMsg:"Error assign license"})})})}),Wt=d.createSlice({name:"mapCreate",initialState:Li,reducers:{setMap:(t,e)=>{t.map=e.payload},resetCreateMapState:()=>Li},extraReducers:t=>{t.addCase(rt.pending,e=>{e.loading="pending"}).addCase(rt.fulfilled,e=>{e.loading="idle",e.status="success"}).addCase(rt.rejected,(e,i)=>{e.msg=i.error.message??void 0,e.status="error",e.loading="idle"})}}),kn=function(e){return e.jland.jLandMapList.maps},On=function(e){return e.jland.jLandMapList.availableLicenses},Rn=function(e){return e.jland.mapCreate},Dn=d.combineReducers({[vi.name]:vi.reducer,[Wt.name]:Wt.reducer}),Mn={name:"jland",reducer:Dn},xn={slice:Mn,actions:{...Wt.actions,assignLicense:me,unassignLicense:tt,deleteJlandMap:it,fetchJLandMaps:B,fetchJLandAvailableLicenses:$,createMap:rt},selectors:{selectJLandMaps:kn,selectJLandAvailableLicenses:On,selectMapCreate:Rn},utils:{buildUrlToJland:ni}},jn={loading:"idle",pads:[],query:"",page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0},zi=d.createSlice({name:"magicPad",initialState:jn,reducers:{setTab:(t,e)=>{t.tab=e.payload,t.page=1,t.orders=[],t.filters=[]},setQuery:(t,e)=>{t.query=e.payload,t.page=1,t.orders=[],t.filters=[]},setPage:(t,e)=>{t.page=e.payload},setFilters:(t,e)=>{t.filters=e.payload},setOrders:(t,e)=>{t.orders=e.payload}},extraReducers:t=>{t.addCase(ye.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ye.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.pads=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(ye.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),ye=d.createAsyncThunk("magicPad/fetchPads",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{try{const n=a().magicPad,s=n.page,o=n.query,c=[...n.filters,...n.tab==="my"?[{name:"idUser",value:t.idUserLogged}]:[]],p=n.orders.length>0?n.orders:[{name:"dateCreation",sort:"DESC"}];return(await e.jApi.article.list({type:"magicpad",limit:n.limit,page:s,query:o,orders:p,filters:c},{format:"raw-view"})).result}catch(n){return r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),_n=t=>t.magicPad,Pn={slice:zi,actions:{fetchPads:ye},selectors:{selectMagicPad:_n}},Ft={typeMediaLibraryFolder:"mediaLibraryFolder",typeMediaLibraryFile:"mediaLibraryFile"},Nn=18,Wn=12,Fn=18,Un={loading:"idle",nbResults:0,query:"",folders:{loading:"idle",list:[],page:1,totalPages:0},foldersAll:{loading:"idle",list:[]},folderFiles:{loading:"idle",list:[],page:1,totalPages:0},unclassifiedFiles:{loading:"idle",list:[],page:1,totalPages:0,nbResults:0},mediaLibraryAccess:!1,stats:null,foldersStats:{loading:!1,pager:null},filesStats:{loading:!1,pager:null}},si=d.createSlice({name:"mediaLibrary",initialState:Un,reducers:{removeFileFromFolder(t,e){return{...t,folderFiles:{...t.folderFiles,list:t.folderFiles.list.filter(i=>i.id!==e.payload)}}},removeUnclassifiedFile(t,e){t.unclassifiedFiles.list=t.unclassifiedFiles.list.filter(i=>i.id!==e.payload)}},extraReducers:t=>{t.addCase(Ae.pending,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="pending":e.folders.loading="pending"}).addCase(Ae.fulfilled,(e,i)=>{const r=i?.meta?.arg?.noLimit??!1,a=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=i.payload.result.page,s=i.meta.arg.query??"";r?e.foldersAll={loading:"idle",list:i.payload.result.data}:(e.query!==s?(e.folders.list=i.payload.result.data,e.folders.page=1):(e.folders.list=i.payload.result.data,e.folders.page=n),e.folders.totalPages=Math.ceil(i.payload.result.cnt/a)),e.folders.loading="idle",e.query=s}).addCase(Ae.rejected,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="idle":e.folders.loading="idle"}).addCase(Se.pending,(e,i)=>{i.meta.arg.page==1&&(e.folderFiles.list=[]),e.folderFiles.loading="pending"}).addCase(Se.fulfilled,(e,i)=>{const r=i.payload.result.page,a=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=Math.ceil(i.payload.result.cnt/a);r>1?e.folderFiles.list.push(...i.payload.result.data):e.folderFiles.list=i.payload.result.data,e.folderFiles.page=r,e.folderFiles.totalPages=n,e.folderFiles.loading="idle"}).addCase(Se.rejected,e=>{e.folderFiles.loading="idle"}).addCase(Te.pending,e=>{e.unclassifiedFiles.loading="pending"}).addCase(Te.fulfilled,(e,i)=>{const r=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,a=i.payload.result.page,n=Math.ceil(i.payload.result.cnt/r),s=i.meta.arg.query??e.query??"";e.query!==s||a===1?(e.unclassifiedFiles.list=i.payload.result.data,e.unclassifiedFiles.page=1):(e.unclassifiedFiles.list.push(...i.payload.result.data),e.unclassifiedFiles.page=a),e.unclassifiedFiles.totalPages=n,e.unclassifiedFiles.loading="idle",e.query=s}).addCase(Te.rejected,e=>{e.unclassifiedFiles.loading="idle"}).addCase(Ce.fulfilled,(e,i)=>{e.loading="idle",e.mediaLibraryAccess=i.payload?.result??!1}).addCase(Ce.rejected,e=>{e.loading="idle",e.mediaLibraryAccess=!1}).addCase(Ce.pending,e=>{e.loading="pending",e.mediaLibraryAccess=!1}).addCase(he.fulfilled,(e,i)=>{e.loading="idle",e.stats={...i.payload?.result}}).addCase(he.rejected,e=>{e.loading="idle",e.stats=null}).addCase(he.pending,e=>{e.loading="pending"}).addCase(Ee.fulfilled,(e,i)=>{e.foldersStats={loading:!1,pager:i.payload?.result}}).addCase(Ee.rejected,e=>{e.foldersStats={loading:!1,pager:null}}).addCase(Ee.pending,e=>{e.foldersStats.loading=!0}).addCase(be.fulfilled,(e,i)=>{e.filesStats={loading:!1,pager:i.payload?.result}}).addCase(be.rejected,e=>{e.filesStats={loading:!1,pager:null}}).addCase(be.pending,e=>{e.filesStats.loading=!0})}}),Ae=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFolders",async({page:t=1,noLimit:e=!1,query:i},{extra:r,rejectWithValue:a,dispatch:n,getState:s})=>{const o={type:Ft.typeMediaLibraryFolder,page:t,orders:[{name:"title",sort:"ASC"}]};e||(o.limit=Wn);try{const c=s().mediaLibrary;return o.query=i??c.query,await r.jApi.article.list(o,{format:"raw-list"})}catch(c){return n(g.actions.error({label:T(c)})),a({error:1,errorMsg:"Cannot retrieve folders"})}}),Se=d.createAsyncThunk("MediaLibrary/fetchFolderFiles",async({folderId:t,page:e},{extra:i,rejectWithValue:r,dispatch:a})=>{const n={type:Ft.typeMediaLibraryFile,page:e,limit:Fn,filters:[{name:"mediaLibraryFolderOrientedLinks",value:{targetId:t,targetType:Ft.typeMediaLibraryFolder}}],format:"raw-list",orders:[{name:"title",sort:"ASC"}]};try{return await i.jApi.article.list(n)}catch(s){return a(g.actions.error({label:T(s)})),r({error:1,errorMsg:`Cannot retrieve files for folder ${t}`})}}),Te=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryUnclassifiedFiles",async({page:t,query:e},{extra:i,rejectWithValue:r,dispatch:a,getState:n})=>{try{const s=n().mediaLibrary,o=e??s.query;return await i.jApi.mediaLibrary.GetUnclassifiedFiles({page:t,limit:Nn,query:o})}catch(s){return a(g.actions.error({label:T(s)})),r({error:1,errorMsg:"Cannot retrieve UnclassifiedFiles"})}}),Ce=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryConfig",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return await e.jApi.mediaLibrary.getAccess()}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot get MediaLibrary Config"})}}),Ee=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFoldersStats",async({page:t,filters:e,orders:i},{extra:r,rejectWithValue:a,dispatch:n})=>{try{return await r.jApi.mediaLibrary.getFoldersStatsList(e,i,t)}catch(s){return n(g.actions.error({label:T(s)})),a({error:1,errorMsg:"Cannot get MediaLibrary folders stats"})}}),be=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFilesStats",async({page:t,filters:e,orders:i},{extra:r,rejectWithValue:a,dispatch:n})=>{try{return await r.jApi.mediaLibrary.getFilesStatsList(e,i,t)}catch(s){return n(g.actions.error({label:T(s)})),a({error:1,errorMsg:"Cannot get MediaLibrary files stats"})}}),he=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryStats",async(t,{extra:e,rejectWithValue:i,dispatch:r})=>{try{return await e.jApi.mediaLibrary.getStats()}catch(a){return r(g.actions.error({label:T(a)})),i({error:1,errorMsg:"Cannot get MediaLibrary stats"})}}),Bn=t=>t.mediaLibrary,$n=t=>t.mediaLibrary.stats,qn=t=>t.mediaLibrary.foldersStats,Vn=t=>t.mediaLibrary.filesStats,Hn=t=>t.mediaLibrary.folders,Gn=t=>t.mediaLibrary.foldersAll,Xn=t=>t.mediaLibrary.folderFiles,Jn=t=>t.mediaLibrary.unclassifiedFiles,Kn=si.reducer,Yn={slice:si,actions:{fetchMediaLibraryFolders:Ae,fetchFolderFiles:Se,fetchMediaLibraryUnclassifiedFiles:Te,fetchMediaLibraryConfig:Ce,fetchMediaLibraryStats:he,fetchMediaLibraryFilesStats:be,fetchMediaLibraryFoldersStats:Ee},selectors:{selectMediaLibrary:Bn,selectMediaLibraryStats:$n,selectMediaLibraryFoldersStats:qn,selectMediaLibraryFilesStats:Vn,selectFolders:Hn,selectFolderAll:Gn,selectFolderFiles:Xn,selectUnclassifiedFiles:Jn}},z=d.createEntityAdapter({selectId:t=>t.type,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),zn=(t,e)=>{const i={from:"imagestatic",size:e??"fitx600",uri:`icons/${t?.icon??"article"}-white`};return m.formatImgUrl(i)},Qn=t=>`icon-${{actionplan:"fs-actionplan",animatedMeeting:"fs-animated_meeting",articleWidget:"star",album:"images",article:"file-lines",businessDirectory:"building",client:"hammer",document:"file-arrow-down",diffgroup:"group",event:"calendar-days",goal:"bullseye-arrow",idea:"fs-idea","intranet-page":"fs-intranet",lab:"flask",magicpad:"draftio",boardCard:"square-list",boardList:"square-list",board:"square-list",meeting:"calendar-days",news:"newspaper",platform:"hammer",poll:"square-poll-vertical",process:"fs-process",question:"circle-question",search:"block-question","secure-document":"file-lock",surveyDate:"calendar-check",support:"headset",targetInfo:"message-exclamation",task:"list-check",tender:"bullhorn",url:"link","weDoc-docx":"file-word","weDoc-xlsx":"file-excel","weDoc-pptx":"file-powerpoint",wiki:"fs-wiki",workgroup:"fs-workgroup"}[t]??t}`,Ii=d.createSlice({name:"models",initialState:z.getInitialState(),reducers:{addOne:z.addOne,addMany:z.addMany,setAll:z.setAll}}),Zn=z.getSelectors(t=>t.entities.models),es={getModelIconSrc:zn,getModelFontAwesomeIcon:Qn},ts=(t,e)=>e.map(i=>t.entities.models.entities[i]).filter(i=>!!i),Qi={slice:Ii,actions:{...Ii.actions},utils:es,selectors:{...Zn,selectByIds:ts}},is={},Ut=d.createSlice({name:"statics",initialState:is,reducers:{initNetworkStatics:(t,{payload:e})=>e}}),rs=d.combineReducers({[Ut.name]:Ut.reducer}),as={name:"network",reducer:rs},ns=t=>t.network.statics,ss=t=>t.network.statics.networkPublic,os=t=>t.network.statics.networkMe,ls={slice:as,actions:{...Ut.actions},selectors:{selectNetworkStatics:ns,selectNetworkPublic:ss,selectNetworkMe:os}},ds={userAccountStatus:0,sendAlert:0},Zi=d.createSlice({name:"config",initialState:ds,reducers:{initPlatformConfig:(t,{payload:e})=>e}}),cs=d.combineReducers({config:Zi.reducer}),us={name:"platform",reducer:cs},ps=t=>t.platform.config,gs=t=>t.platform.config.userHighlightFields,fs=t=>t.platform.config.userAccountStatus,ms=t=>t.platform.config.urlBase,ys={slice:us,actions:{...Zi.actions},selectors:{selectPlatformConfig:ps,selectUserHighlightFields:gs,selectUserAccountStatus:fs,selectUrlBase:ms}},at=d.createAsyncThunk("/fetchRequest",async({uri:t,idUser:e},{extra:i})=>await i.jApi.object.getAccessRequest(t,e)),As={entities:[],nbEntities:0,loading:"idle"},Ss=d.createSlice({name:"share",initialState:As,reducers:{remove:(t,e)=>{t.entities=[...t.entities.filter(i=>i.id!==e.payload)]}},extraReducers:t=>{t.addCase(at.pending,e=>{e.loading="pending"}).addCase(at.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result}).addCase(at.rejected,e=>{e.loading="idle"})}}),Ts={slice:Ss,selectors:{requests:t=>({loading:t.share.loading,entities:t.share.entities})},actions:{fetchRequest:at}},N=d.createEntityAdapter({selectId:t=>`${t.targetId}-${t.type}`}),ki=d.createSlice({name:"socialActions",initialState:N.getInitialState(),reducers:{addOne:N.addOne,addMany:N.addMany,setAll:N.setAll,clear:N.removeAll,updateOne:N.updateOne}}),Cs=N.getSelectors(t=>t.entities.socialActions),Es={slice:ki,actions:{...ki.actions},selectors:Cs},Oe={ALL:"1",CUSTOM:"0"},q={draft:"draft",installed:"installed",suspended:"suspended"},R={DRAFT:q.draft,INSTALLED:q.installed,SUSPENDED:q.suspended},Et={SOLR:"1",NOT_SOLR:"0"};var Y=(t=>(t.TABLE="table",t.FLUX="flux",t))(Y||{});const wt=["create","popup","edit","filter","list","view"],l={IMAGE:"IMAGE",DESCRIPTION:"DESCRIPTION",TEXT:"TEXT",TEXTAREA:"TEXTAREA",TEXTAREAHTML:"TEXTAREAHTML",DATE:"DATE",DATETIME:"DATETIME",NUMBER:"NUMBER",URL:"URL",EMAIL:"EMAIL",SELECT:"SELECT",CHECKBOX:"CHECKBOX",TOGGLE:"TOGGLE",RADIO:"RADIO",TAGS:"TAGS",ADDFILEATTACHMENT:"ADDFILEATTACHMENT",CODEHTML:"CODEHTML",USERLINK:"USERLINK",CONTENTLINK:"CONTENTLINK",RANGE:"RANGE"},A={TITLE:"TITLE",USER:"USER",PUBLISHTO:"PUBLISHTO",SENDALERTTOSUBSCRIBERS:"SENDALERTTOSUBSCRIBERS",RECEIVEACOPY:"RECEIVEACOPY",CREATIONDATE:"CREATIONDATE"},er={TITLE:"title",USER:"user",PUBLISHTO:"publishTo",SENDALERTTOSUBSCRIBERS:"sendAlert",RECEIVEACOPY:"alertAuthor",CREATIONDATE:"dateCreation"},C={LABEL:"label",DESCRIPTION:"description",RICHTEXT:"richtext",CHECKBOX:"checkbox",OPTIONS_EDITOR:"options_editor",TAXONOMY:"taxonomy",CONTENTTYPE:"contenttype"},bs=[l.DESCRIPTION,l.IMAGE],hs=bs,vt=new Map;vt.set(l.IMAGE,["list","filter","view"]);vt.set(l.CODEHTML,["list","filter","view"]);const F={create:{fixed:[A.TITLE],optional:[A.PUBLISHTO,A.SENDALERTTOSUBSCRIBERS,A.RECEIVEACOPY]},popup:{fixed:[A.TITLE],optional:[A.PUBLISHTO]},edit:{fixed:[A.TITLE],optional:[A.PUBLISHTO]},list:{fixed:[A.TITLE,A.USER],optional:[A.CREATIONDATE]},filter:{fixed:[A.TITLE,A.USER],optional:[A.CREATIONDATE]},view:{fixed:[A.TITLE],optional:[]}},tr=[A.TITLE,A.USER,A.CREATIONDATE,l.DESCRIPTION],ir=[l.DESCRIPTION],oi=ir,ws=[A.TITLE,A.PUBLISHTO,A.SENDALERTTOSUBSCRIBERS,A.RECEIVEACOPY,A.USER,A.CREATIONDATE],rr=[A.USER,A.TITLE],ar=[l.CODEHTML],nr=rr.concat(ar).concat(ir);var sr=(t=>(t.Attr="attr",t.PublishTo="publishTo",t))(sr||{}),or=(t=>(t.Empty="",t.FieldTagDescription="Field_Tag_Description",t.FieldTitleDescription="Field_Title_Description",t.WWWDescCOM="www.desc.com",t))(or||{}),v=[];for(var It=0;It<256;++It)v.push((It+256).toString(16).slice(1));function vs(t,e=0){return(v[t[e+0]]+v[t[e+1]]+v[t[e+2]]+v[t[e+3]]+"-"+v[t[e+4]]+v[t[e+5]]+"-"+v[t[e+6]]+v[t[e+7]]+"-"+v[t[e+8]]+v[t[e+9]]+"-"+v[t[e+10]]+v[t[e+11]]+v[t[e+12]]+v[t[e+13]]+v[t[e+14]]+v[t[e+15]]).toLowerCase()}var Pe,Ls=new Uint8Array(16);function Is(){if(!Pe&&(Pe=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Pe))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Pe(Ls)}var ks=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const Oi={randomUUID:ks};function M(t,e,i){if(Oi.randomUUID&&!t)return Oi.randomUUID();t=t||{};var r=t.random||(t.rng||Is)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,vs(r)}var H=(t=>(t.TITLE="TITLE",t.IMAGE="IMAGE",t.DESCRIPTION="DESCRIPTION",t.IDUSER="IDUSER",t.PUBLISHTO="PUBLISHTO",t.SENDALERTTOSUBSCRIBERS="SENDALERTTOSUBSCRIBERS",t.RECEIVEACOPY="RECEIVEACOPY",t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.TEXTAREAHTML="TEXTAREAHTML",t.DATE="DATE",t.DATETIME="DATETIME",t.RANGE="RANGE",t.NUMBER="NUMBER",t.URL="URL",t.EMAIL="EMAIL",t.SELECT="SELECT",t.CHECKBOX="CHECKBOX",t.TOGGLE="TOGGLE",t.RADIO="RADIO",t.TAGS="TAGS",t.ADDFILEATTACHMENT="ADDFILEATTACHMENT",t.AUDIENCE="AUDIENCE",t.CODEHTML="CODEHTML",t.DATECREATION="DATECREATION",t.USERLINK="USERLINK",t.CONTENTLINK="CONTENTLINK",t))(H||{});function lr(t){const e=t,i=e.manifest,r=n(),a={idApp:e.idApp,status:e.status,studioVersion:2,author:e.author??"",manifest:{appShortName:i.appShortName,appName:i.appName,description:i.description,author:i.author??"",typeLabel:i.typeLabel,cssColor:i.cssColor,cssClass:i.cssClass,version:i.version,dateCreation:new Date(i.dateCreation).toISOString(),viewSolr:i.viewSolr,checkAccess:i.checkAccess,accessRightList:i.accessRightList??"",attrExposed:i.attrExposed},fields:r,views:p(),audience:e.audience??"1",installFor:e.installFor??[]};function n(){const u=[];for(const S of e.form.formItems){const E=s(S.type);u.push({id:S.id,type:E,properties:o(S.properties??{}),mandatory:S.mandatory??!1,views:S.views,isActive:!0,isFixed:!1,isOptional:!1,value:null})}return u}function s(u){return l[u]}function o(u){const S=[],E=u.options&&Object.prototype.hasOwnProperty.call(u,"hasDefaultValue"),h={isRequired:u.mandatory??!1,...E&&{isOptionsEditorEnhanced:!0}};return u.labels&&(S.push({propertyType:C.LABEL,value:u.labels.label?.content??"",...h}),S.push({propertyType:C.DESCRIPTION,value:u.labels.description?.content??"",...h})),u.options&&S.push({propertyType:C.OPTIONS_EDITOR,value:E?{propertyOptions:c(u.options??[]),defaultSelectOptionValue:u.defaultValue,defaultSelectOption:u.hasDefaultValue??!1,canSelectMultiple:u.multiple??!1,userCanModifiyByComment:u.explain??!1}:{propertyOptions:c(u.options??[])},...h}),u.code&&S.push({propertyType:C.RICHTEXT,value:{html:u.code.html,text:u.code.text},...h}),Object.prototype.hasOwnProperty.call(u,"digits")&&S.push({propertyType:C.CHECKBOX,value:u.digits??!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:u.digits}],...h}),Object.prototype.hasOwnProperty.call(u,"taxonomy")&&S.push({propertyType:C.TAXONOMY,value:u.taxonomy??"",...h}),Object.prototype.hasOwnProperty.call(u,"contentType")&&S.push({propertyType:C.CONTENTTYPE,value:u.contentType??"",...h}),S}function c(u){const S=[];for(const E of u)S.push({title:E.label,value:E.value});return S}function p(){return{create:y(e.formItemsViewList.find(u=>u.view=="create").formItemRefs),popup:y(e.formItemsViewList.find(u=>u.view=="popup").formItemRefs),edit:y(e.formItemsViewList.find(u=>u.view=="edit").formItemRefs),list:y(e.formItemsViewList.find(u=>u.view=="list").formItemRefs),filter:y(e.formItemsViewList.find(u=>u.view=="filter").formItemRefs),view:y(e.formItemsViewList.find(u=>u.view=="view").formItemRefs)}}function y(u){const S={};return u.forEach(E=>{const h={isUsed:!0,isFixed:!1,isOptional:!1,properties:[],pos:0,isLockedValue:!!E.fixedValue||!1,value:E.fixedValue??""};if(E.ref===H.TITLE)S[M()]={...h,type:A.TITLE,isFixed:!0};else if(E.ref===H.IDUSER)S[M()]={...h,type:A.USER,isFixed:!0};else if(E.ref===H.PUBLISHTO)S[M()]={...h,type:A.PUBLISHTO,isOptional:!0};else if(E.ref===H.SENDALERTTOSUBSCRIBERS)S[M()]={...h,type:A.SENDALERTTOSUBSCRIBERS,isOptional:!0};else if(E.ref===H.RECEIVEACOPY)S[M()]={...h,type:A.RECEIVEACOPY,isOptional:!0};else{const w=f(E);w&&(S[w.id]={type:w.type,...h,properties:w.properties??[]})}}),S}function f(u){const S=e.form.formItems.find(E=>u.ref===E.id||u.ref===E.name);return S?r.find(E=>E.id===S.id):null}return a}function Re(t,e=!0){return{id:M(),type:t,properties:Ds(t),mandatory:!1,views:{create:e,popup:e,edit:e,list:e,filter:e,view:e},isActive:!0,isFixed:!1,isOptional:!1,value:null,isLockedValue:!1}}const Os={type:"taxonomyOpen",id:1,title:"Mots-clés"},Rs={type:"mpArticle",label:"Article"};function Ds(t){switch(t){case l.TEXT:case l.DESCRIPTION:case l.TEXTAREAHTML:case l.DATE:case l.DATETIME:case l.URL:case l.EMAIL:case l.TOGGLE:case l.USERLINK:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""}];case l.ADDFILEATTACHMENT:return[{propertyType:C.LABEL,isRequired:!0,value:""}];case l.CODEHTML:return[{propertyType:C.RICHTEXT,value:""}];case l.TEXTAREA:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""}];case l.NUMBER:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.CHECKBOX,value:!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:!1}]}];case l.SELECT:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.OPTIONS_EDITOR,value:[],isOptionsEditorEnhanced:!0}];case l.CHECKBOX:case l.RADIO:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.OPTIONS_EDITOR,value:[]}];case l.TAGS:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.TAXONOMY,value:{...Os}}];case l.CONTENTLINK:return[{propertyType:C.LABEL,isRequired:!0,value:""},{propertyType:C.DESCRIPTION,value:""},{propertyType:C.CONTENTTYPE,value:{...Rs}}];default:return[]}}function L(t,e){const i={...Re(t,!1),id:e.name,mandatory:e.mandatory};return i.properties[0].value=e.label,i.properties[1].value=e.description,i}function dr(t){const e=[];return Object.keys(t).forEach(i=>{e.push({title:t[i],value:i})}),e}function Ms(t){const e={...Re(l.ADDFILEATTACHMENT,!1),id:t.name,mandatory:t.mandatory};return e.properties[0].value=t.label,e}function xs(t){const e={...Re(l.CODEHTML,!1),id:t.name},i=t.properties.code;return typeof i=="object"&&i?.html&&typeof i.html=="string"?e.properties[0].value=i.html:typeof i=="string"&&(e.properties[0].value=i),e}function js(){return Re(l.IMAGE,!1)}function _s(t){const e=L(l.NUMBER,t);return e.properties[2].value=t.widget.params?.step==="0.01",e}function Ps(t){const e=L(l.TAGS,t);return e.properties[2].value.id=+(t.widget.params?.idTaxonomy??1),e}function Ns(t){const e=L(l.SELECT,t),i=t.widget.params?.defaultValue?{title:t.widget.options[t.widget.params?.defaultValue],value:t.widget.params?.defaultValue}:void 0,r={propertyOptions:dr(t.widget.options),canSelectMultiple:t.widget.multiple==="1",userCanModifiyByComment:t.widget.params?.explain==="1",defaultSelectOption:!!t.widget.params?.defaultValue,defaultSelectOptionValue:i};return e.properties[2].value=r,e}function cr(t){const e=L(l.RADIO,t),i={propertyOptions:dr(t.widget.options)};return e.properties[2].value=i,e}function Ws(t){const e=cr(t);return e.type=l.CHECKBOX,e}function Fs(t,e){const i=L(l.CONTENTLINK,t);i.properties[2].value.type=t.widget.params.types??"mpArticle";const r=e.entities===void 0?void 0:{entities:e.entities},a=r?Qi.selectors.selectById(r,i.properties[2].value.type):void 0;return i.properties[2].value.label=a?.label??"Article",i}function Us(t){return L(l.TEXT,t)}function Bs(t){return L(l.DESCRIPTION,t)}function $s(t){return L(l.TEXTAREAHTML,t)}function qs(t){return L(l.DATE,t)}function Vs(t){return L(l.DATETIME,t)}function Hs(t){return L(l.URL,t)}function Gs(t){return L(l.EMAIL,t)}function Xs(t){return L(l.TOGGLE,t)}function Js(t){return L(l.USERLINK,t)}function Ks(t){return L(l.TEXTAREA,t)}function Ys(t){const{manifest:e,views:i,audience:r,installFor:a}=t;return`<?xml version='1.0' encoding='utf-8'?>
2
2
  <Application>
3
3
  ${zs(e,i,r,a,t.idApp)}
4
4
  <Types>
@@ -110,4 +110,4 @@
110
110
  </params>
111
111
  </widget>`}default:return""}}function Ri(t,e){const i=t?.find(r=>r.propertyType===e);if(i){const r=i.value.replaceAll('"',"&quot;");return`${e.toLowerCase()}="${r}"`}return""}function ao(t,e){switch(t){case l.DESCRIPTION:return"Description";case A.USER:return"IdUser";default:return di(e)}}function no(t){switch(t){case l.DESCRIPTION:case l.TEXT:case l.TEXTAREA:case l.TEXTAREAHTML:case l.URL:case l.EMAIL:case l.USERLINK:case l.CONTENTLINK:case l.NUMBER:case l.ADDFILEATTACHMENT:return"text";case l.DATE:case l.DATETIME:return"date";case A.USER:return"integer";case l.SELECT:case l.RADIO:case l.TOGGLE:case l.CHECKBOX:case l.TAGS:return"string";default:return""}}function so(t){switch(t){default:case l.DESCRIPTION:case l.TEXTAREAHTML:return"html";case l.TAGS:return"taxonomy";case l.TEXT:case l.RADIO:case l.URL:case l.EMAIL:case l.ADDFILEATTACHMENT:case A.USER:case l.USERLINK:case l.CONTENTLINK:return"text";case l.TEXTAREA:case l.CHECKBOX:case l.SELECT:return"longtext";case l.DATE:return"date";case l.DATETIME:return"date";case l.NUMBER:return"float"}}const di=t=>{let e="";for(let i=0;i<t.length;i++){const r=t.charAt(i);r>="0"&&r<="9"?e+=oo(Number(r)):r>="a"&&r<="z"&&(e+=r)}return e},oo=t=>{let e="",i;for(;t>0;)i=(t-1)%26,e=String.fromCharCode(97+i)+e,t=(t-i)/26|0;return e},Di={create:"create",popup:"create-popup",edit:"edit",view:"display"};function lo(t){let e="";return Object.entries(t.views).forEach(([i,r])=>{if(Object.prototype.hasOwnProperty.call(Di,i)){const a=Object.entries(r).filter(n=>n[1].isUsed&&(i!=="view"||n[0]!=="title")).sort((n,s)=>n[1].pos-s[1].pos);e+=`<display view="${Di[i]}${i==="view"&&t.manifest.displayContentLegacyTable?"Disabled":""}" mode="${i==="view"?"view":"form"}">
112
112
  ${a.map(([n,s])=>uo(n,s)).join("")}
113
- </display>`}}),e.length>0&&(e=`<displays type="${t.idApp}">${e}</displays>`),e}function co(t,e){switch(e.type){case A.TITLE:return"title";case A.SENDALERTTOSUBSCRIBERS:return"sendAlert";case A.RECEIVEACOPY:return"alertAuthor";case A.PUBLISHTO:return"publishTo";case A.USER:return"idUser";case A.CREATIONDATE:return"dateCreation";case l.DESCRIPTION:return"description";default:return di(t)}}function uo(t,e){let i="";const r=co(t,e);if(e.isLockedValue){const n={ref:r,fixedValue:e.value};if(i+=`<html><![CDATA[ <!-- <JAMESPOT.STUDIO.FIXED>${JSON.stringify(n)}</JAMESPOT.STUDIO.FIXED> -->`,e.type===A.PUBLISHTO){const s=e.value.map(o=>o.uri).join(",");i+=`<input type="hidden" name="publishTo" value="${s}">`}else if(e.type===A.USER||e.type===l.USERLINK||e.type===l.CONTENTLINK)i+=`<input type="hidden" name="${r}[]" value=${JSON.stringify(e.value.uri)}>`;else if(e.type===l.SELECT)e.properties.find(o=>o.propertyType===C.OPTIONS_EDITOR)?.value.canSelectMultiple?e.value.forEach(c=>{i+=`<input type="hidden" name="${r}[]" value="${c.value}">`}):i+=`<input type="hidden" name="${r}" value="${e.value.value}">`;else if(e.type===l.CHECKBOX)e.value.forEach(o=>{i+=`<input type="hidden" name="${r}[]" value="${o}">`});else if(e.type===l.DATE){const s=new Date(e.value),o=[P(s.getDate()),P(s.getMonth()+1),s.getFullYear()].join("/");i+='<input type="hidden" name="'+r+'" value="'+o+'">'}else if(e.type===l.DATETIME){const s=new Date(e.value),o=`${[P(s.getDate()),P(s.getMonth()+1),s.getFullYear()].join("/")} ${P(s.getHours())}:${P(s.getMinutes())}:${P(s.getSeconds())}`;i+='<input type="hidden" name="'+r+'" value="'+o+'">'}else e.type===l.TAGS?i+=`<input type="hidden" name="${r}" value="${e.value?.map(s=>s.uri)?.join(",")}">`:e.type===l.DESCRIPTION||e.type===l.TEXTAREAHTML?i+=`<input type="hidden" name="${r}" value="${e.value}">`:e.type===A.RECEIVEACOPY?e.value&&(i+='<input type="hidden" name="alertAuthor[jamespot]"><input type="hidden" ng-model="form.alertAuthor" name="alertAuthor[]" value="1">'):e.type===A.SENDALERTTOSUBSCRIBERS?e.value&&(i+='<input type="hidden" name="sendAlert[jamespot]"><input type="hidden" ng-model="form.sendAlert" name="sendAlert[]" value="1">'):i+=`<input type="hidden" name="${r}" value="${e.value}">`;i+="]]></html>"}else switch(e.type){case l.CODEHTML:{const n={id:t,name:t,properties:{code:e.value}};i+=`<html><![CDATA[ <!-- <JAMESPOT.STUDIO.CODEHTML>${JSON.stringify(n)}</JAMESPOT.STUDIO.CODEHTML><JAMESPOT.STUDIO.FIELD_POS>${e.pos}</JAMESPOT.STUDIO.FIELD_POS>-->${e.value}]]></html>`;break}case l.IMAGE:i+="<image />";break;case A.PUBLISHTO:i+="<publishTo />";break;default:i+="<attr name='"+r+"' />";break}return i}function P(t){return t<10?"0"+t:t}const pr={"create-popup":"popup",create:"create",edit:"edit",display:"view",displayDisabled:"view"},Mi=["title","alertAuthor","sendAlert"],po=["edito"];function gr(t,e,i){return Object.assign({},...vt.map(r=>{const a={};let n=[];F[r]?.optional!==void 0&&(n=n.concat(F[r]?.optional??[]));let s=[];F[r]?.fixed!==void 0&&(s=s.concat(F[r]?.fixed??[])),Object.entries(t[r]).forEach(([y,f])=>{f.isFixed&&(a[y]=f,s.splice(s.findIndex(u=>u===f.type),1)),f.isOptional&&(a[y]=f,n.splice(n.findIndex(u=>u===f.type),1))});const o=new Set(s.concat(n)),c={[A.CREATIONDATE]:()=>Cr(!1),[A.TITLE]:()=>bt({fixedValue:void 0}),[A.USER]:()=>Tr(!1),[A.RECEIVEACOPY]:()=>yr({fixedValue:void 0}),[A.SENDALERTTOSUBSCRIBERS]:()=>Ar({fixedValue:void 0}),[A.PUBLISHTO]:()=>Sr({fixedValue:void 0})};o.forEach(y=>{const f=c[y];if(f){const[u,S]=f();a[u]=S}else console.error("ExtraAppFieldsItemViews does not have this field type: "+y)});const p=[];return i.forEach((y,f)=>{const u=y.views[r],S=Object.keys(t[r]).includes(y.id),E=y.type;if(wt.get(E)?.includes(r))return;let h;if(E===l.CODEHTML){const v=y.properties?.find(D=>D.propertyType===C.RICHTEXT);v?.value&&(h=v?.value)}if(E===l.SELECT){const v=y.properties?.find(D=>D.propertyType===C.OPTIONS_EDITOR);if(S){const D=t[r][y.id],Me=D.properties?.find(Gr=>Gr.propertyType===C.OPTIONS_EDITOR),Vr=!!v?.value?.canSelectMultiple,Hr=!!Me?.value?.canSelectMultiple;Vr===Hr&&(h=D.value)}else{const Me=!!v?.isOptionsEditorEnhanced&&v?.value.defaultSelectOption?v?.value.defaultSelectOptionValue:"";Me&&(h=Me)}}if(S){const v=t[r][y.id];a[y.id]={...v,properties:y.properties??v.properties??[],...h!==void 0&&{value:h},isUsed:u,pos:e?.[r]?f:v.pos,isLockedValue:(h!==void 0||v.value!==void 0)&&v.isLockedValue}}else{p.push({id:y.id,idx:f});const v=Object.values(t[r]).filter(D=>!D.isFixed&&!D.isOptional).length;a[y.id]={type:y.type,properties:y.properties??[],isUsed:u,isOptional:!1,isLockedValue:!1,isFixed:!1,value:h??null,pos:e?.[r]?f:v+f}}}),e?.[r]||p.forEach(y=>{const f=a[y.id];f.pos=y.idx+1,Object.keys(a).forEach(u=>{const S=a[u];S&&!Object.values(er).includes(u)&&u!==y.id&&S.pos>=f.pos&&S.pos++})}),{[r]:a}}))}function go(t){return t.map(e=>({id:`${e.type}/${e.id}`,uri:`${e.type}/${e.id}`,shortUri:`${e.type}/${e.id}`,title:e.title,name:e.title,mainType:e.type,type:e.mainType,label:e.type,cssClass:e._cssClass,cssColor:e._cssColor,class:e._cssClass,Pseudo:e.title,_url:e._url}))}function fo(t,e,i){const r=t.typeModel.tables,a=t.typeModel.displays;if(!a)return;const n=new Map;Object.entries(a).forEach(s=>{const[o,c]=s;Object.keys(pr).includes(o)&&mo(e,n,o,c,r,i)}),yo(e,n,t.columns,r,i),Ao(e,n,t.attrExposed,r,i)}function mo(t,e,i,r,a,n){const s=pr[i];if(t.views[s]={},s==="view"){const[o,c]=bt({fixedValue:void 0});t.views[s][o]=c}r.composants.forEach((o,c)=>{let p;if(o.name&&po.includes(o.name))return;const[y,f]=Co(t,e,o,a,n);if(y===-1&&f)switch(f.ref){case"title":{if(s==="view")break;const[u,S]=bt(f);t.views[s][u]=S;break}case"alertAuthor":{const[u,S]=yr(f);t.views[s][u]=S;break}case"sendAlert":{const[u,S]=Ar(f);t.views[s][u]=S;break}case"publishTo":{const[u,S]=Sr(f);t.views[s][u]=S;break}default:console.error("fixed field info with unsupported ref ",f);break}else if(y!==-1){if(p=t.fields[y],!p?.views)throw new Error(`error converting installed app to V2: created field not found in fields array: ${y}, ${f}`);p.views[s]=!0,mr(s,p,t,c,f)}})}function yo(t,e,i,r,a){i&&Object.keys(i).forEach((n,s)=>{fr(t,e,r,"list",n,s,a)})}function Ao(t,e,i,r,a){i.forEach((n,s)=>{fr(t,e,r,"filter",n,s,a)})}function fr(t,e,i,r,a,n,s){switch(a){case"title":{const[o,c]=bt({fixedValue:void 0});t.views[r][o]=c;break}case"iduser":case"idUser":{const[o,c]=Tr();t.views[r][o]=c;break}case"datecreation":case"dateCreation":{const[o,c]=Cr();t.views[r][o]=c;break}default:So(t,e,i,r,a,n,s);break}}function So(t,e,i,r,a,n,s){const o=To(t,e,i,a,s),c=t.fields[o];if(!c?.views)throw new Error(`error converting installed app to V2: unable to handle ${a} in list view`);c.views[r]=!0,mr(r,c,t,n,void 0)}function To(t,e,i,r,a){const n=e.get(r);if(n!==void 0)return n;const[s,o]=$t(t,r,i,a);return e.set(s,o),o}function Co(t,e,i,r,a){if(i.name!==void 0&&i.element==="attr"){if(Mi.includes(i.name))return[-1,{ref:i.name,fixedValue:void 0}];const n=e.get(i.name);if(n!==void 0)return[n,void 0];const[s,o]=$t(t,i.name,r,a);return e.set(s,o),[o,void 0]}else if(i.element==="html"){const n=i.html;if(n===void 0)return console.error("error while parsing studio installed html attr in a view: no html code"),[-1,void 0];if(n.includes("<JAMESPOT.STUDIO.FIXED>")){const s=n.indexOf("<JAMESPOT.STUDIO.FIXED>")+23,o=n.indexOf("</JAMESPOT.STUDIO.FIXED>"),c=n.substring(s,o);try{const p=JSON.parse(c);if(p?.ref.toUpperCase()in A){const S=p.ref.toUpperCase();return[-1,{...p,ref:ur(S)}]}if(Mi.includes(p?.ref))return[-1,p];const y=e.get(p?.ref);if(y!==void 0)return[y,p];const[f,u]=$t(t,p.ref,r,a);return e.set(f,u),[u,p]}catch{return console.error("error while parsing studio installed fixed attr in a view: json parsing failed"),[-1,void 0]}}else if(n.includes("<JAMESPOT.STUDIO.CODEHTML>"))try{const s=n.indexOf("<JAMESPOT.STUDIO.CODEHTML>")+26,o=n.indexOf("</JAMESPOT.STUDIO.CODEHTML>"),c=n.substring(s,o),p=JSON.parse(c),y=e.get(p?.name);if(y!==void 0)return[y,void 0];const f=xs(p),u=t.fields.push(f)-1;return e.set(f.id,u),[u,void 0]}catch{return console.error("error while parsing studio installed codehtml attr in a view: json parsing failed"),[-1,void 0]}else return console.error("error while parsing studio installed html attr in a view: unknown html format"),[-1,void 0]}else if(i.element==="image"){const n=e.get("image");if(n!==void 0)return[n,void 0];const s=js(),o=t.fields.push(s)-1;return e.set("image",o),[o,void 0]}else return i.element==="publishTo"?[-1,{ref:"publishTo",fixedValue:void 0}]:(console.error("error while parsing studio installed attr in a view: unknown attr :O"),[-1,void 0])}function $t(t,e,i,r){const a=Eo(e,i),n=bo(a),s=(function(){switch(n){case l.ADDFILEATTACHMENT:return Ms(a);case l.NUMBER:return _s(a);case l.TAGS:return Ps(a);case l.SELECT:return Ns(a);case l.RADIO:return cr(a);case l.CHECKBOX:return Ws(a);case l.CONTENTLINK:return Fs(a,r);case l.DESCRIPTION:return Bs(a);case l.TEXTAREAHTML:return $s(a);case l.DATE:return qs(a);case l.DATETIME:return Vs(a);case l.URL:return Hs(a);case l.EMAIL:return Gs(a);case l.TOGGLE:return Xs(a);case l.USERLINK:return Js(a);case l.TEXTAREA:return Ks(a);case l.TEXT:default:return Us(a)}})(),o=t.fields.push(s)-1;return[e,o]}function Eo(t,e){let i;for(let r=0;r<e.length&&!i;r++)i=e[r]?.attributes.find(a=>a.name===t);if(!i)throw new Error("error converting installed app to V2: installed field not found in tables "+t);return i}function mr(t,e,i,r,a){e.views&&(e.views[t]=!0,i.views[t][e.id]={type:e.type,properties:e.properties??[],isUsed:!0,isOptional:!1,isLockedValue:!!a?.fixedValue,isFixed:!1,value:a?.fixedValue??null,pos:r})}function bo(t){switch(t.widget.type){case"number":return l.NUMBER;case"taxonomy":return l.TAGS;case"date":return l.DATE;case"datetime":return l.DATETIME;case"select":return l.SELECT;case"radio":return l.RADIO;case"url":return l.URL;case"email":return l.EMAIL;case"file":return l.ADDFILEATTACHMENT;case"checkbox":return t.widget.options?.["1"]==="GLOBAL_Yes"?l.TOGGLE:l.CHECKBOX;case"uri":if(t.widget.params?.views==="user")return l.USERLINK;if(t.widget.params?.views==="article")return l.CONTENTLINK;break;case"textarea":if(t.attrType==="longtext"||t.attrType==="text")return l.TEXTAREA;if(t.attrType==="html")return t.name==="description"?l.DESCRIPTION:l.TEXTAREAHTML;break;case"text":return l.TEXT}throw new Error("error converting installed app to V2: installed field type not recognized for field "+t.name+":"+JSON.stringify(t))}function bt(t,e=!0){return["title",{type:A.TITLE,properties:[],isUsed:e,isOptional:!1,isLockedValue:!!t?.fixedValue,isFixed:!0,value:t?.fixedValue??null,pos:0}]}function yr(t,e=!0){return["alertAuthor",{type:A.RECEIVEACOPY,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:300}]}function Ar(t,e=!0){return["sendAlert",{type:A.SENDALERTTOSUBSCRIBERS,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:200}]}function Sr(t,e=!0){return["publishTo",{type:A.PUBLISHTO,properties:[],isUsed:e,isOptional:!0,isLockedValue:!!t?.fixedValue,isFixed:!1,value:t?.fixedValue??[],pos:100}]}function Tr(t=!0){return["user",{type:A.USER,properties:[],isUsed:t,isOptional:!1,isLockedValue:!1,isFixed:!0,value:null,pos:1}]}function Cr(t=!0){return["dateCreation",{type:A.CREATIONDATE,properties:[],isUsed:t,isOptional:!0,isLockedValue:!1,isFixed:!1,value:null,pos:100}]}function ho(t,e,i){const{version:r,dateCreation:a}=t.manifest,n=t.typeModel,s=Object.assign({},...vt.map(u=>({[u]:{}}))),o=t,c=!!t.columns&&Object.keys(t.columns).length>0,p={idApp:t.idApp,status:qt(t),studioVersion:2,manifest:{appShortName:t.label,appName:t.label,description:t.description,author:t.author,cssColor:n.cssColor??"#392994",cssClass:{label:n.cssClass??"star",value:n.cssClass??"star"},version:r,dateCreation:a,checkAccess:!1,accessRightList:"",attrExposed:[],display:c?Y.TABLE:Y.FLUX,viewSolr:t.view==="solr"?Et.SOLR:Et.NOT_SOLR,typeLabel:n.typeLabel,articlesCount:t.articlesCount??0,displayContentLegacyTable:!!o?.typeModel?.displays?.displayDisabled},fields:[],views:s,installFor:t.accessRightObjectList?go(t.accessRightObjectList):[],audience:t.checkAccess===!1?Oe.ALL:Oe.CUSTOM};fo(t,p,i),p.views=gr(p.views,p.syncViewFieldOrder,p.fields);const y=vo(t.idApp,e);if(!y)return p;const f=Er(y);return f&&(p.inWorkVersion=f),p}function Er(t){if(!t.value)return;const e=JSON.parse(t.value);return e.studioVersion==2?{idApp:t.idApp,studioVersion:2,status:qt(t),manifest:e.manifest,fields:e.fields,views:e.views,syncViewFieldOrder:e.syncViewFieldOrder,audience:e.audience,installFor:e.installFor}:{...lr(e),status:qt(t),migratedFrom:1}}function qt(t){return t.status===m.StudioApplicationStatus.installed?t.suspended?q.suspended:q.installed:q.draft}function vo(t,e){return e.find(r=>r.idApp===t&&r.status===m.StudioApplicationStatus.saved)}function wo(t,e){return!!e.find(i=>i.idApp===t&&i.status===m.StudioApplicationStatus.installed)}function br(t,e){return t.map(r=>{try{return r.status===m.StudioApplicationStatus.installed?ho(r,t,e):wo(r.idApp,t)?void 0:Er(r)}catch(a){console.error(a);return}}).filter(r=>r!==void 0)}const Lo={currentStudioApp:null,fetchCurrentStudioAppStatus:"idle",saveCurrentStudioAppStatus:"idle",installStudioAppStatus:"idle",hasChanged:!1},nt=d.createAsyncThunk("studio/fetchCurrentStudioApp",async({idApp:t,status:e},{extra:i,rejectWithValue:r,getState:a})=>{const n=i.jApi,s={error:1,errorMsg:"Error fetching application"};try{const o=(await n.application.studioGet(t,e)).result,c=br([o],a())[0];return c||r(s)}catch{return r(s)}}),st=d.createAsyncThunk("studio/saveCurrentStudioApp",async(t,{extra:e,rejectWithValue:i,getState:r,dispatch:a})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},o=r().studio.currentStudioApp.currentStudioApp;if(!o)return i(s);const c=JSON.stringify(o);try{await n.application.studioSave(o.idApp,c,"saved"),a(g.actions.success({label:"APPSTUDIO_AppItem_Edition_Saved"}));return}catch(p){return a(g.actions.error({label:T(p)})),i(s)}}),ot=d.createAsyncThunk("studio/installApp",async({callback:t},{extra:e,rejectWithValue:i,getState:r,dispatch:a})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},o=r().studio.currentStudioApp.currentStudioApp;if(!o)return i(s);const c=Ys(o);try{await n.application.studioInstall(c),a(g.actions.success({label:"APPSTUDIO_AppItem_Installed"})),t&&t();return}catch(p){return a(g.actions.error({label:T(p)})),i(s)}}),ht=d.createSlice({name:"currentStudioApp",initialState:Lo,reducers:{setCurrentApp:(t,e)=>{t.currentStudioApp=e.payload},resetCurrentApp:t=>{t.currentStudioApp=null},setHasChanged:(t,e)=>{t.hasChanged=e.payload}},extraReducers:t=>{t.addCase(nt.pending,e=>{e.fetchCurrentStudioAppStatus==="idle"&&(e.fetchCurrentStudioAppStatus="pending")}).addCase(nt.fulfilled,(e,i)=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle"),e.currentStudioApp=i.payload}).addCase(nt.rejected,e=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle")}).addCase(st.pending,e=>{e.saveCurrentStudioAppStatus==="idle"&&(e.saveCurrentStudioAppStatus="pending")}).addCase(st.fulfilled,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(st.rejected,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(ot.pending,e=>{e.installStudioAppStatus==="idle"&&(e.installStudioAppStatus="pending")}).addCase(ot.fulfilled,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")}).addCase(ot.rejected,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")})}});function hr(t,e,i){const r=t.studioVersion!==2?JSON.parse(JSON.stringify(lr(t))):JSON.parse(JSON.stringify(t));if(delete r.inWorkVersion,i)r.manifest.version=r.manifest.version+.1;else{const a=M(),n=`${t.manifest.appName} Copie`;r.idApp=a,r.status=R.DRAFT,r.manifest={...r.manifest,appName:n,appShortName:n,author:e??r.manifest.author??"",dateCreation:new Date().toISOString(),version:.1,articlesCount:0}}return[r,r.idApp]}function Io({author:t,appName:e}){const i=M(),r=Object.assign({},...vt.map(a=>{const n={};return F[a]?.fixed.forEach((s,o)=>{n[M()]={type:s,properties:[],isUsed:!0,isOptional:!1,isFixed:!0,isLockedValue:!1,value:null,pos:o}}),F[a]?.optional.forEach((s,o)=>{n[M()]={type:s,properties:[],isUsed:!0,isOptional:!0,isFixed:!1,isLockedValue:!1,value:s==="SENDALERTTOSUBSCRIBERS"||s==="RECEIVEACOPY"?!0:null,pos:(o+1)*100}}),{[a]:n}}));return{newAppId:i,newStudioApp:{idApp:i,status:R.DRAFT,author:t??"",studioVersion:2,manifest:{appShortName:e,appName:e,author:t??"",description:"",typeLabel:"",cssColor:"#392994",cssClass:{label:"star",value:"star"},version:.1,dateCreation:new Date().toISOString(),viewSolr:Et.SOLR,display:Y.TABLE,checkAccess:!1,accessRightList:"",attrExposed:[],articlesCount:0},syncViewFieldOrder:{create:!0,popup:!0,view:!0,edit:!0,list:!0,filter:!0},fields:[],views:r,audience:Oe.CUSTOM,installFor:[]}}}function Ne(t,e){return t.manifest.appName>e.manifest.appName?1:-1}const ko={loadingStudioAppsList:"idle",deleteStudioAppStatus:"idle",suspendStudioAppStatus:"idle",restartStudioAppStatus:"idle",cloneStudioAppStatus:"idle",createInWorkAppStatus:"idle",createNewStudioAppStatus:"idle"},lt=d.createAsyncThunk("studio/appsList",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=e.jApi;try{const{result:s}=await n.application.studioList(),o=await n.taxonomy.list(),p=(await Promise.allSettled(s.map(async f=>{const u=(await n.application.studioGet(f.idApp,f.status)).result,S=(await n.article.count(f.idApp)).result;return{...u,articlesCount:S}}))).map(f=>f.status==="fulfilled"?f.value:null).reduce((f,u)=>u!==null?f.concat([u]):f,[]),y=br(p,a());return y.forEach(async f=>{f.fields=xi(f.fields,o,t),f.inWorkVersion&&(f.inWorkVersion.fields=xi(f.inWorkVersion.fields,o,t))}),y}catch(s){throw console.error(s),r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Error retrieving applications"})}});function xi(t,e,i){return t.map(r=>{if(r.type!==l.TAGS)return r;const a=JSON.parse(JSON.stringify(r)),n=a.properties?.find(o=>o.propertyType===C.TAXONOMY),s=e.find(o=>o.id===n?.value.id);return s&&n&&(n.value.title=i.formatMessage({id:s.title}),n.value.type=s.type),a})}const dt=d.createAsyncThunk("studio/createApp",async({appName:t,callback:e},{extra:i,dispatch:r,rejectWithValue:a,getState:n})=>{const s=i.jApi,o=n().userCurrent?.uri,{newAppId:c,newStudioApp:p}=Io({appName:t,...o&&{author:o}});try{return await s.application.studioSave(c,JSON.stringify(p),"saved"),r(g.actions.success({label:"APPSTUDIO_StudioApp_Created"})),r(ht.actions.setCurrentApp(p)),e&&e(),p}catch(y){throw r(g.actions.error({label:T(y)})),a({error:1,errorMsg:"Error creating application"})}}),ct=d.createAsyncThunk("studio/deleteApp",async({idApp:t,status:e},{extra:i,rejectWithValue:r,dispatch:a})=>{const n=i.jApi;try{const s=await n.application.studioDelete(t,e);return a(g.actions.success({label:"APPSTUDIO_StudioApp_Deleted"})),s}catch(s){return a(g.actions.error({label:T(s)})),r({error:1,errorMsg:"Error deleting application"})}}),ut=d.createAsyncThunk("studio/suspendStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:r})=>{const a=e.jApi;try{await a.application.studioSuspend(t),r(g.actions.success({label:"APPSTUDIO_AppItem_Suspended"}))}catch(n){throw r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Error suspending application"})}}),pt=d.createAsyncThunk("studio/restartStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:r})=>{const a=e.jApi;try{await a.application.studioRestart(t),r(g.actions.success({label:"APPSTUDIO_AppItem_Restarted"}))}catch(n){throw r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Error restarting application"})}}),gt=d.createAsyncThunk("studio/cloneStudioApp",async({idApp:t,inWork:e},{extra:i,getState:r,rejectWithValue:a,dispatch:n})=>{const s=i.jApi;let o=r().studio.studioAppsList.studioAppsList?.find(u=>u.idApp===t);if(!o)return a({error:1,errorMsg:"Error cloning application"});if(e)if(o.inWorkVersion!==void 0)o=o.inWorkVersion;else return a({error:1,errorMsg:"Error cloning application"});const c=r().userCurrent?.uri,[p,y]=hr(o,c),f=JSON.stringify(p);try{return await s.application.studioSave(y,f,"saved"),n(g.actions.success({label:"APPSTUDIO_AppItem_Cloned"})),p}catch(u){return n(g.actions.error({label:T(u)})),a({error:1,errorMsg:"Error cloning application"})}}),ft=d.createAsyncThunk("studio/createInWorkStudioApp",async({idApp:t},{extra:e,getState:i,rejectWithValue:r,dispatch:a})=>{const n=e.jApi,s=i().studio.studioAppsList.studioAppsList?.find(f=>f.idApp===t);if(!s||![R.INSTALLED,R.SUSPENDED].includes(s.status))return r({error:1,errorMsg:"Error cloning application"});const o=i().userCurrent?.uri,[c,p]=hr(s,o,!0),y=JSON.stringify(c);try{return await n.application.studioSave(p,y,"saved"),a(g.actions.success({label:"APPSTUDIO_AppItem_CreateInWork"})),c}catch(f){return a(g.actions.error({label:T(f)})),r({error:1,errorMsg:"Error creating in work version for application"})}}),Vt=d.createSlice({name:"studioAppsList",initialState:ko,reducers:{setAppsList:(t,e)=>{t.studioAppsList=[...e.payload].sort(Ne)}},extraReducers:t=>{t.addCase(lt.pending,e=>{e.loadingStudioAppsList==="idle"&&(e.loadingStudioAppsList="pending")}).addCase(lt.fulfilled,(e,i)=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle"),e.studioAppsList=[...i.payload].sort(Ne)}).addCase(lt.rejected,e=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle")}).addCase(ct.pending,e=>{e.deleteStudioAppStatus==="idle"&&(e.deleteStudioAppStatus="pending")}).addCase(ct.fulfilled,(e,i)=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.reduce((r,a)=>{const{idApp:n}=i.meta.arg;let{status:s}=i.meta.arg;return s===R.INSTALLED&&(s=R.SUSPENDED),a.idApp===n&&a.status===s?a.inWorkVersion&&a.status===R.SUSPENDED?(a.inWorkVersion.status=R.DRAFT,[...r,a.inWorkVersion]):r:(a.inWorkVersion?.idApp===n&&a.inWorkVersion?.status===s&&delete a.inWorkVersion,[...r,a])},[])??[]}).addCase(ct.rejected,e=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle")}).addCase(ut.pending,e=>{e.suspendStudioAppStatus==="idle"&&(e.suspendStudioAppStatus="pending")}).addCase(ut.fulfilled,(e,i)=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(r=>{const{idApp:a}=i.meta.arg;return r.idApp===a&&(r.status=R.SUSPENDED),r})??[]}).addCase(ut.rejected,e=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle")}).addCase(pt.pending,e=>{e.restartStudioAppStatus==="idle"&&(e.restartStudioAppStatus="pending")}).addCase(pt.fulfilled,(e,i)=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(r=>{const{idApp:a}=i.meta.arg;return r.idApp===a&&(r.status=R.INSTALLED),r})??[]}).addCase(pt.rejected,e=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle")}).addCase(gt.pending,e=>{e.cloneStudioAppStatus==="idle"&&(e.cloneStudioAppStatus="pending")}).addCase(gt.fulfilled,(e,i)=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(Ne)}).addCase(gt.rejected,e=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle")}).addCase(ft.pending,e=>{e.createInWorkAppStatus==="idle"&&(e.createInWorkAppStatus="pending")}).addCase(ft.fulfilled,(e,i)=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle");const r=e.studioAppsList?.find(a=>a.idApp===i.payload.idApp);r&&(r.inWorkVersion=i.payload)}).addCase(ft.rejected,e=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle")}).addCase(dt.pending,e=>{e.createNewStudioAppStatus==="idle"&&(e.createNewStudioAppStatus="pending")}).addCase(dt.fulfilled,(e,i)=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(Ne)}).addCase(dt.rejected,e=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle")})}}),Oo=d.combineReducers({[Vt.name]:Vt.reducer,[ht.name]:ht.reducer});function Ro(t){return t.studio.studioAppsList}function Do(t){return t.studio.currentStudioApp}const Mo={name:"studio",reducer:Oo},xo={slice:Mo,actions:{...Vt.actions,...ht.actions,fetchStudioAppsList:lt,deleteStudioApp:ct,suspendStudioApp:ut,restartStudioApp:pt,cloneStudioApp:gt,createNewStudioApp:dt,fetchCurrentStudioApp:nt,saveCurrentStudioApp:st,installStudioApp:ot,createInWorkStudioApp:ft},selectors:{selectStudioAppsList:Ro,selectCurrentStudioApp:Do},utils:{updateViewsFromFields:gr,generateNewFormField:Re}},jo=function(t){return[{namespace:"SURVEY-DATE",function:"submit",handler:function(i){i.namespace==="SURVEY-DATE"&&i.function==="submit"&&t(i.object)}}]},_o={getSurveyDateRTHandlers:jo},Po={messages:[],status:"idle",summary:void 0,jobUid:void 0},Ht=d.createSlice({name:"teamWorkAiDaySummary",initialState:Po,reducers:{setDaySummaryMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:r}=e.payload;t.status=i,t.messages=r},setDaySummary:(t,e)=>{e.payload.jobUid===t.jobUid&&(t.summary=e.payload.summary)},resetDaySummaryState:t=>{t.status="idle",t.messages=[],t.jobUid=void 0,t.summary=void 0}},extraReducers:t=>{t.addCase(mt.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(mt.fulfilled,(e,i)=>{e.status=i.payload.state,e.messages=i.payload.messages,e.summary=i.payload.summary,e.jobUid=i.payload.jobUid}),t.addCase(mt.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]})}}),mt=d.createAsyncThunk("teamWork/Ai/startDaySummaryCreation",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{return(await e.jApi.teamWorkAi.daySummary({forceGeneration:t},{signal:a})).result}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),No={messages:[],status:"idle",tasks:void 0,jobUid:void 0,uriAiTodo:void 0},Gt=d.createSlice({name:"teamWorkAiTasks",initialState:No,reducers:{setTasksMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:r}=e.payload;t.status=i,t.messages=r},setTasks:(t,e)=>{e.payload.jobUid===t.jobUid&&(t.tasks=e.payload.tasks,t.uriAiTodo=e.payload.uriAiTodo)},resetTasksState:t=>{t.status="idle",t.messages=[],t.jobUid=void 0,t.tasks=void 0,t.uriAiTodo=void 0}},extraReducers:t=>{t.addCase(yt.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(yt.fulfilled,(e,i)=>{e.status=i.payload.state,e.messages=i.payload.messages,e.tasks=i.payload.tasks,e.jobUid=i.payload.jobUid,e.uriAiTodo=i.payload.uriAiTodo}),t.addCase(yt.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]}),t.addCase(vr.fulfilled,(e,i)=>{e.tasks=i.payload})}}),yt=d.createAsyncThunk("teamWork/Ai/startToDoCreation",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{return(await e.jApi.teamWorkAi.generateToDo({forceGeneration:t},{signal:a})).result}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),vr=d.createAsyncThunk("teamWork/Ai/setToDoDone",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{return(await e.jApi.teamWorkAi.todoDone(t,{signal:a})).result}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"GLOBAL_Technical_Error"})}}),Wo=function(t){return[{namespace:"TEAMWORK",function:"updateTodo",handler:function(r){r.namespace==="TEAMWORK"&&r.function==="updateTodo"&&(t(Q.actions.setTasksMessageAndStatus({status:r.state,messages:r.messages,jobUid:r.jobUid})),r.state==="success"&&t(Q.actions.setTasks({tasks:r.tasks,jobUid:r.jobUid,uriAiTodo:r.uriAiTodo})))}},{namespace:"TEAMWORK",function:"updateDaySummary",handler:function(r){r.namespace==="TEAMWORK"&&r.function==="updateDaySummary"&&(t(Q.actions.setDaySummaryMessageAndStatus({status:r.state,messages:r.messages,jobUid:r.jobUid})),r.state==="success"&&t(Q.actions.setDaySummary({summary:r.summary,jobUid:r.jobUid})))}}]},Fo=t=>t.teamWork.teamWorkAiTasks,Uo=t=>t.teamWork.teamWorkAiDaySummary,Bo=d.combineReducers({[Gt.name]:Gt.reducer,[Ht.name]:Ht.reducer}),ci={name:"teamWork",reducer:Bo},$o=ci.reducer,Q={slice:ci,actions:{...Gt.actions,...Ht.actions,startToDoCreation:yt,startDaySummaryCreation:mt,setToDoDone:vr},selectors:{selectToDoState:Fo,selectDaySummaryState:Uo},getTeamWorkRTHandlers:Wo},qo={},Xt=d.createSlice({name:"options",initialState:qo,reducers:{initOptions:(t,{payload:e})=>e}}),Vo=d.combineReducers({[Xt.name]:Xt.reducer}),Ho={name:"tinymce",reducer:Vo},Go=t=>t.tinymce.options.common,Xo=t=>t.tinymce.options.extended,Jo={slice:Ho,actions:{...Xt.actions},selectors:{selectTinyMCECommonOptions:Go,selectTinyMCEExtendedOptions:Xo}},Ko={channels:void 0,loading:"idle",loadingChannelDeletion:"idle"},ve=d.createAsyncThunk("/fetchChannels",async(t,{extra:e})=>{const i=t??1,r=e.jApi;return await new Promise((a,n)=>{const s={type:"tvDisplayChannel",page:i,orders:[{name:"id",sort:"DESC"}]};r.article.list(s,{format:"raw-list"}).then(o=>{a(o.result)}).catch(o=>{n({error:o.error??1,errorMsg:o.errorMsg??"Error retrieving channels"})})})}),At=d.createAsyncThunk("/deleteChannel",async({channel:t},{extra:e,dispatch:i})=>{const r=e.jApi;return await new Promise((a,n)=>{r.article.delete(t.id).then(s=>{a(s.result),i(ve())}).catch(s=>{n({error:s.error??1,errorMsg:s.errorMsg??"Error deleting channel"})})})}),ji=d.createSlice({name:"channelsList",initialState:{...Ko},reducers:{},extraReducers:t=>{t.addCase(ve.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ve.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.channels=i.payload)}).addCase(ve.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(At.pending,e=>{e.loadingChannelDeletion="pending"}).addCase(At.fulfilled,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")}).addCase(At.rejected,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")})}});function Yo(t){return t.tvChannelType==="DYNAMIC"?!!t.tvChannelBackgroundColor&&!!t.tvChannelGroupTarget:t.tvChannelNumImages!==0}const zo=d.combineReducers({[ji.name]:ji.reducer}),Qo={name:"tvDisplay",reducer:zo},Zo=function(e){return e.tvDisplay.channelsList},el={slice:Qo,actions:{fetchChannels:ve,deleteChannel:At},selectors:{selectChannelsList:Zo},utils:{isChannelConfigured:Yo}},tl={id:0,mainType:"user",type:"user",uri:"user/0",title:"",_url:"",dateCreation:"",dateModified:"",level:0,active:1},Jt=d.createSlice({name:"userCurrent",initialState:tl,reducers:{init:(t,{payload:e})=>e}}),il=t=>t.userCurrent,rl=t=>t.level===m.UserLevel.ADMIN,al=t=>t.id!==0,nl={slice:Jt,actions:{...Jt.actions},selectors:{get:il},utils:{isAdmin:rl,isLogged:al}},Kt=[{name:"name",sort:"ASC"}],sl={list:{loading:"idle",data:[],page:1,filters:[],orders:Kt,limit:20,nbResults:0},tab:"my"},Yt=d.createSlice({name:"visioConnect",initialState:sl,reducers:{setTab:(t,e)=>{t.tab=e.payload,t.list.page=1,m.deepEqual(t.list.orders,Kt)||(t.list.orders=Kt),t.list.filters.length>0&&(t.list.filters=[])},setPage:(t,e)=>{t.list.page=e.payload},setFilters:(t,e)=>{m.deepEqual(t.list.filters,e.payload)||(t.list.filters=e.payload)},setOrders:(t,e)=>{m.deepEqual(t.list.orders,e.payload)||(t.list.orders=e.payload)}},extraReducers:t=>{t.addCase(we.pending,e=>{e.list.loading="pending"}).addCase(we.fulfilled,(e,i)=>{e.list.loading="idle",e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt}).addCase(we.rejected,e=>{e.list.loading="idle"}).addCase(Le.pending,e=>{e.list.loading="pending"}).addCase(Le.fulfilled,(e,i)=>{e.list.loading="idle",e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt}).addCase(Le.rejected,e=>{e.list.loading="idle"})}}),we=d.createAsyncThunk("visioConnect/fetchPermanentRooms",async(t,{rejectWithValue:e,extra:i,dispatch:r,getState:a})=>{const n=a().visioConnect;try{const s=[...n.list.filters],o=n.list.orders.length>0?n.list.orders:[{name:"name",sort:"ASC"}],c=n.tab,p={filters:s,orders:o,page:n.list.page,limit:n.list.limit};if(c==="my")return(await i.jApi.visioConnect.getPermanentRoomsMy(p)).result;if(c==="all")return(await i.jApi.visioConnect.getPermanentRoomsAll(p)).result;if(c==="archive")return(await i.jApi.visioConnect.getPermanentRoomsArchive(p)).result;throw Error("Unhandled tab")}catch(s){return b(s)||r(g.actions.error({label:T(s)})),e({error:1,errorMsg:"Cannot fetch rooms"})}}),Le=d.createAsyncThunk("visioConnect/fetchTeamworkPermanentRooms",async(t,{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=[],n=[{name:"name",sort:"ASC"}];return(await i.jApi.visioConnect.getPermanentRoomsMy({filters:a,orders:n,page:1,limit:10})).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot fetch rooms"})}}),wr=d.createAsyncThunk("visioConnect/createPermanentRoom",async({room:t,token:e},{rejectWithValue:i,extra:r,dispatch:a})=>{try{const n=(await r.jApi.visioConnect.createPermanentRoom({room:t,token:e})).result;return a(De.actions.fetchPermanentRooms()),a(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Create_Success"})),n}catch(n){return b(n)||a(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot save room"})}}),Lr=d.createAsyncThunk("visioConnect/updatePermanentRoom",async({room:t,token:e,uri:i},{rejectWithValue:r,extra:a,dispatch:n})=>{try{const s=(await a.jApi.visioConnect.updatePermanentRoom({uri:i,room:t,token:e})).result;return n(De.actions.fetchPermanentRooms()),n(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Update_Success"})),s}catch(s){return b(s)||n(g.actions.error({label:T(s)})),r({error:1,errorMsg:"Cannot save room"})}}),Ir=d.createAsyncThunk("visioConnect/archivePermanentRoom",async({uri:t},{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=(await i.jApi.visioConnect.archivePermanentRoom(t)).result;return r(De.actions.fetchPermanentRooms()),r(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Archive_Success"})),a}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot archive room"})}}),kr=d.createAsyncThunk("visioConnect/unarchivePermanentRoom",async({uri:t},{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=(await i.jApi.visioConnect.unarchivePermanentRoom(t)).result;return r(De.actions.fetchPermanentRooms()),r(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Unarchive_Success"})),a}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot unarchive room"})}}),ol=t=>t.visioConnect.tab,ll=t=>t.visioConnect.list,De={slice:Yt,actions:{archivePermanentRoom:Ir,unarchivePermanentRoom:kr,createPermanentRoom:wr,updatePermanentRoom:Lr,fetchPermanentRooms:we,fetchTeamworkPermanentRooms:Le,...Yt.actions},selectors:{selectVisioConnectTab:ol,selectVisioConnectList:ll}},Ie=d.createAsyncThunk("wall/fetchWallFilters",async(t,{extra:e,rejectWithValue:i})=>{try{return(await e.jApi.wall.getFilters()).result}catch(r){return i(r)}}),zt={filters:[],taxonomies:[],loading:"idle"},Qt=d.createSlice({name:"wall",initialState:zt,reducers:{setFilters:(t,e)=>{t.filters=e.payload},setLoading:(t,e)=>{t.loading=e.payload},reset:()=>zt},extraReducers:t=>{t.addCase(Ie.pending,e=>{e.loading="pending"}),t.addCase(Ie.fulfilled,(e,i)=>{e.loading="idle",e.filters=i.payload.filterList,e.taxonomies=i.payload.taxonomies}),t.addCase(Ie.rejected,e=>{e.loading="idle"})}}),Or=t=>t.wall,Rr=t=>t.wall.filters,Dr=t=>t.wall.taxonomies,dl={slice:Qt,actions:{...Qt.actions,fetchWallFilters:Ie},selectors:{selectWall:Or,selectWallFilters:Rr,selectWallFiltersTaxonomies:Dr}},cl=4,_=d.createAsyncThunk("/fetchFiles",async({page:t,query:e,folder:i,tab:r},{extra:a,getState:n})=>{const s=a.jApi,o=n(),c=r??o.wedoc.tab,p=t??o.wedoc.page,y=e??o.wedoc.query,f=i!==void 0?i?.uri??null:o.wedoc.currentFolder?.uri;return c==="my-documents"?await s.wedoc.listMy({page:p,query:y,limit:o.wedoc.limit,uriFolder:f??void 0},{format:"raw-list",extensions:["parentArticle"]}):c==="shared-with-me"?await s.wedoc.listSharedWithMe({page:p,limit:o.wedoc.limit,query:y},{format:"raw-list",extensions:["parentArticle"]}):await s.wedoc.getFiles({page:p,limit:o.wedoc.limit,orders:[{name:"dateCreation",sort:"DESC"}],query:y},{format:"raw-list",extensions:["parentArticle"]})}),St=d.createAsyncThunk("/fetchRecentFiles",async(t,{extra:e,getState:i})=>{const r=e.jApi,n=i().wedoc.tab==="my-documents"?[{name:"idUser",value:"0"}]:[];return await r.wedoc.getFiles({filters:n,limit:cl,orders:[],page:1},{format:"raw-list"})}),ul=d.createAsyncThunk("/setCurrentFolder",async(t,{dispatch:e,getState:i})=>(t?.uri!==i().wedoc.currentFolder?.uri&&await e(_({page:1,query:"",folder:t})),t)),pl=d.createAsyncThunk("/setQuery",async(t,{dispatch:e,getState:i})=>(t!==i().wedoc.query&&await e(_({page:1,query:t})),t)),gl=d.createAsyncThunk("/setTab",async(t,{dispatch:e})=>(await e(_({page:1,query:"",folder:null,tab:t})),t)),fl=d.createAsyncThunk("/setPage",async(t,{dispatch:e,getState:i})=>(t!==i().wedoc.page&&await e(_({page:t})),t)),ml={entities:[],nbEntities:0,entitiesRecent:[],tab:"my-documents",loading:"idle",loadingRecent:"idle",query:"",page:1,currentFolder:null,limit:12},yl=d.createSlice({name:"wedoc",initialState:ml,reducers:{update:(t,e)=>{t.entities=[...t.entities.map(i=>i.id===e.payload.id?{...i,...e.payload}:i)]}},extraReducers:t=>{t.addCase(_.pending,(e,i)=>{e.loading="pending",e.page=i.meta.arg.page??e.page,e.query=i.meta.arg.query??e.query,e.tab=i.meta.arg.tab??e.tab}).addCase(_.fulfilled,(e,i)=>{e.loading="idle";const{data:r,cnt:a}=i.payload.result;e.entities=r,e.nbEntities=a,e.currentFolder=i.meta.arg.folder!==void 0?i.meta.arg.folder:e.currentFolder}).addCase(_.rejected,e=>{e.loading="idle"}).addCase(St.pending,e=>{e.loadingRecent="pending"}).addCase(St.fulfilled,(e,i)=>{e.loadingRecent="idle",e.entitiesRecent=i.payload.result.data}).addCase(St.rejected,e=>{e.loadingRecent="idle"})}}),Al={slice:yl,selectors:{getFiles:t=>({entities:t.wedoc.entities,nbEntities:t.wedoc.nbEntities,loading:t.wedoc.loading==="pending",tab:t.wedoc.tab,query:t.wedoc.query,page:t.wedoc.page,limit:t.wedoc.limit}),getRecent:t=>({entities:t.wedoc.entitiesRecent,loading:t.wedoc.loadingRecent==="pending",tab:t.wedoc.tab}),getCurrentFolder:t=>t.wedoc.currentFolder},actions:{reloadFiles:()=>_({}),fetchRecentFiles:St,setCurrentFolder:ul,setQuery:pl,setTab:gl,setPage:fl}};function ui(){let t="";for(let e=0;e<16;e++)t+=((1+Math.random())*65536|0).toString(16).substring(1);return t}const Mr="WIDGET_Check_List",xr="WIDGET_Check_List_Description",jr="WIDGET_Quick_Survey",_r="WIDGET_Quick_Survey_Text",Sl=Object.freeze(Object.defineProperty({__proto__:null,WIDGET_CHECK_LIST_DESCRIPTION:xr,WIDGET_CHECK_LIST_LABEL:Mr,WIDGET_QUICK_SURVEY_DESCRIPTION:_r,WIDGET_QUICK_SURVEY_LABEL:jr},Symbol.toStringTag,{value:"Module"})),Tl={label:"WIDGET_Accessibility",description:"WIDGET_Accessibility_Text",name:m.WidgetsName.Accessibility,img:"/img/fast-intranet/widget-accessibility.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Cl={fontSize:14,textColor:"#000000",padding:10},El={label:"WIDGET_Article_Attachment",description:"WIDGET_Article_Attachment_Description",name:m.WidgetsName.ArticleAttachment,img:"/img/article-widget-thumbnail/widget_thumbnail_files.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},bl={files:[]},hl={label:"WIDGET_BUTTON",description:"WIDGET_Button_Description",name:m.WidgetsName.ArticleButton,img:"/img/article-widget-thumbnail/widget_thumbnail_button.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},vl={text:"",openingType:"link",openingTypeLink:{url:"",target:"_blank"},variant:"contained",fontSize:"14",color:"#fff",backgroundColor:"#4dbf96",buttonSize:"lg",borderRadius:"4"},_i={label:"WIDGET_Article_Gallery",description:"WIDGET_Article_Gallery_Description",name:m.WidgetsName.ArticleGallery,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},wl={files:[],gap:"4",column:"3"},Ll={label:"WIDGET_Article_Image",description:"WIDGET_Article_Image_Description",name:m.WidgetsName.ArticleImage,img:"/img/article-widget-thumbnail/widget_thumbnail_illustration.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Il={},kl={label:"WIDGET_Slider",description:"WIDGET_Slider_Description",name:m.WidgetsName.ArticleSlider,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Ol={slides:[],maxWidth:800,loop:!1,useDots:!0,startAt:0},Rl={label:"WIDGET_Text",description:"WIDGET_Text_Description",name:m.WidgetsName.ArticleText,img:"/img/article-widget-thumbnail/widget_thumbnail_text.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Dl={text:""},Ml={label:"WIDGET_Title",description:"WIDGET_Title_Description",name:m.WidgetsName.ArticleTitle,img:"/img/article-widget-thumbnail/widget_thumbnail_title.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},xl={text:"",heading:"h1",backgroundColor:"transparent"},jl={label:"WIDGET_CALENDAR",description:"WIDGET_Calendar_Text",name:m.WidgetsName.Calendar,img:"/img/fast-intranet/widget-calendar.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},_l={view:"list"},Pl={label:"WIDGET_Calendar_CalDav",description:"WIDGET_Calendar_CalDav_Text",name:m.WidgetsName.CalendarCalDav,img:"/img/fast-intranet/widget-calendar-calDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Nl={calEventsLimit:!1,calEventsLimitValue:10,calEventsPromptStatus:"shared"},Wl={label:Mr,description:xr,name:m.WidgetsName.CheckList,img:"/img/fast-intranet/widget-check-list.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},Fl={arr:[],edit:!1},Ul={label:"WIDGET_Color",description:"WIDGET_Color_Text",name:m.WidgetsName.Color,img:"/img/fast-intranet/widget-color.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},Bl={},$l={label:"WIDGET_Contact_CardDav",description:"WIDGET_Contact_CardDav_Text",name:m.WidgetsName.ContactCardDav,img:"/img/fast-intranet/widget-contact-cardDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},ql={contactLimit:!1,contactLimitValue:10,contactPromptStatus:"shared"},Vl={label:"WIDGET_Datasource_Table",description:"WIDGET_Datasource_Table_Description",name:m.WidgetsName.DatasourceTable,img:"/img/fast-intranet/widget-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Hl={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Gl={label:"WIDGET_Email_IMAP",description:"WIDGET_Email_IMAP_Text",name:m.WidgetsName.EmailsImap,img:"/img/fast-intranet/widget-emails-imap.png",available:!0,displayLevel:[1,2,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Xl={emailsLimit:!1,emailsLimitValue:10,emailsPromptStatus:"shared"},Jl={label:"WIDGET_Excel_Datasource_Table",description:"WIDGET_Excel_Datasource_Table_Text",name:m.WidgetsName.ExcelDatasourceTable,img:"/img/fast-intranet/widget-excel-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},Kl={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Yl={label:"WIDGET_Extension",description:"WIDGET_Extension_Description",name:m.WidgetsName.Extension,img:"/img/article-widget-thumbnail/widget-extension.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},zl={extensionName:""},Ql={label:"WIDGET_Lucca_Absence",description:"WIDGET_Lucca_Absence_Text",name:m.WidgetsName.LuccaAbsence,img:"/img/fast-intranet/widget-lucca-absence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Zl={url:""},ed={label:"WIDGET_Presence",description:"WIDGET_Presence_Text",name:m.WidgetsName.Presence,img:"/img/fast-intranet/widget-presence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},td={closing:!1,limit:!1,limitValue:100},id={label:jr,description:_r,name:m.WidgetsName.QuickSurvey,img:"/img/fast-intranet/widget-quick-survey.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},rd={arr:[{title:""}],open:!1,multi:!1,closing:!1,isClosed:!1,showResult:!1,isNotDisabled:!1},ad={label:"WIDGET_User_Profil",description:"WIDGET_User_Profil_Text",name:m.WidgetsName.UserProfile,img:"/img/fast-intranet/widget-user-profil.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},nd={},sd={label:"WIDGET_Slider",description:"WIDGET_Slider_Text",name:m.WidgetsName.Slider,img:"/img/fast-intranet/widget-slider.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},od={},ld={label:"WIDGET_Welcome",description:"WIDGET_Welcome_Text",name:m.WidgetsName.Welcome,img:"/img/fast-intranet/widget-welcome.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},dd={},cd={label:"WIDGET_Cover",description:"WIDGET_Cover_Text",name:m.WidgetsName.Cover,img:"/img/fast-intranet/widget-cover.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},ud={},pd={label:"WIDGET_Text",description:"WIDGET_Text_Text",name:m.WidgetsName.Text,img:"/img/fast-intranet/widget-text.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},gd={};function fd(t){switch(t){default:return _i;case"widget-accessibility":return Tl;case"widget-article-gallery":return _i;case"widget-article-attachment":return El;case"widget-presence":return ed;case"widget-article-slider":return kl;case"widget-article-text":return Rl;case"widget-article-title":return Ml;case"widget-article-image":return Ll;case"widget-datasource-table":return Vl;case"widget-excel-datasource-table":return Jl;case"widget-article-button":return hl;case"widget-check-list":return Wl;case"widget-quick-survey":return id;case"widget-calendar-calDav":return Pl;case"widget-contact-cardDav":return $l;case"widget-lucca-absence":return Ql;case"widget-emails-imap":return Gl;case"widget-welcome":return ld;case"widget-user-profil":return ad;case"widget-extension":return Yl;case"widget-calendar":return jl;case"widget-slider":return sd;case"widget-color":return Ul;case"widget-cover":return cd;case"widget-text":return pd}}const md={[m.WidgetsName.Accessibility]:Cl,[m.WidgetsName.ArticleAttachment]:bl,[m.WidgetsName.ArticleButton]:vl,[m.WidgetsName.ArticleGallery]:wl,[m.WidgetsName.ArticleImage]:Il,[m.WidgetsName.ArticleSlider]:Ol,[m.WidgetsName.ArticleText]:Dl,[m.WidgetsName.ArticleTitle]:xl,[m.WidgetsName.Calendar]:_l,[m.WidgetsName.CalendarCalDav]:Nl,[m.WidgetsName.CheckList]:Fl,[m.WidgetsName.Color]:Bl,[m.WidgetsName.ContactCardDav]:ql,[m.WidgetsName.Cover]:ud,[m.WidgetsName.DatasourceTable]:Hl,[m.WidgetsName.EmailsImap]:Xl,[m.WidgetsName.ExcelDatasourceTable]:Kl,[m.WidgetsName.Extension]:zl,[m.WidgetsName.LuccaAbsence]:Zl,[m.WidgetsName.Presence]:td,[m.WidgetsName.QuickSurvey]:rd,[m.WidgetsName.Slider]:od,[m.WidgetsName.SyncContent]:{},[m.WidgetsName.Text]:gd,[m.WidgetsName.UserProfile]:nd,[m.WidgetsName.Welcome]:dd};function yd(t){return{title:"",level:3,widget:Ad(t)}}function Ad(t){return{uniqid:ui(),name:t,content:Sd(t)}}function Sd(t){return{...md[t]}}const Td={token:void 0,ids:{},layers:{},states:{},modal:void 0,editableMap:{},currentEditableIndex:-1,currentEditableWidgetId:void 0,widgetObject:{},widgetObjectRights:{},widgetAuthor:{},widgetWrapperStyle:{},widgetTitleStyle:{},widgetChipCount:{},flushedWidgets:[],rtObjectStack:[],widgetContext:{},widgetSynchronizationStates:{},widgetUrls:{}},Cd=[m.WidgetsName.ArticleTitle,m.WidgetsName.ArticleText,m.WidgetsName.ArticleImage,m.WidgetsName.ArticleButton,m.WidgetsName.ArticleSlider,m.WidgetsName.ArticleAttachment],Z=d.createSlice({name:"widgets",initialState:Td,reducers:{registerWidget:(t,e)=>{const{uniqid:i,widget:r,context:a}=e.payload;if(t.ids[i]){console.error(`Widget with uniqid ${i} is already registered.`);return}t.ids[i]=r,t.states[i]??={busy:!1,initialized:void 0,loading:!1,mounted:!1,hover:!1,empty:Cd.includes(r.widget.name),locked:!1},t.widgetContext[i]=a},registerWidgetObject:(t,e)=>{const{uniqid:i,object:r}=e.payload;t.widgetObject[i]=r},registerWidgetObjectRights:(t,e)=>{const{uniqid:i,rights:r}=e.payload;t.widgetObjectRights[i]=r},registerWidgetAuthor:(t,e)=>{const{uniqid:i,author:r}=e.payload;t.widgetAuthor[i]=r},setWidgetChipCount:(t,e)=>{const{uniqid:i,count:r}=e.payload;t.widgetChipCount[i]=r},setWidgetWrapperStyle:(t,e)=>{const{uniqid:i,styles:r}=e.payload;t.widgetWrapperStyle[i]={...t.widgetWrapperStyle[i],...r}},setWidgetSynchronizationState:(t,e)=>{t.widgetSynchronizationStates[e.payload.uniqid]=e.payload.state},setWidgetUrl:(t,e)=>{t.widgetUrls[e.payload.uniqid]=e.payload.url},setWidgetTitleStyle:(t,e)=>{const{uniqid:i,styles:r}=e.payload;t.widgetTitleStyle[i]={...t.widgetTitleStyle[i],...r}},updateWidget:(t,e)=>{const{uniqid:i}=e.payload,r={...t.ids[i]};t.states[i]?.locked||t.ids[i]&&r.widget&&(t.ids[i]=Object.assign({...t.ids[i],widget:{...r.widget,content:e.payload.override?e.payload.content:Object.assign({...r.widget.content,...e.payload.content})}}))},replaceWidget:(t,e)=>{const{uniqid:i}=e.payload,r={...t.ids[i]};t.states[i]?.locked||t.ids[i]&&r.widget&&(t.ids[i]=Object.assign({...t.ids[i],widget:{...r.widget,name:e.payload.name,content:e.payload.content}}))},registerWidgetRTObject:(t,e)=>{const{uniqid:i,fn:r,object:a}=e.payload;t.rtObjectStack=[...t.rtObjectStack,{uniqid:i,fn:r,object:a}]},flushWidget:(t,e)=>{const{uniqid:i}=e.payload;delete t.ids[i],delete t.states[i],delete t.widgetContext[i],delete t.widgetObject[i],delete t.widgetObjectRights[i],delete t.widgetAuthor[i],delete t.widgetChipCount[i],delete t.widgetWrapperStyle[i],delete t.widgetTitleStyle[i],t.flushedWidgets.push(i)},flushAllWidget:t=>{t.flushedWidgets=[...t.flushedWidgets,...Object.keys(t.ids)],t.ids={},t.states={}},updateWidgetWrapper:(t,e)=>{const{uniqid:i}=e.payload;t.ids[i]&&(t.ids[i]=Object.assign({...t.ids[i],...e.payload}))},registerLayer:(t,e)=>{const i=ui(),r={...t.ids[e.payload.uniqid]};r.widget&&(t.ids[e.payload.uniqid]&&r.widget.layers?t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...r.widget,layers:[...r.widget.layers,i]}}):t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...r.widget,layers:[i]}}),t.ids[e.payload.widget.widget.uniqid]=e.payload.widget,t.states[e.payload.widget.widget.uniqid]={busy:!1,initialized:!1,loading:!1,mounted:!1,hover:!1,empty:!0},t.layers[i]={uniqid:i,widgets:[e.payload.widget],title:`Layer ${i}`,visible:!0,locked:!1,position:{x:0,y:0}})},updateLayer:(t,e)=>{t.layers[e.payload.uniqid]&&(t.layers[e.payload.uniqid]=Object.assign({...t.layers[e.payload.uniqid],...e.payload.props}))},flushLayer:(t,e)=>{const i={...t.ids[e.payload.uniqid]};i.widget?.layers&&(t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...i.widget,layers:[...i.widget.layers.filter(r=>r!==e.payload.layerId)]}}),delete t.layers[e.payload.layerId])},prevEditableIndex:t=>{const e=Object.keys(t.ids).length;t.currentEditableIndex=t.currentEditableIndex===0?e-1:t.currentEditableIndex-1},nextEditableIndex:t=>{const e=Object.keys(t.ids).length;t.currentEditableIndex=t.currentEditableIndex<e-1?t.currentEditableIndex+1:0},setEditableIndex:(t,e)=>{t.currentEditableIndex=e.payload.index},setEditableWidgetId:(t,e)=>{t.currentEditableWidgetId=e.payload.uniqid},registerEditableWidget:(t,e)=>{t.editableMap[e.payload.uniqid]=e.payload},setToken:(t,e)=>{t.token=e.payload.token},setWidgetState:(t,e)=>{const{uniqid:i}=e.payload;({...t.states[i]}!==void 0)&&(t.states[i]={...t.states[i],...e.payload})},setAllWidgetStates:(t,e)=>{Object.keys(t.states).map(i=>{({...t.states[i]}!==void 0)&&(t.states[i]={...t.states[i],...e.payload})})},registerModal:(t,e)=>{t.modal=e.payload},flushModal:t=>{t.modal=void 0}}}),Ed=function(t,e){return[{namespace:"WIDGET",function:"widget-presence-response",handler:function(s){s.namespace==="WIDGET"&&s.function==="widget-presence-response"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}},{namespace:"WIDGET",function:"check-list-response",handler:function(s){s.namespace==="WIDGET"&&s.function==="check-list-response"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}},{namespace:"WIDGET",function:"widget-update",handler:function(s){s.namespace==="WIDGET"&&s.function==="widget-update"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}},{namespace:"WIDGET",function:"widget-quick-survey-response",handler:function(s){s.namespace==="WIDGET"&&s.function==="widget-quick-survey-response"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}}]},bd=t=>t.widgets.token,hd=t=>t.widgets.modal,vd=t=>t.widgets.ids,wd=t=>t.widgets.flushedWidgets,Ld=(t,e)=>t.widgets.states[e]??void 0,Id=(t,e)=>t.widgets.ids[e]??void 0,kd=(t,e)=>t.widgets.ids[e]?.level??void 0,Od=(t,e)=>t.widgets.widgetObject[e]??void 0,Rd=(t,e)=>{const i=t.widgets.widgetObject[e];if(i&&"uri"in i)return i.uri},Dd=(t,e)=>t.widgets.widgetObjectRights[e]??void 0,Md=(t,e)=>t.widgets.widgetContext[e]??void 0,xd=(t,e)=>t.widgets.widgetAuthor[e]??void 0,jd=(t,e)=>t.widgets.widgetChipCount[e]??0,_d=(t,e)=>t.widgets.widgetWrapperStyle[e]??{},Pd=(t,e)=>t.widgets.widgetTitleStyle[e]??{},Nd=(t,e)=>t.widgets.widgetSynchronizationStates[e]??!1,Wd=(t,e)=>t.widgets.widgetUrls[e]??void 0,Fd=(t,e)=>t.widgets.currentEditableWidgetId===e,Ud=(t,e)=>t.widgets.rtObjectStack.filter(i=>i.uniqid===e),Bd=(t,e,i)=>r=>{r(Zt.slice.actions.setWidgetState({uniqid:t,lastUpdatedTimestamp:Date.now()})),r(Zt.slice.actions.updateWidget({uniqid:t,content:e,override:i??!1}))},Zt={const:Sl,factory:yd,definition:fd,utils:{uniqid:ui},slice:Z,getWidgetRTHandlers:Ed,selectors:{isActive:Fd,selectToken:bd,selectWidgets:vd,selectWidget:Id,selectWidgetState:Ld,selectModal:hd,selectWidgetObject:Od,selectWidgetObjectUri:Rd,selectWidgetAuthor:xd,selectWidgetObjectRights:Dd,selectAllWidgetRTObject:Ud,selectFlushedWidgets:wd,selectWidgetContext:Md,selectWidgetLevel:kd,selectWidgetWrapperStyle:_d,selectWidgetTitleStyle:Pd,selectWidgetChipCount:jd,selectWidgetSynchronizationState:Nd,selectWidgetUrl:Wd}},$d={editors:[]},qd=d.createSlice({name:"editors",initialState:$d,reducers:{registerEditor:(t,e)=>{const{uniqid:i,name:r,onSave:a,mode:n}=e.payload,s=a?{uniqid:i,name:r,onSave:a,position:"right",mode:n??"view"}:{uniqid:i,name:r,position:"right",mode:n??"view"};t.editors=t.editors.find(o=>o.uniqid===i)?t.editors:[...t.editors,s]},registerEditorPopup:(t,e)=>{const{uniqid:i,view:r}=e.payload;t.editors=[...t.editors.map(a=>a.uniqid===i?{...a,popup:!0,view:r}:a)]},flushEditorPopup:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.map(r=>r.uniqid===i?{...r,popup:!1}:r)]},setEditorPosition:(t,e)=>{const{uniqid:i,position:r}=e.payload;t.editors=[...t.editors.map(a=>a.uniqid===i?{...a,position:r}:a)]},flushEditor:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.filter(r=>r.uniqid!==i)]},flushAllEditor:t=>{window.dispatchEvent(new Event("WidgetEditorFlushAll")),t.editors.length=0}}}),Vd=t=>t.editors.editors,Hd=(t,e)=>t.editors.editors.find(i=>i.uniqid===e),Gd={slice:qd,selectors:{selectEditors:Vd,selectEditor:Hd}},Xd={success:"green",error:"red",warning:"yellow"};function J(t){return String(t).padStart(2,"0")}function Jd(t,e){return`${t}${{10:"1a",20:"33",30:"4d",40:"66",50:"80",60:"99",70:"b3",80:"cc",90:"e6"}[e]}`}const G={isValid:Pr,rgb:(t,e,i)=>({toHex:()=>({string:()=>"#"+J(t.toString(16))+J(e.toString(16))+J(i.toString(16))}),toHsb:()=>({values:()=>te(t,e,i),hue:()=>te(t,e,i)[0],staturation:()=>te(t,e,i)[1],brightness:()=>te(t,e,i)[2]})}),hsl:(t,e,i)=>({toHex:()=>({values:()=>ei(t,e,i),string:()=>{const r=ei(t,e,i);return"#"+r[0]+r[1]+r[2]}})}),hsb:(t,e,i)=>({toRgb:()=>({values:()=>ee(t,e,i),red:()=>ee(t,e,i)[0],green:()=>ee(t,e,i)[1],blue:()=>ee(t,e,i)[2]})}),hex:t=>({toRgbaColor:e=>`rgba(${String(k(t).r).padStart(2,"0")},${String(k(t).g).padStart(2,"0")},${String(k(t).b).padStart(2,"0")},${String(e)})`,toRgbColor:()=>`rgb(${String(k(t).r).padStart(2,"0")},${String(k(t).g).padStart(2,"0")},${String(k(t).b).padStart(2,"0")})`,toRgb:()=>({values:()=>k(t),red:()=>k(t).r,green:()=>k(t).g,blue:()=>k(t).b}),toHsl:()=>({values:()=>x(t),hue:()=>x(t)[0],saturation:()=>Math.round(x(t)[1]),luminance:()=>Math.round(x(t)[2]),string:()=>{const e=x(t);return"hsl("+e[0]+","+Math.round(e[1])+"%,"+Math.round(e[2])+"%)"}})})},Kd=t=>{const e=t.replace("#","");return parseInt(e,16)>16777215/2?"black":"white"},Yd=t=>{const e=t.replace("#",""),i=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),a=parseInt(e.substring(4,6),16);return(i*299+r*587+a*114)/1e3>=125?"black":"white"};function Pr(t){return String(t).startsWith("#")&&String(t).length>=4&&String(t).length<=7}const kt=t=>parseInt(t,16),k=t=>({r:kt(t.substring(1,3)),g:kt(t.substring(3,5)),b:kt(t.substring(5,7))}),zd=function(t,e){try{if(e<-1||e>1||t[0]!=="#"||t.length!==4&&t.length!==7)return;let i=t.slice(1);i.length==3&&(i=`${i[0]}${i[0]}${i[1]}${i[1]}${i[2]}${i[2]}`);const r=i.match(new RegExp("[0-9a-fA-F]{2}","g"));return r?.length!==3?void 0:r.map(n=>{const s=parseInt(n,16),o=e<0?s:255-s,c=Math.ceil(o*e);return(s+c).toString(16).toUpperCase().padStart(2,"0")}).reduce((n,s)=>`${n}${s}`,"#")}catch{return}},ee=(t,e,i)=>{const r=n=>(n+t/60)%6,a=n=>i*(1-e*Math.max(0,Math.min(r(n),4-r(n),1)));return[Math.round(255*a(5)),Math.round(255*a(3)),Math.round(255*a(1))]},te=(t,e,i)=>{t/=255,e/=255,i/=255;const r=Math.max(t,e,i),a=r-Math.min(t,e,i),n=a===0?0:a&&r===t?(e-i)/a:r===e?2+(i-t)/a:4+(t-e)/a;return[Math.round(60*(n<0?n+6:n)),Math.round(r&&a/r*100),Math.round(r*100)]},x=t=>{let e=0,i=0,r=0;t.length==4?(e="0x"+t[1]+t[1],i="0x"+t[2]+t[2],r="0x"+t[3]+t[3]):t.length==7&&(e="0x"+t[1]+t[2],i="0x"+t[3]+t[4],r="0x"+t[5]+t[6]),e/=255,i/=255,r/=255;const a=Math.min(e,i,r),n=Math.max(e,i,r),s=n-a;let o=0,c=0,p=0;return s==0?o=0:n==e?o=(i-r)/s%6:n==i?o=(r-e)/s+2:o=(e-i)/s+4,o=Math.round(o*60),o<0&&(o+=360),p=(n+a)/2,c=s==0?0:s/(1-Math.abs(2*p-1)),c=+(c*100).toFixed(1),p=+(p*100).toFixed(1),[o,c,p]};function ei(t,e,i){e/=100,i/=100;const r=(1-Math.abs(2*i-1))*e,a=r*(1-Math.abs(t/60%2-1)),n=i-r/2;let s=0,o=0,c=0;return 0<=t&&t<60?(s=r,o=a,c=0):60<=t&&t<120?(s=a,o=r,c=0):120<=t&&t<180?(s=0,o=r,c=a):180<=t&&t<240?(s=0,o=a,c=r):240<=t&&t<300?(s=a,o=0,c=r):300<=t&&t<360&&(s=r,o=0,c=a),[J(Math.round((s+n)*255).toString(16)),J(Math.round((o+n)*255).toString(16)),J(Math.round((c+n)*255).toString(16))]}const Nr=t=>{const e=t.indexOf(",")>-1?",":" ",i=t.substring(4).split(")")[0]?.split(e)??[],r=[0,0,0];for(let S=0;S<i.length&&S<3;S++){const E=i[S].trim();E.indexOf("%")>-1?r[S]=Math.round(+E.substring(0,E.length-1)/100*255):r[S]=+E}const a=r[0]/255,n=r[1]/255,s=r[2]/255,o=Math.min(a,n,s),c=Math.max(a,n,s),p=c-o,y=0;let f=0,u=0;return u=(c+o)/2,f=p==0?0:p/(1-Math.abs(2*u-1)),f=+(f*100).toFixed(1),u=+(u*100).toFixed(1),[y,f,u]},Wr="^#(?:[A-Fa-f0-9]{3}){1,2}$",Fr="^rgb\\(\\s*(25[0-5]|2[0-4][0-9]|1?\\d{1,2})\\s*,\\s*(25[0-5]|2[0-4][0-9]|1?\\d{1,2})\\s*,\\s*(25[0-5]|2[0-4][0-9]|1?\\d{1,2})\\s*\\)$|^rgb\\(\\s*(\\d{1,3}(?:\\.\\d+)?%)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?%)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?%)\\s*\\)$",Ur="^hsl\\(\\s*(3[0-5][0-9]|360|[12]?\\d{1,2})\\s*,\\s*(100(?:\\.0+)?|\\d{1,2}(?:\\.\\d+)?)%\\s*,\\s*(100(?:\\.0+)?|\\d{1,2}(?:\\.\\d+)?)%\\s*\\)$",Br=t=>{const e=new RegExp(Wr),i=new RegExp(Fr),r=new RegExp(Ur),a=e.test(t)?x(t):i.test(t)?Nr(t):r.test(t)&&r.exec(t)?.slice(1);let n="";return a&&a[2]&&parseInt(a[2])>50?n="hsl("+a[0]+","+a[1]+"%,"+(parseInt(a[2])-10)+"%)":(a&&a[2]&&parseInt(a[2])<50||a&&a[2]&&parseInt(a[2])===50)&&(n="hsl("+a[0]+","+a[1]+"%,"+(parseInt(a[2])+10)+"%)"),n},Qd=t=>{const e=new RegExp(Wr),i=new RegExp(Fr),r=new RegExp(Ur),a=e.test(t)?x(t):i.test(t)?Nr(t):r.test(t)&&r.exec(t)?.slice(1);return a?+a[2]:-1},Zd=(t,e,i)=>"#"+[t,e,i].map(r=>r.toString(16).padStart(2,"0")).join(""),K=t=>Math.round(t).toString(16).padStart(2,"0"),ec=({r:t,g:e,b:i},r)=>`#${K((1-r)*t)}${K((1-r)*e)}${K((1-r)*i)}`,tc=({r:t,g:e,b:i},r)=>`#${K(t+(255-t)*r)}${K(e+(255-e)*r)}${K(i+(255-i)*r)}`,ic=(t,e)=>ec(k(t),e),rc=(t,e)=>tc(k(t),e),ac=Object.freeze(Object.defineProperty({__proto__:null,HSBToRGB:ee,RGBToHSB:te,brightness:Qd,colorContrast:Br,colorTransparency:Jd,colorimetry:G,getContrast50:Kd,getContrastYIQ:Yd,getDarkShade:ic,getLightShade:rc,hexToHSL:x,hexToRgb:k,hlsToHex:ei,isValidHexColor:Pr,modifyColorBrightness:zd,rgbToHex:Zd},Symbol.toStringTag,{value:"Module"})),nc=["grey0","grey1","grey2","grey3","grey4","grey5","grey6"],sc=["black","black10","black15","black20","white","transparent","transparentHexa"],oc=["headerColor","headerTextColor","headerUserBackground","headerUserTextColor","headerSearchBarTextColor","headerSearchBarBackgroundColor","navBackground","navTextColor"],lc=["lavender","navy","overseas","night1","night2","sky","sand","yellow"],dc=["primary","secondary","green","red"],$r=t=>{const e=G.hex(t).toHsl();return{light:G.hsl(e.hue(),e.saturation(),95).toHex().string(),medium:G.hsl(e.hue(),e.saturation(),90).toHex().string(),base:t,strong:G.hsl(e.hue(),e.saturation(),e.luminance()-5).toHex().string(),dark:G.hsl(e.hue(),e.saturation()!==0?50:0,30).toHex().string()}},I=(t,e)=>{const i=$r(e);return{[`${t}Light`]:i.light,[`${t}Medium`]:i.medium,[t]:i.base,[`${t}Strong`]:i.strong,[`${t}Dark`]:i.dark}},qr={linkColor:"#392994",buttonColor:"#7364E3",forest:"#0D846B",headerTextColor:"",headerUserBackground:"",headerUserTextColor:"",headerSearchBarTextColor:"#2f373f",navBackground:"#ffffff",navTextColor:"#4A4A52",bgColorNotLogged:""},cc=(t=qr)=>{const e=I("primary",t.buttonColor),i=I("secondary",t.linkColor),r=I("green","#0D846B"),a=I("red","#E12B43"),n=I("lavender","#8F7CEA"),s=I("navy","#131E4B"),o=I("overseas","#392994"),c=I("night1","#2B3870"),p=I("night2","#10162D"),y=I("sky","#9CC9FF"),f=I("sand","#FFEED7"),u=I("yellow","#FFBB54");return{...e,...i,...r,...a,...n,...s,...o,...c,...p,...y,...f,...u,grey6:"#2E2E33",grey5:"#4A4A52",grey4:"#747487",grey3:"#BEBED1",grey2:"#DADAF0",grey1:"#EFEFFF",grey0:"#F8F8FF",black:"#000000",black10:"#00000019",black15:"#00000026",black20:"#00000033",white:"#FFFFFF",transparent:"transparent",transparentHexa:"#ffffff00",headerColor:t.headerColor??"",headerTextColor:t.headerTextColor,headerUserBackground:t.headerUserBackground,headerUserTextColor:t.headerUserTextColor,headerSearchBarTextColor:t.headerSearchBarTextColor,headerSearchBarBackgroundColor:t?.headerSearchBarBackgroundColor??(t?.headerColor?Br(t.headerColor):"#313941"),navBackground:t.navBackground,navTextColor:t.navTextColor}},uc=Object.freeze(Object.defineProperty({__proto__:null,buildPalette:cc,buildPaletteObject:I,defaultColors:qr,getColorPalette:$r,paletteColorsGreys:nc,paletteColorsPlatform:oc,paletteColorsPrimary:dc,paletteColorsSecondary:lc,paletteColorsUtils:sc},Symbol.toStringTag,{value:"Module"})),pc=Object.freeze(Object.defineProperty({__proto__:null,color:ac,palette:uc},Symbol.toStringTag,{value:"Module"}));exports.AIProfile=Wi;exports.APP_STATUS_TYPE=R;exports.AUDIENCE=Oe;exports.AdminLogs=sa;exports.Animations=Ca;exports.AppColumnsDefaultTypes=tr;exports.AppFieldFormPropertyTypes=C;exports.AppFormBannedFromViews=wt;exports.AppFormFieldOnlyInView=ar;exports.AppFormFixedList=vs;exports.AppFormItemTypes=l;exports.AppFormNoAsFieldList=rr;exports.AppFormNonPrimaryList=nr;exports.AppFormPrimaryListValues=oi;exports.AppFormUniqueListCheck=hs;exports.Application=ba;exports.Article=va;exports.AssetReservation=Pa;exports.Bookmark=Ja;exports.Calendar=Za;exports.Comment=on;exports.ContentReport=cn;exports.Description=or;exports.Element=sr;exports.ExtraAppFieldsItemName=er;exports.ExtraAppFieldsItemViews=A;exports.ExtraBot=pn;exports.Faq=Tn;exports.FileIntegrity=En;exports.FileIntegritySlice=Nt;exports.Hook=Ln;exports.MagicPad=Pn;exports.MapExtraFieldsWithView=F;exports.MediaLibrary=Yn;exports.MessageColor=Xd;exports.Model=Qi;exports.Network=ls;exports.Platform=ys;exports.STUDIO_DISPLAY=Y;exports.STUDIO_VIEW=Et;exports.Share=Ts;exports.SocialActions=Es;exports.StatusType=q;exports.SurveyDate=_o;exports.TVDisplay=el;exports.TeamWork=Q;exports.TinyMCE=Jo;exports.Toast=g;exports.UserCurrent=nl;exports.Utils=pc;exports.VisioConnect=De;exports.Wall=dl;exports.WedocApp=Al;exports.Widget=Zt;exports.WidgetEditor=Gd;exports.actions=Pi;exports.adminLogsReducer=na;exports.adminLogsSlice=ti;exports.aiProfileSlice=Ni;exports.animationsReducer=Ta;exports.animationsSlice=ii;exports.archivePermanentRoom=Ir;exports.contentReportSlice=Hi;exports.createPermanentRoom=wr;exports.deleteQuarantine=fe;exports.extraBotSlice=Pt;exports.fetchAIProfile=ie;exports.fetchExtraBotListAll=X;exports.fetchExtraBotListMines=le;exports.fetchFileIntegrityList=pe;exports.fetchFolderFiles=Se;exports.fetchMediaLibraryConfig=Ce;exports.fetchMediaLibraryFilesStats=be;exports.fetchMediaLibraryFolders=Ae;exports.fetchMediaLibraryFoldersStats=Ee;exports.fetchMediaLibraryStats=he;exports.fetchMediaLibraryUnclassifiedFiles=Te;exports.fetchPads=ye;exports.fetchPermanentRooms=we;exports.fetchReports=se;exports.fetchTeamworkPermanentRooms=Le;exports.fetchWallFilters=Ie;exports.initialState=zt;exports.jland=xn;exports.magicPadSlice=zi;exports.mediaLibraryReducer=Kn;exports.mediaLibrarySlice=si;exports.releaseQuarantine=ge;exports.saveExtraBot=ce;exports.selectExtraBotListAll=Xi;exports.selectExtraBotListMines=Ji;exports.selectFileIntegrityAction=Ki;exports.selectFileIntegrityList=Yi;exports.selectWall=Or;exports.selectWallFilters=Rr;exports.selectWallFiltersTaxonomies=Dr;exports.setAIProfile=re;exports.slice=Jt;exports.studio=xo;exports.teamWorkSlice=ci;exports.teamworkReducer=$o;exports.toggleExtraBotActivation=de;exports.unarchivePermanentRoom=kr;exports.updateListBotProperty=Gi;exports.updatePermanentRoom=Lr;exports.updateStatus=oe;exports.updateWidgetContent=Bd;exports.viewsList=vt;exports.visioConnectSlice=Yt;exports.wallSlice=Qt;
113
+ </display>`}}),e.length>0&&(e=`<displays type="${t.idApp}">${e}</displays>`),e}function co(t,e){switch(e.type){case A.TITLE:return"title";case A.SENDALERTTOSUBSCRIBERS:return"sendAlert";case A.RECEIVEACOPY:return"alertAuthor";case A.PUBLISHTO:return"publishTo";case A.USER:return"idUser";case A.CREATIONDATE:return"dateCreation";case l.DESCRIPTION:return"description";default:return di(t)}}function uo(t,e){let i="";const r=co(t,e);if(e.isLockedValue){const n={ref:r,fixedValue:e.value};if(i+=`<html><![CDATA[ <!-- <JAMESPOT.STUDIO.FIXED>${JSON.stringify(n)}</JAMESPOT.STUDIO.FIXED> -->`,e.type===A.PUBLISHTO){const s=e.value.map(o=>o.uri).join(",");i+=`<input type="hidden" name="publishTo" value="${s}">`}else if(e.type===A.USER||e.type===l.USERLINK||e.type===l.CONTENTLINK)i+=`<input type="hidden" name="${r}[]" value=${JSON.stringify(e.value.uri)}>`;else if(e.type===l.SELECT)e.properties.find(o=>o.propertyType===C.OPTIONS_EDITOR)?.value.canSelectMultiple?e.value.forEach(c=>{i+=`<input type="hidden" name="${r}[]" value="${c.value}">`}):i+=`<input type="hidden" name="${r}" value="${e.value.value}">`;else if(e.type===l.CHECKBOX)e.value.forEach(o=>{i+=`<input type="hidden" name="${r}[]" value="${o}">`});else if(e.type===l.DATE){const s=new Date(e.value),o=[P(s.getDate()),P(s.getMonth()+1),s.getFullYear()].join("/");i+='<input type="hidden" name="'+r+'" value="'+o+'">'}else if(e.type===l.DATETIME){const s=new Date(e.value),o=`${[P(s.getDate()),P(s.getMonth()+1),s.getFullYear()].join("/")} ${P(s.getHours())}:${P(s.getMinutes())}:${P(s.getSeconds())}`;i+='<input type="hidden" name="'+r+'" value="'+o+'">'}else e.type===l.TAGS?i+=`<input type="hidden" name="${r}" value="${e.value?.map(s=>s.uri)?.join(",")}">`:e.type===l.DESCRIPTION||e.type===l.TEXTAREAHTML?i+=`<input type="hidden" name="${r}" value="${e.value}">`:e.type===A.RECEIVEACOPY?e.value&&(i+='<input type="hidden" name="alertAuthor[jamespot]"><input type="hidden" ng-model="form.alertAuthor" name="alertAuthor[]" value="1">'):e.type===A.SENDALERTTOSUBSCRIBERS?e.value&&(i+='<input type="hidden" name="sendAlert[jamespot]"><input type="hidden" ng-model="form.sendAlert" name="sendAlert[]" value="1">'):i+=`<input type="hidden" name="${r}" value="${e.value}">`;i+="]]></html>"}else switch(e.type){case l.CODEHTML:{const n={id:t,name:t,properties:{code:e.value}};i+=`<html><![CDATA[ <!-- <JAMESPOT.STUDIO.CODEHTML>${JSON.stringify(n)}</JAMESPOT.STUDIO.CODEHTML><JAMESPOT.STUDIO.FIELD_POS>${e.pos}</JAMESPOT.STUDIO.FIELD_POS>-->${e.value}]]></html>`;break}case l.IMAGE:i+="<image />";break;case A.PUBLISHTO:i+="<publishTo />";break;default:i+="<attr name='"+r+"' />";break}return i}function P(t){return t<10?"0"+t:t}const pr={"create-popup":"popup",create:"create",edit:"edit",display:"view",displayDisabled:"view"},Mi=["title","alertAuthor","sendAlert"],po=["edito"];function gr(t,e,i){return Object.assign({},...wt.map(r=>{const a={};let n=[];F[r]?.optional!==void 0&&(n=n.concat(F[r]?.optional??[]));let s=[];F[r]?.fixed!==void 0&&(s=s.concat(F[r]?.fixed??[])),Object.entries(t[r]).forEach(([y,f])=>{f.isFixed&&(a[y]=f,s.splice(s.findIndex(u=>u===f.type),1)),f.isOptional&&(a[y]=f,n.splice(n.findIndex(u=>u===f.type),1))});const o=new Set(s.concat(n)),c={[A.CREATIONDATE]:()=>Cr(!1),[A.TITLE]:()=>bt({fixedValue:void 0}),[A.USER]:()=>Tr(!1),[A.RECEIVEACOPY]:()=>yr({fixedValue:void 0}),[A.SENDALERTTOSUBSCRIBERS]:()=>Ar({fixedValue:void 0}),[A.PUBLISHTO]:()=>Sr({fixedValue:void 0})};o.forEach(y=>{const f=c[y];if(f){const[u,S]=f();a[u]=S}else console.error("ExtraAppFieldsItemViews does not have this field type: "+y)});const p=[];return i.forEach((y,f)=>{const u=y.views[r],S=Object.keys(t[r]).includes(y.id),E=y.type;if(vt.get(E)?.includes(r))return;let h;if(E===l.CODEHTML){const w=y.properties?.find(D=>D.propertyType===C.RICHTEXT);w?.value&&(h=w?.value)}if(E===l.SELECT){const w=y.properties?.find(D=>D.propertyType===C.OPTIONS_EDITOR);if(S){const D=t[r][y.id],Me=D.properties?.find(Gr=>Gr.propertyType===C.OPTIONS_EDITOR),Vr=!!w?.value?.canSelectMultiple,Hr=!!Me?.value?.canSelectMultiple;Vr===Hr&&(h=D.value)}else{const Me=!!w?.isOptionsEditorEnhanced&&w?.value.defaultSelectOption?w?.value.defaultSelectOptionValue:"";Me&&(h=Me)}}if(S){const w=t[r][y.id];a[y.id]={...w,properties:y.properties??w.properties??[],...h!==void 0&&{value:h},isUsed:u,pos:e?.[r]?f:w.pos,isLockedValue:(h!==void 0||w.value!==void 0)&&w.isLockedValue}}else{p.push({id:y.id,idx:f});const w=Object.values(t[r]).filter(D=>!D.isFixed&&!D.isOptional).length;a[y.id]={type:y.type,properties:y.properties??[],isUsed:u,isOptional:!1,isLockedValue:!1,isFixed:!1,value:h??null,pos:e?.[r]?f:w+f}}}),e?.[r]||p.forEach(y=>{const f=a[y.id];f.pos=y.idx+1,Object.keys(a).forEach(u=>{const S=a[u];S&&!Object.values(er).includes(u)&&u!==y.id&&S.pos>=f.pos&&S.pos++})}),{[r]:a}}))}function go(t){return t.map(e=>({id:`${e.type}/${e.id}`,uri:`${e.type}/${e.id}`,shortUri:`${e.type}/${e.id}`,title:e.title,name:e.title,mainType:e.type,type:e.mainType,label:e.type,cssClass:e._cssClass,cssColor:e._cssColor,class:e._cssClass,Pseudo:e.title,_url:e._url}))}function fo(t,e,i){const r=t.typeModel.tables,a=t.typeModel.displays;if(!a)return;const n=new Map;Object.entries(a).forEach(s=>{const[o,c]=s;Object.keys(pr).includes(o)&&mo(e,n,o,c,r,i)}),yo(e,n,t.columns,r,i),Ao(e,n,t.attrExposed,r,i)}function mo(t,e,i,r,a,n){const s=pr[i];if(t.views[s]={},s==="view"){const[o,c]=bt({fixedValue:void 0});t.views[s][o]=c}r.composants.forEach((o,c)=>{let p;if(o.name&&po.includes(o.name))return;const[y,f]=Co(t,e,o,a,n);if(y===-1&&f)switch(f.ref){case"title":{if(s==="view")break;const[u,S]=bt(f);t.views[s][u]=S;break}case"alertAuthor":{const[u,S]=yr(f);t.views[s][u]=S;break}case"sendAlert":{const[u,S]=Ar(f);t.views[s][u]=S;break}case"publishTo":{const[u,S]=Sr(f);t.views[s][u]=S;break}default:console.error("fixed field info with unsupported ref ",f);break}else if(y!==-1){if(p=t.fields[y],!p?.views)throw new Error(`error converting installed app to V2: created field not found in fields array: ${y}, ${f}`);p.views[s]=!0,mr(s,p,t,c,f)}})}function yo(t,e,i,r,a){i&&Object.keys(i).forEach((n,s)=>{fr(t,e,r,"list",n,s,a)})}function Ao(t,e,i,r,a){i.forEach((n,s)=>{fr(t,e,r,"filter",n,s,a)})}function fr(t,e,i,r,a,n,s){switch(a){case"title":{const[o,c]=bt({fixedValue:void 0});t.views[r][o]=c;break}case"iduser":case"idUser":{const[o,c]=Tr();t.views[r][o]=c;break}case"datecreation":case"dateCreation":{const[o,c]=Cr();t.views[r][o]=c;break}default:So(t,e,i,r,a,n,s);break}}function So(t,e,i,r,a,n,s){const o=To(t,e,i,a,s),c=t.fields[o];if(!c?.views)throw new Error(`error converting installed app to V2: unable to handle ${a} in list view`);c.views[r]=!0,mr(r,c,t,n,void 0)}function To(t,e,i,r,a){const n=e.get(r);if(n!==void 0)return n;const[s,o]=$t(t,r,i,a);return e.set(s,o),o}function Co(t,e,i,r,a){if(i.name!==void 0&&i.element==="attr"){if(Mi.includes(i.name))return[-1,{ref:i.name,fixedValue:void 0}];const n=e.get(i.name);if(n!==void 0)return[n,void 0];const[s,o]=$t(t,i.name,r,a);return e.set(s,o),[o,void 0]}else if(i.element==="html"){const n=i.html;if(n===void 0)return console.error("error while parsing studio installed html attr in a view: no html code"),[-1,void 0];if(n.includes("<JAMESPOT.STUDIO.FIXED>")){const s=n.indexOf("<JAMESPOT.STUDIO.FIXED>")+23,o=n.indexOf("</JAMESPOT.STUDIO.FIXED>"),c=n.substring(s,o);try{const p=JSON.parse(c);if(p?.ref.toUpperCase()in A){const S=p.ref.toUpperCase();return[-1,{...p,ref:ur(S)}]}if(Mi.includes(p?.ref))return[-1,p];const y=e.get(p?.ref);if(y!==void 0)return[y,p];const[f,u]=$t(t,p.ref,r,a);return e.set(f,u),[u,p]}catch{return console.error("error while parsing studio installed fixed attr in a view: json parsing failed"),[-1,void 0]}}else if(n.includes("<JAMESPOT.STUDIO.CODEHTML>"))try{const s=n.indexOf("<JAMESPOT.STUDIO.CODEHTML>")+26,o=n.indexOf("</JAMESPOT.STUDIO.CODEHTML>"),c=n.substring(s,o),p=JSON.parse(c),y=e.get(p?.name);if(y!==void 0)return[y,void 0];const f=xs(p),u=t.fields.push(f)-1;return e.set(f.id,u),[u,void 0]}catch{return console.error("error while parsing studio installed codehtml attr in a view: json parsing failed"),[-1,void 0]}else return console.error("error while parsing studio installed html attr in a view: unknown html format"),[-1,void 0]}else if(i.element==="image"){const n=e.get("image");if(n!==void 0)return[n,void 0];const s=js(),o=t.fields.push(s)-1;return e.set("image",o),[o,void 0]}else return i.element==="publishTo"?[-1,{ref:"publishTo",fixedValue:void 0}]:(console.error("error while parsing studio installed attr in a view: unknown attr :O"),[-1,void 0])}function $t(t,e,i,r){const a=Eo(e,i),n=bo(a),s=(function(){switch(n){case l.ADDFILEATTACHMENT:return Ms(a);case l.NUMBER:return _s(a);case l.TAGS:return Ps(a);case l.SELECT:return Ns(a);case l.RADIO:return cr(a);case l.CHECKBOX:return Ws(a);case l.CONTENTLINK:return Fs(a,r);case l.DESCRIPTION:return Bs(a);case l.TEXTAREAHTML:return $s(a);case l.DATE:return qs(a);case l.DATETIME:return Vs(a);case l.URL:return Hs(a);case l.EMAIL:return Gs(a);case l.TOGGLE:return Xs(a);case l.USERLINK:return Js(a);case l.TEXTAREA:return Ks(a);case l.TEXT:default:return Us(a)}})(),o=t.fields.push(s)-1;return[e,o]}function Eo(t,e){let i;for(let r=0;r<e.length&&!i;r++)i=e[r]?.attributes.find(a=>a.name===t);if(!i)throw new Error("error converting installed app to V2: installed field not found in tables "+t);return i}function mr(t,e,i,r,a){e.views&&(e.views[t]=!0,i.views[t][e.id]={type:e.type,properties:e.properties??[],isUsed:!0,isOptional:!1,isLockedValue:!!a?.fixedValue,isFixed:!1,value:a?.fixedValue??null,pos:r})}function bo(t){switch(t.widget.type){case"number":return l.NUMBER;case"taxonomy":return l.TAGS;case"date":return l.DATE;case"datetime":return l.DATETIME;case"select":return l.SELECT;case"radio":return l.RADIO;case"url":return l.URL;case"email":return l.EMAIL;case"file":return l.ADDFILEATTACHMENT;case"checkbox":return t.widget.options?.["1"]==="GLOBAL_Yes"?l.TOGGLE:l.CHECKBOX;case"uri":if(t.widget.params?.views==="user")return l.USERLINK;if(t.widget.params?.views==="article")return l.CONTENTLINK;break;case"textarea":if(t.attrType==="longtext"||t.attrType==="text")return l.TEXTAREA;if(t.attrType==="html")return t.name==="description"?l.DESCRIPTION:l.TEXTAREAHTML;break;case"text":return l.TEXT}throw new Error("error converting installed app to V2: installed field type not recognized for field "+t.name+":"+JSON.stringify(t))}function bt(t,e=!0){return["title",{type:A.TITLE,properties:[],isUsed:e,isOptional:!1,isLockedValue:!!t?.fixedValue,isFixed:!0,value:t?.fixedValue??null,pos:0}]}function yr(t,e=!0){return["alertAuthor",{type:A.RECEIVEACOPY,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:300}]}function Ar(t,e=!0){return["sendAlert",{type:A.SENDALERTTOSUBSCRIBERS,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:200}]}function Sr(t,e=!0){return["publishTo",{type:A.PUBLISHTO,properties:[],isUsed:e,isOptional:!0,isLockedValue:!!t?.fixedValue,isFixed:!1,value:t?.fixedValue??[],pos:100}]}function Tr(t=!0){return["user",{type:A.USER,properties:[],isUsed:t,isOptional:!1,isLockedValue:!1,isFixed:!0,value:null,pos:1}]}function Cr(t=!0){return["dateCreation",{type:A.CREATIONDATE,properties:[],isUsed:t,isOptional:!0,isLockedValue:!1,isFixed:!1,value:null,pos:100}]}function ho(t,e,i){const{version:r,dateCreation:a}=t.manifest,n=t.typeModel,s=Object.assign({},...wt.map(u=>({[u]:{}}))),o=t,c=!!t.columns&&Object.keys(t.columns).length>0,p={idApp:t.idApp,status:qt(t),studioVersion:2,manifest:{appShortName:t.label,appName:t.label,description:t.description,author:t.author,cssColor:n.cssColor??"#392994",cssClass:{label:n.cssClass??"star",value:n.cssClass??"star"},version:r,dateCreation:a,checkAccess:!1,accessRightList:"",attrExposed:[],display:c?Y.TABLE:Y.FLUX,viewSolr:t.view==="solr"?Et.SOLR:Et.NOT_SOLR,typeLabel:n.typeLabel,articlesCount:t.articlesCount??0,displayContentLegacyTable:!!o?.typeModel?.displays?.displayDisabled},fields:[],views:s,installFor:t.accessRightObjectList?go(t.accessRightObjectList):[],audience:t.checkAccess===!1?Oe.ALL:Oe.CUSTOM};fo(t,p,i),p.views=gr(p.views,p.syncViewFieldOrder,p.fields);const y=wo(t.idApp,e);if(!y)return p;const f=Er(y);return f&&(p.inWorkVersion=f),p}function Er(t){if(!t.value)return;const e=JSON.parse(t.value);return e.studioVersion==2?{idApp:t.idApp,studioVersion:2,status:qt(t),manifest:e.manifest,fields:e.fields,views:e.views,syncViewFieldOrder:e.syncViewFieldOrder,audience:e.audience,installFor:e.installFor}:{...lr(e),status:qt(t),migratedFrom:1}}function qt(t){return t.status===m.StudioApplicationStatus.installed?t.suspended?q.suspended:q.installed:q.draft}function wo(t,e){return e.find(r=>r.idApp===t&&r.status===m.StudioApplicationStatus.saved)}function vo(t,e){return!!e.find(i=>i.idApp===t&&i.status===m.StudioApplicationStatus.installed)}function br(t,e){return t.map(r=>{try{return r.status===m.StudioApplicationStatus.installed?ho(r,t,e):vo(r.idApp,t)?void 0:Er(r)}catch(a){console.error(a);return}}).filter(r=>r!==void 0)}const Lo={currentStudioApp:null,fetchCurrentStudioAppStatus:"idle",saveCurrentStudioAppStatus:"idle",installStudioAppStatus:"idle",hasChanged:!1},nt=d.createAsyncThunk("studio/fetchCurrentStudioApp",async({idApp:t,status:e},{extra:i,rejectWithValue:r,getState:a})=>{const n=i.jApi,s={error:1,errorMsg:"Error fetching application"};try{const o=(await n.application.studioGet(t,e)).result,c=br([o],a())[0];return c||r(s)}catch{return r(s)}}),st=d.createAsyncThunk("studio/saveCurrentStudioApp",async(t,{extra:e,rejectWithValue:i,getState:r,dispatch:a})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},o=r().studio.currentStudioApp.currentStudioApp;if(!o)return i(s);const c=JSON.stringify(o);try{await n.application.studioSave(o.idApp,c,"saved"),a(g.actions.success({label:"APPSTUDIO_AppItem_Edition_Saved"}));return}catch(p){return a(g.actions.error({label:T(p)})),i(s)}}),ot=d.createAsyncThunk("studio/installApp",async({callback:t},{extra:e,rejectWithValue:i,getState:r,dispatch:a})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},o=r().studio.currentStudioApp.currentStudioApp;if(!o)return i(s);const c=Ys(o);try{await n.application.studioInstall(c),a(g.actions.success({label:"APPSTUDIO_AppItem_Installed"})),t&&t();return}catch(p){return a(g.actions.error({label:T(p)})),i(s)}}),ht=d.createSlice({name:"currentStudioApp",initialState:Lo,reducers:{setCurrentApp:(t,e)=>{t.currentStudioApp=e.payload},resetCurrentApp:t=>{t.currentStudioApp=null},setHasChanged:(t,e)=>{t.hasChanged=e.payload}},extraReducers:t=>{t.addCase(nt.pending,e=>{e.fetchCurrentStudioAppStatus==="idle"&&(e.fetchCurrentStudioAppStatus="pending")}).addCase(nt.fulfilled,(e,i)=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle"),e.currentStudioApp=i.payload}).addCase(nt.rejected,e=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle")}).addCase(st.pending,e=>{e.saveCurrentStudioAppStatus==="idle"&&(e.saveCurrentStudioAppStatus="pending")}).addCase(st.fulfilled,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(st.rejected,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(ot.pending,e=>{e.installStudioAppStatus==="idle"&&(e.installStudioAppStatus="pending")}).addCase(ot.fulfilled,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")}).addCase(ot.rejected,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")})}});function hr(t,e,i){const r=t.studioVersion!==2?JSON.parse(JSON.stringify(lr(t))):JSON.parse(JSON.stringify(t));if(delete r.inWorkVersion,i)r.manifest.version=r.manifest.version+.1;else{const a=M(),n=`${t.manifest.appName} Copie`;r.idApp=a,r.status=R.DRAFT,r.manifest={...r.manifest,appName:n,appShortName:n,author:e??r.manifest.author??"",dateCreation:new Date().toISOString(),version:.1,articlesCount:0}}return[r,r.idApp]}function Io({author:t,appName:e}){const i=M(),r=Object.assign({},...wt.map(a=>{const n={};return F[a]?.fixed.forEach((s,o)=>{n[M()]={type:s,properties:[],isUsed:!0,isOptional:!1,isFixed:!0,isLockedValue:!1,value:null,pos:o}}),F[a]?.optional.forEach((s,o)=>{n[M()]={type:s,properties:[],isUsed:!0,isOptional:!0,isFixed:!1,isLockedValue:!1,value:s==="SENDALERTTOSUBSCRIBERS"||s==="RECEIVEACOPY"?!0:null,pos:(o+1)*100}}),{[a]:n}}));return{newAppId:i,newStudioApp:{idApp:i,status:R.DRAFT,author:t??"",studioVersion:2,manifest:{appShortName:e,appName:e,author:t??"",description:"",typeLabel:"",cssColor:"#392994",cssClass:{label:"star",value:"star"},version:.1,dateCreation:new Date().toISOString(),viewSolr:Et.SOLR,display:Y.TABLE,checkAccess:!1,accessRightList:"",attrExposed:[],articlesCount:0},syncViewFieldOrder:{create:!0,popup:!0,view:!0,edit:!0,list:!0,filter:!0},fields:[],views:r,audience:Oe.CUSTOM,installFor:[]}}}function Ne(t,e){return t.manifest.appName>e.manifest.appName?1:-1}const ko={loadingStudioAppsList:"idle",deleteStudioAppStatus:"idle",suspendStudioAppStatus:"idle",restartStudioAppStatus:"idle",cloneStudioAppStatus:"idle",createInWorkAppStatus:"idle",createNewStudioAppStatus:"idle"},lt=d.createAsyncThunk("studio/appsList",async(t,{extra:e,rejectWithValue:i,dispatch:r,getState:a})=>{const n=e.jApi;try{const{result:s}=await n.application.studioList(),o=await n.taxonomy.list(),p=(await Promise.allSettled(s.map(async f=>{const u=(await n.application.studioGet(f.idApp,f.status)).result,S=(await n.article.count(f.idApp)).result;return{...u,articlesCount:S}}))).map(f=>f.status==="fulfilled"?f.value:null).reduce((f,u)=>u!==null?f.concat([u]):f,[]),y=br(p,a());return y.forEach(async f=>{f.fields=xi(f.fields,o,t),f.inWorkVersion&&(f.inWorkVersion.fields=xi(f.inWorkVersion.fields,o,t))}),y}catch(s){throw console.error(s),r(g.actions.error({label:T(s)})),i({error:1,errorMsg:"Error retrieving applications"})}});function xi(t,e,i){return t.map(r=>{if(r.type!==l.TAGS)return r;const a=JSON.parse(JSON.stringify(r)),n=a.properties?.find(o=>o.propertyType===C.TAXONOMY),s=e.find(o=>o.id===n?.value.id);return s&&n&&(n.value.title=i.formatMessage({id:s.title}),n.value.type=s.type),a})}const dt=d.createAsyncThunk("studio/createApp",async({appName:t,callback:e},{extra:i,dispatch:r,rejectWithValue:a,getState:n})=>{const s=i.jApi,o=n().userCurrent?.uri,{newAppId:c,newStudioApp:p}=Io({appName:t,...o&&{author:o}});try{return await s.application.studioSave(c,JSON.stringify(p),"saved"),r(g.actions.success({label:"APPSTUDIO_StudioApp_Created"})),r(ht.actions.setCurrentApp(p)),e&&e(),p}catch(y){throw r(g.actions.error({label:T(y)})),a({error:1,errorMsg:"Error creating application"})}}),ct=d.createAsyncThunk("studio/deleteApp",async({idApp:t,status:e},{extra:i,rejectWithValue:r,dispatch:a})=>{const n=i.jApi;try{const s=await n.application.studioDelete(t,e);return a(g.actions.success({label:"APPSTUDIO_StudioApp_Deleted"})),s}catch(s){return a(g.actions.error({label:T(s)})),r({error:1,errorMsg:"Error deleting application"})}}),ut=d.createAsyncThunk("studio/suspendStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:r})=>{const a=e.jApi;try{await a.application.studioSuspend(t),r(g.actions.success({label:"APPSTUDIO_AppItem_Suspended"}))}catch(n){throw r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Error suspending application"})}}),pt=d.createAsyncThunk("studio/restartStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:r})=>{const a=e.jApi;try{await a.application.studioRestart(t),r(g.actions.success({label:"APPSTUDIO_AppItem_Restarted"}))}catch(n){throw r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Error restarting application"})}}),gt=d.createAsyncThunk("studio/cloneStudioApp",async({idApp:t,inWork:e},{extra:i,getState:r,rejectWithValue:a,dispatch:n})=>{const s=i.jApi;let o=r().studio.studioAppsList.studioAppsList?.find(u=>u.idApp===t);if(!o)return a({error:1,errorMsg:"Error cloning application"});if(e)if(o.inWorkVersion!==void 0)o=o.inWorkVersion;else return a({error:1,errorMsg:"Error cloning application"});const c=r().userCurrent?.uri,[p,y]=hr(o,c),f=JSON.stringify(p);try{return await s.application.studioSave(y,f,"saved"),n(g.actions.success({label:"APPSTUDIO_AppItem_Cloned"})),p}catch(u){return n(g.actions.error({label:T(u)})),a({error:1,errorMsg:"Error cloning application"})}}),ft=d.createAsyncThunk("studio/createInWorkStudioApp",async({idApp:t},{extra:e,getState:i,rejectWithValue:r,dispatch:a})=>{const n=e.jApi,s=i().studio.studioAppsList.studioAppsList?.find(f=>f.idApp===t);if(!s||![R.INSTALLED,R.SUSPENDED].includes(s.status))return r({error:1,errorMsg:"Error cloning application"});const o=i().userCurrent?.uri,[c,p]=hr(s,o,!0),y=JSON.stringify(c);try{return await n.application.studioSave(p,y,"saved"),a(g.actions.success({label:"APPSTUDIO_AppItem_CreateInWork"})),c}catch(f){return a(g.actions.error({label:T(f)})),r({error:1,errorMsg:"Error creating in work version for application"})}}),Vt=d.createSlice({name:"studioAppsList",initialState:ko,reducers:{setAppsList:(t,e)=>{t.studioAppsList=[...e.payload].sort(Ne)}},extraReducers:t=>{t.addCase(lt.pending,e=>{e.loadingStudioAppsList==="idle"&&(e.loadingStudioAppsList="pending")}).addCase(lt.fulfilled,(e,i)=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle"),e.studioAppsList=[...i.payload].sort(Ne)}).addCase(lt.rejected,e=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle")}).addCase(ct.pending,e=>{e.deleteStudioAppStatus==="idle"&&(e.deleteStudioAppStatus="pending")}).addCase(ct.fulfilled,(e,i)=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.reduce((r,a)=>{const{idApp:n}=i.meta.arg;let{status:s}=i.meta.arg;return s===R.INSTALLED&&(s=R.SUSPENDED),a.idApp===n&&a.status===s?a.inWorkVersion&&a.status===R.SUSPENDED?(a.inWorkVersion.status=R.DRAFT,[...r,a.inWorkVersion]):r:(a.inWorkVersion?.idApp===n&&a.inWorkVersion?.status===s&&delete a.inWorkVersion,[...r,a])},[])??[]}).addCase(ct.rejected,e=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle")}).addCase(ut.pending,e=>{e.suspendStudioAppStatus==="idle"&&(e.suspendStudioAppStatus="pending")}).addCase(ut.fulfilled,(e,i)=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(r=>{const{idApp:a}=i.meta.arg;return r.idApp===a&&(r.status=R.SUSPENDED),r})??[]}).addCase(ut.rejected,e=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle")}).addCase(pt.pending,e=>{e.restartStudioAppStatus==="idle"&&(e.restartStudioAppStatus="pending")}).addCase(pt.fulfilled,(e,i)=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(r=>{const{idApp:a}=i.meta.arg;return r.idApp===a&&(r.status=R.INSTALLED),r})??[]}).addCase(pt.rejected,e=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle")}).addCase(gt.pending,e=>{e.cloneStudioAppStatus==="idle"&&(e.cloneStudioAppStatus="pending")}).addCase(gt.fulfilled,(e,i)=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(Ne)}).addCase(gt.rejected,e=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle")}).addCase(ft.pending,e=>{e.createInWorkAppStatus==="idle"&&(e.createInWorkAppStatus="pending")}).addCase(ft.fulfilled,(e,i)=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle");const r=e.studioAppsList?.find(a=>a.idApp===i.payload.idApp);r&&(r.inWorkVersion=i.payload)}).addCase(ft.rejected,e=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle")}).addCase(dt.pending,e=>{e.createNewStudioAppStatus==="idle"&&(e.createNewStudioAppStatus="pending")}).addCase(dt.fulfilled,(e,i)=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(Ne)}).addCase(dt.rejected,e=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle")})}}),Oo=d.combineReducers({[Vt.name]:Vt.reducer,[ht.name]:ht.reducer});function Ro(t){return t.studio.studioAppsList}function Do(t){return t.studio.currentStudioApp}const Mo={name:"studio",reducer:Oo},xo={slice:Mo,actions:{...Vt.actions,...ht.actions,fetchStudioAppsList:lt,deleteStudioApp:ct,suspendStudioApp:ut,restartStudioApp:pt,cloneStudioApp:gt,createNewStudioApp:dt,fetchCurrentStudioApp:nt,saveCurrentStudioApp:st,installStudioApp:ot,createInWorkStudioApp:ft},selectors:{selectStudioAppsList:Ro,selectCurrentStudioApp:Do},utils:{updateViewsFromFields:gr,generateNewFormField:Re}},jo=function(t){return[{namespace:"SURVEY-DATE",function:"submit",handler:function(i){i.namespace==="SURVEY-DATE"&&i.function==="submit"&&t(i.object)}}]},_o={getSurveyDateRTHandlers:jo},Po={messages:[],status:"idle",summary:void 0,jobUid:void 0},Ht=d.createSlice({name:"teamWorkAiDaySummary",initialState:Po,reducers:{setDaySummaryMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:r}=e.payload;t.status=i,t.messages=r},setDaySummary:(t,e)=>{e.payload.jobUid===t.jobUid&&(t.summary=e.payload.summary)},resetDaySummaryState:t=>{t.status="idle",t.messages=[],t.jobUid=void 0,t.summary=void 0}},extraReducers:t=>{t.addCase(mt.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(mt.fulfilled,(e,i)=>{e.status=i.payload.state,e.messages=i.payload.messages,e.summary=i.payload.summary,e.jobUid=i.payload.jobUid}),t.addCase(mt.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]})}}),mt=d.createAsyncThunk("teamWork/Ai/startDaySummaryCreation",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{return(await e.jApi.teamWorkAi.daySummary({forceGeneration:t},{signal:a})).result}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),No={messages:[],status:"idle",tasks:void 0,jobUid:void 0,uriAiTodo:void 0},Gt=d.createSlice({name:"teamWorkAiTasks",initialState:No,reducers:{setTasksMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:r}=e.payload;t.status=i,t.messages=r},setTasks:(t,e)=>{e.payload.jobUid===t.jobUid&&(t.tasks=e.payload.tasks,t.uriAiTodo=e.payload.uriAiTodo)},resetTasksState:t=>{t.status="idle",t.messages=[],t.jobUid=void 0,t.tasks=void 0,t.uriAiTodo=void 0}},extraReducers:t=>{t.addCase(yt.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(yt.fulfilled,(e,i)=>{e.status=i.payload.state,e.messages=i.payload.messages,e.tasks=i.payload.tasks,e.jobUid=i.payload.jobUid,e.uriAiTodo=i.payload.uriAiTodo}),t.addCase(yt.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]}),t.addCase(wr.fulfilled,(e,i)=>{e.tasks=i.payload})}}),yt=d.createAsyncThunk("teamWork/Ai/startToDoCreation",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{return(await e.jApi.teamWorkAi.generateToDo({forceGeneration:t},{signal:a})).result}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),wr=d.createAsyncThunk("teamWork/Ai/setToDoDone",async(t,{extra:e,rejectWithValue:i,dispatch:r,signal:a})=>{try{return(await e.jApi.teamWorkAi.todoDone(t,{signal:a})).result}catch(n){return b(n)||r(g.actions.error({label:T(n)})),i({error:1,errorMsg:"GLOBAL_Technical_Error"})}}),Wo=function(t){return[{namespace:"TEAMWORK",function:"updateTodo",handler:function(r){r.namespace==="TEAMWORK"&&r.function==="updateTodo"&&(t(Q.actions.setTasksMessageAndStatus({status:r.state,messages:r.messages,jobUid:r.jobUid})),r.state==="success"&&t(Q.actions.setTasks({tasks:r.tasks,jobUid:r.jobUid,uriAiTodo:r.uriAiTodo})))}},{namespace:"TEAMWORK",function:"updateDaySummary",handler:function(r){r.namespace==="TEAMWORK"&&r.function==="updateDaySummary"&&(t(Q.actions.setDaySummaryMessageAndStatus({status:r.state,messages:r.messages,jobUid:r.jobUid})),r.state==="success"&&t(Q.actions.setDaySummary({summary:r.summary,jobUid:r.jobUid})))}}]},Fo=t=>t.teamWork.teamWorkAiTasks,Uo=t=>t.teamWork.teamWorkAiDaySummary,Bo=d.combineReducers({[Gt.name]:Gt.reducer,[Ht.name]:Ht.reducer}),ci={name:"teamWork",reducer:Bo},$o=ci.reducer,Q={slice:ci,actions:{...Gt.actions,...Ht.actions,startToDoCreation:yt,startDaySummaryCreation:mt,setToDoDone:wr},selectors:{selectToDoState:Fo,selectDaySummaryState:Uo},getTeamWorkRTHandlers:Wo},qo={},Xt=d.createSlice({name:"options",initialState:qo,reducers:{initOptions:(t,{payload:e})=>e}}),Vo=d.combineReducers({[Xt.name]:Xt.reducer}),Ho={name:"tinymce",reducer:Vo},Go=t=>t.tinymce.options.common,Xo=t=>t.tinymce.options.extended,Jo={slice:Ho,actions:{...Xt.actions},selectors:{selectTinyMCECommonOptions:Go,selectTinyMCEExtendedOptions:Xo}},Ko={channels:void 0,loading:"idle",loadingChannelDeletion:"idle"},we=d.createAsyncThunk("/fetchChannels",async(t,{extra:e})=>{const i=t??1,r=e.jApi;return await new Promise((a,n)=>{const s={type:"tvDisplayChannel",page:i,orders:[{name:"id",sort:"DESC"}]};r.article.list(s,{format:"raw-list"}).then(o=>{a(o.result)}).catch(o=>{n({error:o.error??1,errorMsg:o.errorMsg??"Error retrieving channels"})})})}),At=d.createAsyncThunk("/deleteChannel",async({channel:t},{extra:e,dispatch:i})=>{const r=e.jApi;return await new Promise((a,n)=>{r.article.delete(t.id).then(s=>{a(s.result),i(we())}).catch(s=>{n({error:s.error??1,errorMsg:s.errorMsg??"Error deleting channel"})})})}),ji=d.createSlice({name:"channelsList",initialState:{...Ko},reducers:{},extraReducers:t=>{t.addCase(we.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(we.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.channels=i.payload)}).addCase(we.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(At.pending,e=>{e.loadingChannelDeletion="pending"}).addCase(At.fulfilled,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")}).addCase(At.rejected,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")})}});function Yo(t){return t.tvChannelType==="DYNAMIC"?!!t.tvChannelBackgroundColor&&!!t.tvChannelGroupTarget:t.tvChannelNumImages!==0}const zo=d.combineReducers({[ji.name]:ji.reducer}),Qo={name:"tvDisplay",reducer:zo},Zo=function(e){return e.tvDisplay.channelsList},el={slice:Qo,actions:{fetchChannels:we,deleteChannel:At},selectors:{selectChannelsList:Zo},utils:{isChannelConfigured:Yo}},tl={id:0,mainType:"user",type:"user",uri:"user/0",title:"",_url:"",dateCreation:"",dateModified:"",level:0,active:1},Jt=d.createSlice({name:"userCurrent",initialState:tl,reducers:{init:(t,{payload:e})=>e}}),il=t=>t.userCurrent,rl=t=>t.level===m.UserLevel.ADMIN,al=t=>t.id!==0,nl={slice:Jt,actions:{...Jt.actions},selectors:{get:il},utils:{isAdmin:rl,isLogged:al}},Kt=[{name:"name",sort:"ASC"}],sl={list:{loading:"idle",data:[],page:1,filters:[],orders:Kt,limit:20,nbResults:0},tab:"my"},Yt=d.createSlice({name:"visioConnect",initialState:sl,reducers:{setTab:(t,e)=>{t.tab=e.payload,t.list.page=1,m.deepEqual(t.list.orders,Kt)||(t.list.orders=Kt),t.list.filters.length>0&&(t.list.filters=[])},setPage:(t,e)=>{t.list.page=e.payload},setFilters:(t,e)=>{m.deepEqual(t.list.filters,e.payload)||(t.list.filters=e.payload)},setOrders:(t,e)=>{m.deepEqual(t.list.orders,e.payload)||(t.list.orders=e.payload)}},extraReducers:t=>{t.addCase(ve.pending,e=>{e.list.loading="pending"}).addCase(ve.fulfilled,(e,i)=>{e.list.loading="idle",e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt}).addCase(ve.rejected,e=>{e.list.loading="idle"}).addCase(Le.pending,e=>{e.list.loading="pending"}).addCase(Le.fulfilled,(e,i)=>{e.list.loading="idle",e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt}).addCase(Le.rejected,e=>{e.list.loading="idle"})}}),ve=d.createAsyncThunk("visioConnect/fetchPermanentRooms",async(t,{rejectWithValue:e,extra:i,dispatch:r,getState:a})=>{const n=a().visioConnect;try{const s=[...n.list.filters],o=n.list.orders.length>0?n.list.orders:[{name:"name",sort:"ASC"}],c=n.tab,p={filters:s,orders:o,page:n.list.page,limit:n.list.limit};if(c==="my")return(await i.jApi.visioConnect.getPermanentRoomsMy(p)).result;if(c==="all")return(await i.jApi.visioConnect.getPermanentRoomsAll(p)).result;if(c==="archive")return(await i.jApi.visioConnect.getPermanentRoomsArchive(p)).result;throw Error("Unhandled tab")}catch(s){return b(s)||r(g.actions.error({label:T(s)})),e({error:1,errorMsg:"Cannot fetch rooms"})}}),Le=d.createAsyncThunk("visioConnect/fetchTeamworkPermanentRooms",async(t,{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=[],n=[{name:"name",sort:"ASC"}];return(await i.jApi.visioConnect.getPermanentRoomsMy({filters:a,orders:n,page:1,limit:10})).result}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot fetch rooms"})}}),vr=d.createAsyncThunk("visioConnect/createPermanentRoom",async({room:t,token:e},{rejectWithValue:i,extra:r,dispatch:a})=>{try{const n=(await r.jApi.visioConnect.createPermanentRoom({room:t,token:e})).result;return a(De.actions.fetchPermanentRooms()),a(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Create_Success"})),n}catch(n){return b(n)||a(g.actions.error({label:T(n)})),i({error:1,errorMsg:"Cannot save room"})}}),Lr=d.createAsyncThunk("visioConnect/updatePermanentRoom",async({room:t,token:e,uri:i},{rejectWithValue:r,extra:a,dispatch:n})=>{try{const s=(await a.jApi.visioConnect.updatePermanentRoom({uri:i,room:t,token:e})).result;return n(De.actions.fetchPermanentRooms()),n(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Update_Success"})),s}catch(s){return b(s)||n(g.actions.error({label:T(s)})),r({error:1,errorMsg:"Cannot save room"})}}),Ir=d.createAsyncThunk("visioConnect/archivePermanentRoom",async({uri:t},{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=(await i.jApi.visioConnect.archivePermanentRoom(t)).result;return r(De.actions.fetchPermanentRooms()),r(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Archive_Success"})),a}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot archive room"})}}),kr=d.createAsyncThunk("visioConnect/unarchivePermanentRoom",async({uri:t},{rejectWithValue:e,extra:i,dispatch:r})=>{try{const a=(await i.jApi.visioConnect.unarchivePermanentRoom(t)).result;return r(De.actions.fetchPermanentRooms()),r(g.actions.success({label:"APP_VisioConnect_PermanentRoom_Unarchive_Success"})),a}catch(a){return b(a)||r(g.actions.error({label:T(a)})),e({error:1,errorMsg:"Cannot unarchive room"})}}),ol=t=>t.visioConnect.tab,ll=t=>t.visioConnect.list,De={slice:Yt,actions:{archivePermanentRoom:Ir,unarchivePermanentRoom:kr,createPermanentRoom:vr,updatePermanentRoom:Lr,fetchPermanentRooms:ve,fetchTeamworkPermanentRooms:Le,...Yt.actions},selectors:{selectVisioConnectTab:ol,selectVisioConnectList:ll}},Ie=d.createAsyncThunk("wall/fetchWallFilters",async(t,{extra:e,rejectWithValue:i})=>{try{return(await e.jApi.wall.getFilters()).result}catch(r){return i(r)}}),zt={filters:[],taxonomies:[],loading:"idle"},Qt=d.createSlice({name:"wall",initialState:zt,reducers:{setFilters:(t,e)=>{t.filters=e.payload},setLoading:(t,e)=>{t.loading=e.payload},reset:()=>zt},extraReducers:t=>{t.addCase(Ie.pending,e=>{e.loading="pending"}),t.addCase(Ie.fulfilled,(e,i)=>{e.loading="idle",e.filters=i.payload.filterList,e.taxonomies=i.payload.taxonomies}),t.addCase(Ie.rejected,e=>{e.loading="idle"})}}),Or=t=>t.wall,Rr=t=>t.wall.filters,Dr=t=>t.wall.taxonomies,dl={slice:Qt,actions:{...Qt.actions,fetchWallFilters:Ie},selectors:{selectWall:Or,selectWallFilters:Rr,selectWallFiltersTaxonomies:Dr}},cl=4,_=d.createAsyncThunk("/fetchFiles",async({page:t,query:e,folder:i,tab:r},{extra:a,getState:n})=>{const s=a.jApi,o=n(),c=r??o.wedoc.tab,p=t??o.wedoc.page,y=e??o.wedoc.query,f=i!==void 0?i?.uri??null:o.wedoc.currentFolder?.uri;return c==="my-documents"?await s.wedoc.listMy({page:p,query:y,limit:o.wedoc.limit,uriFolder:f??void 0},{format:"raw-list",extensions:["parentArticle"]}):c==="shared-with-me"?await s.wedoc.listSharedWithMe({page:p,limit:o.wedoc.limit,query:y},{format:"raw-list",extensions:["parentArticle"]}):await s.wedoc.getFiles({page:p,limit:o.wedoc.limit,orders:[{name:"dateCreation",sort:"DESC"}],query:y},{format:"raw-list",extensions:["parentArticle"]})}),St=d.createAsyncThunk("/fetchRecentFiles",async(t,{extra:e,getState:i})=>{const r=e.jApi,n=i().wedoc.tab==="my-documents"?[{name:"idUser",value:"0"}]:[];return await r.wedoc.getFiles({filters:n,limit:cl,orders:[],page:1},{format:"raw-list"})}),ul=d.createAsyncThunk("/setCurrentFolder",async(t,{dispatch:e,getState:i})=>(t?.uri!==i().wedoc.currentFolder?.uri&&await e(_({page:1,query:"",folder:t})),t)),pl=d.createAsyncThunk("/setQuery",async(t,{dispatch:e,getState:i})=>(t!==i().wedoc.query&&await e(_({page:1,query:t})),t)),gl=d.createAsyncThunk("/setTab",async(t,{dispatch:e})=>(await e(_({page:1,query:"",folder:null,tab:t})),t)),fl=d.createAsyncThunk("/setPage",async(t,{dispatch:e,getState:i})=>(t!==i().wedoc.page&&await e(_({page:t})),t)),ml={entities:[],nbEntities:0,entitiesRecent:[],tab:"my-documents",loading:"idle",loadingRecent:"idle",query:"",page:1,currentFolder:null,limit:12},yl=d.createSlice({name:"wedoc",initialState:ml,reducers:{update:(t,e)=>{t.entities=[...t.entities.map(i=>i.id===e.payload.id?{...i,...e.payload}:i)]}},extraReducers:t=>{t.addCase(_.pending,(e,i)=>{e.loading="pending",e.page=i.meta.arg.page??e.page,e.query=i.meta.arg.query??e.query,e.tab=i.meta.arg.tab??e.tab}).addCase(_.fulfilled,(e,i)=>{e.loading="idle";const{data:r,cnt:a}=i.payload.result;e.entities=r,e.nbEntities=a,e.currentFolder=i.meta.arg.folder!==void 0?i.meta.arg.folder:e.currentFolder}).addCase(_.rejected,e=>{e.loading="idle"}).addCase(St.pending,e=>{e.loadingRecent="pending"}).addCase(St.fulfilled,(e,i)=>{e.loadingRecent="idle",e.entitiesRecent=i.payload.result.data}).addCase(St.rejected,e=>{e.loadingRecent="idle"})}}),Al={slice:yl,selectors:{getFiles:t=>({entities:t.wedoc.entities,nbEntities:t.wedoc.nbEntities,loading:t.wedoc.loading==="pending",tab:t.wedoc.tab,query:t.wedoc.query,page:t.wedoc.page,limit:t.wedoc.limit}),getRecent:t=>({entities:t.wedoc.entitiesRecent,loading:t.wedoc.loadingRecent==="pending",tab:t.wedoc.tab}),getCurrentFolder:t=>t.wedoc.currentFolder},actions:{reloadFiles:()=>_({}),fetchRecentFiles:St,setCurrentFolder:ul,setQuery:pl,setTab:gl,setPage:fl}};function ui(){let t="";for(let e=0;e<16;e++)t+=((1+Math.random())*65536|0).toString(16).substring(1);return t}const Mr="WIDGET_Check_List",xr="WIDGET_Check_List_Description",jr="WIDGET_Quick_Survey",_r="WIDGET_Quick_Survey_Text",Sl=Object.freeze(Object.defineProperty({__proto__:null,WIDGET_CHECK_LIST_DESCRIPTION:xr,WIDGET_CHECK_LIST_LABEL:Mr,WIDGET_QUICK_SURVEY_DESCRIPTION:_r,WIDGET_QUICK_SURVEY_LABEL:jr},Symbol.toStringTag,{value:"Module"})),Tl={label:"WIDGET_Accessibility",description:"WIDGET_Accessibility_Text",name:m.WidgetsName.Accessibility,img:"/img/fast-intranet/widget-accessibility.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Cl={fontSize:14,textColor:"#000000",padding:10},El={label:"WIDGET_Article_Attachment",description:"WIDGET_Article_Attachment_Description",name:m.WidgetsName.ArticleAttachment,img:"/img/article-widget-thumbnail/widget_thumbnail_files.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},bl={files:[]},hl={label:"WIDGET_BUTTON",description:"WIDGET_Button_Description",name:m.WidgetsName.ArticleButton,img:"/img/article-widget-thumbnail/widget_thumbnail_button.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},wl={text:"",openingType:"link",openingTypeLink:{url:"",target:"_blank"},variant:"contained",fontSize:"14",color:"#fff",backgroundColor:"#4dbf96",buttonSize:"lg",borderRadius:"4"},_i={label:"WIDGET_Article_Gallery",description:"WIDGET_Article_Gallery_Description",name:m.WidgetsName.ArticleGallery,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},vl={files:[],gap:"4",column:"3"},Ll={label:"WIDGET_Article_Image",description:"WIDGET_Article_Image_Description",name:m.WidgetsName.ArticleImage,img:"/img/article-widget-thumbnail/widget_thumbnail_illustration.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Il={},kl={label:"WIDGET_Slider",description:"WIDGET_Slider_Description",name:m.WidgetsName.ArticleSlider,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Ol={slides:[],maxWidth:800,loop:!1,useDots:!0,startAt:0},Rl={label:"WIDGET_Text",description:"WIDGET_Text_Description",name:m.WidgetsName.ArticleText,img:"/img/article-widget-thumbnail/widget_thumbnail_text.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Dl={text:""},Ml={label:"WIDGET_Title",description:"WIDGET_Title_Description",name:m.WidgetsName.ArticleTitle,img:"/img/article-widget-thumbnail/widget_thumbnail_title.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},xl={text:"",heading:"h1",backgroundColor:"transparent"},jl={label:"WIDGET_CALENDAR",description:"WIDGET_Calendar_Text",name:m.WidgetsName.Calendar,img:"/img/fast-intranet/widget-calendar.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},_l={view:"list"},Pl={label:"WIDGET_Calendar_CalDav",description:"WIDGET_Calendar_CalDav_Text",name:m.WidgetsName.CalendarCalDav,img:"/img/fast-intranet/widget-calendar-calDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Nl={calEventsLimit:!1,calEventsLimitValue:10,calEventsPromptStatus:"shared"},Wl={label:Mr,description:xr,name:m.WidgetsName.CheckList,img:"/img/fast-intranet/widget-check-list.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},Fl={arr:[],edit:!1},Ul={label:"WIDGET_Color",description:"WIDGET_Color_Text",name:m.WidgetsName.Color,img:"/img/fast-intranet/widget-color.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},Bl={},$l={label:"WIDGET_Contact_CardDav",description:"WIDGET_Contact_CardDav_Text",name:m.WidgetsName.ContactCardDav,img:"/img/fast-intranet/widget-contact-cardDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},ql={contactLimit:!1,contactLimitValue:10,contactPromptStatus:"shared"},Vl={label:"WIDGET_Datasource_Table",description:"WIDGET_Datasource_Table_Description",name:m.WidgetsName.DatasourceTable,img:"/img/fast-intranet/widget-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Hl={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Gl={label:"WIDGET_Email_IMAP",description:"WIDGET_Email_IMAP_Text",name:m.WidgetsName.EmailsImap,img:"/img/fast-intranet/widget-emails-imap.png",available:!0,displayLevel:[1,2,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Xl={emailsLimit:!1,emailsLimitValue:10,emailsPromptStatus:"shared"},Jl={label:"WIDGET_Excel_Datasource_Table",description:"WIDGET_Excel_Datasource_Table_Text",name:m.WidgetsName.ExcelDatasourceTable,img:"/img/fast-intranet/widget-excel-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},Kl={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Yl={label:"WIDGET_Extension",description:"WIDGET_Extension_Description",name:m.WidgetsName.Extension,img:"/img/article-widget-thumbnail/widget-extension.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},zl={extensionName:""},Ql={label:"WIDGET_Lucca_Absence",description:"WIDGET_Lucca_Absence_Text",name:m.WidgetsName.LuccaAbsence,img:"/img/fast-intranet/widget-lucca-absence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Zl={url:""},ed={label:"WIDGET_Presence",description:"WIDGET_Presence_Text",name:m.WidgetsName.Presence,img:"/img/fast-intranet/widget-presence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},td={closing:!1,limit:!1,limitValue:100},id={label:jr,description:_r,name:m.WidgetsName.QuickSurvey,img:"/img/fast-intranet/widget-quick-survey.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},rd={arr:[{title:""}],open:!1,multi:!1,closing:!1,isClosed:!1,showResult:!1,isNotDisabled:!1},ad={label:"WIDGET_User_Profil",description:"WIDGET_User_Profil_Text",name:m.WidgetsName.UserProfile,img:"/img/fast-intranet/widget-user-profil.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},nd={},sd={label:"WIDGET_Slider",description:"WIDGET_Slider_Text",name:m.WidgetsName.Slider,img:"/img/fast-intranet/widget-slider.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},od={},ld={label:"WIDGET_Welcome",description:"WIDGET_Welcome_Text",name:m.WidgetsName.Welcome,img:"/img/fast-intranet/widget-welcome.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},dd={},cd={label:"WIDGET_Cover",description:"WIDGET_Cover_Text",name:m.WidgetsName.Cover,img:"/img/fast-intranet/widget-cover.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},ud={},pd={label:"WIDGET_Text",description:"WIDGET_Text_Text",name:m.WidgetsName.Text,img:"/img/fast-intranet/widget-text.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1,useSync:!0}},gd={};function fd(t){switch(t){default:return _i;case"widget-accessibility":return Tl;case"widget-article-gallery":return _i;case"widget-article-attachment":return El;case"widget-presence":return ed;case"widget-article-slider":return kl;case"widget-article-text":return Rl;case"widget-article-title":return Ml;case"widget-article-image":return Ll;case"widget-datasource-table":return Vl;case"widget-excel-datasource-table":return Jl;case"widget-article-button":return hl;case"widget-check-list":return Wl;case"widget-quick-survey":return id;case"widget-calendar-calDav":return Pl;case"widget-contact-cardDav":return $l;case"widget-lucca-absence":return Ql;case"widget-emails-imap":return Gl;case"widget-welcome":return ld;case"widget-user-profil":return ad;case"widget-extension":return Yl;case"widget-calendar":return jl;case"widget-slider":return sd;case"widget-color":return Ul;case"widget-cover":return cd;case"widget-text":return pd}}const md={[m.WidgetsName.Accessibility]:Cl,[m.WidgetsName.ArticleAttachment]:bl,[m.WidgetsName.ArticleButton]:wl,[m.WidgetsName.ArticleGallery]:vl,[m.WidgetsName.ArticleImage]:Il,[m.WidgetsName.ArticleSlider]:Ol,[m.WidgetsName.ArticleText]:Dl,[m.WidgetsName.ArticleTitle]:xl,[m.WidgetsName.Calendar]:_l,[m.WidgetsName.CalendarCalDav]:Nl,[m.WidgetsName.CheckList]:Fl,[m.WidgetsName.Color]:Bl,[m.WidgetsName.ContactCardDav]:ql,[m.WidgetsName.Cover]:ud,[m.WidgetsName.DatasourceTable]:Hl,[m.WidgetsName.EmailsImap]:Xl,[m.WidgetsName.ExcelDatasourceTable]:Kl,[m.WidgetsName.Extension]:zl,[m.WidgetsName.LuccaAbsence]:Zl,[m.WidgetsName.Presence]:td,[m.WidgetsName.QuickSurvey]:rd,[m.WidgetsName.Slider]:od,[m.WidgetsName.SyncContent]:{},[m.WidgetsName.Text]:gd,[m.WidgetsName.UserProfile]:nd,[m.WidgetsName.Welcome]:dd};function yd(t){return{title:"",level:3,widget:Ad(t)}}function Ad(t){return{uniqid:ui(),name:t,content:Sd(t)}}function Sd(t){return{...md[t]}}const Td={token:void 0,ids:{},layers:{},states:{},modal:void 0,editableMap:{},currentEditableIndex:-1,currentEditableWidgetId:void 0,widgetObject:{},widgetObjectRights:{},widgetAuthor:{},widgetWrapperBackgroundImage:{},widgetWrapperStyle:{},widgetTitleStyle:{},widgetChipCount:{},flushedWidgets:[],rtObjectStack:[],widgetContext:{},widgetSynchronizationStates:{},widgetUrls:{}},Cd=[m.WidgetsName.ArticleTitle,m.WidgetsName.ArticleText,m.WidgetsName.ArticleImage,m.WidgetsName.ArticleButton,m.WidgetsName.ArticleSlider,m.WidgetsName.ArticleAttachment],Z=d.createSlice({name:"widgets",initialState:Td,reducers:{registerWidget:(t,e)=>{const{uniqid:i,widget:r,context:a}=e.payload;if(t.ids[i]){console.error(`Widget with uniqid ${i} is already registered.`);return}t.ids[i]=r,t.states[i]??={busy:!1,initialized:void 0,loading:!1,mounted:!1,hover:!1,empty:Cd.includes(r.widget.name),locked:!1},t.widgetContext[i]=a},registerWidgetObject:(t,e)=>{const{uniqid:i,object:r}=e.payload;t.widgetObject[i]=r},registerWidgetObjectRights:(t,e)=>{const{uniqid:i,rights:r}=e.payload;t.widgetObjectRights[i]=r},registerWidgetAuthor:(t,e)=>{const{uniqid:i,author:r}=e.payload;t.widgetAuthor[i]=r},setWidgetChipCount:(t,e)=>{const{uniqid:i,count:r}=e.payload;t.widgetChipCount[i]=r},setWidgetWrapperBackgroundImage:(t,e)=>{const{uniqid:i,payload:r}=e.payload;t.widgetWrapperBackgroundImage[i]=r},setWidgetWrapperStyle:(t,e)=>{const{uniqid:i,styles:r}=e.payload;t.widgetWrapperStyle[i]={...t.widgetWrapperStyle[i],...r}},setWidgetSynchronizationState:(t,e)=>{t.widgetSynchronizationStates[e.payload.uniqid]=e.payload.state},setWidgetUrl:(t,e)=>{t.widgetUrls[e.payload.uniqid]=e.payload.url},setWidgetTitleStyle:(t,e)=>{const{uniqid:i,styles:r}=e.payload;t.widgetTitleStyle[i]={...t.widgetTitleStyle[i],...r}},updateWidget:(t,e)=>{const{uniqid:i}=e.payload,r={...t.ids[i]};t.states[i]?.locked||t.ids[i]&&r.widget&&(t.ids[i]=Object.assign({...t.ids[i],widget:{...r.widget,content:e.payload.override?e.payload.content:Object.assign({...r.widget.content,...e.payload.content})}}))},replaceWidget:(t,e)=>{const{uniqid:i}=e.payload,r={...t.ids[i]};t.states[i]?.locked||t.ids[i]&&r.widget&&(t.ids[i]=Object.assign({...t.ids[i],widget:{...r.widget,name:e.payload.name,content:e.payload.content}}))},registerWidgetRTObject:(t,e)=>{const{uniqid:i,fn:r,object:a}=e.payload;t.rtObjectStack=[...t.rtObjectStack,{uniqid:i,fn:r,object:a}]},flushWidget:(t,e)=>{const{uniqid:i}=e.payload;delete t.ids[i],delete t.states[i],delete t.widgetContext[i],delete t.widgetObject[i],delete t.widgetObjectRights[i],delete t.widgetAuthor[i],delete t.widgetChipCount[i],delete t.widgetWrapperStyle[i],delete t.widgetTitleStyle[i],t.flushedWidgets.push(i)},flushAllWidget:t=>{t.flushedWidgets=[...t.flushedWidgets,...Object.keys(t.ids)],t.ids={},t.states={}},updateWidgetWrapper:(t,e)=>{const{uniqid:i}=e.payload;t.ids[i]&&(t.ids[i]=Object.assign({...t.ids[i],...e.payload}))},registerLayer:(t,e)=>{const i=ui(),r={...t.ids[e.payload.uniqid]};r.widget&&(t.ids[e.payload.uniqid]&&r.widget.layers?t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...r.widget,layers:[...r.widget.layers,i]}}):t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...r.widget,layers:[i]}}),t.ids[e.payload.widget.widget.uniqid]=e.payload.widget,t.states[e.payload.widget.widget.uniqid]={busy:!1,initialized:!1,loading:!1,mounted:!1,hover:!1,empty:!0},t.layers[i]={uniqid:i,widgets:[e.payload.widget],title:`Layer ${i}`,visible:!0,locked:!1,position:{x:0,y:0}})},updateLayer:(t,e)=>{t.layers[e.payload.uniqid]&&(t.layers[e.payload.uniqid]=Object.assign({...t.layers[e.payload.uniqid],...e.payload.props}))},flushLayer:(t,e)=>{const i={...t.ids[e.payload.uniqid]};i.widget?.layers&&(t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...i.widget,layers:[...i.widget.layers.filter(r=>r!==e.payload.layerId)]}}),delete t.layers[e.payload.layerId])},prevEditableIndex:t=>{const e=Object.keys(t.ids).length;t.currentEditableIndex=t.currentEditableIndex===0?e-1:t.currentEditableIndex-1},nextEditableIndex:t=>{const e=Object.keys(t.ids).length;t.currentEditableIndex=t.currentEditableIndex<e-1?t.currentEditableIndex+1:0},setEditableIndex:(t,e)=>{t.currentEditableIndex=e.payload.index},setEditableWidgetId:(t,e)=>{t.currentEditableWidgetId=e.payload.uniqid},registerEditableWidget:(t,e)=>{t.editableMap[e.payload.uniqid]=e.payload},setToken:(t,e)=>{t.token=e.payload.token},setWidgetState:(t,e)=>{const{uniqid:i}=e.payload;({...t.states[i]}!==void 0)&&(t.states[i]={...t.states[i],...e.payload})},setAllWidgetStates:(t,e)=>{Object.keys(t.states).map(i=>{({...t.states[i]}!==void 0)&&(t.states[i]={...t.states[i],...e.payload})})},registerModal:(t,e)=>{t.modal=e.payload},flushModal:t=>{t.modal=void 0}}}),Ed=function(t,e){return[{namespace:"WIDGET",function:"widget-presence-response",handler:function(s){s.namespace==="WIDGET"&&s.function==="widget-presence-response"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}},{namespace:"WIDGET",function:"check-list-response",handler:function(s){s.namespace==="WIDGET"&&s.function==="check-list-response"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}},{namespace:"WIDGET",function:"widget-update",handler:function(s){s.namespace==="WIDGET"&&s.function==="widget-update"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}},{namespace:"WIDGET",function:"widget-quick-survey-response",handler:function(s){s.namespace==="WIDGET"&&s.function==="widget-quick-survey-response"&&s.data?.uniqid===e&&t(Z.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}}]},bd=t=>t.widgets.token,hd=t=>t.widgets.modal,wd=t=>t.widgets.ids,vd=t=>t.widgets.flushedWidgets,Ld=(t,e)=>t.widgets.states[e]??void 0,Id=(t,e)=>t.widgets.ids[e]??void 0,kd=(t,e)=>t.widgets.ids[e]?.level??void 0,Od=(t,e)=>t.widgets.widgetObject[e]??void 0,Rd=(t,e)=>{const i=t.widgets.widgetObject[e];if(i&&"uri"in i)return i.uri},Dd=(t,e)=>t.widgets.widgetObjectRights[e]??void 0,Md=(t,e)=>t.widgets.widgetContext[e]??void 0,xd=(t,e)=>t.widgets.widgetAuthor[e]??void 0,jd=(t,e)=>t.widgets.widgetChipCount[e]??0,_d=(t,e)=>t.widgets.widgetWrapperStyle[e]??{},Pd=(t,e)=>t.widgets.widgetTitleStyle[e]??{},Nd=(t,e)=>t.widgets.widgetSynchronizationStates[e]??!1,Wd=(t,e)=>t.widgets.widgetUrls[e]??void 0,Fd=(t,e)=>t.widgets.currentEditableWidgetId===e,Ud=(t,e)=>t.widgets.widgetWrapperBackgroundImage[e]??void 0,Bd=(t,e)=>t.widgets.rtObjectStack.filter(i=>i.uniqid===e),$d=(t,e,i)=>r=>{r(Zt.slice.actions.setWidgetState({uniqid:t,lastUpdatedTimestamp:Date.now()})),r(Zt.slice.actions.updateWidget({uniqid:t,content:e,override:i??!1}))},Zt={const:Sl,factory:yd,definition:fd,utils:{uniqid:ui},slice:Z,getWidgetRTHandlers:Ed,selectors:{isActive:Fd,selectToken:bd,selectWidgets:wd,selectWidget:Id,selectWidgetState:Ld,selectModal:hd,selectWidgetObject:Od,selectWidgetObjectUri:Rd,selectWidgetAuthor:xd,selectWidgetObjectRights:Dd,selectAllWidgetRTObject:Bd,selectFlushedWidgets:vd,selectWidgetContext:Md,selectWidgetLevel:kd,selectWidgetWrapperStyle:_d,selectWidgetTitleStyle:Pd,selectWidgetChipCount:jd,selectWidgetSynchronizationState:Nd,selectWidgetWrapperBackgroundImage:Ud,selectWidgetUrl:Wd}},qd={editors:[]},Vd=d.createSlice({name:"editors",initialState:qd,reducers:{registerEditor:(t,e)=>{const{uniqid:i,name:r,onSave:a,mode:n}=e.payload,s=a?{uniqid:i,name:r,onSave:a,position:"right",mode:n??"view"}:{uniqid:i,name:r,position:"right",mode:n??"view"};t.editors=t.editors.find(o=>o.uniqid===i)?t.editors:[...t.editors,s]},registerEditorPopup:(t,e)=>{const{uniqid:i,view:r}=e.payload;t.editors=[...t.editors.map(a=>a.uniqid===i?{...a,popup:!0,view:r}:a)]},flushEditorPopup:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.map(r=>r.uniqid===i?{...r,popup:!1}:r)]},setEditorPosition:(t,e)=>{const{uniqid:i,position:r}=e.payload;t.editors=[...t.editors.map(a=>a.uniqid===i?{...a,position:r}:a)]},flushEditor:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.filter(r=>r.uniqid!==i)]},flushAllEditor:t=>{window.dispatchEvent(new Event("WidgetEditorFlushAll")),t.editors.length=0}}}),Hd=t=>t.editors.editors,Gd=(t,e)=>t.editors.editors.find(i=>i.uniqid===e),Xd={slice:Vd,selectors:{selectEditors:Hd,selectEditor:Gd}},Jd={success:"green",error:"red",warning:"yellow"};function J(t){return String(t).padStart(2,"0")}function Kd(t,e){return`${t}${{10:"1a",20:"33",30:"4d",40:"66",50:"80",60:"99",70:"b3",80:"cc",90:"e6"}[e]}`}const G={isValid:Pr,rgb:(t,e,i)=>({toHex:()=>({string:()=>"#"+J(t.toString(16))+J(e.toString(16))+J(i.toString(16))}),toHsb:()=>({values:()=>te(t,e,i),hue:()=>te(t,e,i)[0],staturation:()=>te(t,e,i)[1],brightness:()=>te(t,e,i)[2]})}),hsl:(t,e,i)=>({toHex:()=>({values:()=>ei(t,e,i),string:()=>{const r=ei(t,e,i);return"#"+r[0]+r[1]+r[2]}})}),hsb:(t,e,i)=>({toRgb:()=>({values:()=>ee(t,e,i),red:()=>ee(t,e,i)[0],green:()=>ee(t,e,i)[1],blue:()=>ee(t,e,i)[2]})}),hex:t=>({toRgbaColor:e=>`rgba(${String(k(t).r).padStart(2,"0")},${String(k(t).g).padStart(2,"0")},${String(k(t).b).padStart(2,"0")},${String(e)})`,toRgbColor:()=>`rgb(${String(k(t).r).padStart(2,"0")},${String(k(t).g).padStart(2,"0")},${String(k(t).b).padStart(2,"0")})`,toRgb:()=>({values:()=>k(t),red:()=>k(t).r,green:()=>k(t).g,blue:()=>k(t).b}),toHsl:()=>({values:()=>x(t),hue:()=>x(t)[0],saturation:()=>Math.round(x(t)[1]),luminance:()=>Math.round(x(t)[2]),string:()=>{const e=x(t);return"hsl("+e[0]+","+Math.round(e[1])+"%,"+Math.round(e[2])+"%)"}})})},Yd=t=>{const e=t.replace("#","");return parseInt(e,16)>16777215/2?"black":"white"},zd=t=>{const e=t.replace("#",""),i=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),a=parseInt(e.substring(4,6),16);return(i*299+r*587+a*114)/1e3>=125?"black":"white"};function Pr(t){return String(t).startsWith("#")&&String(t).length>=4&&String(t).length<=7}const kt=t=>parseInt(t,16),k=t=>({r:kt(t.substring(1,3)),g:kt(t.substring(3,5)),b:kt(t.substring(5,7))}),Qd=function(t,e){try{if(e<-1||e>1||t[0]!=="#"||t.length!==4&&t.length!==7)return;let i=t.slice(1);i.length==3&&(i=`${i[0]}${i[0]}${i[1]}${i[1]}${i[2]}${i[2]}`);const r=i.match(new RegExp("[0-9a-fA-F]{2}","g"));return r?.length!==3?void 0:r.map(n=>{const s=parseInt(n,16),o=e<0?s:255-s,c=Math.ceil(o*e);return(s+c).toString(16).toUpperCase().padStart(2,"0")}).reduce((n,s)=>`${n}${s}`,"#")}catch{return}},ee=(t,e,i)=>{const r=n=>(n+t/60)%6,a=n=>i*(1-e*Math.max(0,Math.min(r(n),4-r(n),1)));return[Math.round(255*a(5)),Math.round(255*a(3)),Math.round(255*a(1))]},te=(t,e,i)=>{t/=255,e/=255,i/=255;const r=Math.max(t,e,i),a=r-Math.min(t,e,i),n=a===0?0:a&&r===t?(e-i)/a:r===e?2+(i-t)/a:4+(t-e)/a;return[Math.round(60*(n<0?n+6:n)),Math.round(r&&a/r*100),Math.round(r*100)]},x=t=>{let e=0,i=0,r=0;t.length==4?(e="0x"+t[1]+t[1],i="0x"+t[2]+t[2],r="0x"+t[3]+t[3]):t.length==7&&(e="0x"+t[1]+t[2],i="0x"+t[3]+t[4],r="0x"+t[5]+t[6]),e/=255,i/=255,r/=255;const a=Math.min(e,i,r),n=Math.max(e,i,r),s=n-a;let o=0,c=0,p=0;return s==0?o=0:n==e?o=(i-r)/s%6:n==i?o=(r-e)/s+2:o=(e-i)/s+4,o=Math.round(o*60),o<0&&(o+=360),p=(n+a)/2,c=s==0?0:s/(1-Math.abs(2*p-1)),c=+(c*100).toFixed(1),p=+(p*100).toFixed(1),[o,c,p]};function ei(t,e,i){e/=100,i/=100;const r=(1-Math.abs(2*i-1))*e,a=r*(1-Math.abs(t/60%2-1)),n=i-r/2;let s=0,o=0,c=0;return 0<=t&&t<60?(s=r,o=a,c=0):60<=t&&t<120?(s=a,o=r,c=0):120<=t&&t<180?(s=0,o=r,c=a):180<=t&&t<240?(s=0,o=a,c=r):240<=t&&t<300?(s=a,o=0,c=r):300<=t&&t<360&&(s=r,o=0,c=a),[J(Math.round((s+n)*255).toString(16)),J(Math.round((o+n)*255).toString(16)),J(Math.round((c+n)*255).toString(16))]}const Nr=t=>{const e=t.indexOf(",")>-1?",":" ",i=t.substring(4).split(")")[0]?.split(e)??[],r=[0,0,0];for(let S=0;S<i.length&&S<3;S++){const E=i[S].trim();E.indexOf("%")>-1?r[S]=Math.round(+E.substring(0,E.length-1)/100*255):r[S]=+E}const a=r[0]/255,n=r[1]/255,s=r[2]/255,o=Math.min(a,n,s),c=Math.max(a,n,s),p=c-o,y=0;let f=0,u=0;return u=(c+o)/2,f=p==0?0:p/(1-Math.abs(2*u-1)),f=+(f*100).toFixed(1),u=+(u*100).toFixed(1),[y,f,u]},Wr="^#(?:[A-Fa-f0-9]{3}){1,2}$",Fr="^rgb\\(\\s*(25[0-5]|2[0-4][0-9]|1?\\d{1,2})\\s*,\\s*(25[0-5]|2[0-4][0-9]|1?\\d{1,2})\\s*,\\s*(25[0-5]|2[0-4][0-9]|1?\\d{1,2})\\s*\\)$|^rgb\\(\\s*(\\d{1,3}(?:\\.\\d+)?%)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?%)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?%)\\s*\\)$",Ur="^hsl\\(\\s*(3[0-5][0-9]|360|[12]?\\d{1,2})\\s*,\\s*(100(?:\\.0+)?|\\d{1,2}(?:\\.\\d+)?)%\\s*,\\s*(100(?:\\.0+)?|\\d{1,2}(?:\\.\\d+)?)%\\s*\\)$",Br=t=>{const e=new RegExp(Wr),i=new RegExp(Fr),r=new RegExp(Ur),a=e.test(t)?x(t):i.test(t)?Nr(t):r.test(t)&&r.exec(t)?.slice(1);let n="";return a&&a[2]&&parseInt(a[2])>50?n="hsl("+a[0]+","+a[1]+"%,"+(parseInt(a[2])-10)+"%)":(a&&a[2]&&parseInt(a[2])<50||a&&a[2]&&parseInt(a[2])===50)&&(n="hsl("+a[0]+","+a[1]+"%,"+(parseInt(a[2])+10)+"%)"),n},Zd=t=>{const e=new RegExp(Wr),i=new RegExp(Fr),r=new RegExp(Ur),a=e.test(t)?x(t):i.test(t)?Nr(t):r.test(t)&&r.exec(t)?.slice(1);return a?+a[2]:-1},ec=(t,e,i)=>"#"+[t,e,i].map(r=>r.toString(16).padStart(2,"0")).join(""),K=t=>Math.round(t).toString(16).padStart(2,"0"),tc=({r:t,g:e,b:i},r)=>`#${K((1-r)*t)}${K((1-r)*e)}${K((1-r)*i)}`,ic=({r:t,g:e,b:i},r)=>`#${K(t+(255-t)*r)}${K(e+(255-e)*r)}${K(i+(255-i)*r)}`,rc=(t,e)=>tc(k(t),e),ac=(t,e)=>ic(k(t),e),nc=Object.freeze(Object.defineProperty({__proto__:null,HSBToRGB:ee,RGBToHSB:te,brightness:Zd,colorContrast:Br,colorTransparency:Kd,colorimetry:G,getContrast50:Yd,getContrastYIQ:zd,getDarkShade:rc,getLightShade:ac,hexToHSL:x,hexToRgb:k,hlsToHex:ei,isValidHexColor:Pr,modifyColorBrightness:Qd,rgbToHex:ec},Symbol.toStringTag,{value:"Module"})),sc=["grey0","grey1","grey2","grey3","grey4","grey5","grey6"],oc=["black","black10","black15","black20","white","transparent","transparentHexa"],lc=["headerColor","headerTextColor","headerUserBackground","headerUserTextColor","headerSearchBarTextColor","headerSearchBarBackgroundColor","navBackground","navTextColor"],dc=["lavender","navy","overseas","night1","night2","sky","sand","yellow"],cc=["primary","secondary","green","red"],$r=t=>{const e=G.hex(t).toHsl();return{light:G.hsl(e.hue(),e.saturation(),95).toHex().string(),medium:G.hsl(e.hue(),e.saturation(),90).toHex().string(),base:t,strong:G.hsl(e.hue(),e.saturation(),e.luminance()-5).toHex().string(),dark:G.hsl(e.hue(),e.saturation()!==0?50:0,30).toHex().string()}},I=(t,e)=>{const i=$r(e);return{[`${t}Light`]:i.light,[`${t}Medium`]:i.medium,[t]:i.base,[`${t}Strong`]:i.strong,[`${t}Dark`]:i.dark}},qr={linkColor:"#392994",buttonColor:"#7364E3",forest:"#0D846B",headerTextColor:"",headerUserBackground:"",headerUserTextColor:"",headerSearchBarTextColor:"#2f373f",navBackground:"#ffffff",navTextColor:"#4A4A52",bgColorNotLogged:""},uc=(t=qr)=>{const e=I("primary",t.buttonColor),i=I("secondary",t.linkColor),r=I("green","#0D846B"),a=I("red","#E12B43"),n=I("lavender","#8F7CEA"),s=I("navy","#131E4B"),o=I("overseas","#392994"),c=I("night1","#2B3870"),p=I("night2","#10162D"),y=I("sky","#9CC9FF"),f=I("sand","#FFEED7"),u=I("yellow","#FFBB54");return{...e,...i,...r,...a,...n,...s,...o,...c,...p,...y,...f,...u,grey6:"#2E2E33",grey5:"#4A4A52",grey4:"#747487",grey3:"#BEBED1",grey2:"#DADAF0",grey1:"#EFEFFF",grey0:"#F8F8FF",black:"#000000",black10:"#00000019",black15:"#00000026",black20:"#00000033",white:"#FFFFFF",transparent:"transparent",transparentHexa:"#ffffff00",headerColor:t.headerColor??"",headerTextColor:t.headerTextColor,headerUserBackground:t.headerUserBackground,headerUserTextColor:t.headerUserTextColor,headerSearchBarTextColor:t.headerSearchBarTextColor,headerSearchBarBackgroundColor:t?.headerSearchBarBackgroundColor??(t?.headerColor?Br(t.headerColor):"#313941"),navBackground:t.navBackground,navTextColor:t.navTextColor}},pc=Object.freeze(Object.defineProperty({__proto__:null,buildPalette:uc,buildPaletteObject:I,defaultColors:qr,getColorPalette:$r,paletteColorsGreys:sc,paletteColorsPlatform:lc,paletteColorsPrimary:cc,paletteColorsSecondary:dc,paletteColorsUtils:oc},Symbol.toStringTag,{value:"Module"})),gc=Object.freeze(Object.defineProperty({__proto__:null,color:nc,palette:pc},Symbol.toStringTag,{value:"Module"}));exports.AIProfile=Wi;exports.APP_STATUS_TYPE=R;exports.AUDIENCE=Oe;exports.AdminLogs=sa;exports.Animations=Ca;exports.AppColumnsDefaultTypes=tr;exports.AppFieldFormPropertyTypes=C;exports.AppFormBannedFromViews=vt;exports.AppFormFieldOnlyInView=ar;exports.AppFormFixedList=ws;exports.AppFormItemTypes=l;exports.AppFormNoAsFieldList=rr;exports.AppFormNonPrimaryList=nr;exports.AppFormPrimaryListValues=oi;exports.AppFormUniqueListCheck=hs;exports.Application=ba;exports.Article=wa;exports.AssetReservation=Pa;exports.Bookmark=Ja;exports.Calendar=Za;exports.Comment=on;exports.ContentReport=cn;exports.Description=or;exports.Element=sr;exports.ExtraAppFieldsItemName=er;exports.ExtraAppFieldsItemViews=A;exports.ExtraBot=pn;exports.Faq=Tn;exports.FileIntegrity=En;exports.FileIntegritySlice=Nt;exports.Hook=Ln;exports.MagicPad=Pn;exports.MapExtraFieldsWithView=F;exports.MediaLibrary=Yn;exports.MessageColor=Jd;exports.Model=Qi;exports.Network=ls;exports.Platform=ys;exports.STUDIO_DISPLAY=Y;exports.STUDIO_VIEW=Et;exports.Share=Ts;exports.SocialActions=Es;exports.StatusType=q;exports.SurveyDate=_o;exports.TVDisplay=el;exports.TeamWork=Q;exports.TinyMCE=Jo;exports.Toast=g;exports.UserCurrent=nl;exports.Utils=gc;exports.VisioConnect=De;exports.Wall=dl;exports.WedocApp=Al;exports.Widget=Zt;exports.WidgetEditor=Xd;exports.actions=Pi;exports.adminLogsReducer=na;exports.adminLogsSlice=ti;exports.aiProfileSlice=Ni;exports.animationsReducer=Ta;exports.animationsSlice=ii;exports.archivePermanentRoom=Ir;exports.contentReportSlice=Hi;exports.createPermanentRoom=vr;exports.deleteQuarantine=fe;exports.extraBotSlice=Pt;exports.fetchAIProfile=ie;exports.fetchExtraBotListAll=X;exports.fetchExtraBotListMines=le;exports.fetchFileIntegrityList=pe;exports.fetchFolderFiles=Se;exports.fetchMediaLibraryConfig=Ce;exports.fetchMediaLibraryFilesStats=be;exports.fetchMediaLibraryFolders=Ae;exports.fetchMediaLibraryFoldersStats=Ee;exports.fetchMediaLibraryStats=he;exports.fetchMediaLibraryUnclassifiedFiles=Te;exports.fetchPads=ye;exports.fetchPermanentRooms=ve;exports.fetchReports=se;exports.fetchTeamworkPermanentRooms=Le;exports.fetchWallFilters=Ie;exports.initialState=zt;exports.jland=xn;exports.magicPadSlice=zi;exports.mediaLibraryReducer=Kn;exports.mediaLibrarySlice=si;exports.releaseQuarantine=ge;exports.saveExtraBot=ce;exports.selectExtraBotListAll=Xi;exports.selectExtraBotListMines=Ji;exports.selectFileIntegrityAction=Ki;exports.selectFileIntegrityList=Yi;exports.selectWall=Or;exports.selectWallFilters=Rr;exports.selectWallFiltersTaxonomies=Dr;exports.setAIProfile=re;exports.slice=Jt;exports.studio=xo;exports.teamWorkSlice=ci;exports.teamworkReducer=$o;exports.toggleExtraBotActivation=de;exports.unarchivePermanentRoom=kr;exports.updateListBotProperty=Gi;exports.updatePermanentRoom=Lr;exports.updateStatus=oe;exports.updateWidgetContent=$d;exports.viewsList=wt;exports.visioConnectSlice=Yt;exports.wallSlice=Qt;