qcc
4 years ago
10 changed files with 87 additions and 4 deletions
@ -0,0 +1,41 @@ |
|||||||
|
import { CenterAdapt, Label } from 'ui'; |
||||||
|
import { shortcut } from '@core/core'; |
||||||
|
|
||||||
|
export const LinkXtype = 'dec.dcm.components.link.button'; |
||||||
|
const DEFAULT_LINK = '/'; |
||||||
|
@shortcut(LinkXtype) |
||||||
|
export class LinkButton extends BI.BasicButton { |
||||||
|
props = { |
||||||
|
text: '', |
||||||
|
cls: 'cursor-pointer', |
||||||
|
$testId: 'dec-dcm-link-button', |
||||||
|
} |
||||||
|
|
||||||
|
render() { |
||||||
|
return { |
||||||
|
type: CenterAdapt, |
||||||
|
cls: 'bi-high-light', |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: Label, |
||||||
|
cls: 'bi-high-light-border-bottom', |
||||||
|
text: this.options.text, |
||||||
|
}, |
||||||
|
], |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
getLink() { |
||||||
|
const link = this.options.link; |
||||||
|
|
||||||
|
return (BI.isFunction(link) ? link() : link) || DEFAULT_LINK; |
||||||
|
} |
||||||
|
|
||||||
|
setText(v: string) { |
||||||
|
this.text.setText(v); |
||||||
|
} |
||||||
|
|
||||||
|
doClick() { |
||||||
|
window.open(this.getLink()); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue