File tree Expand file tree Collapse file tree 2 files changed +12
-10
lines changed
Expand file tree Collapse file tree 2 files changed +12
-10
lines changed Original file line number Diff line number Diff line change @@ -2,26 +2,27 @@ import AbstractModel from '../base/AbstractModel';
22import { ITreeItem } from '../types/ITreeItem' ;
33import { computed , makeObservable , observable } from 'mobx' ;
44
5- interface ITaskModel extends ITreeItem < ITaskModel > {
5+ interface IJsonTaskModel extends ITreeItem < IJsonTaskModel > {
66 projectId : string ;
77 checked : boolean ;
88 active : boolean ;
99 time : number [ ] [ ] ;
1010}
1111
12- export default class TaskModel extends AbstractModel implements ITaskModel {
12+ export default class TaskModel extends AbstractModel {
1313 key : string = '' ;
1414 title : string = '' ;
1515 children : TaskModel [ ] = [ ] ;
1616 projectId : string = '' ;
1717 checked : boolean = false ;
1818 active : boolean = false ;
19- time : number [ ] [ ] = [ ] ;
19+ time : Date [ ] [ ] = [ ] ;
2020
21- constructor ( props : ITaskModel ) {
21+ constructor ( props : IJsonTaskModel ) {
2222 super ( ) ;
2323 this . load ( props ) ;
2424 this . children = props . children ?. map ( ( json ) => new TaskModel ( json ) ) || [ ] ;
25+ this . time = props . time . map ( ( range ) => range . map ( ( t ) => new Date ( t ) ) ) ;
2526
2627 makeObservable ( this , {
2728 key : observable ,
@@ -36,13 +37,14 @@ export default class TaskModel extends AbstractModel implements ITaskModel {
3637 }
3738
3839 get duration ( ) {
39- return this . time . reduce ( ( prev : number , range : number [ ] ) => {
40+ return this . time . reduce ( ( prev : number , range : Date [ ] ) => {
4041 if ( range . length > 0 ) {
4142 const duration =
42- ( range . length === 2 ? range [ 1 ] : Date . now ( ) ) - range [ 0 ] ;
43+ ( range . length === 2 ? range [ 1 ] . getTime ( ) : Date . now ( ) ) -
44+ range [ 0 ] . getTime ( ) ;
4345 return prev + duration ;
4446 }
45- return 0 ;
47+ return prev ;
4648 } , 0 ) ;
4749 }
4850}
Original file line number Diff line number Diff line change @@ -38,10 +38,10 @@ export default class TaskStore {
3838 this . activeTask = task ;
3939 task . time . forEach ( ( range ) => {
4040 if ( range . length === 1 ) {
41- range [ 1 ] = Date . now ( ) ;
41+ range [ 1 ] = new Date ( ) ;
4242 }
4343 } ) ;
44- task . time . push ( [ Date . now ( ) ] ) ;
44+ task . time . push ( [ new Date ( ) ] ) ;
4545 task . active = true ;
4646 this . tasksService . save ( this . tasks ) ;
4747 }
@@ -50,7 +50,7 @@ export default class TaskStore {
5050 this . activeTask = undefined ;
5151 task . active = false ;
5252 const range = task . time [ task . time . length - 1 ] ;
53- range . push ( Date . now ( ) ) ;
53+ range . push ( new Date ( ) ) ;
5454 this . tasksService . save ( this . tasks ) ;
5555 }
5656
You can’t perform that action at this time.
0 commit comments