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