SenY commited on
Commit
d21aed0
·
1 Parent(s): 1387b4f

postprocessのUIを個別ファイルに分離

Browse files
Files changed (2) hide show
  1. index.html +1 -32
  2. index.js +41 -0
index.html CHANGED
@@ -63,38 +63,7 @@
63
  <div class="mb-3">
64
  <label class="form-label">ポストプロセス</label>
65
  <div class="row g-2" id="postProcessContainer">
66
- <!-- ダミー -->
67
- <div class="col-md-6 col-lg-4">
68
- <div class="card h-100">
69
- <div class="card-header d-flex align-items-center">
70
- <div class="form-check mb-0">
71
- <input type="checkbox" class="form-check-input" name="postProcess" id="postProcessDummy" value="dummy">
72
- <label class="form-check-label" for="postProcessDummy">
73
- ダミー
74
- </label>
75
- </div>
76
- </div>
77
- <div class="card-body">
78
- <p class="text-muted mb-0"><small>設定はありません</small></p>
79
- </div>
80
- </div>
81
- </div>
82
- <!-- 色反転 -->
83
- <div class="col-md-6 col-lg-4">
84
- <div class="card h-100">
85
- <div class="card-header d-flex align-items-center">
86
- <div class="form-check mb-0">
87
- <input type="checkbox" class="form-check-input" name="postProcess" id="postProcessInvert" value="invert">
88
- <label class="form-check-label" for="postProcessInvert">
89
- 色反転
90
- </label>
91
- </div>
92
- </div>
93
- <div class="card-body">
94
- <p class="text-muted mb-0"><small>設定はありません</small></p>
95
- </div>
96
- </div>
97
- </div>
98
  </div>
99
  </div>
100
 
 
63
  <div class="mb-3">
64
  <label class="form-label">ポストプロセス</label>
65
  <div class="row g-2" id="postProcessContainer">
66
+ <!-- ダストプロセスのカードはJavaScriptで動的に生成されます -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  </div>
68
  </div>
69
 
index.js CHANGED
@@ -232,6 +232,44 @@ const postProcessors = {
232
  invert: new InvertPostProcess()
233
  };
234
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  /**
236
  * 選択されているポストプロセスを取得
237
  */
@@ -572,6 +610,9 @@ document.addEventListener('DOMContentLoaded', async () => {
572
 
573
  // 初期描画
574
  await renderAllPresets();
 
 
 
575
  });
576
 
577
  // 縦書きモードの切り替え時の処理
 
232
  invert: new InvertPostProcess()
233
  };
234
 
235
+ /**
236
+ * ポストプロセスのカードを生成
237
+ */
238
+ function createPostProcessCard(processor) {
239
+ const div = document.createElement('div');
240
+ div.className = 'col-md-6 col-lg-4';
241
+ div.innerHTML = `
242
+ <div class="card h-100">
243
+ <div class="card-header d-flex align-items-center">
244
+ <div class="form-check mb-0">
245
+ <input type="checkbox" class="form-check-input" name="postProcess" id="postProcess${processor.name}" value="${processor.name}">
246
+ <label class="form-check-label" for="postProcess${processor.name}">
247
+ ${processor.label}
248
+ </label>
249
+ </div>
250
+ </div>
251
+ <div class="card-body">
252
+ ${processor.ui.template}
253
+ </div>
254
+ </div>
255
+ `;
256
+ return div;
257
+ }
258
+
259
+ /**
260
+ * ポストプロセスのUIを初期化
261
+ */
262
+ function initializePostProcessUI() {
263
+ const container = document.getElementById('postProcessContainer');
264
+ container.innerHTML = '';
265
+
266
+ // 各プロセッサのカードを生成
267
+ Object.values(postProcessors).forEach(processor => {
268
+ const card = createPostProcessCard(processor);
269
+ container.appendChild(card);
270
+ });
271
+ }
272
+
273
  /**
274
  * 選択されているポストプロセスを取得
275
  */
 
610
 
611
  // 初期描画
612
  await renderAllPresets();
613
+
614
+ // ポストプロセスのUI初期化
615
+ initializePostProcessUI();
616
  });
617
 
618
  // 縦書きモードの切り替え時の処理