アイデア #356
未完了Lycheeガントチャート上でチケット編集画面を表示した際の要望(1)
説明
Lycheeガントチャート上でチケット編集画面を表示した際、
(1)マウスをスクロールすると、最初はチケット編集画面の内容がスクロールしますが、そのスクロールがし終わると、今度は下にグレー表示されているガントチャートがスクロールしてしまう。スクロール対象はあくまでチケット編集画面のみとし、ガントチャートの表示は固定してほしい。
[ [アジャイルウェア]nishijima さんが11ヶ月前に更新
南様
貴重なご意見をいただきありがとうございます。
lycheeガントチャートでの操作についてですが、今後ガントチャート5.0(プレα)へ移行予定ですので、そちらで使い勝手をお試しいただけますでしょうか。
チケット編集は基本イシューフォームで行えるようになるため今回のお悩みも解消できるのではないかと考えられます。
南 南 さんが9ヶ月前に更新
@[アジャイルウェア]nishijima 様
ガントチャート5.0(プレα)でも同じ症状です。チケット編集画面をスクロースしきると、次はガントチャート自体がスクロールしてしまいます。ガントチャート上で元々見ていたチケットがスクロールして流れていってしまい、それまで見ていたガントチャートの画面と変わってしまうため、皆で画面上のガントチャートで進捗確認している場合、非常に困ります。
今後、ガントチャート(プレα)の正式リリースの際には、必ず改善して頂くよう、よろしくお願いいたします。
[ [アジャイルウェア]Ura さんが2日前に更新
南様
追加でのご意見、誠にありがとうございます。
正式リリースを致しましたガントチャート5では、いただきましたご要望アイデアの実現は困難でございました。
本サイトで頂いたご意見はあくまでアイデアとして頂いており、必ず実装のお約束ができるものではないため、何卒ご理解賜れますと幸いです。
ただ、社内で確認致しました際にView Customizeを利用して実現可能なようでございましたので、
下記のView Customizeを利用して背景ガントチャートのスクロールをロックするのはいかがでしょうか。
ぜひともお試しいただき、代用いただけますと幸いです。
何卒どうぞよろしくお願い致します。
View Customize
プロジェクトのパターン: なし
挿入位置: 全ページのヘッダ
種別: JavaScript```
コード
```(() => {
// 背景スクロールロック用のスタイルを追加する
const styleTag = document.createElement('style');
styleTag.textContent = `
html.vc-has-lif-embed {
overflow-y: hidden;
}
body.vc-has-lif-embed {
overflow-y: hidden;
}
`
document.head.appendChild(styleTag);
// LIFの展開状況に応じてbodyタグにclassを付与する
const html = document.documentElement;
const body = document.body;
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
if (mutation.type === 'childList') {
// 追加された要素の中に #lif-embed-iframe-container があるか
const added = Array.from(mutation.addedNodes).some(
node => node.id === 'lif-embed-iframe-container'
);
// 削除された要素の中に #lif-embed-iframe-container があるか
const removed = Array.from(mutation.removedNodes).some(
node => node.id === 'lif-embed-iframe-container'
);
// #lif-embed-iframe-container要素が追加されたらクラスを付与
if (added) {
html.classList.add('vc-has-lif-embed');
body.classList.add('vc-has-lif-embed');
}
// #lif-embed-iframe-container要素が削除されたらクラスを削除
if (removed) {
html.classList.remove('vc-has-lif-embed');
body.classList.remove('vc-has-lif-embed');
}
}
}
});
// body直下の子ノードの追加・削除を監視
observer.observe(body, { childList: true });
// ページ読み込み時点ですでに存在する場合にも対応
if (document.querySelector('body > #lif-embed-iframe-container')) {
body.classList.add('vc-has-lif-embed');
}
})();`