92
92
<div class =" pass-icon" >
93
93
<i class =" fas fa-key" ></i >
94
94
</div >
95
- <form >
95
+ <form @submit.prevent >
96
96
<input v-on:keyup.enter =" login()" type =" password" placeholder =" Password" v-model =" password" >
97
97
</form >
98
98
</div >
114
114
<span class =" list-menu-item" @click =" selectList(item)" >{{ item.Name }}<span v-if =" item.ID == account.Favorite" class =" fa fa-star fav-size" > </span ></span >
115
115
</a >
116
116
</div >
117
- <md-button class =" md-default md-raised" @click =" logout()" >Logout</md-button >
118
117
<span style =" font-size : 0.8rem ;" >Logged in as <span style =" font-size : 0.8rem ; color : #fff ;" >{{ account.User }}</span ></span >
118
+ <md-button class =" md-default md-raised" @click =" logout()" >Logout</md-button >
119
119
</Slide >
120
120
<div v-if =" nolists" >
121
121
<md-button class =" md-primary md-raised" @click =" newListActive = true" >Create your first list</md-button >
164
164
</div >
165
165
<div >
166
166
</div >
167
- <div class =" todo-list list-list" >
168
- <SlickList @sort-start =" sortStart($event)" helperClass =" drag-helper" :transitionDuration =" 0" :lockToContainerEdges =" true" :pressDelay =" 350" @input =" sortEnd" lockAxis =" y" v-model =" todoList" >
167
+ <div class =" todo-list list-list" id = " todolist " >
168
+ <SlickList :shouldCancelStart = " cancelSort " @sort-start =" sortStart($event)" helperClass =" drag-helper" :transitionDuration =" 0" :lockToContainerEdges =" true" :pressDelay =" 350" @input =" sortEnd" lockAxis =" y" v-model =" todoList" >
169
169
<SlickItem v-on:dblclick.native =" changeTitle(item)" :style =" {height: item.itemSize+'px'}" :index =" index" class =" item" :class =" {'show': item.show}" v-for =" (item, index) in todoList" :key =" item.ID" >
170
170
<div class =" item-checkbox" >
171
171
<i v-if =" !item.Complete" class =" fas fa-square" @click =" completeItem(item)" ></i >
207
207
<div class =" show-completed" v-if =" completedToDoList.length > 0" >
208
208
<div class =" button" @click =" showCompletedList = !showCompletedList" >
209
209
<span v-if =" !showCompletedList" >show</span ><span v-else >hide</span >
210
- completed to-do's
210
+ completed ({{ completedToDoList.length }})
211
211
</div >
212
212
</div >
213
213
<div class =" todo-list complete-list" v-if =" showCompletedList" >
246
246
<md-button class =" md-accent md-raised" @click =" clearTime(item);" >Clear</md-button >
247
247
</div >
248
248
</div >
249
+ <md-button class =" md-accent md-raised" @click =" clearCompleted();" >Clear Completed</md-button >
249
250
</div >
250
251
<div v-if =" activelist != undefined && activelist != ''" >
251
252
<md-dialog-confirm
@@ -336,7 +337,7 @@ export default {
336
337
if (that .loggedIn ) {
337
338
that .periodcalUpdate ();
338
339
}
339
- }, 2000 );
340
+ }, 5000 );
340
341
}
341
342
} else {
342
343
// Check if admin has been created.
@@ -519,7 +520,6 @@ export default {
519
520
if (that .activelist .Share == null ) {
520
521
that .activelist .Share = [];
521
522
}
522
- console .log (userData);
523
523
if (userData != " " ) {
524
524
that .activelist .Share .push (userData);
525
525
}
@@ -528,6 +528,21 @@ export default {
528
528
error: that .handleError
529
529
});
530
530
},
531
+ // Clear completed items for list
532
+ clearCompleted () {
533
+ var that = this ;
534
+ $ .ajax ({
535
+ type: " POST" ,
536
+ url: " /api/deletecompleted" ,
537
+ data: JSON .stringify (this .activelist ),
538
+ beforeSend: that .setHeader ,
539
+ success : function () {
540
+ that .selectList (that .activelist );
541
+ that .showCompletedList = false ;
542
+ },
543
+ error: that .handleError
544
+ });
545
+ },
531
546
// Delete the current list
532
547
deleteList () {
533
548
var that = this ;
@@ -683,8 +698,16 @@ export default {
683
698
});
684
699
this .newListName = " " ;
685
700
},
701
+ // Dont allow dragging while having date selector up
702
+ cancelSort () {
703
+ if ($ (" .vdatetime-popup" ).length != 0 ) {
704
+ return true ;
705
+ }
706
+ return false ;
707
+ },
686
708
// Sorting event for moving an item in the list
687
709
sortStart () {
710
+ // Do not trigger drag if we have date selector up
688
711
let newCanvas = document .querySelector (' .drag-helper' )
689
712
var text = newCanvas .innerText ;
690
713
newCanvas .innerHTML = " <div style=" +
@@ -767,12 +790,12 @@ export default {
767
790
$ (' #inp_' + item .ID ).keyup (function (e ){
768
791
// Cancel
769
792
if (e .keyCode == 27 ) {
770
- $ (' #' + item .ID ).html (item .Title );
793
+ $ (' #' + item .ID ).text (item .Title );
771
794
}
772
795
// Save
773
796
if (e .keyCode == 13 ) {
774
797
item .Title = $ (' #inp_' + item .ID ).val ();
775
- $ (' #' + item .ID ).html (item .Title );
798
+ $ (' #' + item .ID ).text (item .Title );
776
799
that .saveItem (item);
777
800
}
778
801
});
@@ -1118,7 +1141,7 @@ export default {
1118
1141
& ::before {
1119
1142
content : ' ' ;
1120
1143
position : absolute ;
1121
- top : 30 px ;
1144
+ top : 20 px ;
1122
1145
width : calc (100% - 120px );
1123
1146
margin : 0 40px ;
1124
1147
border-bottom : 2px solid #555 ;
0 commit comments