jamespot-front-business 1.3.31 → 1.3.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@reduxjs/toolkit"),E=require("jamespot-user-api"),ua=function(t){return[{namespace:"JAMESPOT",function:"article-create",handler:function(i){i.namespace==="JAMESPOT"&&i.function==="article-create"&&t(i.object)}}]},pa={getArticleRTHandlers:ua},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",be=d.createEntityAdapter({selectId:t=>t.id}),it=d.createSlice({name:"toasts",initialState:be.getInitialState(),reducers:{addOne:be.addOne,removeOne:be.removeOne}}),ga=()=>Math.random().toString(16).slice(2),Se=({id:t=ga(),...e},i="success",a=3e3)=>r=>{const n={id:t,...e,timeout:a,type:i};return r(it.actions.addOne(n)),setTimeout(()=>{r(it.actions.removeOne(t))},a),t},pi={addMessage:Se,success:(t,e)=>Se(t,"success",e),warning:(t,e)=>Se(t,"warning",e),error:(t,e)=>Se(t,"error",e)},fa=be.getSelectors(t=>t.toasts),g={slice:it,actions:{...pi,...it.actions},selectors:fa},qt=t=>t.toISOString().slice(0,19).replace(/T/g," "),ma=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},ya={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:qt(ma()),end:qt(new Date)}}],orders:[],limit:30,nbResults:0},he=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs navigation"})}}),ut=d.createSlice({name:"logsNavigation",initialState:ya,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(he.pending,e=>{e.loading="pending"}),t.addCase(he.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(he.rejected,e=>{e.loading="idle"})}}),$t=t=>t.toISOString().slice(0,19).replace(/T/g," "),Aa=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Sa={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:$t(Aa()),end:$t(new Date)}}],orders:[],limit:30,nbResults:0},Le=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs Objects"})}}),pt=d.createSlice({name:"logsObjects",initialState:Sa,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(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"})}}),Vt=t=>t.toISOString().slice(0,19).replace(/T/g," "),Ta=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Ea={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:Vt(Ta()),end:Vt(new Date)}}],orders:[],limit:30,nbResults:0},we=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve admin logs Search"})}}),gt=d.createSlice({name:"logsSearch",initialState:Ea,reducers:{setSearchOrder:(t,e)=>{t.orders=[...e.payload],t.page=1},setSearchFilter:(t,e)=>{t.filters=[...e.payload],t.page=1},setSearchPage:(t,e)=>{t.page=e.payload}},extraReducers:t=>{t.addCase(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"})}}),Ca=t=>t.adminLogs.logsNavigation,ba=t=>t.adminLogs.logsObjects,ha=t=>t.adminLogs.logsSearch,La=d.combineReducers({[ut.name]:ut.reducer,[pt.name]:pt.reducer,[gt.name]:gt.reducer}),Mt={name:"adminLogs",reducer:La},wa=Mt.reducer,Ia={slice:Mt,actions:{...ut.actions,...pt.actions,...gt.actions,fetchLogsNavigation:he,fetchLogsObjects:Le,fetchLogsSearch:we},selectors:{selectAdminLogsNavigation:Ca,selectAdminLogsObjects:ba,selectAdminLogsSearch:ha}},va={animationConfiguration:null,isActiveForCurrentUser:!1,isInitialized:!1,isToggleLoading:!1},Ht=d.createSlice({name:"animationsList",initialState:va,reducers:{},extraReducers:t=>{t.addCase(G.fulfilled,(e,i)=>{e.isActiveForCurrentUser=i.payload.isActiveForCurrentUser,e.animationConfiguration=i.payload.animationConfiguration,e.isInitialized=i.payload.isInitialized}),t.addCase(at.fulfilled,(e,i)=>{e.animationConfigurationApp=i.payload}),t.addCase(Ie.pending,e=>{e.isToggleLoading=!0,e.isActiveForCurrentUser=!e.isActiveForCurrentUser}),t.addCase(Ie.fulfilled,e=>{e.isToggleLoading=!1}),t.addCase(Ie.rejected,e=>{e.isActiveForCurrentUser=!e.isActiveForCurrentUser,e.isToggleLoading=!1})}}),G=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(g.actions.error({label:S(n)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),at=d.createAsyncThunk("animations/fetchCurrentAnimationApp",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return(await e.jApi.animations.GetCurrentAnimationApp()).result}catch(r){return a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve animation"})}}),Oa=d.createAsyncThunk("animations/deleteCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.DeleteAnimation();return}catch(r){return a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot delete animation"})}}),ka=d.createAsyncThunk("animations/saveCurrentAnimation",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.SaveAnimationConfiguration(t);return}catch(r){return a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot update animation"})}}),Ie=d.createAsyncThunk("animations/toggleAnimationIsActive",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{await e.jApi.animations.ToggleAnimationActive();return}catch(r){return a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot update animation"})}}),Ra=function(t){return[{namespace:"ANIMATIONS",function:"add",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="add"&&(t(G()),t(at()))}},{namespace:"ANIMATIONS",function:"delete",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="delete"&&(t(G()),t(at()))}},{namespace:"ANIMATIONS",function:"toggle",handler:function(r){r.namespace==="ANIMATIONS"&&r.function==="toggle"&&t(G())}}]},ve=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve animation stats"})}}),Da={stats:[],loading:"idle"},Gt=d.createSlice({name:"animationStats",initialState:Da,reducers:{},extraReducers:t=>{t.addCase(ve.pending,e=>{e.loading="pending"}),t.addCase(ve.fulfilled,(e,i)=>{e.loading="idle",e.stats=i.payload}),t.addCase(ve.rejected,e=>{e.loading="idle"})}}),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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve animation stats current"})}}),Ma={stats:null,loading:"idle"},Xt=d.createSlice({name:"animationStatsCurrent",initialState:Ma,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"})}}),xa=t=>t.animations.animationsList.animationConfiguration,ja=t=>t.animations.animationsList.isActiveForCurrentUser,Na=t=>t.animations.animationsList.isToggleLoading,_a=t=>t.animations.animationsList.animationConfigurationApp,Fa=d.combineReducers({[Ht.name]:Ht.reducer,[Gt.name]:Gt.reducer,[Xt.name]:Xt.reducer}),xt={name:"animations",reducer:Fa},Pa=xt.reducer,Wa={slice:xt,actions:{saveCurrentAnimation:ka,fetchCurrentAnimation:G,deleteCurrentAnimation:Oa,toggleAnimationIsActive:Ie,fetchCurrentAnimationApp:at,fetchAnimationStats:ve,fetchAnimationStatsCurrent:Oe},selectors:{selectCurrentAnimation:xa,isActiveAnimation:ja,isToggleLoading:Na,selectAnimationConfigurationApp:_a},getAnimationsRTHandlers:Ra},U=d.createEntityAdapter({selectId:t=>t.name,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),gi=d.createAsyncThunk("application/fetch",async(t,{extra:e})=>await e.jApi.application.list()),Jt=d.createSlice({name:"applications",initialState:U.getInitialState(),reducers:{addOne:U.addOne,addMany:U.addMany,setAll:U.setAll},extraReducers:t=>{t.addCase(gi.fulfilled,(e,i)=>{U.setAll(e,i.payload.result)})}}),Ua=U.getSelectors(t=>t.entities.applications),Ba={slice:Jt,actions:{fetchList:gi,...Jt.actions},selectors:Ua},qa={entities:[],loading:"idle",nbResults:0},ke=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"})}),Kt=d.createSlice({name:"bookableAsset",initialState:qa,reducers:{},extraReducers:t=>{t.addCase(ke.pending,e=>{e.loading="pending"}).addCase(ke.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(ke.rejected,e=>{e.loading="idle"})}}),Re=d.createAsyncThunk("AssetReservation/configuration",async(t,{extra:e})=>await e.jApi.assetReservation.configuration()),$a={description:"",right:{manage:!1},daysOff:[],weekEnd:"0",bookingOpeningTime:"00:00",bookingClosingTime:"24:00",lastBookingSchedule:"24:00",loading:"idle"},Yt=d.createSlice({name:"configuration",initialState:$a,reducers:{},extraReducers:t=>{t.addCase(Re.pending,e=>{e.loading="pending"}).addCase(Re.fulfilled,(e,i)=>({...i.payload.result,loading:"idle"})).addCase(Re.rejected,e=>{e.loading="idle"})}}),fi={date:"",hourStart:"",hourEnd:""},Va={entities:[],loading:"idle",nbResults:0,form:fi},De=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)}),ft=d.createSlice({name:"reservation",initialState:Va,reducers:{setForm:(t,e)=>{t.form=e.payload},resetForm:t=>{t.form=fi},removeReservation:(t,e)=>{t.entities=t.entities.filter(i=>i.id!==e.payload)}},extraReducers:t=>{t.addCase(De.pending,e=>{e.loading="pending"}).addCase(De.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result.data,e.nbResults=i.payload.result.cnt}).addCase(De.rejected,e=>{e.loading="idle"})}}),Ha=d.combineReducers({[Kt.name]:Kt.reducer,[Yt.name]:Yt.reducer,[ft.name]:ft.reducer}),Ga={name:"assetReservation",reducer:Ha},Xa=t=>t.assetReservation.configuration,Ja=t=>t.assetReservation.bookableAsset.entities,Ka=t=>t.assetReservation.bookableAsset.loading,Ya=t=>t.assetReservation.reservation.entities,Qa=t=>t.assetReservation.reservation.loading,za=t=>t.assetReservation.reservation.form,Za={slice:Ga,actions:{...ft.actions,fetchBookableAsset:ke,fetchConfiguration:Re,fetchReservation:De},selectors:{configuration:Xa,bookableAssetEntities:Ja,bookableAssetLoading:Ka,reservationEntities:Ya,reservationLoading:Qa,reservationForm:za}},er={loading:"idle",reports:[],page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0,pendingReports:[]},mi=d.createSlice({name:"contentReport",initialState:er,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(X.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(X.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.reports=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(X.rejected,e=>{e.loading=="pending"&&(e.loading="idle")}).addCase(J.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(J.fulfilled,(e,i)=>{e.pendingReports=e.pendingReports.filter(a=>a.requestId!==i.meta.requestId)}).addCase(J.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))})}}),X=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(g.actions.error({label:S(l)})),e({error:1,errorMsg:"Cannot fetch pads"})}}),J=d.createAsyncThunk("contentReport/updateStatus",async(t,{dispatch:e,rejectWithValue:i,extra:a})=>{try{return await a.jApi.contentReport.updateStatus(t),e(g.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(r){return w(r)||e(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),tr=t=>t.contentReport,ir={slice:mi,actions:{fetchReports:X,updateStatus:J},selectors:{selectContentReport:tr}},yi=999,ar={bookmarks:[],loading:"idle",status:void 0,isInitialized:!1,nbResults:0,add:{},move:{loading:"idle",status:void 0},delete:{},perPage:yi,page:1},q=d.createAsyncThunk("bookmarkList/fetchbookmarkList",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{const r={limit:yi};try{return await e.jApi.bookmark.getFormattedList(r,"raw-list")}catch(n){return a(g.actions.error({label:S(n)})),i({error:1,errorMsg:"Cannot retrieve bookmarks"})}}),Me=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(g.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(g.actions.error({label:S(s)})),r({error:1,errorMsg:"Error moving bookmark"})}}),je=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Error deleting bookmark"})}}),ge=d.createSlice({name:"bookmarkList",initialState:ar,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(Me.pending,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(Me.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.add[i.meta.arg.requestId]={loading:"idle",status:"success",id:i.payload.result.id})}).addCase(Me.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(je.pending,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"pending",status:void 0})}).addCase(je.fulfilled,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"success"})}).addCase(je.rejected,(e,i)=>{i.meta.arg.requestId&&(e.delete[i.meta.arg.requestId]={loading:"idle",status:"error"})})}}),rr=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,ge.actions.addBookmarkRT)},r=n=>{(n.namespace==="BOOKMARKS"&&n.function==="delete"||n.namespace==="CUSTOM-ACTION"&&n.function==="remove")&&e(n,ge.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}]},nr={bookmark:void 0,status:void 0,loading:"idle"},Ne=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"})}}),mt=d.createSlice({name:"bookmarkEdit",initialState:nr,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(Ne.pending,e=>{e.loading="pending",e.status=void 0}).addCase(Ne.fulfilled,e=>{e.loading="idle",e.bookmark=void 0,e.status="success"}).addCase(Ne.rejected,e=>{e.status="error",e.loading="idle"})}}),sr=d.combineReducers({[ge.name]:ge.reducer,[mt.name]:mt.reducer}),or={name:"bookmark",reducer:sr},lr=t=>t.bookmark.bookmarkList,dr=t=>t.bookmark.bookmarkList.isInitialized,cr=t=>t.bookmark.bookmarkEdit.bookmark,ur=(t,e)=>t.bookmark.bookmarkList.bookmarks.find(i=>i.targetId===e),pr={slice:or,actions:{fetchBookmark:q,addBookmark:Me,moveBookmark:xe,deleteBookmark:je,editBookmark:Ne,...mt.actions,...ge.actions},selectors:{bookmarkList:lr,bookmarkListIsInitialized:dr,bookmarkEditBookmark:cr,bookmarkByArticleId:ur},getRTHandlers:rr},Qt={list:[],statuses:["subscribed","unanswered"],loading:"idle",types:[],pendingStatusChanges:[]};let dt=null;const Ai=(t,e,i=500)=>{dt&&clearTimeout(dt),dt=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(g.actions.error({label:S(c)})),i({error:1,errorMsg:"Cannot retrieve events"})}}),Si=d.createAsyncThunk("calendarEvents/setDates",async(t,{dispatch:e})=>(Ai(e,{dates:t}),!0)),Ti=d.createAsyncThunk("calendarEvents/setTypes",async(t,{dispatch:e})=>(Ai(e,{types:t}),!0)),_e=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(g.actions.success({label:"GLOBAL_Successfully_Saved"})),!0}catch(n){return w(n)||e(g.actions.error({label:S(n)})),r({error:1,errorMsg:"Cannot change response"})}}),D=d.createSlice({name:"events",initialState:Qt,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:()=>Qt},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(_e.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(_e.fulfilled,(e,i)=>{e.pendingStatusChanges=e.pendingStatusChanges.filter(a=>a.requestId!==i.meta.requestId)}).addCase(_e.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(Si.pending,(e,i)=>{e.dates={start:i.meta.arg.start,end:i.meta.arg.end},e.loading="pending"}).addCase(Ti.pending,(e,i)=>{e.types=i.meta.arg,e.loading="pending"})}}),Te=t=>["socialEvent","meeting","animatedMeeting","recurringEvent","recurringEventOccurrence"].includes(t),gr=function(t,e){const i=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-create"&&Te(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(g.actions.error({label:S(l)}))})}},a=function(s){if(s.namespace==="JAMESPOT"&&s.function==="article-delete"&&Te(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"&&Te(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(g.actions.error({label:S(l)}))})}},n=function(s){s.namespace==="CUSTOM-ACTION"&&(s.function==="update"||s.function==="remove")&&s.object.targetType&&s.object.targetId&&Te(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(g.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}]},fr=d.combineReducers({[D.name]:D.reducer}),mr={name:"calendar",reducer:fr},yr=t=>t.calendar.events,Ar={slice:mr,actions:{fetchEvents:M,setDates:Si,setTypes:Ti,changeResponse:_e,...D.actions},selectors:{selectCalendarEvents:yr},getCalendarRTHandlers:gr},Sr={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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve comments"})}}),yt=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot delete comment"})}}),At=d.createSlice({name:"commentList",initialState:Sr,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,f)=>Array.isArray(f.list)?[...c,...f.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(yt.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(yt.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)})})}}),Tr=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}))}}]},Er=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}]:[]},Cr=d.combineReducers({[At.name]:At.reducer}),br={name:"comment",reducer:Cr},hr=(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},Lr={slice:br,actions:{fetchComments:_,deleteComment:yt,...At.actions},selectors:{commentList:hr},getCommentRTHandlers:Tr,getCommentsLikeRTHandlers:Er},v={route:"extra-bot",moduleName:"ExtraBotHook",configurationType:"extraBot",listLimit:20,listDefaultPage:1},wr={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(g.actions.error({label:S(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),K=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(g.actions.error({label:S(s)})),i({error:1,errorMsg:"Cannot retrieve extra bot list"})}}),Y=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(g.actions.success({label:r?"APP_ExtraBot_Toast_ActivationSuccess":"APP_ExtraBot_Toast_DeactivationSuccess"})),a($())):a(g.actions.error({label:"APP_ExtraBot_Toast_FailedToChangeActivation"})),n}catch(r){return w(r)||a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Failed to change extra bot activation"})}}),Q=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(g.actions.success({label:l})),n}catch(r){return w(r)||a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot retrieve extra bot"})}}),Ei=(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)},St=d.createSlice({name:"extraBot",initialState:wr,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(K.pending,e=>{e.listMines.loading="pending"}).addCase(K.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(K.rejected,e=>{e.listMines.loading="idle"}).addCase(Y.pending,e=>{e.global.loading="pending"}).addCase(Y.fulfilled,(e,i)=>{e.global.loading="idle";const a=i.payload;Ei(e,a.uri,"enabled",a.enabled)}).addCase(Y.rejected,e=>{e.global.loading="idle"}).addCase(Q.pending,e=>{e.global.loading="pending"}).addCase(Q.fulfilled,(e,i)=>{e.global.loading="idle",e.formModal.open=!1}).addCase(Q.rejected,e=>{e.global.loading="idle"})}}),Ci=t=>t.extraBot.listAll,bi=t=>t.extraBot.listMines,Ir={slice:St,actions:{fetchExtraBotListAll:$,fetchExtraBotListMines:K,toggleExtraBotActivation:Y,saveExtraBot:Q,...St.actions},selectors:{selectExtraBotListAll:Ci,selectExtraBotListMines:bi}},vr={loading:"idle",access:{createCategory:!1}},Fe=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}}),zt=d.createSlice({name:"config",initialState:vr,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"),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(Fe.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),Or={loading:"idle",categories:null},Pe=d.createAsyncThunk("faqCategories/fetch",async(t,{extra:e})=>({categories:(await e.jApi.faq.getCategoriesList()).result.data})),Zt=d.createSlice({name:"categories",initialState:Or,reducers:{},extraReducers:t=>{t.addCase(Pe.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(Pe.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.categories=i.payload.categories,e)).addCase(Pe.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),kr=d.combineReducers({[zt.name]:zt.reducer,[Zt.name]:Zt.reducer}),Rr={name:"faq",reducer:kr},Dr=t=>t.faq.config,Mr=t=>t.faq.categories,xr={slice:Rr,actions:{fetchFaqConfig:Fe,fetchFaqCategories:Pe},selectors:{selectFaqConfig:Dr,selectFaqCategories:Mr}},z={listLimit:50,listDefaultPage:1},jr={list:{loading:"idle",data:[],limit:z.listLimit,nbResults:0,page:z.listDefaultPage,filters:[],orders:[{name:"dateCreation",sort:"DESC"}]},action:{loading:"idle"}},Z=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(g.actions.error({label:S(s)})),i({error:1,errorMsg:"Cannot retrieve file integrity list"})}}),ee=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot release quarantined file"})}}),te=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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot delete quarantined file"})}}),Tt=d.createSlice({name:"fileIntegrity",initialState:jr,reducers:{setListOrder:(t,e)=>{t.list.orders=[...e.payload],t.list.page=z.listDefaultPage},setListFilter:(t,e)=>{t.list.filters=[...e.payload],t.list.page=z.listDefaultPage},setListPage:(t,e)=>{t.list.page=e.payload}},extraReducers:t=>{t.addCase(Z.pending,e=>{e.list.loading="pending"}).addCase(Z.fulfilled,(e,i)=>{e.list.data=i.payload.data,e.list.nbResults=i.payload.cnt,e.list.limit=i.payload.limit??z.listLimit,e.list.page=i.payload.page,e.list.loading="idle"}).addCase(Z.rejected,e=>{e.list.loading="idle"}).addCase(ee.pending,e=>{e.action.loading="pending"}).addCase(ee.fulfilled,e=>{e.action.loading="idle"}).addCase(ee.rejected,e=>{e.action.loading="idle"}).addCase(te.pending,e=>{e.action.loading="pending"}).addCase(te.fulfilled,e=>{e.action.loading="idle"}).addCase(te.rejected,e=>{e.action.loading="idle"})}}),hi=t=>t.fileIntegrity.action,Li=t=>t.fileIntegrity.list,Nr={slice:Tt,actions:{deleteQuarantine:te,fetchFileIntegrityList:Z,releaseQuarantine:ee,...Tt.actions},selectors:{selectFileIntegrityAction:hi,selectFileIntegrityList:Li}},_r=t=>t?Object.keys(t).filter(e=>t[e]):[],ei=d.createSlice({name:"hooks",initialState:{},reducers:{initHooks:(t,{payload:e})=>e}}),Fr=t=>t.hooks,Pr=(t,e)=>t.hooks[e],Wr=(t,e)=>!!t.hooks[e]?.hasLicense,Ur={slice:ei,actions:ei.actions,selectors:{selectHooks:Fr,selectHook:Pr,hasHookLicense:Wr},utils:{buildDrivesArrayFromObject:_r}},jt=t=>{const e=t.urlToJland;if(!e)return;const i=/(https:\/\/[^/]+)\/.*/g.exec(e);if(i)return i[1]},Nt=(t,e,i)=>`${i}/map/${e}/${t.uri}`,F=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(f=>{const m=f.result.data.map(u=>{const A={...u};return A.urlToJland=Nt(u,r,t),A});n(m)}).catch(f=>{f.error&&s(f),s({error:1,errorMsg:"Error retrieving maps"})})})}),P=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=jt(t);return n?await new Promise((s,l)=>{r.admin.license.unAssignLicense(t.uri).then(c=>{c.result&&(a(P()),a(F({jlandUrlBase:n,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:"Error unassign license"})})}):!1}),Ue=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(F({jlandUrlBase:n,retrieveAllMaps:e})),a(P())}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:c.errorMsg+""})})}):!1}),ie=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(P()),a(F({jlandUrlBase:r,retrieveAllMaps:e}))),s(c.result)}).catch(c=>{if(c.error){l(c);return}l({error:1,errorMsg:"Error assign license"})})})}),ti=d.createSlice({name:"jLandMapList",initialState:{maps:[],availableLicenses:{},loading:"idle",loadingAvailableLicenses:"idle",loadingLicenseOperation:{},loadingMapDeletion:"idle"},reducers:{},extraReducers:t=>{t.addCase(F.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(F.fulfilled,(e,i)=>{e.loading==="pending"&&(e.loading="idle",e.maps=i.payload)}).addCase(F.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(P.pending,e=>{e.loadingAvailableLicenses==="idle"&&(e.loadingAvailableLicenses="pending")}).addCase(P.fulfilled,(e,i)=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle",e.availableLicenses=i.payload)}).addCase(P.rejected,e=>{e.loadingAvailableLicenses==="pending"&&(e.loadingAvailableLicenses="idle")}).addCase(ie.pending,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]??="pending"}).addCase(ie.fulfilled,(e,i)=>{e.loadingLicenseOperation[i.meta.arg.map.id]==="pending"&&(e.loadingLicenseOperation[i.meta.arg.map.id]=void 0)}).addCase(ie.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(Ue.pending,e=>{e.loadingMapDeletion="pending"}).addCase(Ue.fulfilled,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")}).addCase(Ue.rejected,e=>{e.loadingMapDeletion==="pending"&&(e.loadingMapDeletion="idle")})}}),Br={title:"",type:"",flavor:"",url:"",audience:[],illustration:"",assignLicense:!1},ii={map:{...Br},loading:"idle",status:void 0,msg:void 0},Be=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,f)=>(l.uri&&(s+=l.uri,c<f.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 f=c.result[0]?{...c.result[0],urlToJland:void 0}:void 0;if(t.assignLicense&&f!==void 0){const y=await n.network.getHostname();f.urlToJland=Nt(f,y,e),a(ie({map:f,retrieveAllMaps:!1}))}s(c.result)}).catch(()=>{l({error:1,errorMsg:"Error assign license"})})})}),Et=d.createSlice({name:"mapCreate",initialState:ii,reducers:{setMap:(t,e)=>{t.map=e.payload},resetCreateMapState:()=>ii},extraReducers:t=>{t.addCase(Be.pending,e=>{e.loading="pending"}).addCase(Be.fulfilled,e=>{e.loading="idle",e.status="success"}).addCase(Be.rejected,(e,i)=>{e.msg=i.error.message??void 0,e.status="error",e.loading="idle"})}}),qr=function(e){return e.jland.jLandMapList.maps},$r=function(e){return e.jland.jLandMapList.availableLicenses},Vr=function(e){return e.jland.mapCreate},Hr=d.combineReducers({[ti.name]:ti.reducer,[Et.name]:Et.reducer}),Gr={name:"jland",reducer:Hr},Xr={slice:Gr,actions:{...Et.actions,assignLicense:ie,unassignLicense:We,deleteJlandMap:Ue,fetchJLandMaps:F,fetchJLandAvailableLicenses:P,createMap:Be},selectors:{selectJLandMaps:qr,selectJLandAvailableLicenses:$r,selectMapCreate:Vr},utils:{buildUrlToJland:Nt}},Jr={loading:"idle",pads:[],query:"",page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0},wi=d.createSlice({name:"magicPad",initialState:Jr,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(ae.pending,e=>{e.loading==="idle"&&(e.loading="pending")}).addCase(ae.fulfilled,(e,i)=>(e.loading=="pending"&&(e.loading="idle"),e.pads=i.payload.data,e.nbResults=i.payload.cnt,e)).addCase(ae.rejected,e=>{e.loading=="pending"&&(e.loading="idle")})}}),ae=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}]:[]],f=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:f,filters:c},{format:"raw-view"})).result}catch(n){return a(g.actions.error({label:S(n)})),i({error:1,errorMsg:"Cannot fetch pads"})}}),Kr=t=>t.magicPad,Yr={slice:wi,actions:{fetchPads:ae},selectors:{selectMagicPad:Kr}},Ct={typeMediaLibraryFolder:"mediaLibraryFolder",typeMediaLibraryFile:"mediaLibraryFile"},Qr=18,zr=12,Zr=18,en={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}},_t=d.createSlice({name:"mediaLibrary",initialState:en,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(re.pending,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="pending":e.folders.loading="pending"}).addCase(re.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(re.rejected,(e,i)=>{(i?.meta?.arg?.noLimit??!1)&&e.foldersAll?e.foldersAll.loading="idle":e.folders.loading="idle"}).addCase(ne.pending,(e,i)=>{i.meta.arg.page==1&&(e.folderFiles.list=[]),e.folderFiles.loading="pending"}).addCase(ne.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(ne.rejected,e=>{e.folderFiles.loading="idle"}).addCase(se.pending,e=>{e.unclassifiedFiles.loading="pending"}).addCase(se.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(se.rejected,e=>{e.unclassifiedFiles.loading="idle"}).addCase(oe.fulfilled,(e,i)=>{e.loading="idle",e.mediaLibraryAccess=i.payload?.result??!1}).addCase(oe.rejected,e=>{e.loading="idle",e.mediaLibraryAccess=!1}).addCase(oe.pending,e=>{e.loading="pending",e.mediaLibraryAccess=!1}).addCase(ce.fulfilled,(e,i)=>{e.loading="idle",e.stats={...i.payload?.result}}).addCase(ce.rejected,e=>{e.loading="idle",e.stats=null}).addCase(ce.pending,e=>{e.loading="pending"}).addCase(le.fulfilled,(e,i)=>{e.foldersStats={loading:!1,pager:i.payload?.result}}).addCase(le.rejected,e=>{e.foldersStats={loading:!1,pager:null}}).addCase(le.pending,e=>{e.foldersStats.loading=!0}).addCase(de.fulfilled,(e,i)=>{e.filesStats={loading:!1,pager:i.payload?.result}}).addCase(de.rejected,e=>{e.filesStats={loading:!1,pager:null}}).addCase(de.pending,e=>{e.filesStats.loading=!0})}}),re=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryFolders",async({page:t=1,noLimit:e=!1,query:i},{extra:a,rejectWithValue:r,dispatch:n,getState:s})=>{const l={type:Ct.typeMediaLibraryFolder,page:t,orders:[{name:"title",sort:"ASC"}]};e||(l.limit=zr);try{const c=s().mediaLibrary;return l.query=i??c.query,await a.jApi.article.list(l,{format:"raw-list"})}catch(c){return n(g.actions.error({label:S(c)})),r({error:1,errorMsg:"Cannot retrieve folders"})}}),ne=d.createAsyncThunk("MediaLibrary/fetchFolderFiles",async({folderId:t,page:e},{extra:i,rejectWithValue:a,dispatch:r})=>{const n={type:Ct.typeMediaLibraryFile,page:e,limit:Zr,filters:[{name:"mediaLibraryFolderOrientedLinks",value:{targetId:t,targetType:Ct.typeMediaLibraryFolder}}],format:"raw-list",orders:[{name:"title",sort:"ASC"}]};try{return await i.jApi.article.list(n)}catch(s){return r(g.actions.error({label:S(s)})),a({error:1,errorMsg:`Cannot retrieve files for folder ${t}`})}}),se=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:Qr,query:l})}catch(s){return r(g.actions.error({label:S(s)})),a({error:1,errorMsg:"Cannot retrieve UnclassifiedFiles"})}}),oe=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryConfig",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.mediaLibrary.getAccess()}catch(r){return a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot get MediaLibrary Config"})}}),le=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(g.actions.error({label:S(s)})),r({error:1,errorMsg:"Cannot get MediaLibrary folders stats"})}}),de=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(g.actions.error({label:S(s)})),r({error:1,errorMsg:"Cannot get MediaLibrary files stats"})}}),ce=d.createAsyncThunk("MediaLibrary/fetchMediaLibraryStats",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{try{return await e.jApi.mediaLibrary.getStats()}catch(r){return a(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Cannot get MediaLibrary stats"})}}),tn=t=>t.mediaLibrary,an=t=>t.mediaLibrary.stats,rn=t=>t.mediaLibrary.foldersStats,nn=t=>t.mediaLibrary.filesStats,sn=t=>t.mediaLibrary.folders,on=t=>t.mediaLibrary.foldersAll,ln=t=>t.mediaLibrary.folderFiles,dn=t=>t.mediaLibrary.unclassifiedFiles,cn=_t.reducer,un={slice:_t,actions:{fetchMediaLibraryFolders:re,fetchFolderFiles:ne,fetchMediaLibraryUnclassifiedFiles:se,fetchMediaLibraryConfig:oe,fetchMediaLibraryStats:ce,fetchMediaLibraryFilesStats:de,fetchMediaLibraryFoldersStats:le},selectors:{selectMediaLibrary:tn,selectMediaLibraryStats:an,selectMediaLibraryFoldersStats:rn,selectMediaLibraryFilesStats:nn,selectFolders:sn,selectFolderAll:on,selectFolderFiles:ln,selectUnclassifiedFiles:dn}},V=d.createEntityAdapter({selectId:t=>t.type,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),pn=(t,e)=>{const i={from:"imagestatic",size:e??"fitx600",uri:`icons/${t?.icon??"article"}-white`};return E.formatImgUrl(i)},gn=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:V.getInitialState(),reducers:{addOne:V.addOne,addMany:V.addMany,setAll:V.setAll}}),fn=V.getSelectors(t=>t.entities.models),mn={getModelIconSrc:pn,getModelFontAwesomeIcon:gn},yn=(t,e)=>e.map(i=>t.entities.models.entities[i]).filter(i=>!!i),Ii={slice:ai,actions:{...ai.actions},utils:mn,selectors:{...fn,selectByIds:yn}},An={},bt=d.createSlice({name:"statics",initialState:An,reducers:{initNetworkStatics:(t,{payload:e})=>e}}),Sn=d.combineReducers({[bt.name]:bt.reducer}),Tn={name:"network",reducer:Sn},En=t=>t.network.statics,Cn=t=>t.network.statics.networkPublic,bn=t=>t.network.statics.networkMe,hn={slice:Tn,actions:{...bt.actions},selectors:{selectNetworkStatics:En,selectNetworkPublic:Cn,selectNetworkMe:bn}},Ln={userAccountStatus:0,sendAlert:0},vi=d.createSlice({name:"config",initialState:Ln,reducers:{initPlatformConfig:(t,{payload:e})=>e}}),wn=d.combineReducers({config:vi.reducer}),In={name:"platform",reducer:wn},vn=t=>t.platform.config,On=t=>t.platform.config.userHighlightFields,kn=t=>t.platform.config.userAccountStatus,Rn=t=>t.platform.config.urlBase,Dn={slice:In,actions:{...vi.actions},selectors:{selectPlatformConfig:vn,selectUserHighlightFields:On,selectUserAccountStatus:kn,selectUrlBase:Rn}},Oi={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}],f=e!==s.wedoc.query?1:t;return await n.wedoc.getFiles({...Oi,filters:l,query:e,orders:c,page:f,limit:12})}),$e=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({...Oi,filters:n,limit:3})}),Mn={entities:[],nbEntities:0,entitiesRecent:[],tab:"my-documents",loading:"idle",loadingRecent:"idle",query:"",page:1},xn=d.createSlice({name:"wedoc",initialState:Mn,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($e.pending,e=>{e.loadingRecent="pending"}).addCase($e.fulfilled,(e,i)=>{e.loadingRecent="idle",e.entitiesRecent=i.payload.result.data}).addCase($e.rejected,e=>{e.loadingRecent="idle"})}}),jn={slice:xn,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:$e}},Ve=d.createAsyncThunk("/fetchRequest",async({uri:t,idUser:e},{extra:i})=>await i.jApi.object.getAccessRequest(t,e)),Nn={entities:[],nbEntities:0,loading:"idle"},_n=d.createSlice({name:"share",initialState:Nn,reducers:{remove:(t,e)=>{t.entities=[...t.entities.filter(i=>i.id!==e.payload)]}},extraReducers:t=>{t.addCase(Ve.pending,e=>{e.loading="pending"}).addCase(Ve.fulfilled,(e,i)=>{e.loading="idle",e.entities=i.payload.result}).addCase(Ve.rejected,e=>{e.loading="idle"})}}),Fn={slice:_n,selectors:{requests:t=>({loading:t.share.loading,entities:t.share.entities})},actions:{fetchRequest:Ve}},Pn={messages:[],status:"idle",tasks:void 0,jobUid:void 0},rt=d.createSlice({name:"teamWorkAiTasks",initialState:Pn,reducers:{setMessageAndStatus:(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)}},extraReducers:t=>{t.addCase(ht.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(ht.rejected,(e,i)=>{e.status="error",e.messages=[i.payload?.errorMsg??"GLOBAL_Technical_Error"]})}}),ht=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(g.actions.error({label:S(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),Wn=function(t){const e=function(i){i.namespace==="TEAMWORK"&&i.function==="updateTodo"&&(t(rt.actions.setMessageAndStatus({status:i.state,messages:i.messages,jobUid:i.jobUid})),i.state==="success"&&t(ki.actions.setTasks({tasks:i.tasks,jobUid:i.jobUid})))};return[{namespace:"TEAMWORK",function:"updateTodo",handler:e},{namespace:"TEAMWORK",function:"updateNotifSummary",handler:e}]},Un=t=>t.teamWork.teamWorkAiTasks,Bn=d.combineReducers({[rt.name]:rt.reducer}),Ft={name:"teamWork",reducer:Bn},qn=Ft.reducer,ki={slice:Ft,actions:{...rt.actions,startToDoCreation:ht},selectors:{selectToDoState:Un},getTeamWorkRTHandlers:Wn},$n={channels:void 0,loading:"idle",loadingChannelDeletion:"idle"},ue=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"})})})}),He=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(ue())}).catch(s=>{n({error:s.error??1,errorMsg:s.errorMsg??"Error deleting channel"})})})}),ri=d.createSlice({name:"channelsList",initialState:{...$n},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",e.channels=i.payload)}).addCase(ue.rejected,e=>{e.loading==="pending"&&(e.loading="idle")}).addCase(He.pending,e=>{e.loadingChannelDeletion="pending"}).addCase(He.fulfilled,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")}).addCase(He.rejected,e=>{e.loadingChannelDeletion==="pending"&&(e.loadingChannelDeletion="idle")})}});function Vn(t){return t.tvChannelType==="DYNAMIC"?!!t.tvChannelBackgroundColor&&!!t.tvChannelGroupTarget:t.tvChannelNumImages!==0}const Hn=d.combineReducers({[ri.name]:ri.reducer}),Gn={name:"tvDisplay",reducer:Hn},Xn=function(e){return e.tvDisplay.channelsList},Jn={slice:Gn,actions:{fetchChannels:ue,deleteChannel:He},selectors:{selectChannelsList:Xn},utils:{isChannelConfigured:Vn}},Kn={},Lt=d.createSlice({name:"options",initialState:Kn,reducers:{initOptions:(t,{payload:e})=>e}}),Yn=d.combineReducers({[Lt.name]:Lt.reducer}),Qn={name:"tinymce",reducer:Yn},zn=t=>t.tinymce.options.common,Zn=t=>t.tinymce.options.extended,es={slice:Qn,actions:{...Lt.actions},selectors:{selectTinyMCECommonOptions:zn,selectTinyMCEExtendedOptions:Zn}},ts={id:0,mainType:"user",type:"user",uri:"user/0",title:"",_url:"",dateCreation:"",dateModified:"",level:0,active:1},wt=d.createSlice({name:"userCurrent",initialState:ts,reducers:{init:(t,{payload:e})=>e}}),is=t=>t.userCurrent,as=t=>t.level===E.UserLevel.ADMIN,rs=t=>t.id!==0,ns={slice:wt,actions:{...wt.actions},selectors:{get:is},utils:{isAdmin:as,isLogged:rs}};function Pt(){let t="";for(let e=0;e<16;e++)t+=((1+Math.random())*65536|0).toString(16).substring(1);return t}const Ri="WIDGET_Check_List",Di="WIDGET_Check_List_Description",Mi="WIDGET_Quick_Survey",xi="WIDGET_Quick_Survey_Text",ss=Object.freeze(Object.defineProperty({__proto__:null,WIDGET_CHECK_LIST_DESCRIPTION:Di,WIDGET_CHECK_LIST_LABEL:Ri,WIDGET_QUICK_SURVEY_DESCRIPTION:xi,WIDGET_QUICK_SURVEY_LABEL:Mi},Symbol.toStringTag,{value:"Module"})),os={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}},ls={files:[]},ds={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}},cs={text:"",openingType:"link",openingTypeLink:{url:"",target:"_blank"},variant:"contained",fontSize:"14",color:"#fff",backgroundColor:"#4dbf96",buttonSize:"lg",borderRadius:"4"},ni={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}},us={files:[],gap:"4",column:"3"},ps={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}},gs={},fs={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}},ms={slides:[],maxWidth:800,loop:!1,useDots:!0,startAt:0},ys={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}},As={text:""},Ss={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}},Ts={text:"",heading:"h1",backgroundColor:"transparent"},Es={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}},Cs={calEventsLimit:!1,calEventsLimitValue:10,calEventsPromptStatus:"shared"},bs={label:Ri,description:Di,name:E.WidgetsName.CheckList,img:"/img/fast-intranet/widget-check-list.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},hs={arr:[],edit:!1},Ls={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"},Is={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}},vs={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Os={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}},ks={emailsLimit:!1,emailsLimitValue:10,emailsPromptStatus:"shared"},Rs={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}},Ds={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Ms={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}},xs={extensionName:""},js={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}},Ns={url:""},_s={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}},Fs={closing:!1,limit:!1,limitValue:100},Ps={label:Mi,description:xi,name:E.WidgetsName.QuickSurvey,img:"/img/fast-intranet/widget-quick-survey.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},Ws={arr:[],open:!1,multi:!1,closing:!1,isClosed:!1,showResult:!1,isNotDisabled:!1},Us={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}},Bs={},qs={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}},$s={},Vs={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}},Hs={};function Gs(t){switch(t){default:return ni;case"widget-article-gallery":return ni;case"widget-article-attachment":return os;case"widget-presence":return _s;case"widget-article-slider":return fs;case"widget-article-text":return ys;case"widget-article-title":return Ss;case"widget-article-image":return ps;case"widget-datasource-table":return Is;case"widget-excel-datasource-table":return Rs;case"widget-article-button":return ds;case"widget-check-list":return bs;case"widget-quick-survey":return Ps;case"widget-calendar-calDav":return Es;case"widget-contact-cardDav":return Ls;case"widget-lucca-absence":return js;case"widget-emails-imap":return Os;case"widget-welcome":return Vs;case"widget-user-profil":return Us;case"widget-extension":return Ms;case"widget-color":return qs}}function Xs(t){return{title:"",level:3,widget:Js(t)}}function Js(t){return{uniqid:Pt(),name:t,content:Ks(t)}}function Ks(t){switch(t){default:case"widget-lucca-absence":return{...Ns};case"widget-article-attachment":return{...ls};case"widget-presence":return{...Fs};case"widget-datasource-table":return{...vs};case"widget-excel-datasource-table":return{...Ds};case"widget-article-slider":return{...ms};case"widget-article-gallery":return{...us};case"widget-article-button":return{...cs};case"widget-article-title":return{...Ts};case"widget-article-image":return{...gs};case"widget-article-text":return{...As};case"widget-check-list":return{...hs};case"widget-quick-survey":return{...Ws};case"widget-calendar-calDav":return{...Cs};case"widget-contact-cardDav":return{...ws};case"widget-emails-imap":return{...ks};case"widget-welcome":return{...Hs};case"widget-user-profil":return{...Bs};case"widget-extension":return{...xs};case"widget-color":return{...$s}}}const Ys={token:void 0,ids:{},layers:{},states:{},modal:void 0,editableMap:{},currentEditableIndex:-1,currentEditableWidgetId:void 0,widgetObject:{},widgetObjectRights:{},widgetAuthor:{},widgetWrapperStyle:{},widgetTitleStyle:{},widgetChipCount:{},flushedWidgets:[],rtObjectStack:[],widgetContext:{}},Qs=[E.WidgetsName.ArticleTitle,E.WidgetsName.ArticleText,E.WidgetsName.ArticleImage,E.WidgetsName.ArticleButton,E.WidgetsName.ArticleSlider,E.WidgetsName.ArticleAttachment],H=d.createSlice({name:"widgets",initialState:Ys,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:Qs.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=Pt(),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}}}),zs=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(H.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(H.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(H.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(H.actions.registerWidgetRTObject({uniqid:s.data.uniqid,object:s.data.object,fn:s.function}))}}]},Zs=t=>t.widgets.token,eo=t=>t.widgets.modal,to=t=>t.widgets.ids,io=t=>t.widgets.flushedWidgets,ao=(t,e)=>t.widgets.states[e]??void 0,ro=(t,e)=>t.widgets.ids[e]??void 0,no=(t,e)=>t.widgets.ids[e]?.level??void 0,so=(t,e)=>t.widgets.widgetObject[e]??void 0,oo=(t,e)=>{const i=t.widgets.widgetObject[e];if(i&&"uri"in i)return i.uri},lo=(t,e)=>t.widgets.widgetObjectRights[e]??void 0,co=(t,e)=>t.widgets.widgetContext[e]??void 0,uo=(t,e)=>t.widgets.widgetAuthor[e]??void 0,po=(t,e)=>t.widgets.widgetChipCount[e]??0,go=(t,e)=>t.widgets.widgetWrapperStyle[e]??{},fo=(t,e)=>t.widgets.widgetTitleStyle[e]??{},mo=(t,e)=>t.widgets.currentEditableWidgetId===e,yo=(t,e)=>t.widgets.rtObjectStack.filter(i=>i.uniqid===e),Ao=(t,e,i)=>ji.slice.actions.updateWidget({uniqid:t,content:e,override:i??!1}),ji={const:ss,factory:Xs,definition:Gs,utils:{uniqid:Pt},slice:H,getWidgetRTHandlers:zs,selectors:{isActive:mo,selectToken:Zs,selectWidgets:to,selectWidget:ro,selectWidgetState:ao,selectModal:eo,selectWidgetObject:so,selectWidgetObjectUri:oo,selectWidgetAuthor:uo,selectWidgetObjectRights:lo,selectAllWidgetRTObject:yo,selectFlushedWidgets:io,selectWidgetContext:co,selectWidgetLevel:no,selectWidgetWrapperStyle:go,selectWidgetTitleStyle:fo,selectWidgetChipCount:po}},So={editors:[]},To=d.createSlice({name:"editors",initialState:So,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}}}),Eo=t=>t.editors.editors,Co=(t,e)=>t.editors.editors.find(i=>i.uniqid===e),bo={slice:To,selectors:{selectEditors:Eo,selectEditor:Co}},j=d.createEntityAdapter({selectId:t=>`${t.targetId}-${t.type}`}),si=d.createSlice({name:"socialActions",initialState:j.getInitialState(),reducers:{addOne:j.addOne,addMany:j.addMany,setAll:j.setAll,clear:j.removeAll,updateOne:j.updateOne}}),ho=j.getSelectors(t=>t.entities.socialActions),Lo={slice:si,actions:{...si.actions},selectors:ho},fe={ALL:"1",CUSTOM:"0"},W={draft:"draft",installed:"installed",suspended:"suspended"},O={DRAFT:W.draft,INSTALLED:W.installed,SUSPENDED:W.suspended},me={SOLR:"1",NOT_SOLR:"0"},ot=["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"},p={TITLE:"TITLE",USER:"USER",PUBLISHTO:"PUBLISHTO",SENDALERTTOSUBSCRIBERS:"SENDALERTTOSUBSCRIBERS",RECEIVEACOPY:"RECEIVEACOPY",CREATIONDATE:"CREATIONDATE"},Ni={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],Io=wo,lt=new Map;lt.set(o.IMAGE,["list","filter","view"]);lt.set(o.CODEHTML,["list","filter","view"]);const N={create:{fixed:[p.TITLE],optional:[p.PUBLISHTO,p.SENDALERTTOSUBSCRIBERS,p.RECEIVEACOPY]},popup:{fixed:[p.TITLE],optional:[p.PUBLISHTO]},edit:{fixed:[p.TITLE],optional:[p.PUBLISHTO]},list:{fixed:[p.TITLE,p.USER],optional:[p.CREATIONDATE]},filter:{fixed:[p.TITLE,p.USER],optional:[p.CREATIONDATE]},view:{fixed:[p.TITLE],optional:[]}},_i=[p.TITLE,p.USER,p.CREATIONDATE,o.DESCRIPTION],Fi=[o.DESCRIPTION],Wt=Fi,vo=[p.TITLE,p.PUBLISHTO,p.SENDALERTTOSUBSCRIBERS,p.RECEIVEACOPY,p.USER,p.CREATIONDATE],Pi=[p.USER,p.TITLE],Wi=[o.CODEHTML],Ui=Pi.concat(Wi).concat(Fi);var Bi=(t=>(t.Attr="attr",t.PublishTo="publishTo",t))(Bi||{}),qi=(t=>(t.Empty="",t.FieldTagDescription="Field_Tag_Description",t.FieldTitleDescription="Field_Title_Description",t.WWWDescCOM="www.desc.com",t))(qi||{}),L=[];for(var ct=0;ct<256;++ct)L.push((ct+256).toString(16).slice(1));function Oo(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 Ee,ko=new Uint8Array(16);function Ro(){if(!Ee&&(Ee=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ee))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ee(ko)}var Do=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const oi={randomUUID:Do};function R(t,e,i){if(oi.randomUUID&&!t)return oi.randomUUID();t=t||{};var a=t.random||(t.rng||Ro)();return a[6]=a[6]&15|64,a[8]=a[8]&63|128,Oo(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 $i(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:f(),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 f(){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:p.TITLE,isFixed:!0};else if(C.ref===B.IDUSER)A[R()]={...b,type:p.USER,isFixed:!0};else if(C.ref===B.PUBLISHTO)A[R()]={...b,type:p.PUBLISHTO,isOptional:!0};else if(C.ref===B.SENDALERTTOSUBSCRIBERS)A[R()]={...b,type:p.SENDALERTTOSUBSCRIBERS,isOptional:!0};else if(C.ref===B.RECEIVEACOPY)A[R()]={...b,type:p.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 ye(t,e=!0){return{id:R(),type:t,properties:jo(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 Mo={type:"taxonomyOpen",id:1,title:"Mots-clés"},xo={type:"mpArticle",label:"Article"};function jo(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:{...Mo}}];case o.CONTENTLINK:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.CONTENTTYPE,value:{...xo}}];default:return[]}}function I(t,e){const i={...ye(t,!1),id:e.name,mandatory:e.mandatory};return i.properties[0].value=e.label,i.properties[1].value=e.description,i}function Vi(t){const e=[];return Object.keys(t).forEach(i=>{e.push({title:t[i],value:i})}),e}function No(t){const e={...ye(o.ADDFILEATTACHMENT,!1),id:t.name,mandatory:t.mandatory};return e.properties[0].value=t.label,e}function _o(t){const e={...ye(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 Fo(){return ye(o.IMAGE,!1)}function Po(t){const e=I(o.NUMBER,t);return e.properties[2].value=t.widget.params?.step==="0.01",e}function Wo(t){const e=I(o.TAGS,t);return e.properties[2].value.id=+(t.widget.params?.idTaxonomy??1),e}function Uo(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:Vi(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 Hi(t){const e=I(o.RADIO,t),i={propertyOptions:Vi(t.widget.options)};return e.properties[2].value=i,e}function Bo(t){const e=Hi(t);return e.type=o.CHECKBOX,e}function qo(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?Ii.selectors.selectById(a,i.properties[2].value.type):void 0;return i.properties[2].value.label=r?.label??"Article",i}function $o(t){return I(o.TEXT,t)}function Vo(t){return I(o.DESCRIPTION,t)}function Ho(t){return I(o.TEXTAREAHTML,t)}function Go(t){return I(o.DATE,t)}function Xo(t){return I(o.DATETIME,t)}function Jo(t){return I(o.URL,t)}function Ko(t){return I(o.EMAIL,t)}function Yo(t){return I(o.TOGGLE,t)}function Qo(t){return I(o.USERLINK,t)}function zo(t){return I(o.TEXTAREA,t)}function Zo(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"),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'?>
2
2
  <Application>
