import{a as v,b as w,c as F,d as j,e as b,f as U}from"./chunk-LHQZBJVI.js";import{a as p}from"./chunk-MXERDDBQ.js";import{n as c,o as h,p as T,q as y}from"./chunk-ZYAGUDC2.js";import{a as O}from"./chunk-2M7Q7RS4.js";import{ja as f,l as s,na as g,s as n}from"./chunk-EJ5TQG27.js";import{a as S,b as m,g as i}from"./chunk-NZN5XTIE.js";var u,k={todos:{},selectedTodoId:null},r,d=(r=class{static get(t){return T([u],o=>{let e=o.todos[t];return e||null})}static listByParentId(t){return T([u],o=>Object.values(o.todos).filter(a=>a.parentId===t))}static todos(t){return Object.values(t.todos)}static selectedTodo(t){let o=Object.values(t.todos),e=t.todos[t.selectedTodoId||""];return m(S({},e),{children:o.filter(a=>a.parentId===e?.id)})}static newestTodoId(t){let o=Object.keys(t.todos),e=o[o.length-1];return t.todos[e]?.id}static getType(t){return T([u.todos],o=>o.filter(e=>e.todoType===t))}constructor(t){this.apiService=t}listTodosForUpload(t,o){return i(this,null,function*(){let a=(yield n(this.apiService.listTodosForUpload({uploadId:o.payload.uploadId}))).reduce((l,I)=>m(S({},l),{[I.id]:I}),{});t.patchState({todos:a})})}setSelectedTodoId(t,o){return i(this,null,function*(){t.patchState({selectedTodoId:o.payload.todoId})})}createTodo(t,o){return i(this,null,function*(){let e=yield n(this.apiService.createTodo(o.payload.todo)),a=p(t.getState(),l=>{l.todos[e.id]=e});t.setState(a)})}updateTodo(t,o){return i(this,null,function*(){let e=yield n(this.apiService.updateTodo(o.payload.id,o.payload.todo)),a=p(t.getState(),l=>{l.todos[e.id]=e});t.setState(a)})}createTerugmeldingForTodo(t,o){return i(this,null,function*(){let e=yield n(this.apiService.createTerugmelding(o.payload.uploadId,o.payload.todoId)),a=p(t.getState(),l=>{l.todos[e.id]=e});t.setState(a)})}deleteTodo(t,o){return i(this,null,function*(){yield n(this.apiService.deleteTodo(o.payload.uploadId,o.payload.todoId));let e=p(t.getState(),a=>{delete a.todos[o.payload.todoId]});t.setState(e)})}},u=r,r.\u0275fac=function(o){return new(o||r)(g(O))},r.\u0275prov=f({token:r,factory:r.\u0275fac}),r);s([c(v)],d.prototype,"listTodosForUpload",null);s([c(w)],d.prototype,"setSelectedTodoId",null);s([c(F)],d.prototype,"createTodo",null);s([c(b)],d.prototype,"updateTodo",null);s([c(U)],d.prototype,"createTerugmeldingForTodo",null);s([c(j)],d.prototype,"deleteTodo",null);s([y([d])],d,"todos",null);s([y([d])],d,"selectedTodo",null);s([y([d])],d,"newestTodoId",null);d=u=s([h({name:"todos",defaults:k})],d);export{d as a};
//# sourceMappingURL=chunk-SOZYT6AJ.js.map