1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
app.ts 4.2 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
zengqiao Отправлено 4 лет назад c6e4b60
import { observable, action } from 'mobx';
import { getAppList, getAppDetail, getAppTopicList, applyOrder, modfiyApplication, modfiyAdminApp, getAdminAppList, getAppsConnections, getTopicAppQuota } from 'lib/api';
import { IAppItem, IAppQuota, ITopic, IOrderParams, IConnectionInfo } from 'types/base-type';
class App {
@observable
public loading: boolean = false;
@observable
public connectLoading: boolean = true;
@observable
public data: IAppItem[] = [];
@observable
public adminAppData: IAppItem[] = [];
@observable
public selectData: IAppItem[] = [{
appId: '-1',
name: '所有关联应用',
} as IAppItem,
];
@observable
public active: string = '-1';
@observable
public baseInfo: IAppItem = {} as IAppItem;
@observable
public topicList: ITopic[] = [];
@observable
public currentTab: string = '1';
@observable
public appsConnections: IConnectionInfo[] = [];
@observable
public principal: string = '';
@observable
public appQuota: IAppQuota[] = [];
@action.bound
public changeActiveApp(data: string) {
this.active = data;
}
@action.bound
public setTopicAppQuota(data: IAppQuota[]) {
return this.appQuota = data.map((item, index) => {
return {
...item,
label: item.appName,
value: item.appId,
key: index,
};
});
}
@action.bound
public setLoading(value: boolean) {
this.loading = value;
}
@action.bound
public setConnectLoading(value: boolean) {
this.connectLoading = value;
}
@action.bound
public setData(data: IAppItem[] = []) {
this.data = data.map((item, index) => ({
...item,
key: index,
principalList: item.principals ? item.principals.split(',') : [],
}));
const selectData = data.map((item) => ({
...item,
label: item.name,
value: item.appId,
}));
this.selectData.push(...selectData);
this.setLoading(false);
}
@action.bound
public setAdminData(data: IAppItem[] = []) {
this.adminAppData = data.map((item, index) => ({
...item,
key: index,
principalList: item.principals ? item.principals.split(',') : [],
}));
this.setLoading(false);
}
@action.bound
public setCurrentTab(data: string) {
this.currentTab = data;
}
@action.bound
public setAppDetail(data: IAppItem) {
this.baseInfo = data || {} as IAppItem;
}
@action.bound
public setTopicList(data: ITopic[]) {
this.topicList = data.map((item, index) => ({
...item,
key: index,
}));
this.setLoading(false);
}
@action.bound
public setAppsConnections = (data: IConnectionInfo[]) => {
this.setConnectLoading(false);
this.appsConnections = (data || []).map((item, index) => {
return {
key: index,
...item,
};
});
}
public getAppList() {
this.setLoading(true);
getAppList().then(this.setData);
}
public getTopicAppQuota(clusterId: number, topicName: string) {
return getTopicAppQuota(clusterId, topicName).then(this.setTopicAppQuota);
}
public getAdminAppList() {
this.setLoading(true);
getAdminAppList().then(this.setAdminData);
}
public getAppDetail(appId: string) {
getAppDetail(appId).then(this.setAppDetail);
}
public getAppTopicList(appId: string) {
this.setLoading(true);
const mine = this.currentTab === '1';
getAppTopicList(appId, mine).then(this.setTopicList);
}
public applyApplication(params: IOrderParams) {
return applyOrder(params);
}
public modfiyApplication(params: any, from?: string) {
return from === 'admin' ? this.modfiyAdminApp(params) : modfiyApplication(params).then(() => this.getAppList());
}
public modfiyAdminApp(params: any) {
return modfiyAdminApp(params).then(() => this.getAdminAppList());
}
public cancelProdPermission(params: IOrderParams) {
return applyOrder(params);
}
public applyAppOffline(params: IOrderParams) {
return applyOrder(params);
}
public getAppsConnections(appId: string) {
this.setConnectLoading(true);
return getAppsConnections(appId).then(this.setAppsConnections);
}
public applyExpand(params: IOrderParams) {
return applyOrder(params);
}
}
export const app = new App();

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
v2.2.0