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;
}
show_windows_panel(){
show_windows_panel(event){
console.log('event=', event);
event.preventDefault();
event.stopPropagation()
this.wins_panel = new bricks.WindowsPanel({})
}
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.add_widget(this.container);
this.create_main_widget();
schedule_once(this.load_first_page.bind(this), 0.5);
}
command_handle(event){
@ -68,6 +69,7 @@ bricks.Cols = class extends bricks.VBox {
console.log('record data=', rw.user_data);
this.dispatch('record_click', rw.user_data);
}
async dataHandle(d){
var data = d.rows;
var page = d.add_page;
@ -101,40 +103,58 @@ bricks.Cols = class extends bricks.VBox {
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){
var p = bricks.extend({}, this.data_params);
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;
var running = null;
try {
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);
var d = await this.loader.loadData(p);
var d;
running = new bricks.Running({target:this});
if (this.data_url){
if (this.loading){
bricks.debug('this.loading is set, do not thing');
throw 't';
}
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){
this.main.clear_widgets();
this.dataHandle(d);
var total = this.container.dom_element.scrollHeight - this.container.dom_element.clientHeight;
// this.container.dom_element.scrollTop = d.pos_rate * total;
} else {
bricks.debug(this.loader, 'load previous page error');
bricks.debug(this.loader, 'data is null');
}
} catch (e) {
bricks.debug('e=', e);
}
this.loading = false;
running.dismiss();
if (running) running.dismiss();
}
async load_previous_page(){
if(! this.data_url) return;
if (this.loading){
bricks.debug('this.loading is set, do not thing');
return;
@ -157,6 +177,7 @@ bricks.Cols = class extends bricks.VBox {
running.dismiss();
}
async load_next_page(){
if(! this.data_url) return;
if (this.loading){
bricks.debug('this.loading is set, do not thing');
return;

View File

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