1- < div class ="note %%NOTEDISABLE%% " >
2- %%NOTEMSG%%
1+ < div class ="alert alert-info %%NOTEDISABLE%% " role =" alert " >
2+ %%NOTEMSG%%
33</ div >
44
55< h3 > Add task</ h3 >
6- < p > Add a task to the virtual device < code > server </ code > .</ p >
6+ < p > Add a task to the virtual device < code > Server </ code > .</ p >
77< form action ="%%SERVERURL%%/?task=record " method ="post ">
8- < table >
9- < tr >
10- < td > Category</ td >
11- < td > < input type ="text " placeholder ="Category " name ="category "> </ td >
12- </ tr >
13- < tr >
14- < td > Task</ td >
15- < td > < input type ="text " placeholder ="Task " name ="task "> </ td >
16- </ tr >
17- < tr >
18- < td > Begin</ td >
19- < td >
20- < input type ="number " placeholder ="YYYY " name ="begin_Y " size =4 max =3000 min =1970 value ="%%YEAR%% ">
21- < input type ="number " placeholder ="mm " name ="begin_m " size =2 max =12 min =1 value ="%%MON%% ">
22- < input type ="number " placeholder ="dd " name ="begin_d " size =2 max =31 min =1 value ="%%DAY%% ">
23-
24- < input type ="number " placeholder ="hh " name ="begin_H " size =2 max =23 min =0 value ="%%HOUR%% ">
25- < input type ="number " placeholder ="mm " name ="begin_i " size =2 max =59 min =0 value ="%%MIN%% ">
26- </ td >
27- </ tr >
28- < tr >
29- < td > End</ td >
30- < td >
31- < input type ="number " placeholder ="YYYY " name ="end_Y " size =4 max =3000 min =1970 value ="%%YEAR%% ">
32- < input type ="number " placeholder ="mm " name ="end_m " size =2 max =12 min =1 value ="%%MON%% ">
33- < input type ="number " placeholder ="dd " name ="end_d " size =2 max =31 min =1 value ="%%DAY%% ">
34-
35- < input type ="number " placeholder ="hh " name ="end_H " size =2 max =23 min =0 >
36- < input type ="number " placeholder ="mm " name ="end_i " size =2 max =59 min =0 >
37- </ td >
38- </ tr >
39- < tr >
40- < td > </ td >
41- < td > < input type ="submit " value ="Add task "> </ td >
42- </ tr >
43- </ table >
8+ < div class ="form-group row ">
9+ < label for ="category " class ="col-sm-2 col-form-label "> Category</ label >
10+ < div class ="col-sm-10 ">
11+ < input type ="text " placeholder ="Category " name ="category " id ="category " class ="form-control ">
12+ </ div >
13+ </ div >
14+ < div class ="form-group row ">
15+ < label for ="task " class ="col-sm-2 col-form-label "> Task</ label >
16+ < div class ="col-sm-10 ">
17+ < input type ="text " placeholder ="Task " name ="task " id ="task " class ="form-control ">
18+ </ div >
19+ </ div >
20+ < div class ="form-group row ">
21+ < label class ="col-sm-2 col-form-label ">
22+ Begin
23+ </ label >
24+ < div class ="input-group col-sm-10 ">
25+ < input type ="number " placeholder ="YYYY " name ="begin_Y " size =4 max =3000 min =1970 value ="%%YEAR%% " class ="form-control ">
26+ < input type ="number " placeholder ="mm " name ="begin_m " size =2 max =12 min =1 value ="%%MON%% " class ="form-control ">
27+ < input type ="number " placeholder ="dd " name ="begin_d " size =2 max =31 min =1 value ="%%DAY%% " class ="form-control ">
28+ < button type ="button " class ="btn btn-light " id ="beginDialog "> 📅</ button >
29+
30+ < input type ="number " placeholder ="hh " name ="begin_H " size =2 max =23 min =0 value ="%%HOUR%% " class ="form-control ">
31+ < input type ="number " placeholder ="mm " name ="begin_i " size =2 max =59 min =0 value ="%%MIN%% " class ="form-control ">
32+ </ div >
33+ </ div >
34+ < div class ="form-group row ">
35+ < label class ="col-sm-2 col-form-label ">
36+ End
37+ </ label >
38+ < div class ="input-group col-sm-10 ">
39+ < input type ="number " placeholder ="YYYY " name ="end_Y " size =4 max =3000 min =1970 value ="%%YEAR%% " class ="form-control ">
40+ < input type ="number " placeholder ="mm " name ="end_m " size =2 max =12 min =1 value ="%%MON%% " class ="form-control ">
41+ < input type ="number " placeholder ="dd " name ="end_d " size =2 max =31 min =1 value ="%%DAY%% " class ="form-control ">
42+ < button type ="button " class ="btn btn-light " id ="endDialog "> 📅</ button >
43+
44+ < input type ="number " placeholder ="hh " name ="end_H " size =2 max =23 min =0 class ="form-control ">
45+ < input type ="number " placeholder ="mm " name ="end_i " size =2 max =59 min =0 class ="form-control ">
46+ </ div >
47+ </ div >
48+ < div class ="form-group row ">
49+ < div class ="col-sm-2 "> </ div >
50+ < div class ="col-sm-10 ">
51+ < input type ="submit " value ="Add task " class ="btn btn-secondary ">
52+ </ div >
53+ </ div >
4454</ form >
55+ < input type ="hidden " id ="datepickerBegin ">
56+ < input type ="hidden " id ="datepickerEnd ">
57+
58+ < script >
59+ var usedTasksCategories = localStorage . hasOwnProperty ( 'usedTasksCategories' ) ?
60+ JSON . parse ( localStorage . getItem ( 'usedTasksCategories' ) ) : {
61+ "categories" : [ ] ,
62+ "tasks" : [ ]
63+ } ;
64+ if ( sessionStorage . hasOwnProperty ( 'lastServerTask' ) ) {
65+ var values = JSON . parse ( sessionStorage . getItem ( 'lastServerTask' ) ) ;
66+ $ . each ( values , ( k , v ) => {
67+ $ ( 'input[name="' + k + '"]' ) . val ( v ) ;
68+ } ) ;
69+ }
70+ $ ( "input#category" ) . autocomplete ( {
71+ source : usedTasksCategories . categories ,
72+ minLength : 1
73+ } ) ;
74+ $ ( "input#task" ) . autocomplete ( {
75+ source : usedTasksCategories . tasks ,
76+ minLength : 1
77+ } ) ;
78+ $ ( "form" ) . on ( "submit" , ( ) => {
79+ usedTasksCategories . categories . push ( $ ( "input#category" ) . val ( ) ) ;
80+ usedTasksCategories . tasks . push ( $ ( "input#task" ) . val ( ) ) ;
81+ localStorage . setItem ( 'usedTasksCategories' , JSON . stringify ( usedTasksCategories ) ) ;
82+ var values = { } ;
83+ $ ( "input" ) . each ( ( k , v ) => {
84+ values [ $ ( v ) . attr ( "name" ) ] = $ ( v ) . val ( ) ;
85+ } ) ;
86+ sessionStorage . setItem ( 'lastServerTask' , JSON . stringify ( values ) ) ;
87+ } ) ;
88+ function dateDialog ( element , elements ) {
89+ var pos = $ ( elements [ 0 ] ) . offset ( ) ;
90+ $ ( element ) . datepicker (
91+ "dialog" ,
92+ $ ( elements [ 0 ] ) . val ( ) + "-" + $ ( elements [ 1 ] ) . val ( ) + "-" + $ ( elements [ 2 ] ) . val ( ) ,
93+ function ( v , o ) {
94+ $ ( elements [ 0 ] ) . val ( o . selectedYear ) ;
95+ $ ( elements [ 1 ] ) . val ( o . selectedMonth + 1 ) ;
96+ $ ( elements [ 2 ] ) . val ( o . selectedDay ) ;
97+ } ,
98+ { } ,
99+ [ pos . left , pos . top ]
100+ ) ;
101+ }
102+ $ ( "#beginDialog" ) . click ( ( e ) => {
103+ e . preventDefault ( ) ;
104+ dateDialog ( "input#datepickerBegin" , [ "input[name=begin_Y]" , "input[name=begin_m]" , "input[name=begin_d]" ] ) ;
105+ } ) ;
106+ $ ( "#endDialog" ) . click ( ( e ) => {
107+ e . preventDefault ( ) ;
108+ dateDialog ( "input#datepickerEnd" , [ "input[name=end_Y]" , "input[name=endn_m]" , "input[name=end_d]" ] ) ;
109+ } ) ;
110+ </ script >
45111
46112< h3 > Delete task</ h3 >
47- < p > Delete tasks of the virtual device < code > server </ code > .</ p >
113+ < p > Delete tasks of the virtual device < code > Server </ code > .</ p >
48114
49115< div class ="%%DAYDISABLED%% ">
50116 < h4 > Tasks < code > %%SELCTEDDAY%%</ code > </ h4 >
@@ -62,15 +128,15 @@ <h4>Tasks <code>%%SELCTEDDAY%%</code></h4>
62128 < td > %%NAME%%</ td >
63129 < td > %%BEGIN%%</ td >
64130 < td > %%END%%</ td >
65- < td > < a href ="%%SERVERURL%%/?task=record&day=%%SELCTEDDAY%%&delete=%%ID%% " onclick ="return confirm('Delete %%NAME%% starting %%BEGIN%%?'); "> Delete</ a > </ td >
131+ < td > < a href ="%%SERVERURL%%/?task=record&day=%%SELCTEDDAY%%&delete=%%ID%% " onclick ="return confirm('Delete \' %%NAME%%\' starting \' %%BEGIN%%\' ?'); "> < button type =" button " class =" btn btn-danger " > Delete</ button > </ a > </ td >
66132 </ tr >
67133 <!--MULTIPLE-Day-END-->
68134 </ table >
69135</ div >
70136
71137< h4 > Days</ h4 >
72- < ul >
138+ < ul class =" list-group " >
73139 <!--MULTIPLE-Days-BEGIN-->
74- < li > < a href ="%%SERVERURL%%/?task=record&day=%%DAY%% "> < code > %%DAY%%</ code > </ a > </ li >
140+ < li class =" list-group-item " > < a href ="%%SERVERURL%%/?task=record&day=%%DAY%% "> < code > %%DAY%%</ code > </ a > </ li >
75141 <!--MULTIPLE-Days-END-->
76142</ ul >
0 commit comments