3
- ${el(e,i,a,r,t.idApp)}
3
+ ${nl(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
- ${rl(t.fields)}
20
- ${nl(t.fields)}
19
+ ${dl(t.fields)}
20
+ ${cl(t.fields)}
21
21
  </objecttype>
22
- ${ul(t)}
22
+ ${yl(t)}
23
23
  </Types>
24
- </Application>`}function el(t,e,i,a,r){return`<Manifest>
24
+ </Application>`}function nl(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
- ${tl(t.viewSolr,e.list)}
40
- ${il(e.filter)}
41
- ${al(i,a)}
39
+ ${sl(t.display,e.list)}
40
+ ${ol(e.filter)}
41
+ ${ll(i,a)}
42
42
  <Order>1</Order>
43
- </Manifest>`}function tl(t,e){if(t===me.SOLR){let i="<AppView>solr</AppView>";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(Ut(n,r)))}),i+=`<AppColumns>${a.join()}</AppColumns>`,i}return""}function il(t){const e=[];return Object.entries(t).sort((i,a)=>i[1].pos-a[1].pos).forEach(([i,a])=>{if(!a.isUsed)return;[p.TITLE,o.IMAGE].includes(a.type)||e.push(Ut(a,i))}),`<AttrExposed>${e.join()}</AttrExposed>`}function Gi(t){return t===p.TITLE?"title":t===p.SENDALERTTOSUBSCRIBERS?"sendAlert":t===p.RECEIVEACOPY?"alertAuthor":t===p.PUBLISHTO?"publishTo":t===p.USER?"idUser":t===p.CREATIONDATE?"dateCreation":t===o.DESCRIPTION?"description":t}function Ut(t,e){return _i.includes(t.type)?Gi(t.type):Bt(e).toLowerCase()}function al(t,e){return t===fe.ALL?"<checkAccess>false</checkAccess>":e.length>0?`<checkAccess>true</checkAccess>
44
- <accessRightList>${e.map(i=>i.uri).join()}</accessRightList>`:""}function rl(t){const e=t?.filter(i=>Wt.includes(i.type));return e.length===0?"":`<primaryFields>${e.map(i=>It(i)).join("")}</primaryFields>`}function nl(t){const i=t?.filter(n=>!Wt.includes(n.type))?.filter(n=>n.type!==o.IMAGE);if(i.length===0)return"";const a=i.filter(n=>n.type!==o.TAGS&&!Ui.includes(n.type)),r=i.filter(n=>n.type===o.TAGS);return`<custom>
43
+ </Manifest>`}function sl(t,e){let i="<AppView>solr</AppView>";if(t===V.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(Vt(n,r)))}),i+=`<AppColumns>${a.join()}</AppColumns>`,i}function ol(t){const e=[];return Object.entries(t).sort((i,a)=>i[1].pos-a[1].pos).forEach(([i,a])=>{if(!a.isUsed)return;[g.TITLE,o.IMAGE].includes(a.type)||e.push(Vt(a,i))}),`<AttrExposed>${e.join()}</AttrExposed>`}function Ki(t){return t===g.TITLE?"title":t===g.SENDALERTTOSUBSCRIBERS?"sendAlert":t===g.RECEIVEACOPY?"alertAuthor":t===g.PUBLISHTO?"publishTo":t===g.USER?"idUser":t===g.CREATIONDATE?"dateCreation":t===o.DESCRIPTION?"description":t}function Vt(t,e){return Fi.includes(t.type)?Ki(t.type):Ht(e).toLowerCase()}function ll(t,e){return t===ye.ALL?"<checkAccess>false</checkAccess>":e.length>0?`<checkAccess>true</checkAccess>
44
+ <accessRightList>${e.map(i=>i.uri).join()}</accessRightList>`:""}function dl(t){const e=t?.filter(i=>$t.includes(i.type));return e.length===0?"":`<primaryFields>${e.map(i=>Rt(i)).join("")}</primaryFields>`}function cl(t){const i=t?.filter(n=>!$t.includes(n.type))?.filter(n=>n.type!==o.IMAGE);if(i.length===0)return"";const a=i.filter(n=>n.type!==o.TAGS&&!$i.includes(n.type)),r=i.filter(n=>n.type===o.TAGS);return`<custom>
45
45
  ${a.length>0?`<articlemstable>
46
- ${a.map(n=>It(n)).join("")}
46
+ ${a.map(n=>Rt(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=>It(n)).join("")}
50
- </linkstable>`:""}</custom>`}function It(t){return`<field
51
- type="${dl(t.type)}"
52
- name="${Ut(t,t.id)}"
53
- sqlname="${ol(t.type,t.id)}"
54
- ${t.properties&&li(t.properties,T.LABEL)}
55
- ${t.properties&&li(t.properties,T.DESCRIPTION)}
49
+ ${r.map(n=>Rt(n)).join("")}
50
+ </linkstable>`:""}</custom>`}function Rt(t){return`<field
51
+ type="${fl(t.type)}"
52
+ name="${Vt(t,t.id)}"
53
+ sqlname="${pl(t.type,t.id)}"
54
+ ${t.properties&&pi(t.properties,T.LABEL)}
55
+ ${t.properties&&pi(t.properties,T.DESCRIPTION)}
56
56
  mandatory="${t.type===o.TOGGLE?"false":t.mandatory}"
57
- solr.type="${ll(t.type)}"
57
+ solr.type="${gl(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
- ${sl(t.type,t.properties)}
67
- </field>`}function sl(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">
66
+ ${ul(t.type,t.properties)}
67
+ </field>`}function ul(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 p.USER:return'<widget form="idUser"></widget>';case o.USERLINK:return`<widget form="uri">
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 g.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&amp;group=autocomplete&amp;function=article&amp;types=[]=${a}"></param>
110
110
  </params>
111
- </widget>`}default:return""}}function li(t,e){const i=t?.find(a=>a.propertyType===e);if(i){const a=i.value.replaceAll('"',"&quot;");return`${e.toLowerCase()}="${a}"`}return""}function ol(t,e){switch(t){case o.DESCRIPTION:return"Description";case p.USER:return"IdUser";default:return Bt(e)}}function ll(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 p.USER:return"integer";case o.SELECT:case o.RADIO:case o.TOGGLE:case o.CHECKBOX:case o.TAGS:return"string";default:return""}}function dl(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 p.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 Bt=t=>{let e="";for(let i=0;i<t.length;i++){const a=t.charAt(i);a>="0"&&a<="9"?e+=cl(Number(a)):a>="a"&&a<="z"&&(e+=a)}return e},cl=t=>{let e="",i;for(;t>0;)i=(t-1)%26,e=String.fromCharCode(97+i)+e,t=(t-i)/26|0;return e},di={create:"create",popup:"create-popup",edit:"edit",view:"display"};function ul(t){let e="";return Object.entries(t.views).forEach(([i,a])=>{if(Object.prototype.hasOwnProperty.call(di,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="${di[i]}${i==="view"&&t.manifest.displayContentLegacyTable?"Disabled":""}" mode="${i==="view"?"view":"form"}">
112
- ${r.map(([n,s])=>gl(n,s)).join("")}
113
- </display>`}}),e.length>0&&(e=`<displays type="${t.idApp}">${e}</displays>`),e}function pl(t,e){switch(e.type){case p.TITLE:return"title";case p.SENDALERTTOSUBSCRIBERS:return"sendAlert";case p.RECEIVEACOPY:return"alertAuthor";case p.PUBLISHTO:return"publishTo";case p.USER:return"idUser";case p.CREATIONDATE:return"dateCreation";case o.DESCRIPTION:return"description";default:return Bt(t)}}function gl(t,e){let i="";const a=pl(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===p.PUBLISHTO){const s=e.value.map(l=>l.uri).join(",");i+=`<input type="hidden" name="publishTo" value="${s}">`}else if(e.type===p.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=[x(s.getDate()),x(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=`${[x(s.getDate()),x(s.getMonth()+1),s.getFullYear()].join("/")} ${x(s.getHours())}:${x(s.getMinutes())}:${x(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===p.RECEIVEACOPY?e.value&&(i+='<input type="hidden" name="alertAuthor[jamespot]"><input type="hidden" ng-model="form.alertAuthor" name="alertAuthor[]" value="1">'):e.type===p.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 p.PUBLISHTO:i+="<publishTo />";break;default:i+="<attr name='"+a+"' />";break}return i}function x(t){return t<10?"0"+t:t}const Xi={"create-popup":"popup",create:"create",edit:"edit",display:"view",displayDisabled:"view"},ci=["title","alertAuthor","sendAlert"],fl=["edito"];function Ji(t,e,i){return Object.assign({},...ot.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={[p.CREATIONDATE]:()=>ta(!1),[p.TITLE]:()=>nt({fixedValue:void 0}),[p.USER]:()=>ea(!1),[p.RECEIVEACOPY]:()=>Qi({fixedValue:void 0}),[p.SENDALERTTOSUBSCRIBERS]:()=>zi({fixedValue:void 0}),[p.PUBLISHTO]:()=>Zi({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 f=[];return i.forEach((y,m)=>{const u=y.views[a],A=Object.keys(t[a]).includes(y.id),C=y.type;if(lt.get(C)?.includes(a))return;let b;if(C===o.CODEHTML){const h=y.properties?.find(k=>k.propertyType===T.RICHTEXT);h?.value&&(b=h?.value)}if(C===o.SELECT){const h=y.properties?.find(k=>k.propertyType===T.OPTIONS_EDITOR);if(A){const k=t[a][y.id],Ae=k.properties?.find(ca=>ca.propertyType===T.OPTIONS_EDITOR),la=!!h?.value?.canSelectMultiple,da=!!Ae?.value?.canSelectMultiple;la===da&&(b=k.value)}else{const Ae=!!h?.isOptionsEditorEnhanced&&h?.value.defaultSelectOption?h?.value.defaultSelectOptionValue:"";Ae&&(b=Ae)}}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{f.push({id:y.id,idx:m});const h=Object.values(t[a]).filter(k=>!k.isFixed&&!k.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]||f.forEach(y=>{const m=r[y.id];m.pos=y.idx+1,Object.keys(r).forEach(u=>{const A=r[u];A&&!Object.values(Ni).includes(u)&&u!==y.id&&A.pos>=m.pos&&A.pos++})}),{[a]:r}}))}function ml(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 yl(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(Xi).includes(l)&&Al(e,n,l,c,a,i)}),Sl(e,n,t.columns,a,i),Tl(e,n,t.attrExposed,a,i)}function Al(t,e,i,a,r,n){const s=Xi[i];if(t.views[s]={},s==="view"){const[l,c]=nt({fixedValue:void 0});t.views[s][l]=c}a.composants.forEach((l,c)=>{let f;if(l.name&&fl.includes(l.name))return;const[y,m]=bl(t,e,l,r,n);if(y===-1&&m)switch(m.ref){case"title":{if(s==="view")break;const[u,A]=nt(m);t.views[s][u]=A;break}case"alertAuthor":{const[u,A]=Qi(m);t.views[s][u]=A;break}case"sendAlert":{const[u,A]=zi(m);t.views[s][u]=A;break}case"publishTo":{const[u,A]=Zi(m);t.views[s][u]=A;break}default:console.error("fixed field info with unsupported ref ",m);break}else if(y!==-1){if(f=t.fields[y],!f?.views)throw new Error(`error converting installed app to V2: created field not found in fields array: ${y}, ${m}`);f.views[s]=!0,Yi(s,f,t,c,m)}})}function Sl(t,e,i,a,r){i&&Object.keys(i).forEach((n,s)=>{Ki(t,e,a,"list",n,s,r)})}function Tl(t,e,i,a,r){i.forEach((n,s)=>{Ki(t,e,a,"filter",n,s,r)})}function Ki(t,e,i,a,r,n,s){switch(r){case"title":{const[l,c]=nt({fixedValue:void 0});t.views[a][l]=c;break}case"iduser":case"idUser":{const[l,c]=ea();t.views[a][l]=c;break}case"datecreation":case"dateCreation":{const[l,c]=ta();t.views[a][l]=c;break}default:El(t,e,i,a,r,n,s);break}}function El(t,e,i,a,r,n,s){const l=Cl(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,Yi(a,c,t,n,void 0)}function Cl(t,e,i,a,r){const n=e.get(a);if(n!==void 0)return n;const[s,l]=vt(t,a,i,r);return e.set(s,l),l}function bl(t,e,i,a,r){if(i.name!==void 0&&i.element==="attr"){if(ci.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]=vt(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 f=JSON.parse(c);if(f?.ref.toUpperCase()in p){const A=f.ref.toUpperCase();return[-1,{...f,ref:Gi(A)}]}if(ci.includes(f?.ref))return[-1,f];const y=e.get(f?.ref);if(y!==void 0)return[y,f];const[m,u]=vt(t,f.ref,a,r);return e.set(m,u),[u,f]}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),f=JSON.parse(c),y=e.get(f?.name);if(y!==void 0)return[y,void 0];const m=_o(f),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=Fo(),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 vt(t,e,i,a){const r=hl(e,i),n=Ll(r),s=(function(){switch(n){case o.ADDFILEATTACHMENT:return No(r);case o.NUMBER:return Po(r);case o.TAGS:return Wo(r);case o.SELECT:return Uo(r);case o.RADIO:return Hi(r);case o.CHECKBOX:return Bo(r);case o.CONTENTLINK:return qo(r,a);case o.DESCRIPTION:return Vo(r);case o.TEXTAREAHTML:return Ho(r);case o.DATE:return Go(r);case o.DATETIME:return Xo(r);case o.URL:return Jo(r);case o.EMAIL:return Ko(r);case o.TOGGLE:return Yo(r);case o.USERLINK:return Qo(r);case o.TEXTAREA:return zo(r);case o.TEXT:default:return $o(r)}})(),l=t.fields.push(s)-1;return[e,l]}function hl(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 Yi(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 Ll(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 nt(t,e=!0){return["title",{type:p.TITLE,properties:[],isUsed:e,isOptional:!1,isLockedValue:!!t?.fixedValue,isFixed:!0,value:t?.fixedValue??null,pos:0}]}function Qi(t,e=!0){return["alertAuthor",{type:p.RECEIVEACOPY,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:300}]}function zi(t,e=!0){return["sendAlert",{type:p.SENDALERTTOSUBSCRIBERS,properties:[],isUsed:e,isOptional:!0,isLockedValue:t?.fixedValue!==void 0,isFixed:!1,value:t?.fixedValue??!0,pos:200}]}function Zi(t,e=!0){return["publishTo",{type:p.PUBLISHTO,properties:[],isUsed:e,isOptional:!0,isLockedValue:!!t?.fixedValue,isFixed:!1,value:t?.fixedValue??[],pos:100}]}function ea(t=!0){return["user",{type:p.USER,properties:[],isUsed:t,isOptional:!1,isLockedValue:!1,isFixed:!0,value:null,pos:1}]}function ta(t=!0){return["dateCreation",{type:p.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({},...ot.map(m=>({[m]:{}}))),l=t,c={idApp:t.idApp,status:Ot(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:[],viewSolr:t.view?me.SOLR:me.NOT_SOLR,typeLabel:n.typeLabel,articlesCount:t.articlesCount??0,displayContentLegacyTable:!!l?.typeModel?.displays?.displayDisabled},fields:[],views:s,installFor:t.accessRightObjectList?ml(t.accessRightObjectList):[],audience:t.checkAccess===!1?fe.ALL:fe.CUSTOM};yl(t,c,i),c.views=Ji(c.views,c.syncViewFieldOrder,c.fields);const f=Il(t.idApp,e);if(!f)return c;const y=ia(f);return y&&(c.inWorkVersion=y),c}function ia(t){if(!t.value)return;const e=JSON.parse(t.value);return e.studioVersion==2?{idApp:t.idApp,studioVersion:2,status:Ot(t),manifest:e.manifest,fields:e.fields,views:e.views,syncViewFieldOrder:e.syncViewFieldOrder,audience:e.audience,installFor:e.installFor}:{...$i(e),status:Ot(t),migratedFrom:1}}function Ot(t){return t.status===E.StudioApplicationStatus.installed?t.suspended?W.suspended:W.installed:W.draft}function Il(t,e){return e.find(a=>a.idApp===t&&a.status===E.StudioApplicationStatus.saved)}function vl(t,e){return!!e.find(i=>i.idApp===t&&i.status===E.StudioApplicationStatus.installed)}function aa(t,e){return t.map(a=>{try{return a.status===E.StudioApplicationStatus.installed?wl(a,t,e):vl(a.idApp,t)?void 0:ia(a)}catch(r){console.error(r);return}}).filter(a=>a!==void 0)}const Ol={currentStudioApp:null,fetchCurrentStudioAppStatus:"idle",saveCurrentStudioAppStatus:"idle",installStudioAppStatus:"idle",hasChanged:!1},Ge=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=aa([l],r())[0];return c||a(s)}catch{return a(s)}}),Xe=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(g.actions.success({label:"APPSTUDIO_AppItem_Edition_Saved"}));return}catch(f){return r(g.actions.error({label:S(f)})),i(s)}}),Je=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=Zo(l);try{await n.application.studioInstall(c),r(g.actions.success({label:"APPSTUDIO_AppItem_Installed"})),t&&t();return}catch(f){return r(g.actions.error({label:S(f)})),i(s)}}),st=d.createSlice({name:"currentStudioApp",initialState:Ol,reducers:{setCurrentApp:(t,e)=>{t.currentStudioApp=e.payload},resetCurrentApp:t=>{t.currentStudioApp=null},setHasChanged:(t,e)=>{t.hasChanged=e.payload}},extraReducers:t=>{t.addCase(Ge.pending,e=>{e.fetchCurrentStudioAppStatus==="idle"&&(e.fetchCurrentStudioAppStatus="pending")}).addCase(Ge.fulfilled,(e,i)=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle"),e.currentStudioApp=i.payload}).addCase(Ge.rejected,e=>{e.fetchCurrentStudioAppStatus==="pending"&&(e.fetchCurrentStudioAppStatus="idle")}).addCase(Xe.pending,e=>{e.saveCurrentStudioAppStatus==="idle"&&(e.saveCurrentStudioAppStatus="pending")}).addCase(Xe.fulfilled,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(Xe.rejected,e=>{e.saveCurrentStudioAppStatus==="pending"&&(e.saveCurrentStudioAppStatus="idle")}).addCase(Je.pending,e=>{e.installStudioAppStatus==="idle"&&(e.installStudioAppStatus="pending")}).addCase(Je.fulfilled,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")}).addCase(Je.rejected,e=>{e.installStudioAppStatus==="pending"&&(e.installStudioAppStatus="idle")})}});function ra(t,e,i){const a=t.studioVersion!==2?JSON.parse(JSON.stringify($i(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=O.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 kl({author:t,appName:e}){const i=R(),a=Object.assign({},...ot.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:O.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:me.SOLR,checkAccess:!1,accessRightList:"",attrExposed:[],articlesCount:0},syncViewFieldOrder:{create:!0,popup:!0,view:!0,edit:!0,list:!0,filter:!0},fields:[],views:a,audience:fe.CUSTOM,installFor:[]}}}function Ce(t,e){return t.manifest.appName>e.manifest.appName?1:-1}const Rl={loadingStudioAppsList:"idle",deleteStudioAppStatus:"idle",suspendStudioAppStatus:"idle",restartStudioAppStatus:"idle",cloneStudioAppStatus:"idle",createInWorkAppStatus:"idle",createNewStudioAppStatus:"idle"},Ke=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(),f=(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=aa(f,r());return y.forEach(async m=>{m.fields=ui(m.fields,l,t),m.inWorkVersion&&(m.inWorkVersion.fields=ui(m.inWorkVersion.fields,l,t))}),y}catch(s){throw console.error(s),a(g.actions.error({label:S(s)})),i({error:1,errorMsg:"Error retrieving applications"})}});function ui(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 Ye=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:f}=kl({appName:t,...l&&{author:l}});try{return await s.application.studioSave(c,JSON.stringify(f),"saved"),a(g.actions.success({label:"APPSTUDIO_StudioApp_Created"})),a(st.actions.setCurrentApp(f)),e&&e(),f}catch(y){throw a(g.actions.error({label:S(y)})),r({error:1,errorMsg:"Error creating application"})}}),Qe=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(g.actions.success({label:"APPSTUDIO_StudioApp_Deleted"})),s}catch(s){return r(g.actions.error({label:S(s)})),a({error:1,errorMsg:"Error deleting application"})}}),ze=d.createAsyncThunk("studio/suspendStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:a})=>{const r=e.jApi;try{await r.application.studioSuspend(t),a(g.actions.success({label:"APPSTUDIO_AppItem_Suspended"}))}catch(n){throw a(g.actions.error({label:S(n)})),i({error:1,errorMsg:"Error suspending application"})}}),Ze=d.createAsyncThunk("studio/restartStudioApp",async({idApp:t},{extra:e,rejectWithValue:i,dispatch:a})=>{const r=e.jApi;try{await r.application.studioRestart(t),a(g.actions.success({label:"APPSTUDIO_AppItem_Restarted"}))}catch(n){throw a(g.actions.error({label:S(n)})),i({error:1,errorMsg:"Error restarting application"})}}),et=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,[f,y]=ra(l,c),m=JSON.stringify(f);try{return await s.application.studioSave(y,m,"saved"),n(g.actions.success({label:"APPSTUDIO_AppItem_Cloned"})),f}catch(u){return n(g.actions.error({label:S(u)})),r({error:1,errorMsg:"Error cloning application"})}}),tt=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||![O.INSTALLED,O.SUSPENDED].includes(s.status))return a({error:1,errorMsg:"Error cloning application"});const l=i().userCurrent?.uri,[c,f]=ra(s,l,!0),y=JSON.stringify(c);try{return await n.application.studioSave(f,y,"saved"),r(g.actions.success({label:"APPSTUDIO_AppItem_CreateInWork"})),c}catch(m){return r(g.actions.error({label:S(m)})),a({error:1,errorMsg:"Error creating in work version for application"})}}),kt=d.createSlice({name:"studioAppsList",initialState:Rl,reducers:{setAppsList:(t,e)=>{t.studioAppsList=[...e.payload].sort(Ce)}},extraReducers:t=>{t.addCase(Ke.pending,e=>{e.loadingStudioAppsList==="idle"&&(e.loadingStudioAppsList="pending")}).addCase(Ke.fulfilled,(e,i)=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle"),e.studioAppsList=[...i.payload].sort(Ce)}).addCase(Ke.rejected,e=>{e.loadingStudioAppsList==="pending"&&(e.loadingStudioAppsList="idle")}).addCase(Qe.pending,e=>{e.deleteStudioAppStatus==="idle"&&(e.deleteStudioAppStatus="pending")}).addCase(Qe.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===O.INSTALLED&&(s=O.SUSPENDED),r.idApp===n&&r.status===s?r.inWorkVersion&&r.status===O.SUSPENDED?(r.inWorkVersion.status=O.DRAFT,[...a,r.inWorkVersion]):a:(r.inWorkVersion?.idApp===n&&r.inWorkVersion?.status===s&&delete r.inWorkVersion,[...a,r])},[])??[]}).addCase(Qe.rejected,e=>{e.deleteStudioAppStatus==="pending"&&(e.deleteStudioAppStatus="idle")}).addCase(ze.pending,e=>{e.suspendStudioAppStatus==="idle"&&(e.suspendStudioAppStatus="pending")}).addCase(ze.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=O.SUSPENDED),a})??[]}).addCase(ze.rejected,e=>{e.suspendStudioAppStatus==="pending"&&(e.suspendStudioAppStatus="idle")}).addCase(Ze.pending,e=>{e.restartStudioAppStatus==="idle"&&(e.restartStudioAppStatus="pending")}).addCase(Ze.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=O.INSTALLED),a})??[]}).addCase(Ze.rejected,e=>{e.restartStudioAppStatus==="pending"&&(e.restartStudioAppStatus="idle")}).addCase(et.pending,e=>{e.cloneStudioAppStatus==="idle"&&(e.cloneStudioAppStatus="pending")}).addCase(et.fulfilled,(e,i)=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(Ce)}).addCase(et.rejected,e=>{e.cloneStudioAppStatus==="pending"&&(e.cloneStudioAppStatus="idle")}).addCase(tt.pending,e=>{e.createInWorkAppStatus==="idle"&&(e.createInWorkAppStatus="pending")}).addCase(tt.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(tt.rejected,e=>{e.createInWorkAppStatus==="pending"&&(e.createInWorkAppStatus="idle")}).addCase(Ye.pending,e=>{e.createNewStudioAppStatus==="idle"&&(e.createNewStudioAppStatus="pending")}).addCase(Ye.fulfilled,(e,i)=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle"),e.studioAppsList=[...e.studioAppsList??[],i.payload].sort(Ce)}).addCase(Ye.rejected,e=>{e.createNewStudioAppStatus==="pending"&&(e.createNewStudioAppStatus="idle")})}}),Dl=d.combineReducers({[kt.name]:kt.reducer,[st.name]:st.reducer});function Ml(t){return t.studio.studioAppsList}function xl(t){return t.studio.currentStudioApp}const jl={name:"studio",reducer:Dl},Nl={slice:jl,actions:{...kt.actions,...st.actions,fetchStudioAppsList:Ke,deleteStudioApp:Qe,suspendStudioApp:ze,restartStudioApp:Ze,cloneStudioApp:et,createNewStudioApp:Ye,fetchCurrentStudioApp:Ge,saveCurrentStudioApp:Xe,installStudioApp:Je,createInWorkStudioApp:tt},selectors:{selectStudioAppsList:Ml,selectCurrentStudioApp:xl},utils:{updateViewsFromFields:Ji,generateNewFormField:ye}},pe=d.createAsyncThunk("wall/fetchWallFilters",async(t,{extra:e,rejectWithValue:i})=>{try{return(await e.jApi.wall.getFilters()).result}catch(a){return i(a)}}),Rt={filters:[],taxonomies:[],loading:"idle"},Dt=d.createSlice({name:"wall",initialState:Rt,reducers:{setFilters:(t,e)=>{t.filters=e.payload},setLoading:(t,e)=>{t.loading=e.payload},reset:()=>Rt},extraReducers:t=>{t.addCase(pe.pending,e=>{e.loading="pending"}),t.addCase(pe.fulfilled,(e,i)=>{e.loading="idle",e.filters=i.payload.filterList,e.taxonomies=i.payload.taxonomies}),t.addCase(pe.rejected,e=>{e.loading="idle"})}}),na=t=>t.wall,sa=t=>t.wall.filters,oa=t=>t.wall.taxonomies,_l={slice:Dt,actions:{...Dt.actions,fetchWallFilters:pe},selectors:{selectWall:na,selectWallFilters:sa,selectWallFiltersTaxonomies:oa}};exports.APP_STATUS_TYPE=O;exports.AUDIENCE=fe;exports.AdminLogs=Ia;exports.Animations=Wa;exports.AppColumnsDefaultTypes=_i;exports.AppFieldFormPropertyTypes=T;exports.AppFormBannedFromViews=lt;exports.AppFormFieldOnlyInView=Wi;exports.AppFormFixedList=vo;exports.AppFormItemTypes=o;exports.AppFormNoAsFieldList=Pi;exports.AppFormNonPrimaryList=Ui;exports.AppFormPrimaryListValues=Wt;exports.AppFormUniqueListCheck=Io;exports.Application=Ba;exports.Article=pa;exports.AssetReservation=Za;exports.Bookmark=pr;exports.Calendar=Ar;exports.Comment=Lr;exports.ContentReport=ir;exports.Description=qi;exports.Element=Bi;exports.ExtraAppFieldsItemName=Ni;exports.ExtraAppFieldsItemViews=p;exports.ExtraBot=Ir;exports.Faq=xr;exports.FileIntegrity=Nr;exports.FileIntegritySlice=Tt;exports.Hook=Ur;exports.MagicPad=Yr;exports.MapExtraFieldsWithView=N;exports.MediaLibrary=un;exports.Model=Ii;exports.Network=hn;exports.Platform=Dn;exports.STUDIO_VIEW=me;exports.Share=Fn;exports.SocialActions=Lo;exports.StatusType=W;exports.TVDisplay=Jn;exports.TeamWork=ki;exports.TinyMCE=es;exports.Toast=g;exports.UserCurrent=ns;exports.Wall=_l;exports.WedocApp=jn;exports.Widget=ji;exports.WidgetEditor=bo;exports.actions=pi;exports.adminLogsReducer=wa;exports.adminLogsSlice=Mt;exports.animationsReducer=Pa;exports.animationsSlice=xt;exports.contentReportSlice=mi;exports.deleteQuarantine=te;exports.extraBotSlice=St;exports.fetchExtraBotListAll=$;exports.fetchExtraBotListMines=K;exports.fetchFileIntegrityList=Z;exports.fetchFolderFiles=ne;exports.fetchMediaLibraryConfig=oe;exports.fetchMediaLibraryFilesStats=de;exports.fetchMediaLibraryFolders=re;exports.fetchMediaLibraryFoldersStats=le;exports.fetchMediaLibraryStats=ce;exports.fetchMediaLibraryUnclassifiedFiles=se;exports.fetchPads=ae;exports.fetchReports=X;exports.fetchWallFilters=pe;exports.initialState=Rt;exports.jland=Xr;exports.magicPadSlice=wi;exports.mediaLibraryReducer=cn;exports.mediaLibrarySlice=_t;exports.releaseQuarantine=ee;exports.saveExtraBot=Q;exports.selectExtraBotListAll=Ci;exports.selectExtraBotListMines=bi;exports.selectFileIntegrityAction=hi;exports.selectFileIntegrityList=Li;exports.selectWall=na;exports.selectWallFilters=sa;exports.selectWallFiltersTaxonomies=oa;exports.slice=wt;exports.studio=Nl;exports.teamWorkSlice=Ft;exports.teamworkReducer=qn;exports.toggleExtraBotActivation=Y;exports.updateListBotProperty=Ei;exports.updateStatus=J;exports.updateWidgetContent=Ao;exports.viewsList=ot;exports.wallSlice=Dt;
111
+ </widget>`}default:return""}}function pi(t,e){const i=t?.find(a=>a.propertyType===e);if(i){const a=i.value.replaceAll('"',"&quot;");return`${e.toLowerCase()}="${a}"`}return""}function pl(t,e){switch(t){case o.DESCRIPTION:return"Description";case g.USER:return"IdUser";default:return Ht(e)}}function gl(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 g.USER:return"integer";case o.SELECT:case o.RADIO:case o.TOGGLE:case o.CHECKBOX:case o.TAGS:return"string";default:return""}}function fl(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 g.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 Ht=t=>{let e="";for(let i=0;i<t.length;i++){const a=t.charAt(i);a>="0"&&a<="9"?e+=ml(Number(a)):a>="a"&&a<="z"&&(e+=a)}return e},ml=t=>{let e="",i;for(;t>0;)i=(t-1)%26,e=String.fromCharCode(97+i)+e,t=(t-i)/26|0;return e},gi={create:"create",popup:"create-popup",edit:"edit",view:"display"};function yl(t){let e="";return Object.entries(t.views).forEach(([i,a])=>{if(Object.prototype.hasOwnProperty.call(gi,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="${gi[i]}${i==="view"&&t.manifest.displayContentLegacyTable?"Disabled":""}" mode="${i==="view"?"view":"form"}">
112
+ ${r.map(([n,s])=>Sl(n,s)).join("")}
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;