This commit is contained in:
ymq1 2025-06-12 14:38:50 +00:00
parent 28bb691eef
commit 29e3fab227
3 changed files with 47 additions and 26 deletions

View File

@ -563,7 +563,10 @@ bricks.App = class extends bricks.Layout {
this.wins_panel = null; this.wins_panel = null;
} }
show_windows_panel(){ show_windows_panel(event){
console.log('event=', event);
event.preventDefault();
event.stopPropagation()
this.wins_panel = new bricks.WindowsPanel({}) this.wins_panel = new bricks.WindowsPanel({})
} }
get_color(){ get_color(){

View File

@ -47,6 +47,7 @@ bricks.Cols = class extends bricks.VBox {
this.toolbar_w.bind('command', this.command_handle.bind(this)); this.toolbar_w.bind('command', this.command_handle.bind(this));
} }
this.add_widget(this.container); this.add_widget(this.container);
this.create_main_widget();
schedule_once(this.load_first_page.bind(this), 0.5); schedule_once(this.load_first_page.bind(this), 0.5);
} }
command_handle(event){ command_handle(event){
@ -68,6 +69,7 @@ bricks.Cols = class extends bricks.VBox {
console.log('record data=', rw.user_data); console.log('record data=', rw.user_data);
this.dispatch('record_click', rw.user_data); this.dispatch('record_click', rw.user_data);
} }
async dataHandle(d){ async dataHandle(d){
var data = d.rows; var data = d.rows;
var page = d.add_page; var page = d.add_page;
@ -101,40 +103,58 @@ bricks.Cols = class extends bricks.VBox {
this.main.remove_widget(w); this.main.remove_widget(w);
} }
} }
create_main_widget(){
this.container.clear_widgets();
this.main = new bricks.DynamicColumn({
width:"100%",
col_cwidth:this.col_cwidth,
mobile_cols:this.mobile_cols || 2
});
this.container.add_widget(this.main);
}
async show_with_data(data){
this.data = data;
this.data_url = null;
await load_first_page(params);
}
async load_first_page(params){ async load_first_page(params){
var p = bricks.extend({}, this.data_params); var running = null;
if (params){
p = bricks.extend(p, params);
}
if (this.loading){
bricks.debug('this.loading is set, do not thing');
return;
}
var running = new bricks.Running({target:this});
this.loading = true;
try { try {
this.container.clear_widgets(); var d;
this.main = new bricks.DynamicColumn({ running = new bricks.Running({target:this});
width:"100%", if (this.data_url){
col_cwidth:this.col_cwidth, if (this.loading){
mobile_cols:this.mobile_cols || 2 bricks.debug('this.loading is set, do not thing');
}); throw 't';
this.container.add_widget(this.main); }
var d = await this.loader.loadData(p); this.loading = true;
var p = bricks.extend({}, this.data_params);
if (params){
p = bricks.extend(p, params);
}
var d = await this.loader.loadData(p);
} else {
if (this.data) {
d = this.data;
}
}
if (d){ if (d){
this.main.clear_widgets();
this.dataHandle(d); this.dataHandle(d);
var total = this.container.dom_element.scrollHeight - this.container.dom_element.clientHeight; var total = this.container.dom_element.scrollHeight - this.container.dom_element.clientHeight;
// this.container.dom_element.scrollTop = d.pos_rate * total; // this.container.dom_element.scrollTop = d.pos_rate * total;
} else { } else {
bricks.debug(this.loader, 'load previous page error'); bricks.debug(this.loader, 'data is null');
} }
} catch (e) { } catch (e) {
bricks.debug('e=', e); bricks.debug('e=', e);
} }
this.loading = false; this.loading = false;
running.dismiss(); if (running) running.dismiss();
} }
async load_previous_page(){ async load_previous_page(){
if(! this.data_url) return;
if (this.loading){ if (this.loading){
bricks.debug('this.loading is set, do not thing'); bricks.debug('this.loading is set, do not thing');
return; return;
@ -157,6 +177,7 @@ bricks.Cols = class extends bricks.VBox {
running.dismiss(); running.dismiss();
} }
async load_next_page(){ async load_next_page(){
if(! this.data_url) return;
if (this.loading){ if (this.loading){
bricks.debug('this.loading is set, do not thing'); bricks.debug('this.loading is set, do not thing');
return; return;

View File

@ -419,13 +419,10 @@ bricks.WindowsPanel = class extends bricks.Popup {
this.content.dataHandle(data); this.content.dataHandle(data);
this.add_widget(this.content); this.add_widget(this.content);
} }
add_window(win){
bricks.app.mwins.push(win);
}
del_window(event){ del_window(event){
var pos = event.params.pos; var pos = event.params.pos;
var w = this.mwins[pos]; var w = bricks.app.mwins[pos];
w.open(); w.open();
bricks.app.mwins.splice(pos, 1); bricks.app.mwins.splice(pos, 1);
this.dismiss(); this.dismiss();
@ -458,7 +455,7 @@ bricks.PopupWindow = class extends bricks.Popup {
this.content_w.set_css('flexbox'); this.content_w.set_css('flexbox');
filler.add_widget(this.content_w); filler.add_widget(this.content_w);
if (this.auto_open){ if (this.auto_open){
this.open(); schedule_once(this.open.bind(this), 0.2);
} }
} }
build_title_bar(){ build_title_bar(){