You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
4.0 KiB
197 lines
4.0 KiB
import {Label, Vertical, CenterAdapt} from '@ui/index'; |
|
import LinkFail, {EVENT_CLOSE, EVENT_RETRY} from '../components/linkfail/linkfail'; |
|
|
|
class Dialog { |
|
/** |
|
* 提示 |
|
* @param message |
|
* @param onConfirm |
|
*/ |
|
public confirm(message: string, onConfirm: Function): string { |
|
const id = BI.UUID(); |
|
BI.Popovers.create(id, { |
|
type: 'bi.bar_popover', |
|
size: 'normal', |
|
header: BI.i18nText('Dec-Dcm_Tips'), |
|
width: 450, |
|
height: 220, |
|
body: { |
|
type: 'bi.left', |
|
cls: 'comfirm-content', |
|
vgap: 40, |
|
hgap: 20, |
|
items: [ |
|
{ |
|
type: 'bi.layout', |
|
cls: 'dcm-comfirm-icon', |
|
width: 50, |
|
height: 50, |
|
}, |
|
{ |
|
type: 'bi.label', |
|
textHeight: 50, |
|
lgap: 10, |
|
text: message, |
|
}, |
|
], |
|
}, |
|
listeners: [ |
|
{ |
|
eventName: 'EVENT_CONFIRM', |
|
action () { |
|
onConfirm ? onConfirm(true) : null; |
|
}, |
|
}, |
|
{ |
|
eventName: 'EVENT_CANCEL', |
|
action () { |
|
onConfirm ? onConfirm(false) : null; |
|
}, |
|
}, |
|
], |
|
}).open(id); |
|
|
|
return id; |
|
} |
|
public loading(message: string): string { |
|
const body = { |
|
type: 'bi.center_adapt', |
|
cls: 'bi-card', |
|
width: 450, |
|
height: 220, |
|
items: [ |
|
{ |
|
type: Vertical, |
|
items: [ |
|
{ |
|
type: 'bi.layout', |
|
cls: 'dcm-loading-icon', |
|
width: 100, |
|
height: 100, |
|
}, |
|
{ |
|
type: Label, |
|
text: message, |
|
}, |
|
], |
|
}, |
|
], |
|
}; |
|
|
|
return this.show(body); |
|
} |
|
|
|
public success(message: string): string { |
|
const body = { |
|
type: 'bi.center_adapt', |
|
cls: 'bi-card', |
|
items: [ |
|
{ |
|
type: Vertical, |
|
items: [ |
|
{ |
|
type: 'bi.layout', |
|
cls: 'dcm-success-icon', |
|
width: 100, |
|
height: 100, |
|
}, |
|
{ |
|
type: Label, |
|
text: message, |
|
}, |
|
], |
|
}, |
|
], |
|
}; |
|
|
|
return this.show(body, 1000); |
|
} |
|
public error(message: string): string { |
|
const body = { |
|
type: 'bi.center_adapt', |
|
cls: 'bi-card', |
|
items: [ |
|
{ |
|
type: Vertical, |
|
items: [ |
|
{ |
|
type: 'bi.layout', |
|
cls: 'dcm-error-icon', |
|
width: 100, |
|
height: 100, |
|
}, |
|
{ |
|
type: Label, |
|
text: message, |
|
}, |
|
], |
|
}, |
|
], |
|
}; |
|
|
|
return this.show(body, 2000); |
|
} |
|
|
|
public linkFail(text: string, more: string, cb?: Function): string { |
|
const id = BI.UUID(); |
|
const linkFailWidget = BI.createWidget({ |
|
type: LinkFail, |
|
text, |
|
errMessage: more, |
|
listeners: [ |
|
{ |
|
eventName: EVENT_CLOSE, |
|
action: () => { |
|
BI.Maskers.remove(id); |
|
}, |
|
}, |
|
{ |
|
eventName: EVENT_RETRY, |
|
action: () => { |
|
BI.Maskers.remove(id); |
|
cb ? cb() : null; |
|
}, |
|
}, |
|
], |
|
}); |
|
BI.Maskers.create(id, null, { |
|
render: linkFailWidget, |
|
}); |
|
BI.Maskers.show(id); |
|
|
|
return id; |
|
} |
|
|
|
public close(id: string): void{ |
|
BI.Popovers.close(id); |
|
} |
|
public remove(id: string): void{ |
|
BI.Maskers.remove(id); |
|
} |
|
|
|
|
|
public show(body: any, autoClose = 0): string { |
|
const name = BI.UUID(); |
|
BI.Maskers.create(name, null, { |
|
render: { |
|
type: CenterAdapt, |
|
cls: 'bi-z-index-mask', |
|
items: [{ |
|
el: { |
|
...body, |
|
}, |
|
}], |
|
}, |
|
}); |
|
BI.Maskers.show(name); |
|
if (autoClose > 0) { |
|
setTimeout(() => { |
|
BI.Maskers.remove(name); |
|
}, autoClose); |
|
} |
|
|
|
return name; |
|
} |
|
} |
|
|
|
export default new Dialog();
|
|
|