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