Worfkowyの自作ショートカットキーを常駐させる自作アドオン
Workflowyをリロードするたびにブックマークレットを発動指せ直すのが面倒だったので、Firefoxのアドオンを使って自動的に設定されるようにしてみる。
code:test.js
console.log("スクリプトが読み込まれました")
const scriptText = `
(function(){document.body.addEventListener('keydown',event => {if (event.metaKey){
if(event.key==='ArrowRight'){
event.preventDefault();
var s = WF.focusedItem();
var t = s.getParent();
WF.editItemName(t);
WF.collapseItem(t);
if(t.getParent().getParent()==null){
WF.zoomOut();
}}}});})();
`
const scriptbody = document.createElement("script")
scriptbody.innerHTML = scriptText
document.body.appendChild(scriptbody);
console.log("ショートカットキーを追加しました")
command+→ で親項目を閉じる
普通にショートカットを設定しようとすると、オブジェクトWFが参照できないので、scriptタグを作り、そこにコードを書いてそれをbodyに追加する形をとっている。
2024/4/5
コマンドの中身はもう少し改善できそう
以下のように動作を変更
その要素が開いている子要素があればそれを閉じ
開いている子要素を持たないなら親要素を閉じる
https://gyazo.com/460a7c358ccddddb160650430fd32c1a
code:script.js
console.log("スクリプトが読み込まれました")
const scriptText = `
(function(){document.body.addEventListener('keydown',event => {if (event.metaKey){
if(event.key==='ArrowRight'){
event.preventDefault();
var s = WF.focusedItem();
if (s.isExpanded()){
WF.collapseItem(s);
}else{
var t = s.getParent();
WF.editItemName(t);
WF.collapseItem(t);
if(t.getParent().getParent()==null){
WF.zoomOut();
}
}
}}});})();
`
const scriptbody = document.createElement("script")
scriptbody.innerHTML = scriptText
document.body.appendChild(scriptbody);
console.log("ショートカットキーを追加しました")