@@ -3,7 +3,7 @@ import { autorun, makeAutoObservable } from 'mobx';
33import TaskService from './TaskService' ;
44import TaskModel , { ITimeRangeModel } from './models/TaskModel' ;
55import TasksByProject from '../../modules/tasks/models/TasksByProject' ;
6- import TreeModelStoreHelper from '../../base/TreeModelStoreHelper ' ;
6+ import TreeModelHelper from '../../base/TreeModelHelper ' ;
77import BadgeService from '../BadgeService' ;
88import { RootStore } from '../RootStore' ;
99import GaService from '../../services/gaService/GaService' ;
@@ -29,8 +29,8 @@ export default class TaskStore {
2929 } ) ;
3030 }
3131
32- set ( projectId : string , tasks : TaskModel [ ] ) {
33- this . tasks [ projectId ] = tasks ;
32+ set ( projectId : string , tasksInProject : TaskModel [ ] ) {
33+ this . tasks [ projectId ] = tasksInProject ;
3434 this . tasksService . save ( this . tasks ) ;
3535 }
3636
@@ -59,7 +59,7 @@ export default class TaskStore {
5959 }
6060
6161 for ( const tasks of Object . values ( this . tasks ) ) {
62- const found = TreeModelStoreHelper . getItemRecursive ( tasks , condition ) ;
62+ const found = TreeModelHelper . getItemRecursive ( tasks , condition ) ;
6363 if ( found ) {
6464 return found ;
6565 }
@@ -75,7 +75,7 @@ export default class TaskStore {
7575 }
7676
7777 for ( const tasks of Object . values ( this . tasks ) ) {
78- TreeModelStoreHelper . getFlatItemsRecursiveBase ( tasks , condition , result ) ;
78+ TreeModelHelper . getFlatItemsRecursiveBase ( tasks , condition , result ) ;
7979 }
8080 return result ;
8181 }
@@ -100,7 +100,7 @@ export default class TaskStore {
100100
101101 for ( const projectKey in this . tasks ) {
102102 if ( this . tasks . hasOwnProperty ( projectKey ) ) {
103- this . tasks [ projectKey ] = TreeModelStoreHelper . deleteItems (
103+ this . tasks [ projectKey ] = TreeModelHelper . deleteItems (
104104 this . tasks [ projectKey ] ,
105105 condition
106106 ) ;
@@ -159,22 +159,30 @@ export default class TaskStore {
159159 }
160160
161161 if ( Array . isArray ( this . tasks [ projectId ] ) ) {
162- this . checkTasksRecursive ( this . tasks [ projectId ] , taskIds , checkTaskFn ) ;
162+ TreeModelHelper . modifyItemsWithIdsRecursive < TaskModel > (
163+ this . tasks [ projectId ] ,
164+ taskIds ,
165+ checkTaskFn
166+ ) ;
167+
168+ this . set ( projectId , this . tasks [ projectId ] . slice ( ) ) ;
163169 }
164- this . tasksService . save ( this . tasks ) ;
165170 GaService . event ( EEventCategory . Tasks , ETasksEvents . Check ) ;
166171 }
167172
168- tasksMarkExpanded ( projectId : string , taskIds : string [ ] ) {
169- function markExpanded ( task : TaskModel , taskIds : string [ ] ) {
173+ markExpanded ( projectId : string , taskIds : string [ ] ) {
174+ const markExpanded = ( task : TaskModel , taskIds : string [ ] ) => {
170175 task . expanded = taskIds . includes ( task . key ) ;
171- }
176+ } ;
172177
173178 if ( Array . isArray ( this . tasks [ projectId ] ) ) {
174- this . checkTasksRecursive ( this . tasks [ projectId ] , taskIds , markExpanded ) ;
179+ TreeModelHelper . modifyItemsWithIdsRecursive < TaskModel > (
180+ this . tasks [ projectId ] ,
181+ taskIds ,
182+ markExpanded
183+ ) ;
175184
176- this . tasks [ projectId ] = this . tasks [ projectId ] . slice ( ) ;
177- this . tasksService . save ( this . tasks ) ;
185+ this . set ( projectId , this . tasks [ projectId ] . slice ( ) ) ;
178186 }
179187 }
180188
@@ -183,7 +191,7 @@ export default class TaskStore {
183191 condition : ( task : TaskModel ) => boolean
184192 ) {
185193 if ( Array . isArray ( this . tasks [ projectId ] ) ) {
186- return TreeModelStoreHelper . getFlatItemsRecursive (
194+ return TreeModelHelper . getFlatItemsRecursive (
187195 this . tasks [ projectId ] ,
188196 condition
189197 ) . map ( ( task ) => task . key ) ;
@@ -206,20 +214,7 @@ export default class TaskStore {
206214 return task . active ;
207215 }
208216
209- return TreeModelStoreHelper . getItemRecursive ( tasks , condition ) ;
210- }
211-
212- private checkTasksRecursive (
213- tasks : TaskModel [ ] ,
214- taskIds : string [ ] ,
215- fn : ( task : TaskModel , taskIds : string [ ] ) => void
216- ) {
217- tasks . forEach ( ( task ) => {
218- fn ( task , taskIds ) ;
219- if ( Array . isArray ( task . children ) ) {
220- this . checkTasksRecursive ( task . children , taskIds , fn ) ;
221- }
222- } ) ;
217+ return TreeModelHelper . getItemRecursive ( tasks , condition ) ;
223218 }
224219
225220 private setupReminder ( task ?: TaskModel ) {
0 commit comments