2014年8月29日 星期五

Disable Backspace key for SPA (single Page Application)

       Ext.EventManager.on(window, 'keydown', function (e, t) {
           if (e.getKey() == e.BACKSPACE && (!/^input$/i.test(t.tagName) || t.disabled || t.readOnly)) {
               e.stopEvent();
           }
       });

2014年8月18日 星期一

Extjs label 不折行

Label不折行的一個方式,最直接的方式就是設定width
不過,在width不知道的情況下(ex: text from database)
怎麼不靠width這屬性來做?
老句話,還是css的屬性做到了「white-space:nowrap」
ex:
===css 有弧角的 label=======================
.categoryLabel {
                      border-radius: 5px;
                      -moz-border-radius: 5px;
                      -webkit-border-radius: 5px;
                      -o-border-radius: 5px;
                      -ms-border-radius: 5px;
                      -khtml-border-radius: 5px;
                       background-color: #00FF00;color:#000000;
                       font-weight: bold;
                       white-space:nowrap;
                     
            }
================================
in js:
==================================
                    var node = Ext.create('Ext.form.Label', {
                        x: nextXPosition,
                        y: 3,
                        border: 2,
                        padding:'0 5 0 5',
                        cls: 'categoryLabel',
                        text: nodesArray[i].node_text,
                    });
====================================
如果你要測得label長度,還真的是要加入其他container時,才能取值的

以上,加油了

2014年8月8日 星期五

treed node add customer attributes

node物件是有很多參數
但是總是無法滿足多變的專案需要
所以要加些專案需要的參數上去
假設node長這樣:
                                 {
                                     text: "產品資料管理", expanded: true,id:'100' 
                                     ,testValue:'1974'
                                     ,valueAgain:'xyz'
                                     ,children: [
                                       { text: "產品資料增修查", testValue:'1950',leaf: true, id: '1-1' },
                                       { text: "統計資訊", leaf: true, id: '1-2' }
                                     ]
                                 }
 其中「testValue」及「valueAgain」是我們加入的自訂屬性
,那如何在其他事件中找出這些值?
不急!!
一定先要去Treepanel上加工!!
=================================
                            xtype: 'treepanel',
                              ...
                              ...
                              ...
                            , fields: ['text' ,'testValue','valueAgain'] 一定要先加這欄!!,而且text是必要的!!
                                 ...
                                  ...
==================================
之後,才能在其他事件中找到這些欄位的值:
  example:
===============================
 ,listeners: {
                                itemclick: function(s,r) {
                                    alert(r.data.testValue);
                                    //doMainSvcFunctions(r.data.id);

                                }
                            }
=================================
or
===================================
               ...
               ...
               ...
               var testNode = Ext.getCmp('pnlFunctionTree').getStore().getNodeById('z-12');
               var record = testNode.parentNode;
               console.log('parenet id  of test neode is is ' + record.data.valueAgain);
               ....
=======================================

以上,大家加油了