Skip to content

Commit

Permalink
fix: remove useless observer
Browse files Browse the repository at this point in the history
  • Loading branch information
ensorrow committed Nov 12, 2024
1 parent edde5b7 commit efde88d
Show file tree
Hide file tree
Showing 6 changed files with 185 additions and 234 deletions.
14 changes: 7 additions & 7 deletions packages/notebook/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
},
"dependencies": {
"@ant-design/icons": "^4.6.4",
"@difizen/libro-code-editor": "0.0.0-snapshot-20241017090244",
"@difizen/libro-common": "0.0.0-snapshot-20241017090244",
"@difizen/libro-core": "0.0.0-snapshot-20241017090244",
"@difizen/libro-jupyter": "0.0.0-snapshot-20241017090244",
"@difizen/libro-kernel": "0.0.0-snapshot-20241017090244",
"@difizen/libro-lsp": "0.0.0-snapshot-20241017090244",
"@difizen/libro-toc": "0.0.0-snapshot-20241017090244",
"@difizen/libro-code-editor": "0.2.45",
"@difizen/libro-common": "0.2.45",
"@difizen/libro-core": "0.2.45",
"@difizen/libro-jupyter": "0.2.45",
"@difizen/libro-kernel": "0.2.45",
"@difizen/libro-lsp": "0.2.45",
"@difizen/libro-toc": "0.2.45",
"@difizen/mana-app": "^0.1.27",
"@opensumi/ide-core-browser": "workspace:*",
"@opensumi/ide-core-common": "workspace:*",
Expand Down
6 changes: 0 additions & 6 deletions packages/notebook/src/browser/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ import { INotebookService } from '@opensumi/ide-editor';

import { KernelPanelContribution } from './kernel-panel/kernel.panel.contribution';
import { LibroKeybindContribition } from './libro-keybind-contribution';
import { LibroOpener } from './libro-opener';
import { LibroCommandContribution } from './libro.command';
import { LibroContribution } from './libro.contribution';
import { ILibroOpensumiService, LibroOpensumiService } from './libro.service';
import { LibroTracker } from './libro.view.tracker';
import { NotebookDocumentContentProvider } from './notebook-document-content-provider';
import { NotebookServiceOverride } from './notebook.service';
import { TocContribution } from './toc/toc.contribution';

Expand All @@ -26,13 +23,10 @@ export class NotebookModule extends BrowserModule {
LibroContribution,
LibroCommandContribution,
TocContribution,
LibroTracker,
{
token: ILibroOpensumiService,
useClass: LibroOpensumiService,
},
NotebookDocumentContentProvider,
LibroOpener,
LibroKeybindContribition,
{
token: INotebookService,
Expand Down
12 changes: 0 additions & 12 deletions packages/notebook/src/browser/libro.service.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
import { CellUri, CellView, LanguageSpecRegistry, LibroService, LibroView } from '@difizen/libro-jupyter/noeditor';
import { Container, URI as ManaURI, getOrigin } from '@difizen/mana-app';
import { makeObservable } from 'mobx';

import { Autowired, Injectable } from '@opensumi/di';
import { URI, WithEventBus, path } from '@opensumi/ide-core-browser';
import { ResourceDecorationNeedChangeEvent, WorkbenchEditorService } from '@opensumi/ide-editor';

import { LibroTracker } from './libro.view.tracker';
import { ContentLoaderType, ManaContainer } from './mana';

export const ILibroOpensumiService = Symbol('ILibroOpensumiService');

// eslint-disable-next-line @typescript-eslint/no-redeclare
export interface ILibroOpensumiService {
// manaContainer: Container;
libroTrackerMap: Map<string, LibroTracker>;
// editorService: WorkbenchEditorService;
getOrCreateLibroView: (uri: URI) => Promise<LibroView>;
updateDirtyStatus: (uri: URI, dirty: boolean) => void;
getCellViewByUri: (uri: URI) => Promise<CellView | undefined>;
Expand All @@ -30,11 +25,6 @@ export class LibroOpensumiService extends WithEventBus implements ILibroOpensumi
@Autowired(WorkbenchEditorService)
protected readonly editorService: WorkbenchEditorService;

constructor() {
super();
makeObservable(this);
}

get libroService() {
const libroService = this.manaContainer.get(LibroService);
return libroService;
Expand Down Expand Up @@ -80,6 +70,4 @@ export class LibroOpensumiService extends WithEventBus implements ILibroOpensumi
}),
);
}

libroTrackerMap: Map<string, LibroTracker> = new Map();
}
18 changes: 0 additions & 18 deletions packages/notebook/src/browser/libro.view.tracker.ts

This file was deleted.

17 changes: 2 additions & 15 deletions packages/notebook/src/browser/libro.view.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,24 @@ import { DocumentCommands, LibroView } from '@difizen/libro-jupyter/noeditor';
import { CommandRegistry, Container, ViewRender } from '@difizen/mana-app';
import * as React from 'react';

import { INJECTOR_TOKEN, Injector } from '@opensumi/di';
import { URI, useInjectable } from '@opensumi/ide-core-browser';
import { useInjectable } from '@opensumi/ide-core-browser';
import { ReactEditorComponent } from '@opensumi/ide-editor/lib/browser/types';

import styles from './libro.module.less';
import { ILibroOpensumiService } from './libro.service';
import { LibroTracker } from './libro.view.tracker';
import { ManaContainer } from './mana';

export const OpensumiLibroView: ReactEditorComponent = (...params) => {
const libroOpensumiService = useInjectable<ILibroOpensumiService>(ILibroOpensumiService);
const manaContainer = useInjectable<Container>(ManaContainer);
const commandRegistry = manaContainer.get(CommandRegistry);
const injector: Injector = useInjectable(INJECTOR_TOKEN);

const [libroTracker, setLibroTracker] = React.useState<LibroTracker>();

const [libroView, setLibroView] = React.useState<LibroView | undefined>(undefined);

React.useEffect(() => {
if (libroTracker?.refreshTimer) {
libroView?.dispose();
}
let autoSaveHandle: undefined | number;
libroOpensumiService.getOrCreateLibroView(params[0].resource.uri).then((libro) => {
setLibroView(libro);
if (!libroOpensumiService.libroTrackerMap.has((params[0].resource.uri as URI).toString())) {
const tracker = injector.get(LibroTracker);
setLibroTracker(tracker);
libroOpensumiService.libroTrackerMap.set((params[0].resource.uri as URI).toString(), tracker);
}
libro.model.onChanged(() => {
libroOpensumiService.updateDirtyStatus(params[0].resource.uri, true);
if (autoSaveHandle) {
Expand All @@ -55,7 +42,7 @@ export const OpensumiLibroView: ReactEditorComponent = (...params) => {
return () => {
window.clearTimeout(autoSaveHandle);
};
}, [libroTracker?.refreshTimer]);
}, []);

return <div className={styles.libroView}>{libroView && <ViewRender view={libroView}></ViewRender>}</div>;
};
Loading

0 comments on commit efde88d

Please sign in to comment.