<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Demo screencast on a new keyboard nav handler for the Ext JS menu classes.</title>
	<atom:link href="http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/feed" rel="self" type="application/rss+xml" />
	<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes</link>
	<description>A source for Ext JS goodness.</description>
	<lastBuildDate>Thu, 09 Sep 2010 18:10:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: MasterAM</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-120</link>
		<dc:creator>MasterAM</dc:creator>
		<pubDate>Sun, 23 Aug 2009 11:27:23 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-120</guid>
		<description>Lost my formatting as well (stripped the &#039;u&#039; tags from the comment)
should I have used &lt; &gt; ?
Anyway, should&#039;ve been:

[u]k[/u]itten-&gt;k
[u]h[/u]orse-&gt;h

p[u]o[/u]oes-&gt;o
p[u]a[/u]ard-&gt;a

(replaced lt and gt with [])</description>
		<content:encoded><![CDATA[<p>Lost my formatting as well (stripped the &#8216;u&#8217; tags from the comment)<br />
should I have used &lt; &gt; ?<br />
Anyway, should&#8217;ve been:</p>
<p>[u]k[/u]itten-&gt;k<br />
[u]h[/u]orse-&gt;h</p>
<p>p[u]o[/u]oes-&gt;o<br />
p[u]a[/u]ard-&gt;a</p>
<p>(replaced lt and gt with [])</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MasterAM</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-119</link>
		<dc:creator>MasterAM</dc:creator>
		<pubDate>Sun, 23 Aug 2009 11:20:57 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-119</guid>
		<description>Perhaps we could have a bit more flexible configuration handling in order to resolve these problems mentioned above.

The plugin can, for example, process the triggerKey as follows:

typeof === &#039;int&#039;:
-----------------
get the char in the specified index.
(should it also add underline to it?)

typeof === &#039;string&#039;:
--------------------
Now, here comes the fun part:
If a &#039;normal&#039; string is provided, namely a single char string, act as normal and add it to the trigger list.

However, we can decide on a certain value, for example &#039;guess&#039;, which when specified, the plugin will try to determine the key based on the item text.
(we can also test for the string length to decide if it is a &#039;normal&#039; or &#039;special&#039; string config).

I believe that we would like to give the user a hint for the key, and this is usually done by underlining the char.
So, we can use a regexp to search for the chars within &#039;u&#039; tags and add them to the triggers list.

So, to make it a bit clearer:

text is: horse
if triggerKey is:
&#039;a&#039;-&gt;&#039;a&#039;
&#039;guess&#039;-&gt;(get the underlined chars)-&gt;&#039;r&#039;

We can even take an array, which will cause the triggerKey adder to call itself for each value in the array.

This way, the i18n issue can be resolved (given that the key is hinted via underline and the triggerkey is set to &#039;guess&#039;):

kitten-&gt;k
horse-&gt;h

pooes-&gt;o
paard-&gt;a

That said, here&#039;s an idea for another project...
Having all of the available trigger keys shown next to the corresponding menu option. This can be done in several ways.
The most interesting, imho, is what I have seen done in MS Office 2007, where you hit &#039;alt&#039; in order to see a small balloon next to the each menu, showing the available shortcut key for that menu (nicer than the default alt behavior in normal windows apps).
What do they do on Mac, btw?</description>
		<content:encoded><![CDATA[<p>Perhaps we could have a bit more flexible configuration handling in order to resolve these problems mentioned above.</p>
<p>The plugin can, for example, process the triggerKey as follows:</p>
<p>typeof === &#8216;int&#8217;:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
get the char in the specified index.<br />
(should it also add underline to it?)</p>
<p>typeof === &#8216;string&#8217;:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Now, here comes the fun part:<br />
If a &#8216;normal&#8217; string is provided, namely a single char string, act as normal and add it to the trigger list.</p>
<p>However, we can decide on a certain value, for example &#8216;guess&#8217;, which when specified, the plugin will try to determine the key based on the item text.<br />
(we can also test for the string length to decide if it is a &#8216;normal&#8217; or &#8216;special&#8217; string config).</p>
<p>I believe that we would like to give the user a hint for the key, and this is usually done by underlining the char.<br />
So, we can use a regexp to search for the chars within &#8216;u&#8217; tags and add them to the triggers list.</p>
<p>So, to make it a bit clearer:</p>
<p>text is: horse<br />
if triggerKey is:<br />
&#8216;a&#8217;-&gt;&#8217;a&#8217;<br />
&#8216;guess&#8217;-&gt;(get the underlined chars)-&gt;&#8217;r&#8217;</p>
<p>We can even take an array, which will cause the triggerKey adder to call itself for each value in the array.</p>
<p>This way, the i18n issue can be resolved (given that the key is hinted via underline and the triggerkey is set to &#8216;guess&#8217;):</p>
<p>kitten-&gt;k<br />
horse-&gt;h</p>
<p>pooes-&gt;o<br />
paard-&gt;a</p>
<p>That said, here&#8217;s an idea for another project&#8230;<br />
Having all of the available trigger keys shown next to the corresponding menu option. This can be done in several ways.<br />
The most interesting, imho, is what I have seen done in MS Office 2007, where you hit &#8216;alt&#8217; in order to see a small balloon next to the each menu, showing the available shortcut key for that menu (nicer than the default alt behavior in normal windows apps).<br />
What do they do on Mac, btw?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: exceptione</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-118</link>
		<dc:creator>exceptione</dc:creator>
		<pubDate>Fri, 14 Aug 2009 13:24:57 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-118</guid>
		<description>Oh i lost my formatting. Hope this is more clear.

key -&gt;  menu listens to
—————————-
3 -&gt; ’s’
‘3′ -&gt; ‘3′
‘y’ -&gt; ‘y’</description>
		<content:encoded><![CDATA[<p>Oh i lost my formatting. Hope this is more clear.</p>
<p>key -&gt;  menu listens to<br />
—————————-<br />
3 -&gt; ’s’<br />
‘3′ -&gt; ‘3′<br />
‘y’ -&gt; ‘y’</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: exceptione</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-117</link>
		<dc:creator>exceptione</dc:creator>
		<pubDate>Fri, 14 Aug 2009 13:23:27 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-117</guid>
		<description>&gt; Most menus that I’ve encountered in the past have been triggered by menu item name, not index. What desktop applications have you used that used the menu index item instead of or in addition to the menu item name?

O I think we got some misunderstanding. What I mean is that 
for example «horse» we will get these results:

key        menu listens to
----------------------------
3          &#039;s&#039;
&#039;3&#039;        &#039;3&#039;
&#039;y&#039;        &#039;y&#039;

See? if you supply a char for the &#039;key&#039; property you mean an independent trigger key. On the other hand, if you supply an int instead, you are referring to the index of the menu caption &quot;horse&quot;.
That&#039;s just an idea. You could also provide a seperate property for it, so you have triggerKey and triggerIndex or something.


&gt; What Ext JS components change their behavior based on language? I thought changing a language was just changing screens. I think i’m a little inexperienced here.

Ghehe, let me assure you that I am *totally* inexperienced there. So yes, if it internalization is just changing all configuration data than this won&#039;t be an issue.
After searching the docs I couldn&#039;t find any info on I18N. There are some people (e.g. http://elmasse.blogspot.com/2008/04/i18n-with-extjs-resource-bundle.html) who builds some things themselves.

I am sorry that I alarmed you to early. :D</description>
		<content:encoded><![CDATA[<p>&gt; Most menus that I’ve encountered in the past have been triggered by menu item name, not index. What desktop applications have you used that used the menu index item instead of or in addition to the menu item name?</p>
<p>O I think we got some misunderstanding. What I mean is that<br />
for example «horse» we will get these results:</p>
<p>key        menu listens to<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
3          &#8216;s&#8217;<br />
&#8217;3&#8242;        &#8217;3&#8242;<br />
&#8216;y&#8217;        &#8216;y&#8217;</p>
<p>See? if you supply a char for the &#8216;key&#8217; property you mean an independent trigger key. On the other hand, if you supply an int instead, you are referring to the index of the menu caption &#8220;horse&#8221;.<br />
That&#8217;s just an idea. You could also provide a seperate property for it, so you have triggerKey and triggerIndex or something.</p>
<p>&gt; What Ext JS components change their behavior based on language? I thought changing a language was just changing screens. I think i’m a little inexperienced here.</p>
<p>Ghehe, let me assure you that I am *totally* inexperienced there. So yes, if it internalization is just changing all configuration data than this won&#8217;t be an issue.<br />
After searching the docs I couldn&#8217;t find any info on I18N. There are some people (e.g. <a href="http://elmasse.blogspot.com/2008/04/i18n-with-extjs-resource-bundle.html)" rel="nofollow">http://elmasse.blogspot.com/2008/04/i18n-with-extjs-resource-bundle.html)</a> who builds some things themselves.</p>
<p>I am sorry that I alarmed you to early. <img src='http://tdg-i.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jay Garcia</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-116</link>
		<dc:creator>Jay Garcia</dc:creator>
		<pubDate>Fri, 14 Aug 2009 12:47:56 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-116</guid>
		<description>&gt; I can imagine that you make a distinction between a character ‘0′ and a number 0. When the supplied key is an int, it should be treated as index. If the key is a char it is the trigger character itself.

Most menus that I&#039;ve encountered in the past have been triggered by menu item name, not index.  What desktop applications have you used that used the menu index item instead of or in addition to the menu item name?

&gt;However, in a translation we would still need to be able to set the key-index explicitly per item. Index 1 in your example works, but for a certain other example it doesn’t.

What Ext JS components change their behavior based on language?  I thought changing a language was just changing screens.  I think i&#039;m a little inexperienced here.  

Thanks for the comments and suggestions.  They are valuable.</description>
		<content:encoded><![CDATA[<p>> I can imagine that you make a distinction between a character ‘0′ and a number 0. When the supplied key is an int, it should be treated as index. If the key is a char it is the trigger character itself.</p>
<p>Most menus that I&#8217;ve encountered in the past have been triggered by menu item name, not index.  What desktop applications have you used that used the menu index item instead of or in addition to the menu item name?</p>
<p>>However, in a translation we would still need to be able to set the key-index explicitly per item. Index 1 in your example works, but for a certain other example it doesn’t.</p>
<p>What Ext JS components change their behavior based on language?  I thought changing a language was just changing screens.  I think i&#8217;m a little inexperienced here.  </p>
<p>Thanks for the comments and suggestions.  They are valuable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: exceptione</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-115</link>
		<dc:creator>exceptione</dc:creator>
		<pubDate>Fri, 14 Aug 2009 12:35:57 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-115</guid>
		<description>&gt; Re: numbered items(…)
&gt; Thoughts?
I can imagine that you make a distinction between a character &#039;0&#039; and a number 0. When the supplied key is an int, it should be treated as index. If the key is a char it is the trigger character itself.


&gt; Re: Internationalization Couldn’t you just do this:
yeah, that it way. But note that the english interface would then behave differently from the dutch interface. After some though: this is not really strange, and sometimes unavoidable.
Real keyboard shortcuts are normally cross-language (like CTRL+P etc), but keyboard navigation doesn&#039;t need to be.

However, in a translation we would still need to be able to set the key-index explicitly per item. Index 1 in your example works, but for a certain other example it doesn&#039;t.

--
So ideally you would be able to specify per item and per language what key [index] you want to assign.
---

Thank you for posts and screen casts. I always enjoy them.</description>
		<content:encoded><![CDATA[<p>&gt; Re: numbered items(…)<br />
&gt; Thoughts?<br />
I can imagine that you make a distinction between a character &#8217;0&#8242; and a number 0. When the supplied key is an int, it should be treated as index. If the key is a char it is the trigger character itself.</p>
<p>&gt; Re: Internationalization Couldn’t you just do this:<br />
yeah, that it way. But note that the english interface would then behave differently from the dutch interface. After some though: this is not really strange, and sometimes unavoidable.<br />
Real keyboard shortcuts are normally cross-language (like CTRL+P etc), but keyboard navigation doesn&#8217;t need to be.</p>
<p>However, in a translation we would still need to be able to set the key-index explicitly per item. Index 1 in your example works, but for a certain other example it doesn&#8217;t.</p>
<p>&#8211;<br />
So ideally you would be able to specify per item and per language what key [index] you want to assign.<br />
&#8212;</p>
<p>Thank you for posts and screen casts. I always enjoy them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jay Garcia</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-114</link>
		<dc:creator>Jay Garcia</dc:creator>
		<pubDate>Fri, 14 Aug 2009 11:28:48 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-114</guid>
		<description>Very good points.
Re: numbered items
I guess we could conceptually allow for a custom key stroke - other than something that exists in the title.  Like the &quot;1&quot; Key for the &#039;low&#039; menu item.

Thoughts?
  

Re: Internationalization Couldn&#039;t you just do this:

-- lang:NL
p[o]oes
p[a]ard

?

Thanks so much for the feedback.</description>
		<content:encoded><![CDATA[<p>Very good points.<br />
Re: numbered items<br />
I guess we could conceptually allow for a custom key stroke &#8211; other than something that exists in the title.  Like the &#8220;1&#8243; Key for the &#8216;low&#8217; menu item.</p>
<p>Thoughts?</p>
<p>Re: Internationalization Couldn&#8217;t you just do this:</p>
<p>&#8211; lang:NL<br />
p[o]oes<br />
p[a]ard</p>
<p>?</p>
<p>Thanks so much for the feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: exceptione</title>
		<link>http://tdg-i.com/167/demo-screencast-on-a-new-keyboard-nav-handler-for-the-ext-js-menu-classes/comment-page-1#comment-113</link>
		<dc:creator>exceptione</dc:creator>
		<pubDate>Fri, 14 Aug 2009 11:23:14 +0000</pubDate>
		<guid isPermaLink="false">http://tdg-i.com/?p=167#comment-113</guid>
		<description>Yeah, but what if you want to have a number as a trigger character rather than as index?

I can imagine that you have a menu with 3 items

low priority
normal priority
high priority

Now you are requiring that the trigger character is in the description itself. 
Well, that requirement is not too bad.


1. low priority
2. normal priority
3. high priority

is more clear.

But there is a more fundamental problem and that is internationalization.

Using a numerical index can easily lead to inconsistencies and even serious problems: 
-- lang:EN
[k]itten
[h]orse

-- lang:NL
[p]oes
[p]aard

index 0 will pose problems for this dutch translation.

That means that  in keyboard navigation one should be able to tell what language dictates the key-strokes if you want a cross-language key scheme.</description>
		<content:encoded><![CDATA[<p>Yeah, but what if you want to have a number as a trigger character rather than as index?</p>
<p>I can imagine that you have a menu with 3 items</p>
<p>low priority<br />
normal priority<br />
high priority</p>
<p>Now you are requiring that the trigger character is in the description itself.<br />
Well, that requirement is not too bad.</p>
<p>1. low priority<br />
2. normal priority<br />
3. high priority</p>
<p>is more clear.</p>
<p>But there is a more fundamental problem and that is internationalization.</p>
<p>Using a numerical index can easily lead to inconsistencies and even serious problems:<br />
&#8211; lang:EN<br />
[k]itten<br />
[h]orse</p>
<p>&#8211; lang:NL<br />
[p]oes<br />
[p]aard</p>
<p>index 0 will pose problems for this dutch translation.</p>
<p>That means that  in keyboard navigation one should be able to tell what language dictates the key-strokes if you want a cross-language key scheme.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
