jamespot-front-business 1.3.33 → 1.3.34
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.
- package/dist/jamespot-front-business.cjs +26 -26
- package/dist/jamespot-front-business.js +1483 -1251
- package/dist/src/store/hook/hook.d.ts +3 -0
- package/dist/src/store/index.d.ts +1 -0
- package/dist/src/store/visioConnect/visioConnect.d.ts +312 -0
- package/dist/src/store/visioConnect/visioConnect.mock.d.ts +9 -0
- package/dist/src/store/visioConnect/visioConnect.types.d.ts +35 -0
- package/dist/src/tests-utils/mockStore.d.ts +2 -0
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/store.d.ts +2 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@reduxjs/toolkit"),E=require("jamespot-user-api"),fa=function(t){return[{namespace:"JAMESPOT",function:"article-create",handler:function(i){i.namespace==="JAMESPOT"&&i.function==="article-create"&&t(i.object)}}]},ma={getArticleRTHandlers:fa},w=t=>!!t&&typeof t=="object"&&"aborted"in t&&!!t.aborted,S=(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",he=d.createEntityAdapter({selectId:t=>t.id}),nt=d.createSlice({name:"toasts",initialState:he.getInitialState(),reducers:{addOne:he.addOne,removeOne:he.removeOne}}),ya=()=>Math.random().toString(16).slice(2),Te=({id:t=ya(),...e},i="success",a=3e3)=>r=>{const n={id:t,...e,timeout:a,type:i};return r(nt.actions.addOne(n)),setTimeout(()=>{r(nt.actions.removeOne(t))},a),t},yi={addMessage:Te,success:(t,e)=>Te(t,"success",e),warning:(t,e)=>Te(t,"warning",e),error:(t,e)=>Te(t,"error",e)},Aa=he.getSelectors(t=>t.toasts),f={slice:nt,actions:{...yi,...nt.actions},selectors:Aa},Gt=t=>t.toISOString().slice(0,19).replace(/T/g," "),Sa=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Ta={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:Gt(Sa()),end:Gt(new Date)}}],orders:[],limit:30,nbResults:0},Le=d.createAsyncThunk("admin/fetchLogsNavigation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.admin.logs.getLogsNavigation(t)).result}catch(r){return w(r)||a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs navigation"})}}),ft=d.createSlice({name:"logsNavigation",initialState:Ta,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(Le.pending,e=>{e.loading="pending"}),t.addCase(Le.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(Le.rejected,e=>{e.loading="idle"})}}),Xt=t=>t.toISOString().slice(0,19).replace(/T/g," "),Ea=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Ca={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:Xt(Ea()),end:Xt(new Date)}}],orders:[],limit:30,nbResults:0},we=d.createAsyncThunk("admin/fetchLogsObjects",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.admin.logs.getLogsObjects(t)).result}catch(r){return w(r)||a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs Objects"})}}),mt=d.createSlice({name:"logsObjects",initialState:Ca,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(we.pending,e=>{e.loading="pending"}),t.addCase(we.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(we.rejected,e=>{e.loading="idle"})}}),Jt=t=>t.toISOString().slice(0,19).replace(/T/g," "),ba=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},ha={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:Jt(ba()),end:Jt(new Date)}}],orders:[],limit:30,nbResults:0},Ie=d.createAsyncThunk("admin/fetchLogsSearch",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.admin.logs.getLogsSearch(t)).result}catch(r){return w(r)||a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs Search"})}}),yt=d.createSlice({name:"logsSearch",initialState:ha,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(Ie.pending,e=>{e.loading="pending"}),t.addCase(Ie.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(Ie.rejected,e=>{e.loading="idle"})}}),La=t=>t.adminLogs.logsNavigation,wa=t=>t.adminLogs.logsObjects,Ia=t=>t.adminLogs.logsSearch,va=d.combineReducers({[ft.name]:ft.reducer,[mt.name]:mt.reducer,[yt.name]:yt.reducer}),_t={name:"adminLogs",reducer:va},ka=_t.reducer,Oa={slice:_t,actions:{...ft.actions,...mt.actions,...yt.actions,fetchLogsNavigation:Le,fetchLogsObjects:we,fetchLogsSearch:Ie},selectors:{selectAdminLogsNavigation:La,selectAdminLogsObjects:wa,selectAdminLogsSearch:Ia}},Ra={animationConfiguration:null,isActiveForCurrentUser:!1,isInitialized:!1,isToggleLoading:!1},Kt=d.createSlice({name:"animationsList",initialState:Ra,reducers:{},extraReducers:t=>{t.addCase(J.fulfilled,(e,i)=>{e.isActiveForCurrentUser=i.payload.isActiveForCurrentUser,e.animationConfiguration=i.payload.animationConfiguration,e.isInitialized=i.payload.isInitialized}),t.addCase(st.fulfilled,(e,i)=>{e.animationConfigurationApp=i.payload}),t.addCase(ve.pending,e=>{e.isToggleLoading=!0,e.isActiveForCurrentUser=!e.isActiveForCurrentUser}),t.addCase(ve.fulfilled,e=>{e.isToggleLoading=!1}),t.addCase(ve.rejected,e=>{e.isActiveForCurrentUser=!e.isActiveForCurrentUser,e.isToggleLoading=!1})}}),J=d.createAsyncThunk("animations/fetchCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r})=>{try{const n=(await e.jApi.animations.GetCurrentAnimation({signal:r})).result,s=(await e.jApi.animations.GetAnimationActive({signal:r})).result;return{animationConfiguration:n,isActiveForCurrentUser:s,isInitialized:!0}}catch(n){return w(n)||a(f.actions.error({label:S(n)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),st=d.createAsyncThunk("animations/fetchCurrentAnimationApp",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.animations.GetCurrentAnimationApp()).result}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),Da=d.createAsyncThunk("animations/deleteCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.DeleteAnimation();return}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot delete animation"})}}),Ma=d.createAsyncThunk("animations/saveCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.SaveAnimationConfiguration(t);return}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot update animation"})}}),ve=d.createAsyncThunk("animations/toggleAnimationIsActive",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.ToggleAnimationActive();return}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot update animation"})}}),ja=function(t){return[{namespace:"ANIMATIONS",function:"add",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="add"&&(t(J()),t(st()))}},{namespace:"ANIMATIONS",function:"delete",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="delete"&&(t(J()),t(st()))}},{namespace:"ANIMATIONS",function:"toggle",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="toggle"&&t(J())}}]},ke=d.createAsyncThunk("animations/fetchAnimationStats",async({name:t},{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.animations.GetAnimationStats(t)).result.data}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve animation stats"})}}),xa={stats:[],loading:"idle"},Yt=d.createSlice({name:"animationStats",initialState:xa,reducers:{},extraReducers:t=>{t.addCase(ke.pending,e=>{e.loading="pending"}),t.addCase(ke.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(ke.rejected,e=>{e.loading="idle"})}}),Oe=d.createAsyncThunk("animations/fetchAnimationStatsCurrent",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.animations.GetAnimationStatsCurrent(t)).result}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve animation stats current"})}}),Na={stats:null,loading:"idle"},Qt=d.createSlice({name:"animationStatsCurrent",initialState:Na,reducers:{},extraReducers:t=>{t.addCase(Oe.pending,e=>{e.loading="pending"}),t.addCase(Oe.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(Oe.rejected,e=>{e.loading="idle"})}}),_a=t=>t.animations.animationsList.animationConfiguration,Pa=t=>t.animations.animationsList.isActiveForCurrentUser,Ua=t=>t.animations.animationsList.isToggleLoading,Fa=t=>t.animations.animationsList.animationConfigurationApp,Wa=d.combineReducers({[Kt.name]:Kt.reducer,[Yt.name]:Yt.reducer,[Qt.name]:Qt.reducer}),Pt={name:"animations",reducer:Wa},Ba=Pt.reducer,qa={slice:Pt,actions:{saveCurrentAnimation:Ma,fetchCurrentAnimation:J,deleteCurrentAnimation:Da,toggleAnimationIsActive:ve,fetchCurrentAnimationApp:st,fetchAnimationStats:ke,fetchAnimationStatsCurrent:Oe},selectors:{selectCurrentAnimation:_a,isActiveAnimation:Pa,isToggleLoading:Ua,selectAnimationConfigurationApp:Fa},getAnimationsRTHandlers:ja},W=d.createEntityAdapter({selectId:t=>t.name,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),Ai=d.createAsyncThunk("application/fetch",async(t,{extra:e})=>await e.jApi.application.list()),zt=d.createSlice({name:"applications",initialState:W.getInitialState(),reducers:{addOne:W.addOne,addMany:W.addMany,setAll:W.setAll},extraReducers:t=>{t.addCase(Ai.fulfilled,(e,i)=>{W.setAll(e,i.payload.result)})}}),$a=W.getSelectors(t=>t.entities.applications),Va={slice:zt,actions:{fetchList:Ai,...zt.actions},selectors:$a},Ha={entities:[],loading:"idle",nbResults:0},Re=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"})}),Zt=d.createSlice({name:"bookableAsset",initialState:Ha,reducers:{},extraReducers:t=>{t.addCase(Re.pending,e=>{e.loading="pending"}).addCase(Re.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(Re.rejected,e=>{e.loading="idle"})}}),De=d.createAsyncThunk("AssetReservation/configuration",async(t,{extra:e})=>await e.jApi.assetReservation.configuration()),Ga={description:"",right:{manage:!1},daysOff:[],weekEnd:"0",bookingOpeningTime:"00:00",bookingClosingTime:"24:00",lastBookingSchedule:"24:00",loading:"idle"},ei=d.createSlice({name:"configuration",initialState:Ga,reducers:{},extraReducers:t=>{t.addCase(De.pending,e=>{e.loading="pending"}).addCase(De.fulfilled,(e,i)=>({...i.payload.result,loading:"idle"})).addCase(De.rejected,e=>{e.loading="idle"})}}),Si={date:"",hourStart:"",hourEnd:""},Xa={entities:[],loading:"idle",nbResults:0,form:Si},Me=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)}),At=d.createSlice({name:"reservation",initialState:Xa,reducers:{setForm:(t,e)=>{t.form=e.payload},resetForm:t=>{t.form=Si},removeReservation:(t,e)=>{t.entities=t.entities.filter(i=>i.id!==e.payload)}},extraReducers:t=>{t.addCase(Me.pending,e=>{e.loading="pending"}).addCase(Me.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(Me.rejected,e=>{e.loading="idle"})}}),Ja=d.combineReducers({[Zt.name]:Zt.reducer,[ei.name]:ei.reducer,[At.name]:At.reducer}),Ka={name:"assetReservation",reducer:Ja},Ya=t=>t.assetReservation.configuration,Qa=t=>t.assetReservation.bookableAsset.entities,za=t=>t.assetReservation.bookableAsset.loading,Za=t=>t.assetReservation.reservation.entities,er=t=>t.assetReservation.reservation.loading,tr=t=>t.assetReservation.reservation.form,ir={slice:Ka,actions:{...At.actions,fetchBookableAsset:Re,fetchConfiguration:De,fetchReservation:Me},selectors:{configuration:Ya,bookableAssetEntities:Qa,bookableAssetLoading:za,reservationEntities:Za,reservationLoading:er,reservationForm:tr}},ar={loading:"idle",reports:[],page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0,pendingReports:[]},Ti=d.createSlice({name:"contentReport",initialState:ar,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(K.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(K.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.reports=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(K.rejected,e=>{e.loading=="pending"&&(e.loading="idle")}).addCase(Y.pending,(e,i)=>{const a=e.reports.find(r=>r.uri===i.meta.arg.uri);a&&(e.pendingReports=[...e.pendingReports,{...a,requestId:i.meta.requestId}],e.reports=e.reports.map(r=>r.uri!==i.meta.arg.uri?r:{...r,status:i.meta.arg.status}))}).addCase(Y.fulfilled,(e,i)=>{e.pendingReports=e.pendingReports.filter(a=>a.requestId!==i.meta.requestId)}).addCase(Y.rejected,(e,i)=>{const a=e.pendingReports.find(r=>r.requestId===i.meta.requestId);a&&(e.reports=e.reports.map(r=>r.id!==a.id?r:a),e.pendingReports=e.pendingReports.filter(r=>r.requestId!==i.meta.requestId))})}}),K=d.createAsyncThunk("contentReport/fetchReports",async(t,{rejectWithValue:e,extra:i,dispatch:a,getState:r})=>{const n=r().contentReport,s=r().userCurrent?.id;try{const l=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:l,orders:c,page:n.page,limit:n.limit})).result}catch(l){return w(l)||a(f.actions.error({label:S(l)})),e({error:1,errorMsg:"Cannot fetch pads"})}}),Y=d.createAsyncThunk("contentReport/updateStatus",async(t,{dispatch:e,rejectWithValue:i,extra:a})=>{try{return await a.jApi.contentReport.updateStatus(t),e(f.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(r){return w(r)||e(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),rr=t=>t.contentReport,nr={slice:Ti,actions:{fetchReports:K,updateStatus:Y},selectors:{selectContentReport:rr}},Ei=999,sr={bookmarks:[],loading:"idle",status:void 0,isInitialized:!1,nbResults:0,add:{},move:{loading:"idle",status:void 0},delete:{},perPage:Ei,page:1},q=d.createAsyncThunk("bookmarkList/fetchbookmarkList",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{const r={limit:Ei};try{return await e.jApi.bookmark.getFormattedList(r,"raw-list")}catch(n){return a(f.actions.error({label:S(n)})),i({error:1,errorMsg:"Cannot retrieve bookmarks"})}}),je=d.createAsyncThunk("bookmarkList/addBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return E.jEnsure.isBookmarkLink(t)?await e.jApi.bookmark.addFormattedLink(t.targetId,t.targetType,"raw-list"):await e.jApi.bookmark.addBookmark(t)}catch(r){const n=S(r);return a(f.actions.error({label:n})),i({error:1,errorMsg:"Error saving bookmark"})}}),xe=d.createAsyncThunk("bookmarkList/moveBookmark",async({bookmark:t,bookmarkReference:e,position:i},{extra:a,rejectWithValue:r,dispatch:n})=>{try{await a.jApi.bookmark.move(t.id,e.id,i);return}catch(s){return n(f.actions.error({label:S(s)})),r({error:1,errorMsg:"Error moving bookmark"})}}),Ne=d.createAsyncThunk("bookmarkList/deleteBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.bookmark.delete(t.id);return}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Error deleting bookmark"})}}),me=d.createSlice({name:"bookmarkList",initialState:sr,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,a)=>(i.bookmarkOrder??0)-(a.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,a)=>(i.bookmarkOrder??0)-(a.bookmarkOrder??0))}},extraReducers:t=>{t.addCase(q.pending,e=>{e.loading="pending",e.status=void 0}).addCase(q.fulfilled,(e,i)=>{e.loading="idle",e.bookmarks=i.payload.result.data,e.nbResults=i.payload.result.cnt,e.isInitialized=!0,e.status="success"}).addCase(q.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(xe.pending,e=>{e.move.loading="pending",e.move.status=void 0}).addCase(xe.fulfilled,e=>{e.move.loading="idle",e.move.status="success"}).addCase(xe.rejected,e=>{e.move.loading="idle",e.move.status="error"}).addCase(Ne.pending,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Ne.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"success"})}).addCase(Ne.rejected,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"error"})})}}),or=function(t){const e=function(n,s){E.jEnsure.objectIsType("bookmarkLink",n.object)?t(s(n.object)):t(q())},i=function(){t(q())},a=function(n){(n.namespace==="BOOKMARKS"||n.namespace==="CUSTOM-ACTION")&&n.function==="add"&&e(n,me.actions.addBookmarkRT)},r=n=>{(n.namespace==="BOOKMARKS"&&n.function==="delete"||n.namespace==="CUSTOM-ACTION"&&n.function==="remove")&&e(n,me.actions.deleteBookmarkRT)};return[{namespace:"CUSTOM-ACTION",function:"add",handler:a},{namespace:"CUSTOM-ACTION",function:"remove",handler:r},{namespace:"BOOKMARKS",function:"add",handler:a},{namespace:"BOOKMARKS",function:"delete",handler:r},{namespace:"BOOKMARKS",function:"update",handler:i}]},lr={bookmark:void 0,status:void 0,loading:"idle"},_e=d.createAsyncThunk("bookmarkEdit/editBookmark",async(t,{extra:e,rejectWithValue:i})=>{if(!t.id)return i({error:1,errorMsg:"Bookmark id is required"});const a=t.bookmarkLabel??"",r=t.bookmarkUrl??"";try{await e.jApi.bookmark.rename(t.id,a,r)}catch{return i({error:2,errorMsg:"Error saving bookmark"})}}),St=d.createSlice({name:"bookmarkEdit",initialState:lr,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(_e.pending,e=>{e.loading="pending",e.status=void 0}).addCase(_e.fulfilled,e=>{e.loading="idle",e.bookmark=void 0,e.status="success"}).addCase(_e.rejected,e=>{e.status="error",e.loading="idle"})}}),dr=d.combineReducers({[me.name]:me.reducer,[St.name]:St.reducer}),cr={name:"bookmark",reducer:dr},ur=t=>t.bookmark.bookmarkList,pr=t=>t.bookmark.bookmarkList.isInitialized,gr=t=>t.bookmark.bookmarkEdit.bookmark,fr=(t,e)=>t.bookmark.bookmarkList.bookmarks.find(i=>i.targetId===e),mr={slice:cr,actions:{fetchBookmark:q,addBookmark:je,moveBookmark:xe,deleteBookmark:Ne,editBookmark:_e,...St.actions,...me.actions},selectors:{bookmarkList:ur,bookmarkListIsInitialized:pr,bookmarkEditBookmark:gr,bookmarkByArticleId:fr},getRTHandlers:or},ti={list:[],statuses:["subscribed","unanswered"],loading:"idle",types:[],pendingStatusChanges:[]};let pt=null;const Ci=(t,e,i=500)=>{pt&&clearTimeout(pt),pt=setTimeout(()=>{t(M(e))},i)},M=d.createAsyncThunk("calendarEvents/fetchEvents",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r,getState:n})=>{const s=n().calendar.events;if(!t.dates&&!s.dates)return i({error:1,errorMsg:"Dates must be set"});let l=t.types??s.types;l=l.includes("socialEvent")?[...l,"recurringEvent"]:[...l];try{const c={dateStart:t.dates?.start??s.dates?.start??"",dateEnd:t.dates?.end??s.dates?.end??"",statuses:s.statuses,types:l};return(await e.jApi.calendar.listEvents(c,{format:"raw-view",signal:r})).result}catch(c){return w(c)||a(f.actions.error({label:S(c)})),i({error:1,errorMsg:"Cannot retrieve events"})}}),bi=d.createAsyncThunk("calendarEvents/setDates",async(t,{dispatch:e})=>(Ci(e,{dates:t}),!0)),hi=d.createAsyncThunk("calendarEvents/setTypes",async(t,{dispatch:e})=>(Ci(e,{types:t}),!0)),Pe=d.createAsyncThunk("calendarEvents/changeResponse",async(t,{dispatch:e,extra:i,signal:a,rejectWithValue:r})=>{try{return t.status==="unknown"?await i.jApi.global.removeAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe"},{signal:a}):await i.jApi.global.updateAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe",value:t.status},{signal:a}),e(f.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(n){return w(n)||e(f.actions.error({label:S(n)})),r({error:1,errorMsg:"Cannot change response"})}}),D=d.createSlice({name:"events",initialState:ti,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:()=>ti},extraReducers:t=>{t.addCase(M.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(M.fulfilled,(e,i)=>{e.loading="idle",e.list=i.payload}).addCase(M.rejected,e=>{e.loading="idle"}).addCase(Pe.pending,(e,i)=>{const a=e.list.find(r=>r.id===i.meta.arg.id&&r.type===i.meta.arg.type);if(a?._extend?.socialEventRecord){e.pendingStatusChanges.push({requestId:i.meta.requestId,prevStatus:a._extend.socialEventRecord.userResponseStatus,prevSubscribersTotal:a._extend.socialEventRecord.subscribersTotal,eventId:a.id});const r=i.meta.arg.status,n=a._extend.socialEventRecord.userResponseStatus;a._extend.socialEventRecord.userResponseStatus=r,(r===1||r==="onSpot"||r==="visio"||r==="available")&&(n===0||n==="unavailable"||n==="unknown")?a._extend.socialEventRecord.subscribersTotal+=1:(r===0||r==="unavailable"||r==="unknown")&&(n===1||n==="available"||n==="onSpot"||n==="visio")&&(a._extend.socialEventRecord.subscribersTotal-=1)}}).addCase(Pe.fulfilled,(e,i)=>{e.pendingStatusChanges=e.pendingStatusChanges.filter(a=>a.requestId!==i.meta.requestId)}).addCase(Pe.rejected,(e,i)=>{const a=e.pendingStatusChanges.find(r=>r.requestId===i.meta.requestId);if(a){const r=e.list.find(n=>n.id===i.meta.arg.id&&n.type===i.meta.arg.type);r?._extend?.socialEventRecord&&(r._extend.socialEventRecord.userResponseStatus=a.prevStatus,r._extend.socialEventRecord.subscribersTotal=a.prevSubscribersTotal),e.pendingStatusChanges=e.pendingStatusChanges.filter(n=>n.requestId!==i.meta.requestId)}}).addCase(bi.pending,(e,i)=>{e.dates={start:i.meta.arg.start,end:i.meta.arg.end},e.loading="pending"}).addCase(hi.pending,(e,i)=>{e.types=i.meta.arg,e.loading="pending"})}}),Ee=t=>["socialEvent","meeting","animatedMeeting","recurringEvent","recurringEventOccurrence"].includes(t),yr=function(t,e){const i=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-create"&&Ee(s.object.type)){if(s.object.type==="recurringEvent"){t(M({}));return}e.article.get({uri:s.object.uri},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(l=>{(!("hideFromCalendar"in l.result)||!l.result.hideFromCalendar)&&t(D.actions.addEvent(l.result))}).catch(l=>{t(f.actions.error({label:S(l)}))})}},a=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-delete"&&Ee(s.object.type)){if(s.object.type==="recurringEvent"){t(M({}));return}t(D.actions.removeEvent({uri:s.object.uri}))}},r=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-update"&&Ee(s.object.type)){if(s.object.type==="recurringEvent"){t(M({}));return}e.article.get({uri:s.object.uri},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(l=>{"hideFromCalendar"in l.result&&l.result.hideFromCalendar?t(D.actions.removeEvent({uri:s.object.uri})):t(D.actions.updateEvent(l.result))}).catch(l=>{t(f.actions.error({label:S(l)}))})}},n=function(s){s.namespace==="CUSTOM-ACTION"&&(s.function==="update"||s.function==="remove")&&s.object.targetType&&s.object.targetId&&Ee(s.object.targetType)&&e.article.get({idArticle:s.object.targetId},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(l=>{t(D.actions.updateEvent(l.result))}).catch(l=>{t(f.actions.error({label:S(l)}))})};return[{namespace:"JAMESPOT",function:"article-create",handler:i},{namespace:"JAMESPOT",function:"article-delete",handler:a},{namespace:"JAMESPOT",function:"article-update",handler:r},{namespace:"CUSTOM-ACTION",function:"update",handler:n},{namespace:"CUSTOM-ACTION",function:"remove",handler:n}]},Ar=d.combineReducers({[D.name]:D.reducer}),Sr={name:"calendar",reducer:Ar},Tr=t=>t.calendar.events,Er={slice:Sr,actions:{fetchEvents:M,setDates:bi,setTypes:hi,changeResponse:Pe,...D.actions},selectors:{selectCalendarEvents:Tr},getCalendarRTHandlers:yr},Cr={loading:"idle",comments:[]},_=d.createAsyncThunk("commentList/fetchCommentList",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{const r=await e.jApi.article.getComments(t,{format:"raw-list",formatExtension:["actions","quarantine"]});return{idArticle:t.idArticle,list:r.result}}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve comments"})}}),Tt=d.createAsyncThunk("commentList/deleteComment",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.article.deleteComment(t.idComment),!0}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot delete comment"})}}),Et=d.createSlice({name:"commentList",initialState:Cr,reducers:{discardComments:(t,e)=>{t.comments=t.comments.filter(i=>i.idArticle!==e.payload.idArticle)},hydrateComment:(t,e)=>{const{idArticle:i,list:a}=e.payload;if(!t.comments.find(c=>c.idArticle===i)){t.comments=[...t.comments.filter(c=>c.idArticle!==i),{idArticle:i,list:Array.isArray(a)?a:[]}];return}const n=[],s=t.comments.reduce((c,p)=>Array.isArray(p.list)?[...c,...p.list.map(y=>y.uri)]:[...c],n),l=Array.isArray(a)?a.filter(c=>!s.includes(c.uri)):[];t.comments=t.comments.map(c=>c.idArticle===i?{...c,list:Array.isArray(c.list)?[...c.list,...l]:[...l]}:c)},updateComment:(t,e)=>{t.comments=t.comments.map(i=>{const{idArticle:a,idComment:r,data:n}=e.payload;return i.idArticle===a?{...i,list:i.list.map(s=>s.id===r?{...s,description:n.description}:s)}:i})}},extraReducers:t=>{t.addCase(_.pending,e=>{e.loading="pending"}).addCase(_.fulfilled,(e,i)=>{e.loading="idle",e.comments=[...e.comments.filter(a=>a.idArticle!==i.payload.idArticle),{idArticle:i.payload.idArticle,list:i.payload.list.reverse()}]}).addCase(_.rejected,e=>{e.loading="idle"}).addCase(Tt.pending,(e,i)=>{e.comments=e.comments.map(a=>a.idArticle!==i.meta.arg.idArticle?a:{...a,list:a.list.map(r=>r.id===i.meta.arg.idComment?{...r,pending:!0}:r)})}).addCase(Tt.rejected,(e,i)=>{e.comments=e.comments.map(a=>a.idArticle!==i.meta.arg.idArticle?a:{...a,list:a.list.map(r=>r.id===i.meta.arg.idComment?{...r,pending:!1}:r)})})}}),br=function(t,e){return[{namespace:"JAMESPOT",function:"comment-create",handler:function(r){r.namespace==="JAMESPOT"&&r.function==="comment-create"&&r.object.idArticle===e&&t(_({idArticle:e}))}},{namespace:"JAMESPOT",function:"comment-delete",handler:function(r){r.namespace==="JAMESPOT"&&r.function==="comment-delete"&&Number(r.object.idArticle)===e&&t(_({idArticle:e}))}}]},hr=function(t,e,i){const a=function(r){r.namespace==="CUSTOM-ACTION"&&(r.function==="add"||r.function==="remove")&&r.object.type==="sociallike"&&r.object.targetId&&e?.includes(r.object.targetId)&&t(_({idArticle:i}))};return e?[{namespace:"CUSTOM-ACTION",function:"add",handler:a},{namespace:"CUSTOM-ACTION",function:"remove",handler:a}]:[]},Lr=d.combineReducers({[Et.name]:Et.reducer}),wr={name:"comment",reducer:Lr},Ir=(t,e,i=0)=>{const a=t.comment.commentList.comments.find(n=>n.idArticle===e),r=a?[...a.list].sort((n,s)=>n.id-s.id):[];return i!==0?r.slice(-i):r},vr={slice:wr,actions:{fetchComments:_,deleteComment:Tt,...Et.actions},selectors:{commentList:Ir},getCommentRTHandlers:br,getCommentsLikeRTHandlers:hr},v={route:"extra-bot",moduleName:"ExtraBotHook",configurationType:"extraBot",listLimit:20,listDefaultPage:1},kr={global:{loading:"idle"},listAll:{loading:"idle",data:[],limit:v.listLimit,nbResults:0,page:v.listDefaultPage,filters:[],orders:[]},listMines:{loading:"idle",data:[],limit:v.listLimit,nbResults:0,page:v.listDefaultPage,filters:[],orders:[]},formModal:{open:!1,mode:"create",type:"all",extraBot:void 0}},$=d.createAsyncThunk("extraBot/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=r().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 w(s)||a(f.actions.error({label:S(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),Q=d.createAsyncThunk("extraBot/fetchMines",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=r().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 w(s)||a(f.actions.error({label:S(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),z=d.createAsyncThunk("extraBot/toggleActivation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{const r=!t.enabled,n=(await e.jApi.article.update({...t,enabled:r},{format:E.Format.VIEW})).result;return n.enabled!==t.enabled?(a(f.actions.success({label:r?"APP_ExtraBot_Toast_ActivationSuccess":"APP_ExtraBot_Toast_DeactivationSuccess"})),a($())):a(f.actions.error({label:"APP_ExtraBot_Toast_FailedToChangeActivation"})),n}catch(r){return w(r)||a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Failed to change extra bot activation"})}}),Z=d.createAsyncThunk("extraBot/save",async({extraBot:t},{extra:e,rejectWithValue:i,dispatch:a})=>{try{const r={...t,type:v.configurationType,publishTo:""};let n,s;if(delete r.avatar,t.uri)n=(await e.jApi.article.update(r,{format:E.Format.VIEW})).result,s=(await e.jApi.extraBot.updateBot(n.uri)).result;else{if(n=(await e.jApi.article.create({...r},{format:E.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 l=t.uri?"APP_ExtraBot_Toast_SaveEdit":"APP_ExtraBot_Toast_SaveCreate";return a(f.actions.success({label:l})),n}catch(r){return w(r)||a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve extra bot"})}}),Li=(t,e,i,a)=>{const r=t.listAll.data.find(s=>s.uri===e),n=t.listMines.data.find(s=>s.uri===e);r&&(r[i]=a),n&&(n[i]=a)},Ct=d.createSlice({name:"extraBot",initialState:kr,reducers:{setListAllOrder:(t,e)=>{t.listAll.orders=[...e.payload],t.listAll.page=v.listDefaultPage},setListAllFilter:(t,e)=>{t.listAll.filters=[...e.payload],t.listAll.page=v.listDefaultPage},setListAllPage:(t,e)=>{t.listAll.page=e.payload},setListMinesOrder:(t,e)=>{t.listMines.orders=[...e.payload],t.listMines.page=v.listDefaultPage},setListMinesFilter:(t,e)=>{t.listMines.filters=[...e.payload],t.listMines.page=v.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($.pending,e=>{e.listAll.loading="pending"}).addCase($.fulfilled,(e,i)=>{e.listAll.data=i.payload.data,e.listAll.nbResults=i.payload.cnt,e.listAll.limit=i.payload.limit??v.listLimit,e.listAll.page=i.payload.page,e.listAll.loading="idle"}).addCase($.rejected,e=>{e.listAll.loading="idle"}).addCase(Q.pending,e=>{e.listMines.loading="pending"}).addCase(Q.fulfilled,(e,i)=>{e.listMines.data=i.payload.data,e.listMines.nbResults=i.payload.cnt,e.listMines.limit=i.payload.limit??v.listLimit,e.listMines.page=i.payload.page,e.listMines.loading="idle"}).addCase(Q.rejected,e=>{e.listMines.loading="idle"}).addCase(z.pending,e=>{e.global.loading="pending"}).addCase(z.fulfilled,(e,i)=>{e.global.loading="idle";const a=i.payload;Li(e,a.uri,"enabled",a.enabled)}).addCase(z.rejected,e=>{e.global.loading="idle"}).addCase(Z.pending,e=>{e.global.loading="pending"}).addCase(Z.fulfilled,(e,i)=>{e.global.loading="idle",e.formModal.open=!1}).addCase(Z.rejected,e=>{e.global.loading="idle"})}}),wi=t=>t.extraBot.listAll,Ii=t=>t.extraBot.listMines,Or={slice:Ct,actions:{fetchExtraBotListAll:$,fetchExtraBotListMines:Q,toggleExtraBotActivation:z,saveExtraBot:Z,...Ct.actions},selectors:{selectExtraBotListAll:wi,selectExtraBotListMines:Ii}},Rr={loading:"idle",access:{createCategory:!1}},Ue=d.createAsyncThunk("faqConfig/fetch",async(t,{extra:e})=>{try{const[i,a]=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:a.result,_displayComment:i.result._displayComment}}catch(i){if(i.error===403)return{_web:"0"};throw i}}),ii=d.createSlice({name:"config",initialState:Rr,reducers:{},extraReducers:t=>{t.addCase(Ue.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(Ue.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(Ue.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),Dr={loading:"idle",categories:null},Fe=d.createAsyncThunk("faqCategories/fetch",async(t,{extra:e})=>({categories:(await e.jApi.faq.getCategoriesList()).result.data})),ai=d.createSlice({name:"categories",initialState:Dr,reducers:{},extraReducers:t=>{t.addCase(Fe.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(Fe.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.categories=i.payload.categories,e)).addCase(Fe.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),Mr=d.combineReducers({[ii.name]:ii.reducer,[ai.name]:ai.reducer}),jr={name:"faq",reducer:Mr},xr=t=>t.faq.config,Nr=t=>t.faq.categories,_r={slice:jr,actions:{fetchFaqConfig:Ue,fetchFaqCategories:Fe},selectors:{selectFaqConfig:xr,selectFaqCategories:Nr}},ee={listLimit:50,listDefaultPage:1},Pr={list:{loading:"idle",data:[],limit:ee.listLimit,nbResults:0,page:ee.listDefaultPage,filters:[],orders:[{name:"dateCreation",sort:"DESC"}]},action:{loading:"idle"}},te=d.createAsyncThunk("fileIntegrity/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=r().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 w(s)||a(f.actions.error({label:S(s)})),i({error:1,errorMsg:"Cannot retrieve file integrity list"})}}),ie=d.createAsyncThunk("fileIntegrity/releaseQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.fileIntegrity.release(t)).result}catch(r){return w(r)||a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot release quarantined file"})}}),ae=d.createAsyncThunk("fileIntegrity/deleteQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.fileIntegrity.delete(t)).result}catch(r){return w(r)||a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot delete quarantined file"})}}),bt=d.createSlice({name:"fileIntegrity",initialState:Pr,reducers:{setListOrder:(t,e)=>{t.list.orders=[...e.payload],t.list.page=ee.listDefaultPage},setListFilter:(t,e)=>{t.list.filters=[...e.payload],t.list.page=ee.listDefaultPage},setListPage:(t,e)=>{t.list.page=e.payload}},extraReducers:t=>{t.addCase(te.pending,e=>{e.list.loading="pending"}).addCase(te.fulfilled,(e,i)=>{e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt,e.list.limit=i.payload.limit??ee.listLimit,e.list.page=i.payload.page,e.list.loading="idle"}).addCase(te.rejected,e=>{e.list.loading="idle"}).addCase(ie.pending,e=>{e.action.loading="pending"}).addCase(ie.fulfilled,e=>{e.action.loading="idle"}).addCase(ie.rejected,e=>{e.action.loading="idle"}).addCase(ae.pending,e=>{e.action.loading="pending"}).addCase(ae.fulfilled,e=>{e.action.loading="idle"}).addCase(ae.rejected,e=>{e.action.loading="idle"})}}),vi=t=>t.fileIntegrity.action,ki=t=>t.fileIntegrity.list,Ur={slice:bt,actions:{deleteQuarantine:ae,fetchFileIntegrityList:te,releaseQuarantine:ie,...bt.actions},selectors:{selectFileIntegrityAction:vi,selectFileIntegrityList:ki}},Fr=t=>t?Object.keys(t).filter(e=>t[e]):[],ri=d.createSlice({name:"hooks",initialState:{},reducers:{initHooks:(t,{payload:e})=>e}}),Wr=t=>t.hooks,Br=(t,e)=>t.hooks[e],qr=(t,e)=>!!t.hooks[e]?.hasLicense,$r={slice:ri,actions:ri.actions,selectors:{selectHooks:Wr,selectHook:Br,hasHookLicense:qr},utils:{buildDrivesArrayFromObject:Fr}},Ut=t=>{const e=t.urlToJland;if(!e)return;const i=/(https:\/\/[^/]+)\/.*/g.exec(e);if(i)return i[1]},Ft=(t,e,i)=>`${i}/map/${e}/${t.uri}`,P=d.createAsyncThunk("/fetchMaps",async({jlandUrlBase:t,retrieveAllMaps:e},{extra:i})=>{const a=i.jApi,r=await a.network.getHostname();return await new Promise((n,s)=>{const l={type:"jlandmap"};(e?a.jland.getAllMapsAsAdmin():a.article.list(l,{format:"raw-list",formatExtension:["licenses"]})).then(p=>{const m=p.result.data.map(u=>{const A={...u};return A.urlToJland=Ft(u,r,t),A});n(m)}).catch(p=>{p.error&&s(p),s({error:1,errorMsg:"Error retrieving maps"})})})}),U=d.createAsyncThunk("/fetchAvailableLicenses",async(t,{extra:e})=>{const i=e.jApi;return await new Promise((a,r)=>{i.admin.license.getLicensesNotAssigned("jlandmap").then(n=>{a(n.result)}).catch(n=>{if(n.error){r(n);return}r({error:1,errorMsg:"Error while retrieving licenses not assigned"})})})}),We=d.createAsyncThunk("/unassignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:a})=>{const r=i.jApi,n=Ut(t);return n?await new Promise((s,l)=>{r.admin.license.unAssignLicense(t.uri).then(c=>{c.result&&(a(U()),a(P({jlandUrlBase:n,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:"Error unassign license"})})}):!1}),Be=d.createAsyncThunk("/deleteLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:a})=>{const r=i.jApi,n=Ut(t);return n?await new Promise((s,l)=>{r.article.delete(t.id).then(c=>{s(c.result),a(P({jlandUrlBase:n,retrieveAllMaps:e})),a(U())}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:c.errorMsg+""})})}):!1}),re=d.createAsyncThunk("/assignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:a})=>{const r=Ut(t);if(!r)return!1;const n=i.jApi;return await new Promise((s,l)=>{n.admin.license.assignLicense(t.uri).then(c=>{c.result&&(a(U()),a(P({jlandUrlBase:r,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:"Error assign license"})})})}),ni=d.createSlice({name:"jLandMapList",initialState:{maps:[],availableLicenses:{},loading:"idle",loadingAvailableLicenses:"idle",loadingLicenseOperation:{},loadingMapDeletion:"idle"},reducers:{},extraReducers:t=>{t.addCase(P.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(P.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.maps=i.payload)}).addCase(P.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(U.pending,e=>{e.loadingAvailableLicenses==="idle"&&(e.loadingAvailableLicenses="pending")}).addCase(U.fulfilled,(e,i)=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle",e.availableLicenses=i.payload)}).addCase(U.rejected,e=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle")}).addCase(re.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(re.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(re.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(We.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(We.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(We.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(Be.pending,e=>{e.loadingMapDeletion="pending"}).addCase(Be.fulfilled,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")}).addCase(Be.rejected,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")})}}),Vr={title:"",type:"",flavor:"",url:"",audience:[],illustration:"",assignLicense:!1},si={map:{...Vr},loading:"idle",status:void 0,msg:void 0},qe=d.createAsyncThunk("mapCreate/create",async({map:t,jlandUrlBase:e},{extra:i,dispatch:a})=>{const r={title:t.title,publishTo:t.audience.reduce((s,l,c,p)=>(l.uri&&(s+=l.uri,c<p.length-1&&(s+=",")),s),""),jlandMapAggregated:t.type,type:"jlandmap"},n=i.jApi;return await new Promise((s,l)=>{n.article.create(r,{format:"raw-list",formatExtension:["licenses"]}).then(async c=>{if(c.error){l({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=Ft(p,y,e),a(re({map:p,retrieveAllMaps:!1}))}s(c.result)}).catch(()=>{l({error:1,errorMsg:"Error assign license"})})})}),ht=d.createSlice({name:"mapCreate",initialState:si,reducers:{setMap:(t,e)=>{t.map=e.payload},resetCreateMapState:()=>si},extraReducers:t=>{t.addCase(qe.pending,e=>{e.loading="pending"}).addCase(qe.fulfilled,e=>{e.loading="idle",e.status="success"}).addCase(qe.rejected,(e,i)=>{e.msg=i.error.message??void 0,e.status="error",e.loading="idle"})}}),Hr=function(e){return e.jland.jLandMapList.maps},Gr=function(e){return e.jland.jLandMapList.availableLicenses},Xr=function(e){return e.jland.mapCreate},Jr=d.combineReducers({[ni.name]:ni.reducer,[ht.name]:ht.reducer}),Kr={name:"jland",reducer:Jr},Yr={slice:Kr,actions:{...ht.actions,assignLicense:re,unassignLicense:We,deleteJlandMap:Be,fetchJLandMaps:P,fetchJLandAvailableLicenses:U,createMap:qe},selectors:{selectJLandMaps:Hr,selectJLandAvailableLicenses:Gr,selectMapCreate:Xr},utils:{buildUrlToJland:Ft}},Qr={loading:"idle",pads:[],query:"",page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0},Oi=d.createSlice({name:"magicPad",initialState:Qr,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(ne.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ne.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.pads=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(ne.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),ne=d.createAsyncThunk("magicPad/fetchPads",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{try{const n=r().magicPad,s=n.page,l=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:l,orders:p,filters:c},{format:"raw-view"})).result}catch(n){return a(f.actions.error({label:S(n)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),zr=t=>t.magicPad,Zr={slice:Oi,actions:{fetchPads:ne},selectors:{selectMagicPad:zr}},Lt={typeMediaLibraryFolder:"mediaLibraryFolder",typeMediaLibraryFile:"mediaLibraryFile"},en=18,tn=12,an=18,rn={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}},Wt=d.createSlice({name:"mediaLibrary",initialState:rn,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(se.pending,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="pending":e.folders.loading="pending"}).addCase(se.fulfilled,(e,i)=>{const a=i?.meta?.arg?.noLimit??!1,r=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=i.payload.result.page,s=i.meta.arg.query??"";a?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/r)),e.folders.loading="idle",e.query=s}).addCase(se.rejected,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="idle":e.folders.loading="idle"}).addCase(oe.pending,(e,i)=>{i.meta.arg.page==1&&(e.folderFiles.list=[]),e.folderFiles.loading="pending"}).addCase(oe.fulfilled,(e,i)=>{const a=i.payload.result.page,r=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=Math.ceil(i.payload.result.cnt/r);a>1?e.folderFiles.list.push(...i.payload.result.data):e.folderFiles.list=i.payload.result.data,e.folderFiles.page=a,e.folderFiles.totalPages=n,e.folderFiles.loading="idle"}).addCase(oe.rejected,e=>{e.folderFiles.loading="idle"}).addCase(le.pending,e=>{e.unclassifiedFiles.loading="pending"}).addCase(le.fulfilled,(e,i)=>{const a=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,r=i.payload.result.page,n=Math.ceil(i.payload.result.cnt/a),s=i.meta.arg.query??e.query??"";e.query!==s||r===1?(e.unclassifiedFiles.list=i.payload.result.data,e.unclassifiedFiles.page=1):(e.unclassifiedFiles.list.push(...i.payload.result.data),e.unclassifiedFiles.page=r),e.unclassifiedFiles.totalPages=n,e.unclassifiedFiles.loading="idle",e.query=s}).addCase(le.rejected,e=>{e.unclassifiedFiles.loading="idle"}).addCase(de.fulfilled,(e,i)=>{e.loading="idle",e.mediaLibraryAccess=i.payload?.result??!1}).addCase(de.rejected,e=>{e.loading="idle",e.mediaLibraryAccess=!1}).addCase(de.pending,e=>{e.loading="pending",e.mediaLibraryAccess=!1}).addCase(pe.fulfilled,(e,i)=>{e.loading="idle",e.stats={...i.payload?.result}}).addCase(pe.rejected,e=>{e.loading="idle",e.stats=null}).addCase(pe.pending,e=>{e.loading="pending"}).addCase(ce.fulfilled,(e,i)=>{e.foldersStats={loading:!1,pager:i.payload?.result}}).addCase(ce.rejected,e=>{e.foldersStats={loading:!1,pager:null}}).addCase(ce.pending,e=>{e.foldersStats.loading=!0}).addCase(ue.fulfilled,(e,i)=>{e.filesStats={loading:!1,pager:i.payload?.result}}).addCase(ue.rejected,e=>{e.filesStats={loading:!1,pager:null}}).addCase(ue.pending,e=>{e.filesStats.loading=!0})}}),se=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFolders",async({page:t=1,noLimit:e=!1,query:i},{extra:a,rejectWithValue:r,dispatch:n,getState:s})=>{const l={type:Lt.typeMediaLibraryFolder,page:t,orders:[{name:"title",sort:"ASC"}]};e||(l.limit=tn);try{const c=s().mediaLibrary;return l.query=i??c.query,await a.jApi.article.list(l,{format:"raw-list"})}catch(c){return n(f.actions.error({label:S(c)})),r({error:1,errorMsg:"Cannot retrieve folders"})}}),oe=d.createAsyncThunk("MediaLibrary/fetchFolderFiles",async({folderId:t,page:e},{extra:i,rejectWithValue:a,dispatch:r})=>{const n={type:Lt.typeMediaLibraryFile,page:e,limit:an,filters:[{name:"mediaLibraryFolderOrientedLinks",value:{targetId:t,targetType:Lt.typeMediaLibraryFolder}}],format:"raw-list",orders:[{name:"title",sort:"ASC"}]};try{return await i.jApi.article.list(n)}catch(s){return r(f.actions.error({label:S(s)})),a({error:1,errorMsg:`Cannot retrieve files for folder ${t}`})}}),le=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryUnclassifiedFiles",async({page:t,query:e},{extra:i,rejectWithValue:a,dispatch:r,getState:n})=>{try{const s=n().mediaLibrary,l=e??s.query;return await i.jApi.mediaLibrary.GetUnclassifiedFiles({page:t,limit:en,query:l})}catch(s){return r(f.actions.error({label:S(s)})),a({error:1,errorMsg:"Cannot retrieve UnclassifiedFiles"})}}),de=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryConfig",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.mediaLibrary.getAccess()}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot get MediaLibrary Config"})}}),ce=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFoldersStats",async({page:t,filters:e,orders:i},{extra:a,rejectWithValue:r,dispatch:n})=>{try{return await a.jApi.mediaLibrary.getFoldersStatsList(e,i,t)}catch(s){return n(f.actions.error({label:S(s)})),r({error:1,errorMsg:"Cannot get MediaLibrary folders stats"})}}),ue=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFilesStats",async({page:t,filters:e,orders:i},{extra:a,rejectWithValue:r,dispatch:n})=>{try{return await a.jApi.mediaLibrary.getFilesStatsList(e,i,t)}catch(s){return n(f.actions.error({label:S(s)})),r({error:1,errorMsg:"Cannot get MediaLibrary files stats"})}}),pe=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryStats",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.mediaLibrary.getStats()}catch(r){return a(f.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot get MediaLibrary stats"})}}),nn=t=>t.mediaLibrary,sn=t=>t.mediaLibrary.stats,on=t=>t.mediaLibrary.foldersStats,ln=t=>t.mediaLibrary.filesStats,dn=t=>t.mediaLibrary.folders,cn=t=>t.mediaLibrary.foldersAll,un=t=>t.mediaLibrary.folderFiles,pn=t=>t.mediaLibrary.unclassifiedFiles,gn=Wt.reducer,fn={slice:Wt,actions:{fetchMediaLibraryFolders:se,fetchFolderFiles:oe,fetchMediaLibraryUnclassifiedFiles:le,fetchMediaLibraryConfig:de,fetchMediaLibraryStats:pe,fetchMediaLibraryFilesStats:ue,fetchMediaLibraryFoldersStats:ce},selectors:{selectMediaLibrary:nn,selectMediaLibraryStats:sn,selectMediaLibraryFoldersStats:on,selectMediaLibraryFilesStats:ln,selectFolders:dn,selectFolderAll:cn,selectFolderFiles:un,selectUnclassifiedFiles:pn}},H=d.createEntityAdapter({selectId:t=>t.type,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),mn=(t,e)=>{const i={from:"imagestatic",size:e??"fitx600",uri:`icons/${t?.icon??"article"}-white`};return E.formatImgUrl(i)},yn=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}`,oi=d.createSlice({name:"models",initialState:H.getInitialState(),reducers:{addOne:H.addOne,addMany:H.addMany,setAll:H.setAll}}),An=H.getSelectors(t=>t.entities.models),Sn={getModelIconSrc:mn,getModelFontAwesomeIcon:yn},Tn=(t,e)=>e.map(i=>t.entities.models.entities[i]).filter(i=>!!i),Ri={slice:oi,actions:{...oi.actions},utils:Sn,selectors:{...An,selectByIds:Tn}},En={},wt=d.createSlice({name:"statics",initialState:En,reducers:{initNetworkStatics:(t,{payload:e})=>e}}),Cn=d.combineReducers({[wt.name]:wt.reducer}),bn={name:"network",reducer:Cn},hn=t=>t.network.statics,Ln=t=>t.network.statics.networkPublic,wn=t=>t.network.statics.networkMe,In={slice:bn,actions:{...wt.actions},selectors:{selectNetworkStatics:hn,selectNetworkPublic:Ln,selectNetworkMe:wn}},vn={userAccountStatus:0,sendAlert:0},Di=d.createSlice({name:"config",initialState:vn,reducers:{initPlatformConfig:(t,{payload:e})=>e}}),kn=d.combineReducers({config:Di.reducer}),On={name:"platform",reducer:kn},Rn=t=>t.platform.config,Dn=t=>t.platform.config.userHighlightFields,Mn=t=>t.platform.config.userAccountStatus,jn=t=>t.platform.config.urlBase,xn={slice:On,actions:{...Di.actions},selectors:{selectPlatformConfig:Rn,selectUserHighlightFields:Dn,selectUserAccountStatus:Mn,selectUrlBase:jn}},Mi={query:"",filters:[],limit:20,orders:[{name:"dateCreation",sort:"DESC"}],page:1},$e=d.createAsyncThunk("/fetchFiles",async({page:t,query:e,sort:i},{extra:a,getState:r})=>{const n=a.jApi,s=r(),l=s.wedoc.tab==="my-documents"?[{name:"idUser",value:"0"}]:[],c=[{name:"dateCreation",sort:i}],p=e!==s.wedoc.query?1:t;return await n.wedoc.getFiles({...Mi,filters:l,query:e,orders:c,page:p,limit:12})}),Ve=d.createAsyncThunk("/fetchRecentFiles",async(t,{extra:e,getState:i})=>{const a=e.jApi,n=i().wedoc.tab==="my-documents"?[{name:"idUser",value:"0"}]:[];return await a.wedoc.getFiles({...Mi,filters:n,limit:3})}),Nn={entities:[],nbEntities:0,entitiesRecent:[],tab:"my-documents",loading:"idle",loadingRecent:"idle",query:"",page:1},_n=d.createSlice({name:"wedoc",initialState:Nn,reducers:{update:(t,e)=>{t.entities=[...t.entities.map(i=>i.id===e.payload.id?{...i,...e.payload}:i)]},setQuery:(t,e)=>{t.query=e.payload},setTab:(t,e)=>{t.tab=e.payload}},extraReducers:t=>{t.addCase($e.pending,e=>{e.loading="pending"}).addCase($e.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbEntities=i.payload.result.cnt,e.page=i.payload.result.page}).addCase($e.rejected,e=>{e.loading="idle"}).addCase(Ve.pending,e=>{e.loadingRecent="pending"}).addCase(Ve.fulfilled,(e,i)=>{e.loadingRecent="idle",e.entitiesRecent=i.payload.result.data}).addCase(Ve.rejected,e=>{e.loadingRecent="idle"})}}),Pn={slice:_n,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}),getRecent:t=>({entities:t.wedoc.entitiesRecent,loading:t.wedoc.loadingRecent==="pending",tab:t.wedoc.tab})},actions:{fetchFiles:$e,fetchRecentFiles:Ve}},He=d.createAsyncThunk("/fetchRequest",async({uri:t,idUser:e},{extra:i})=>await i.jApi.object.getAccessRequest(t,e)),Un={entities:[],nbEntities:0,loading:"idle"},Fn=d.createSlice({name:"share",initialState:Un,reducers:{remove:(t,e)=>{t.entities=[...t.entities.filter(i=>i.id!==e.payload)]}},extraReducers:t=>{t.addCase(He.pending,e=>{e.loading="pending"}).addCase(He.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result}).addCase(He.rejected,e=>{e.loading="idle"})}}),Wn={slice:Fn,selectors:{requests:t=>({loading:t.share.loading,entities:t.share.entities})},actions:{fetchRequest:He}},Bn=function(t){return[{namespace:"TEAMWORK",function:"updateTodo",handler:function(a){a.namespace==="TEAMWORK"&&a.function==="updateTodo"&&(t(G.actions.setTasksMessageAndStatus({status:a.state,messages:a.messages,jobUid:a.jobUid})),a.state==="success"&&t(G.actions.setTasks({tasks:a.tasks,jobUid:a.jobUid})))}},{namespace:"TEAMWORK",function:"updateDaySummary",handler:function(a){a.namespace==="TEAMWORK"&&a.function==="updateDaySummary"&&(t(G.actions.setDaySummaryMessageAndStatus({status:a.state,messages:a.messages,jobUid:a.jobUid})),a.state==="success"&&t(G.actions.setDaySummary({summary:a.summary,jobUid:a.jobUid})))}}]},qn={messages:[],status:"idle",tasks:void 0,jobUid:void 0},It=d.createSlice({name:"teamWorkAiTasks",initialState:qn,reducers:{setTasksMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:a}=e.payload;t.status=i,t.messages=a},setTasks:(t,e)=>{e.payload.jobUid===t.jobUid&&(t.tasks=e.payload.tasks)},resetTasksState:t=>{t.status="idle",t.messages=[],t.jobUid=void 0,t.tasks=void 0}},extraReducers:t=>{t.addCase(Ge.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(Ge.fulfilled,(e,i)=>{e.status=i.payload.state,e.messages=i.payload.messages,e.tasks=i.payload.tasks,e.jobUid=i.payload.jobUid}),t.addCase(Ge.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]})}}),Ge=d.createAsyncThunk("teamWork/Ai/startToDoCreation",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r})=>{try{return(await e.jApi.teamWorkAi.generateToDo({forceGeneration:t},{signal:r})).result}catch(n){return w(n)||a(f.actions.error({label:S(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),$n={messages:[],status:"idle",summary:void 0,jobUid:void 0},vt=d.createSlice({name:"teamWorkAiDaySummary",initialState:$n,reducers:{setDaySummaryMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:a}=e.payload;t.status=i,t.messages=a},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(Xe.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(Xe.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(Xe.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]})}}),Xe=d.createAsyncThunk("teamWork/Ai/startDaySummaryCreation",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r})=>{try{return(await e.jApi.teamWorkAi.daySummary({forceGeneration:t},{signal:r})).result}catch(n){return w(n)||a(f.actions.error({label:S(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),Vn=t=>t.teamWork.teamWorkAiTasks,Hn=t=>t.teamWork.teamWorkAiDaySummary,Gn=d.combineReducers({[It.name]:It.reducer,[vt.name]:vt.reducer}),Bt={name:"teamWork",reducer:Gn},Xn=Bt.reducer,G={slice:Bt,actions:{...It.actions,...vt.actions,startToDoCreation:Ge,startDaySummaryCreation:Xe},selectors:{selectToDoState:Vn,selectDaySummaryState:Hn},getTeamWorkRTHandlers:Bn},Jn={channels:void 0,loading:"idle",loadingChannelDeletion:"idle"},ge=d.createAsyncThunk("/fetchChannels",async(t,{extra:e})=>{const i=t??1,a=e.jApi;return await new Promise((r,n)=>{const s={type:"tvDisplayChannel",page:i,orders:[{name:"id",sort:"DESC"}]};a.article.list(s,{format:"raw-list"}).then(l=>{r(l.result)}).catch(l=>{n({error:l.error??1,errorMsg:l.errorMsg??"Error retrieving channels"})})})}),Je=d.createAsyncThunk("/deleteChannel",async({channel:t},{extra:e,dispatch:i})=>{const a=e.jApi;return await new Promise((r,n)=>{a.article.delete(t.id).then(s=>{r(s.result),i(ge())}).catch(s=>{n({error:s.error??1,errorMsg:s.errorMsg??"Error deleting channel"})})})}),li=d.createSlice({name:"channelsList",initialState:{...Jn},reducers:{},extraReducers:t=>{t.addCase(ge.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ge.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.channels=i.payload)}).addCase(ge.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(Je.pending,e=>{e.loadingChannelDeletion="pending"}).addCase(Je.fulfilled,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")}).addCase(Je.rejected,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")})}});function Kn(t){return t.tvChannelType==="DYNAMIC"?!!t.tvChannelBackgroundColor&&!!t.tvChannelGroupTarget:t.tvChannelNumImages!==0}const Yn=d.combineReducers({[li.name]:li.reducer}),Qn={name:"tvDisplay",reducer:Yn},zn=function(e){return e.tvDisplay.channelsList},Zn={slice:Qn,actions:{fetchChannels:ge,deleteChannel:Je},selectors:{selectChannelsList:zn},utils:{isChannelConfigured:Kn}},es={},kt=d.createSlice({name:"options",initialState:es,reducers:{initOptions:(t,{payload:e})=>e}}),ts=d.combineReducers({[kt.name]:kt.reducer}),is={name:"tinymce",reducer:ts},as=t=>t.tinymce.options.common,rs=t=>t.tinymce.options.extended,ns={slice:is,actions:{...kt.actions},selectors:{selectTinyMCECommonOptions:as,selectTinyMCEExtendedOptions:rs}},ss={id:0,mainType:"user",type:"user",uri:"user/0",title:"",_url:"",dateCreation:"",dateModified:"",level:0,active:1},Ot=d.createSlice({name:"userCurrent",initialState:ss,reducers:{init:(t,{payload:e})=>e}}),os=t=>t.userCurrent,ls=t=>t.level===E.UserLevel.ADMIN,ds=t=>t.id!==0,cs={slice:Ot,actions:{...Ot.actions},selectors:{get:os},utils:{isAdmin:ls,isLogged:ds}};function qt(){let t="";for(let e=0;e<16;e++)t+=((1+Math.random())*65536|0).toString(16).substring(1);return t}const ji="WIDGET_Check_List",xi="WIDGET_Check_List_Description",Ni="WIDGET_Quick_Survey",_i="WIDGET_Quick_Survey_Text",us=Object.freeze(Object.defineProperty({__proto__:null,WIDGET_CHECK_LIST_DESCRIPTION:xi,WIDGET_CHECK_LIST_LABEL:ji,WIDGET_QUICK_SURVEY_DESCRIPTION:_i,WIDGET_QUICK_SURVEY_LABEL:Ni},Symbol.toStringTag,{value:"Module"})),ps={label:"WIDGET_Article_Attachment",description:"WIDGET_Article_Attachment_Description",name:E.WidgetsName.ArticleAttachment,img:"/img/article-widget-thumbnail/widget_thumbnail_files.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},gs={files:[]},fs={label:"WIDGET_BUTTON",description:"WIDGET_Button_Description",name:E.WidgetsName.ArticleButton,img:"/img/article-widget-thumbnail/widget_thumbnail_button.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},ms={text:"",openingType:"link",openingTypeLink:{url:"",target:"_blank"},variant:"contained",fontSize:"14",color:"#fff",backgroundColor:"#4dbf96",buttonSize:"lg",borderRadius:"4"},di={label:"WIDGET_Article_Gallery",description:"WIDGET_Article_Gallery_Description",name:E.WidgetsName.ArticleGallery,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},ys={files:[],gap:"4",column:"3"},As={label:"WIDGET_Article_Image",description:"WIDGET_Article_Image_Description",name:E.WidgetsName.ArticleImage,img:"/img/article-widget-thumbnail/widget_thumbnail_illustration.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Ss={},Ts={label:"WIDGET_Slider",description:"WIDGET_Slider_Description",name:E.WidgetsName.ArticleSlider,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Es={slides:[],maxWidth:800,loop:!1,useDots:!0,startAt:0},Cs={label:"WIDGET_Text",description:"WIDGET_Text_Description",name:E.WidgetsName.ArticleText,img:"/img/article-widget-thumbnail/widget_thumbnail_text.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},bs={text:""},hs={label:"WIDGET_Title",description:"WIDGET_Title_Description",name:E.WidgetsName.ArticleTitle,img:"/img/article-widget-thumbnail/widget_thumbnail_title.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Ls={text:"",heading:"h1",backgroundColor:"transparent"},ws={label:"WIDGET_Calendar_CalDav",description:"WIDGET_Calendar_CalDav_Text",name:E.WidgetsName.CalendarCalDav,img:"/img/fast-intranet/widget-calendar-calDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Is={calEventsLimit:!1,calEventsLimitValue:10,calEventsPromptStatus:"shared"},vs={label:ji,description:xi,name:E.WidgetsName.CheckList,img:"/img/fast-intranet/widget-check-list.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},ks={arr:[],edit:!1},Os={label:"WIDGET_Contact_CardDav",description:"WIDGET_Contact_CardDav_Text",name:E.WidgetsName.ContactCardDav,img:"/img/fast-intranet/widget-contact-cardDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Rs={contactLimit:!1,contactLimitValue:10,contactPromptStatus:"shared"},Ds={label:"WIDGET_Datasource_Table",description:"WIDGET_Datasource_Table_Description",name:E.WidgetsName.DatasourceTable,img:"/img/fast-intranet/widget-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Ms={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},js={label:"WIDGET_Email_IMAP",description:"WIDGET_Email_IMAP_Text",name:E.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}},xs={emailsLimit:!1,emailsLimitValue:10,emailsPromptStatus:"shared"},Ns={label:"WIDGET_Excel_Datasource_Table",description:"WIDGET_Excel_Datasource_Table_Text",name:E.WidgetsName.ExcelDatasourceTable,img:"/img/fast-intranet/widget-excel-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},_s={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Ps={label:"WIDGET_Extension",description:"WIDGET_Extension_Description",name:E.WidgetsName.Extension,img:"/img/article-widget-thumbnail/widget-extension.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Us={extensionName:""},Fs={label:"WIDGET_Lucca_Absence",description:"WIDGET_Lucca_Absence_Text",name:E.WidgetsName.LuccaAbsence,img:"/img/fast-intranet/widget-lucca-absence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Ws={url:""},Bs={label:"WIDGET_Presence",description:"WIDGET_Presence_Text",name:E.WidgetsName.Presence,img:"/img/fast-intranet/widget-presence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},qs={closing:!1,limit:!1,limitValue:100},$s={label:Ni,description:_i,name:E.WidgetsName.QuickSurvey,img:"/img/fast-intranet/widget-quick-survey.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},Vs={arr:[],open:!1,multi:!1,closing:!1,isClosed:!1,showResult:!1,isNotDisabled:!1},Hs={label:"WIDGET_User_Profil",description:"WIDGET_User_Profil_Text",name:E.WidgetsName.UserProfile,img:"/img/fast-intranet/widget-user-profil.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Gs={},Xs={label:"WIDGET_Color",description:"WIDGET_Color_Text",name:E.WidgetsName.Color,img:"/img/fast-intranet/widget-color.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Js={},Ks={label:"WIDGET_Welcome",description:"WIDGET_Welcome_Text",name:E.WidgetsName.Welcome,img:"/img/fast-intranet/widget-welcome.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Ys={};function Qs(t){switch(t){default:return di;case"widget-article-gallery":return di;case"widget-article-attachment":return ps;case"widget-presence":return Bs;case"widget-article-slider":return Ts;case"widget-article-text":return Cs;case"widget-article-title":return hs;case"widget-article-image":return As;case"widget-datasource-table":return Ds;case"widget-excel-datasource-table":return Ns;case"widget-article-button":return fs;case"widget-check-list":return vs;case"widget-quick-survey":return $s;case"widget-calendar-calDav":return ws;case"widget-contact-cardDav":return Os;case"widget-lucca-absence":return Fs;case"widget-emails-imap":return js;case"widget-welcome":return Ks;case"widget-user-profil":return Hs;case"widget-extension":return Ps;case"widget-color":return Xs}}function zs(t){return{title:"",level:3,widget:Zs(t)}}function Zs(t){return{uniqid:qt(),name:t,content:eo(t)}}function eo(t){switch(t){default:case"widget-lucca-absence":return{...Ws};case"widget-article-attachment":return{...gs};case"widget-presence":return{...qs};case"widget-datasource-table":return{...Ms};case"widget-excel-datasource-table":return{..._s};case"widget-article-slider":return{...Es};case"widget-article-gallery":return{...ys};case"widget-article-button":return{...ms};case"widget-article-title":return{...Ls};case"widget-article-image":return{...Ss};case"widget-article-text":return{...bs};case"widget-check-list":return{...ks};case"widget-quick-survey":return{...Vs};case"widget-calendar-calDav":return{...Is};case"widget-contact-cardDav":return{...Rs};case"widget-emails-imap":return{...xs};case"widget-welcome":return{...Ys};case"widget-user-profil":return{...Gs};case"widget-extension":return{...Us};case"widget-color":return{...Js}}}const to={token:void 0,ids:{},layers:{},states:{},modal:void 0,editableMap:{},currentEditableIndex:-1,currentEditableWidgetId:void 0,widgetObject:{},widgetObjectRights:{},widgetAuthor:{},widgetWrapperStyle:{},widgetTitleStyle:{},widgetChipCount:{},flushedWidgets:[],rtObjectStack:[],widgetContext:{}},io=[E.WidgetsName.ArticleTitle,E.WidgetsName.ArticleText,E.WidgetsName.ArticleImage,E.WidgetsName.ArticleButton,E.WidgetsName.ArticleSlider,E.WidgetsName.ArticleAttachment],X=d.createSlice({name:"widgets",initialState:to,reducers:{registerWidget:(t,e)=>{const{uniqid:i,widget:a,context:r}=e.payload;t.ids[i]=a,t.states[i]={busy:!1,initialized:!1,loading:!1,mounted:!1,hover:!1,empty:io.includes(a.widget.name),locked:!1},t.widgetContext[i]=r},registerWidgetObject:(t,e)=>{const{uniqid:i,object:a}=e.payload;t.widgetObject[i]=a},registerWidgetObjectRights:(t,e)=>{const{uniqid:i,rights:a}=e.payload;t.widgetObjectRights[i]=a},registerWidgetAuthor:(t,e)=>{const{uniqid:i,author:a}=e.payload;t.widgetAuthor[i]=a},setWidgetChipCount:(t,e)=>{const{uniqid:i,count:a}=e.payload;t.widgetChipCount[i]=a},setWidgetWrapperStyle:(t,e)=>{const{uniqid:i,styles:a}=e.payload;t.widgetWrapperStyle[i]={...t.widgetWrapperStyle[i],...a}},setWidgetTitleStyle:(t,e)=>{const{uniqid:i,styles:a}=e.payload;t.widgetTitleStyle[i]={...t.widgetTitleStyle[i],...a}},updateWidget:(t,e)=>{const{uniqid:i}=e.payload,a={...t.ids[i]};t.states[i]?.locked||t.ids[i]&&a.widget&&(t.ids[i]=Object.assign({...t.ids[i],widget:{...a.widget,content:e.payload.override?e.payload.content:Object.assign({...a.widget.content,...e.payload.content})}}))},registerWidgetRTObject:(t,e)=>{const{uniqid:i,fn:a,object:r}=e.payload;t.rtObjectStack=[...t.rtObjectStack,{uniqid:i,fn:a,object:r}]},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=qt(),a={...t.ids[e.payload.uniqid]};a.widget&&(t.ids[e.payload.uniqid]&&a.widget.layers?t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...a.widget,layers:[...a.widget.layers,i]}}):t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...a.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(a=>a!==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}}}),ao=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(X.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(X.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(X.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(X.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}}]},ro=t=>t.widgets.token,no=t=>t.widgets.modal,so=t=>t.widgets.ids,oo=t=>t.widgets.flushedWidgets,lo=(t,e)=>t.widgets.states[e]??void 0,co=(t,e)=>t.widgets.ids[e]??void 0,uo=(t,e)=>t.widgets.ids[e]?.level??void 0,po=(t,e)=>t.widgets.widgetObject[e]??void 0,go=(t,e)=>{const i=t.widgets.widgetObject[e];if(i&&"uri"in i)return i.uri},fo=(t,e)=>t.widgets.widgetObjectRights[e]??void 0,mo=(t,e)=>t.widgets.widgetContext[e]??void 0,yo=(t,e)=>t.widgets.widgetAuthor[e]??void 0,Ao=(t,e)=>t.widgets.widgetChipCount[e]??0,So=(t,e)=>t.widgets.widgetWrapperStyle[e]??{},To=(t,e)=>t.widgets.widgetTitleStyle[e]??{},Eo=(t,e)=>t.widgets.currentEditableWidgetId===e,Co=(t,e)=>t.widgets.rtObjectStack.filter(i=>i.uniqid===e),bo=(t,e,i)=>Pi.slice.actions.updateWidget({uniqid:t,content:e,override:i??!1}),Pi={const:us,factory:zs,definition:Qs,utils:{uniqid:qt},slice:X,getWidgetRTHandlers:ao,selectors:{isActive:Eo,selectToken:ro,selectWidgets:so,selectWidget:co,selectWidgetState:lo,selectModal:no,selectWidgetObject:po,selectWidgetObjectUri:go,selectWidgetAuthor:yo,selectWidgetObjectRights:fo,selectAllWidgetRTObject:Co,selectFlushedWidgets:oo,selectWidgetContext:mo,selectWidgetLevel:uo,selectWidgetWrapperStyle:So,selectWidgetTitleStyle:To,selectWidgetChipCount:Ao}},ho={editors:[]},Lo=d.createSlice({name:"editors",initialState:ho,reducers:{registerEditor:(t,e)=>{const{uniqid:i,name:a,onSave:r,mode:n}=e.payload,s=r?{uniqid:i,name:a,onSave:r,position:"right",mode:n??"view"}:{uniqid:i,name:a,position:"right",mode:n??"view"};t.editors=t.editors.find(l=>l.uniqid===i)?t.editors:[...t.editors,s]},registerEditorPopup:(t,e)=>{const{uniqid:i,view:a}=e.payload;t.editors=[...t.editors.map(r=>r.uniqid===i?{...r,popup:!0,view:a}:r)]},flushEditorPopup:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.map(a=>a.uniqid===i?{...a,popup:!1}:a)]},setEditorPosition:(t,e)=>{const{uniqid:i,position:a}=e.payload;t.editors=[...t.editors.map(r=>r.uniqid===i?{...r,position:a}:r)]},flushEditor:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.filter(a=>a.uniqid!==i)]},flushAllEditor:t=>{window.dispatchEvent(new Event("WidgetEditorFlushAll")),t.editors.length=0}}}),wo=t=>t.editors.editors,Io=(t,e)=>t.editors.editors.find(i=>i.uniqid===e),vo={slice:Lo,selectors:{selectEditors:wo,selectEditor:Io}},x=d.createEntityAdapter({selectId:t=>`${t.targetId}-${t.type}`}),ci=d.createSlice({name:"socialActions",initialState:x.getInitialState(),reducers:{addOne:x.addOne,addMany:x.addMany,setAll:x.setAll,clear:x.removeAll,updateOne:x.updateOne}}),ko=x.getSelectors(t=>t.entities.socialActions),Oo={slice:ci,actions:{...ci.actions},selectors:ko},ye={ALL:"1",CUSTOM:"0"},F={draft:"draft",installed:"installed",suspended:"suspended"},k={DRAFT:F.draft,INSTALLED:F.installed,SUSPENDED:F.suspended},ot={SOLR:"1",NOT_SOLR:"0"};var V=(t=>(t.TABLE="table",t.FLUX="flux",t))(V||{});const ct=["create","popup","edit","filter","list","view"],o={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"},g={TITLE:"TITLE",USER:"USER",PUBLISHTO:"PUBLISHTO",SENDALERTTOSUBSCRIBERS:"SENDALERTTOSUBSCRIBERS",RECEIVEACOPY:"RECEIVEACOPY",CREATIONDATE:"CREATIONDATE"},Ui={TITLE:"title",USER:"user",PUBLISHTO:"publishTo",SENDALERTTOSUBSCRIBERS:"sendAlert",RECEIVEACOPY:"alertAuthor",CREATIONDATE:"dateCreation"},T={LABEL:"label",DESCRIPTION:"description",RICHTEXT:"richtext",CHECKBOX:"checkbox",OPTIONS_EDITOR:"options_editor",TAXONOMY:"taxonomy",CONTENTTYPE:"contenttype"},Ro=[o.DESCRIPTION,o.IMAGE],Do=Ro,ut=new Map;ut.set(o.IMAGE,["list","filter","view"]);ut.set(o.CODEHTML,["list","filter","view"]);const N={create:{fixed:[g.TITLE],optional:[g.PUBLISHTO,g.SENDALERTTOSUBSCRIBERS,g.RECEIVEACOPY]},popup:{fixed:[g.TITLE],optional:[g.PUBLISHTO]},edit:{fixed:[g.TITLE],optional:[g.PUBLISHTO]},list:{fixed:[g.TITLE,g.USER],optional:[g.CREATIONDATE]},filter:{fixed:[g.TITLE,g.USER],optional:[g.CREATIONDATE]},view:{fixed:[g.TITLE],optional:[]}},Fi=[g.TITLE,g.USER,g.CREATIONDATE,o.DESCRIPTION],Wi=[o.DESCRIPTION],$t=Wi,Mo=[g.TITLE,g.PUBLISHTO,g.SENDALERTTOSUBSCRIBERS,g.RECEIVEACOPY,g.USER,g.CREATIONDATE],Bi=[g.USER,g.TITLE],qi=[o.CODEHTML],$i=Bi.concat(qi).concat(Wi);var Vi=(t=>(t.Attr="attr",t.PublishTo="publishTo",t))(Vi||{}),Hi=(t=>(t.Empty="",t.FieldTagDescription="Field_Tag_Description",t.FieldTitleDescription="Field_Title_Description",t.WWWDescCOM="www.desc.com",t))(Hi||{}),L=[];for(var gt=0;gt<256;++gt)L.push((gt+256).toString(16).slice(1));function jo(t,e=0){return(L[t[e+0]]+L[t[e+1]]+L[t[e+2]]+L[t[e+3]]+"-"+L[t[e+4]]+L[t[e+5]]+"-"+L[t[e+6]]+L[t[e+7]]+"-"+L[t[e+8]]+L[t[e+9]]+"-"+L[t[e+10]]+L[t[e+11]]+L[t[e+12]]+L[t[e+13]]+L[t[e+14]]+L[t[e+15]]).toLowerCase()}var Ce,xo=new Uint8Array(16);function No(){if(!Ce&&(Ce=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ce))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ce(xo)}var _o=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const ui={randomUUID:_o};function R(t,e,i){if(ui.randomUUID&&!t)return ui.randomUUID();t=t||{};var a=t.random||(t.rng||No)();return a[6]=a[6]&15|64,a[8]=a[8]&63|128,jo(a)}var B=(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))(B||{});function Gi(t){const e=t,i=e.manifest,a=n(),r={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:a,views:p(),audience:e.audience??"1",installFor:e.installFor??[]};function n(){const u=[];for(const A of e.form.formItems){const C=s(A.type);u.push({id:A.id,type:C,properties:l(A.properties??{}),mandatory:A.mandatory??!1,views:A.views,isActive:!0,isFixed:!1,isOptional:!1,value:null})}return u}function s(u){return o[u]}function l(u){const A=[],C=u.options&&Object.prototype.hasOwnProperty.call(u,"hasDefaultValue"),b={isRequired:u.mandatory??!1,...C&&{isOptionsEditorEnhanced:!0}};return u.labels&&(A.push({propertyType:T.LABEL,value:u.labels.label?.content??"",...b}),A.push({propertyType:T.DESCRIPTION,value:u.labels.description?.content??"",...b})),u.options&&A.push({propertyType:T.OPTIONS_EDITOR,value:C?{propertyOptions:c(u.options??[]),defaultSelectOptionValue:u.defaultValue,defaultSelectOption:u.hasDefaultValue??!1,canSelectMultiple:u.multiple??!1,userCanModifiyByComment:u.explain??!1}:{propertyOptions:c(u.options??[])},...b}),u.code&&A.push({propertyType:T.RICHTEXT,value:{html:u.code.html,text:u.code.text},...b}),Object.prototype.hasOwnProperty.call(u,"digits")&&A.push({propertyType:T.CHECKBOX,value:u.digits??!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:u.digits}],...b}),Object.prototype.hasOwnProperty.call(u,"taxonomy")&&A.push({propertyType:T.TAXONOMY,value:u.taxonomy??"",...b}),Object.prototype.hasOwnProperty.call(u,"contentType")&&A.push({propertyType:T.CONTENTTYPE,value:u.contentType??"",...b}),A}function c(u){const A=[];for(const C of u)A.push({title:C.label,value:C.value});return A}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 A={};return u.forEach(C=>{const b={isUsed:!0,isFixed:!1,isOptional:!1,properties:[],pos:0,isLockedValue:!!C.fixedValue||!1,value:C.fixedValue??""};if(C.ref===B.TITLE)A[R()]={...b,type:g.TITLE,isFixed:!0};else if(C.ref===B.IDUSER)A[R()]={...b,type:g.USER,isFixed:!0};else if(C.ref===B.PUBLISHTO)A[R()]={...b,type:g.PUBLISHTO,isOptional:!0};else if(C.ref===B.SENDALERTTOSUBSCRIBERS)A[R()]={...b,type:g.SENDALERTTOSUBSCRIBERS,isOptional:!0};else if(C.ref===B.RECEIVEACOPY)A[R()]={...b,type:g.RECEIVEACOPY,isOptional:!0};else{const h=m(C);h&&(A[h.id]={type:h.type,...b,properties:h.properties??[]})}}),A}function m(u){const A=e.form.formItems.find(C=>u.ref===C.id||u.ref===C.name);return A?a.find(C=>C.id===A.id):null}return r}function Ae(t,e=!0){return{id:R(),type:t,properties:Fo(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 Po={type:"taxonomyOpen",id:1,title:"Mots-clés"},Uo={type:"mpArticle",label:"Article"};function Fo(t){switch(t){case o.TEXT:case o.DESCRIPTION:case o.TEXTAREAHTML:case o.DATE:case o.DATETIME:case o.URL:case o.EMAIL:case o.TOGGLE:case o.USERLINK:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""}];case o.ADDFILEATTACHMENT:return[{propertyType:T.LABEL,isRequired:!0,value:""}];case o.CODEHTML:return[{propertyType:T.RICHTEXT,value:""}];case o.TEXTAREA:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""}];case o.NUMBER:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.CHECKBOX,value:!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:!1}]}];case o.SELECT:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.OPTIONS_EDITOR,value:[],isOptionsEditorEnhanced:!0}];case o.CHECKBOX:case o.RADIO:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.OPTIONS_EDITOR,value:[]}];case o.TAGS:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.TAXONOMY,value:{...Po}}];case o.CONTENTLINK:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.CONTENTTYPE,value:{...Uo}}];default:return[]}}function I(t,e){const i={...Ae(t,!1),id:e.name,mandatory:e.mandatory};return i.properties[0].value=e.label,i.properties[1].value=e.description,i}function Xi(t){const e=[];return Object.keys(t).forEach(i=>{e.push({title:t[i],value:i})}),e}function Wo(t){const e={...Ae(o.ADDFILEATTACHMENT,!1),id:t.name,mandatory:t.mandatory};return e.properties[0].value=t.label,e}function Bo(t){const e={...Ae(o.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 qo(){return Ae(o.IMAGE,!1)}function $o(t){const e=I(o.NUMBER,t);return e.properties[2].value=t.widget.params?.step==="0.01",e}function Vo(t){const e=I(o.TAGS,t);return e.properties[2].value.id=+(t.widget.params?.idTaxonomy??1),e}function Ho(t){const e=I(o.SELECT,t),i=t.widget.params?.defaultValue?{title:t.widget.options[t.widget.params?.defaultValue],value:t.widget.params?.defaultValue}:void 0,a={propertyOptions:Xi(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=a,e}function Ji(t){const e=I(o.RADIO,t),i={propertyOptions:Xi(t.widget.options)};return e.properties[2].value=i,e}function Go(t){const e=Ji(t);return e.type=o.CHECKBOX,e}function Xo(t,e){const i=I(o.CONTENTLINK,t);i.properties[2].value.type=t.widget.params.types??"mpArticle";const a=e.entities===void 0?void 0:{entities:e.entities},r=a?Ri.selectors.selectById(a,i.properties[2].value.type):void 0;return i.properties[2].value.label=r?.label??"Article",i}function Jo(t){return I(o.TEXT,t)}function Ko(t){return I(o.DESCRIPTION,t)}function Yo(t){return I(o.TEXTAREAHTML,t)}function Qo(t){return I(o.DATE,t)}function zo(t){return I(o.DATETIME,t)}function Zo(t){return I(o.URL,t)}function el(t){return I(o.EMAIL,t)}function tl(t){return I(o.TOGGLE,t)}function il(t){return I(o.USERLINK,t)}function al(t){return I(o.TEXTAREA,t)}function rl(t){const{manifest:e,views:i,audience:a,installFor:r}=t;return`<?xml version='1.0' encoding='utf-8'?>
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@reduxjs/toolkit"),E=require("jamespot-user-api"),va=function(t){return[{namespace:"JAMESPOT",function:"article-create",handler:function(i){i.namespace==="JAMESPOT"&&i.function==="article-create"&&t(i.object)}}]},La={getArticleRTHandlers:va},h=t=>!!t&&typeof t=="object"&&"aborted"in t&&!!t.aborted,A=(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",Me=d.createEntityAdapter({selectId:t=>t.id}),gt=d.createSlice({name:"toasts",initialState:Me.getInitialState(),reducers:{addOne:Me.addOne,removeOne:Me.removeOne}}),wa=()=>Math.random().toString(16).slice(2),Ie=({id:t=wa(),...e},i="success",a=3e3)=>r=>{const n={id:t,...e,timeout:a,type:i};return r(gt.actions.addOne(n)),setTimeout(()=>{r(gt.actions.removeOne(t))},a),t},wi={addMessage:Ie,success:(t,e)=>Ie(t,"success",e),warning:(t,e)=>Ie(t,"warning",e),error:(t,e)=>Ie(t,"error",e)},Ia=Me.getSelectors(t=>t.toasts),p={slice:gt,actions:{...wi,...gt.actions},selectors:Ia},ii=t=>t.toISOString().slice(0,19).replace(/T/g," "),Ra=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Oa={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:ii(Ra()),end:ii(new Date)}}],orders:[],limit:30,nbResults:0},De=d.createAsyncThunk("admin/fetchLogsNavigation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.admin.logs.getLogsNavigation(t)).result}catch(r){return h(r)||a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs navigation"})}}),ht=d.createSlice({name:"logsNavigation",initialState:Oa,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(De.pending,e=>{e.loading="pending"}),t.addCase(De.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(De.rejected,e=>{e.loading="idle"})}}),ai=t=>t.toISOString().slice(0,19).replace(/T/g," "),ka=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Ma={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:ai(ka()),end:ai(new Date)}}],orders:[],limit:30,nbResults:0},je=d.createAsyncThunk("admin/fetchLogsObjects",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.admin.logs.getLogsObjects(t)).result}catch(r){return h(r)||a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs Objects"})}}),bt=d.createSlice({name:"logsObjects",initialState:Ma,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(je.pending,e=>{e.loading="pending"}),t.addCase(je.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(je.rejected,e=>{e.loading="idle"})}}),ri=t=>t.toISOString().slice(0,19).replace(/T/g," "),Da=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},ja={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:ri(Da()),end:ri(new Date)}}],orders:[],limit:30,nbResults:0},xe=d.createAsyncThunk("admin/fetchLogsSearch",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.admin.logs.getLogsSearch(t)).result}catch(r){return h(r)||a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs Search"})}}),vt=d.createSlice({name:"logsSearch",initialState:ja,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(xe.pending,e=>{e.loading="pending"}),t.addCase(xe.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(xe.rejected,e=>{e.loading="idle"})}}),xa=t=>t.adminLogs.logsNavigation,_a=t=>t.adminLogs.logsObjects,Pa=t=>t.adminLogs.logsSearch,Na=d.combineReducers({[ht.name]:ht.reducer,[bt.name]:bt.reducer,[vt.name]:vt.reducer}),Gt={name:"adminLogs",reducer:Na},Ua=Gt.reducer,Fa={slice:Gt,actions:{...ht.actions,...bt.actions,...vt.actions,fetchLogsNavigation:De,fetchLogsObjects:je,fetchLogsSearch:xe},selectors:{selectAdminLogsNavigation:xa,selectAdminLogsObjects:_a,selectAdminLogsSearch:Pa}},Wa={animationConfiguration:null,isActiveForCurrentUser:!1,isInitialized:!1,isToggleLoading:!1},ni=d.createSlice({name:"animationsList",initialState:Wa,reducers:{},extraReducers:t=>{t.addCase(J.fulfilled,(e,i)=>{e.isActiveForCurrentUser=i.payload.isActiveForCurrentUser,e.animationConfiguration=i.payload.animationConfiguration,e.isInitialized=i.payload.isInitialized}),t.addCase(ft.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})}}),J=d.createAsyncThunk("animations/fetchCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r})=>{try{const n=(await e.jApi.animations.GetCurrentAnimation({signal:r})).result,s=(await e.jApi.animations.GetAnimationActive({signal:r})).result;return{animationConfiguration:n,isActiveForCurrentUser:s,isInitialized:!0}}catch(n){return h(n)||a(p.actions.error({label:A(n)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),ft=d.createAsyncThunk("animations/fetchCurrentAnimationApp",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.animations.GetCurrentAnimationApp()).result}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),Ba=d.createAsyncThunk("animations/deleteCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.DeleteAnimation();return}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot delete animation"})}}),qa=d.createAsyncThunk("animations/saveCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.SaveAnimationConfiguration(t);return}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot update animation"})}}),_e=d.createAsyncThunk("animations/toggleAnimationIsActive",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.ToggleAnimationActive();return}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot update animation"})}}),Va=function(t){return[{namespace:"ANIMATIONS",function:"add",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="add"&&(t(J()),t(ft()))}},{namespace:"ANIMATIONS",function:"delete",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="delete"&&(t(J()),t(ft()))}},{namespace:"ANIMATIONS",function:"toggle",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="toggle"&&t(J())}}]},Pe=d.createAsyncThunk("animations/fetchAnimationStats",async({name:t},{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.animations.GetAnimationStats(t)).result.data}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve animation stats"})}}),$a={stats:[],loading:"idle"},si=d.createSlice({name:"animationStats",initialState:$a,reducers:{},extraReducers:t=>{t.addCase(Pe.pending,e=>{e.loading="pending"}),t.addCase(Pe.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(Pe.rejected,e=>{e.loading="idle"})}}),Ne=d.createAsyncThunk("animations/fetchAnimationStatsCurrent",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.animations.GetAnimationStatsCurrent(t)).result}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve animation stats current"})}}),Ha={stats:null,loading:"idle"},oi=d.createSlice({name:"animationStatsCurrent",initialState:Ha,reducers:{},extraReducers:t=>{t.addCase(Ne.pending,e=>{e.loading="pending"}),t.addCase(Ne.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(Ne.rejected,e=>{e.loading="idle"})}}),Ga=t=>t.animations.animationsList.animationConfiguration,Xa=t=>t.animations.animationsList.isActiveForCurrentUser,Ja=t=>t.animations.animationsList.isToggleLoading,Ka=t=>t.animations.animationsList.animationConfigurationApp,Ya=d.combineReducers({[ni.name]:ni.reducer,[si.name]:si.reducer,[oi.name]:oi.reducer}),Xt={name:"animations",reducer:Ya},Qa=Xt.reducer,za={slice:Xt,actions:{saveCurrentAnimation:qa,fetchCurrentAnimation:J,deleteCurrentAnimation:Ba,toggleAnimationIsActive:_e,fetchCurrentAnimationApp:ft,fetchAnimationStats:Pe,fetchAnimationStatsCurrent:Ne},selectors:{selectCurrentAnimation:Ga,isActiveAnimation:Xa,isToggleLoading:Ja,selectAnimationConfigurationApp:Ka},getAnimationsRTHandlers:Va},W=d.createEntityAdapter({selectId:t=>t.name,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),Ii=d.createAsyncThunk("application/fetch",async(t,{extra:e})=>await e.jApi.application.list()),li=d.createSlice({name:"applications",initialState:W.getInitialState(),reducers:{addOne:W.addOne,addMany:W.addMany,setAll:W.setAll},extraReducers:t=>{t.addCase(Ii.fulfilled,(e,i)=>{W.setAll(e,i.payload.result)})}}),Za=W.getSelectors(t=>t.entities.applications),er={slice:li,actions:{fetchList:Ii,...li.actions},selectors:Za},tr={entities:[],loading:"idle",nbResults:0},Ue=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"})}),di=d.createSlice({name:"bookableAsset",initialState:tr,reducers:{},extraReducers:t=>{t.addCase(Ue.pending,e=>{e.loading="pending"}).addCase(Ue.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(Ue.rejected,e=>{e.loading="idle"})}}),Fe=d.createAsyncThunk("AssetReservation/configuration",async(t,{extra:e})=>await e.jApi.assetReservation.configuration()),ir={description:"",right:{manage:!1},daysOff:[],weekEnd:"0",bookingOpeningTime:"00:00",bookingClosingTime:"24:00",lastBookingSchedule:"24:00",loading:"idle"},ci=d.createSlice({name:"configuration",initialState:ir,reducers:{},extraReducers:t=>{t.addCase(Fe.pending,e=>{e.loading="pending"}).addCase(Fe.fulfilled,(e,i)=>({...i.payload.result,loading:"idle"})).addCase(Fe.rejected,e=>{e.loading="idle"})}}),Ri={date:"",hourStart:"",hourEnd:""},ar={entities:[],loading:"idle",nbResults:0,form:Ri},We=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)}),Lt=d.createSlice({name:"reservation",initialState:ar,reducers:{setForm:(t,e)=>{t.form=e.payload},resetForm:t=>{t.form=Ri},removeReservation:(t,e)=>{t.entities=t.entities.filter(i=>i.id!==e.payload)}},extraReducers:t=>{t.addCase(We.pending,e=>{e.loading="pending"}).addCase(We.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(We.rejected,e=>{e.loading="idle"})}}),rr=d.combineReducers({[di.name]:di.reducer,[ci.name]:ci.reducer,[Lt.name]:Lt.reducer}),nr={name:"assetReservation",reducer:rr},sr=t=>t.assetReservation.configuration,or=t=>t.assetReservation.bookableAsset.entities,lr=t=>t.assetReservation.bookableAsset.loading,dr=t=>t.assetReservation.reservation.entities,cr=t=>t.assetReservation.reservation.loading,ur=t=>t.assetReservation.reservation.form,pr={slice:nr,actions:{...Lt.actions,fetchBookableAsset:Ue,fetchConfiguration:Fe,fetchReservation:We},selectors:{configuration:sr,bookableAssetEntities:or,bookableAssetLoading:lr,reservationEntities:dr,reservationLoading:cr,reservationForm:ur}},gr={loading:"idle",reports:[],page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0,pendingReports:[]},Oi=d.createSlice({name:"contentReport",initialState:gr,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(K.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(K.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.reports=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(K.rejected,e=>{e.loading=="pending"&&(e.loading="idle")}).addCase(Y.pending,(e,i)=>{const a=e.reports.find(r=>r.uri===i.meta.arg.uri);a&&(e.pendingReports=[...e.pendingReports,{...a,requestId:i.meta.requestId}],e.reports=e.reports.map(r=>r.uri!==i.meta.arg.uri?r:{...r,status:i.meta.arg.status}))}).addCase(Y.fulfilled,(e,i)=>{e.pendingReports=e.pendingReports.filter(a=>a.requestId!==i.meta.requestId)}).addCase(Y.rejected,(e,i)=>{const a=e.pendingReports.find(r=>r.requestId===i.meta.requestId);a&&(e.reports=e.reports.map(r=>r.id!==a.id?r:a),e.pendingReports=e.pendingReports.filter(r=>r.requestId!==i.meta.requestId))})}}),K=d.createAsyncThunk("contentReport/fetchReports",async(t,{rejectWithValue:e,extra:i,dispatch:a,getState:r})=>{const n=r().contentReport,s=r().userCurrent?.id;try{const l=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:l,orders:c,page:n.page,limit:n.limit})).result}catch(l){return h(l)||a(p.actions.error({label:A(l)})),e({error:1,errorMsg:"Cannot fetch pads"})}}),Y=d.createAsyncThunk("contentReport/updateStatus",async(t,{dispatch:e,rejectWithValue:i,extra:a})=>{try{return await a.jApi.contentReport.updateStatus(t),e(p.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(r){return h(r)||e(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),fr=t=>t.contentReport,mr={slice:Oi,actions:{fetchReports:K,updateStatus:Y},selectors:{selectContentReport:fr}},ki=999,yr={bookmarks:[],loading:"idle",status:void 0,isInitialized:!1,nbResults:0,add:{},move:{loading:"idle",status:void 0},delete:{},perPage:ki,page:1},q=d.createAsyncThunk("bookmarkList/fetchbookmarkList",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{const r={limit:ki};try{return await e.jApi.bookmark.getFormattedList(r,"raw-list")}catch(n){return a(p.actions.error({label:A(n)})),i({error:1,errorMsg:"Cannot retrieve bookmarks"})}}),Be=d.createAsyncThunk("bookmarkList/addBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return E.jEnsure.isBookmarkLink(t)?await e.jApi.bookmark.addFormattedLink(t.targetId,t.targetType,"raw-list"):await e.jApi.bookmark.addBookmark(t)}catch(r){const n=A(r);return a(p.actions.error({label:n})),i({error:1,errorMsg:"Error saving bookmark"})}}),qe=d.createAsyncThunk("bookmarkList/moveBookmark",async({bookmark:t,bookmarkReference:e,position:i},{extra:a,rejectWithValue:r,dispatch:n})=>{try{await a.jApi.bookmark.move(t.id,e.id,i);return}catch(s){return n(p.actions.error({label:A(s)})),r({error:1,errorMsg:"Error moving bookmark"})}}),Ve=d.createAsyncThunk("bookmarkList/deleteBookmark",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.bookmark.delete(t.id);return}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Error deleting bookmark"})}}),he=d.createSlice({name:"bookmarkList",initialState:yr,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,a)=>(i.bookmarkOrder??0)-(a.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,a)=>(i.bookmarkOrder??0)-(a.bookmarkOrder??0))}},extraReducers:t=>{t.addCase(q.pending,e=>{e.loading="pending",e.status=void 0}).addCase(q.fulfilled,(e,i)=>{e.loading="idle",e.bookmarks=i.payload.result.data,e.nbResults=i.payload.result.cnt,e.isInitialized=!0,e.status="success"}).addCase(q.rejected,e=>{e.loading="idle",e.status="error"}).addCase(Be.pending,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Be.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"idle",status:"success",id:i.payload.result.id})}).addCase(Be.rejected,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"idle",status:"error"})}).addCase(qe.pending,e=>{e.move.loading="pending",e.move.status=void 0}).addCase(qe.fulfilled,e=>{e.move.loading="idle",e.move.status="success"}).addCase(qe.rejected,e=>{e.move.loading="idle",e.move.status="error"}).addCase(Ve.pending,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Ve.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"success"})}).addCase(Ve.rejected,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"error"})})}}),Ar=function(t){const e=function(n,s){E.jEnsure.objectIsType("bookmarkLink",n.object)?t(s(n.object)):t(q())},i=function(){t(q())},a=function(n){(n.namespace==="BOOKMARKS"||n.namespace==="CUSTOM-ACTION")&&n.function==="add"&&e(n,he.actions.addBookmarkRT)},r=n=>{(n.namespace==="BOOKMARKS"&&n.function==="delete"||n.namespace==="CUSTOM-ACTION"&&n.function==="remove")&&e(n,he.actions.deleteBookmarkRT)};return[{namespace:"CUSTOM-ACTION",function:"add",handler:a},{namespace:"CUSTOM-ACTION",function:"remove",handler:r},{namespace:"BOOKMARKS",function:"add",handler:a},{namespace:"BOOKMARKS",function:"delete",handler:r},{namespace:"BOOKMARKS",function:"update",handler:i}]},Sr={bookmark:void 0,status:void 0,loading:"idle"},$e=d.createAsyncThunk("bookmarkEdit/editBookmark",async(t,{extra:e,rejectWithValue:i})=>{if(!t.id)return i({error:1,errorMsg:"Bookmark id is required"});const a=t.bookmarkLabel??"",r=t.bookmarkUrl??"";try{await e.jApi.bookmark.rename(t.id,a,r)}catch{return i({error:2,errorMsg:"Error saving bookmark"})}}),wt=d.createSlice({name:"bookmarkEdit",initialState:Sr,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($e.pending,e=>{e.loading="pending",e.status=void 0}).addCase($e.fulfilled,e=>{e.loading="idle",e.bookmark=void 0,e.status="success"}).addCase($e.rejected,e=>{e.status="error",e.loading="idle"})}}),Tr=d.combineReducers({[he.name]:he.reducer,[wt.name]:wt.reducer}),Er={name:"bookmark",reducer:Tr},Cr=t=>t.bookmark.bookmarkList,hr=t=>t.bookmark.bookmarkList.isInitialized,br=t=>t.bookmark.bookmarkEdit.bookmark,vr=(t,e)=>t.bookmark.bookmarkList.bookmarks.find(i=>i.targetId===e),Lr={slice:Er,actions:{fetchBookmark:q,addBookmark:Be,moveBookmark:qe,deleteBookmark:Ve,editBookmark:$e,...wt.actions,...he.actions},selectors:{bookmarkList:Cr,bookmarkListIsInitialized:hr,bookmarkEditBookmark:br,bookmarkByArticleId:vr},getRTHandlers:Ar},ui={list:[],statuses:["subscribed","unanswered"],loading:"idle",types:[],pendingStatusChanges:[]};let Et=null;const Mi=(t,e,i=500)=>{Et&&clearTimeout(Et),Et=setTimeout(()=>{t(D(e))},i)},D=d.createAsyncThunk("calendarEvents/fetchEvents",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r,getState:n})=>{const s=n().calendar.events;if(!t.dates&&!s.dates)return i({error:1,errorMsg:"Dates must be set"});let l=t.types??s.types;l=l.includes("socialEvent")?[...l,"recurringEvent"]:[...l];try{const c={dateStart:t.dates?.start??s.dates?.start??"",dateEnd:t.dates?.end??s.dates?.end??"",statuses:s.statuses,types:l};return(await e.jApi.calendar.listEvents(c,{format:"raw-view",signal:r})).result}catch(c){return h(c)||a(p.actions.error({label:A(c)})),i({error:1,errorMsg:"Cannot retrieve events"})}}),Di=d.createAsyncThunk("calendarEvents/setDates",async(t,{dispatch:e})=>(Mi(e,{dates:t}),!0)),ji=d.createAsyncThunk("calendarEvents/setTypes",async(t,{dispatch:e})=>(Mi(e,{types:t}),!0)),He=d.createAsyncThunk("calendarEvents/changeResponse",async(t,{dispatch:e,extra:i,signal:a,rejectWithValue:r})=>{try{return t.status==="unknown"?await i.jApi.global.removeAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe"},{signal:a}):await i.jApi.global.updateAction({targetId:t.id,targetType:t.type,type:"socialEventSubscribe",value:t.status},{signal:a}),e(p.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(n){return h(n)||e(p.actions.error({label:A(n)})),r({error:1,errorMsg:"Cannot change response"})}}),M=d.createSlice({name:"events",initialState:ui,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:()=>ui},extraReducers:t=>{t.addCase(D.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(D.fulfilled,(e,i)=>{e.loading="idle",e.list=i.payload}).addCase(D.rejected,e=>{e.loading="idle"}).addCase(He.pending,(e,i)=>{const a=e.list.find(r=>r.id===i.meta.arg.id&&r.type===i.meta.arg.type);if(a?._extend?.socialEventRecord){e.pendingStatusChanges.push({requestId:i.meta.requestId,prevStatus:a._extend.socialEventRecord.userResponseStatus,prevSubscribersTotal:a._extend.socialEventRecord.subscribersTotal,eventId:a.id});const r=i.meta.arg.status,n=a._extend.socialEventRecord.userResponseStatus;a._extend.socialEventRecord.userResponseStatus=r,(r===1||r==="onSpot"||r==="visio"||r==="available")&&(n===0||n==="unavailable"||n==="unknown")?a._extend.socialEventRecord.subscribersTotal+=1:(r===0||r==="unavailable"||r==="unknown")&&(n===1||n==="available"||n==="onSpot"||n==="visio")&&(a._extend.socialEventRecord.subscribersTotal-=1)}}).addCase(He.fulfilled,(e,i)=>{e.pendingStatusChanges=e.pendingStatusChanges.filter(a=>a.requestId!==i.meta.requestId)}).addCase(He.rejected,(e,i)=>{const a=e.pendingStatusChanges.find(r=>r.requestId===i.meta.requestId);if(a){const r=e.list.find(n=>n.id===i.meta.arg.id&&n.type===i.meta.arg.type);r?._extend?.socialEventRecord&&(r._extend.socialEventRecord.userResponseStatus=a.prevStatus,r._extend.socialEventRecord.subscribersTotal=a.prevSubscribersTotal),e.pendingStatusChanges=e.pendingStatusChanges.filter(n=>n.requestId!==i.meta.requestId)}}).addCase(Di.pending,(e,i)=>{e.dates={start:i.meta.arg.start,end:i.meta.arg.end},e.loading="pending"}).addCase(ji.pending,(e,i)=>{e.types=i.meta.arg,e.loading="pending"})}}),Re=t=>["socialEvent","meeting","animatedMeeting","recurringEvent","recurringEventOccurrence"].includes(t),wr=function(t,e){const i=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-create"&&Re(s.object.type)){if(s.object.type==="recurringEvent"){t(D({}));return}e.article.get({uri:s.object.uri},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(l=>{(!("hideFromCalendar"in l.result)||!l.result.hideFromCalendar)&&t(M.actions.addEvent(l.result))}).catch(l=>{t(p.actions.error({label:A(l)}))})}},a=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-delete"&&Re(s.object.type)){if(s.object.type==="recurringEvent"){t(D({}));return}t(M.actions.removeEvent({uri:s.object.uri}))}},r=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-update"&&Re(s.object.type)){if(s.object.type==="recurringEvent"){t(D({}));return}e.article.get({uri:s.object.uri},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(l=>{"hideFromCalendar"in l.result&&l.result.hideFromCalendar?t(M.actions.removeEvent({uri:s.object.uri})):t(M.actions.updateEvent(l.result))}).catch(l=>{t(p.actions.error({label:A(l)}))})}},n=function(s){s.namespace==="CUSTOM-ACTION"&&(s.function==="update"||s.function==="remove")&&s.object.targetType&&s.object.targetId&&Re(s.object.targetType)&&e.article.get({idArticle:s.object.targetId},{format:"raw-view",formatExtension:["socialEventRecord","recurringEventRecord"]}).then(l=>{t(M.actions.updateEvent(l.result))}).catch(l=>{t(p.actions.error({label:A(l)}))})};return[{namespace:"JAMESPOT",function:"article-create",handler:i},{namespace:"JAMESPOT",function:"article-delete",handler:a},{namespace:"JAMESPOT",function:"article-update",handler:r},{namespace:"CUSTOM-ACTION",function:"update",handler:n},{namespace:"CUSTOM-ACTION",function:"remove",handler:n}]},Ir=d.combineReducers({[M.name]:M.reducer}),Rr={name:"calendar",reducer:Ir},Or=t=>t.calendar.events,kr={slice:Rr,actions:{fetchEvents:D,setDates:Di,setTypes:ji,changeResponse:He,...M.actions},selectors:{selectCalendarEvents:Or},getCalendarRTHandlers:wr},Mr={loading:"idle",comments:[]},P=d.createAsyncThunk("commentList/fetchCommentList",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{const r=await e.jApi.article.getComments(t,{format:"raw-list",formatExtension:["actions","quarantine"]});return{idArticle:t.idArticle,list:r.result}}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve comments"})}}),It=d.createAsyncThunk("commentList/deleteComment",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.article.deleteComment(t.idComment),!0}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot delete comment"})}}),Rt=d.createSlice({name:"commentList",initialState:Mr,reducers:{discardComments:(t,e)=>{t.comments=t.comments.filter(i=>i.idArticle!==e.payload.idArticle)},hydrateComment:(t,e)=>{const{idArticle:i,list:a}=e.payload;if(!t.comments.find(c=>c.idArticle===i)){t.comments=[...t.comments.filter(c=>c.idArticle!==i),{idArticle:i,list:Array.isArray(a)?a:[]}];return}const n=[],s=t.comments.reduce((c,g)=>Array.isArray(g.list)?[...c,...g.list.map(y=>y.uri)]:[...c],n),l=Array.isArray(a)?a.filter(c=>!s.includes(c.uri)):[];t.comments=t.comments.map(c=>c.idArticle===i?{...c,list:Array.isArray(c.list)?[...c.list,...l]:[...l]}:c)},updateComment:(t,e)=>{t.comments=t.comments.map(i=>{const{idArticle:a,idComment:r,data:n}=e.payload;return i.idArticle===a?{...i,list:i.list.map(s=>s.id===r?{...s,description:n.description}:s)}:i})}},extraReducers:t=>{t.addCase(P.pending,e=>{e.loading="pending"}).addCase(P.fulfilled,(e,i)=>{e.loading="idle",e.comments=[...e.comments.filter(a=>a.idArticle!==i.payload.idArticle),{idArticle:i.payload.idArticle,list:i.payload.list.reverse()}]}).addCase(P.rejected,e=>{e.loading="idle"}).addCase(It.pending,(e,i)=>{e.comments=e.comments.map(a=>a.idArticle!==i.meta.arg.idArticle?a:{...a,list:a.list.map(r=>r.id===i.meta.arg.idComment?{...r,pending:!0}:r)})}).addCase(It.rejected,(e,i)=>{e.comments=e.comments.map(a=>a.idArticle!==i.meta.arg.idArticle?a:{...a,list:a.list.map(r=>r.id===i.meta.arg.idComment?{...r,pending:!1}:r)})})}}),Dr=function(t,e){return[{namespace:"JAMESPOT",function:"comment-create",handler:function(r){r.namespace==="JAMESPOT"&&r.function==="comment-create"&&r.object.idArticle===e&&t(P({idArticle:e}))}},{namespace:"JAMESPOT",function:"comment-delete",handler:function(r){r.namespace==="JAMESPOT"&&r.function==="comment-delete"&&Number(r.object.idArticle)===e&&t(P({idArticle:e}))}}]},jr=function(t,e,i){const a=function(r){r.namespace==="CUSTOM-ACTION"&&(r.function==="add"||r.function==="remove")&&r.object.type==="sociallike"&&r.object.targetId&&e?.includes(r.object.targetId)&&t(P({idArticle:i}))};return e?[{namespace:"CUSTOM-ACTION",function:"add",handler:a},{namespace:"CUSTOM-ACTION",function:"remove",handler:a}]:[]},xr=d.combineReducers({[Rt.name]:Rt.reducer}),_r={name:"comment",reducer:xr},Pr=(t,e,i=0)=>{const a=t.comment.commentList.comments.find(n=>n.idArticle===e),r=a?[...a.list].sort((n,s)=>n.id-s.id):[];return i!==0?r.slice(-i):r},Nr={slice:_r,actions:{fetchComments:P,deleteComment:It,...Rt.actions},selectors:{commentList:Pr},getCommentRTHandlers:Dr,getCommentsLikeRTHandlers:jr},I={route:"extra-bot",moduleName:"ExtraBotHook",configurationType:"extraBot",listLimit:20,listDefaultPage:1},Ur={global:{loading:"idle"},listAll:{loading:"idle",data:[],limit:I.listLimit,nbResults:0,page:I.listDefaultPage,filters:[],orders:[]},listMines:{loading:"idle",data:[],limit:I.listLimit,nbResults:0,page:I.listDefaultPage,filters:[],orders:[]},formModal:{open:!1,mode:"create",type:"all",extraBot:void 0}},V=d.createAsyncThunk("extraBot/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=r().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 h(s)||a(p.actions.error({label:A(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),Q=d.createAsyncThunk("extraBot/fetchMines",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=r().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 h(s)||a(p.actions.error({label:A(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),z=d.createAsyncThunk("extraBot/toggleActivation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{const r=!t.enabled,n=(await e.jApi.article.update({...t,enabled:r},{format:E.Format.VIEW})).result;return n.enabled!==t.enabled?(a(p.actions.success({label:r?"APP_ExtraBot_Toast_ActivationSuccess":"APP_ExtraBot_Toast_DeactivationSuccess"})),a(V())):a(p.actions.error({label:"APP_ExtraBot_Toast_FailedToChangeActivation"})),n}catch(r){return h(r)||a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Failed to change extra bot activation"})}}),Z=d.createAsyncThunk("extraBot/save",async({extraBot:t},{extra:e,rejectWithValue:i,dispatch:a})=>{try{const r={...t,type:I.configurationType,publishTo:""};let n,s;if(delete r.avatar,t.uri)n=(await e.jApi.article.update(r,{format:E.Format.VIEW})).result,s=(await e.jApi.extraBot.updateBot(n.uri)).result;else{if(n=(await e.jApi.article.create({...r},{format:E.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 l=t.uri?"APP_ExtraBot_Toast_SaveEdit":"APP_ExtraBot_Toast_SaveCreate";return a(p.actions.success({label:l})),n}catch(r){return h(r)||a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot retrieve extra bot"})}}),xi=(t,e,i,a)=>{const r=t.listAll.data.find(s=>s.uri===e),n=t.listMines.data.find(s=>s.uri===e);r&&(r[i]=a),n&&(n[i]=a)},Ot=d.createSlice({name:"extraBot",initialState:Ur,reducers:{setListAllOrder:(t,e)=>{t.listAll.orders=[...e.payload],t.listAll.page=I.listDefaultPage},setListAllFilter:(t,e)=>{t.listAll.filters=[...e.payload],t.listAll.page=I.listDefaultPage},setListAllPage:(t,e)=>{t.listAll.page=e.payload},setListMinesOrder:(t,e)=>{t.listMines.orders=[...e.payload],t.listMines.page=I.listDefaultPage},setListMinesFilter:(t,e)=>{t.listMines.filters=[...e.payload],t.listMines.page=I.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(V.pending,e=>{e.listAll.loading="pending"}).addCase(V.fulfilled,(e,i)=>{e.listAll.data=i.payload.data,e.listAll.nbResults=i.payload.cnt,e.listAll.limit=i.payload.limit??I.listLimit,e.listAll.page=i.payload.page,e.listAll.loading="idle"}).addCase(V.rejected,e=>{e.listAll.loading="idle"}).addCase(Q.pending,e=>{e.listMines.loading="pending"}).addCase(Q.fulfilled,(e,i)=>{e.listMines.data=i.payload.data,e.listMines.nbResults=i.payload.cnt,e.listMines.limit=i.payload.limit??I.listLimit,e.listMines.page=i.payload.page,e.listMines.loading="idle"}).addCase(Q.rejected,e=>{e.listMines.loading="idle"}).addCase(z.pending,e=>{e.global.loading="pending"}).addCase(z.fulfilled,(e,i)=>{e.global.loading="idle";const a=i.payload;xi(e,a.uri,"enabled",a.enabled)}).addCase(z.rejected,e=>{e.global.loading="idle"}).addCase(Z.pending,e=>{e.global.loading="pending"}).addCase(Z.fulfilled,(e,i)=>{e.global.loading="idle",e.formModal.open=!1}).addCase(Z.rejected,e=>{e.global.loading="idle"})}}),_i=t=>t.extraBot.listAll,Pi=t=>t.extraBot.listMines,Fr={slice:Ot,actions:{fetchExtraBotListAll:V,fetchExtraBotListMines:Q,toggleExtraBotActivation:z,saveExtraBot:Z,...Ot.actions},selectors:{selectExtraBotListAll:_i,selectExtraBotListMines:Pi}},Wr={loading:"idle",access:{createCategory:!1}},Ge=d.createAsyncThunk("faqConfig/fetch",async(t,{extra:e})=>{try{const[i,a]=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:a.result,_displayComment:i.result._displayComment}}catch(i){if(i.error===403)return{_web:"0"};throw i}}),pi=d.createSlice({name:"config",initialState:Wr,reducers:{},extraReducers:t=>{t.addCase(Ge.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(Ge.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(Ge.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),Br={loading:"idle",categories:null},Xe=d.createAsyncThunk("faqCategories/fetch",async(t,{extra:e})=>({categories:(await e.jApi.faq.getCategoriesList()).result.data})),gi=d.createSlice({name:"categories",initialState:Br,reducers:{},extraReducers:t=>{t.addCase(Xe.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(Xe.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.categories=i.payload.categories,e)).addCase(Xe.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),qr=d.combineReducers({[pi.name]:pi.reducer,[gi.name]:gi.reducer}),Vr={name:"faq",reducer:qr},$r=t=>t.faq.config,Hr=t=>t.faq.categories,Gr={slice:Vr,actions:{fetchFaqConfig:Ge,fetchFaqCategories:Xe},selectors:{selectFaqConfig:$r,selectFaqCategories:Hr}},ee={listLimit:50,listDefaultPage:1},Xr={list:{loading:"idle",data:[],limit:ee.listLimit,nbResults:0,page:ee.listDefaultPage,filters:[],orders:[{name:"dateCreation",sort:"DESC"}]},action:{loading:"idle"}},te=d.createAsyncThunk("fileIntegrity/fetchAll",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=r().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 h(s)||a(p.actions.error({label:A(s)})),i({error:1,errorMsg:"Cannot retrieve file integrity list"})}}),ie=d.createAsyncThunk("fileIntegrity/releaseQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.fileIntegrity.release(t)).result}catch(r){return h(r)||a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot release quarantined file"})}}),ae=d.createAsyncThunk("fileIntegrity/deleteQuarantine",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.fileIntegrity.delete(t)).result}catch(r){return h(r)||a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot delete quarantined file"})}}),kt=d.createSlice({name:"fileIntegrity",initialState:Xr,reducers:{setListOrder:(t,e)=>{t.list.orders=[...e.payload],t.list.page=ee.listDefaultPage},setListFilter:(t,e)=>{t.list.filters=[...e.payload],t.list.page=ee.listDefaultPage},setListPage:(t,e)=>{t.list.page=e.payload}},extraReducers:t=>{t.addCase(te.pending,e=>{e.list.loading="pending"}).addCase(te.fulfilled,(e,i)=>{e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt,e.list.limit=i.payload.limit??ee.listLimit,e.list.page=i.payload.page,e.list.loading="idle"}).addCase(te.rejected,e=>{e.list.loading="idle"}).addCase(ie.pending,e=>{e.action.loading="pending"}).addCase(ie.fulfilled,e=>{e.action.loading="idle"}).addCase(ie.rejected,e=>{e.action.loading="idle"}).addCase(ae.pending,e=>{e.action.loading="pending"}).addCase(ae.fulfilled,e=>{e.action.loading="idle"}).addCase(ae.rejected,e=>{e.action.loading="idle"})}}),Ni=t=>t.fileIntegrity.action,Ui=t=>t.fileIntegrity.list,Jr={slice:kt,actions:{deleteQuarantine:ae,fetchFileIntegrityList:te,releaseQuarantine:ie,...kt.actions},selectors:{selectFileIntegrityAction:Ni,selectFileIntegrityList:Ui}},Kr=t=>t?Object.keys(t).filter(e=>t[e]):[],fi=d.createSlice({name:"hooks",initialState:{},reducers:{initHooks:(t,{payload:e})=>e}}),Yr=t=>t.hooks,Qr=(t,e)=>t.hooks[e],zr=(t,e)=>!!t.hooks[e]?.hasLicense,Zr={slice:fi,actions:fi.actions,selectors:{selectHooks:Yr,selectHook:Qr,hasHookLicense:zr},utils:{buildDrivesArrayFromObject:Kr}},Jt=t=>{const e=t.urlToJland;if(!e)return;const i=/(https:\/\/[^/]+)\/.*/g.exec(e);if(i)return i[1]},Kt=(t,e,i)=>`${i}/map/${e}/${t.uri}`,N=d.createAsyncThunk("/fetchMaps",async({jlandUrlBase:t,retrieveAllMaps:e},{extra:i})=>{const a=i.jApi,r=await a.network.getHostname();return await new Promise((n,s)=>{const l={type:"jlandmap"};(e?a.jland.getAllMapsAsAdmin():a.article.list(l,{format:"raw-list",formatExtension:["licenses"]})).then(g=>{const m=g.result.data.map(u=>{const S={...u};return S.urlToJland=Kt(u,r,t),S});n(m)}).catch(g=>{g.error&&s(g),s({error:1,errorMsg:"Error retrieving maps"})})})}),U=d.createAsyncThunk("/fetchAvailableLicenses",async(t,{extra:e})=>{const i=e.jApi;return await new Promise((a,r)=>{i.admin.license.getLicensesNotAssigned("jlandmap").then(n=>{a(n.result)}).catch(n=>{if(n.error){r(n);return}r({error:1,errorMsg:"Error while retrieving licenses not assigned"})})})}),Je=d.createAsyncThunk("/unassignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:a})=>{const r=i.jApi,n=Jt(t);return n?await new Promise((s,l)=>{r.admin.license.unAssignLicense(t.uri).then(c=>{c.result&&(a(U()),a(N({jlandUrlBase:n,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:"Error unassign license"})})}):!1}),Ke=d.createAsyncThunk("/deleteLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:a})=>{const r=i.jApi,n=Jt(t);return n?await new Promise((s,l)=>{r.article.delete(t.id).then(c=>{s(c.result),a(N({jlandUrlBase:n,retrieveAllMaps:e})),a(U())}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:c.errorMsg+""})})}):!1}),re=d.createAsyncThunk("/assignLicense",async({map:t,retrieveAllMaps:e},{extra:i,dispatch:a})=>{const r=Jt(t);if(!r)return!1;const n=i.jApi;return await new Promise((s,l)=>{n.admin.license.assignLicense(t.uri).then(c=>{c.result&&(a(U()),a(N({jlandUrlBase:r,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:"Error assign license"})})})}),mi=d.createSlice({name:"jLandMapList",initialState:{maps:[],availableLicenses:{},loading:"idle",loadingAvailableLicenses:"idle",loadingLicenseOperation:{},loadingMapDeletion:"idle"},reducers:{},extraReducers:t=>{t.addCase(N.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(N.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.maps=i.payload)}).addCase(N.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(U.pending,e=>{e.loadingAvailableLicenses==="idle"&&(e.loadingAvailableLicenses="pending")}).addCase(U.fulfilled,(e,i)=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle",e.availableLicenses=i.payload)}).addCase(U.rejected,e=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle")}).addCase(re.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(re.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(re.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(Je.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(Je.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(Je.rejected,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(Ke.pending,e=>{e.loadingMapDeletion="pending"}).addCase(Ke.fulfilled,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")}).addCase(Ke.rejected,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")})}}),en={title:"",type:"",flavor:"",url:"",audience:[],illustration:"",assignLicense:!1},yi={map:{...en},loading:"idle",status:void 0,msg:void 0},Ye=d.createAsyncThunk("mapCreate/create",async({map:t,jlandUrlBase:e},{extra:i,dispatch:a})=>{const r={title:t.title,publishTo:t.audience.reduce((s,l,c,g)=>(l.uri&&(s+=l.uri,c<g.length-1&&(s+=",")),s),""),jlandMapAggregated:t.type,type:"jlandmap"},n=i.jApi;return await new Promise((s,l)=>{n.article.create(r,{format:"raw-list",formatExtension:["licenses"]}).then(async c=>{if(c.error){l({error:1,errorMsg:c.errorMsg});return}const g=c.result[0]?{...c.result[0],urlToJland:void 0}:void 0;if(t.assignLicense&&g!==void 0){const y=await n.network.getHostname();g.urlToJland=Kt(g,y,e),a(re({map:g,retrieveAllMaps:!1}))}s(c.result)}).catch(()=>{l({error:1,errorMsg:"Error assign license"})})})}),Mt=d.createSlice({name:"mapCreate",initialState:yi,reducers:{setMap:(t,e)=>{t.map=e.payload},resetCreateMapState:()=>yi},extraReducers:t=>{t.addCase(Ye.pending,e=>{e.loading="pending"}).addCase(Ye.fulfilled,e=>{e.loading="idle",e.status="success"}).addCase(Ye.rejected,(e,i)=>{e.msg=i.error.message??void 0,e.status="error",e.loading="idle"})}}),tn=function(e){return e.jland.jLandMapList.maps},an=function(e){return e.jland.jLandMapList.availableLicenses},rn=function(e){return e.jland.mapCreate},nn=d.combineReducers({[mi.name]:mi.reducer,[Mt.name]:Mt.reducer}),sn={name:"jland",reducer:nn},on={slice:sn,actions:{...Mt.actions,assignLicense:re,unassignLicense:Je,deleteJlandMap:Ke,fetchJLandMaps:N,fetchJLandAvailableLicenses:U,createMap:Ye},selectors:{selectJLandMaps:tn,selectJLandAvailableLicenses:an,selectMapCreate:rn},utils:{buildUrlToJland:Kt}},ln={loading:"idle",pads:[],query:"",page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0},Fi=d.createSlice({name:"magicPad",initialState:ln,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(ne.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ne.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.pads=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(ne.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),ne=d.createAsyncThunk("magicPad/fetchPads",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{try{const n=r().magicPad,s=n.page,l=n.query,c=[...n.filters,...n.tab==="my"?[{name:"idUser",value:t.idUserLogged}]:[]],g=n.orders.length>0?n.orders:[{name:"dateCreation",sort:"DESC"}];return(await e.jApi.article.list({type:"magicpad",limit:n.limit,page:s,query:l,orders:g,filters:c},{format:"raw-view"})).result}catch(n){return a(p.actions.error({label:A(n)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),dn=t=>t.magicPad,cn={slice:Fi,actions:{fetchPads:ne},selectors:{selectMagicPad:dn}},Dt={typeMediaLibraryFolder:"mediaLibraryFolder",typeMediaLibraryFile:"mediaLibraryFile"},un=18,pn=12,gn=18,fn={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}},Yt=d.createSlice({name:"mediaLibrary",initialState:fn,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(se.pending,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="pending":e.folders.loading="pending"}).addCase(se.fulfilled,(e,i)=>{const a=i?.meta?.arg?.noLimit??!1,r=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=i.payload.result.page,s=i.meta.arg.query??"";a?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/r)),e.folders.loading="idle",e.query=s}).addCase(se.rejected,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="idle":e.folders.loading="idle"}).addCase(oe.pending,(e,i)=>{i.meta.arg.page==1&&(e.folderFiles.list=[]),e.folderFiles.loading="pending"}).addCase(oe.fulfilled,(e,i)=>{const a=i.payload.result.page,r=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,n=Math.ceil(i.payload.result.cnt/r);a>1?e.folderFiles.list.push(...i.payload.result.data):e.folderFiles.list=i.payload.result.data,e.folderFiles.page=a,e.folderFiles.totalPages=n,e.folderFiles.loading="idle"}).addCase(oe.rejected,e=>{e.folderFiles.loading="idle"}).addCase(le.pending,e=>{e.unclassifiedFiles.loading="pending"}).addCase(le.fulfilled,(e,i)=>{const a=i.payload.result.limit&&i.payload.result.limit>0?i.payload.result.limit:1,r=i.payload.result.page,n=Math.ceil(i.payload.result.cnt/a),s=i.meta.arg.query??e.query??"";e.query!==s||r===1?(e.unclassifiedFiles.list=i.payload.result.data,e.unclassifiedFiles.page=1):(e.unclassifiedFiles.list.push(...i.payload.result.data),e.unclassifiedFiles.page=r),e.unclassifiedFiles.totalPages=n,e.unclassifiedFiles.loading="idle",e.query=s}).addCase(le.rejected,e=>{e.unclassifiedFiles.loading="idle"}).addCase(de.fulfilled,(e,i)=>{e.loading="idle",e.mediaLibraryAccess=i.payload?.result??!1}).addCase(de.rejected,e=>{e.loading="idle",e.mediaLibraryAccess=!1}).addCase(de.pending,e=>{e.loading="pending",e.mediaLibraryAccess=!1}).addCase(pe.fulfilled,(e,i)=>{e.loading="idle",e.stats={...i.payload?.result}}).addCase(pe.rejected,e=>{e.loading="idle",e.stats=null}).addCase(pe.pending,e=>{e.loading="pending"}).addCase(ce.fulfilled,(e,i)=>{e.foldersStats={loading:!1,pager:i.payload?.result}}).addCase(ce.rejected,e=>{e.foldersStats={loading:!1,pager:null}}).addCase(ce.pending,e=>{e.foldersStats.loading=!0}).addCase(ue.fulfilled,(e,i)=>{e.filesStats={loading:!1,pager:i.payload?.result}}).addCase(ue.rejected,e=>{e.filesStats={loading:!1,pager:null}}).addCase(ue.pending,e=>{e.filesStats.loading=!0})}}),se=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFolders",async({page:t=1,noLimit:e=!1,query:i},{extra:a,rejectWithValue:r,dispatch:n,getState:s})=>{const l={type:Dt.typeMediaLibraryFolder,page:t,orders:[{name:"title",sort:"ASC"}]};e||(l.limit=pn);try{const c=s().mediaLibrary;return l.query=i??c.query,await a.jApi.article.list(l,{format:"raw-list"})}catch(c){return n(p.actions.error({label:A(c)})),r({error:1,errorMsg:"Cannot retrieve folders"})}}),oe=d.createAsyncThunk("MediaLibrary/fetchFolderFiles",async({folderId:t,page:e},{extra:i,rejectWithValue:a,dispatch:r})=>{const n={type:Dt.typeMediaLibraryFile,page:e,limit:gn,filters:[{name:"mediaLibraryFolderOrientedLinks",value:{targetId:t,targetType:Dt.typeMediaLibraryFolder}}],format:"raw-list",orders:[{name:"title",sort:"ASC"}]};try{return await i.jApi.article.list(n)}catch(s){return r(p.actions.error({label:A(s)})),a({error:1,errorMsg:`Cannot retrieve files for folder ${t}`})}}),le=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryUnclassifiedFiles",async({page:t,query:e},{extra:i,rejectWithValue:a,dispatch:r,getState:n})=>{try{const s=n().mediaLibrary,l=e??s.query;return await i.jApi.mediaLibrary.GetUnclassifiedFiles({page:t,limit:un,query:l})}catch(s){return r(p.actions.error({label:A(s)})),a({error:1,errorMsg:"Cannot retrieve UnclassifiedFiles"})}}),de=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryConfig",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.mediaLibrary.getAccess()}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot get MediaLibrary Config"})}}),ce=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFoldersStats",async({page:t,filters:e,orders:i},{extra:a,rejectWithValue:r,dispatch:n})=>{try{return await a.jApi.mediaLibrary.getFoldersStatsList(e,i,t)}catch(s){return n(p.actions.error({label:A(s)})),r({error:1,errorMsg:"Cannot get MediaLibrary folders stats"})}}),ue=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFilesStats",async({page:t,filters:e,orders:i},{extra:a,rejectWithValue:r,dispatch:n})=>{try{return await a.jApi.mediaLibrary.getFilesStatsList(e,i,t)}catch(s){return n(p.actions.error({label:A(s)})),r({error:1,errorMsg:"Cannot get MediaLibrary files stats"})}}),pe=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryStats",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.mediaLibrary.getStats()}catch(r){return a(p.actions.error({label:A(r)})),i({error:1,errorMsg:"Cannot get MediaLibrary stats"})}}),mn=t=>t.mediaLibrary,yn=t=>t.mediaLibrary.stats,An=t=>t.mediaLibrary.foldersStats,Sn=t=>t.mediaLibrary.filesStats,Tn=t=>t.mediaLibrary.folders,En=t=>t.mediaLibrary.foldersAll,Cn=t=>t.mediaLibrary.folderFiles,hn=t=>t.mediaLibrary.unclassifiedFiles,bn=Yt.reducer,vn={slice:Yt,actions:{fetchMediaLibraryFolders:se,fetchFolderFiles:oe,fetchMediaLibraryUnclassifiedFiles:le,fetchMediaLibraryConfig:de,fetchMediaLibraryStats:pe,fetchMediaLibraryFilesStats:ue,fetchMediaLibraryFoldersStats:ce},selectors:{selectMediaLibrary:mn,selectMediaLibraryStats:yn,selectMediaLibraryFoldersStats:An,selectMediaLibraryFilesStats:Sn,selectFolders:Tn,selectFolderAll:En,selectFolderFiles:Cn,selectUnclassifiedFiles:hn}},H=d.createEntityAdapter({selectId:t=>t.type,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),Ln=(t,e)=>{const i={from:"imagestatic",size:e??"fitx600",uri:`icons/${t?.icon??"article"}-white`};return E.formatImgUrl(i)},wn=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}`,Ai=d.createSlice({name:"models",initialState:H.getInitialState(),reducers:{addOne:H.addOne,addMany:H.addMany,setAll:H.setAll}}),In=H.getSelectors(t=>t.entities.models),Rn={getModelIconSrc:Ln,getModelFontAwesomeIcon:wn},On=(t,e)=>e.map(i=>t.entities.models.entities[i]).filter(i=>!!i),Wi={slice:Ai,actions:{...Ai.actions},utils:Rn,selectors:{...In,selectByIds:On}},kn={},jt=d.createSlice({name:"statics",initialState:kn,reducers:{initNetworkStatics:(t,{payload:e})=>e}}),Mn=d.combineReducers({[jt.name]:jt.reducer}),Dn={name:"network",reducer:Mn},jn=t=>t.network.statics,xn=t=>t.network.statics.networkPublic,_n=t=>t.network.statics.networkMe,Pn={slice:Dn,actions:{...jt.actions},selectors:{selectNetworkStatics:jn,selectNetworkPublic:xn,selectNetworkMe:_n}},Nn={userAccountStatus:0,sendAlert:0},Bi=d.createSlice({name:"config",initialState:Nn,reducers:{initPlatformConfig:(t,{payload:e})=>e}}),Un=d.combineReducers({config:Bi.reducer}),Fn={name:"platform",reducer:Un},Wn=t=>t.platform.config,Bn=t=>t.platform.config.userHighlightFields,qn=t=>t.platform.config.userAccountStatus,Vn=t=>t.platform.config.urlBase,$n={slice:Fn,actions:{...Bi.actions},selectors:{selectPlatformConfig:Wn,selectUserHighlightFields:Bn,selectUserAccountStatus:qn,selectUrlBase:Vn}},qi={query:"",filters:[],limit:20,orders:[{name:"dateCreation",sort:"DESC"}],page:1},Qe=d.createAsyncThunk("/fetchFiles",async({page:t,query:e,sort:i},{extra:a,getState:r})=>{const n=a.jApi,s=r(),l=s.wedoc.tab==="my-documents"?[{name:"idUser",value:"0"}]:[],c=[{name:"dateCreation",sort:i}],g=e!==s.wedoc.query?1:t;return await n.wedoc.getFiles({...qi,filters:l,query:e,orders:c,page:g,limit:12})}),ze=d.createAsyncThunk("/fetchRecentFiles",async(t,{extra:e,getState:i})=>{const a=e.jApi,n=i().wedoc.tab==="my-documents"?[{name:"idUser",value:"0"}]:[];return await a.wedoc.getFiles({...qi,filters:n,limit:3})}),Hn={entities:[],nbEntities:0,entitiesRecent:[],tab:"my-documents",loading:"idle",loadingRecent:"idle",query:"",page:1},Gn=d.createSlice({name:"wedoc",initialState:Hn,reducers:{update:(t,e)=>{t.entities=[...t.entities.map(i=>i.id===e.payload.id?{...i,...e.payload}:i)]},setQuery:(t,e)=>{t.query=e.payload},setTab:(t,e)=>{t.tab=e.payload}},extraReducers:t=>{t.addCase(Qe.pending,e=>{e.loading="pending"}).addCase(Qe.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbEntities=i.payload.result.cnt,e.page=i.payload.result.page}).addCase(Qe.rejected,e=>{e.loading="idle"}).addCase(ze.pending,e=>{e.loadingRecent="pending"}).addCase(ze.fulfilled,(e,i)=>{e.loadingRecent="idle",e.entitiesRecent=i.payload.result.data}).addCase(ze.rejected,e=>{e.loadingRecent="idle"})}}),Xn={slice:Gn,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}),getRecent:t=>({entities:t.wedoc.entitiesRecent,loading:t.wedoc.loadingRecent==="pending",tab:t.wedoc.tab})},actions:{fetchFiles:Qe,fetchRecentFiles:ze}},Ze=d.createAsyncThunk("/fetchRequest",async({uri:t,idUser:e},{extra:i})=>await i.jApi.object.getAccessRequest(t,e)),Jn={entities:[],nbEntities:0,loading:"idle"},Kn=d.createSlice({name:"share",initialState:Jn,reducers:{remove:(t,e)=>{t.entities=[...t.entities.filter(i=>i.id!==e.payload)]}},extraReducers:t=>{t.addCase(Ze.pending,e=>{e.loading="pending"}).addCase(Ze.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result}).addCase(Ze.rejected,e=>{e.loading="idle"})}}),Yn={slice:Kn,selectors:{requests:t=>({loading:t.share.loading,entities:t.share.entities})},actions:{fetchRequest:Ze}},Qn=function(t){return[{namespace:"TEAMWORK",function:"updateTodo",handler:function(a){a.namespace==="TEAMWORK"&&a.function==="updateTodo"&&(t(G.actions.setTasksMessageAndStatus({status:a.state,messages:a.messages,jobUid:a.jobUid})),a.state==="success"&&t(G.actions.setTasks({tasks:a.tasks,jobUid:a.jobUid})))}},{namespace:"TEAMWORK",function:"updateDaySummary",handler:function(a){a.namespace==="TEAMWORK"&&a.function==="updateDaySummary"&&(t(G.actions.setDaySummaryMessageAndStatus({status:a.state,messages:a.messages,jobUid:a.jobUid})),a.state==="success"&&t(G.actions.setDaySummary({summary:a.summary,jobUid:a.jobUid})))}}]},zn={messages:[],status:"idle",tasks:void 0,jobUid:void 0},xt=d.createSlice({name:"teamWorkAiTasks",initialState:zn,reducers:{setTasksMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:a}=e.payload;t.status=i,t.messages=a},setTasks:(t,e)=>{e.payload.jobUid===t.jobUid&&(t.tasks=e.payload.tasks)},resetTasksState:t=>{t.status="idle",t.messages=[],t.jobUid=void 0,t.tasks=void 0}},extraReducers:t=>{t.addCase(et.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(et.fulfilled,(e,i)=>{e.status=i.payload.state,e.messages=i.payload.messages,e.tasks=i.payload.tasks,e.jobUid=i.payload.jobUid}),t.addCase(et.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]})}}),et=d.createAsyncThunk("teamWork/Ai/startToDoCreation",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r})=>{try{return(await e.jApi.teamWorkAi.generateToDo({forceGeneration:t},{signal:r})).result}catch(n){return h(n)||a(p.actions.error({label:A(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),Zn={messages:[],status:"idle",summary:void 0,jobUid:void 0},_t=d.createSlice({name:"teamWorkAiDaySummary",initialState:Zn,reducers:{setDaySummaryMessageAndStatus:(t,e)=>{if(e.payload.jobUid!==t.jobUid)return;const{status:i,messages:a}=e.payload;t.status=i,t.messages=a},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(tt.pending,(e,i)=>{e.status="pending",e.messages=["APP_TeamWork_IA_Generation_Started"]}),t.addCase(tt.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(tt.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]})}}),tt=d.createAsyncThunk("teamWork/Ai/startDaySummaryCreation",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r})=>{try{return(await e.jApi.teamWorkAi.daySummary({forceGeneration:t},{signal:r})).result}catch(n){return h(n)||a(p.actions.error({label:A(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),es=t=>t.teamWork.teamWorkAiTasks,ts=t=>t.teamWork.teamWorkAiDaySummary,is=d.combineReducers({[xt.name]:xt.reducer,[_t.name]:_t.reducer}),Qt={name:"teamWork",reducer:is},as=Qt.reducer,G={slice:Qt,actions:{...xt.actions,..._t.actions,startToDoCreation:et,startDaySummaryCreation:tt},selectors:{selectToDoState:es,selectDaySummaryState:ts},getTeamWorkRTHandlers:Qn},rs={channels:void 0,loading:"idle",loadingChannelDeletion:"idle"},ge=d.createAsyncThunk("/fetchChannels",async(t,{extra:e})=>{const i=t??1,a=e.jApi;return await new Promise((r,n)=>{const s={type:"tvDisplayChannel",page:i,orders:[{name:"id",sort:"DESC"}]};a.article.list(s,{format:"raw-list"}).then(l=>{r(l.result)}).catch(l=>{n({error:l.error??1,errorMsg:l.errorMsg??"Error retrieving channels"})})})}),it=d.createAsyncThunk("/deleteChannel",async({channel:t},{extra:e,dispatch:i})=>{const a=e.jApi;return await new Promise((r,n)=>{a.article.delete(t.id).then(s=>{r(s.result),i(ge())}).catch(s=>{n({error:s.error??1,errorMsg:s.errorMsg??"Error deleting channel"})})})}),Si=d.createSlice({name:"channelsList",initialState:{...rs},reducers:{},extraReducers:t=>{t.addCase(ge.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ge.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.channels=i.payload)}).addCase(ge.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(it.pending,e=>{e.loadingChannelDeletion="pending"}).addCase(it.fulfilled,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")}).addCase(it.rejected,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")})}});function ns(t){return t.tvChannelType==="DYNAMIC"?!!t.tvChannelBackgroundColor&&!!t.tvChannelGroupTarget:t.tvChannelNumImages!==0}const ss=d.combineReducers({[Si.name]:Si.reducer}),os={name:"tvDisplay",reducer:ss},ls=function(e){return e.tvDisplay.channelsList},ds={slice:os,actions:{fetchChannels:ge,deleteChannel:it},selectors:{selectChannelsList:ls},utils:{isChannelConfigured:ns}},cs={},Pt=d.createSlice({name:"options",initialState:cs,reducers:{initOptions:(t,{payload:e})=>e}}),us=d.combineReducers({[Pt.name]:Pt.reducer}),ps={name:"tinymce",reducer:us},gs=t=>t.tinymce.options.common,fs=t=>t.tinymce.options.extended,ms={slice:ps,actions:{...Pt.actions},selectors:{selectTinyMCECommonOptions:gs,selectTinyMCEExtendedOptions:fs}},ys={id:0,mainType:"user",type:"user",uri:"user/0",title:"",_url:"",dateCreation:"",dateModified:"",level:0,active:1},Nt=d.createSlice({name:"userCurrent",initialState:ys,reducers:{init:(t,{payload:e})=>e}}),As=t=>t.userCurrent,Ss=t=>t.level===E.UserLevel.ADMIN,Ts=t=>t.id!==0,Es={slice:Nt,actions:{...Nt.actions},selectors:{get:As},utils:{isAdmin:Ss,isLogged:Ts}};function zt(){let t="";for(let e=0;e<16;e++)t+=((1+Math.random())*65536|0).toString(16).substring(1);return t}const Vi="WIDGET_Check_List",$i="WIDGET_Check_List_Description",Hi="WIDGET_Quick_Survey",Gi="WIDGET_Quick_Survey_Text",Cs=Object.freeze(Object.defineProperty({__proto__:null,WIDGET_CHECK_LIST_DESCRIPTION:$i,WIDGET_CHECK_LIST_LABEL:Vi,WIDGET_QUICK_SURVEY_DESCRIPTION:Gi,WIDGET_QUICK_SURVEY_LABEL:Hi},Symbol.toStringTag,{value:"Module"})),hs={label:"WIDGET_Article_Attachment",description:"WIDGET_Article_Attachment_Description",name:E.WidgetsName.ArticleAttachment,img:"/img/article-widget-thumbnail/widget_thumbnail_files.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},bs={files:[]},vs={label:"WIDGET_BUTTON",description:"WIDGET_Button_Description",name:E.WidgetsName.ArticleButton,img:"/img/article-widget-thumbnail/widget_thumbnail_button.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Ls={text:"",openingType:"link",openingTypeLink:{url:"",target:"_blank"},variant:"contained",fontSize:"14",color:"#fff",backgroundColor:"#4dbf96",buttonSize:"lg",borderRadius:"4"},Ti={label:"WIDGET_Article_Gallery",description:"WIDGET_Article_Gallery_Description",name:E.WidgetsName.ArticleGallery,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},ws={files:[],gap:"4",column:"3"},Is={label:"WIDGET_Article_Image",description:"WIDGET_Article_Image_Description",name:E.WidgetsName.ArticleImage,img:"/img/article-widget-thumbnail/widget_thumbnail_illustration.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Rs={},Os={label:"WIDGET_Slider",description:"WIDGET_Slider_Description",name:E.WidgetsName.ArticleSlider,img:"/img/article-widget-thumbnail/widget_thumbnail_slider.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},ks={slides:[],maxWidth:800,loop:!1,useDots:!0,startAt:0},Ms={label:"WIDGET_Text",description:"WIDGET_Text_Description",name:E.WidgetsName.ArticleText,img:"/img/article-widget-thumbnail/widget_thumbnail_text.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Ds={text:""},js={label:"WIDGET_Title",description:"WIDGET_Title_Description",name:E.WidgetsName.ArticleTitle,img:"/img/article-widget-thumbnail/widget_thumbnail_title.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},xs={text:"",heading:"h1",backgroundColor:"transparent"},_s={label:"WIDGET_Calendar_CalDav",description:"WIDGET_Calendar_CalDav_Text",name:E.WidgetsName.CalendarCalDav,img:"/img/fast-intranet/widget-calendar-calDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Ps={calEventsLimit:!1,calEventsLimitValue:10,calEventsPromptStatus:"shared"},Ns={label:Vi,description:$i,name:E.WidgetsName.CheckList,img:"/img/fast-intranet/widget-check-list.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},Us={arr:[],edit:!1},Fs={label:"WIDGET_Contact_CardDav",description:"WIDGET_Contact_CardDav_Text",name:E.WidgetsName.ContactCardDav,img:"/img/fast-intranet/widget-contact-cardDav.png",available:!0,displayLevel:[1,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Ws={contactLimit:!1,contactLimitValue:10,contactPromptStatus:"shared"},Bs={label:"WIDGET_Datasource_Table",description:"WIDGET_Datasource_Table_Description",name:E.WidgetsName.DatasourceTable,img:"/img/fast-intranet/widget-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},qs={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Vs={label:"WIDGET_Email_IMAP",description:"WIDGET_Email_IMAP_Text",name:E.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}},$s={emailsLimit:!1,emailsLimitValue:10,emailsPromptStatus:"shared"},Hs={label:"WIDGET_Excel_Datasource_Table",description:"WIDGET_Excel_Datasource_Table_Text",name:E.WidgetsName.ExcelDatasourceTable,img:"/img/fast-intranet/widget-excel-datasource-table.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Gs={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Xs={label:"WIDGET_Extension",description:"WIDGET_Extension_Description",name:E.WidgetsName.Extension,img:"/img/article-widget-thumbnail/widget-extension.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},Js={extensionName:""},Ks={label:"WIDGET_Lucca_Absence",description:"WIDGET_Lucca_Absence_Text",name:E.WidgetsName.LuccaAbsence,img:"/img/fast-intranet/widget-lucca-absence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Ys={url:""},Qs={label:"WIDGET_Presence",description:"WIDGET_Presence_Text",name:E.WidgetsName.Presence,img:"/img/fast-intranet/widget-presence.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},zs={closing:!1,limit:!1,limitValue:100},Zs={label:Hi,description:Gi,name:E.WidgetsName.QuickSurvey,img:"/img/fast-intranet/widget-quick-survey.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},eo={arr:[],open:!1,multi:!1,closing:!1,isClosed:!1,showResult:!1,isNotDisabled:!1},to={label:"WIDGET_User_Profil",description:"WIDGET_User_Profil_Text",name:E.WidgetsName.UserProfile,img:"/img/fast-intranet/widget-user-profil.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},io={},ao={label:"WIDGET_Color",description:"WIDGET_Color_Text",name:E.WidgetsName.Color,img:"/img/fast-intranet/widget-color.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},ro={},no={label:"WIDGET_Welcome",description:"WIDGET_Welcome_Text",name:E.WidgetsName.Welcome,img:"/img/fast-intranet/widget-welcome.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},so={};function oo(t){switch(t){default:return Ti;case"widget-article-gallery":return Ti;case"widget-article-attachment":return hs;case"widget-presence":return Qs;case"widget-article-slider":return Os;case"widget-article-text":return Ms;case"widget-article-title":return js;case"widget-article-image":return Is;case"widget-datasource-table":return Bs;case"widget-excel-datasource-table":return Hs;case"widget-article-button":return vs;case"widget-check-list":return Ns;case"widget-quick-survey":return Zs;case"widget-calendar-calDav":return _s;case"widget-contact-cardDav":return Fs;case"widget-lucca-absence":return Ks;case"widget-emails-imap":return Vs;case"widget-welcome":return no;case"widget-user-profil":return to;case"widget-extension":return Xs;case"widget-color":return ao}}function lo(t){return{title:"",level:3,widget:co(t)}}function co(t){return{uniqid:zt(),name:t,content:uo(t)}}function uo(t){switch(t){default:case"widget-lucca-absence":return{...Ys};case"widget-article-attachment":return{...bs};case"widget-presence":return{...zs};case"widget-datasource-table":return{...qs};case"widget-excel-datasource-table":return{...Gs};case"widget-article-slider":return{...ks};case"widget-article-gallery":return{...ws};case"widget-article-button":return{...Ls};case"widget-article-title":return{...xs};case"widget-article-image":return{...Rs};case"widget-article-text":return{...Ds};case"widget-check-list":return{...Us};case"widget-quick-survey":return{...eo};case"widget-calendar-calDav":return{...Ps};case"widget-contact-cardDav":return{...Ws};case"widget-emails-imap":return{...$s};case"widget-welcome":return{...so};case"widget-user-profil":return{...io};case"widget-extension":return{...Js};case"widget-color":return{...ro}}}const po={token:void 0,ids:{},layers:{},states:{},modal:void 0,editableMap:{},currentEditableIndex:-1,currentEditableWidgetId:void 0,widgetObject:{},widgetObjectRights:{},widgetAuthor:{},widgetWrapperStyle:{},widgetTitleStyle:{},widgetChipCount:{},flushedWidgets:[],rtObjectStack:[],widgetContext:{}},go=[E.WidgetsName.ArticleTitle,E.WidgetsName.ArticleText,E.WidgetsName.ArticleImage,E.WidgetsName.ArticleButton,E.WidgetsName.ArticleSlider,E.WidgetsName.ArticleAttachment],X=d.createSlice({name:"widgets",initialState:po,reducers:{registerWidget:(t,e)=>{const{uniqid:i,widget:a,context:r}=e.payload;t.ids[i]=a,t.states[i]={busy:!1,initialized:!1,loading:!1,mounted:!1,hover:!1,empty:go.includes(a.widget.name),locked:!1},t.widgetContext[i]=r},registerWidgetObject:(t,e)=>{const{uniqid:i,object:a}=e.payload;t.widgetObject[i]=a},registerWidgetObjectRights:(t,e)=>{const{uniqid:i,rights:a}=e.payload;t.widgetObjectRights[i]=a},registerWidgetAuthor:(t,e)=>{const{uniqid:i,author:a}=e.payload;t.widgetAuthor[i]=a},setWidgetChipCount:(t,e)=>{const{uniqid:i,count:a}=e.payload;t.widgetChipCount[i]=a},setWidgetWrapperStyle:(t,e)=>{const{uniqid:i,styles:a}=e.payload;t.widgetWrapperStyle[i]={...t.widgetWrapperStyle[i],...a}},setWidgetTitleStyle:(t,e)=>{const{uniqid:i,styles:a}=e.payload;t.widgetTitleStyle[i]={...t.widgetTitleStyle[i],...a}},updateWidget:(t,e)=>{const{uniqid:i}=e.payload,a={...t.ids[i]};t.states[i]?.locked||t.ids[i]&&a.widget&&(t.ids[i]=Object.assign({...t.ids[i],widget:{...a.widget,content:e.payload.override?e.payload.content:Object.assign({...a.widget.content,...e.payload.content})}}))},registerWidgetRTObject:(t,e)=>{const{uniqid:i,fn:a,object:r}=e.payload;t.rtObjectStack=[...t.rtObjectStack,{uniqid:i,fn:a,object:r}]},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=zt(),a={...t.ids[e.payload.uniqid]};a.widget&&(t.ids[e.payload.uniqid]&&a.widget.layers?t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...a.widget,layers:[...a.widget.layers,i]}}):t.ids[e.payload.uniqid]=Object.assign({...t.ids[e.payload.uniqid],widget:{...a.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(a=>a!==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}}}),fo=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(X.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(X.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(X.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(X.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}}]},mo=t=>t.widgets.token,yo=t=>t.widgets.modal,Ao=t=>t.widgets.ids,So=t=>t.widgets.flushedWidgets,To=(t,e)=>t.widgets.states[e]??void 0,Eo=(t,e)=>t.widgets.ids[e]??void 0,Co=(t,e)=>t.widgets.ids[e]?.level??void 0,ho=(t,e)=>t.widgets.widgetObject[e]??void 0,bo=(t,e)=>{const i=t.widgets.widgetObject[e];if(i&&"uri"in i)return i.uri},vo=(t,e)=>t.widgets.widgetObjectRights[e]??void 0,Lo=(t,e)=>t.widgets.widgetContext[e]??void 0,wo=(t,e)=>t.widgets.widgetAuthor[e]??void 0,Io=(t,e)=>t.widgets.widgetChipCount[e]??0,Ro=(t,e)=>t.widgets.widgetWrapperStyle[e]??{},Oo=(t,e)=>t.widgets.widgetTitleStyle[e]??{},ko=(t,e)=>t.widgets.currentEditableWidgetId===e,Mo=(t,e)=>t.widgets.rtObjectStack.filter(i=>i.uniqid===e),Do=(t,e,i)=>Xi.slice.actions.updateWidget({uniqid:t,content:e,override:i??!1}),Xi={const:Cs,factory:lo,definition:oo,utils:{uniqid:zt},slice:X,getWidgetRTHandlers:fo,selectors:{isActive:ko,selectToken:mo,selectWidgets:Ao,selectWidget:Eo,selectWidgetState:To,selectModal:yo,selectWidgetObject:ho,selectWidgetObjectUri:bo,selectWidgetAuthor:wo,selectWidgetObjectRights:vo,selectAllWidgetRTObject:Mo,selectFlushedWidgets:So,selectWidgetContext:Lo,selectWidgetLevel:Co,selectWidgetWrapperStyle:Ro,selectWidgetTitleStyle:Oo,selectWidgetChipCount:Io}},jo={editors:[]},xo=d.createSlice({name:"editors",initialState:jo,reducers:{registerEditor:(t,e)=>{const{uniqid:i,name:a,onSave:r,mode:n}=e.payload,s=r?{uniqid:i,name:a,onSave:r,position:"right",mode:n??"view"}:{uniqid:i,name:a,position:"right",mode:n??"view"};t.editors=t.editors.find(l=>l.uniqid===i)?t.editors:[...t.editors,s]},registerEditorPopup:(t,e)=>{const{uniqid:i,view:a}=e.payload;t.editors=[...t.editors.map(r=>r.uniqid===i?{...r,popup:!0,view:a}:r)]},flushEditorPopup:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.map(a=>a.uniqid===i?{...a,popup:!1}:a)]},setEditorPosition:(t,e)=>{const{uniqid:i,position:a}=e.payload;t.editors=[...t.editors.map(r=>r.uniqid===i?{...r,position:a}:r)]},flushEditor:(t,e)=>{const{uniqid:i}=e.payload;t.editors=[...t.editors.filter(a=>a.uniqid!==i)]},flushAllEditor:t=>{window.dispatchEvent(new Event("WidgetEditorFlushAll")),t.editors.length=0}}}),_o=t=>t.editors.editors,Po=(t,e)=>t.editors.editors.find(i=>i.uniqid===e),No={slice:xo,selectors:{selectEditors:_o,selectEditor:Po}},x=d.createEntityAdapter({selectId:t=>`${t.targetId}-${t.type}`}),Ei=d.createSlice({name:"socialActions",initialState:x.getInitialState(),reducers:{addOne:x.addOne,addMany:x.addMany,setAll:x.setAll,clear:x.removeAll,updateOne:x.updateOne}}),Uo=x.getSelectors(t=>t.entities.socialActions),Fo={slice:Ei,actions:{...Ei.actions},selectors:Uo},be={ALL:"1",CUSTOM:"0"},F={draft:"draft",installed:"installed",suspended:"suspended"},R={DRAFT:F.draft,INSTALLED:F.installed,SUSPENDED:F.suspended},mt={SOLR:"1",NOT_SOLR:"0"};var $=(t=>(t.TABLE="table",t.FLUX="flux",t))($||{});const St=["create","popup","edit","filter","list","view"],o={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"},f={TITLE:"TITLE",USER:"USER",PUBLISHTO:"PUBLISHTO",SENDALERTTOSUBSCRIBERS:"SENDALERTTOSUBSCRIBERS",RECEIVEACOPY:"RECEIVEACOPY",CREATIONDATE:"CREATIONDATE"},Ji={TITLE:"title",USER:"user",PUBLISHTO:"publishTo",SENDALERTTOSUBSCRIBERS:"sendAlert",RECEIVEACOPY:"alertAuthor",CREATIONDATE:"dateCreation"},T={LABEL:"label",DESCRIPTION:"description",RICHTEXT:"richtext",CHECKBOX:"checkbox",OPTIONS_EDITOR:"options_editor",TAXONOMY:"taxonomy",CONTENTTYPE:"contenttype"},Wo=[o.DESCRIPTION,o.IMAGE],Bo=Wo,Tt=new Map;Tt.set(o.IMAGE,["list","filter","view"]);Tt.set(o.CODEHTML,["list","filter","view"]);const _={create:{fixed:[f.TITLE],optional:[f.PUBLISHTO,f.SENDALERTTOSUBSCRIBERS,f.RECEIVEACOPY]},popup:{fixed:[f.TITLE],optional:[f.PUBLISHTO]},edit:{fixed:[f.TITLE],optional:[f.PUBLISHTO]},list:{fixed:[f.TITLE,f.USER],optional:[f.CREATIONDATE]},filter:{fixed:[f.TITLE,f.USER],optional:[f.CREATIONDATE]},view:{fixed:[f.TITLE],optional:[]}},Ki=[f.TITLE,f.USER,f.CREATIONDATE,o.DESCRIPTION],Yi=[o.DESCRIPTION],Zt=Yi,qo=[f.TITLE,f.PUBLISHTO,f.SENDALERTTOSUBSCRIBERS,f.RECEIVEACOPY,f.USER,f.CREATIONDATE],Qi=[f.USER,f.TITLE],zi=[o.CODEHTML],Zi=Qi.concat(zi).concat(Yi);var ea=(t=>(t.Attr="attr",t.PublishTo="publishTo",t))(ea||{}),ta=(t=>(t.Empty="",t.FieldTagDescription="Field_Tag_Description",t.FieldTitleDescription="Field_Title_Description",t.WWWDescCOM="www.desc.com",t))(ta||{}),L=[];for(var Ct=0;Ct<256;++Ct)L.push((Ct+256).toString(16).slice(1));function Vo(t,e=0){return(L[t[e+0]]+L[t[e+1]]+L[t[e+2]]+L[t[e+3]]+"-"+L[t[e+4]]+L[t[e+5]]+"-"+L[t[e+6]]+L[t[e+7]]+"-"+L[t[e+8]]+L[t[e+9]]+"-"+L[t[e+10]]+L[t[e+11]]+L[t[e+12]]+L[t[e+13]]+L[t[e+14]]+L[t[e+15]]).toLowerCase()}var Oe,$o=new Uint8Array(16);function Ho(){if(!Oe&&(Oe=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Oe))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Oe($o)}var Go=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const Ci={randomUUID:Go};function k(t,e,i){if(Ci.randomUUID&&!t)return Ci.randomUUID();t=t||{};var a=t.random||(t.rng||Ho)();return a[6]=a[6]&15|64,a[8]=a[8]&63|128,Vo(a)}var B=(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))(B||{});function ia(t){const e=t,i=e.manifest,a=n(),r={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:a,views:g(),audience:e.audience??"1",installFor:e.installFor??[]};function n(){const u=[];for(const S of e.form.formItems){const C=s(S.type);u.push({id:S.id,type:C,properties:l(S.properties??{}),mandatory:S.mandatory??!1,views:S.views,isActive:!0,isFixed:!1,isOptional:!1,value:null})}return u}function s(u){return o[u]}function l(u){const S=[],C=u.options&&Object.prototype.hasOwnProperty.call(u,"hasDefaultValue"),b={isRequired:u.mandatory??!1,...C&&{isOptionsEditorEnhanced:!0}};return u.labels&&(S.push({propertyType:T.LABEL,value:u.labels.label?.content??"",...b}),S.push({propertyType:T.DESCRIPTION,value:u.labels.description?.content??"",...b})),u.options&&S.push({propertyType:T.OPTIONS_EDITOR,value:C?{propertyOptions:c(u.options??[]),defaultSelectOptionValue:u.defaultValue,defaultSelectOption:u.hasDefaultValue??!1,canSelectMultiple:u.multiple??!1,userCanModifiyByComment:u.explain??!1}:{propertyOptions:c(u.options??[])},...b}),u.code&&S.push({propertyType:T.RICHTEXT,value:{html:u.code.html,text:u.code.text},...b}),Object.prototype.hasOwnProperty.call(u,"digits")&&S.push({propertyType:T.CHECKBOX,value:u.digits??!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:u.digits}],...b}),Object.prototype.hasOwnProperty.call(u,"taxonomy")&&S.push({propertyType:T.TAXONOMY,value:u.taxonomy??"",...b}),Object.prototype.hasOwnProperty.call(u,"contentType")&&S.push({propertyType:T.CONTENTTYPE,value:u.contentType??"",...b}),S}function c(u){const S=[];for(const C of u)S.push({title:C.label,value:C.value});return S}function g(){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(C=>{const b={isUsed:!0,isFixed:!1,isOptional:!1,properties:[],pos:0,isLockedValue:!!C.fixedValue||!1,value:C.fixedValue??""};if(C.ref===B.TITLE)S[k()]={...b,type:f.TITLE,isFixed:!0};else if(C.ref===B.IDUSER)S[k()]={...b,type:f.USER,isFixed:!0};else if(C.ref===B.PUBLISHTO)S[k()]={...b,type:f.PUBLISHTO,isOptional:!0};else if(C.ref===B.SENDALERTTOSUBSCRIBERS)S[k()]={...b,type:f.SENDALERTTOSUBSCRIBERS,isOptional:!0};else if(C.ref===B.RECEIVEACOPY)S[k()]={...b,type:f.RECEIVEACOPY,isOptional:!0};else{const v=m(C);v&&(S[v.id]={type:v.type,...b,properties:v.properties??[]})}}),S}function m(u){const S=e.form.formItems.find(C=>u.ref===C.id||u.ref===C.name);return S?a.find(C=>C.id===S.id):null}return r}function ve(t,e=!0){return{id:k(),type:t,properties:Ko(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 Xo={type:"taxonomyOpen",id:1,title:"Mots-clés"},Jo={type:"mpArticle",label:"Article"};function Ko(t){switch(t){case o.TEXT:case o.DESCRIPTION:case o.TEXTAREAHTML:case o.DATE:case o.DATETIME:case o.URL:case o.EMAIL:case o.TOGGLE:case o.USERLINK:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""}];case o.ADDFILEATTACHMENT:return[{propertyType:T.LABEL,isRequired:!0,value:""}];case o.CODEHTML:return[{propertyType:T.RICHTEXT,value:""}];case o.TEXTAREA:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""}];case o.NUMBER:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.CHECKBOX,value:!1,checkBoxOptions:[{label:"APPSTUDIO_FormEditProps_Digits",value:!1}]}];case o.SELECT:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.OPTIONS_EDITOR,value:[],isOptionsEditorEnhanced:!0}];case o.CHECKBOX:case o.RADIO:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.OPTIONS_EDITOR,value:[]}];case o.TAGS:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.TAXONOMY,value:{...Xo}}];case o.CONTENTLINK:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.CONTENTTYPE,value:{...Jo}}];default:return[]}}function w(t,e){const i={...ve(t,!1),id:e.name,mandatory:e.mandatory};return i.properties[0].value=e.label,i.properties[1].value=e.description,i}function aa(t){const e=[];return Object.keys(t).forEach(i=>{e.push({title:t[i],value:i})}),e}function Yo(t){const e={...ve(o.ADDFILEATTACHMENT,!1),id:t.name,mandatory:t.mandatory};return e.properties[0].value=t.label,e}function Qo(t){const e={...ve(o.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 zo(){return ve(o.IMAGE,!1)}function Zo(t){const e=w(o.NUMBER,t);return e.properties[2].value=t.widget.params?.step==="0.01",e}function el(t){const e=w(o.TAGS,t);return e.properties[2].value.id=+(t.widget.params?.idTaxonomy??1),e}function tl(t){const e=w(o.SELECT,t),i=t.widget.params?.defaultValue?{title:t.widget.options[t.widget.params?.defaultValue],value:t.widget.params?.defaultValue}:void 0,a={propertyOptions:aa(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=a,e}function ra(t){const e=w(o.RADIO,t),i={propertyOptions:aa(t.widget.options)};return e.properties[2].value=i,e}function il(t){const e=ra(t);return e.type=o.CHECKBOX,e}function al(t,e){const i=w(o.CONTENTLINK,t);i.properties[2].value.type=t.widget.params.types??"mpArticle";const a=e.entities===void 0?void 0:{entities:e.entities},r=a?Wi.selectors.selectById(a,i.properties[2].value.type):void 0;return i.properties[2].value.label=r?.label??"Article",i}function rl(t){return w(o.TEXT,t)}function nl(t){return w(o.DESCRIPTION,t)}function sl(t){return w(o.TEXTAREAHTML,t)}function ol(t){return w(o.DATE,t)}function ll(t){return w(o.DATETIME,t)}function dl(t){return w(o.URL,t)}function cl(t){return w(o.EMAIL,t)}function ul(t){return w(o.TOGGLE,t)}function pl(t){return w(o.USERLINK,t)}function gl(t){return w(o.TEXTAREA,t)}function fl(t){const{manifest:e,views:i,audience:a,installFor:r}=t;return`<?xml version='1.0' encoding='utf-8'?>
|
|
2
2
|
<Application>
|
|
3
|
-
${
|
|
3
|
+
${ml(e,i,a,r,t.idApp)}
|
|
4
4
|
<Types>
|
|
5
5
|
<objecttype
|
|
6
6
|
label="${e.typeLabel}"
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
searchtablabel="${e.typeLabel}"
|
|
17
17
|
buttonlabel="${e.typeLabel}"
|
|
18
18
|
extends="article">
|
|
19
|
-
${
|
|
20
|
-
${
|
|
19
|
+
${Tl(t.fields)}
|
|
20
|
+
${El(t.fields)}
|
|
21
21
|
</objecttype>
|
|
22
|
-
${
|
|
22
|
+
${wl(t)}
|
|
23
23
|
</Types>
|
|
24
|
-
</Application>`}function
|
|
24
|
+
</Application>`}function ml(t,e,i,a,r){return`<Manifest>
|
|
25
25
|
<ShowImport>true</ShowImport>
|
|
26
26
|
<AppShortName>${r}</AppShortName>
|
|
27
27
|
<AppName>${t.appName}</AppName>
|
|
@@ -36,25 +36,25 @@
|
|
|
36
36
|
<Editor>Jamespot</Editor>
|
|
37
37
|
<EditorUrl>https://www.fr.jamespot.com/</EditorUrl>
|
|
38
38
|
<Type>${r}</Type>
|
|
39
|
-
${
|
|
40
|
-
${
|
|
41
|
-
${
|
|
39
|
+
${yl(t.display,e.list)}
|
|
40
|
+
${Al(e.filter)}
|
|
41
|
+
${Sl(i,a)}
|
|
42
42
|
<Order>1</Order>
|
|
43
|
-
</Manifest>`}function
|
|
44
|
-
<accessRightList>${e.map(i=>i.uri).join()}</accessRightList>`:""}function
|
|
43
|
+
</Manifest>`}function yl(t,e){let i="<AppView>solr</AppView>";if(t===$.FLUX)return i;const a=[];return Object.entries(e).sort((r,n)=>r[1].pos-n[1].pos).forEach(([r,n])=>{n.isUsed&&([o.IMAGE].includes(n.type)||a.push(ei(n,r)))}),i+=`<AppColumns>${a.join()}</AppColumns>`,i}function Al(t){const e=[];return Object.entries(t).sort((i,a)=>i[1].pos-a[1].pos).forEach(([i,a])=>{if(!a.isUsed)return;[f.TITLE,o.IMAGE].includes(a.type)||e.push(ei(a,i))}),`<AttrExposed>${e.join()}</AttrExposed>`}function na(t){return t===f.TITLE?"title":t===f.SENDALERTTOSUBSCRIBERS?"sendAlert":t===f.RECEIVEACOPY?"alertAuthor":t===f.PUBLISHTO?"publishTo":t===f.USER?"idUser":t===f.CREATIONDATE?"dateCreation":t===o.DESCRIPTION?"description":t}function ei(t,e){return Ki.includes(t.type)?na(t.type):ti(e).toLowerCase()}function Sl(t,e){return t===be.ALL?"<checkAccess>false</checkAccess>":e.length>0?`<checkAccess>true</checkAccess>
|
|
44
|
+
<accessRightList>${e.map(i=>i.uri).join()}</accessRightList>`:""}function Tl(t){const e=t?.filter(i=>Zt.includes(i.type));return e.length===0?"":`<primaryFields>${e.map(i=>Ut(i)).join("")}</primaryFields>`}function El(t){const i=t?.filter(n=>!Zt.includes(n.type))?.filter(n=>n.type!==o.IMAGE);if(i.length===0)return"";const a=i.filter(n=>n.type!==o.TAGS&&!Zi.includes(n.type)),r=i.filter(n=>n.type===o.TAGS);return`<custom>
|
|
45
45
|
${a.length>0?`<articlemstable>
|
|
46
|
-
${a.map(n=>
|
|
46
|
+
${a.map(n=>Ut(n)).join("")}
|
|
47
47
|
</articlemstable>`:""}
|
|
48
48
|
${r.length>0?`<linkstable tablename="tag_links" sqlNameColumn="name" sqlSrcIdColumn="srcId" sqlSrcTypeColumn="srcType" sqlTargetIdColumn="targetId" sqlTargetTypeColumn="targetType">
|
|
49
|
-
${r.map(n=>
|
|
50
|
-
</linkstable>`:""}</custom>`}function
|
|
51
|
-
type="${
|
|
52
|
-
name="${
|
|
53
|
-
sqlname="${
|
|
54
|
-
${t.properties&&
|
|
55
|
-
${t.properties&&
|
|
49
|
+
${r.map(n=>Ut(n)).join("")}
|
|
50
|
+
</linkstable>`:""}</custom>`}function Ut(t){return`<field
|
|
51
|
+
type="${vl(t.type)}"
|
|
52
|
+
name="${ei(t,t.id)}"
|
|
53
|
+
sqlname="${hl(t.type,t.id)}"
|
|
54
|
+
${t.properties&&hi(t.properties,T.LABEL)}
|
|
55
|
+
${t.properties&&hi(t.properties,T.DESCRIPTION)}
|
|
56
56
|
mandatory="${t.type===o.TOGGLE?"false":t.mandatory}"
|
|
57
|
-
solr.type="${
|
|
57
|
+
solr.type="${bl(t.type)}"
|
|
58
58
|
solr.used="true"
|
|
59
59
|
solr.indexed="true"
|
|
60
60
|
solr.stored="true"
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
teaser="true"
|
|
64
64
|
display="true"
|
|
65
65
|
>
|
|
66
|
-
${
|
|
67
|
-
</field>`}function
|
|
66
|
+
${Cl(t.type,t.properties)}
|
|
67
|
+
</field>`}function Cl(t,e){switch(t){case o.DESCRIPTION:return'<widget form="textarea"><params><param key="class" value="mceEditor"></param><param key="mention" value="1"></param></params></widget>';case o.TEXT:return'<widget form="text"></widget>';case o.TEXTAREA:return'<widget form="textarea"></widget>';case o.TEXTAREAHTML:return'<widget form="textarea"><params><param key="class" value="mceEditor"></param></params></widget>';case o.DATE:return'<widget form="date" format="d/m/Y"></widget>';case o.DATETIME:return'<widget form="datetime" format="d/m/Y H:i:s"></widget>';case o.NUMBER:return`<widget form="number">
|
|
68
68
|
${e?.find(a=>a.propertyType===T.CHECKBOX)?.value===!0?'<params><param value="0.01" key="step"/></params>':""}
|
|
69
69
|
</widget>`;case o.SELECT:{const i=e?.find(l=>l.propertyType===T.OPTIONS_EDITOR);if(!i)return"";const a=i.value.canSelectMultiple,r=i.value.propertyOptions,n=i.value.defaultSelectOption&&i.value.defaultSelectOptionValue.value,s=i.value.userCanModifiyByComment;return`<widget form="select" ${a?'multiple="1"':""}>
|
|
70
70
|
<options>
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<options>
|
|
92
92
|
${i.value.propertyOptions.map(r=>`<option value="${r.value}" label="${r.title}"></option>`).join("")}
|
|
93
93
|
</options>
|
|
94
|
-
</widget>`:""}case o.ADDFILEATTACHMENT:return'<widget form="file" type="fileArticle" multiple="1"></widget>';case o.URL:return'<widget form="url"></widget>';case o.EMAIL:return'<widget form="email"></widget>';case
|
|
94
|
+
</widget>`:""}case o.ADDFILEATTACHMENT:return'<widget form="file" type="fileArticle" multiple="1"></widget>';case o.URL:return'<widget form="url"></widget>';case o.EMAIL:return'<widget form="email"></widget>';case f.USER:return'<widget form="idUser"></widget>';case o.USERLINK:return`<widget form="uri">
|
|
95
95
|
<params>
|
|
96
96
|
<param key="mode" value="ng-view"></param>
|
|
97
97
|
<param key="class" value="jcomplete"></param>
|
|
@@ -108,6 +108,6 @@
|
|
|
108
108
|
<param key="views" value="article"></param>
|
|
109
109
|
<param key="jcomplete-url" value="/?action=ajax&group=autocomplete&function=article&types=[]=${a}"></param>
|
|
110
110
|
</params>
|
|
111
|
-
</widget>`}default:return""}}function
|
|
112
|
-
${r.map(([n,s])=>
|
|
113
|
-
</display>`}}),e.length>0&&(e=`<displays type="${t.idApp}">${e}</displays>`),e}function Al(t,e){switch(e.type){case g.TITLE:return"title";case g.SENDALERTTOSUBSCRIBERS:return"sendAlert";case g.RECEIVEACOPY:return"alertAuthor";case g.PUBLISHTO:return"publishTo";case g.USER:return"idUser";case g.CREATIONDATE:return"dateCreation";case o.DESCRIPTION:return"description";default:return Ht(t)}}function Sl(t,e){let i="";const a=Al(t,e);if(e.isLockedValue){const n={ref:a,fixedValue:e.value};if(i+=`<html><![CDATA[ <!-- <JAMESPOT.STUDIO.FIXED>${JSON.stringify(n)}</JAMESPOT.STUDIO.FIXED> -->`,e.type===g.PUBLISHTO){const s=e.value.map(l=>l.uri).join(",");i+=`<input type="hidden" name="publishTo" value="${s}">`}else if(e.type===g.USER||e.type===o.USERLINK||e.type===o.CONTENTLINK)i+=`<input type="hidden" name="${a}[]" value=${JSON.stringify(e.value.uri)}>`;else if(e.type===o.SELECT)e.properties.find(l=>l.propertyType===T.OPTIONS_EDITOR)?.value.canSelectMultiple?e.value.forEach(c=>{i+=`<input type="hidden" name="${a}[]" value="${c.value}">`}):i+=`<input type="hidden" name="${a}" value="${e.value.value}">`;else if(e.type===o.CHECKBOX)e.value.forEach(l=>{i+=`<input type="hidden" name="${a}[]" value="${l}">`});else if(e.type===o.DATE){const s=new Date(e.value),l=[j(s.getDate()),j(s.getMonth()+1),s.getFullYear()].join("/");i+='<input type="hidden" name="'+a+'" value="'+l+'">'}else if(e.type===o.DATETIME){const s=new Date(e.value),l=`${[j(s.getDate()),j(s.getMonth()+1),s.getFullYear()].join("/")} ${j(s.getHours())}:${j(s.getMinutes())}:${j(s.getSeconds())}`;i+='<input type="hidden" name="'+a+'" value="'+l+'">'}else e.type===o.TAGS?i+=`<input type="hidden" name="${a}" value="${e.value?.map(s=>s.uri)?.join(",")}">`:e.type===o.DESCRIPTION||e.type===o.TEXTAREAHTML?i+=`<input type="hidden" name="${a}" value="${e.value}">`:e.type===g.RECEIVEACOPY?e.value&&(i+='<input type="hidden" name="alertAuthor[jamespot]"><input type="hidden" ng-model="form.alertAuthor" name="alertAuthor[]" value="1">'):e.type===g.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="${a}" value="${e.value}">`;i+="]]></html>"}else switch(e.type){case o.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 o.IMAGE:i+="<image />";break;case g.PUBLISHTO:i+="<publishTo />";break;default:i+="<attr name='"+a+"' />";break}return i}function j(t){return t<10?"0"+t:t}const Yi={"create-popup":"popup",create:"create",edit:"edit",display:"view",displayDisabled:"view"},fi=["title","alertAuthor","sendAlert"],Tl=["edito"];function Qi(t,e,i){return Object.assign({},...ct.map(a=>{const r={};let n=[];N[a]?.optional!==void 0&&(n=n.concat(N[a]?.optional??[]));let s=[];N[a]?.fixed!==void 0&&(s=s.concat(N[a]?.fixed??[])),Object.entries(t[a]).forEach(([y,m])=>{m.isFixed&&(r[y]=m,s.splice(s.findIndex(u=>u===m.type),1)),m.isOptional&&(r[y]=m,n.splice(n.findIndex(u=>u===m.type),1))});const l=new Set(s.concat(n)),c={[g.CREATIONDATE]:()=>ra(!1),[g.TITLE]:()=>lt({fixedValue:void 0}),[g.USER]:()=>aa(!1),[g.RECEIVEACOPY]:()=>ea({fixedValue:void 0}),[g.SENDALERTTOSUBSCRIBERS]:()=>ta({fixedValue:void 0}),[g.PUBLISHTO]:()=>ia({fixedValue:void 0})};l.forEach(y=>{const m=c[y];if(m){const[u,A]=m();r[u]=A}else console.error("ExtraAppFieldsItemViews does not have this field type: "+y)});const p=[];return i.forEach((y,m)=>{const u=y.views[a],A=Object.keys(t[a]).includes(y.id),C=y.type;if(ut.get(C)?.includes(a))return;let b;if(C===o.CODEHTML){const h=y.properties?.find(O=>O.propertyType===T.RICHTEXT);h?.value&&(b=h?.value)}if(C===o.SELECT){const h=y.properties?.find(O=>O.propertyType===T.OPTIONS_EDITOR);if(A){const O=t[a][y.id],Se=O.properties?.find(ga=>ga.propertyType===T.OPTIONS_EDITOR),ua=!!h?.value?.canSelectMultiple,pa=!!Se?.value?.canSelectMultiple;ua===pa&&(b=O.value)}else{const Se=!!h?.isOptionsEditorEnhanced&&h?.value.defaultSelectOption?h?.value.defaultSelectOptionValue:"";Se&&(b=Se)}}if(A){const h=t[a][y.id];r[y.id]={...h,properties:y.properties??h.properties??[],...b!==void 0&&{value:b},isUsed:u,pos:e?.[a]?m:h.pos,isLockedValue:(b!==void 0||h.value!==void 0)&&h.isLockedValue}}else{p.push({id:y.id,idx:m});const h=Object.values(t[a]).filter(O=>!O.isFixed&&!O.isOptional).length;r[y.id]={type:y.type,properties:y.properties??[],isUsed:u,isOptional:!1,isLockedValue:!1,isFixed:!1,value:b??null,pos:e?.[a]?m:h+m}}}),e?.[a]||p.forEach(y=>{const m=r[y.id];m.pos=y.idx+1,Object.keys(r).forEach(u=>{const A=r[u];A&&!Object.values(Ui).includes(u)&&u!==y.id&&A.pos>=m.pos&&A.pos++})}),{[a]:r}}))}function El(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 Cl(t,e,i){const a=t.typeModel.tables,r=t.typeModel.displays;if(!r)return;const n=new Map;Object.entries(r).forEach(s=>{const[l,c]=s;Object.keys(Yi).includes(l)&&bl(e,n,l,c,a,i)}),hl(e,n,t.columns,a,i),Ll(e,n,t.attrExposed,a,i)}function bl(t,e,i,a,r,n){const s=Yi[i];if(t.views[s]={},s==="view"){const[l,c]=lt({fixedValue:void 0});t.views[s][l]=c}a.composants.forEach((l,c)=>{let p;if(l.name&&Tl.includes(l.name))return;const[y,m]=vl(t,e,l,r,n);if(y===-1&&m)switch(m.ref){case"title":{if(s==="view")break;const[u,A]=lt(m);t.views[s][u]=A;break}case"alertAuthor":{const[u,A]=ea(m);t.views[s][u]=A;break}case"sendAlert":{const[u,A]=ta(m);t.views[s][u]=A;break}case"publishTo":{const[u,A]=ia(m);t.views[s][u]=A;break}default:console.error("fixed field info with unsupported ref ",m);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}, ${m}`);p.views[s]=!0,Zi(s,p,t,c,m)}})}function hl(t,e,i,a,r){i&&Object.keys(i).forEach((n,s)=>{zi(t,e,a,"list",n,s,r)})}function Ll(t,e,i,a,r){i.forEach((n,s)=>{zi(t,e,a,"filter",n,s,r)})}function zi(t,e,i,a,r,n,s){switch(r){case"title":{const[l,c]=lt({fixedValue:void 0});t.views[a][l]=c;break}case"iduser":case"idUser":{const[l,c]=aa();t.views[a][l]=c;break}case"datecreation":case"dateCreation":{const[l,c]=ra();t.views[a][l]=c;break}default:wl(t,e,i,a,r,n,s);break}}function wl(t,e,i,a,r,n,s){const l=Il(t,e,i,r,s),c=t.fields[l];if(!c?.views)throw new Error(`error converting installed app to V2: unable to handle ${r} in list view`);c.views[a]=!0,Zi(a,c,t,n,void 0)}function Il(t,e,i,a,r){const n=e.get(a);if(n!==void 0)return n;const[s,l]=Dt(t,a,i,r);return e.set(s,l),l}function vl(t,e,i,a,r){if(i.name!==void 0&&i.element==="attr"){if(fi.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,l]=Dt(t,i.name,a,r);return e.set(s,l),[l,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,l=n.indexOf("</JAMESPOT.STUDIO.FIXED>"),c=n.substring(s,l);try{const p=JSON.parse(c);if(p?.ref.toUpperCase()in g){const A=p.ref.toUpperCase();return[-1,{...p,ref:Ki(A)}]}if(fi.includes(p?.ref))return[-1,p];const y=e.get(p?.ref);if(y!==void 0)return[y,p];const[m,u]=Dt(t,p.ref,a,r);return e.set(m,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,l=n.indexOf("</JAMESPOT.STUDIO.CODEHTML>"),c=n.substring(s,l),p=JSON.parse(c),y=e.get(p?.name);if(y!==void 0)return[y,void 0];const m=Bo(p),u=t.fields.push(m)-1;return e.set(m.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=qo(),l=t.fields.push(s)-1;return e.set("image",l),[l,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 Dt(t,e,i,a){const r=kl(e,i),n=Ol(r),s=(function(){switch(n){case o.ADDFILEATTACHMENT:return Wo(r);case o.NUMBER:return $o(r);case o.TAGS:return Vo(r);case o.SELECT:return Ho(r);case o.RADIO:return Ji(r);case o.CHECKBOX:return Go(r);case o.CONTENTLINK:return Xo(r,a);case o.DESCRIPTION:return Ko(r);case o.TEXTAREAHTML:return Yo(r);case o.DATE:return Qo(r);case o.DATETIME:return zo(r);case o.URL:return Zo(r);case o.EMAIL:return el(r);case o.TOGGLE:return tl(r);case o.USERLINK:return il(r);case o.TEXTAREA:return al(r);case o.TEXT:default:return Jo(r)}})(),l=t.fields.push(s)-1;return[e,l]}function kl(t,e){let i;for(let a=0;a<e.length&&!i;a++)i=e[a]?.attributes.find(r=>r.name===t);if(!i)throw new Error("error converting installed app to V2: installed field not found in tables "+t);return i}function Zi(t,e,i,a,r){e.views&&(e.views[t]=!0,i.views[t][e.id]={type:e.type,properties:e.properties??[],isUsed:!0,isOptional:!1,isLockedValue:!!r?.fixedValue,isFixed:!1,value:r?.fixedValue??null,pos:a})}function Ol(t){switch(t.widget.type){case"number":return o.NUMBER;case"taxonomy":return o.TAGS;case"date":return o.DATE;case"datetime":return o.DATETIME;case"select":return o.SELECT;case"radio":return o.RADIO;case"url":return o.URL;case"email":return o.EMAIL;case"file":return o.ADDFILEATTACHMENT;case"checkbox":return t.widget.options?.["1"]==="GLOBAL_Yes"?o.TOGGLE:o.CHECKBOX;case"uri":if(t.widget.params?.views==="user")return o.USERLINK;if(t.widget.params?.views==="article")return o.CONTENTLINK;break;case"textarea":if(t.attrType==="longtext"||t.attrType==="text")return o.TEXTAREA;if(t.attrType==="html")return t.name==="description"?o.DESCRIPTION:o.TEXTAREAHTML;break;case"text":return o.TEXT}throw new Error("error converting installed app to V2: installed field type not recognized for field "+t.name+":"+JSON.stringify(t))}function lt(t,e=!0){return["title",{type:g.TITLE,properties:[],isUsed:e,isOptional:!1,isLockedValue:!!t?.fixedValue,isFixed:!0,value:t?.fixedValue??null,pos:0}]}function ea(t,e=!0){return["alertAuthor",{type:g.RECEIVEACOPY,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:300}]}function ta(t,e=!0){return["sendAlert",{type:g.SENDALERTTOSUBSCRIBERS,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:200}]}function ia(t,e=!0){return["publishTo",{type:g.PUBLISHTO,properties:[],isUsed:e,isOptional:!0,isLockedValue:!!t?.fixedValue,isFixed:!1,value:t?.fixedValue??[],pos:100}]}function aa(t=!0){return["user",{type:g.USER,properties:[],isUsed:t,isOptional:!1,isLockedValue:!1,isFixed:!0,value:null,pos:1}]}function ra(t=!0){return["dateCreation",{type:g.CREATIONDATE,properties:[],isUsed:t,isOptional:!0,isLockedValue:!1,isFixed:!1,value:null,pos:100}]}function Rl(t,e,i){const{version:a,dateCreation:r}=t.manifest,n=t.typeModel,s=Object.assign({},...ct.map(u=>({[u]:{}}))),l=t,c=!!t.columns&&Object.keys(t.columns).length>0,p={idApp:t.idApp,status:Mt(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:a,dateCreation:r,checkAccess:!1,accessRightList:"",attrExposed:[],display:c?V.TABLE:V.FLUX,viewSolr:t.view==="solr"?ot.SOLR:ot.NOT_SOLR,typeLabel:n.typeLabel,articlesCount:t.articlesCount??0,displayContentLegacyTable:!!l?.typeModel?.displays?.displayDisabled},fields:[],views:s,installFor:t.accessRightObjectList?El(t.accessRightObjectList):[],audience:t.checkAccess===!1?ye.ALL:ye.CUSTOM};Cl(t,p,i),p.views=Qi(p.views,p.syncViewFieldOrder,p.fields);const y=Dl(t.idApp,e);if(!y)return p;const m=na(y);return m&&(p.inWorkVersion=m),p}function na(t){if(!t.value)return;const e=JSON.parse(t.value);return e.studioVersion==2?{idApp:t.idApp,studioVersion:2,status:Mt(t),manifest:e.manifest,fields:e.fields,views:e.views,syncViewFieldOrder:e.syncViewFieldOrder,audience:e.audience,installFor:e.installFor}:{...Gi(e),status:Mt(t),migratedFrom:1}}function Mt(t){return t.status===E.StudioApplicationStatus.installed?t.suspended?F.suspended:F.installed:F.draft}function Dl(t,e){return e.find(a=>a.idApp===t&&a.status===E.StudioApplicationStatus.saved)}function Ml(t,e){return!!e.find(i=>i.idApp===t&&i.status===E.StudioApplicationStatus.installed)}function sa(t,e){return t.map(a=>{try{return a.status===E.StudioApplicationStatus.installed?Rl(a,t,e):Ml(a.idApp,t)?void 0:na(a)}catch(r){console.error(r);return}}).filter(a=>a!==void 0)}const jl={currentStudioApp:null,fetchCurrentStudioAppStatus:"idle",saveCurrentStudioAppStatus:"idle",installStudioAppStatus:"idle",hasChanged:!1},Ke=d.createAsyncThunk("studio/fetchCurrentStudioApp",async({idApp:t,status:e},{extra:i,rejectWithValue:a,getState:r})=>{const n=i.jApi,s={error:1,errorMsg:"Error fetching application"};try{const l=(await n.application.studioGet(t,e)).result,c=sa([l],r())[0];return c||a(s)}catch{return a(s)}}),Ye=d.createAsyncThunk("studio/saveCurrentStudioApp",async(t,{extra:e,rejectWithValue:i,getState:a,dispatch:r})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},l=a().studio.currentStudioApp.currentStudioApp;if(!l)return i(s);const c=JSON.stringify(l);try{await n.application.studioSave(l.idApp,c,"saved"),r(f.actions.success({label:"APPSTUDIO_AppItem_Edition_Saved"}));return}catch(p){return r(f.actions.error({label:S(p)})),i(s)}}),Qe=d.createAsyncThunk("studio/installApp",async({callback:t},{extra:e,rejectWithValue:i,getState:a,dispatch:r})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},l=a().studio.currentStudioApp.currentStudioApp;if(!l)return i(s);const c=rl(l);try{await n.application.studioInstall(c),r(f.actions.success({label:"APPSTUDIO_AppItem_Installed"})),t&&t();return}catch(p){return r(f.actions.error({label:S(p)})),i(s)}}),dt=d.createSlice({name:"currentStudioApp",initialState:jl,reducers:{setCurrentApp:(t,e)=>{t.currentStudioApp=e.payload},resetCurrentApp:t=>{t.currentStudioApp=null},setHasChanged:(t,e)=>{t.hasChanged=e.payload}},extraReducers:t=>{t.addCase(Ke.pending,e=>{e.fetchCurrentStudioAppStatus==="idle"&&(e.fetchCurrentStudioAppStatus="pending")}).addCase(Ke.fulfilled,(e,i)=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle"),e.currentStudioApp=i.payload}).addCase(Ke.rejected,e=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle")}).addCase(Ye.pending,e=>{e.saveCurrentStudioAppStatus==="idle"&&(e.saveCurrentStudioAppStatus="pending")}).addCase(Ye.fulfilled,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(Ye.rejected,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(Qe.pending,e=>{e.installStudioAppStatus==="idle"&&(e.installStudioAppStatus="pending")}).addCase(Qe.fulfilled,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")}).addCase(Qe.rejected,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")})}});function oa(t,e,i){const a=t.studioVersion!==2?JSON.parse(JSON.stringify(Gi(t))):JSON.parse(JSON.stringify(t));if(delete a.inWorkVersion,i)a.manifest.version=a.manifest.version+.1;else{const r=R(),n=`${t.manifest.appName} Copie`;a.idApp=r,a.status=k.DRAFT,a.manifest={...a.manifest,appName:n,appShortName:n,author:e??a.manifest.author??"",dateCreation:new Date().toISOString(),version:.1,articlesCount:0}}return[a,a.idApp]}function xl({author:t,appName:e}){const i=R(),a=Object.assign({},...ct.map(r=>{const n={};return N[r]?.fixed.forEach((s,l)=>{n[R()]={type:s,properties:[],isUsed:!0,isOptional:!1,isFixed:!0,isLockedValue:!1,value:null,pos:l}}),N[r]?.optional.forEach((s,l)=>{n[R()]={type:s,properties:[],isUsed:!0,isOptional:!0,isFixed:!1,isLockedValue:!1,value:s==="SENDALERTTOSUBSCRIBERS"||s==="RECEIVEACOPY"?!0:null,pos:(l+1)*100}}),{[r]:n}}));return{newAppId:i,newStudioApp:{idApp:i,status:k.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:ot.SOLR,display:V.TABLE,checkAccess:!1,accessRightList:"",attrExposed:[],articlesCount:0},syncViewFieldOrder:{create:!0,popup:!0,view:!0,edit:!0,list:!0,filter:!0},fields:[],views:a,audience:ye.CUSTOM,installFor:[]}}}function be(t,e){return t.manifest.appName>e.manifest.appName?1:-1}const Nl={loadingStudioAppsList:"idle",deleteStudioAppStatus:"idle",suspendStudioAppStatus:"idle",restartStudioAppStatus:"idle",cloneStudioAppStatus:"idle",createInWorkAppStatus:"idle",createNewStudioAppStatus:"idle"},ze=d.createAsyncThunk("studio/appsList",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=e.jApi;try{const{result:s}=await n.application.studioList(),l=await n.taxonomy.list(),p=(await Promise.allSettled(s.map(async m=>{const u=(await n.application.studioGet(m.idApp,m.status)).result,A=(await n.article.count(m.idApp)).result;return{...u,articlesCount:A}}))).map(m=>m.status==="fulfilled"?m.value:null).reduce((m,u)=>u!==null?m.concat([u]):m,[]),y=sa(p,r());return y.forEach(async m=>{m.fields=mi(m.fields,l,t),m.inWorkVersion&&(m.inWorkVersion.fields=mi(m.inWorkVersion.fields,l,t))}),y}catch(s){throw console.error(s),a(f.actions.error({label:S(s)})),i({error:1,errorMsg:"Error retrieving applications"})}});function mi(t,e,i){return t.map(a=>{if(a.type!==o.TAGS)return a;const r=JSON.parse(JSON.stringify(a)),n=r.properties?.find(l=>l.propertyType===T.TAXONOMY),s=e.find(l=>l.id===n?.value.id);return s&&n&&(n.value.title=i.formatMessage({id:s.title}),n.value.type=s.type),r})}const Ze=d.createAsyncThunk("studio/createApp",async({appName:t,callback:e},{extra:i,dispatch:a,rejectWithValue:r,getState:n})=>{const s=i.jApi,l=n().userCurrent?.uri,{newAppId:c,newStudioApp:p}=xl({appName:t,...l&&{author:l}});try{return await s.application.studioSave(c,JSON.stringify(p),"saved"),a(f.actions.success({label:"APPSTUDIO_StudioApp_Created"})),a(dt.actions.setCurrentApp(p)),e&&e(),p}catch(y){throw a(f.actions.error({label:S(y)})),r({error:1,errorMsg:"Error creating application"})}}),et=d.createAsyncThunk("studio/deleteApp",async({idApp:t,status:e},{extra:i,rejectWithValue:a,dispatch:r})=>{const n=i.jApi;try{const s=await n.application.studioDelete(t,e);return r(f.actions.success({label:"APPSTUDIO_StudioApp_Deleted"})),s}catch(s){return r(f.actions.error({label:S(s)})),a({error:1,errorMsg:"Error deleting application"})}}),tt=d.createAsyncThunk("studio/suspendStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:a})=>{const r=e.jApi;try{await r.application.studioSuspend(t),a(f.actions.success({label:"APPSTUDIO_AppItem_Suspended"}))}catch(n){throw a(f.actions.error({label:S(n)})),i({error:1,errorMsg:"Error suspending application"})}}),it=d.createAsyncThunk("studio/restartStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:a})=>{const r=e.jApi;try{await r.application.studioRestart(t),a(f.actions.success({label:"APPSTUDIO_AppItem_Restarted"}))}catch(n){throw a(f.actions.error({label:S(n)})),i({error:1,errorMsg:"Error restarting application"})}}),at=d.createAsyncThunk("studio/cloneStudioApp",async({idApp:t,inWork:e},{extra:i,getState:a,rejectWithValue:r,dispatch:n})=>{const s=i.jApi;let l=a().studio.studioAppsList.studioAppsList?.find(u=>u.idApp===t);if(!l)return r({error:1,errorMsg:"Error cloning application"});if(e)if(l.inWorkVersion!==void 0)l=l.inWorkVersion;else return r({error:1,errorMsg:"Error cloning application"});const c=a().userCurrent?.uri,[p,y]=oa(l,c),m=JSON.stringify(p);try{return await s.application.studioSave(y,m,"saved"),n(f.actions.success({label:"APPSTUDIO_AppItem_Cloned"})),p}catch(u){return n(f.actions.error({label:S(u)})),r({error:1,errorMsg:"Error cloning application"})}}),rt=d.createAsyncThunk("studio/createInWorkStudioApp",async({idApp:t},{extra:e,getState:i,rejectWithValue:a,dispatch:r})=>{const n=e.jApi,s=i().studio.studioAppsList.studioAppsList?.find(m=>m.idApp===t);if(!s||![k.INSTALLED,k.SUSPENDED].includes(s.status))return a({error:1,errorMsg:"Error cloning application"});const l=i().userCurrent?.uri,[c,p]=oa(s,l,!0),y=JSON.stringify(c);try{return await n.application.studioSave(p,y,"saved"),r(f.actions.success({label:"APPSTUDIO_AppItem_CreateInWork"})),c}catch(m){return r(f.actions.error({label:S(m)})),a({error:1,errorMsg:"Error creating in work version for application"})}}),jt=d.createSlice({name:"studioAppsList",initialState:Nl,reducers:{setAppsList:(t,e)=>{t.studioAppsList=[...e.payload].sort(be)}},extraReducers:t=>{t.addCase(ze.pending,e=>{e.loadingStudioAppsList==="idle"&&(e.loadingStudioAppsList="pending")}).addCase(ze.fulfilled,(e,i)=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle"),e.studioAppsList=[...i.payload].sort(be)}).addCase(ze.rejected,e=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle")}).addCase(et.pending,e=>{e.deleteStudioAppStatus==="idle"&&(e.deleteStudioAppStatus="pending")}).addCase(et.fulfilled,(e,i)=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.reduce((a,r)=>{const{idApp:n}=i.meta.arg;let{status:s}=i.meta.arg;return s===k.INSTALLED&&(s=k.SUSPENDED),r.idApp===n&&r.status===s?r.inWorkVersion&&r.status===k.SUSPENDED?(r.inWorkVersion.status=k.DRAFT,[...a,r.inWorkVersion]):a:(r.inWorkVersion?.idApp===n&&r.inWorkVersion?.status===s&&delete r.inWorkVersion,[...a,r])},[])??[]}).addCase(et.rejected,e=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle")}).addCase(tt.pending,e=>{e.suspendStudioAppStatus==="idle"&&(e.suspendStudioAppStatus="pending")}).addCase(tt.fulfilled,(e,i)=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(a=>{const{idApp:r}=i.meta.arg;return a.idApp===r&&(a.status=k.SUSPENDED),a})??[]}).addCase(tt.rejected,e=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle")}).addCase(it.pending,e=>{e.restartStudioAppStatus==="idle"&&(e.restartStudioAppStatus="pending")}).addCase(it.fulfilled,(e,i)=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(a=>{const{idApp:r}=i.meta.arg;return a.idApp===r&&(a.status=k.INSTALLED),a})??[]}).addCase(it.rejected,e=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle")}).addCase(at.pending,e=>{e.cloneStudioAppStatus==="idle"&&(e.cloneStudioAppStatus="pending")}).addCase(at.fulfilled,(e,i)=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(be)}).addCase(at.rejected,e=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle")}).addCase(rt.pending,e=>{e.createInWorkAppStatus==="idle"&&(e.createInWorkAppStatus="pending")}).addCase(rt.fulfilled,(e,i)=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle");const a=e.studioAppsList?.find(r=>r.idApp===i.payload.idApp);a&&(a.inWorkVersion=i.payload)}).addCase(rt.rejected,e=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle")}).addCase(Ze.pending,e=>{e.createNewStudioAppStatus==="idle"&&(e.createNewStudioAppStatus="pending")}).addCase(Ze.fulfilled,(e,i)=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(be)}).addCase(Ze.rejected,e=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle")})}}),_l=d.combineReducers({[jt.name]:jt.reducer,[dt.name]:dt.reducer});function Pl(t){return t.studio.studioAppsList}function Ul(t){return t.studio.currentStudioApp}const Fl={name:"studio",reducer:_l},Wl={slice:Fl,actions:{...jt.actions,...dt.actions,fetchStudioAppsList:ze,deleteStudioApp:et,suspendStudioApp:tt,restartStudioApp:it,cloneStudioApp:at,createNewStudioApp:Ze,fetchCurrentStudioApp:Ke,saveCurrentStudioApp:Ye,installStudioApp:Qe,createInWorkStudioApp:rt},selectors:{selectStudioAppsList:Pl,selectCurrentStudioApp:Ul},utils:{updateViewsFromFields:Qi,generateNewFormField:Ae}},fe=d.createAsyncThunk("wall/fetchWallFilters",async(t,{extra:e,rejectWithValue:i})=>{try{return(await e.jApi.wall.getFilters()).result}catch(a){return i(a)}}),xt={filters:[],taxonomies:[],loading:"idle"},Nt=d.createSlice({name:"wall",initialState:xt,reducers:{setFilters:(t,e)=>{t.filters=e.payload},setLoading:(t,e)=>{t.loading=e.payload},reset:()=>xt},extraReducers:t=>{t.addCase(fe.pending,e=>{e.loading="pending"}),t.addCase(fe.fulfilled,(e,i)=>{e.loading="idle",e.filters=i.payload.filterList,e.taxonomies=i.payload.taxonomies}),t.addCase(fe.rejected,e=>{e.loading="idle"})}}),la=t=>t.wall,da=t=>t.wall.filters,ca=t=>t.wall.taxonomies,Bl={slice:Nt,actions:{...Nt.actions,fetchWallFilters:fe},selectors:{selectWall:la,selectWallFilters:da,selectWallFiltersTaxonomies:ca}};exports.APP_STATUS_TYPE=k;exports.AUDIENCE=ye;exports.AdminLogs=Oa;exports.Animations=qa;exports.AppColumnsDefaultTypes=Fi;exports.AppFieldFormPropertyTypes=T;exports.AppFormBannedFromViews=ut;exports.AppFormFieldOnlyInView=qi;exports.AppFormFixedList=Mo;exports.AppFormItemTypes=o;exports.AppFormNoAsFieldList=Bi;exports.AppFormNonPrimaryList=$i;exports.AppFormPrimaryListValues=$t;exports.AppFormUniqueListCheck=Do;exports.Application=Va;exports.Article=ma;exports.AssetReservation=ir;exports.Bookmark=mr;exports.Calendar=Er;exports.Comment=vr;exports.ContentReport=nr;exports.Description=Hi;exports.Element=Vi;exports.ExtraAppFieldsItemName=Ui;exports.ExtraAppFieldsItemViews=g;exports.ExtraBot=Or;exports.Faq=_r;exports.FileIntegrity=Ur;exports.FileIntegritySlice=bt;exports.Hook=$r;exports.MagicPad=Zr;exports.MapExtraFieldsWithView=N;exports.MediaLibrary=fn;exports.Model=Ri;exports.Network=In;exports.Platform=xn;exports.STUDIO_DISPLAY=V;exports.STUDIO_VIEW=ot;exports.Share=Wn;exports.SocialActions=Oo;exports.StatusType=F;exports.TVDisplay=Zn;exports.TeamWork=G;exports.TinyMCE=ns;exports.Toast=f;exports.UserCurrent=cs;exports.Wall=Bl;exports.WedocApp=Pn;exports.Widget=Pi;exports.WidgetEditor=vo;exports.actions=yi;exports.adminLogsReducer=ka;exports.adminLogsSlice=_t;exports.animationsReducer=Ba;exports.animationsSlice=Pt;exports.contentReportSlice=Ti;exports.deleteQuarantine=ae;exports.extraBotSlice=Ct;exports.fetchExtraBotListAll=$;exports.fetchExtraBotListMines=Q;exports.fetchFileIntegrityList=te;exports.fetchFolderFiles=oe;exports.fetchMediaLibraryConfig=de;exports.fetchMediaLibraryFilesStats=ue;exports.fetchMediaLibraryFolders=se;exports.fetchMediaLibraryFoldersStats=ce;exports.fetchMediaLibraryStats=pe;exports.fetchMediaLibraryUnclassifiedFiles=le;exports.fetchPads=ne;exports.fetchReports=K;exports.fetchWallFilters=fe;exports.initialState=xt;exports.jland=Yr;exports.magicPadSlice=Oi;exports.mediaLibraryReducer=gn;exports.mediaLibrarySlice=Wt;exports.releaseQuarantine=ie;exports.saveExtraBot=Z;exports.selectExtraBotListAll=wi;exports.selectExtraBotListMines=Ii;exports.selectFileIntegrityAction=vi;exports.selectFileIntegrityList=ki;exports.selectWall=la;exports.selectWallFilters=da;exports.selectWallFiltersTaxonomies=ca;exports.slice=Ot;exports.studio=Wl;exports.teamWorkSlice=Bt;exports.teamworkReducer=Xn;exports.toggleExtraBotActivation=z;exports.updateListBotProperty=Li;exports.updateStatus=Y;exports.updateWidgetContent=bo;exports.viewsList=ct;exports.wallSlice=Nt;
|
|
111
|
+
</widget>`}default:return""}}function hi(t,e){const i=t?.find(a=>a.propertyType===e);if(i){const a=i.value.replaceAll('"',""");return`${e.toLowerCase()}="${a}"`}return""}function hl(t,e){switch(t){case o.DESCRIPTION:return"Description";case f.USER:return"IdUser";default:return ti(e)}}function bl(t){switch(t){case o.DESCRIPTION:case o.TEXT:case o.TEXTAREA:case o.TEXTAREAHTML:case o.URL:case o.EMAIL:case o.USERLINK:case o.CONTENTLINK:case o.NUMBER:case o.ADDFILEATTACHMENT:return"text";case o.DATE:case o.DATETIME:return"date";case f.USER:return"integer";case o.SELECT:case o.RADIO:case o.TOGGLE:case o.CHECKBOX:case o.TAGS:return"string";default:return""}}function vl(t){switch(t){default:case o.DESCRIPTION:case o.TEXTAREAHTML:return"html";case o.TAGS:return"taxonomy";case o.TEXT:case o.RADIO:case o.URL:case o.EMAIL:case o.ADDFILEATTACHMENT:case f.USER:case o.USERLINK:case o.CONTENTLINK:return"text";case o.TEXTAREA:case o.CHECKBOX:case o.SELECT:return"longtext";case o.DATE:return"date";case o.DATETIME:return"date";case o.NUMBER:return"float"}}const ti=t=>{let e="";for(let i=0;i<t.length;i++){const a=t.charAt(i);a>="0"&&a<="9"?e+=Ll(Number(a)):a>="a"&&a<="z"&&(e+=a)}return e},Ll=t=>{let e="",i;for(;t>0;)i=(t-1)%26,e=String.fromCharCode(97+i)+e,t=(t-i)/26|0;return e},bi={create:"create",popup:"create-popup",edit:"edit",view:"display"};function wl(t){let e="";return Object.entries(t.views).forEach(([i,a])=>{if(Object.prototype.hasOwnProperty.call(bi,i)){const r=Object.entries(a).filter(n=>n[1].isUsed&&(i!=="view"||n[0]!=="title")).sort((n,s)=>n[1].pos-s[1].pos);e+=`<display view="${bi[i]}${i==="view"&&t.manifest.displayContentLegacyTable?"Disabled":""}" mode="${i==="view"?"view":"form"}">
|
|
112
|
+
${r.map(([n,s])=>Rl(n,s)).join("")}
|
|
113
|
+
</display>`}}),e.length>0&&(e=`<displays type="${t.idApp}">${e}</displays>`),e}function Il(t,e){switch(e.type){case f.TITLE:return"title";case f.SENDALERTTOSUBSCRIBERS:return"sendAlert";case f.RECEIVEACOPY:return"alertAuthor";case f.PUBLISHTO:return"publishTo";case f.USER:return"idUser";case f.CREATIONDATE:return"dateCreation";case o.DESCRIPTION:return"description";default:return ti(t)}}function Rl(t,e){let i="";const a=Il(t,e);if(e.isLockedValue){const n={ref:a,fixedValue:e.value};if(i+=`<html><![CDATA[ <!-- <JAMESPOT.STUDIO.FIXED>${JSON.stringify(n)}</JAMESPOT.STUDIO.FIXED> -->`,e.type===f.PUBLISHTO){const s=e.value.map(l=>l.uri).join(",");i+=`<input type="hidden" name="publishTo" value="${s}">`}else if(e.type===f.USER||e.type===o.USERLINK||e.type===o.CONTENTLINK)i+=`<input type="hidden" name="${a}[]" value=${JSON.stringify(e.value.uri)}>`;else if(e.type===o.SELECT)e.properties.find(l=>l.propertyType===T.OPTIONS_EDITOR)?.value.canSelectMultiple?e.value.forEach(c=>{i+=`<input type="hidden" name="${a}[]" value="${c.value}">`}):i+=`<input type="hidden" name="${a}" value="${e.value.value}">`;else if(e.type===o.CHECKBOX)e.value.forEach(l=>{i+=`<input type="hidden" name="${a}[]" value="${l}">`});else if(e.type===o.DATE){const s=new Date(e.value),l=[j(s.getDate()),j(s.getMonth()+1),s.getFullYear()].join("/");i+='<input type="hidden" name="'+a+'" value="'+l+'">'}else if(e.type===o.DATETIME){const s=new Date(e.value),l=`${[j(s.getDate()),j(s.getMonth()+1),s.getFullYear()].join("/")} ${j(s.getHours())}:${j(s.getMinutes())}:${j(s.getSeconds())}`;i+='<input type="hidden" name="'+a+'" value="'+l+'">'}else e.type===o.TAGS?i+=`<input type="hidden" name="${a}" value="${e.value?.map(s=>s.uri)?.join(",")}">`:e.type===o.DESCRIPTION||e.type===o.TEXTAREAHTML?i+=`<input type="hidden" name="${a}" value="${e.value}">`:e.type===f.RECEIVEACOPY?e.value&&(i+='<input type="hidden" name="alertAuthor[jamespot]"><input type="hidden" ng-model="form.alertAuthor" name="alertAuthor[]" value="1">'):e.type===f.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="${a}" value="${e.value}">`;i+="]]></html>"}else switch(e.type){case o.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 o.IMAGE:i+="<image />";break;case f.PUBLISHTO:i+="<publishTo />";break;default:i+="<attr name='"+a+"' />";break}return i}function j(t){return t<10?"0"+t:t}const sa={"create-popup":"popup",create:"create",edit:"edit",display:"view",displayDisabled:"view"},vi=["title","alertAuthor","sendAlert"],Ol=["edito"];function oa(t,e,i){return Object.assign({},...St.map(a=>{const r={};let n=[];_[a]?.optional!==void 0&&(n=n.concat(_[a]?.optional??[]));let s=[];_[a]?.fixed!==void 0&&(s=s.concat(_[a]?.fixed??[])),Object.entries(t[a]).forEach(([y,m])=>{m.isFixed&&(r[y]=m,s.splice(s.findIndex(u=>u===m.type),1)),m.isOptional&&(r[y]=m,n.splice(n.findIndex(u=>u===m.type),1))});const l=new Set(s.concat(n)),c={[f.CREATIONDATE]:()=>fa(!1),[f.TITLE]:()=>yt({fixedValue:void 0}),[f.USER]:()=>ga(!1),[f.RECEIVEACOPY]:()=>ca({fixedValue:void 0}),[f.SENDALERTTOSUBSCRIBERS]:()=>ua({fixedValue:void 0}),[f.PUBLISHTO]:()=>pa({fixedValue:void 0})};l.forEach(y=>{const m=c[y];if(m){const[u,S]=m();r[u]=S}else console.error("ExtraAppFieldsItemViews does not have this field type: "+y)});const g=[];return i.forEach((y,m)=>{const u=y.views[a],S=Object.keys(t[a]).includes(y.id),C=y.type;if(Tt.get(C)?.includes(a))return;let b;if(C===o.CODEHTML){const v=y.properties?.find(O=>O.propertyType===T.RICHTEXT);v?.value&&(b=v?.value)}if(C===o.SELECT){const v=y.properties?.find(O=>O.propertyType===T.OPTIONS_EDITOR);if(S){const O=t[a][y.id],we=O.properties?.find(ba=>ba.propertyType===T.OPTIONS_EDITOR),Ca=!!v?.value?.canSelectMultiple,ha=!!we?.value?.canSelectMultiple;Ca===ha&&(b=O.value)}else{const we=!!v?.isOptionsEditorEnhanced&&v?.value.defaultSelectOption?v?.value.defaultSelectOptionValue:"";we&&(b=we)}}if(S){const v=t[a][y.id];r[y.id]={...v,properties:y.properties??v.properties??[],...b!==void 0&&{value:b},isUsed:u,pos:e?.[a]?m:v.pos,isLockedValue:(b!==void 0||v.value!==void 0)&&v.isLockedValue}}else{g.push({id:y.id,idx:m});const v=Object.values(t[a]).filter(O=>!O.isFixed&&!O.isOptional).length;r[y.id]={type:y.type,properties:y.properties??[],isUsed:u,isOptional:!1,isLockedValue:!1,isFixed:!1,value:b??null,pos:e?.[a]?m:v+m}}}),e?.[a]||g.forEach(y=>{const m=r[y.id];m.pos=y.idx+1,Object.keys(r).forEach(u=>{const S=r[u];S&&!Object.values(Ji).includes(u)&&u!==y.id&&S.pos>=m.pos&&S.pos++})}),{[a]:r}}))}function kl(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 Ml(t,e,i){const a=t.typeModel.tables,r=t.typeModel.displays;if(!r)return;const n=new Map;Object.entries(r).forEach(s=>{const[l,c]=s;Object.keys(sa).includes(l)&&Dl(e,n,l,c,a,i)}),jl(e,n,t.columns,a,i),xl(e,n,t.attrExposed,a,i)}function Dl(t,e,i,a,r,n){const s=sa[i];if(t.views[s]={},s==="view"){const[l,c]=yt({fixedValue:void 0});t.views[s][l]=c}a.composants.forEach((l,c)=>{let g;if(l.name&&Ol.includes(l.name))return;const[y,m]=Nl(t,e,l,r,n);if(y===-1&&m)switch(m.ref){case"title":{if(s==="view")break;const[u,S]=yt(m);t.views[s][u]=S;break}case"alertAuthor":{const[u,S]=ca(m);t.views[s][u]=S;break}case"sendAlert":{const[u,S]=ua(m);t.views[s][u]=S;break}case"publishTo":{const[u,S]=pa(m);t.views[s][u]=S;break}default:console.error("fixed field info with unsupported ref ",m);break}else if(y!==-1){if(g=t.fields[y],!g?.views)throw new Error(`error converting installed app to V2: created field not found in fields array: ${y}, ${m}`);g.views[s]=!0,da(s,g,t,c,m)}})}function jl(t,e,i,a,r){i&&Object.keys(i).forEach((n,s)=>{la(t,e,a,"list",n,s,r)})}function xl(t,e,i,a,r){i.forEach((n,s)=>{la(t,e,a,"filter",n,s,r)})}function la(t,e,i,a,r,n,s){switch(r){case"title":{const[l,c]=yt({fixedValue:void 0});t.views[a][l]=c;break}case"iduser":case"idUser":{const[l,c]=ga();t.views[a][l]=c;break}case"datecreation":case"dateCreation":{const[l,c]=fa();t.views[a][l]=c;break}default:_l(t,e,i,a,r,n,s);break}}function _l(t,e,i,a,r,n,s){const l=Pl(t,e,i,r,s),c=t.fields[l];if(!c?.views)throw new Error(`error converting installed app to V2: unable to handle ${r} in list view`);c.views[a]=!0,da(a,c,t,n,void 0)}function Pl(t,e,i,a,r){const n=e.get(a);if(n!==void 0)return n;const[s,l]=Ft(t,a,i,r);return e.set(s,l),l}function Nl(t,e,i,a,r){if(i.name!==void 0&&i.element==="attr"){if(vi.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,l]=Ft(t,i.name,a,r);return e.set(s,l),[l,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,l=n.indexOf("</JAMESPOT.STUDIO.FIXED>"),c=n.substring(s,l);try{const g=JSON.parse(c);if(g?.ref.toUpperCase()in f){const S=g.ref.toUpperCase();return[-1,{...g,ref:na(S)}]}if(vi.includes(g?.ref))return[-1,g];const y=e.get(g?.ref);if(y!==void 0)return[y,g];const[m,u]=Ft(t,g.ref,a,r);return e.set(m,u),[u,g]}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,l=n.indexOf("</JAMESPOT.STUDIO.CODEHTML>"),c=n.substring(s,l),g=JSON.parse(c),y=e.get(g?.name);if(y!==void 0)return[y,void 0];const m=Qo(g),u=t.fields.push(m)-1;return e.set(m.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=zo(),l=t.fields.push(s)-1;return e.set("image",l),[l,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 Ft(t,e,i,a){const r=Ul(e,i),n=Fl(r),s=(function(){switch(n){case o.ADDFILEATTACHMENT:return Yo(r);case o.NUMBER:return Zo(r);case o.TAGS:return el(r);case o.SELECT:return tl(r);case o.RADIO:return ra(r);case o.CHECKBOX:return il(r);case o.CONTENTLINK:return al(r,a);case o.DESCRIPTION:return nl(r);case o.TEXTAREAHTML:return sl(r);case o.DATE:return ol(r);case o.DATETIME:return ll(r);case o.URL:return dl(r);case o.EMAIL:return cl(r);case o.TOGGLE:return ul(r);case o.USERLINK:return pl(r);case o.TEXTAREA:return gl(r);case o.TEXT:default:return rl(r)}})(),l=t.fields.push(s)-1;return[e,l]}function Ul(t,e){let i;for(let a=0;a<e.length&&!i;a++)i=e[a]?.attributes.find(r=>r.name===t);if(!i)throw new Error("error converting installed app to V2: installed field not found in tables "+t);return i}function da(t,e,i,a,r){e.views&&(e.views[t]=!0,i.views[t][e.id]={type:e.type,properties:e.properties??[],isUsed:!0,isOptional:!1,isLockedValue:!!r?.fixedValue,isFixed:!1,value:r?.fixedValue??null,pos:a})}function Fl(t){switch(t.widget.type){case"number":return o.NUMBER;case"taxonomy":return o.TAGS;case"date":return o.DATE;case"datetime":return o.DATETIME;case"select":return o.SELECT;case"radio":return o.RADIO;case"url":return o.URL;case"email":return o.EMAIL;case"file":return o.ADDFILEATTACHMENT;case"checkbox":return t.widget.options?.["1"]==="GLOBAL_Yes"?o.TOGGLE:o.CHECKBOX;case"uri":if(t.widget.params?.views==="user")return o.USERLINK;if(t.widget.params?.views==="article")return o.CONTENTLINK;break;case"textarea":if(t.attrType==="longtext"||t.attrType==="text")return o.TEXTAREA;if(t.attrType==="html")return t.name==="description"?o.DESCRIPTION:o.TEXTAREAHTML;break;case"text":return o.TEXT}throw new Error("error converting installed app to V2: installed field type not recognized for field "+t.name+":"+JSON.stringify(t))}function yt(t,e=!0){return["title",{type:f.TITLE,properties:[],isUsed:e,isOptional:!1,isLockedValue:!!t?.fixedValue,isFixed:!0,value:t?.fixedValue??null,pos:0}]}function ca(t,e=!0){return["alertAuthor",{type:f.RECEIVEACOPY,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:300}]}function ua(t,e=!0){return["sendAlert",{type:f.SENDALERTTOSUBSCRIBERS,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:200}]}function pa(t,e=!0){return["publishTo",{type:f.PUBLISHTO,properties:[],isUsed:e,isOptional:!0,isLockedValue:!!t?.fixedValue,isFixed:!1,value:t?.fixedValue??[],pos:100}]}function ga(t=!0){return["user",{type:f.USER,properties:[],isUsed:t,isOptional:!1,isLockedValue:!1,isFixed:!0,value:null,pos:1}]}function fa(t=!0){return["dateCreation",{type:f.CREATIONDATE,properties:[],isUsed:t,isOptional:!0,isLockedValue:!1,isFixed:!1,value:null,pos:100}]}function Wl(t,e,i){const{version:a,dateCreation:r}=t.manifest,n=t.typeModel,s=Object.assign({},...St.map(u=>({[u]:{}}))),l=t,c=!!t.columns&&Object.keys(t.columns).length>0,g={idApp:t.idApp,status:Wt(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:a,dateCreation:r,checkAccess:!1,accessRightList:"",attrExposed:[],display:c?$.TABLE:$.FLUX,viewSolr:t.view==="solr"?mt.SOLR:mt.NOT_SOLR,typeLabel:n.typeLabel,articlesCount:t.articlesCount??0,displayContentLegacyTable:!!l?.typeModel?.displays?.displayDisabled},fields:[],views:s,installFor:t.accessRightObjectList?kl(t.accessRightObjectList):[],audience:t.checkAccess===!1?be.ALL:be.CUSTOM};Ml(t,g,i),g.views=oa(g.views,g.syncViewFieldOrder,g.fields);const y=Bl(t.idApp,e);if(!y)return g;const m=ma(y);return m&&(g.inWorkVersion=m),g}function ma(t){if(!t.value)return;const e=JSON.parse(t.value);return e.studioVersion==2?{idApp:t.idApp,studioVersion:2,status:Wt(t),manifest:e.manifest,fields:e.fields,views:e.views,syncViewFieldOrder:e.syncViewFieldOrder,audience:e.audience,installFor:e.installFor}:{...ia(e),status:Wt(t),migratedFrom:1}}function Wt(t){return t.status===E.StudioApplicationStatus.installed?t.suspended?F.suspended:F.installed:F.draft}function Bl(t,e){return e.find(a=>a.idApp===t&&a.status===E.StudioApplicationStatus.saved)}function ql(t,e){return!!e.find(i=>i.idApp===t&&i.status===E.StudioApplicationStatus.installed)}function ya(t,e){return t.map(a=>{try{return a.status===E.StudioApplicationStatus.installed?Wl(a,t,e):ql(a.idApp,t)?void 0:ma(a)}catch(r){console.error(r);return}}).filter(a=>a!==void 0)}const Vl={currentStudioApp:null,fetchCurrentStudioAppStatus:"idle",saveCurrentStudioAppStatus:"idle",installStudioAppStatus:"idle",hasChanged:!1},at=d.createAsyncThunk("studio/fetchCurrentStudioApp",async({idApp:t,status:e},{extra:i,rejectWithValue:a,getState:r})=>{const n=i.jApi,s={error:1,errorMsg:"Error fetching application"};try{const l=(await n.application.studioGet(t,e)).result,c=ya([l],r())[0];return c||a(s)}catch{return a(s)}}),rt=d.createAsyncThunk("studio/saveCurrentStudioApp",async(t,{extra:e,rejectWithValue:i,getState:a,dispatch:r})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},l=a().studio.currentStudioApp.currentStudioApp;if(!l)return i(s);const c=JSON.stringify(l);try{await n.application.studioSave(l.idApp,c,"saved"),r(p.actions.success({label:"APPSTUDIO_AppItem_Edition_Saved"}));return}catch(g){return r(p.actions.error({label:A(g)})),i(s)}}),nt=d.createAsyncThunk("studio/installApp",async({callback:t},{extra:e,rejectWithValue:i,getState:a,dispatch:r})=>{const n=e.jApi,s={error:1,errorMsg:"Error saving application"},l=a().studio.currentStudioApp.currentStudioApp;if(!l)return i(s);const c=fl(l);try{await n.application.studioInstall(c),r(p.actions.success({label:"APPSTUDIO_AppItem_Installed"})),t&&t();return}catch(g){return r(p.actions.error({label:A(g)})),i(s)}}),At=d.createSlice({name:"currentStudioApp",initialState:Vl,reducers:{setCurrentApp:(t,e)=>{t.currentStudioApp=e.payload},resetCurrentApp:t=>{t.currentStudioApp=null},setHasChanged:(t,e)=>{t.hasChanged=e.payload}},extraReducers:t=>{t.addCase(at.pending,e=>{e.fetchCurrentStudioAppStatus==="idle"&&(e.fetchCurrentStudioAppStatus="pending")}).addCase(at.fulfilled,(e,i)=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle"),e.currentStudioApp=i.payload}).addCase(at.rejected,e=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle")}).addCase(rt.pending,e=>{e.saveCurrentStudioAppStatus==="idle"&&(e.saveCurrentStudioAppStatus="pending")}).addCase(rt.fulfilled,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(rt.rejected,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(nt.pending,e=>{e.installStudioAppStatus==="idle"&&(e.installStudioAppStatus="pending")}).addCase(nt.fulfilled,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")}).addCase(nt.rejected,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")})}});function Aa(t,e,i){const a=t.studioVersion!==2?JSON.parse(JSON.stringify(ia(t))):JSON.parse(JSON.stringify(t));if(delete a.inWorkVersion,i)a.manifest.version=a.manifest.version+.1;else{const r=k(),n=`${t.manifest.appName} Copie`;a.idApp=r,a.status=R.DRAFT,a.manifest={...a.manifest,appName:n,appShortName:n,author:e??a.manifest.author??"",dateCreation:new Date().toISOString(),version:.1,articlesCount:0}}return[a,a.idApp]}function $l({author:t,appName:e}){const i=k(),a=Object.assign({},...St.map(r=>{const n={};return _[r]?.fixed.forEach((s,l)=>{n[k()]={type:s,properties:[],isUsed:!0,isOptional:!1,isFixed:!0,isLockedValue:!1,value:null,pos:l}}),_[r]?.optional.forEach((s,l)=>{n[k()]={type:s,properties:[],isUsed:!0,isOptional:!0,isFixed:!1,isLockedValue:!1,value:s==="SENDALERTTOSUBSCRIBERS"||s==="RECEIVEACOPY"?!0:null,pos:(l+1)*100}}),{[r]: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:mt.SOLR,display:$.TABLE,checkAccess:!1,accessRightList:"",attrExposed:[],articlesCount:0},syncViewFieldOrder:{create:!0,popup:!0,view:!0,edit:!0,list:!0,filter:!0},fields:[],views:a,audience:be.CUSTOM,installFor:[]}}}function ke(t,e){return t.manifest.appName>e.manifest.appName?1:-1}const Hl={loadingStudioAppsList:"idle",deleteStudioAppStatus:"idle",suspendStudioAppStatus:"idle",restartStudioAppStatus:"idle",cloneStudioAppStatus:"idle",createInWorkAppStatus:"idle",createNewStudioAppStatus:"idle"},st=d.createAsyncThunk("studio/appsList",async(t,{extra:e,rejectWithValue:i,dispatch:a,getState:r})=>{const n=e.jApi;try{const{result:s}=await n.application.studioList(),l=await n.taxonomy.list(),g=(await Promise.allSettled(s.map(async m=>{const u=(await n.application.studioGet(m.idApp,m.status)).result,S=(await n.article.count(m.idApp)).result;return{...u,articlesCount:S}}))).map(m=>m.status==="fulfilled"?m.value:null).reduce((m,u)=>u!==null?m.concat([u]):m,[]),y=ya(g,r());return y.forEach(async m=>{m.fields=Li(m.fields,l,t),m.inWorkVersion&&(m.inWorkVersion.fields=Li(m.inWorkVersion.fields,l,t))}),y}catch(s){throw console.error(s),a(p.actions.error({label:A(s)})),i({error:1,errorMsg:"Error retrieving applications"})}});function Li(t,e,i){return t.map(a=>{if(a.type!==o.TAGS)return a;const r=JSON.parse(JSON.stringify(a)),n=r.properties?.find(l=>l.propertyType===T.TAXONOMY),s=e.find(l=>l.id===n?.value.id);return s&&n&&(n.value.title=i.formatMessage({id:s.title}),n.value.type=s.type),r})}const ot=d.createAsyncThunk("studio/createApp",async({appName:t,callback:e},{extra:i,dispatch:a,rejectWithValue:r,getState:n})=>{const s=i.jApi,l=n().userCurrent?.uri,{newAppId:c,newStudioApp:g}=$l({appName:t,...l&&{author:l}});try{return await s.application.studioSave(c,JSON.stringify(g),"saved"),a(p.actions.success({label:"APPSTUDIO_StudioApp_Created"})),a(At.actions.setCurrentApp(g)),e&&e(),g}catch(y){throw a(p.actions.error({label:A(y)})),r({error:1,errorMsg:"Error creating application"})}}),lt=d.createAsyncThunk("studio/deleteApp",async({idApp:t,status:e},{extra:i,rejectWithValue:a,dispatch:r})=>{const n=i.jApi;try{const s=await n.application.studioDelete(t,e);return r(p.actions.success({label:"APPSTUDIO_StudioApp_Deleted"})),s}catch(s){return r(p.actions.error({label:A(s)})),a({error:1,errorMsg:"Error deleting application"})}}),dt=d.createAsyncThunk("studio/suspendStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:a})=>{const r=e.jApi;try{await r.application.studioSuspend(t),a(p.actions.success({label:"APPSTUDIO_AppItem_Suspended"}))}catch(n){throw a(p.actions.error({label:A(n)})),i({error:1,errorMsg:"Error suspending application"})}}),ct=d.createAsyncThunk("studio/restartStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:a})=>{const r=e.jApi;try{await r.application.studioRestart(t),a(p.actions.success({label:"APPSTUDIO_AppItem_Restarted"}))}catch(n){throw a(p.actions.error({label:A(n)})),i({error:1,errorMsg:"Error restarting application"})}}),ut=d.createAsyncThunk("studio/cloneStudioApp",async({idApp:t,inWork:e},{extra:i,getState:a,rejectWithValue:r,dispatch:n})=>{const s=i.jApi;let l=a().studio.studioAppsList.studioAppsList?.find(u=>u.idApp===t);if(!l)return r({error:1,errorMsg:"Error cloning application"});if(e)if(l.inWorkVersion!==void 0)l=l.inWorkVersion;else return r({error:1,errorMsg:"Error cloning application"});const c=a().userCurrent?.uri,[g,y]=Aa(l,c),m=JSON.stringify(g);try{return await s.application.studioSave(y,m,"saved"),n(p.actions.success({label:"APPSTUDIO_AppItem_Cloned"})),g}catch(u){return n(p.actions.error({label:A(u)})),r({error:1,errorMsg:"Error cloning application"})}}),pt=d.createAsyncThunk("studio/createInWorkStudioApp",async({idApp:t},{extra:e,getState:i,rejectWithValue:a,dispatch:r})=>{const n=e.jApi,s=i().studio.studioAppsList.studioAppsList?.find(m=>m.idApp===t);if(!s||![R.INSTALLED,R.SUSPENDED].includes(s.status))return a({error:1,errorMsg:"Error cloning application"});const l=i().userCurrent?.uri,[c,g]=Aa(s,l,!0),y=JSON.stringify(c);try{return await n.application.studioSave(g,y,"saved"),r(p.actions.success({label:"APPSTUDIO_AppItem_CreateInWork"})),c}catch(m){return r(p.actions.error({label:A(m)})),a({error:1,errorMsg:"Error creating in work version for application"})}}),Bt=d.createSlice({name:"studioAppsList",initialState:Hl,reducers:{setAppsList:(t,e)=>{t.studioAppsList=[...e.payload].sort(ke)}},extraReducers:t=>{t.addCase(st.pending,e=>{e.loadingStudioAppsList==="idle"&&(e.loadingStudioAppsList="pending")}).addCase(st.fulfilled,(e,i)=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle"),e.studioAppsList=[...i.payload].sort(ke)}).addCase(st.rejected,e=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle")}).addCase(lt.pending,e=>{e.deleteStudioAppStatus==="idle"&&(e.deleteStudioAppStatus="pending")}).addCase(lt.fulfilled,(e,i)=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.reduce((a,r)=>{const{idApp:n}=i.meta.arg;let{status:s}=i.meta.arg;return s===R.INSTALLED&&(s=R.SUSPENDED),r.idApp===n&&r.status===s?r.inWorkVersion&&r.status===R.SUSPENDED?(r.inWorkVersion.status=R.DRAFT,[...a,r.inWorkVersion]):a:(r.inWorkVersion?.idApp===n&&r.inWorkVersion?.status===s&&delete r.inWorkVersion,[...a,r])},[])??[]}).addCase(lt.rejected,e=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle")}).addCase(dt.pending,e=>{e.suspendStudioAppStatus==="idle"&&(e.suspendStudioAppStatus="pending")}).addCase(dt.fulfilled,(e,i)=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(a=>{const{idApp:r}=i.meta.arg;return a.idApp===r&&(a.status=R.SUSPENDED),a})??[]}).addCase(dt.rejected,e=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle")}).addCase(ct.pending,e=>{e.restartStudioAppStatus==="idle"&&(e.restartStudioAppStatus="pending")}).addCase(ct.fulfilled,(e,i)=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle"),e.studioAppsList=e.studioAppsList?.map(a=>{const{idApp:r}=i.meta.arg;return a.idApp===r&&(a.status=R.INSTALLED),a})??[]}).addCase(ct.rejected,e=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle")}).addCase(ut.pending,e=>{e.cloneStudioAppStatus==="idle"&&(e.cloneStudioAppStatus="pending")}).addCase(ut.fulfilled,(e,i)=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(ke)}).addCase(ut.rejected,e=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle")}).addCase(pt.pending,e=>{e.createInWorkAppStatus==="idle"&&(e.createInWorkAppStatus="pending")}).addCase(pt.fulfilled,(e,i)=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle");const a=e.studioAppsList?.find(r=>r.idApp===i.payload.idApp);a&&(a.inWorkVersion=i.payload)}).addCase(pt.rejected,e=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle")}).addCase(ot.pending,e=>{e.createNewStudioAppStatus==="idle"&&(e.createNewStudioAppStatus="pending")}).addCase(ot.fulfilled,(e,i)=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(ke)}).addCase(ot.rejected,e=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle")})}}),Gl=d.combineReducers({[Bt.name]:Bt.reducer,[At.name]:At.reducer});function Xl(t){return t.studio.studioAppsList}function Jl(t){return t.studio.currentStudioApp}const Kl={name:"studio",reducer:Gl},Yl={slice:Kl,actions:{...Bt.actions,...At.actions,fetchStudioAppsList:st,deleteStudioApp:lt,suspendStudioApp:dt,restartStudioApp:ct,cloneStudioApp:ut,createNewStudioApp:ot,fetchCurrentStudioApp:at,saveCurrentStudioApp:rt,installStudioApp:nt,createInWorkStudioApp:pt},selectors:{selectStudioAppsList:Xl,selectCurrentStudioApp:Jl},utils:{updateViewsFromFields:oa,generateNewFormField:ve}},qt=[{name:"name",sort:"ASC"}],Ql={list:{loading:"idle",data:[],page:1,filters:[],orders:qt,limit:20,nbResults:0},createModal:{open:!1,loading:"idle"},updateModal:{open:!1,loading:"idle",loadingRoom:"idle"},archive:{archiveRoomLoading:"idle",archiveRoomModalOpen:!1,unarchiveRoomLoading:"idle",unarchiveRoomModalOpen:!1},tab:"my"},Vt=d.createSlice({name:"visioConnect",initialState:Ql,reducers:{setTab:(t,e)=>{t.tab=e.payload,t.list.page=1,E.deepEqual(t.list.orders,qt)||(t.list.orders=qt),t.list.filters.length>0&&(t.list.filters=[])},setPage:(t,e)=>{t.list.page=e.payload},setFilters:(t,e)=>{E.deepEqual(t.list.filters,e.payload)||(t.list.filters=e.payload)},setOrders:(t,e)=>{E.deepEqual(t.list.orders,e.payload)||(t.list.orders=e.payload)},createRoomModalOpen:t=>{t.createModal.open=!0},createRoomModalClose:t=>{t.createModal.open=!1},createRoomLoading:(t,e)=>{t.createModal.loading=e.payload},updateRoomModalOpen:(t,e)=>{t.updateModal.open=!0,t.updateModal.room=void 0,t.updateModal.uri=e.payload},updateRoomModalClose:t=>{t.updateModal.open=!1,t.updateModal.room=void 0,t.updateModal.uri=void 0},updateRoomLoading:(t,e)=>{t.updateModal.loading=e.payload},archiveRoomModalOpen:(t,e)=>{t.archive.archiveRoomModalOpen=!0,t.archive.archiveRoomModalObjectUri=e.payload},archiveRoomModalClose:t=>{t.archive.archiveRoomModalOpen=!1,t.archive.archiveRoomModalObjectUri=void 0},unarchiveRoomModalOpen:(t,e)=>{t.archive.unarchiveRoomModalOpen=!0,t.archive.unarchiveRoomModalObjectUri=e.payload},unarchiveRoomModalClose:t=>{t.archive.unarchiveRoomModalOpen=!1,t.archive.unarchiveRoomModalObjectUri=void 0}},extraReducers:t=>{t.addCase(fe.pending,e=>{e.list.loading="pending"}).addCase(fe.fulfilled,(e,i)=>{e.list.loading="idle",e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt}).addCase(fe.rejected,e=>{e.list.loading="idle"}).addCase(me.pending,e=>{e.list.loading="pending"}).addCase(me.fulfilled,(e,i)=>{e.list.loading="idle",e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt}).addCase(me.rejected,e=>{e.list.loading="idle"}).addCase(ye.pending,e=>{e.updateModal.loadingRoom="pending"}).addCase(ye.fulfilled,(e,i)=>{e.updateModal.loadingRoom="idle",e.updateModal.room=i.payload}).addCase(ye.rejected,e=>{e.updateModal.loadingRoom="idle"}).addCase(Ae.pending,e=>{e.createModal.loading="pending"}).addCase(Ae.fulfilled,e=>{e.createModal.loading="idle",e.createModal.open=!1}).addCase(Ae.rejected,e=>{e.createModal.loading="idle"}).addCase(Se.pending,e=>{e.updateModal.loading="pending"}).addCase(Se.fulfilled,e=>{e.updateModal.loading="idle",e.updateModal.open=!1,e.updateModal.room=void 0,e.updateModal.uri=void 0}).addCase(Se.rejected,e=>{e.updateModal.loading="idle"}).addCase(Te.pending,e=>{e.archive.archiveRoomLoading="pending"}).addCase(Te.fulfilled,(e,i)=>{e.archive.archiveRoomLoading="idle",e.archive.archiveRoomModalOpen=!1,e.archive.archiveRoomModalObjectUri=void 0}).addCase(Te.rejected,e=>{e.archive.archiveRoomLoading="idle"}).addCase(Ee.pending,e=>{e.archive.unarchiveRoomLoading="pending"}).addCase(Ee.fulfilled,(e,i)=>{e.archive.unarchiveRoomLoading="idle",e.archive.unarchiveRoomModalOpen=!1,e.archive.unarchiveRoomModalObjectUri=void 0}).addCase(Ee.rejected,e=>{e.archive.unarchiveRoomLoading="idle"})}}),fe=d.createAsyncThunk("visioConnect/fetchPermanentRooms",async(t,{rejectWithValue:e,extra:i,dispatch:a,getState:r})=>{const n=r().visioConnect;try{const s=[...n.list.filters],l=n.list.orders.length>0?n.list.orders:[{name:"name",sort:"ASC"}],c=n.tab,g={filters:s,orders:l,page:n.list.page,limit:n.list.limit};if(c==="my")return(await i.jApi.visioConnect.getPermanentRoomsMy(g)).result;if(c==="all")return(await i.jApi.visioConnect.getPermanentRoomsAll(g)).result;if(c==="archive")return(await i.jApi.visioConnect.getPermanentRoomsArchive(g)).result;throw Error("Unhandled tab")}catch(s){return h(s)||a(p.actions.error({label:A(s)})),e({error:1,errorMsg:"Cannot fetch rooms"})}}),me=d.createAsyncThunk("visioConnect/fetchTeamworkPermanentRooms",async(t,{rejectWithValue:e,extra:i,dispatch:a})=>{try{const r=[],n=[{name:"name",sort:"ASC"}];return(await i.jApi.visioConnect.getPermanentRoomsMy({filters:r,orders:n,page:1,limit:10})).result}catch(r){return h(r)||a(p.actions.error({label:A(r)})),e({error:1,errorMsg:"Cannot fetch rooms"})}}),ye=d.createAsyncThunk("visioConnect/fetchEditedPermanentRoom",async(t,{rejectWithValue:e,extra:i,dispatch:a})=>{try{return(await i.jApi.visioConnect.getPermanentRoom(t)).result}catch(r){return h(r)||a(p.actions.error({label:A(r)})),e({error:1,errorMsg:"Cannot fetch rooms"})}}),Ae=d.createAsyncThunk("visioConnect/createPermanentRoom",async({room:t,token:e},{rejectWithValue:i,extra:a,dispatch:r})=>{try{const n=(await a.jApi.visioConnect.createPermanentRoom({room:t,token:e})).result;return r(Le.actions.fetchPermanentRooms()),r(p.actions.success({label:"APP_VisioConnect_PermanentRoom_Create_Success"})),n}catch(n){return h(n)||r(p.actions.error({label:A(n)})),i({error:1,errorMsg:"Cannot save room"})}}),Se=d.createAsyncThunk("visioConnect/updatePermanentRoom",async({room:t,token:e,uri:i},{rejectWithValue:a,extra:r,dispatch:n})=>{try{const s=(await r.jApi.visioConnect.updatePermanentRoom({uri:i,room:t,token:e})).result;return n(Le.actions.fetchPermanentRooms()),n(p.actions.success({label:"APP_VisioConnect_PermanentRoom_Update_Success"})),s}catch(s){return h(s)||n(p.actions.error({label:A(s)})),a({error:1,errorMsg:"Cannot save room"})}}),Te=d.createAsyncThunk("visioConnect/archivePermanentRoom",async(t,{rejectWithValue:e,extra:i,dispatch:a})=>{try{const r=(await i.jApi.visioConnect.archivePermanentRoom(t)).result;return a(Le.actions.fetchPermanentRooms()),a(p.actions.success({label:"APP_VisioConnect_PermanentRoom_Archive_Success"})),r}catch(r){return h(r)||a(p.actions.error({label:A(r)})),e({error:1,errorMsg:"Cannot archive room"})}}),Ee=d.createAsyncThunk("visioConnect/unarchivePermanentRoom",async(t,{rejectWithValue:e,extra:i,dispatch:a})=>{try{const r=(await i.jApi.visioConnect.unarchivePermanentRoom(t)).result;return a(Le.actions.fetchPermanentRooms()),a(p.actions.success({label:"APP_VisioConnect_PermanentRoom_Unarchive_Success"})),r}catch(r){return h(r)||a(p.actions.error({label:A(r)})),e({error:1,errorMsg:"Cannot unarchive room"})}}),zl=t=>t.visioConnect.tab,Zl=t=>t.visioConnect.list,ed=t=>t.visioConnect.createModal,td=t=>t.visioConnect.updateModal,id=t=>t.visioConnect.archive,Le={slice:Vt,actions:{archivePermanentRoom:Te,unarchivePermanentRoom:Ee,createPermanentRoom:Ae,updatePermanentRoom:Se,fetchPermanentRooms:fe,fetchTeamworkPermanentRooms:me,fetchEditedPermanentRoom:ye,...Vt.actions},selectors:{selectVisioConnectTab:zl,selectVisioConnectList:Zl,selectVisioConnectCreateModal:ed,selectVisioConnectUpdateModal:td,selectVisioConnectArchive:id}},Ce=d.createAsyncThunk("wall/fetchWallFilters",async(t,{extra:e,rejectWithValue:i})=>{try{return(await e.jApi.wall.getFilters()).result}catch(a){return i(a)}}),$t={filters:[],taxonomies:[],loading:"idle"},Ht=d.createSlice({name:"wall",initialState:$t,reducers:{setFilters:(t,e)=>{t.filters=e.payload},setLoading:(t,e)=>{t.loading=e.payload},reset:()=>$t},extraReducers:t=>{t.addCase(Ce.pending,e=>{e.loading="pending"}),t.addCase(Ce.fulfilled,(e,i)=>{e.loading="idle",e.filters=i.payload.filterList,e.taxonomies=i.payload.taxonomies}),t.addCase(Ce.rejected,e=>{e.loading="idle"})}}),Sa=t=>t.wall,Ta=t=>t.wall.filters,Ea=t=>t.wall.taxonomies,ad={slice:Ht,actions:{...Ht.actions,fetchWallFilters:Ce},selectors:{selectWall:Sa,selectWallFilters:Ta,selectWallFiltersTaxonomies:Ea}};exports.APP_STATUS_TYPE=R;exports.AUDIENCE=be;exports.AdminLogs=Fa;exports.Animations=za;exports.AppColumnsDefaultTypes=Ki;exports.AppFieldFormPropertyTypes=T;exports.AppFormBannedFromViews=Tt;exports.AppFormFieldOnlyInView=zi;exports.AppFormFixedList=qo;exports.AppFormItemTypes=o;exports.AppFormNoAsFieldList=Qi;exports.AppFormNonPrimaryList=Zi;exports.AppFormPrimaryListValues=Zt;exports.AppFormUniqueListCheck=Bo;exports.Application=er;exports.Article=La;exports.AssetReservation=pr;exports.Bookmark=Lr;exports.Calendar=kr;exports.Comment=Nr;exports.ContentReport=mr;exports.Description=ta;exports.Element=ea;exports.ExtraAppFieldsItemName=Ji;exports.ExtraAppFieldsItemViews=f;exports.ExtraBot=Fr;exports.Faq=Gr;exports.FileIntegrity=Jr;exports.FileIntegritySlice=kt;exports.Hook=Zr;exports.MagicPad=cn;exports.MapExtraFieldsWithView=_;exports.MediaLibrary=vn;exports.Model=Wi;exports.Network=Pn;exports.Platform=$n;exports.STUDIO_DISPLAY=$;exports.STUDIO_VIEW=mt;exports.Share=Yn;exports.SocialActions=Fo;exports.StatusType=F;exports.TVDisplay=ds;exports.TeamWork=G;exports.TinyMCE=ms;exports.Toast=p;exports.UserCurrent=Es;exports.VisioConnect=Le;exports.Wall=ad;exports.WedocApp=Xn;exports.Widget=Xi;exports.WidgetEditor=No;exports.actions=wi;exports.adminLogsReducer=Ua;exports.adminLogsSlice=Gt;exports.animationsReducer=Qa;exports.animationsSlice=Xt;exports.archivePermanentRoom=Te;exports.contentReportSlice=Oi;exports.createPermanentRoom=Ae;exports.deleteQuarantine=ae;exports.extraBotSlice=Ot;exports.fetchEditedPermanentRoom=ye;exports.fetchExtraBotListAll=V;exports.fetchExtraBotListMines=Q;exports.fetchFileIntegrityList=te;exports.fetchFolderFiles=oe;exports.fetchMediaLibraryConfig=de;exports.fetchMediaLibraryFilesStats=ue;exports.fetchMediaLibraryFolders=se;exports.fetchMediaLibraryFoldersStats=ce;exports.fetchMediaLibraryStats=pe;exports.fetchMediaLibraryUnclassifiedFiles=le;exports.fetchPads=ne;exports.fetchPermanentRooms=fe;exports.fetchReports=K;exports.fetchTeamworkPermanentRooms=me;exports.fetchWallFilters=Ce;exports.initialState=$t;exports.jland=on;exports.magicPadSlice=Fi;exports.mediaLibraryReducer=bn;exports.mediaLibrarySlice=Yt;exports.releaseQuarantine=ie;exports.saveExtraBot=Z;exports.selectExtraBotListAll=_i;exports.selectExtraBotListMines=Pi;exports.selectFileIntegrityAction=Ni;exports.selectFileIntegrityList=Ui;exports.selectWall=Sa;exports.selectWallFilters=Ta;exports.selectWallFiltersTaxonomies=Ea;exports.slice=Nt;exports.studio=Yl;exports.teamWorkSlice=Qt;exports.teamworkReducer=as;exports.toggleExtraBotActivation=z;exports.unarchivePermanentRoom=Ee;exports.updateListBotProperty=xi;exports.updatePermanentRoom=Se;exports.updateStatus=Y;exports.updateWidgetContent=Do;exports.viewsList=St;exports.visioConnectSlice=Vt;exports.wallSlice=Ht;
|