2016년 3월 14일 월요일

for map

for (Map.Entry<String, Object> entry : map.entrySet()) {
    System.out.println("Key : " + entry.getKey() +  " Value : "+ entry.getValue() + " : " + entry.getValue().getClass().getName());
}

Tree Dirty Record filter

/*store dirty records 반환*/
dirtyRecords : function () {
    return Ext.Array.filter(Ext.Object.getValues(this.byIdMap),function(item) {return item.dirty === true;});
}

actioncolumn

{xtype: 'actioncolumn',width:30,sortable: false,
    items: [
            {iconCls : 'icon-delete' ,tooltip: 'Delete Plant',
            handler: function(grid, rowIndex, colIndex , item , e , record) {
            Ext.MessageBox.show(
            {title: '삭제?',msg: '정말로 삭제하시겠습니까?',buttons: Ext.MessageBox.YESNO,
            fn:  function (  button ) {
            if ( button == "yes") {
            grid.getStore().removeAt(rowIndex);
            };
            console.log( arguments );
            } ,
            animateTarget: grid ,
            icon: Ext.MessageBox.QUESTION
            }
            );
            }
            }
    ]
}

Grid Itemcontextmenu

itemcontextmenu: function(view, record, htmlItem, index, event) {
    var me = this,
        menu = me.menu;

    // prevent default right click behaviour
    event.stopEvent();

    if (!menu) {
        menu = me.menu = Ext.create('Ext.menu.Menu', {
            items: [
                { itemId: 'delete', text: 'delete',
                    icon: 'resources/css/images/tree/drop-yes.gif',
                    handler: function() {
                        me.getStore().remove(menu.contextRecord);

                    }
                }
            ]
        });
    }

//                            menu.contextRecord = record;

    menu.showAt(event.getXY());
},
itemclick: function ( grid, record, item, index, e, eOpts ) {
    console.log('argumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsarguments==>'+arguments);
    this.fireEvent('itemcontextmenu', grid, record,item, index, e, eOpts);
}

JavaScript HashMap

var HashMap = function() {
    this.map = new Array();
};

HashMap.prototype = {
    put: function(key, value) {
        this.map[key] = value;
    },
    get: function(key) {
        return this.map[key];
    },
    getAll: function() {
        return this.map;
    },
    clear: function() {
        this.map = new Array();
    },
    getKeys: function() {
        var keys = new Array();
        for(i in this.map) {
            keys.push(i);
        }
        return keys;
    },
    /* 구성된 key 값 존재여부 반환 */
    containsKey: function (key) {
        return key in this.map;
    },
    /* 구성된 value 값 존재여부 반환 */
    containsValue: function (value) {
        for (var prop in this.map) {
            if (this.map[prop] == value) {
                return true;
            }
        }
        return false;
    },
    /*  key에 해당하는 데이터 삭제 */
    remove: function (key) {
        delete this.map[key];
    },
    /* 배열로 value 반환 */
    values: function () {
        var arVal = new Array();
        for (var prop in this.map) {
            arVal.push(this.map[prop]);
        }
        return arVal;
    },
    /* Map에 구성된 개수 반환 */
    size: function () {
        var count = 0;
        for (var prop in this.map) {
            count++;
        }
        return count;
    }
};