ウィンドウの通常のタイトル部分を編集可能に変更する必要があります。私は次のアプローチを試みましたが、いくつかの点で失敗しているようです。誰かが私にもっと良いアプローチを提案できますか?
var header = window.getHeader();
header.setTitle(''); // Get rid of the original for now
var field = Ext.create('Ext.form.field.Text', {
name: 'Title',
allowBlank: false,
cls: 'myInput',,
value: 'Meh, just some text for now',
listeners : {
el : {
delegate : 'input',
click : function() {
field.focus(false); // Focus but do not select the text
field.selectText(0,0); // The previous failed, try to deselect like this
}
}
}
});
header.insert(0, field); // First, before the tools (several buttons there)
これに関する私の問題は次のとおりです。
リスナー部分がなければ、入力フィールドを選択することはまったく不可能であり、ウィンドウの移動をトリガーするだけです。リスナーの実装では、何らかの理由で入力フィールドの内容がまだ選択されています (selectText が 0 から 0 にならない場合)。また、マウスを使用してコンテンツの一部を選択することはできません。これは、ドラッグがウィンドウ全体に適用されるためです。また、リスナー実装の「クリック」もおそらくそのアプローチを台無しにします。また、マウスクリックでカーソルを特定の場所に移動することもできません。
では、ウィンドウ タイトルを置き換える使用可能な html 入力フィールドを実際にどのように実装すればよいのでしょうか?