jamespot-front-business 1.3.19 → 1.3.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/jamespot-front-business.cjs +4 -4
- package/dist/jamespot-front-business.js +397 -382
- package/dist/src/store/hook/hook.d.ts +12 -0
- package/dist/src/store/teamWork/teamWork.d.ts +10 -9
- package/dist/src/store/teamWork/teamWorkAiTasks.d.ts +22 -0
- package/dist/src/store/teamWork/teamWorkAiTasks.mock.d.ts +2 -0
- package/dist/src/store/teamWork/teamWorkRTHandlers.mock.d.ts +4 -2
- package/dist/src/store/teamWork/types.d.ts +7 -5
- package/dist/src/store/tinymce/tinymce.d.ts +1 -1
- package/dist/src/tests-utils/mockStore.d.ts +2 -2
- package/package.json +2 -2
- package/dist/src/store/teamWork/teamWorkToDo.d.ts +0 -20
- package/dist/src/store/teamWork/teamWorkToDo.mock.d.ts +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@reduxjs/toolkit"),E=require("jamespot-user-api"),da=function(t){return[{namespace:"JAMESPOT",function:"article-create",handler:function(i){i.namespace==="JAMESPOT"&&i.function==="article-create"&&t(i.object)}}]},ca={getArticleRTHandlers:da},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}}),ua=()=>Math.random().toString(16).slice(2),Se=({id:t=ua(),...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)},pa=be.getSelectors(t=>t.toasts),g={slice:it,actions:{...pi,...it.actions},selectors:pa},qt=t=>t.toISOString().slice(0,19).replace(/T/g," "),ga=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},fa={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:qt(ga()),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:fa,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," "),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:$t(ma()),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:ya,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," "),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:Vt(Aa()),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:Sa,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"})}}),Ta=t=>t.adminLogs.logsNavigation,Ea=t=>t.adminLogs.logsObjects,Ca=t=>t.adminLogs.logsSearch,ba=d.combineReducers({[ut.name]:ut.reducer,[pt.name]:pt.reducer,[gt.name]:gt.reducer}),Mt={name:"adminLogs",reducer:ba},ha=Mt.reducer,La={slice:Mt,actions:{...ut.actions,...pt.actions,...gt.actions,fetchLogsNavigation:he,fetchLogsObjects:Le,fetchLogsSearch:we},selectors:{selectAdminLogsNavigation:Ta,selectAdminLogsObjects:Ea,selectAdminLogsSearch:Ca}},wa={animationConfiguration:null,isActiveForCurrentUser:!1,isInitialized:!1,isToggleLoading:!1},Ht=d.createSlice({name:"animationsList",initialState:wa,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"})}}),Ia=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"})}}),va=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"})}}),Oa=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"})}}),ka={stats:[],loading:"idle"},Gt=d.createSlice({name:"animationStats",initialState:ka,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"})}}),Ra={stats:null,loading:"idle"},Xt=d.createSlice({name:"animationStatsCurrent",initialState:Ra,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"})}}),Da=t=>t.animations.animationsList.animationConfiguration,Ma=t=>t.animations.animationsList.isActiveForCurrentUser,xa=t=>t.animations.animationsList.isToggleLoading,Na=t=>t.animations.animationsList.animationConfigurationApp,ja=d.combineReducers({[Ht.name]:Ht.reducer,[Gt.name]:Gt.reducer,[Xt.name]:Xt.reducer}),xt={name:"animations",reducer:ja},_a=xt.reducer,Fa={slice:xt,actions:{saveCurrentAnimation:va,fetchCurrentAnimation:G,deleteCurrentAnimation:Ia,toggleAnimationIsActive:Ie,fetchCurrentAnimationApp:at,fetchAnimationStats:ve,fetchAnimationStatsCurrent:Oe},selectors:{selectCurrentAnimation:Da,isActiveAnimation:Ma,isToggleLoading:xa,selectAnimationConfigurationApp:Na},getAnimationsRTHandlers:Oa},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)})}}),Pa=U.getSelectors(t=>t.entities.applications),Wa={slice:Jt,actions:{fetchList:gi,...Jt.actions},selectors:Pa},Ua={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:Ua,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()),Ba={description:"",right:{manage:!1},daysOff:[],weekEnd:"0",bookingOpeningTime:"00:00",bookingClosingTime:"24:00",lastBookingSchedule:"24:00",loading:"idle"},Yt=d.createSlice({name:"configuration",initialState:Ba,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:""},qa={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:qa,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"})}}),$a=d.combineReducers({[Kt.name]:Kt.reducer,[Yt.name]:Yt.reducer,[ft.name]:ft.reducer}),Va={name:"assetReservation",reducer:$a},Ha=t=>t.assetReservation.configuration,Ga=t=>t.assetReservation.bookableAsset.entities,Xa=t=>t.assetReservation.bookableAsset.loading,Ja=t=>t.assetReservation.reservation.entities,Ka=t=>t.assetReservation.reservation.loading,Ya=t=>t.assetReservation.reservation.form,Qa={slice:Va,actions:{...ft.actions,fetchBookableAsset:ke,fetchConfiguration:Re,fetchReservation:De},selectors:{configuration:Ha,bookableAssetEntities:Ga,bookableAssetLoading:Xa,reservationEntities:Ja,reservationLoading:Ka,reservationForm:Ya}},za={loading:"idle",reports:[],page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0,pendingReports:[]},mi=d.createSlice({name:"contentReport",initialState:za,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"})}}),Za=t=>t.contentReport,er={slice:mi,actions:{fetchReports:X,updateStatus:J},selectors:{selectContentReport:Za}},tr={bookmarks:[],loading:"idle",status:void 0,isInitialized:!1,nbResults:0,add:{},move:{loading:"idle",status:void 0},delete:{}},q=d.createAsyncThunk("bookmarkList/fetchbookmarkList",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{const r={limit:999};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"})}}),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(g.actions.error({label:S(r)})),i({error:1,errorMsg:"Error deleting bookmark"})}}),ge=d.createSlice({name:"bookmarkList",initialState:tr,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(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"})})}}),ir=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}]},ar={bookmark:void 0,status:void 0,loading:"idle"},je=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:ar,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(je.pending,e=>{e.loading="pending",e.status=void 0}).addCase(je.fulfilled,e=>{e.loading="idle",e.bookmark=void 0,e.status="success"}).addCase(je.rejected,e=>{e.status="error",e.loading="idle"})}}),rr=d.combineReducers({[ge.name]:ge.reducer,[mt.name]:mt.reducer}),nr={name:"bookmark",reducer:rr},sr=t=>t.bookmark.bookmarkList,or=t=>t.bookmark.bookmarkList.isInitialized,lr=t=>t.bookmark.bookmarkEdit.bookmark,dr=(t,e)=>t.bookmark.bookmarkList.bookmarks.find(i=>i.targetId===e),cr={slice:nr,actions:{fetchBookmark:q,addBookmark:Me,moveBookmark:xe,deleteBookmark:Ne,editBookmark:je,...mt.actions,...ge.actions},selectors:{bookmarkList:sr,bookmarkListIsInitialized:or,bookmarkEditBookmark:lr,bookmarkByArticleId:dr},getRTHandlers:ir},Qt={list:[],statuses:["subscribed","unanswered"],loading:"idle",types:[],pendingStatusChanges:[]};let dt=null;const yi=(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"})}}),Ai=d.createAsyncThunk("calendarEvents/setDates",async(t,{dispatch:e})=>(yi(e,{dates:t}),!0)),Si=d.createAsyncThunk("calendarEvents/setTypes",async(t,{dispatch:e})=>(yi(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(Ai.pending,(e,i)=>{e.dates={start:i.meta.arg.start,end:i.meta.arg.end},e.loading="pending"}).addCase(Si.pending,(e,i)=>{e.types=i.meta.arg,e.loading="pending"})}}),Te=t=>["socialEvent","meeting","animatedMeeting","recurringEvent","recurringEventOccurrence"].includes(t),ur=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}]},pr=d.combineReducers({[D.name]:D.reducer}),gr={name:"calendar",reducer:pr},fr=t=>t.calendar.events,mr={slice:gr,actions:{fetchEvents:M,setDates:Ai,setTypes:Si,changeResponse:_e,...D.actions},selectors:{selectCalendarEvents:fr},getCalendarRTHandlers:ur},yr={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:yr,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)})})}}),Ar=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}))}}]},Sr=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}]:[]},Tr=d.combineReducers({[At.name]:At.reducer}),Er={name:"comment",reducer:Tr},Cr=(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},br={slice:Er,actions:{fetchComments:_,deleteComment:yt,...At.actions},selectors:{commentList:Cr},getCommentRTHandlers:Ar,getCommentsLikeRTHandlers:Sr},v={route:"extra-bot",moduleName:"ExtraBotHook",configurationType:"extraBot",listLimit:20,listDefaultPage:1},hr={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"})}}),Ti=(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:hr,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;Ti(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"})}}),Ei=t=>t.extraBot.listAll,Ci=t=>t.extraBot.listMines,Lr={slice:St,actions:{fetchExtraBotListAll:$,fetchExtraBotListMines:K,toggleExtraBotActivation:Y,saveExtraBot:Q,...St.actions},selectors:{selectExtraBotListAll:Ei,selectExtraBotListMines:Ci}},wr={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:wr,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")})}}),Ir={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:Ir,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")})}}),vr=d.combineReducers({[zt.name]:zt.reducer,[Zt.name]:Zt.reducer}),Or={name:"faq",reducer:vr},kr=t=>t.faq.config,Rr=t=>t.faq.categories,Dr={slice:Or,actions:{fetchFaqConfig:Fe,fetchFaqCategories:Pe},selectors:{selectFaqConfig:kr,selectFaqCategories:Rr}},z={listLimit:50,listDefaultPage:1},Mr={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:Mr,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"})}}),bi=t=>t.fileIntegrity.action,hi=t=>t.fileIntegrity.list,xr={slice:Tt,actions:{deleteQuarantine:te,fetchFileIntegrityList:Z,releaseQuarantine:ee,...Tt.actions},selectors:{selectFileIntegrityAction:bi,selectFileIntegrityList:hi}},Nr=t=>t?Object.keys(t).filter(e=>t[e]):[],ei=d.createSlice({name:"hooks",initialState:{},reducers:{initHooks:(t,{payload:e})=>e}}),jr=t=>t.hooks,_r=(t,e)=>t.hooks[e],Fr=(t,e)=>!!t.hooks[e]?.hasLicense,Pr={slice:ei,actions:ei.actions,selectors:{selectHooks:jr,selectHook:_r,hasHookLicense:Fr},utils:{buildDrivesArrayFromObject:Nr}},Nt=t=>{const e=t.urlToJland;if(!e)return;const i=/(https:\/\/[^/]+)\/.*/g.exec(e);if(i)return i[1]},jt=(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=jt(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=Nt(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=Nt(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=Nt(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")})}}),Wr={title:"",type:"",flavor:"",url:"",audience:[],illustration:"",assignLicense:!1},ii={map:{...Wr},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=jt(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"})}}),Ur=function(e){return e.jland.jLandMapList.maps},Br=function(e){return e.jland.jLandMapList.availableLicenses},qr=function(e){return e.jland.mapCreate},$r=d.combineReducers({[ti.name]:ti.reducer,[Et.name]:Et.reducer}),Vr={name:"jland",reducer:$r},Hr={slice:Vr,actions:{...Et.actions,assignLicense:ie,unassignLicense:We,deleteJlandMap:Ue,fetchJLandMaps:F,fetchJLandAvailableLicenses:P,createMap:Be},selectors:{selectJLandMaps:Ur,selectJLandAvailableLicenses:Br,selectMapCreate:qr},utils:{buildUrlToJland:jt}},Gr={loading:"idle",pads:[],query:"",page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0},Li=d.createSlice({name:"magicPad",initialState:Gr,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"})}}),Xr=t=>t.magicPad,Jr={slice:Li,actions:{fetchPads:ae},selectors:{selectMagicPad:Xr}},Ct={typeMediaLibraryFolder:"mediaLibraryFolder",typeMediaLibraryFile:"mediaLibraryFile"},Kr=18,Yr=12,Qr=18,zr={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:zr,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=Yr);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:Qr,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:Kr,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"})}}),Zr=t=>t.mediaLibrary,en=t=>t.mediaLibrary.stats,tn=t=>t.mediaLibrary.foldersStats,an=t=>t.mediaLibrary.filesStats,rn=t=>t.mediaLibrary.folders,nn=t=>t.mediaLibrary.foldersAll,sn=t=>t.mediaLibrary.folderFiles,on=t=>t.mediaLibrary.unclassifiedFiles,ln=_t.reducer,dn={slice:_t,actions:{fetchMediaLibraryFolders:re,fetchFolderFiles:ne,fetchMediaLibraryUnclassifiedFiles:se,fetchMediaLibraryConfig:oe,fetchMediaLibraryStats:ce,fetchMediaLibraryFilesStats:de,fetchMediaLibraryFoldersStats:le},selectors:{selectMediaLibrary:Zr,selectMediaLibraryStats:en,selectMediaLibraryFoldersStats:tn,selectMediaLibraryFilesStats:an,selectFolders:rn,selectFolderAll:nn,selectFolderFiles:sn,selectUnclassifiedFiles:on}},V=d.createEntityAdapter({selectId:t=>t.type,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),cn=(t,e)=>{const i={from:"imagestatic",size:e??"fitx600",uri:`icons/${t?.icon??"article"}-white`};return E.formatImgUrl(i)},un=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}}),pn=V.getSelectors(t=>t.entities.models),gn={getModelIconSrc:cn,getModelFontAwesomeIcon:un},fn=(t,e)=>e.map(i=>t.entities.models.entities[i]).filter(i=>!!i),wi={slice:ai,actions:{...ai.actions},utils:gn,selectors:{...pn,selectByIds:fn}},mn={},bt=d.createSlice({name:"statics",initialState:mn,reducers:{initNetworkStatics:(t,{payload:e})=>e}}),yn=d.combineReducers({[bt.name]:bt.reducer}),An={name:"network",reducer:yn},Sn=t=>t.network.statics,Tn=t=>t.network.statics.networkPublic,En=t=>t.network.statics.networkMe,Cn={slice:An,actions:{...bt.actions},selectors:{selectNetworkStatics:Sn,selectNetworkPublic:Tn,selectNetworkMe:En}},bn={userAccountStatus:0,sendAlert:0},Ii=d.createSlice({name:"config",initialState:bn,reducers:{initPlatformConfig:(t,{payload:e})=>e}}),hn=d.combineReducers({config:Ii.reducer}),Ln={name:"platform",reducer:hn},wn=t=>t.platform.config,In=t=>t.platform.config.userHighlightFields,vn=t=>t.platform.config.userAccountStatus,On=t=>t.platform.config.urlBase,kn={slice:Ln,actions:{...Ii.actions},selectors:{selectPlatformConfig:wn,selectUserHighlightFields:In,selectUserAccountStatus:vn,selectUrlBase:On}},vi={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({...vi,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({...vi,filters:n,limit:3})}),Rn={entities:[],nbEntities:0,entitiesRecent:[],tab:"my-documents",loading:"idle",loadingRecent:"idle",query:"",page:1},Dn=d.createSlice({name:"wedoc",initialState:Rn,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"})}}),Mn={slice:Dn,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)),xn={entities:[],nbEntities:0,loading:"idle"},Nn=d.createSlice({name:"share",initialState:xn,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"})}}),jn={slice:Nn,selectors:{requests:t=>({loading:t.share.loading,entities:t.share.entities})},actions:{fetchRequest:Ve}},_n={message:void 0,status:"idle"},rt=d.createSlice({name:"teamWorkToDo",initialState:_n,reducers:{setMessageAndStatus:(t,e)=>{const{status:i,message:a}=e.payload;t.status=i,t.message=a}},extraReducers:t=>{t.addCase(ht.fulfilled,(e,i)=>{i.payload?e.status="processing":e.status="error"}),t.addCase(ht.rejected,(e,i)=>{e.status="error",e.message=i.payload?.errorMsg??"GLOBAL_Technical_Error"})}}),ht=d.createAsyncThunk("teamWork/startToDoCreation",async(t,{extra:e,rejectWithValue:i,dispatch:a,signal:r})=>{try{return(await e.jApi.teamWork.aiGeneratedToDo({signal:r})).result}catch(n){return w(n)||a(g.actions.error({label:S(n)})),i({error:1,errorMsg:"APP_TEAMWORK_ToDo_Not_Sent"})}}),Fn=function(t){return[{namespace:"TEAMWORK",function:"update",handler:function(i){i.namespace==="TEAMWORK"&&i.function==="update"&&t(rt.actions.setMessageAndStatus({status:i.state,message:i.msg}))}}]},Pn=t=>t.teamWork.teamWorkToDo,Wn=d.combineReducers({[rt.name]:rt.reducer}),Ft={name:"teamWork",reducer:Wn},Un=Ft.reducer,Bn={slice:Ft,actions:{...rt.actions,startToDoCreation:ht},selectors:{selectToDoState:Pn},getTeamWorkRTHandlers:Fn},qn={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:{...qn},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 $n(t){return t.tvChannelType==="DYNAMIC"?!!t.tvChannelBackgroundColor&&!!t.tvChannelGroupTarget:t.tvChannelNumImages!==0}const Vn=d.combineReducers({[ri.name]:ri.reducer}),Hn={name:"tvDisplay",reducer:Vn},Gn=function(e){return e.tvDisplay.channelsList},Xn={slice:Hn,actions:{fetchChannels:ue,deleteChannel:He},selectors:{selectChannelsList:Gn},utils:{isChannelConfigured:$n}},Jn={},Lt=d.createSlice({name:"options",initialState:Jn,reducers:{initOptions:(t,{payload:e})=>e}}),Kn=d.combineReducers({[Lt.name]:Lt.reducer}),Yn={name:"tinymce",reducer:Kn},Qn=t=>t.tinymce.options.common,zn=t=>t.tinymce.options.extended,Zn={slice:Yn,actions:{...Lt.actions},selectors:{selectTinyMCECommonOptions:Qn,selectTinyMCEExtendedOptions:zn}},es={id:0,mainType:"user",type:"user",uri:"user/0",title:"",_url:"",dateCreation:"",dateModified:"",level:0,active:1},wt=d.createSlice({name:"userCurrent",initialState:es,reducers:{init:(t,{payload:e})=>e}}),ts=t=>t.userCurrent,is=t=>t.level===E.UserLevel.ADMIN,as=t=>t.id!==0,rs={slice:wt,actions:{...wt.actions},selectors:{get:ts},utils:{isAdmin:is,isLogged:as}};function Pt(){let t="";for(let e=0;e<16;e++)t+=((1+Math.random())*65536|0).toString(16).substring(1);return t}const Oi="WIDGET_Check_List",ki="WIDGET_Check_List_Description",Ri="WIDGET_Quick_Survey",Di="WIDGET_Quick_Survey_Text",ns=Object.freeze(Object.defineProperty({__proto__:null,WIDGET_CHECK_LIST_DESCRIPTION:ki,WIDGET_CHECK_LIST_LABEL:Oi,WIDGET_QUICK_SURVEY_DESCRIPTION:Di,WIDGET_QUICK_SURVEY_LABEL:Ri},Symbol.toStringTag,{value:"Module"})),ss={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}},os={files:[]},ls={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}},ds={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}},cs={files:[],gap:"4",column:"3"},us={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}},ps={},gs={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}},fs={slides:[],maxWidth:800,loop:!1,useDots:!0,startAt:0},ms={label:"WIDGET_Text",description:"WIDGET_Text_Description",name:E.WidgetsName.ArticleText,img:"/img/article-widget-thumbnail/widget_thumbnail_text.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},ys={text:""},As={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}},Ss={text:"",heading:"h1",backgroundColor:"transparent"},Ts={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}},Es={calEventsLimit:!1,calEventsLimitValue:10,calEventsPromptStatus:"shared"},Cs={label:Oi,description:ki,name:E.WidgetsName.CheckList,img:"/img/fast-intranet/widget-check-list.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},bs={arr:[],edit:!1},hs={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}},Ls={contactLimit:!1,contactLimitValue:10,contactPromptStatus:"shared"},ws={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}},Is={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},vs={label:"WIDGET_Email_IMAP",description:"WIDGET_Email_IMAP_Text",name:E.WidgetsName.EmailsImap,img:"/img/fast-intranet/widget-emails-imap.png",available:!0,displayLevel:[1,2,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Os={emailsLimit:!1,emailsLimitValue:10,emailsPromptStatus:"shared"},ks={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}},Rs={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Ds={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}},Ms={extensionName:""},xs={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:""},js={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}},_s={closing:!1,limit:!1,limitValue:100},Fs={label:Ri,description:Di,name:E.WidgetsName.QuickSurvey,img:"/img/fast-intranet/widget-quick-survey.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},Ps={arr:[],open:!1,multi:!1,closing:!1,isClosed:!1,showResult:!1,isNotDisabled:!1},Ws={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}},Us={},Bs={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}},qs={},$s={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}},Vs={};function Hs(t){switch(t){default:return ni;case"widget-article-gallery":return ni;case"widget-article-attachment":return ss;case"widget-presence":return js;case"widget-article-slider":return gs;case"widget-article-text":return ms;case"widget-article-title":return As;case"widget-article-image":return us;case"widget-datasource-table":return ws;case"widget-excel-datasource-table":return ks;case"widget-article-button":return ls;case"widget-check-list":return Cs;case"widget-quick-survey":return Fs;case"widget-calendar-calDav":return Ts;case"widget-contact-cardDav":return hs;case"widget-lucca-absence":return xs;case"widget-emails-imap":return vs;case"widget-welcome":return $s;case"widget-user-profil":return Ws;case"widget-extension":return Ds;case"widget-color":return Bs}}function Gs(t){return{title:"",level:3,widget:Xs(t)}}function Xs(t){return{uniqid:Pt(),name:t,content:Js(t)}}function Js(t){switch(t){default:case"widget-lucca-absence":return{...Ns};case"widget-article-attachment":return{...os};case"widget-presence":return{..._s};case"widget-datasource-table":return{...Is};case"widget-excel-datasource-table":return{...Rs};case"widget-article-slider":return{...fs};case"widget-article-gallery":return{...cs};case"widget-article-button":return{...ds};case"widget-article-title":return{...Ss};case"widget-article-image":return{...ps};case"widget-article-text":return{...ys};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-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}}}const Ks={token:void 0,ids:{},layers:{},states:{},modal:void 0,editableMap:{},currentEditableIndex:-1,currentEditableWidgetId:void 0,widgetObject:{},widgetObjectRights:{},widgetAuthor:{},widgetWrapperStyle:{},widgetTitleStyle:{},widgetChipCount:{},flushedWidgets:[],rtObjectStack:[],widgetContext:{}},Ys=[E.WidgetsName.ArticleTitle,E.WidgetsName.ArticleText,E.WidgetsName.ArticleImage,E.WidgetsName.ArticleButton,E.WidgetsName.ArticleSlider,E.WidgetsName.ArticleAttachment],H=d.createSlice({name:"widgets",initialState:Ks,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:Ys.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}}}),Qs=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,Zs=t=>t.widgets.modal,eo=t=>t.widgets.ids,to=t=>t.widgets.flushedWidgets,io=(t,e)=>t.widgets.states[e]??void 0,ao=(t,e)=>t.widgets.ids[e]??void 0,ro=(t,e)=>t.widgets.ids[e]?.level??void 0,no=(t,e)=>t.widgets.widgetObject[e]??void 0,so=(t,e)=>{const i=t.widgets.widgetObject[e];if(i&&"uri"in i)return i.uri},oo=(t,e)=>t.widgets.widgetObjectRights[e]??void 0,lo=(t,e)=>t.widgets.widgetContext[e]??void 0,co=(t,e)=>t.widgets.widgetAuthor[e]??void 0,uo=(t,e)=>t.widgets.widgetChipCount[e]??0,po=(t,e)=>t.widgets.widgetWrapperStyle[e]??{},go=(t,e)=>t.widgets.widgetTitleStyle[e]??{},fo=(t,e)=>t.widgets.currentEditableWidgetId===e,mo=(t,e)=>t.widgets.rtObjectStack.filter(i=>i.uniqid===e),yo=(t,e,i)=>Mi.slice.actions.updateWidget({uniqid:t,content:e,override:i??!1}),Mi={const:ns,factory:Gs,definition:Hs,utils:{uniqid:Pt},slice:H,getWidgetRTHandlers:Qs,selectors:{isActive:fo,selectToken:zs,selectWidgets:eo,selectWidget:ao,selectWidgetState:io,selectModal:Zs,selectWidgetObject:no,selectWidgetObjectUri:so,selectWidgetAuthor:co,selectWidgetObjectRights:oo,selectAllWidgetRTObject:mo,selectFlushedWidgets:to,selectWidgetContext:lo,selectWidgetLevel:ro,selectWidgetWrapperStyle:po,selectWidgetTitleStyle:go,selectWidgetChipCount:uo}},Ao={editors:[]},So=d.createSlice({name:"editors",initialState:Ao,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}}}),To=t=>t.editors.editors,Eo=(t,e)=>t.editors.editors.find(i=>i.uniqid===e),Co={slice:So,selectors:{selectEditors:To,selectEditor:Eo}},N=d.createEntityAdapter({selectId:t=>`${t.targetId}-${t.type}`}),si=d.createSlice({name:"socialActions",initialState:N.getInitialState(),reducers:{addOne:N.addOne,addMany:N.addMany,setAll:N.setAll,clear:N.removeAll,updateOne:N.updateOne}}),bo=N.getSelectors(t=>t.entities.socialActions),ho={slice:si,actions:{...si.actions},selectors:bo},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"},xi={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"},Lo=[o.DESCRIPTION,o.IMAGE],wo=Lo,lt=new Map;lt.set(o.IMAGE,["list","filter","view"]);lt.set(o.CODEHTML,["list","filter","view"]);const j={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:[]}},Ni=[p.TITLE,p.USER,p.CREATIONDATE,o.DESCRIPTION],ji=[o.DESCRIPTION],Wt=ji,Io=[p.TITLE,p.PUBLISHTO,p.SENDALERTTOSUBSCRIBERS,p.RECEIVEACOPY,p.USER,p.CREATIONDATE],_i=[p.USER,p.TITLE],Fi=[o.CODEHTML],Pi=_i.concat(Fi).concat(ji);var Wi=(t=>(t.Attr="attr",t.PublishTo="publishTo",t))(Wi||{}),Ui=(t=>(t.Empty="",t.FieldTagDescription="Field_Tag_Description",t.FieldTitleDescription="Field_Title_Description",t.WWWDescCOM="www.desc.com",t))(Ui||{}),L=[];for(var ct=0;ct<256;++ct)L.push((ct+256).toString(16).slice(1));function vo(t,e=0){return(L[t[e+0]]+L[t[e+1]]+L[t[e+2]]+L[t[e+3]]+"-"+L[t[e+4]]+L[t[e+5]]+"-"+L[t[e+6]]+L[t[e+7]]+"-"+L[t[e+8]]+L[t[e+9]]+"-"+L[t[e+10]]+L[t[e+11]]+L[t[e+12]]+L[t[e+13]]+L[t[e+14]]+L[t[e+15]]).toLowerCase()}var Ee,Oo=new Uint8Array(16);function ko(){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(Oo)}var Ro=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const oi={randomUUID:Ro};function R(t,e,i){if(oi.randomUUID&&!t)return oi.randomUUID();t=t||{};var a=t.random||(t.rng||ko)();return a[6]=a[6]&15|64,a[8]=a[8]&63|128,vo(a)}var B=(t=>(t.TITLE="TITLE",t.IMAGE="IMAGE",t.DESCRIPTION="DESCRIPTION",t.IDUSER="IDUSER",t.PUBLISHTO="PUBLISHTO",t.SENDALERTTOSUBSCRIBERS="SENDALERTTOSUBSCRIBERS",t.RECEIVEACOPY="RECEIVEACOPY",t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.TEXTAREAHTML="TEXTAREAHTML",t.DATE="DATE",t.DATETIME="DATETIME",t.RANGE="RANGE",t.NUMBER="NUMBER",t.URL="URL",t.EMAIL="EMAIL",t.SELECT="SELECT",t.CHECKBOX="CHECKBOX",t.TOGGLE="TOGGLE",t.RADIO="RADIO",t.TAGS="TAGS",t.ADDFILEATTACHMENT="ADDFILEATTACHMENT",t.AUDIENCE="AUDIENCE",t.CODEHTML="CODEHTML",t.DATECREATION="DATECREATION",t.USERLINK="USERLINK",t.CONTENTLINK="CONTENTLINK",t))(B||{});function Bi(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:xo(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 Do={type:"taxonomyOpen",id:1,title:"Mots-clés"},Mo={type:"mpArticle",label:"Article"};function xo(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:{...Do}}];case o.CONTENTLINK:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.CONTENTTYPE,value:{...Mo}}];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 qi(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 jo(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 _o(){return ye(o.IMAGE,!1)}function Fo(t){const e=I(o.NUMBER,t);return e.properties[2].value=t.widget.params?.step==="0.01",e}function Po(t){const e=I(o.TAGS,t);return e.properties[2].value.id=+(t.widget.params?.idTaxonomy??1),e}function Wo(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:qi(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 $i(t){const e=I(o.RADIO,t),i={propertyOptions:qi(t.widget.options)};return e.properties[2].value=i,e}function Uo(t){const e=$i(t);return e.type=o.CHECKBOX,e}function Bo(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?wi.selectors.selectById(a,i.properties[2].value.type):void 0;return i.properties[2].value.label=r?.label??"Article",i}function qo(t){return I(o.TEXT,t)}function $o(t){return I(o.DESCRIPTION,t)}function Vo(t){return I(o.TEXTAREAHTML,t)}function Ho(t){return I(o.DATE,t)}function Go(t){return I(o.DATETIME,t)}function Xo(t){return I(o.URL,t)}function Jo(t){return I(o.EMAIL,t)}function Ko(t){return I(o.TOGGLE,t)}function Yo(t){return I(o.USERLINK,t)}function Qo(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"),ca=function(t){return[{namespace:"JAMESPOT",function:"article-create",handler:function(i){i.namespace==="JAMESPOT"&&i.function==="article-create"&&t(i.object)}}]},ua={getArticleRTHandlers:ca},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}}),pa=()=>Math.random().toString(16).slice(2),Se=({id:t=pa(),...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)},ga=be.getSelectors(t=>t.toasts),g={slice:it,actions:{...pi,...it.actions},selectors:ga},qt=t=>t.toISOString().slice(0,19).replace(/T/g," "),fa=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},ma={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:qt(fa()),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:ma,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," "),ya=()=>{const t=new Date;return t.setMonth(t.getMonth()-1),t},Aa={data:[],loading:"idle",page:1,filters:[{name:"dateCreation",method:"between",value:{start:$t(ya()),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:Aa,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," "),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:Vt(Sa()),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:Ta,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"})}}),Ea=t=>t.adminLogs.logsNavigation,Ca=t=>t.adminLogs.logsObjects,ba=t=>t.adminLogs.logsSearch,ha=d.combineReducers({[ut.name]:ut.reducer,[pt.name]:pt.reducer,[gt.name]:gt.reducer}),Mt={name:"adminLogs",reducer:ha},La=Mt.reducer,wa={slice:Mt,actions:{...ut.actions,...pt.actions,...gt.actions,fetchLogsNavigation:he,fetchLogsObjects:Le,fetchLogsSearch:we},selectors:{selectAdminLogsNavigation:Ea,selectAdminLogsObjects:Ca,selectAdminLogsSearch:ba}},Ia={animationConfiguration:null,isActiveForCurrentUser:!1,isInitialized:!1,isToggleLoading:!1},Ht=d.createSlice({name:"animationsList",initialState:Ia,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"})}}),va=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"})}}),Oa=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"})}}),ka=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"})}}),Ra={stats:[],loading:"idle"},Gt=d.createSlice({name:"animationStats",initialState:Ra,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"})}}),Da={stats:null,loading:"idle"},Xt=d.createSlice({name:"animationStatsCurrent",initialState:Da,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"})}}),Ma=t=>t.animations.animationsList.animationConfiguration,xa=t=>t.animations.animationsList.isActiveForCurrentUser,ja=t=>t.animations.animationsList.isToggleLoading,Na=t=>t.animations.animationsList.animationConfigurationApp,_a=d.combineReducers({[Ht.name]:Ht.reducer,[Gt.name]:Gt.reducer,[Xt.name]:Xt.reducer}),xt={name:"animations",reducer:_a},Fa=xt.reducer,Pa={slice:xt,actions:{saveCurrentAnimation:Oa,fetchCurrentAnimation:G,deleteCurrentAnimation:va,toggleAnimationIsActive:Ie,fetchCurrentAnimationApp:at,fetchAnimationStats:ve,fetchAnimationStatsCurrent:Oe},selectors:{selectCurrentAnimation:Ma,isActiveAnimation:xa,isToggleLoading:ja,selectAnimationConfigurationApp:Na},getAnimationsRTHandlers:ka},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)})}}),Wa=U.getSelectors(t=>t.entities.applications),Ua={slice:Jt,actions:{fetchList:gi,...Jt.actions},selectors:Wa},Ba={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:Ba,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()),qa={description:"",right:{manage:!1},daysOff:[],weekEnd:"0",bookingOpeningTime:"00:00",bookingClosingTime:"24:00",lastBookingSchedule:"24:00",loading:"idle"},Yt=d.createSlice({name:"configuration",initialState:qa,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:""},$a={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:$a,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"})}}),Va=d.combineReducers({[Kt.name]:Kt.reducer,[Yt.name]:Yt.reducer,[ft.name]:ft.reducer}),Ha={name:"assetReservation",reducer:Va},Ga=t=>t.assetReservation.configuration,Xa=t=>t.assetReservation.bookableAsset.entities,Ja=t=>t.assetReservation.bookableAsset.loading,Ka=t=>t.assetReservation.reservation.entities,Ya=t=>t.assetReservation.reservation.loading,Qa=t=>t.assetReservation.reservation.form,za={slice:Ha,actions:{...ft.actions,fetchBookableAsset:ke,fetchConfiguration:Re,fetchReservation:De},selectors:{configuration:Ga,bookableAssetEntities:Xa,bookableAssetLoading:Ja,reservationEntities:Ka,reservationLoading:Ya,reservationForm:Qa}},Za={loading:"idle",reports:[],page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0,pendingReports:[]},mi=d.createSlice({name:"contentReport",initialState:Za,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"})}}),er=t=>t.contentReport,tr={slice:mi,actions:{fetchReports:X,updateStatus:J},selectors:{selectContentReport:er}},ir={bookmarks:[],loading:"idle",status:void 0,isInitialized:!1,nbResults:0,add:{},move:{loading:"idle",status:void 0},delete:{}},q=d.createAsyncThunk("bookmarkList/fetchbookmarkList",async(t,{extra:e,rejectWithValue:i,dispatch:a})=>{const r={limit:999};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:ir,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"})})}}),ar=function(t){const e=function(n,s){E.jEnsure.objectIsType("bookmarkLink",n.object)?t(s(n.object)):t(q())},i=function(){t(q())},a=function(n){(n.namespace==="BOOKMARKS"||n.namespace==="CUSTOM-ACTION")&&n.function==="add"&&e(n,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}]},rr={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:rr,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"})}}),nr=d.combineReducers({[ge.name]:ge.reducer,[mt.name]:mt.reducer}),sr={name:"bookmark",reducer:nr},or=t=>t.bookmark.bookmarkList,lr=t=>t.bookmark.bookmarkList.isInitialized,dr=t=>t.bookmark.bookmarkEdit.bookmark,cr=(t,e)=>t.bookmark.bookmarkList.bookmarks.find(i=>i.targetId===e),ur={slice:sr,actions:{fetchBookmark:q,addBookmark:Me,moveBookmark:xe,deleteBookmark:je,editBookmark:Ne,...mt.actions,...ge.actions},selectors:{bookmarkList:or,bookmarkListIsInitialized:lr,bookmarkEditBookmark:dr,bookmarkByArticleId:cr},getRTHandlers:ar},Qt={list:[],statuses:["subscribed","unanswered"],loading:"idle",types:[],pendingStatusChanges:[]};let dt=null;const yi=(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"})}}),Ai=d.createAsyncThunk("calendarEvents/setDates",async(t,{dispatch:e})=>(yi(e,{dates:t}),!0)),Si=d.createAsyncThunk("calendarEvents/setTypes",async(t,{dispatch:e})=>(yi(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(Ai.pending,(e,i)=>{e.dates={start:i.meta.arg.start,end:i.meta.arg.end},e.loading="pending"}).addCase(Si.pending,(e,i)=>{e.types=i.meta.arg,e.loading="pending"})}}),Te=t=>["socialEvent","meeting","animatedMeeting","recurringEvent","recurringEventOccurrence"].includes(t),pr=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}]},gr=d.combineReducers({[D.name]:D.reducer}),fr={name:"calendar",reducer:gr},mr=t=>t.calendar.events,yr={slice:fr,actions:{fetchEvents:M,setDates:Ai,setTypes:Si,changeResponse:_e,...D.actions},selectors:{selectCalendarEvents:mr},getCalendarRTHandlers:pr},Ar={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:Ar,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)})})}}),Sr=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}))}}]},Tr=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}]:[]},Er=d.combineReducers({[At.name]:At.reducer}),Cr={name:"comment",reducer:Er},br=(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},hr={slice:Cr,actions:{fetchComments:_,deleteComment:yt,...At.actions},selectors:{commentList:br},getCommentRTHandlers:Sr,getCommentsLikeRTHandlers:Tr},v={route:"extra-bot",moduleName:"ExtraBotHook",configurationType:"extraBot",listLimit:20,listDefaultPage:1},Lr={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"})}}),Ti=(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:Lr,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;Ti(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"})}}),Ei=t=>t.extraBot.listAll,Ci=t=>t.extraBot.listMines,wr={slice:St,actions:{fetchExtraBotListAll:$,fetchExtraBotListMines:K,toggleExtraBotActivation:Y,saveExtraBot:Q,...St.actions},selectors:{selectExtraBotListAll:Ei,selectExtraBotListMines:Ci}},Ir={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:Ir,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")})}}),vr={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:vr,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")})}}),Or=d.combineReducers({[zt.name]:zt.reducer,[Zt.name]:Zt.reducer}),kr={name:"faq",reducer:Or},Rr=t=>t.faq.config,Dr=t=>t.faq.categories,Mr={slice:kr,actions:{fetchFaqConfig:Fe,fetchFaqCategories:Pe},selectors:{selectFaqConfig:Rr,selectFaqCategories:Dr}},z={listLimit:50,listDefaultPage:1},xr={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:xr,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"})}}),bi=t=>t.fileIntegrity.action,hi=t=>t.fileIntegrity.list,jr={slice:Tt,actions:{deleteQuarantine:te,fetchFileIntegrityList:Z,releaseQuarantine:ee,...Tt.actions},selectors:{selectFileIntegrityAction:bi,selectFileIntegrityList:hi}},Nr=t=>t?Object.keys(t).filter(e=>t[e]):[],ei=d.createSlice({name:"hooks",initialState:{},reducers:{initHooks:(t,{payload:e})=>e}}),_r=t=>t.hooks,Fr=(t,e)=>t.hooks[e],Pr=(t,e)=>!!t.hooks[e]?.hasLicense,Wr={slice:ei,actions:ei.actions,selectors:{selectHooks:_r,selectHook:Fr,hasHookLicense:Pr},utils:{buildDrivesArrayFromObject:Nr}},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")})}}),Ur={title:"",type:"",flavor:"",url:"",audience:[],illustration:"",assignLicense:!1},ii={map:{...Ur},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"})}}),Br=function(e){return e.jland.jLandMapList.maps},qr=function(e){return e.jland.jLandMapList.availableLicenses},$r=function(e){return e.jland.mapCreate},Vr=d.combineReducers({[ti.name]:ti.reducer,[Et.name]:Et.reducer}),Hr={name:"jland",reducer:Vr},Gr={slice:Hr,actions:{...Et.actions,assignLicense:ie,unassignLicense:We,deleteJlandMap:Ue,fetchJLandMaps:F,fetchJLandAvailableLicenses:P,createMap:Be},selectors:{selectJLandMaps:Br,selectJLandAvailableLicenses:qr,selectMapCreate:$r},utils:{buildUrlToJland:Nt}},Xr={loading:"idle",pads:[],query:"",page:1,tab:"all",filters:[],orders:[],limit:10,nbResults:0},Li=d.createSlice({name:"magicPad",initialState:Xr,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"})}}),Jr=t=>t.magicPad,Kr={slice:Li,actions:{fetchPads:ae},selectors:{selectMagicPad:Jr}},Ct={typeMediaLibraryFolder:"mediaLibraryFolder",typeMediaLibraryFile:"mediaLibraryFile"},Yr=18,Qr=12,zr=18,Zr={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:Zr,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=Qr);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:Yr,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"})}}),en=t=>t.mediaLibrary,tn=t=>t.mediaLibrary.stats,an=t=>t.mediaLibrary.foldersStats,rn=t=>t.mediaLibrary.filesStats,nn=t=>t.mediaLibrary.folders,sn=t=>t.mediaLibrary.foldersAll,on=t=>t.mediaLibrary.folderFiles,ln=t=>t.mediaLibrary.unclassifiedFiles,dn=_t.reducer,cn={slice:_t,actions:{fetchMediaLibraryFolders:re,fetchFolderFiles:ne,fetchMediaLibraryUnclassifiedFiles:se,fetchMediaLibraryConfig:oe,fetchMediaLibraryStats:ce,fetchMediaLibraryFilesStats:de,fetchMediaLibraryFoldersStats:le},selectors:{selectMediaLibrary:en,selectMediaLibraryStats:tn,selectMediaLibraryFoldersStats:an,selectMediaLibraryFilesStats:rn,selectFolders:nn,selectFolderAll:sn,selectFolderFiles:on,selectUnclassifiedFiles:ln}},V=d.createEntityAdapter({selectId:t=>t.type,sortComparer:(t,e)=>t.label.localeCompare(e.label)}),un=(t,e)=>{const i={from:"imagestatic",size:e??"fitx600",uri:`icons/${t?.icon??"article"}-white`};return E.formatImgUrl(i)},pn=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}}),gn=V.getSelectors(t=>t.entities.models),fn={getModelIconSrc:un,getModelFontAwesomeIcon:pn},mn=(t,e)=>e.map(i=>t.entities.models.entities[i]).filter(i=>!!i),wi={slice:ai,actions:{...ai.actions},utils:fn,selectors:{...gn,selectByIds:mn}},yn={},bt=d.createSlice({name:"statics",initialState:yn,reducers:{initNetworkStatics:(t,{payload:e})=>e}}),An=d.combineReducers({[bt.name]:bt.reducer}),Sn={name:"network",reducer:An},Tn=t=>t.network.statics,En=t=>t.network.statics.networkPublic,Cn=t=>t.network.statics.networkMe,bn={slice:Sn,actions:{...bt.actions},selectors:{selectNetworkStatics:Tn,selectNetworkPublic:En,selectNetworkMe:Cn}},hn={userAccountStatus:0,sendAlert:0},Ii=d.createSlice({name:"config",initialState:hn,reducers:{initPlatformConfig:(t,{payload:e})=>e}}),Ln=d.combineReducers({config:Ii.reducer}),wn={name:"platform",reducer:Ln},In=t=>t.platform.config,vn=t=>t.platform.config.userHighlightFields,On=t=>t.platform.config.userAccountStatus,kn=t=>t.platform.config.urlBase,Rn={slice:wn,actions:{...Ii.actions},selectors:{selectPlatformConfig:In,selectUserHighlightFields:vn,selectUserAccountStatus:On,selectUrlBase:kn}},vi={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({...vi,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({...vi,filters:n,limit:3})}),Dn={entities:[],nbEntities:0,entitiesRecent:[],tab:"my-documents",loading:"idle",loadingRecent:"idle",query:"",page:1},Mn=d.createSlice({name:"wedoc",initialState:Dn,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"})}}),xn={slice:Mn,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)),jn={entities:[],nbEntities:0,loading:"idle"},Nn=d.createSlice({name:"share",initialState:jn,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"})}}),_n={slice:Nn,selectors:{requests:t=>({loading:t.share.loading,entities:t.share.entities})},actions:{fetchRequest:Ve}},Fn={messages:[],status:"idle",tasks:void 0,jobUid:void 0},rt=d.createSlice({name:"teamWorkAiTasks",initialState:Fn,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"})}}),Pn=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(Oi.actions.setTasks({tasks:i.tasks,jobUid:i.jobUid})))};return[{namespace:"TEAMWORK",function:"updateTodo",handler:e},{namespace:"TEAMWORK",function:"updateNotifSummary",handler:e}]},Wn=t=>t.teamWork.teamWorkAiTasks,Un=d.combineReducers({[rt.name]:rt.reducer}),Ft={name:"teamWork",reducer:Un},Bn=Ft.reducer,Oi={slice:Ft,actions:{...rt.actions,startToDoCreation:ht},selectors:{selectToDoState:Wn},getTeamWorkRTHandlers:Pn},qn={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:{...qn},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 $n(t){return t.tvChannelType==="DYNAMIC"?!!t.tvChannelBackgroundColor&&!!t.tvChannelGroupTarget:t.tvChannelNumImages!==0}const Vn=d.combineReducers({[ri.name]:ri.reducer}),Hn={name:"tvDisplay",reducer:Vn},Gn=function(e){return e.tvDisplay.channelsList},Xn={slice:Hn,actions:{fetchChannels:ue,deleteChannel:He},selectors:{selectChannelsList:Gn},utils:{isChannelConfigured:$n}},Jn={},Lt=d.createSlice({name:"options",initialState:Jn,reducers:{initOptions:(t,{payload:e})=>e}}),Kn=d.combineReducers({[Lt.name]:Lt.reducer}),Yn={name:"tinymce",reducer:Kn},Qn=t=>t.tinymce.options.common,zn=t=>t.tinymce.options.extended,Zn={slice:Yn,actions:{...Lt.actions},selectors:{selectTinyMCECommonOptions:Qn,selectTinyMCEExtendedOptions:zn}},es={id:0,mainType:"user",type:"user",uri:"user/0",title:"",_url:"",dateCreation:"",dateModified:"",level:0,active:1},wt=d.createSlice({name:"userCurrent",initialState:es,reducers:{init:(t,{payload:e})=>e}}),ts=t=>t.userCurrent,is=t=>t.level===E.UserLevel.ADMIN,as=t=>t.id!==0,rs={slice:wt,actions:{...wt.actions},selectors:{get:ts},utils:{isAdmin:is,isLogged:as}};function Pt(){let t="";for(let e=0;e<16;e++)t+=((1+Math.random())*65536|0).toString(16).substring(1);return t}const ki="WIDGET_Check_List",Ri="WIDGET_Check_List_Description",Di="WIDGET_Quick_Survey",Mi="WIDGET_Quick_Survey_Text",ns=Object.freeze(Object.defineProperty({__proto__:null,WIDGET_CHECK_LIST_DESCRIPTION:Ri,WIDGET_CHECK_LIST_LABEL:ki,WIDGET_QUICK_SURVEY_DESCRIPTION:Mi,WIDGET_QUICK_SURVEY_LABEL:Di},Symbol.toStringTag,{value:"Module"})),ss={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}},os={files:[]},ls={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}},ds={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}},cs={files:[],gap:"4",column:"3"},us={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}},ps={},gs={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}},fs={slides:[],maxWidth:800,loop:!1,useDots:!0,startAt:0},ms={label:"WIDGET_Text",description:"WIDGET_Text_Description",name:E.WidgetsName.ArticleText,img:"/img/article-widget-thumbnail/widget_thumbnail_text.png",available:!0,panel:{useWrapper:!1,useEditor:!0,useSelection:!1,useWidgets:!1}},ys={text:""},As={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}},Ss={text:"",heading:"h1",backgroundColor:"transparent"},Ts={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}},Es={calEventsLimit:!1,calEventsLimitValue:10,calEventsPromptStatus:"shared"},Cs={label:ki,description:Ri,name:E.WidgetsName.CheckList,img:"/img/fast-intranet/widget-check-list.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},bs={arr:[],edit:!1},hs={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}},Ls={contactLimit:!1,contactLimitValue:10,contactPromptStatus:"shared"},ws={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}},Is={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},vs={label:"WIDGET_Email_IMAP",description:"WIDGET_Email_IMAP_Text",name:E.WidgetsName.EmailsImap,img:"/img/fast-intranet/widget-emails-imap.png",available:!0,displayLevel:[1,2,3],panel:{useWrapper:!0,useEditor:!0,useSelection:!0,useWidgets:!1}},Os={emailsLimit:!1,emailsLimitValue:10,emailsPromptStatus:"shared"},ks={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}},Rs={tableHeadColor:"#f1f1f1",tableHeadTextColor:"#000",tableHeadIconColor:"#000",tableRowColor:"#f5f5f5",tableRowTextColor:"#000",limit:20},Ds={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}},Ms={extensionName:""},xs={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}},js={url:""},Ns={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}},_s={closing:!1,limit:!1,limitValue:100},Fs={label:Di,description:Mi,name:E.WidgetsName.QuickSurvey,img:"/img/fast-intranet/widget-quick-survey.png",available:!0,panel:{useWrapper:!0,useEditor:!0,useSelection:!1,useWidgets:!1}},Ps={arr:[],open:!1,multi:!1,closing:!1,isClosed:!1,showResult:!1,isNotDisabled:!1},Ws={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}},Us={},Bs={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}},qs={},$s={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}},Vs={};function Hs(t){switch(t){default:return ni;case"widget-article-gallery":return ni;case"widget-article-attachment":return ss;case"widget-presence":return Ns;case"widget-article-slider":return gs;case"widget-article-text":return ms;case"widget-article-title":return As;case"widget-article-image":return us;case"widget-datasource-table":return ws;case"widget-excel-datasource-table":return ks;case"widget-article-button":return ls;case"widget-check-list":return Cs;case"widget-quick-survey":return Fs;case"widget-calendar-calDav":return Ts;case"widget-contact-cardDav":return hs;case"widget-lucca-absence":return xs;case"widget-emails-imap":return vs;case"widget-welcome":return $s;case"widget-user-profil":return Ws;case"widget-extension":return Ds;case"widget-color":return Bs}}function Gs(t){return{title:"",level:3,widget:Xs(t)}}function Xs(t){return{uniqid:Pt(),name:t,content:Js(t)}}function Js(t){switch(t){default:case"widget-lucca-absence":return{...js};case"widget-article-attachment":return{...os};case"widget-presence":return{..._s};case"widget-datasource-table":return{...Is};case"widget-excel-datasource-table":return{...Rs};case"widget-article-slider":return{...fs};case"widget-article-gallery":return{...cs};case"widget-article-button":return{...ds};case"widget-article-title":return{...Ss};case"widget-article-image":return{...ps};case"widget-article-text":return{...ys};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-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}}}const Ks={token:void 0,ids:{},layers:{},states:{},modal:void 0,editableMap:{},currentEditableIndex:-1,currentEditableWidgetId:void 0,widgetObject:{},widgetObjectRights:{},widgetAuthor:{},widgetWrapperStyle:{},widgetTitleStyle:{},widgetChipCount:{},flushedWidgets:[],rtObjectStack:[],widgetContext:{}},Ys=[E.WidgetsName.ArticleTitle,E.WidgetsName.ArticleText,E.WidgetsName.ArticleImage,E.WidgetsName.ArticleButton,E.WidgetsName.ArticleSlider,E.WidgetsName.ArticleAttachment],H=d.createSlice({name:"widgets",initialState:Ks,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:Ys.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}}}),Qs=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,Zs=t=>t.widgets.modal,eo=t=>t.widgets.ids,to=t=>t.widgets.flushedWidgets,io=(t,e)=>t.widgets.states[e]??void 0,ao=(t,e)=>t.widgets.ids[e]??void 0,ro=(t,e)=>t.widgets.ids[e]?.level??void 0,no=(t,e)=>t.widgets.widgetObject[e]??void 0,so=(t,e)=>{const i=t.widgets.widgetObject[e];if(i&&"uri"in i)return i.uri},oo=(t,e)=>t.widgets.widgetObjectRights[e]??void 0,lo=(t,e)=>t.widgets.widgetContext[e]??void 0,co=(t,e)=>t.widgets.widgetAuthor[e]??void 0,uo=(t,e)=>t.widgets.widgetChipCount[e]??0,po=(t,e)=>t.widgets.widgetWrapperStyle[e]??{},go=(t,e)=>t.widgets.widgetTitleStyle[e]??{},fo=(t,e)=>t.widgets.currentEditableWidgetId===e,mo=(t,e)=>t.widgets.rtObjectStack.filter(i=>i.uniqid===e),yo=(t,e,i)=>xi.slice.actions.updateWidget({uniqid:t,content:e,override:i??!1}),xi={const:ns,factory:Gs,definition:Hs,utils:{uniqid:Pt},slice:H,getWidgetRTHandlers:Qs,selectors:{isActive:fo,selectToken:zs,selectWidgets:eo,selectWidget:ao,selectWidgetState:io,selectModal:Zs,selectWidgetObject:no,selectWidgetObjectUri:so,selectWidgetAuthor:co,selectWidgetObjectRights:oo,selectAllWidgetRTObject:mo,selectFlushedWidgets:to,selectWidgetContext:lo,selectWidgetLevel:ro,selectWidgetWrapperStyle:po,selectWidgetTitleStyle:go,selectWidgetChipCount:uo}},Ao={editors:[]},So=d.createSlice({name:"editors",initialState:Ao,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}}}),To=t=>t.editors.editors,Eo=(t,e)=>t.editors.editors.find(i=>i.uniqid===e),Co={slice:So,selectors:{selectEditors:To,selectEditor:Eo}},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}}),bo=j.getSelectors(t=>t.entities.socialActions),ho={slice:si,actions:{...si.actions},selectors:bo},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"},ji={TITLE:"title",USER:"user",PUBLISHTO:"publishTo",SENDALERTTOSUBSCRIBERS:"sendAlert",RECEIVEACOPY:"alertAuthor",CREATIONDATE:"dateCreation"},T={LABEL:"label",DESCRIPTION:"description",RICHTEXT:"richtext",CHECKBOX:"checkbox",OPTIONS_EDITOR:"options_editor",TAXONOMY:"taxonomy",CONTENTTYPE:"contenttype"},Lo=[o.DESCRIPTION,o.IMAGE],wo=Lo,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:[]}},Ni=[p.TITLE,p.USER,p.CREATIONDATE,o.DESCRIPTION],_i=[o.DESCRIPTION],Wt=_i,Io=[p.TITLE,p.PUBLISHTO,p.SENDALERTTOSUBSCRIBERS,p.RECEIVEACOPY,p.USER,p.CREATIONDATE],Fi=[p.USER,p.TITLE],Pi=[o.CODEHTML],Wi=Fi.concat(Pi).concat(_i);var Ui=(t=>(t.Attr="attr",t.PublishTo="publishTo",t))(Ui||{}),Bi=(t=>(t.Empty="",t.FieldTagDescription="Field_Tag_Description",t.FieldTitleDescription="Field_Title_Description",t.WWWDescCOM="www.desc.com",t))(Bi||{}),L=[];for(var ct=0;ct<256;++ct)L.push((ct+256).toString(16).slice(1));function vo(t,e=0){return(L[t[e+0]]+L[t[e+1]]+L[t[e+2]]+L[t[e+3]]+"-"+L[t[e+4]]+L[t[e+5]]+"-"+L[t[e+6]]+L[t[e+7]]+"-"+L[t[e+8]]+L[t[e+9]]+"-"+L[t[e+10]]+L[t[e+11]]+L[t[e+12]]+L[t[e+13]]+L[t[e+14]]+L[t[e+15]]).toLowerCase()}var Ee,Oo=new Uint8Array(16);function ko(){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(Oo)}var Ro=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const oi={randomUUID:Ro};function R(t,e,i){if(oi.randomUUID&&!t)return oi.randomUUID();t=t||{};var a=t.random||(t.rng||ko)();return a[6]=a[6]&15|64,a[8]=a[8]&63|128,vo(a)}var B=(t=>(t.TITLE="TITLE",t.IMAGE="IMAGE",t.DESCRIPTION="DESCRIPTION",t.IDUSER="IDUSER",t.PUBLISHTO="PUBLISHTO",t.SENDALERTTOSUBSCRIBERS="SENDALERTTOSUBSCRIBERS",t.RECEIVEACOPY="RECEIVEACOPY",t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.TEXTAREAHTML="TEXTAREAHTML",t.DATE="DATE",t.DATETIME="DATETIME",t.RANGE="RANGE",t.NUMBER="NUMBER",t.URL="URL",t.EMAIL="EMAIL",t.SELECT="SELECT",t.CHECKBOX="CHECKBOX",t.TOGGLE="TOGGLE",t.RADIO="RADIO",t.TAGS="TAGS",t.ADDFILEATTACHMENT="ADDFILEATTACHMENT",t.AUDIENCE="AUDIENCE",t.CODEHTML="CODEHTML",t.DATECREATION="DATECREATION",t.USERLINK="USERLINK",t.CONTENTLINK="CONTENTLINK",t))(B||{});function qi(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:xo(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 Do={type:"taxonomyOpen",id:1,title:"Mots-clés"},Mo={type:"mpArticle",label:"Article"};function xo(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:{...Do}}];case o.CONTENTLINK:return[{propertyType:T.LABEL,isRequired:!0,value:""},{propertyType:T.DESCRIPTION,value:""},{propertyType:T.CONTENTTYPE,value:{...Mo}}];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 $i(t){const e=[];return Object.keys(t).forEach(i=>{e.push({title:t[i],value:i})}),e}function jo(t){const e={...ye(o.ADDFILEATTACHMENT,!1),id:t.name,mandatory:t.mandatory};return e.properties[0].value=t.label,e}function No(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 _o(){return ye(o.IMAGE,!1)}function Fo(t){const e=I(o.NUMBER,t);return e.properties[2].value=t.widget.params?.step==="0.01",e}function Po(t){const e=I(o.TAGS,t);return e.properties[2].value.id=+(t.widget.params?.idTaxonomy??1),e}function Wo(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:$i(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 Vi(t){const e=I(o.RADIO,t),i={propertyOptions:$i(t.widget.options)};return e.properties[2].value=i,e}function Uo(t){const e=Vi(t);return e.type=o.CHECKBOX,e}function Bo(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?wi.selectors.selectById(a,i.properties[2].value.type):void 0;return i.properties[2].value.label=r?.label??"Article",i}function qo(t){return I(o.TEXT,t)}function $o(t){return I(o.DESCRIPTION,t)}function Vo(t){return I(o.TEXTAREAHTML,t)}function Ho(t){return I(o.DATE,t)}function Go(t){return I(o.DATETIME,t)}function Xo(t){return I(o.URL,t)}function Jo(t){return I(o.EMAIL,t)}function Ko(t){return I(o.TOGGLE,t)}function Yo(t){return I(o.USERLINK,t)}function Qo(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'?>
|
|
2
2
|
<Application>
|
|
3
3
|
${Zo(e,i,a,r,t.idApp)}
|
|
4
4
|
<Types>
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
${tl(e.filter)}
|
|
41
41
|
${il(i,a)}
|
|
42
42
|
<Order>1</Order>
|
|
43
|
-
</Manifest>`}function el(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 tl(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
|
|
44
|
-
<accessRightList>${e.map(i=>i.uri).join()}</accessRightList>`:""}function al(t){const e=t?.filter(i=>Wt.includes(i.type));return e.length===0?"":`<primaryFields>${e.map(i=>It(i)).join("")}</primaryFields>`}function rl(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&&!
|
|
43
|
+
</Manifest>`}function el(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 tl(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 Hi(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 Ni.includes(t.type)?Hi(t.type):Bt(e).toLowerCase()}function il(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 al(t){const e=t?.filter(i=>Wt.includes(i.type));return e.length===0?"":`<primaryFields>${e.map(i=>It(i)).join("")}</primaryFields>`}function rl(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&&!Wi.includes(n.type)),r=i.filter(n=>n.type===o.TAGS);return`<custom>
|
|
45
45
|
${a.length>0?`<articlemstable>
|
|
46
46
|
${a.map(n=>It(n)).join("")}
|
|
47
47
|
</articlemstable>`:""}
|
|
@@ -110,4 +110,4 @@
|
|
|
110
110
|
</params>
|
|
111
111
|
</widget>`}default:return""}}function li(t,e){const i=t?.find(a=>a.propertyType===e);if(i){const a=i.value.replaceAll('"',""");return`${e.toLowerCase()}="${a}"`}return""}function sl(t,e){switch(t){case o.DESCRIPTION:return"Description";case p.USER:return"IdUser";default:return Bt(e)}}function ol(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 ll(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+=dl(Number(a)):a>="a"&&a<="z"&&(e+=a)}return e},dl=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 cl(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
112
|
${r.map(([n,s])=>pl(n,s)).join("")}
|
|
113
|
-
</display>`}}),e.length>0&&(e=`<displays type="${t.idApp}">${e}</displays>`),e}function ul(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 pl(t,e){let i="";const a=ul(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 Hi={"create-popup":"popup",create:"create",edit:"edit",display:"view",displayDisabled:"view"},ci=["title","alertAuthor","sendAlert"],gl=["edito"];function Gi(t,e,i){return Object.assign({},...ot.map(a=>{const r={};let n=[];j[a]?.optional!==void 0&&(n=n.concat(j[a]?.optional??[]));let s=[];j[a]?.fixed!==void 0&&(s=s.concat(j[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]:()=>Zi(!1),[p.TITLE]:()=>nt({fixedValue:void 0}),[p.USER]:()=>zi(!1),[p.RECEIVEACOPY]:()=>Ki({fixedValue:void 0}),[p.SENDALERTTOSUBSCRIBERS]:()=>Yi({fixedValue:void 0}),[p.PUBLISHTO]:()=>Qi({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(la=>la.propertyType===T.OPTIONS_EDITOR),sa=!!h?.value?.canSelectMultiple,oa=!!Ae?.value?.canSelectMultiple;sa===oa&&(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(xi).includes(u)&&u!==y.id&&A.pos>=m.pos&&A.pos++})}),{[a]:r}}))}function fl(t){return t.map(e=>({id:`${e.type}/${e.id}`,uri:`${e.type}/${e.id}`,shortUri:`${e.type}/${e.id}`,title:e.title,name:e.title,mainType:e.type,type:e.mainType,label:e.type,cssClass:e._cssClass,cssColor:e._cssColor,class:e._cssClass,Pseudo:e.title,_url:e._url}))}function ml(t,e,i){const a=t.typeModel.tables,r=t.typeModel.displays;if(!r)return;const n=new Map;Object.entries(r).forEach(s=>{const[l,c]=s;Object.keys(Hi).includes(l)&&yl(e,n,l,c,a,i)}),Al(e,n,t.columns,a,i),Sl(e,n,t.attrExposed,a,i)}function yl(t,e,i,a,r,n){const s=Hi[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&&gl.includes(l.name))return;const[y,m]=Cl(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]=Ki(m);t.views[s][u]=A;break}case"sendAlert":{const[u,A]=Yi(m);t.views[s][u]=A;break}case"publishTo":{const[u,A]=Qi(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,Ji(s,f,t,c,m)}})}function Al(t,e,i,a,r){i&&Object.keys(i).forEach((n,s)=>{Xi(t,e,a,"list",n,s,r)})}function Sl(t,e,i,a,r){i.forEach((n,s)=>{Xi(t,e,a,"filter",n,s,r)})}function Xi(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]=zi();t.views[a][l]=c;break}case"datecreation":case"dateCreation":{const[l,c]=Zi();t.views[a][l]=c;break}default:Tl(t,e,i,a,r,n,s);break}}function Tl(t,e,i,a,r,n,s){const l=El(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,Ji(a,c,t,n,void 0)}function El(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 Cl(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:Vi(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=jo(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=_o(),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=bl(e,i),n=hl(r),s=(function(){switch(n){case o.ADDFILEATTACHMENT:return No(r);case o.NUMBER:return Fo(r);case o.TAGS:return Po(r);case o.SELECT:return Wo(r);case o.RADIO:return $i(r);case o.CHECKBOX:return Uo(r);case o.CONTENTLINK:return Bo(r,a);case o.DESCRIPTION:return $o(r);case o.TEXTAREAHTML:return Vo(r);case o.DATE:return Ho(r);case o.DATETIME:return Go(r);case o.URL:return Xo(r);case o.EMAIL:return Jo(r);case o.TOGGLE:return Ko(r);case o.USERLINK:return Yo(r);case o.TEXTAREA:return Qo(r);case o.TEXT:default:return qo(r)}})(),l=t.fields.push(s)-1;return[e,l]}function bl(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 Ji(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 hl(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 Ki(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 Yi(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 Qi(t,e=!0){return["publishTo",{type:p.PUBLISHTO,properties:[],isUsed:e,isOptional:!0,isLockedValue:!!t?.fixedValue,isFixed:!1,value:t?.fixedValue??[],pos:100}]}function zi(t=!0){return["user",{type:p.USER,properties:[],isUsed:t,isOptional:!1,isLockedValue:!1,isFixed:!0,value:null,pos:1}]}function Zi(t=!0){return["dateCreation",{type:p.CREATIONDATE,properties:[],isUsed:t,isOptional:!0,isLockedValue:!1,isFixed:!1,value:null,pos:100}]}function Ll(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?fl(t.accessRightObjectList):[],audience:t.checkAccess===!1?fe.ALL:fe.CUSTOM};ml(t,c,i),c.views=Gi(c.views,c.syncViewFieldOrder,c.fields);const f=wl(t.idApp,e);if(!f)return c;const y=ea(f);return y&&(c.inWorkVersion=y),c}function ea(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}:{...Bi(e),status:Ot(t),migratedFrom:1}}function Ot(t){return t.status===E.StudioApplicationStatus.installed?t.suspended?W.suspended:W.installed:W.draft}function wl(t,e){return e.find(a=>a.idApp===t&&a.status===E.StudioApplicationStatus.saved)}function Il(t,e){return!!e.find(i=>i.idApp===t&&i.status===E.StudioApplicationStatus.installed)}function ta(t,e){return t.map(a=>{try{return a.status===E.StudioApplicationStatus.installed?Ll(a,t,e):Il(a.idApp,t)?void 0:ea(a)}catch(r){console.error(r);return}}).filter(a=>a!==void 0)}const vl={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=ta([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:vl,reducers:{setCurrentApp:(t,e)=>{t.currentStudioApp=e.payload},resetCurrentApp:t=>{t.currentStudioApp=null},setHasChanged:(t,e)=>{t.hasChanged=e.payload}},extraReducers:t=>{t.addCase(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 ia(t,e,i){const a=t.studioVersion!==2?JSON.parse(JSON.stringify(Bi(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 Ol({author:t,appName:e}){const i=R(),a=Object.assign({},...ot.map(r=>{const n={};return j[r]?.fixed.forEach((s,l)=>{n[R()]={type:s,properties:[],isUsed:!0,isOptional:!1,isFixed:!0,isLockedValue:!1,value:null,pos:l}}),j[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 kl={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=ta(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}=Ol({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]=ia(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]=ia(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:kl,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")})}}),Rl=d.combineReducers({[kt.name]:kt.reducer,[st.name]:st.reducer});function Dl(t){return t.studio.studioAppsList}function Ml(t){return t.studio.currentStudioApp}const xl={name:"studio",reducer:Rl},Nl={slice:xl,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:Dl,selectCurrentStudioApp:Ml},utils:{updateViewsFromFields:Gi,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"})}}),aa=t=>t.wall,ra=t=>t.wall.filters,na=t=>t.wall.taxonomies,jl={slice:Dt,actions:{...Dt.actions,fetchWallFilters:pe},selectors:{selectWall:aa,selectWallFilters:ra,selectWallFiltersTaxonomies:na}};exports.APP_STATUS_TYPE=O;exports.AUDIENCE=fe;exports.AdminLogs=La;exports.Animations=Fa;exports.AppColumnsDefaultTypes=Ni;exports.AppFieldFormPropertyTypes=T;exports.AppFormBannedFromViews=lt;exports.AppFormFieldOnlyInView=Fi;exports.AppFormFixedList=Io;exports.AppFormItemTypes=o;exports.AppFormNoAsFieldList=_i;exports.AppFormNonPrimaryList=Pi;exports.AppFormPrimaryListValues=Wt;exports.AppFormUniqueListCheck=wo;exports.Application=Wa;exports.Article=ca;exports.AssetReservation=Qa;exports.Bookmark=cr;exports.Calendar=mr;exports.Comment=br;exports.ContentReport=er;exports.Description=Ui;exports.Element=Wi;exports.ExtraAppFieldsItemName=xi;exports.ExtraAppFieldsItemViews=p;exports.ExtraBot=Lr;exports.Faq=Dr;exports.FileIntegrity=xr;exports.FileIntegritySlice=Tt;exports.Hook=Pr;exports.MagicPad=Jr;exports.MapExtraFieldsWithView=j;exports.MediaLibrary=dn;exports.Model=wi;exports.Network=Cn;exports.Platform=kn;exports.STUDIO_VIEW=me;exports.Share=jn;exports.SocialActions=ho;exports.StatusType=W;exports.TVDisplay=Xn;exports.TeamWork=Bn;exports.TinyMCE=Zn;exports.Toast=g;exports.UserCurrent=rs;exports.Wall=jl;exports.WedocApp=Mn;exports.Widget=Mi;exports.WidgetEditor=Co;exports.actions=pi;exports.adminLogsReducer=ha;exports.adminLogsSlice=Mt;exports.animationsReducer=_a;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=Hr;exports.magicPadSlice=Li;exports.mediaLibraryReducer=ln;exports.mediaLibrarySlice=_t;exports.releaseQuarantine=ee;exports.saveExtraBot=Q;exports.selectExtraBotListAll=Ei;exports.selectExtraBotListMines=Ci;exports.selectFileIntegrityAction=bi;exports.selectFileIntegrityList=hi;exports.selectWall=aa;exports.selectWallFilters=ra;exports.selectWallFiltersTaxonomies=na;exports.slice=wt;exports.studio=Nl;exports.teamWorkSlice=Ft;exports.teamworkReducer=Un;exports.toggleExtraBotActivation=Y;exports.updateListBotProperty=Ti;exports.updateStatus=J;exports.updateWidgetContent=yo;exports.viewsList=ot;exports.wallSlice=Dt;
|
|
113
|
+
</display>`}}),e.length>0&&(e=`<displays type="${t.idApp}">${e}</displays>`),e}function ul(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 pl(t,e){let i="";const a=ul(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 Gi={"create-popup":"popup",create:"create",edit:"edit",display:"view",displayDisabled:"view"},ci=["title","alertAuthor","sendAlert"],gl=["edito"];function Xi(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]:()=>ea(!1),[p.TITLE]:()=>nt({fixedValue:void 0}),[p.USER]:()=>Zi(!1),[p.RECEIVEACOPY]:()=>Yi({fixedValue:void 0}),[p.SENDALERTTOSUBSCRIBERS]:()=>Qi({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(da=>da.propertyType===T.OPTIONS_EDITOR),oa=!!h?.value?.canSelectMultiple,la=!!Ae?.value?.canSelectMultiple;oa===la&&(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(ji).includes(u)&&u!==y.id&&A.pos>=m.pos&&A.pos++})}),{[a]:r}}))}function fl(t){return t.map(e=>({id:`${e.type}/${e.id}`,uri:`${e.type}/${e.id}`,shortUri:`${e.type}/${e.id}`,title:e.title,name:e.title,mainType:e.type,type:e.mainType,label:e.type,cssClass:e._cssClass,cssColor:e._cssColor,class:e._cssClass,Pseudo:e.title,_url:e._url}))}function ml(t,e,i){const a=t.typeModel.tables,r=t.typeModel.displays;if(!r)return;const n=new Map;Object.entries(r).forEach(s=>{const[l,c]=s;Object.keys(Gi).includes(l)&&yl(e,n,l,c,a,i)}),Al(e,n,t.columns,a,i),Sl(e,n,t.attrExposed,a,i)}function yl(t,e,i,a,r,n){const s=Gi[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&&gl.includes(l.name))return;const[y,m]=Cl(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]=Yi(m);t.views[s][u]=A;break}case"sendAlert":{const[u,A]=Qi(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,Ki(s,f,t,c,m)}})}function Al(t,e,i,a,r){i&&Object.keys(i).forEach((n,s)=>{Ji(t,e,a,"list",n,s,r)})}function Sl(t,e,i,a,r){i.forEach((n,s)=>{Ji(t,e,a,"filter",n,s,r)})}function Ji(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]=Zi();t.views[a][l]=c;break}case"datecreation":case"dateCreation":{const[l,c]=ea();t.views[a][l]=c;break}default:Tl(t,e,i,a,r,n,s);break}}function Tl(t,e,i,a,r,n,s){const l=El(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,Ki(a,c,t,n,void 0)}function El(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 Cl(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:Hi(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=No(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=_o(),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=bl(e,i),n=hl(r),s=(function(){switch(n){case o.ADDFILEATTACHMENT:return jo(r);case o.NUMBER:return Fo(r);case o.TAGS:return Po(r);case o.SELECT:return Wo(r);case o.RADIO:return Vi(r);case o.CHECKBOX:return Uo(r);case o.CONTENTLINK:return Bo(r,a);case o.DESCRIPTION:return $o(r);case o.TEXTAREAHTML:return Vo(r);case o.DATE:return Ho(r);case o.DATETIME:return Go(r);case o.URL:return Xo(r);case o.EMAIL:return Jo(r);case o.TOGGLE:return Ko(r);case o.USERLINK:return Yo(r);case o.TEXTAREA:return Qo(r);case o.TEXT:default:return qo(r)}})(),l=t.fields.push(s)-1;return[e,l]}function bl(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 Ki(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 hl(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 Yi(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 Qi(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 Zi(t=!0){return["user",{type:p.USER,properties:[],isUsed:t,isOptional:!1,isLockedValue:!1,isFixed:!0,value:null,pos:1}]}function ea(t=!0){return["dateCreation",{type:p.CREATIONDATE,properties:[],isUsed:t,isOptional:!0,isLockedValue:!1,isFixed:!1,value:null,pos:100}]}function Ll(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?fl(t.accessRightObjectList):[],audience:t.checkAccess===!1?fe.ALL:fe.CUSTOM};ml(t,c,i),c.views=Xi(c.views,c.syncViewFieldOrder,c.fields);const f=wl(t.idApp,e);if(!f)return c;const y=ta(f);return y&&(c.inWorkVersion=y),c}function ta(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}:{...qi(e),status:Ot(t),migratedFrom:1}}function Ot(t){return t.status===E.StudioApplicationStatus.installed?t.suspended?W.suspended:W.installed:W.draft}function wl(t,e){return e.find(a=>a.idApp===t&&a.status===E.StudioApplicationStatus.saved)}function Il(t,e){return!!e.find(i=>i.idApp===t&&i.status===E.StudioApplicationStatus.installed)}function ia(t,e){return t.map(a=>{try{return a.status===E.StudioApplicationStatus.installed?Ll(a,t,e):Il(a.idApp,t)?void 0:ta(a)}catch(r){console.error(r);return}}).filter(a=>a!==void 0)}const vl={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=ia([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:vl,reducers:{setCurrentApp:(t,e)=>{t.currentStudioApp=e.payload},resetCurrentApp:t=>{t.currentStudioApp=null},setHasChanged:(t,e)=>{t.hasChanged=e.payload}},extraReducers:t=>{t.addCase(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 aa(t,e,i){const a=t.studioVersion!==2?JSON.parse(JSON.stringify(qi(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 Ol({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 kl={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=ia(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}=Ol({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]=aa(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]=aa(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:kl,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")})}}),Rl=d.combineReducers({[kt.name]:kt.reducer,[st.name]:st.reducer});function Dl(t){return t.studio.studioAppsList}function Ml(t){return t.studio.currentStudioApp}const xl={name:"studio",reducer:Rl},jl={slice:xl,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:Dl,selectCurrentStudioApp:Ml},utils:{updateViewsFromFields:Xi,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"})}}),ra=t=>t.wall,na=t=>t.wall.filters,sa=t=>t.wall.taxonomies,Nl={slice:Dt,actions:{...Dt.actions,fetchWallFilters:pe},selectors:{selectWall:ra,selectWallFilters:na,selectWallFiltersTaxonomies:sa}};exports.APP_STATUS_TYPE=O;exports.AUDIENCE=fe;exports.AdminLogs=wa;exports.Animations=Pa;exports.AppColumnsDefaultTypes=Ni;exports.AppFieldFormPropertyTypes=T;exports.AppFormBannedFromViews=lt;exports.AppFormFieldOnlyInView=Pi;exports.AppFormFixedList=Io;exports.AppFormItemTypes=o;exports.AppFormNoAsFieldList=Fi;exports.AppFormNonPrimaryList=Wi;exports.AppFormPrimaryListValues=Wt;exports.AppFormUniqueListCheck=wo;exports.Application=Ua;exports.Article=ua;exports.AssetReservation=za;exports.Bookmark=ur;exports.Calendar=yr;exports.Comment=hr;exports.ContentReport=tr;exports.Description=Bi;exports.Element=Ui;exports.ExtraAppFieldsItemName=ji;exports.ExtraAppFieldsItemViews=p;exports.ExtraBot=wr;exports.Faq=Mr;exports.FileIntegrity=jr;exports.FileIntegritySlice=Tt;exports.Hook=Wr;exports.MagicPad=Kr;exports.MapExtraFieldsWithView=N;exports.MediaLibrary=cn;exports.Model=wi;exports.Network=bn;exports.Platform=Rn;exports.STUDIO_VIEW=me;exports.Share=_n;exports.SocialActions=ho;exports.StatusType=W;exports.TVDisplay=Xn;exports.TeamWork=Oi;exports.TinyMCE=Zn;exports.Toast=g;exports.UserCurrent=rs;exports.Wall=Nl;exports.WedocApp=xn;exports.Widget=xi;exports.WidgetEditor=Co;exports.actions=pi;exports.adminLogsReducer=La;exports.adminLogsSlice=Mt;exports.animationsReducer=Fa;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=Gr;exports.magicPadSlice=Li;exports.mediaLibraryReducer=dn;exports.mediaLibrarySlice=_t;exports.releaseQuarantine=ee;exports.saveExtraBot=Q;exports.selectExtraBotListAll=Ei;exports.selectExtraBotListMines=Ci;exports.selectFileIntegrityAction=bi;exports.selectFileIntegrityList=hi;exports.selectWall=ra;exports.selectWallFilters=na;exports.selectWallFiltersTaxonomies=sa;exports.slice=wt;exports.studio=jl;exports.teamWorkSlice=Ft;exports.teamworkReducer=Bn;exports.toggleExtraBotActivation=Y;exports.updateListBotProperty=Ti;exports.updateStatus=J;exports.updateWidgetContent=yo;exports.viewsList=ot;exports.wallSlice=Dt;
|