alan
6 years ago
16 changed files with 375 additions and 18 deletions
@ -0,0 +1,31 @@
|
||||
import {WidgetType, Vertical} from '@ui'; |
||||
import Model from './left.model'; |
||||
import {LinkType} from '@ui/type'; |
||||
import {getLinks} from './left.service'; |
||||
const className = 'fr.component.linkStatus.left'; |
||||
let leftContent: any = null; |
||||
const Widget: WidgetType = { |
||||
_store() { |
||||
return BI.Models.getModel(Model); |
||||
}, |
||||
watch:{ |
||||
linkList(linkList: LinkType[]) { |
||||
const title = linkList.length > 0 ? linkList[0].connectionName : ''; |
||||
this.store.setStatusSelected(title); |
||||
}, |
||||
statusSelected(title: string) { |
||||
const linkList = this.model.linkList; |
||||
leftContent.populate(BI.createItems(getLinks(linkList, title))); |
||||
}, |
||||
}, |
||||
render() { |
||||
return { |
||||
type: Vertical, |
||||
ref(_ref: any) { |
||||
leftContent = _ref; |
||||
}, |
||||
}; |
||||
}, |
||||
}; |
||||
BI.shortcut(className, BI.inherit(BI.Widget, Widget)); |
||||
export default className; |
@ -0,0 +1,39 @@
|
||||
import {WidgetType, Left, Label} from '@ui'; |
||||
import Model from './left.model'; |
||||
const className = 'fr.component.linkStatus.left.item'; |
||||
const Widget: WidgetType = { |
||||
props: { |
||||
title:'', |
||||
id:'', |
||||
creator: '', |
||||
}, |
||||
_store() { |
||||
return BI.Models.getModel(Model); |
||||
}, |
||||
render() { |
||||
const {title, extraCls, creator, text, id} = this.options; |
||||
|
||||
return { |
||||
type: Left, |
||||
cls: 'left-item', |
||||
extraCls, |
||||
items: [ |
||||
{ |
||||
type: Label, |
||||
cls:'link-title', |
||||
textAlign: 'left', |
||||
text: title, |
||||
title, |
||||
}, |
||||
], |
||||
}; |
||||
}, |
||||
mounted() { |
||||
const {title} = this.options; |
||||
this.element.on('click', () => { |
||||
this.store.setStatusSelected(title); |
||||
}); |
||||
}, |
||||
}; |
||||
BI.shortcut(className, BI.inherit(BI.Widget, Widget)); |
||||
export default className; |
@ -0,0 +1,17 @@
|
||||
import {ModelType} from '@ui'; |
||||
const className = 'fr.model.linkstatus.left'; |
||||
const Model: ModelType = { |
||||
context: ['tab', 'linkList', 'statusSelected'], |
||||
state () { |
||||
return { |
||||
selected:'', |
||||
}; |
||||
}, |
||||
actions: { |
||||
setStatusSelected(title: string) { |
||||
this.model.statusSelected = title; |
||||
}, |
||||
}, |
||||
}; |
||||
BI.model(className, BI.inherit(Fix.Model, Model)); |
||||
export default className; |
@ -0,0 +1,18 @@
|
||||
import {LinkType} from '@ui/type'; |
||||
import LeftItem from './left.item.component'; |
||||
|
||||
export const getLinks = (linkList: LinkType[], selectTitle = ''): any => { |
||||
const links: any[] = []; |
||||
linkList.forEach((item: LinkType) => { |
||||
links.push({ |
||||
type: LeftItem, |
||||
extraCls: item.connectionName === selectTitle ? 'left-item-selected' : '', |
||||
title: item.connectionName, |
||||
id: item.connectionId, |
||||
creator: item.creator, |
||||
text: item.text ? item.text : '默认', |
||||
}); |
||||
}); |
||||
|
||||
return links; |
||||
}; |
@ -0,0 +1,89 @@
|
||||
import {WidgetType, Left, Label, Vertical} from '@ui/index'; |
||||
const className = 'fr.component.linkStatus.right.card'; |
||||
const Widget: WidgetType = { |
||||
render() { |
||||
return { |
||||
type: Left, |
||||
items: [ |
||||
{ |
||||
type: Left, |
||||
cls: 'right-status-item', |
||||
items: [ |
||||
{ |
||||
type: Vertical, |
||||
cls:'right-status-board', |
||||
items: [ |
||||
{ |
||||
type: Vertical, |
||||
cls:'right-status-board-item', |
||||
items: [ |
||||
{ |
||||
type: Label, |
||||
cls: 'right-status-text', |
||||
extraCls: 'card-font1', |
||||
text: '0', |
||||
}, |
||||
{ |
||||
type: Label, |
||||
cls: 'right-status-text', |
||||
text: '/', |
||||
}, |
||||
{ |
||||
type: Label, |
||||
cls: 'right-status-text', |
||||
text: '50', |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
type: Label, |
||||
text: '活动连接数', |
||||
}, |
||||
], |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
type: Left, |
||||
cls: 'right-status-right', |
||||
items: [ |
||||
{ |
||||
type: Vertical, |
||||
cls:'right-status-board', |
||||
items: [ |
||||
{ |
||||
type: Vertical, |
||||
cls:'right-status-board-item', |
||||
items: [ |
||||
{ |
||||
type: Label, |
||||
cls: 'right-status-text', |
||||
extraCls: 'card-font2', |
||||
text: '0', |
||||
}, |
||||
{ |
||||
type: Label, |
||||
cls: 'right-status-text', |
||||
text: '/', |
||||
}, |
||||
{ |
||||
type: Label, |
||||
cls: 'right-status-text', |
||||
text: '50', |
||||
}, |
||||
], |
||||
}, |
||||
{ |
||||
type: Label, |
||||
text: '空闲连接数', |
||||
}, |
||||
], |
||||
}, |
||||
], |
||||
}, |
||||
], |
||||
}; |
||||
}, |
||||
}; |
||||
BI.shortcut(className, BI.inherit(BI.Widget, Widget)); |
||||
export default className; |
@ -0,0 +1,48 @@
|
||||
import {WidgetType, Vertical, Left, Label} from '@ui/index'; |
||||
import Model from './right.model'; |
||||
import RightCard from './right.card.component'; |
||||
const className = 'fr.component.linkStatus.right'; |
||||
let Title: any = null; |
||||
|
||||
const Widget: WidgetType = { |
||||
_store() { |
||||
return BI.Models.getModel(Model); |
||||
}, |
||||
watch:{ |
||||
statusSelected(title: string) { |
||||
Title.setText(`数据连接(${title})`); |
||||
}, |
||||
}, |
||||
render() { |
||||
return { |
||||
type:Vertical, |
||||
cls:'database-right', |
||||
items:[ |
||||
{ |
||||
type: Left, |
||||
height: 40, |
||||
cls: 'right-status-title', |
||||
items:[ |
||||
{ |
||||
type: Label, |
||||
text:'数据连接', |
||||
}, |
||||
], |
||||
ref(ref: any) { |
||||
Title = ref; |
||||
}, |
||||
}, { |
||||
type: Vertical, |
||||
cls: 'right-status-body', |
||||
items: [ |
||||
{ |
||||
type: RightCard, |
||||
}, |
||||
], |
||||
}, |
||||
], |
||||
}; |
||||
}, |
||||
}; |
||||
BI.shortcut(className, BI.inherit(BI.Widget, Widget)); |
||||
export default className; |
@ -0,0 +1,14 @@
|
||||
import {ModelType} from '@ui'; |
||||
const className = 'fr.model.linkstatus.right'; |
||||
const Model: ModelType = { |
||||
context: ['linkList', 'statusSelected'], |
||||
state () { |
||||
return { |
||||
selected:'', |
||||
}; |
||||
}, |
||||
actions: { |
||||
}, |
||||
}; |
||||
BI.model(className, BI.inherit(Fix.Model, Model)); |
||||
export default className; |
Loading…
Reference in new issue