Avaiga / taipy-gui

Graphical User Interface generator for Taipy
Apache License 2.0
60 stars 18 forks source link

BUG-2.3 selector generates unwanted on_change with None value during initialization #826

Closed FredLL-Avaiga closed 1 year ago

FredLL-Avaiga commented 1 year ago

Description Selector generates unwanted on_change with None value during initialization

How to reproduce A code fragment


from src.taipy.gui_core.GuiCoreLib import _GuiCore

import taipy as tp
from taipy import Gui, Config

a_cfg = Config.configure_data_node('a', default_data="Initial value of datanode a")
b_cfg = Config.configure_data_node('b')

def identity(x):
    return x

t_cfg = Config.configure_task(id='t', input=a_cfg, output=b_cfg, function=identity)
s_cfg = Config.configure_scenario_from_tasks('s', task_configs=[t_cfg])

scenario = None

md = """
<|{scenario}|scenario_selector|>

<|{show_b(scenario)}|>
"""
def show_b(scenario):
    print(scenario)
    return scenario.b.read() if scenario else ''

def on_init(state):
    scenario = tp.create_scenario(s_cfg, name="Demo")
    scenario.submit(wait=True)
    state.scenario = scenario

if __name__ == "__main__":
    tp.Core().run()
    Gui(md).run()
...

**Expected behavior**
avoid parasite on_change

**Runtime environment**
Taipy 2.3
FredLL-Avaiga commented 1 year ago

with 2.3 image

FredLL-Avaiga commented 1 year ago

Expected image