注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください。
/* 折り畳みボックス用のJS */
function expandableBoxFunc() {
    // 'custom-template-expandable-box' クラスを持つ要素をすべて取得
    var expandableBoxes = document.querySelectorAll('.custom-template-expandable-box');

    expandableBoxes.forEach(function(box) {
        var header = box.querySelector('.custom-template-expandable-box-header');
        var contents = box.querySelector('.custom-template-expandable-box-contents');
        var toggleLabel = box.querySelector('.custom-template-expandable-box-toggle-label');

        // contents と toggleLabel が存在するか確認
        if (!contents || !toggleLabel) {
            return; // 必要な要素がなければスキップ
        }

        // `opened` パラメータの状態を読み取る
        var isOpenedInitially = box.getAttribute('data-opened') === 'True';

        // 初期状態の設定
        if (isOpenedInitially) {
            contents.style.display = 'block';
            toggleLabel.textContent = '[非表示]';
        } else {
            contents.style.display = 'none';
            toggleLabel.textContent = '[表示]';
        }

        // ヘッダーがクリックされたときのイベントリスナーを設定
        if (header) {
            header.addEventListener('click', function() {
                if (contents.style.display === 'none') {
                    // 非表示なら表示にする
                    contents.style.display = 'block'; // または 'initial'
                    toggleLabel.textContent = '[非表示]';
                } else {
                    // 表示なら非表示にする
                    contents.style.display = 'none';
                    toggleLabel.textContent = '[表示]';
                }
            });
        }
    });
}

expandableBoxFunc();