1
jsTreeでナビゲーションを使用し、 "show_only_matches"パラメータで検索プラグインを使用しようとしています。しかし、上下の矢印を使用してツリーをナビゲートすると、隠れノードを選択できますが、「可視」ノードを歩きたいです。検索プラグイン( "show_only_matches":true)で正しくナビゲーションキー(ホットキープラグイン)を使用することは可能ですか?
jsTreeでナビゲーションを使用し、 "show_only_matches"パラメータで検索プラグインを使用しようとしています。しかし、上下の矢印を使用してツリーをナビゲートすると、隠れノードを選択できますが、「可視」ノードを歩きたいです。検索プラグイン( "show_only_matches":true)で正しくナビゲーションキー(ホットキープラグイン)を使用することは可能ですか?
は答えを、このjsFiddleを参照してください。http://jsfiddle.net/G789k/27/
私はちょうどダウンキーの上にそれをやったので、あなたがアップのためにそれを適応させる必要があります。ほぼ同じこと - ちょうど_get_next
を_get_prev
に変更してください。隠されたノードに移動 - -
"search" : {
"case_insensitive" : true,
"show_only_matches": true
},
"ui" :{
"select_limit" : 1,
},
// overriding hotkey
'hotkeys': {
'down': function() {
// most of this stolen from jstree.js source
var o = this.data.ui.hovered || this.data.ui.last_selected || -1,
node = this._get_next(o);
this.hover_node(node);
// call self if selected node is hidden
// note: this is a somewhat dangerous (and deprecated) way to do recursion.
// ultimately, it would be better if your down function was
// defined elsewhere and called here as needed.
if (node.length && node.is(':hidden')) arguments.callee.call(this);
return false;
}
}
は、私はまた、デフォルトの機能を考えて望ましくなく、jstree devのは、それを修正する必要があります
はここでFYI、コードの関連する部分です。彼にバグ修正/要求として提出することを検討してください。
jsFiddleでデモをセットアップできますか? – glortho
それは時間がかかりました。 http://jsfiddle.net/G789k/25/を見てください。入力欄に "Bas"と入力し、フィルターボタンをクリックしてください。ときに "矢印ダウン"キーを使用してみてください。最初のキーダウンイベントでは、ルート基本フォルダが選択されます。 2番目のキーダウンイベントでは、ログインフォルダが選択されます(ただし、非表示になっています!!!)。 3回目のキーダウンイベントでは、Basicフォルダ(Basicフォルダにあります)が選択されます。 –
私は参照してください。隠しノードをスキップするために矢印キーをオーバーライドするのに十分なはずです。 (他のオプションは、jstreeのソースを変更することですが、できればそれを避けることにします)。私はそれを今作業して、あなたのために手に入れます... – glortho