OSDN Git Service

新規追加で保存した際にグリッドに追加表示されるように修正。
authormasamitsu <oicawa@users.sourceforge.jp>
Wed, 28 Sep 2011 14:59:17 +0000 (23:59 +0900)
committermasamitsu <oicawa@users.sourceforge.jp>
Wed, 28 Sep 2011 14:59:17 +0000 (23:59 +0900)
addins/member/controller/Root.js
addins/member/view/Edit.js
app/view/menu/List.js

index ed0410b..c0fa919 100644 (file)
@@ -27,7 +27,7 @@ Ext.define(
                    'memberlist button[action=add]': {
                        click: this.addMember
                    },
-                   'memberlist dockedItems[action=delete]': {
+                   'memberlist button[action=delete]': {
                        click: this.deleteMember
                    },
                    'memberedit button[action=save]': {
@@ -41,34 +41,44 @@ Ext.define(
            console.log('[ END ] init');
        },
 
-       addMember: function(grid, record, item, index, e) {
+       addMember: function(button) {
            console.log('[ START ]add member');
-           this.showForm(null);
+           var record = Ext.create('Decshee.member.model.Model');
+           this.showNewForm(record);
            console.log('[  END  ]add member');
        },
 
        editMember: function(grid, record, item, index, e) {
            console.log('[ START ]Double clicked on ' + record.get('memberId'));
-           this.showForm(record);
+           this.showEditForm(record);
            console.log('[  END  ]Double clicked on ' + record.get('memberId'));
        },
 
        updateMember: function(button) {
            console.log('clicked the Save button.');
            var win = button.up('window');
+           var isNew = win.isNew;
            var form = win.down('form');
            var record = form.getRecord();
            var values = form.getValues();
            record.set(values);
            win.close();
-           this.getUsersStore().sync();
+           var store = this.getStore('Decshee.member.store.Store');
+           if (isNew) {
+               // store.insert(0, record);
+               store.add(record);
+           } else {
+               store.sync();
+           }
        },
 
-       showForm: function(record) {
-           if (record == null) {
-               record = Ext.create('Decshee.member.model.Model');
-           }
-           var window = Ext.create('Decshee.member.view.Edit');
+       showNewForm: function(record) {
+           var window = Ext.create('Decshee.member.view.Edit', { title: '社員情報詳細[新規]', isNew: true });
+           window.down('form').loadRecord(record);
+       },
+
+       showEditForm: function(record) {
+           var window = Ext.create('Decshee.member.view.Edit', { title: '社員情報詳細[更新]', isNew: false });
            window.down('form').loadRecord(record);
        },
 
index 44189d2..e74cb55 100644 (file)
@@ -7,6 +7,7 @@ Ext.define(
        title : '社員情報詳細',
        layout: 'fit',
        autoShow: true,
+       isNew: true,
 
        initComponent: function() {
            this.items = [
index 736c295..c014b75 100644 (file)
@@ -1,7 +1,6 @@
 Ext.define(
   'Decshee.view.menu.List',
   {
-    //extend: 'Ext.panel.Panel',
     extend: 'Ext.grid.Panel',
     alias : 'widget.menulist',
     title: 'メンテナンス業務',
@@ -11,7 +10,6 @@ Ext.define(
 
     initComponent: function() {
       this.columns = [
-        //{header: 'Name',  dataIndex: 'name',  flex: 1},
         {header: 'Caption', dataIndex: 'caption', flex: 1},
         {header: 'ID', dataIndex: 'id', flex: 1, hidden: true}
       ];