jamespot-front-business 1.3.6 → 1.3.7

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.
@@ -0,0 +1,2 @@
1
+ export * from './src/index'
2
+ export {}
@@ -0,0 +1,113 @@
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'?>
2
+ <Application>
3
+ ${Bo(e,i,a,r,t.idApp)}
4
+ <Types>
5
+ <objecttype
6
+ label="${e.typeLabel}"
7
+ labelPlural="${e.typeLabel}"
8
+ labelLinkSingular="${e.typeLabel}"
9
+ labelLinkPlural="${e.typeLabel}"
10
+ name="${t.idApp}"
11
+ classImpl="JPBEContent"
12
+ classCodeLocation="jamespot/jpro/objs/JPBEContent.php"
13
+ cssClass="${e.cssClass.value}"
14
+ cssColor="${e.cssColor}"
15
+ searchtab="${t.idApp}"
16
+ searchtablabel="${e.typeLabel}"
17
+ buttonlabel="${e.typeLabel}"
18
+ extends="article">
19
+ ${$o(t.fields)}
20
+ ${Ho(t.fields)}
21
+ </objecttype>
22
+ ${Qo(t)}
23
+ </Types>
24
+ </Application>`}function Bo(t,e,i,a,r){return`<Manifest>
25
+ <ShowImport>true</ShowImport>
26
+ <AppShortName>${r}</AppShortName>
27
+ <AppName>${t.appName}</AppName>
28
+ <Description>${t.description}</Description>
29
+ <Version>${t.version+1}</Version>
30
+ <ManifestVersion>1.0</ManifestVersion>
31
+ <StudioVersion>2</StudioVersion>
32
+ <DateCreation>${t.dateCreation.toString().split("T")[0]}</DateCreation>
33
+ <CssClass>${t.cssClass?.label}</CssClass>
34
+ <CssColor>${t.cssColor}</CssColor>
35
+ <Categories>N.A.</Categories>
36
+ <Editor>Jamespot</Editor>
37
+ <EditorUrl>https://www.fr.jamespot.com/</EditorUrl>
38
+ <Type>${r}</Type>
39
+ ${Fo(t.viewSolr,e.list)}
40
+ ${qo(e.filter)}
41
+ ${Vo(i,a)}
42
+ <Order>1</Order>
43
+ </Manifest>`}function Fo(t,e){if(t===fe.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(_t(n,r)))}),i+=`<AppColumns>${a.join()}</AppColumns>`,i}return""}function qo(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(_t(a,i))}),`<AttrExposed>${e.join()}</AttrExposed>`}function Bi(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 _t(t,e){return Ri.includes(t.type)?Bi(t.type):Pt(e).toLowerCase()}function Vo(t,e){return t===ge.ALL?"<checkAccess>false</checkAccess>":e.length>0?`<checkAccess>true</checkAccess>
44
+ <accessRightList>${e.map(i=>i.uri).join()}</accessRightList>`:""}function $o(t){const e=t?.filter(i=>jt.includes(i.type));return e.length===0?"":`<primaryFields>${e.map(i=>wt(i)).join("")}</primaryFields>`}function Ho(t){const i=t?.filter(n=>!jt.includes(n.type))?.filter(n=>n.type!==o.IMAGE);if(i.length===0)return"";const a=i.filter(n=>n.type!==o.TAGS&&!Ni.includes(n.type)),r=i.filter(n=>n.type===o.TAGS);return`<custom>
45
+ ${a.length>0?`<articlemstable>
46
+ ${a.map(n=>wt(n)).join("")}
47
+ </articlemstable>`:""}
48
+ ${r.length>0?`<linkstable tablename="tag_links" sqlNameColumn="name" sqlSrcIdColumn="srcId" sqlSrcTypeColumn="srcType" sqlTargetIdColumn="targetId" sqlTargetTypeColumn="targetType">
49
+ ${r.map(n=>wt(n)).join("")}
50
+ </linkstable>`:""}</custom>`}function wt(t){return`<field
51
+ type="${Ko(t.type)}"
52
+ name="${_t(t,t.id)}"
53
+ sqlname="${Xo(t.type,t.id)}"
54
+ ${t.properties&&ri(t.properties,T.LABEL)}
55
+ ${t.properties&&ri(t.properties,T.DESCRIPTION)}
56
+ mandatory="${t.type===o.TOGGLE?"false":t.mandatory}"
57
+ solr.type="${Jo(t.type)}"
58
+ solr.used="true"
59
+ solr.indexed="true"
60
+ solr.stored="true"
61
+ solr.searchable="true"
62
+ solr.multiValued="${t.type===o.TAGS||t.type===o.CHECKBOX||t.type===o.SELECT}"
63
+ teaser="true"
64
+ display="true"
65
+ >
66
+ ${Go(t.type,t.properties)}
67
+ </field>`}function Go(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
+ ${e?.find(a=>a.propertyType===T.CHECKBOX)?.value===!0?'<params><param value="0.01" key="step"/></params>':""}
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
+ <options>
71
+ ${r.map(l=>`<option value="${l.value}" label="${l.title}"></option>`).join("")}
72
+ </options>
73
+ ${n||s?`<params>
74
+ ${n?`<param key="defaultValue" value="${i.value.defaultSelectOptionValue.value}"/>`:""}
75
+ ${s?'<param key="explain" value="1"/>':""}
76
+ </params>`:""}
77
+ </widget>`}case o.RADIO:{const i=e?.find(r=>r.propertyType===T.OPTIONS_EDITOR);return i?`<widget form="radio">
78
+ <options>
79
+ ${i.value.propertyOptions.map(r=>`<option value="${r.value}" label="${r.title}"></option>`).join("")}
80
+ </options>
81
+ </widget>`:""}case o.TOGGLE:return`<widget form="checkbox">
82
+ <options>
83
+ <option value="1" label="GLOBAL_Yes"></option>
84
+ </options>
85
+ <params>
86
+ <param key="jagCheckbox" value="1"></param>
87
+ </params>
88
+ </widget>`;case o.TAGS:{const i=e?.find(r=>r.propertyType===T.TAXONOMY);return i?`<widget form="taxonomy">
89
+ <params><param key="idTaxonomy" value="${i.value.id}"></param></params>
90
+ </widget>`:""}case o.CHECKBOX:{const i=e?.find(r=>r.propertyType===T.OPTIONS_EDITOR);return i?`<widget form="checkbox" multiple="1">
91
+ <options>
92
+ ${i.value.propertyOptions.map(r=>`<option value="${r.value}" label="${r.title}"></option>`).join("")}
93
+ </options>
94
+ </widget>`:""}case o.ADDFILEATTACHMENT:return'<widget form="file" type="fileArticle" multiple="1"></widget>';case o.URL:return'<widget form="url"></widget>';case o.EMAIL:return'<widget form="email"></widget>';case p.USER:return'<widget form="idUser"></widget>';case o.USERLINK:return`<widget form="uri">
95
+ <params>
96
+ <param key="mode" value="ng-view"></param>
97
+ <param key="class" value="jcomplete"></param>
98
+ <param key="namespace" value="jamespot"></param>
99
+ <param key="types" value="user"></param>
100
+ <param key="views" value="user"></param>
101
+ <param key="jcomplete-url" value="/?action=ajax&amp;group=autocomplete&amp;function=user"></param>
102
+ </params>
103
+ </widget>`;case o.CONTENTLINK:{const i=e?.find(r=>r.propertyType===T.CONTENTTYPE);if(!i)return"";const a=i.value.type;return`<widget form="uri">
104
+ <params>
105
+ <param key="mode" value="ng-view"></param>
106
+ <param key="namespace" value="jamespot"></param>
107
+ <param key="types" value="${a}"></param>
108
+ <param key="views" value="article"></param>
109
+ <param key="jcomplete-url" value="/?action=ajax&amp;group=autocomplete&amp;function=article&amp;types=[]=${a}"></param>
110
+ </params>
111
+ </widget>`}default:return""}}function ri(t,e){const i=t?.find(a=>a.propertyType===e);if(i){const a=i.value.replaceAll('"',"&quot;");return`${e.toLowerCase()}="${a}"`}return""}function Xo(t,e){switch(t){case o.DESCRIPTION:return"Description";case p.USER:return"IdUser";default:return Pt(e)}}function Jo(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 Ko(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 Pt=t=>{let e="";for(let i=0;i<t.length;i++){const a=t.charAt(i);a>="0"&&a<="9"?e+=Yo(Number(a)):a>="a"&&a<="z"&&(e+=a)}return e},Yo=t=>{let e="",i;for(;t>0;)i=(t-1)%26,e=String.fromCharCode(97+i)+e,t=(t-i)/26|0;return e},ni={create:"create",popup:"create-popup",edit:"edit",view:"display"};function Qo(t){let e="";return Object.entries(t.views).forEach(([i,a])=>{if(Object.prototype.hasOwnProperty.call(ni,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="${ni[i]}${i==="view"&&t.manifest.displayContentLegacyTable?"Disabled":""}" mode="${i==="view"?"view":"form"}">
112
+ ${r.map(([n,s])=>Zo(n,s)).join("")}
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;