File tree 10 files changed +97
-60
lines changed
10 files changed +97
-60
lines changed Original file line number Diff line number Diff line change @@ -28,7 +28,6 @@ let ctx = await esbuild.context({
28
28
"./ui/png/ios/180.png" ,
29
29
"./ui/js/index.js" ,
30
30
"./ui/js/helper.js" ,
31
- "./ui/js/edit-task.js" ,
32
31
"./node_modules/htmx-ext-path-deps/path-deps.js" ,
33
32
"./node_modules/htmx-ext-json-enc/json-enc.js" ,
34
33
"./node_modules/htmx-ext-client-side-templates/client-side-templates.js" ,
Original file line number Diff line number Diff line change 1
- :~ title+'Maat (alpha )'
1
+ :~ title+'Maat (beta )'
2
2
info+'A todo app'
3
3
color+0xff.fff3
4
4
image+'https://raw.githubusercontent.com/matthiasschaub/maat/main/ui/png/ios/512.png'
Original file line number Diff line number Diff line change 103
103
hx-get ="/api/lists/{gid} "
104
104
hx-trigger ="load "
105
105
hx-ext ="client-side-templates "
106
- mustache-template ="list-template "
106
+ mustache-template ="list_edit__template "
107
107
> </ div >
108
- < template id ="list-template ">
108
+ < template id ="list_edit__template ">
109
109
< h1 > Update {{host}}/{{title}}</ h1 >
110
110
< form
111
111
id ="update-list "
@@ -117,26 +117,24 @@ <h1>Update {{host}}/{{title}}</h1>
117
117
< fieldset class ="stack ">
118
118
< label for ="update-title "> Title:</ label >
119
119
< input
120
- autocomplete ="false "
121
120
id ="update-title "
122
121
name ="title "
123
- placeholder =" {{title}} "
124
- required
122
+ aria-label =" Title "
123
+ autocomplete =" false "
125
124
spellcheck ="false "
126
125
type ="text "
127
- aria-label ="Title "
126
+ value ="{{title}} "
127
+ required
128
128
/>
129
129
< label for ="update-public "> Public:</ label >
130
130
< select
131
- autocomplete ="false "
132
131
id ="update-public "
133
132
name ="public "
134
- required
135
- spellcheck ="false "
133
+ aria-label ="Public "
136
134
type ="text "
137
- aria-label =" Title "
135
+ required
138
136
>
139
- < option hidden disabled selected value > -- select an option --</ option >
137
+ < option hidden disabled selected value > -- Select an option --</ option >
140
138
< option > Yes</ option >
141
139
< option > No</ option >
142
140
</ select >
Original file line number Diff line number Diff line change @@ -104,9 +104,9 @@ <h1>Update Task</h1>
104
104
hx-get ="/api/lists/{gid}/tasks/{tid} "
105
105
hx-trigger ="load "
106
106
hx-ext ="client-side-templates,client-side-formats "
107
- mustache-template ="task-template "
107
+ mustache-template ="task_edit__template "
108
108
> </ div >
109
- < template id ="task-template ">
109
+ < template id ="task_edit__template ">
110
110
< form
111
111
id ="update-task "
112
112
hx-put ="/api/lists/{{gid}}/tasks "
@@ -118,15 +118,14 @@ <h1>Update Task</h1>
118
118
< fieldset class ="stack ">
119
119
< label for ="update-title "> Title:</ label >
120
120
< input
121
- autocomplete ="false "
122
121
id ="update-title "
123
122
name ="title "
124
- placeholder ="{{title}} "
125
- required
126
- spellcheck ="false "
127
- type ="text "
128
123
aria-label ="Title "
124
+ type ="text "
129
125
value ="{{title}} "
126
+ autocomplete ="false "
127
+ spellcheck ="false "
128
+ required
130
129
/>
131
130
< div class ="stack--1 ">
132
131
< label for ="update-desc "> Description:</ label >
@@ -167,7 +166,20 @@ <h1>Update Task</h1>
167
166
</ button >
168
167
</ fieldset >
169
168
</ form >
170
- < script src ="/apps/maat/edit-task.js "> </ script >
169
+ < script >
170
+ document
171
+ . getElementById ( "update" )
172
+ . addEventListener ( "htmx:afterSettle" , ( _event ) => {
173
+ document . querySelectorAll ( "textarea" ) . forEach ( ( element ) => {
174
+ element . dispatchEvent (
175
+ new Event ( "input" , {
176
+ bubbles : true ,
177
+ cancelable : true ,
178
+ } ) ,
179
+ ) ;
180
+ } ) ;
181
+ } ) ;
182
+ </ script >
171
183
</ template >
172
184
173
185
</ main >
Original file line number Diff line number Diff line change 130
130
< form >
131
131
< fieldset class ="stack ">
132
132
< label for ="update-title "> Title:</ label >
133
- < input type ="text " aria-label ="Title " value ="{{title}} " disabled />
133
+ < input type ="text " aria-label ="Title " value ="{{title}} " disabled />
134
134
< div class ="stack--1 ">
135
135
< label for ="update-desc "> Description:</ label >
136
136
< div class ="grow-wrap ">
157
157
</ button >
158
158
</ fieldset >
159
159
</ form >
160
- < script src ="/apps/maat/edit-task.js "> </ script >
160
+ < script >
161
+ document
162
+ . getElementById ( "update" )
163
+ . addEventListener ( "htmx:afterSettle" , ( _event ) => {
164
+ document . querySelectorAll ( "textarea" ) . forEach ( ( element ) => {
165
+ element . dispatchEvent (
166
+ new Event ( "input" , {
167
+ bubbles : true ,
168
+ cancelable : true ,
169
+ } ) ,
170
+ ) ;
171
+ } ) ;
172
+ } ) ;
173
+ </ script >
161
174
</ template >
162
175
163
176
</ main >
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -42,7 +42,6 @@ htmx.defineExtension("json-enc-maat", {
42
42
xhr . overrideMimeType ( "text/json" ) ;
43
43
44
44
const params = JSON . parse ( JSON . stringify ( parameters ) ) ;
45
- console . log ( params ) ;
46
45
47
46
// send tags as list
48
47
if ( Object . keys ( params ) . includes ( "tags" ) ) {
@@ -59,9 +58,14 @@ htmx.defineExtension("json-enc-maat", {
59
58
60
59
// send public flag as boolean
61
60
if ( Object . keys ( params ) . includes ( "public" ) ) {
62
- // cast to bool
63
- params . public = params . public === "true" ;
64
- // console.log(params.public === "true");
61
+ if ( params . public === "Yes" ) {
62
+ params . public = true ;
63
+ } else if ( params . public === "No" ) {
64
+ params . public = false ;
65
+ } else {
66
+ // cast to bool
67
+ params . public = params . public === "true" ;
68
+ }
65
69
}
66
70
67
71
// send done flag as boolean
Original file line number Diff line number Diff line change 4
4
hx-get ="/api/lists/{gid} "
5
5
hx-trigger ="load "
6
6
hx-ext ="client-side-templates "
7
- mustache-template ="list-template "
7
+ mustache-template ="list_edit__template "
8
8
> </ div >
9
- < template id ="list-template ">
9
+ < template id ="list_edit__template ">
10
10
< h1 > Update {{host}}/{{title}}</ h1 >
11
11
< form
12
12
id ="update-list "
@@ -18,26 +18,24 @@ <h1>Update {{host}}/{{title}}</h1>
18
18
< fieldset class ="stack ">
19
19
< label for ="update-title "> Title:</ label >
20
20
< input
21
- autocomplete ="false "
22
21
id ="update-title "
23
22
name ="title "
24
- placeholder =" {{title}} "
25
- required
23
+ aria-label =" Title "
24
+ autocomplete =" false "
26
25
spellcheck ="false "
27
26
type ="text "
28
- aria-label ="Title "
27
+ value ="{{title}} "
28
+ required
29
29
/>
30
30
< label for ="update-public "> Public:</ label >
31
31
< select
32
- autocomplete ="false "
33
32
id ="update-public "
34
33
name ="public "
35
- required
36
- spellcheck ="false "
34
+ aria-label ="Public "
37
35
type ="text "
38
- aria-label =" Title "
36
+ required
39
37
>
40
- < option hidden disabled selected value > -- select an option --</ option >
38
+ < option hidden disabled selected value > -- Select an option --</ option >
41
39
< option > Yes</ option >
42
40
< option > No</ option >
43
41
</ select >
Original file line number Diff line number Diff line change @@ -5,9 +5,9 @@ <h1>Update Task</h1>
5
5
hx-get ="/api/lists/{gid}/tasks/{tid} "
6
6
hx-trigger ="load "
7
7
hx-ext ="client-side-templates,client-side-formats "
8
- mustache-template ="task-template "
8
+ mustache-template ="task_edit__template "
9
9
> </ div >
10
- < template id ="task-template ">
10
+ < template id ="task_edit__template ">
11
11
< form
12
12
id ="update-task "
13
13
hx-put ="/api/lists/{{gid}}/tasks "
@@ -19,15 +19,14 @@ <h1>Update Task</h1>
19
19
< fieldset class ="stack ">
20
20
< label for ="update-title "> Title:</ label >
21
21
< input
22
- autocomplete ="false "
23
22
id ="update-title "
24
23
name ="title "
25
- placeholder ="{{title}} "
26
- required
27
- spellcheck ="false "
28
- type ="text "
29
24
aria-label ="Title "
25
+ type ="text "
30
26
value ="{{title}} "
27
+ autocomplete ="false "
28
+ spellcheck ="false "
29
+ required
31
30
/>
32
31
< div class ="stack--1 ">
33
32
< label for ="update-desc "> Description:</ label >
@@ -68,5 +67,18 @@ <h1>Update Task</h1>
68
67
</ button >
69
68
</ fieldset >
70
69
</ form >
71
- < script src ="/apps/maat/edit-task.js "> </ script >
70
+ < script >
71
+ document
72
+ . getElementById ( "update" )
73
+ . addEventListener ( "htmx:afterSettle" , ( _event ) => {
74
+ document . querySelectorAll ( "textarea" ) . forEach ( ( element ) => {
75
+ element . dispatchEvent (
76
+ new Event ( "input" , {
77
+ bubbles : true ,
78
+ cancelable : true ,
79
+ } ) ,
80
+ ) ;
81
+ } ) ;
82
+ } ) ;
83
+ </ script >
72
84
</ template >
Original file line number Diff line number Diff line change 18
18
< form >
19
19
< fieldset class ="stack ">
20
20
< label for ="update-title "> Title:</ label >
21
- < input type ="text " aria-label ="Title " value ="{{title}} " disabled />
21
+ < input type ="text " aria-label ="Title " value ="{{title}} " disabled />
22
22
< div class ="stack--1 ">
23
23
< label for ="update-desc "> Description:</ label >
24
24
< div class ="grow-wrap ">
45
45
</ button >
46
46
</ fieldset >
47
47
</ form >
48
- < script src ="/apps/maat/edit-task.js "> </ script >
48
+ < script >
49
+ document
50
+ . getElementById ( "update" )
51
+ . addEventListener ( "htmx:afterSettle" , ( _event ) => {
52
+ document . querySelectorAll ( "textarea" ) . forEach ( ( element ) => {
53
+ element . dispatchEvent (
54
+ new Event ( "input" , {
55
+ bubbles : true ,
56
+ cancelable : true ,
57
+ } ) ,
58
+ ) ;
59
+ } ) ;
60
+ } ) ;
61
+ </ script >
49
62
</ template >
You can’t perform that action at this time.
0 commit comments