using: SmartClient Version: SNAPSHOT_v12.1d_2020-02-21/PowerEdition Deployment (built 2020-02-21)
I've created a FilterBuilderItem (similar to the nested editor showcase). I embed it in a split form(similar to your split form showcase) and am seeing warnings like WARN:drawing:isc_FilterBuilder_0:Attempt to draw child of an undrawn parent when I go ahead and select a tab containing a DynamicForm with a FilterBuilderItem. When the item is in the tab that is initially selected, or not in a tab, the warnings do not appear. When in a tab that is not initially selected, I see at least two warnings per instance. Bellow is an example of a SimplifiedFilterBuilderItem and code to embed in the split form showcase that shows what I am seeing. You'll need to use relevant data source and criteria though. What do I need to do to get this to execute with out warnings... or are they bugs/errors potentially causing other issues I'll get to next....?
Split form showcase addition example:
SimpleFilterBuilderItem.java:
Warnings:
I've created a FilterBuilderItem (similar to the nested editor showcase). I embed it in a split form(similar to your split form showcase) and am seeing warnings like WARN:drawing:isc_FilterBuilder_0:Attempt to draw child of an undrawn parent when I go ahead and select a tab containing a DynamicForm with a FilterBuilderItem. When the item is in the tab that is initially selected, or not in a tab, the warnings do not appear. When in a tab that is not initially selected, I see at least two warnings per instance. Bellow is an example of a SimplifiedFilterBuilderItem and code to embed in the split form showcase that shows what I am seeing. You'll need to use relevant data source and criteria though. What do I need to do to get this to execute with out warnings... or are they bugs/errors potentially causing other issues I'll get to next....?
Split form showcase addition example:
Code:
AdvancedCriteria simpleCriteria = new AdvancedCriteria(OperatorId.AND, new Criterion[] {
new Criterion("PK_Test_Session_Stream", OperatorId.IN_SET, new String[] {"20058", "200059"})
});
JSONEncoder encoder = new JSONEncoder();
encoder.setDateFormat(JSONDateFormat.DATE_CONSTRUCTOR);
String simpleCriteriaStr = encoder.encode(simpleCriteria);
final DynamicForm simpleFbForm = new DynamicForm();
simpleFbForm.setValuesManager(vm);
final SimpleFilterBuilderItem simpleFbItem = new SimpleFilterBuilderItem("simpleCriteria", "Simple Filter Builder");
simpleFbItem.setFilterBuilderDataSource(DataSource.get("TestCoverageFilterView"));
simpleFbForm.setFields(simpleFbItem);
if (com.google.gwt.user.client.Window.Location.getParameter("showInTab") != null ) {
Tab simpleFbTab = new Tab();
simpleFbTab.setTitle("SimpleFilterBuilderItem");
simpleFbTab.setPane(simpleFbForm);
theTabs.setTabs(item, stock, simpleFbTab);
if (com.google.gwt.user.client.Window.Location.getParameter("selectTab") != null ) {
theTabs.selectTab(2);
}
}else {
theTabs.setTabs(item, stock);
vLayout.addMember(simpleFbForm);
}
vm.setValues(new HashMap<String,Object>() {{
put("price", "low");
put("nextShipment", "256");
put("simpleCriteria", simpleCriteriaStr);
}});
SimpleFilterBuilderItem.java:
Code:
public class SimpleFilterBuilderItem extends CanvasItem {
boolean supressFilterChangedEvent = false;
public SimpleFilterBuilderItem() {
construct();
}
public SimpleFilterBuilderItem(JavaScriptObject jsObj) {
super(jsObj);
construct();
}
public SimpleFilterBuilderItem(String name) {
super(name);
construct();
}
public SimpleFilterBuilderItem(String name, String title) {
super(name, title);
construct();
}
private void construct() {
setWidth("*");
setHeight("*");
setColSpan("*");
setEndRow(true);
setStartRow(true);
// this is going to be an editable data item
setShouldSaveValue(true);
setInitHandler(new FormItemInitHandler() {
@Override
public void onInit(FormItem item) {
final FilterBuilder filterBuilder = new FilterBuilder();
filterBuilder.setDataSource(getFilterBuilderDataSource());
// The form item's data is set as a JSON encoded criteria string
String value = (String)item.getValue();
if (value != null) {
filterBuilder.setCriteria(AdvancedCriteria.fromJSObject(JSONEncoder.decode(value)));
}
filterBuilder.addFilterChangedHandler(new FilterChangedHandler() {
@Override
public void onFilterChanged(FilterChangedEvent event) {
if (filterBuilder.isDrawn() && !supressFilterChangedEvent ) { // filters out non-user initiated thrashing
FilterBuilder fb = (FilterBuilder) event.getSource();
SimpleFilterBuilderItem canvasItem = (SimpleFilterBuilderItem) fb.getCanvasItem();
AdvancedCriteria newCriteria = fb.getCriteria();
JSONEncoder encoder = new JSONEncoder();
encoder.setDateFormat(JSONDateFormat.DATE_CONSTRUCTOR);
String criteriaStr = encoder.encode(newCriteria);
canvasItem.storeValue(criteriaStr);
}
}
});
setCanvas(filterBuilder);
addShowValueHandler(new ShowValueHandler() {
@Override
public void onShowValue(ShowValueEvent event) {
FilterBuilder fb = (FilterBuilder)((CanvasItem)event.getSource()).getCanvas();
String value = (String)event.getDataValue();
if (value != null && fb != null) {
supressFilterChangedEvent = true;
fb.setCriteria(AdvancedCriteria.fromJSObject(JSONEncoder.decode(value)));
supressFilterChangedEvent = false;
}
}
});
}
});
}
private DataSource filterBuilderDataSource;
public DataSource getFilterBuilderDataSource() {
return this.filterBuilderDataSource;
}
public void setFilterBuilderDataSource(DataSource filterBuilderDataSource) {
this.filterBuilderDataSource = filterBuilderDataSource;
}
}
Warnings:
15:18:43.416:MUP9:WARN:drawing:isc_FilterBuilder_0:Attempt to draw child of an undrawn parent - ignoring
cons.readyToDraw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71147:27
cons.draw(showing=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71272:15
cons.invokeSuper(clazz=>null, methodName=>"draw", a=>undef, b=>undef, c=>undef, d=>undef, e=>undef, f=>undef, g=>undef, h=>undef, i=>undef, j=>undef, lastArg=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:7158:44
cons.Super(methodName=>"draw", args=>[object Arguments], nativeArguments=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:6976:21
cons.draw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_DataBinding.js:100670:10
cons.placeCanvas(delayed=>undef) on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44590:20
cons._containerWidgetVisibilityChanged() on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44625:52
cons.observation() on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:8112:28
cons.setVisibility(newVisibility=>"inherit") on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:86039:10
cons.invokeSuper(<no args: recursion>) on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:7166:40
cons.setVisibility(newVisibility=>"inherit", a=>undef, b=>undef, c=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Forms.js:15356:10
cons.show() on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:86360:10
cons._showTab(tab=>Obj{ID:isc_Tab_2}) on [TabSet ID:isc_TabSet_0] @ ISC_Containers.js:15048:18
cons._tabSelected(tab=>[SimpleTabButton ID:isc_Tab_5]) on [TabSet ID:isc_TabSet_0] @ ISC_Containers.js:15196:10
cons.buttonSelected(button=>[SimpleTabButton ID:isc_Tab_5]) on [TabBar ID:isc_TabSet_0_tabBar] @ ISC_Containers.js:13348:36
cons.setSelected() on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:15566:59
cons.select() on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:3476:10
cons.handleActivate(event=>Obj, eventInfo=>undef) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:4661:14
cons.handleClick(event=>Obj, eventInfo=>undef) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:4701:17
cons.invokeSuper(<no args: recursion>) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Core.js:7158:44
cons.Super(<no args: recursion>) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Core.js:6976:21
cons.handleClick() on [SimpleTabButton ID:isc_Tab_5] @ ISC_Containers.js:544:21
cons.bubbleEvent(target=>[SimpleTabButton ID:isc_Tab_5], eventType=>"click", eventInfo=>undef, targetIsMasked=>undef, eventItem=>undef) on [Class EventHandler] @ ISC_Core.js:54822:44
cons.handleClick(target=>[SimpleTabButton ID:isc_Tab_5], eventType=>undef) on [Class EventHandler] @ ISC_Core.js:52145:24
cons._handleMouseUp(DOMevent=>[object MouseEvent], fakeEvent=>undef) on [Class EventHandler] @ ISC_Core.js:51832:54
cons.handleMouseUp(DOMevent=>[object MouseEvent], fakeEvent=>undef) on [Class EventHandler] @ ISC_Core.js:51673:26
cons.dispatch(handler=>[c]EventHandler.handleMouseUp(), event=>[object MouseEvent]) on [Class EventHandler] @ ISC_Core.js:56535:30
HTMLDocument.eval(event=>[object MouseEvent]) @ [no file]:1:127
15:18:43.422:MUP9[E0]:WARN:drawing:isc_FilterBuilder_0:Attempt to draw child of an undrawn parent - ignoring
cons.readyToDraw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71147:27
cons.draw(showing=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71272:15
cons.invokeSuper(clazz=>null, methodName=>"draw", a=>undef, b=>undef, c=>undef, d=>undef, e=>undef, f=>undef, g=>undef, h=>undef, i=>undef, j=>undef, lastArg=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:7158:44
cons.Super(methodName=>"draw", args=>[object Arguments], nativeArguments=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:6976:21
cons.draw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_DataBinding.js:100670:10
cons.placeCanvas(delayed=>undef) on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44590:20
cons.moved() on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44656:18
cons.itemsMoved(items=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Forms.js:9369:42
cons.handleMoved(a=>0, b=>-9999, c=>undef, d=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Forms.js:9341:10
cons._completeMoveBy() on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:80587:10
cons.moveBy(deltaX=>null, deltaY=>-9999, animating=>undef, resizeHandle=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:80544:10
cons.moveTo(left=>null, top=>-9999, animating=>undef, resizeHandle=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:81125:17
moveOffscreen(member=>[DynamicForm ID:simpleFbForm]) on [Class Canvas] @ ISC_Core.js:96646:31
cons._moveOffscreen(member=>[DynamicForm ID:simpleFbForm]) on [PaneContainer ID:isc_TabSet_0_paneContainer] @ ISC_Foundation.js:6583:23
cons.layoutChildren(reason=>"member changed visibility: [DynamicForm ..."[49], deltaX=>undef, deltaY=>undef) on [PaneContainer ID:isc_TabSet_0_paneContainer] @ ISC_Foundation.js:7588:18
cons.reflowNow(reason=>"member changed visibility: [DynamicForm ..."[49], reflowCount=>2) on [PaneContainer ID:isc_TabSet_0_paneContainer] @ ISC_Foundation.js:8120:10
clearReflowQueue() on [Class Layout] @ ISC_Foundation.js:5254:27
<anonymous>() @ ISC_Foundation.js:5225:28
cons.runTeas() on [Class EventHandler] @ ISC_Core.js:56478:18
cons._clearThread() on [Class EventHandler] @ ISC_Core.js:56441:18
cons.dispatch(handler=>[c]EventHandler.handleMouseUp(), event=>[object MouseEvent]) on [Class EventHandler] @ ISC_Core.js:56544:10
HTMLDocument.eval(event=>[object MouseEvent]) @ [no file]:1:127
cons.readyToDraw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71147:27
cons.draw(showing=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71272:15
cons.invokeSuper(clazz=>null, methodName=>"draw", a=>undef, b=>undef, c=>undef, d=>undef, e=>undef, f=>undef, g=>undef, h=>undef, i=>undef, j=>undef, lastArg=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:7158:44
cons.Super(methodName=>"draw", args=>[object Arguments], nativeArguments=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:6976:21
cons.draw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_DataBinding.js:100670:10
cons.placeCanvas(delayed=>undef) on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44590:20
cons._containerWidgetVisibilityChanged() on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44625:52
cons.observation() on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:8112:28
cons.setVisibility(newVisibility=>"inherit") on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:86039:10
cons.invokeSuper(<no args: recursion>) on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:7166:40
cons.setVisibility(newVisibility=>"inherit", a=>undef, b=>undef, c=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Forms.js:15356:10
cons.show() on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:86360:10
cons._showTab(tab=>Obj{ID:isc_Tab_2}) on [TabSet ID:isc_TabSet_0] @ ISC_Containers.js:15048:18
cons._tabSelected(tab=>[SimpleTabButton ID:isc_Tab_5]) on [TabSet ID:isc_TabSet_0] @ ISC_Containers.js:15196:10
cons.buttonSelected(button=>[SimpleTabButton ID:isc_Tab_5]) on [TabBar ID:isc_TabSet_0_tabBar] @ ISC_Containers.js:13348:36
cons.setSelected() on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:15566:59
cons.select() on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:3476:10
cons.handleActivate(event=>Obj, eventInfo=>undef) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:4661:14
cons.handleClick(event=>Obj, eventInfo=>undef) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Foundation.js:4701:17
cons.invokeSuper(<no args: recursion>) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Core.js:7158:44
cons.Super(<no args: recursion>) on [SimpleTabButton ID:isc_Tab_5] @ ISC_Core.js:6976:21
cons.handleClick() on [SimpleTabButton ID:isc_Tab_5] @ ISC_Containers.js:544:21
cons.bubbleEvent(target=>[SimpleTabButton ID:isc_Tab_5], eventType=>"click", eventInfo=>undef, targetIsMasked=>undef, eventItem=>undef) on [Class EventHandler] @ ISC_Core.js:54822:44
cons.handleClick(target=>[SimpleTabButton ID:isc_Tab_5], eventType=>undef) on [Class EventHandler] @ ISC_Core.js:52145:24
cons._handleMouseUp(DOMevent=>[object MouseEvent], fakeEvent=>undef) on [Class EventHandler] @ ISC_Core.js:51832:54
cons.handleMouseUp(DOMevent=>[object MouseEvent], fakeEvent=>undef) on [Class EventHandler] @ ISC_Core.js:51673:26
cons.dispatch(handler=>[c]EventHandler.handleMouseUp(), event=>[object MouseEvent]) on [Class EventHandler] @ ISC_Core.js:56535:30
HTMLDocument.eval(event=>[object MouseEvent]) @ [no file]:1:127
15:18:43.422:MUP9[E0]:WARN:drawing:isc_FilterBuilder_0:Attempt to draw child of an undrawn parent - ignoring
cons.readyToDraw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71147:27
cons.draw(showing=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:71272:15
cons.invokeSuper(clazz=>null, methodName=>"draw", a=>undef, b=>undef, c=>undef, d=>undef, e=>undef, f=>undef, g=>undef, h=>undef, i=>undef, j=>undef, lastArg=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:7158:44
cons.Super(methodName=>"draw", args=>[object Arguments], nativeArguments=>undef) on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_Core.js:6976:21
cons.draw() on [FilterBuilder ID:isc_FilterBuilder_0] @ ISC_DataBinding.js:100670:10
cons.placeCanvas(delayed=>undef) on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44590:20
cons.moved() on [CanvasItem ID:isc_SimpleFilterBuilderItem_1 name:simpleCriteria] @ ISC_Forms.js:44656:18
cons.itemsMoved(items=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Forms.js:9369:42
cons.handleMoved(a=>0, b=>-9999, c=>undef, d=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Forms.js:9341:10
cons._completeMoveBy() on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:80587:10
cons.moveBy(deltaX=>null, deltaY=>-9999, animating=>undef, resizeHandle=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:80544:10
cons.moveTo(left=>null, top=>-9999, animating=>undef, resizeHandle=>undef) on [DynamicForm ID:simpleFbForm] @ ISC_Core.js:81125:17
moveOffscreen(member=>[DynamicForm ID:simpleFbForm]) on [Class Canvas] @ ISC_Core.js:96646:31
cons._moveOffscreen(member=>[DynamicForm ID:simpleFbForm]) on [PaneContainer ID:isc_TabSet_0_paneContainer] @ ISC_Foundation.js:6583:23
cons.layoutChildren(reason=>"member changed visibility: [DynamicForm ..."[49], deltaX=>undef, deltaY=>undef) on [PaneContainer ID:isc_TabSet_0_paneContainer] @ ISC_Foundation.js:7588:18
cons.reflowNow(reason=>"member changed visibility: [DynamicForm ..."[49], reflowCount=>2) on [PaneContainer ID:isc_TabSet_0_paneContainer] @ ISC_Foundation.js:8120:10
clearReflowQueue() on [Class Layout] @ ISC_Foundation.js:5254:27
<anonymous>() @ ISC_Foundation.js:5225:28
cons.runTeas() on [Class EventHandler] @ ISC_Core.js:56478:18
cons._clearThread() on [Class EventHandler] @ ISC_Core.js:56441:18
cons.dispatch(handler=>[c]EventHandler.handleMouseUp(), event=>[object MouseEvent]) on [Class EventHandler] @ ISC_Core.js:56544:10
HTMLDocument.eval(event=>[object MouseEvent]) @ [no file]:1:127
Comment