@@ -90,7 +90,113 @@ window.addEventListener("DOMContentLoaded", () => {
9090 }
9191 } ) ;
9292 } ) ;
93- } )
93+ } ) ;
94+
95+ new DOM ( "@.mdc-list.mdc-list--editable" ) . forEach ( list => {
96+ const listUuid = new DOM . Randomizer ( ) . generate ( 16 ) ;
97+
98+ list . id = `MDCEditableList-${ listUuid } ` ;
99+ list . querySelector ( ".mdc-list-info" ) . querySelector ( ".mdc-list-info__add" ) . addEventListener ( "click" , ( ) => {
100+ console . log ( "Add" ) ;
101+
102+ let listItem = new DOM ( "Li" , {
103+ classes : [ "mdc-list-item" ] ,
104+
105+ children : [
106+ new DOM ( "Div" , {
107+ classes : [ "mdc-list-item__form" ] ,
108+
109+ children : [
110+ ( ( ) => {
111+ const uuid = new DOM . Randomizer ( ) . generate ( 16 ) ;
112+
113+ let linkTitle = new DOM ( "Div" , {
114+ classes : [ "mdc-list-item__link-title" , "mdc-text-field" ] ,
115+
116+ children : [
117+ new DOM ( "Input" , {
118+ id : `MDCEditableList-${ listUuid } _LinkTitle-${ uuid } ` ,
119+ classes : [ "mdc-text-field__input" ] ,
120+
121+ attributes : {
122+ Type : "Text"
123+ }
124+ } ) ,
125+
126+ new DOM ( "Label" , {
127+ classes : [ "mdc-text-field__label" ] ,
128+ text : "タイトル" ,
129+
130+ attributes : { For : `MDCEditableList-${ listUuid } _LinkTitle-${ uuid } ` } ,
131+ dataset : { locales : "profile.url.title" }
132+ } ) ,
133+
134+ new DOM ( "Div" , {
135+ classes : [ "mdc-text-field__bottom-line" ]
136+ } )
137+ ]
138+ } ) ;
139+
140+ new mdc . textField . MDCTextField ( linkTitle ) ;
141+ locales . applyToElement ( linkTitle . querySelector ( "Label" ) ) ;
142+
143+ return linkTitle ;
144+ } ) ( ) ,
145+
146+ ( ( ) => {
147+ const uuid = new DOM . Randomizer ( ) . generate ( 16 ) ;
148+
149+ let linkValue = new DOM ( "Div" , {
150+ classes : [ "mdc-list-item__link-value" , "mdc-text-field" ] ,
151+
152+ children : [
153+ new DOM ( "Input" , {
154+ id : `MDCEditableList-${ listUuid } _LinkValue-${ uuid } ` ,
155+ classes : [ "mdc-text-field__input" ] ,
156+
157+ attributes : {
158+ Type : "URL"
159+ }
160+ } ) ,
161+
162+ new DOM ( "Label" , {
163+ classes : [ "mdc-text-field__label" ] ,
164+ text : "URL" ,
165+
166+ attributes : { For : `MDCEditableList-${ listUuid } _LinkValue-${ uuid } ` } ,
167+ dataset : { locales : "profile.url.value" }
168+ } ) ,
169+
170+ new DOM ( "Div" , {
171+ classes : [ "mdc-text-field__bottom-line" ]
172+ } )
173+ ]
174+ } ) ;
175+
176+ new mdc . textField . MDCTextField ( linkValue ) ;
177+ locales . applyToElement ( linkValue . querySelector ( "Label" ) ) ;
178+
179+ return linkValue ;
180+ } ) ( )
181+ ]
182+ } ) ,
183+
184+ new DOM ( "A" , {
185+ classes : [ "mdc-list-item__end-detail" , "material-icons" , "mdc-list-item__remove" ] ,
186+ text : "remove" ,
187+
188+ events : {
189+ click ( event ) {
190+ event . target . parentNode . remove ( ) ;
191+ }
192+ }
193+ } )
194+ ]
195+ } ) ;
196+
197+ list . appendChild ( listItem ) ;
198+ } ) ;
199+ } ) ;
94200
95201
96202
0 commit comments