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