manage.js:
import {Options} from "../investapp/views/common"
import {PreventUpdate} from "dash.exceptions"
import {SpiderAlgorithm} from "investapp.models.spider"
window.dash_clientside = Object.assign({},window.dash_clientside,{
show_configs_div: function(options= Options,is_hidden= bool) {
should_be_hidden != bool(options);
if (is_hidden == should_be_hidden){
throw PreventUpdate()
}
else{
return should_be_hidden;
}
}
});
window.dash_clientside = Object.assign({},{
show_selected_spider_of_pair: function(p,e) {
function show_selected_spider( spider_id= int) {
if (spider_id == None){
return selected_spider_div(None,pair=p,entry_bar_size=e);
}
spider= SpiderAlgorithm = SpiderAlgorithm.query.get(spider_id);
if (spider){
return selected_spider_div(spider);
}
else{
return selected_spider_div(None,entry_bar_size=e);
}
}
return show_selected_spider
}
});
callback.py:
app.clientside_callback(
Clientsidefunction(
namespace='clientside',function_name='show_configs_div'
),Output('manager-spider-{}-{}'.format(pair,entry_bar_size.index),'hidden'),[Input('manager-spider-{}-{}-dropdown'.format(pair,'options')],state=[State('manager-spider-{}-{}'.format(pair,'hidden')]
)
app.clientside_callback(
Clientsidefunction(
namespace='clientside',function_name='show_selected_spider_of_pair'
),Output('manager-spider-{}-{}-selected'.format(pair,'children'),'value')]
)