Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    javascript exception when removing records

    I'm using the 06/28 4.1d version of SmartGWT:

    SmartClient Version: SNAPSHOT_v9.1d_2013-06-28/PowerEdition Deployment (built 2013-06-28)

    And get a javascript exception:
    Code:
    10:18:05.606:MUP2:WARN:Log:TypeError: Object [object Object] has no method 'deselect'
    Stack from error.stack:
        isc.ListGrid.addProperties.markRecordRemoved() @ smartgwt_test/sc/modules-debug/ISC_Grids.js:24719:24
        isc.ListGrid.addMethods.completeRemoveRecordClick() @ smartgwt_test/sc/modules-debug/ISC_Grids.js:49061:18
        isc.ListGrid.addMethods.removeRecordClick() @ smartgwt_test/sc/modules-debug/ISC_Grids.js:49029:14
        isc.defineClass.addProperties._rowClick() @ smartgwt_test/sc/modules-debug/ISC_Grids.js:16464:23
        isc.GridRenderer.addMethods.click() @ smartgwt_test/sc/modules-debug/ISC_Grids.js:14714:17
        isc.Canvas.addMethods.handleClick() @ smartgwt_test/sc/modules-debug/ISC_Core.js:55247:33
        isc.EventHandler.addClassMethods.bubbleEvent() @ smartgwt_test/sc/modules-debug/ISC_Core.js:30850:40
        isc.EventHandler.addClassMethods.handleClick() @ smartgwt_test/sc/modules-debug/ISC_Core.js:28809:24
        isc.EventHandler.addClassMethods._handleMouseUp() @ smartgwt_test/sc/modules-debug/ISC_Core.js:28595:54
        isc.EventHandler.addClassMethods.handleMouseUp() @ smartgwt_test/sc/modules-debug/ISC_Core.js:28490:26
    when trying to mark records as removed with:
    setCanSelectCells = true, setCanRemoveRecords = true, and setAutoSaveEdits = false.

    Here's a testcase to reproduce the issue:
    Code:
    public class SmartGWT_Test implements EntryPoint {
    
    	@Override
    	public void onModuleLoad() {
    		VLayout layout = new VLayout();
    
    		final ListGrid testGrid = new ListGrid();
    		testGrid.setDataSource(getClientDataSource());
    		testGrid.setData(getClientData());
    
    		testGrid.setWidth(500);
    		testGrid.setHeight(200);
    		testGrid.setHeaderHeight(60);
    		testGrid.setCanRemoveRecords(true);
    		testGrid.setCanSelectCells(true);
    		testGrid.setAutoSaveEdits(false);
    		layout.setMargin(10);
    		layout.setMembersMargin(5);
    		layout.setMembers(testGrid);
    		layout.draw();
    
    	}
    
    	private ListGridRecord[] getClientData() {
    		ListGridRecord[] data = new ListGridRecord[5];
    		for (int i = 0; i < 5; i++) {
    			ListGridRecord record = new ListGridRecord();
    
    			record.setAttribute("field1", "a1_rand_" + Math.round(Math.random() * 10));
    			record.setAttribute("field2", "a2_rand_" + Math.round(Math.random() * 10));
    			record.setAttribute("field3", "a3_rand_" + Math.round(Math.random() * 10));
    			record.setAttribute("field4", "b2_rand_" + Math.round(Math.random() * 10));
    			record.setAttribute("field5", "b1_rand_" + Math.round(Math.random() * 10));
    			record.setAttribute("field6", "c1_rand_" + Math.round(Math.random() * 10));
    			record.setAttribute("field7", "c1_rand_" + Math.round(Math.random() * 10));
    			data[i] = record;
    		}
    
    		return data;
    	}
    
    	private DataSource getClientDataSource() {
    		DataSource ds = new DataSource();
    		ArrayList<DataSourceField> dsFields = new ArrayList<DataSourceField>();
    		for (int i = 1; i <= 7; i++) {
    			dsFields.add(new DataSourceField("field" + i, FieldType.TEXT));
    		}
    		ds.setFields(dsFields.toArray(new DataSourceField[dsFields.size()]));
    		return ds;
    	}
    }

    #2
    Thanks for the notification and the clear test case. We've made a change to address this.
    Please try the next nightly build (dated July 18th or above).

    Regards
    Isomorphic Software

    Comment

    Working...
    X