Announcement

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

  • claudiobosticco
    replied
    SmartClient Version: v13.1p_2025-06-06/Enterprise Deployment (built 2025-06-06)

    Hi, I'm very glad to say that everything now seems to be fixed.
    And yes, the issue I noticed with yesterday's build was also present in previous builds, but I hadn't noticed it before.

    Leave a comment:


  • Isomorphic
    replied
    Claudio, these two issues should be fixed in builds dated June 6 or later.

    Leave a comment:


  • Isomorphic
    replied
    Thanks Claudio. We are able to reproduce the warnings but we would have expected that to happen with older versions as well. No matter, we'll take care of it.

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: v13.1p_2025-06-05/Enterprise Deployment (built 2025-06-05)

    Hi, the previous test cases seem to be resolved, but I’ve noticed another issue in my application. In the meantime, there are a series of WARN logs which I’ll paste below, related to various AdaptiveMenus:

    *18:03:41.890:TMR8:WARN:drawing:reportGaraAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[3])
    AdaptiveMenu.setItems(items=>Array[3])
    ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportGaraAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportGaraCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportGaraCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.890:TMR8:WARN:drawing:reportGaraAdaptiveMenu_inlineMenuItem_isc_OID_3:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[3])
    AdaptiveMenu.setItems(items=>Array[3])
    ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportGaraAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportGaraCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportGaraCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.891:TMR8:WARN:drawing:reportGaraAdaptiveMenu_inlineMenuItem_isc_OID_4:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[3])
    AdaptiveMenu.setItems(items=>Array[3])
    ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportGaraAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportGaraAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportGaraCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportGaraCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.921:TMR8:WARN:Carousel:reportGaraCarousel:stepChanged handler not defined on reportGaraGestioneEventoForm
    *18:03:41.921:TMR8:WARN:Carousel:reportGaraCarousel:stepChanged handler not defined on reportGaraOrganizzazioneForm
    *18:03:41.921:TMR8:WARN:Carousel:reportGaraCarousel:stepChanged handler not defined on reportGaraTestataForm
    *18:03:41.949:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[4])
    AdaptiveMenu.setItems(items=>Array[4])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.949:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_5:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[4])
    AdaptiveMenu.setItems(items=>Array[4])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.949:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_6:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[4])
    AdaptiveMenu.setItems(items=>Array[4])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.950:TMR8:WARN:drawing:reportVisitaContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_7:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[4])
    AdaptiveMenu.setItems(items=>Array[4])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportVisitaContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.982:TMR8:WARN:drawing:reportVisitaAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[3])
    AdaptiveMenu.setItems(items=>Array[3])
    ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportVisitaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.983:TMR8:WARN:drawing:reportVisitaAdaptiveMenu_inlineMenuItem_isc_OID_8:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[3])
    AdaptiveMenu.setItems(items=>Array[3])
    ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportVisitaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate

    *18:03:41.983:TMR8:WARN:drawing:reportVisitaAdaptiveMenu_inlineMenuItem_isc_OID_9:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[3])
    AdaptiveMenu.setItems(items=>Array[3])
    ReportAttivitaAdaptiveMenu.initWidget(Obj{ID:reportVisitaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID:reportVisitaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"reportVisitaCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"reportVisitaCreate()", hiddenIFrameEval=>undef)
    anonymous()
    ** recursed on [c]Class.evaluate
    *18:03:42.102:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[5])
    AdaptiveMenu.setItems(items=>Array[5])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
    anonymous()
    planningScuolaCalcioObservation()
    callback(undefined=>undef)
    "planningScuolaCalcio()"
    [c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
    [c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
    anonymous()
    "isc.Timer._fireTimeout(ID, tmrID);"

    *18:03:42.102:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_10:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[5])
    AdaptiveMenu.setItems(items=>Array[5])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
    anonymous()
    planningScuolaCalcioObservation()
    callback(undefined=>undef)
    "planningScuolaCalcio()"
    [c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
    [c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
    anonymous()
    "isc.Timer._fireTimeout(ID, tmrID);"

    *18:03:42.103:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_11:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[5])
    AdaptiveMenu.setItems(items=>Array[5])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
    anonymous()
    planningScuolaCalcioObservation()
    callback(undefined=>undef)
    "planningScuolaCalcio()"
    [c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
    [c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
    anonymous()
    "isc.Timer._fireTimeout(ID, tmrID);"

    *18:03:42.103:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_12:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[5])
    AdaptiveMenu.setItems(items=>Array[5])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
    anonymous()
    planningScuolaCalcioObservation()
    callback(undefined=>undef)
    "planningScuolaCalcio()"
    [c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
    [c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
    anonymous()
    "isc.Timer._fireTimeout(ID, tmrID);"

    *18:03:42.103:TMR8:WARN:drawing: planningScuolaCalcioContattiSocietaAdaptiveMenu_inlineMenuItem_isc_OID_13:Attempt to draw child of an undrawn parent - ignoring
    Canvas.readyToDraw()
    Canvas.draw(showing=>undef, undef, undef)
    StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
    AdaptiveMenu._adaptDimensionBy(dimension=>"Width", pixelDifference=>0, unadaptedValue=>100)
    AdaptiveMenu.adaptWidthBy(pixelDifference=>0, unadaptedWidth=>100)
    AdaptiveMenu.refreshLayout()
    AdaptiveMenu.setData(items=>Array[5])
    AdaptiveMenu.setItems(items=>Array[5])
    ContattiSocietaAdaptiveMenu.initWidget(Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef)
    Canvas.init(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    Class.completeCreation(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    [c]Class.create(A=>Obj{ID: planningScuolaCalcioContattiSocietaAdaptiveMenu}, B=>undef, C=>undef, D=>undef, E=>undef, F=>undef, G=>undef, H=>undef, I=>undef, J=>undef, K=>undef, L=>undef, M=>undef)
    anonymous()
    [c]Class.evaluate(expression=>"planningScuolaCalcioModaleCreate()", evalArgs=>null, globalScope=>false, hiddenIFrameEval=>undef, strictJSON=>undef, reviverFunction=>undef)
    anonymous(expression=>"planningScuolaCalcioModaleCreate()", hiddenIFrameEval=>undef)
    anonymous()
    planningScuolaCalcioObservation()
    callback(undefined=>undef)
    "planningScuolaCalcio()"
    [c]Class.fireCallback(callback=>"planningScuolaCalcio()", argNames=>null, args=>null, target=>null, catchErrors=>true)
    [c]Timer._fireTimeout(ID=>"_timeout16", tmrID=>51, delayedTmrID=>undef)
    anonymous()
    "isc.Timer._fireTimeout(ID, tmrID);"

    *18:03:42.183:TMR8:WARN:AdaptiveMenu: planningScuolaCalcioAdaptiveMenu:couldn't find member to remove: [ToolStripButton ID: planningScuolaCalcioAdaptiveMenu_inlineEmbeddedPlaceholder]
    For only one of them - planningScuolaCalcioContattiSocietaAdaptiveMenu - I’m seeing an actual issue: the ToolStripButtons are getting cut off and the menu isn’t being created.

    One difference compared to the others is that there’s a ToolStrip (included as a gridComponent) that contains a ToolStripButton followed by the AdaptiveMenu.

    Unfortunately, I haven’t been able to reproduce that exact issue in the showcase. I must try harder.

    While trying to create a similar case, I did manage to reproduce a situation where the menu button gets cut off (using Shiva and Spacious density):

    Code:
    isc.AdaptiveMenu.create({
        ID: "gridAdaptiveMenu",
        menuButtonTitle: "More...",
        align: "center",
        defaultLayoutAlign: "center",
        items: [
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit",
                visibleWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"}
            },
            {
                title: "Foo Bar",
                icon:"Edit",
                visibleWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"}
            },
            {
                title: "Foo Bar Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar Bar",
                icon:"Edit"
            }
        ]
    });
    
    isc.ToolStripButton.create({
        ID: "aButton",
        title: " a button",
        icon: "Cancel"
    });
    
    isc.ToolStrip.create({
        ID: "gridToolStrip",
        height: 32,
        width: "100%",
        layoutMargin: 0,
        defaultLayoutAlign: "center",
        members: [aButton,gridAdaptiveMenu]
    })
    
    
    isc.ListGrid.create({
        ID: "countryList",
        width:590, height:400,
        data: countryData,
        gridComponents:["header", "body", gridToolStrip],
        fields:[
            {name:"countryCode", title:"Flag", width:65, type:"image", imageURLPrefix:"flags/24/", imageURLSuffix:".png"},
            {name:"countryName", title:"Country"},
            {name:"capital", title:"Capital", showIf:"false"},
            {name:"continent", title:"Continent"}
        ],
        canReorderFields: true
    })

    Leave a comment:


  • Isomorphic
    replied
    Hi Claudio. Thanks for your patience. Please try your tests in new builds starting June 4 and let us know if you find any additional issues.

    Leave a comment:


  • Isomorphic
    replied
    Thanks for the report, Claudio. Sorry for the delay.

    We are looking at the latest report and the current algorithms to simplify the logic. As soon as we have something for you to test, we will update here.

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: v13.1p_2025-05-22/Enterprise Deployment (built 2025-05-22)

    Hi, I can confirm that the test case above is resolved.
    However, unfortunately I found another situation in my application where I’m seeing issues, and I believe I was able to reproduce it in the showcase.

    The test case is the same as the previous one, but with the Window width reduced to 650. It should be tested with the Shiva skin and Spacious density.

    Code:
    isc.DynamicForm.create({
        ID: "exampleForm",
        width: "100%",
        fields: [
            {
                name: "username",
                title: "Username",
                type: "text",
                width: "*",
                required: true,
                defaultValue: "bob"
            },
            {
                name: "email",
                title: "Email",
                required: true,
                width: "*",
                type: "text",
                defaultValue: "bob@isomorphic.com"
            }
        ]
    });
    
    isc.AdaptiveMenu.create({
        ID: "adaptiveMenu",
        menuButtonTitle: "More...",
        align: "center",
        defaultLayoutAlign: "center",
        items: [
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit",
                visibleWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"}
            },
            {
                title: "Foo Bar",
                icon:"Edit",
                visibleWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"}
            },
            {
                title: "Foo Bar Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar Bar",
                icon:"Edit"
            }
        ]
    });
    
    isc.ToolStrip.create({
        ID: "toolStrip",
        height: 32,
        width: "100%",
        layoutMargin: 0,
        defaultLayoutAlign: "center",
        members: [
            isc.IButton.create({title: "Close", icon: "Close", autoFit: true}),
            adaptiveMenu,
            isc.IButton.create({title: "Save", icon: "Save", autoFit: true})]
    });
    
    isc.Window.create({
        ID: "testWindow",
        width:650, height:400,
        title: isc.version,
        showFooter: true,
        items: [exampleForm],
        footerControls: [toolStrip],
        layoutBottomMargin: 20
    }).show()
    When running it, you’ll see:
    - Three visible ToolStripButtons plus the "More..." MenuButton

    At this point, there's an initial issue, because there’s actually enough space for a fourth ToolStripButton before the "More..." MenuButton appears:

    Click image for larger version

Name:	2025-05-22 19.00.23.jpg
Views:	55
Size:	42.0 KB
ID:	275782

    Anyway, continuing the test:
    - Run testWindow.maximize()
    - Then run testWindow.restore()

    At this point, you’ll see five visible ToolStripButtons plus the "More..." MenuButton.
    This confirms there was at least space for the fourth ToolStripButton, but not for the fifth - in fact, the "More..." MenuButton is clipped, and that’s the second issue:

    Click image for larger version

Name:	2025-05-22 19.01.51.jpg
Views:	37
Size:	43.0 KB
ID:	275783

    Leave a comment:


  • Isomorphic
    replied
    Sorry for the delay, Claudio. Please check builds starting with May 20 for a fix.
    Last edited by Isomorphic; 19 May 2025, 12:28.

    Leave a comment:


  • claudiobosticco
    replied
    I'll add a detail that probably doesn't change the nature of the bug: while testing my application with Cypress, I happened to see the first button clipped instead of the last one.

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: v13.1p_2025-05-15/AllModules Development Only (built 2025-05-15)

    Safari, Firefox, Chrome on MacOS

    Hi, the issue is actually reproducible on desktop as well. Tested in the online showcase https://www-demos.smartclient.com/sm...13.1/showcase/, using the Shiva skin with Spacious density: the 6th ToolStrip button appears to be clipped.

    Test case:
    Code:
    isc.DynamicForm.create({
        ID: "exampleForm",
        width: "100%",
        fields: [
            {
                name: "username",
                title: "Username",
                type: "text",
                width: "*",
                required: true,
                defaultValue: "bob"
            },
            {
                name: "email",
                title: "Email",
                required: true,
                width: "*",
                type: "text",
                defaultValue: "bob@isomorphic.com"
            }
        ]
    });
    
    isc.AdaptiveMenu.create({
        ID: "adaptiveMenu",
        menuButtonTitle: "More...",
        align: "center",
        defaultLayoutAlign: "center",
        items: [
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit",
                visibleWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"}
            },
            {
                title: "Foo Bar",
                icon:"Edit",
                visibleWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"}
            },
            {
                title: "Foo Bar Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar",
                icon:"Edit"
            },
            {
                title: "Foo Bar Bar",
                icon:"Edit"
            }
        ]
    });
    
    isc.ToolStrip.create({
        ID: "toolStrip",
        height: 32,
        width: "100%",
        layoutMargin: 0,
        defaultLayoutAlign: "center",
        members: [
            isc.IButton.create({title: "Close", icon: "Close", autoFit: true}),
            adaptiveMenu,
            isc.IButton.create({title: "Save", icon: "Save", autoFit: true})]
    });
    
    isc.Window.create({
        ID: "testWindow",
        width:700, height:400,
        title: isc.version,
        showFooter: true,
        items: [exampleForm],
        footerControls: [toolStrip],
        layoutBottomMargin: 20
    }).show()
    Click image for larger version

Name:	2025-05-16 11.57.40.jpg
Views:	60
Size:	41.9 KB
ID:	275757

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: v13.1p_2025-05-08/Enterprise Deployment (built 2025-05-08)

    Hello, unfortunately, with the latest 13.1 build, I'm seeing the exact same issue as in post #1 again.

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: v13.1p_2025-01-23/AllModules Development Only (built 2025-01-23)

    Hello, I can confirm that it's working now, thank you very much!

    Using the 2025-01-18 build, yesterday, I encountered another problem, but I'm happy to say that it's also been fixed in today's build.

    Leave a comment:


  • Isomorphic
    replied
    Thanks again for the test case, Claudio. The issue here was that the wrong 'last' item was being pulled from the inlined items to be placed in the menu causing the order to be misrepresented. This has been fixed in builds starting on 21 January.

    Leave a comment:


  • claudiobosticco
    replied
    v13.1p_2025-01-11/AllModules Development Only

    Safari on iPad Mini 6th gen iOS 17.4 (XCode Simulator)

    Hello, again as in the original post, please open the showcase with these density settings:
    https://www-demos.smartclient.com/sm...rease=15&dhc=1
    using an iPad Mini in portrait orientation, and run this code from the Safari console, so that the Window is at fullscreen:

    Code:
    isc.DynamicForm.create({
        ID: "exampleForm",
        width: "100%",
        fields: [
            {
                name: "username",
                title: "Username",
                type: "text",
                width: "*",
                required: true,
                defaultValue: "bob"
            },
            {
                name: "email",
                title: "Email",
                required: true,
                width: "*",
                type: "text",
                defaultValue: "bob@isomorphic.com"
            }
        ]
    });
    
    isc.AdaptiveMenu.create({
        ID: "adaptiveMenu",
        menuButtonTitle: "More...",
        align: "center",
        defaultLayoutAlign: "center",
        items: [
            {
                title: "Foo Bar",
                icon: "Edit"
            },
            {
                title: "Foo Bar",
                icon: "Edit"
            },
    
            {
                title: "Foo Bar",
                icon: "Edit"
            },
            {
                title: "Foo Bar Bar",
                icon: "Edit"
            },
            {
                title: "Foo Bar",
                icon: "Cancel",
                enableWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"}
            },
            {
                title: "Foo Bar Bar",
                icon: "Cancel",
                enableWhen: {fieldName: "exampleForm.values.username", operator: "notEqual", value: "bob"}
            },
            {
                title: "Foo Bar",
                icon: "Close",
                enableWhen: {fieldName: "exampleForm.values.username", operator: "equals", value: "bob"}
            }
        ]
    });
    
    isc.ToolStrip.create({
        ID: "toolStrip",
        height: 32,
        width: "100%",
        layoutMargin: 0,
        defaultLayoutAlign: "center",
        members: [
            isc.IButton.create({title: "Close", icon: "Close", autoFit: true}),
            adaptiveMenu,
            isc.IButton.create({title: "Save", icon: "Save", autoFit: true})]
    });
    
    isc.Window.create({
        ID: "testWindow",
        title: isc.version,
        maximized: true,
        showFooter: true,
        items: [exampleForm],
        footerControls: [toolStrip],
        layoutBottomMargin: 20
    }).show()
    I've slightly modified the test case of the original post, you'll see that, in portrait orientation, the last AdaptiveMenuItem (which has icon "Close"), appears before of the two disabled items (with "Cancel" icon), while if you switch to landscape it correctly appears as the last button:

    Click image for larger version

Name:	2025-01-12 21.03.30.jpg
Views:	106
Size:	40.2 KB
ID:	274542


    Click image for larger version

Name:	2025-01-12 21.03.37.jpg
Views:	91
Size:	44.8 KB
ID:	274543

    Leave a comment:


  • Isomorphic
    replied
    Claudio, no change in ordering is intended. When did you see this behavior change? And yes, a test case may be helpful to see exactly what you are experiencing.

    Leave a comment:

Working...
X