@@ -230,7 +230,7 @@ class RfcUi {
230
230
231
231
document . addEventListener ( 'DOMContentLoaded' , function ( ) {
232
232
const rfcList = new RfcListUi ( ) ;
233
- rfcList . dispInit ( ) ;
233
+ rfcList . setup ( ) ;
234
234
} ) ;
235
235
236
236
@@ -244,11 +244,13 @@ class RfcListUi {
244
244
this . rfcSearchIndex = { } ;
245
245
}
246
246
247
- dispInit ( ) {
247
+ // 初期設定
248
+ setup ( ) {
248
249
this . _createIndex ( ) ;
249
250
// console.log("rfcSearchIndex:", this.rfcSearchIndex);
250
- const domSearchRfc = document . querySelector ( '#searchRfc' )
251
+ const domSearchRfc = document . querySelector ( '#searchRfc' ) ;
251
252
if ( domSearchRfc ) {
253
+ // RFCタイトル検索項目入力時のイベント登録
252
254
domSearchRfc . addEventListener ( 'input' , ( ) => {
253
255
// 検索文字列が1文字以下のときは、抽出しない
254
256
if ( domSearchRfc . value . length <= 1 ) {
@@ -261,12 +263,14 @@ class RfcListUi {
261
263
}
262
264
}
263
265
266
+ // 検索処理
264
267
_search ( searchInput ) {
265
268
// console.log("searchText:", searchInput);
266
269
const matchedRfcs = this . _searchRfcSet ( this . _normalizeSearchWord ( searchInput ) ) ;
267
270
this . _renderRfcList ( matchedRfcs ) ;
268
271
}
269
272
273
+ // 検索用インデックスの作成
270
274
_createIndex ( ) {
271
275
document . querySelectorAll ( RfcListUi . QUERYSELECTOR_RFCLIST_ITEM ) . forEach ( el => {
272
276
const rfcId = el . attributes [ "id" ] . value ;
@@ -278,6 +282,7 @@ class RfcListUi {
278
282
} ) ;
279
283
}
280
284
285
+ // インデックスを利用した検索処理
281
286
_searchRfcSet ( searchInput ) {
282
287
const matchedRfcs = [ ] ;
283
288
// 検索ワードをスペース区切りで抽出する(ただし空白は除外)
@@ -297,6 +302,7 @@ class RfcListUi {
297
302
return new Set ( matchedRfcs ) ;
298
303
}
299
304
305
+ // 指定したRFC一覧の描画
300
306
_renderRfcList ( rfcNumbers ) {
301
307
document . querySelectorAll ( RfcListUi . QUERYSELECTOR_RFCLIST_ITEM ) . forEach ( el => {
302
308
const rfcId = el . attributes [ "id" ] . value ;
@@ -309,12 +315,14 @@ class RfcListUi {
309
315
} ) ;
310
316
}
311
317
318
+ // RFC一覧の描画
312
319
_renderRfcListAll ( ) {
313
320
document . querySelectorAll ( RfcListUi . QUERYSELECTOR_RFCLIST_ITEM ) . forEach ( el => {
314
321
el . classList . remove ( RfcListUi . CSSCLASS_HIDE ) ;
315
322
} ) ;
316
323
}
317
324
325
+ // 検索キーワードの静音化
318
326
_normalizeSearchWord ( word ) {
319
327
return word . replace ( / [ - ( ) / : ] / , '' )
320
328
}
0 commit comments