Previous post: http://forums.smartclient.com/forum/...inline-editing
Hi, Isomorphic,
I've just solved that puzzle with "tab" and canvas item in inline edit.
Problem is that _applyUnmaskedTargets() do not include inline editing form in "mask._unmaskedTargets" so inline edit form is completely masked by a Window.
This happening because inline form is created later and also do not have a direct relationship within any element on screen.
fix is just append { parentElement: {listgrid}, visibility: 'hidden' } (this works because Canvas.init do have a logic if has a property then "parentElement.addChild(this);")
Maybe it's not a proper fix, but should be ok for proof of concept :)
Demo:
Technical notes:
problem is in: isc.DynamicForm.addMethods._focusInNextTabElement(), ISC_Forms.js:13163
Tested on: SmartClient_v100p_2015-12-11_LGPL
browsers: all
Hi, Isomorphic,
I've just solved that puzzle with "tab" and canvas item in inline edit.
Problem is that _applyUnmaskedTargets() do not include inline editing form in "mask._unmaskedTargets" so inline edit form is completely masked by a Window.
This happening because inline form is created later and also do not have a direct relationship within any element on screen.
fix is just append { parentElement: {listgrid}, visibility: 'hidden' } (this works because Canvas.init do have a logic if has a property then "parentElement.addChild(this);")
Maybe it's not a proper fix, but should be ok for proof of concept :)
Demo:
Code:
isc.Window.create({ width: 1200, height: 910, autoCenter: true, isModal: true, items: [ isc.ListGrid.create({ ID: 'listGridDemo', // --- without this fix, "tab' do not works properly. editFormProperties: { parentElement: 'listGridDemo', visibility: 'hidden' }, autoDraw: false, canEdit: true, width: "100%", fields: [{name: 'a'}, { name: 'b', editorType: "CanvasItem", editorProperties: { createCanvas: function () { return isc.DynamicForm.create({ autoDraw: false, items: [{name:'item1', showTitle: false}, {name:'item2', showTitle: false}] }); } } }, {name: 'c'}], data: [{}] }) ] });
Technical notes:
problem is in: isc.DynamicForm.addMethods._focusInNextTabElement(), ISC_Forms.js:13163
Code:
_focusInNextTabElement : function (forward, mask, skipItems, item) { if (skipItems || !this.items || this.items.length == 0 || (mask && isc.EH.targetIsMasked(this, mask))) // isc.EH.targetIsMasked(this, mask) <- returns true, because inline form is completely masked by Window { this.logInfo("DynamicForm - focusInNextTabElement() running. Delegating to Super()", "syntheticTabIndex"); return this.Super("_focusInNextTabElement", arguments); } //... focus in next tab logic ..
Tested on: SmartClient_v100p_2015-12-11_LGPL
browsers: all