adding socket listner dataset screen
This commit is contained in:
parent
776b6e540e
commit
a2066ce5cd
16 changed files with 127 additions and 50 deletions
|
@ -2,9 +2,10 @@ import makeAutoObservable from "mobx-store-inheritance";
|
|||
import { DataSetRepository } from "./dataset_repository";
|
||||
import { UiErrorState } from "../../core/store/base_store";
|
||||
import { HttpError } from "../../core/repository/http_repository";
|
||||
import { Asset, Assets, DataSetModel, IDatasetModel } from "./dataset_model";
|
||||
import { Asset, Assets, DataSetModel, IDatasetModel, ProcessStatus } from "./dataset_model";
|
||||
import { message } from "antd";
|
||||
import { UUID } from "../all_projects/data/project_repository";
|
||||
import { SocketRepository, socketRepository } from "../../core/repository/socket_repository";
|
||||
|
||||
export enum DrawersDataset {
|
||||
NewDataset = "Новый датасет",
|
||||
|
@ -21,9 +22,10 @@ export class DataSetStore extends UiErrorState<HttpError> {
|
|||
activeProject: UUID;
|
||||
dataSetModel = DataSetModel.empty();
|
||||
drawers: Drawer[];
|
||||
|
||||
socketRepository: SocketRepository;
|
||||
constructor() {
|
||||
super();
|
||||
this.socketRepository = socketRepository;
|
||||
this.dataSetRepository = new DataSetRepository();
|
||||
this.drawers = Object.entries(DrawersDataset).map((k, v) => {
|
||||
return {
|
||||
|
@ -32,13 +34,30 @@ export class DataSetStore extends UiErrorState<HttpError> {
|
|||
};
|
||||
});
|
||||
makeAutoObservable(this);
|
||||
socketRepository.on((e) => {
|
||||
if (e.event === "realtime") {
|
||||
if (e.payload !== undefined && e.payload.value !== undefined && e.payload.value.id !== undefined) {
|
||||
this.updateDatasetStatus(String(e.payload.value.id), ProcessStatus.END);
|
||||
}
|
||||
if (e.payload !== undefined && e.payload.error !== undefined && e.payload.error.id !== undefined) {
|
||||
this.updateDatasetStatus(String(e.payload.error.id), ProcessStatus.ERROR);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
updateDatasetStatus(id: string, status: ProcessStatus) {
|
||||
this.datasets = this.datasets?.map((el) => {
|
||||
if (el._id.isEqual(id)) {
|
||||
el.processStatus = status;
|
||||
}
|
||||
return el;
|
||||
});
|
||||
}
|
||||
|
||||
openEmptyCard() {
|
||||
this.dataSetModel = DataSetModel.empty();
|
||||
this.editDrawer(DrawersDataset.NewDataset, true);
|
||||
}
|
||||
|
||||
|
||||
setNewDatasetName(e: string): void {
|
||||
this.dataSetModel.name = e;
|
||||
}
|
||||
|
@ -74,7 +93,6 @@ export class DataSetStore extends UiErrorState<HttpError> {
|
|||
|
||||
editDataset(id: string) {
|
||||
this.dataSetModel = DataSetModel.fromIDatasetModel(this.datasets?.find((el) => el._id === id) as IDatasetModel);
|
||||
console.log(this.dataSetModel.name);
|
||||
this.editDrawer(DrawersDataset.NewDataset, true);
|
||||
}
|
||||
|
||||
|
@ -93,6 +111,7 @@ export class DataSetStore extends UiErrorState<HttpError> {
|
|||
async (s) => {
|
||||
(await this.dataSetRepository.execDatasetProcess(id)).fold(
|
||||
() => {
|
||||
this.updateDatasetStatus(id,ProcessStatus.RUN)
|
||||
message.success("Процесс запущен");
|
||||
},
|
||||
(e) => message.error(e.message)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue