habitica-sync/view.tsx

35 lines
871 B
TypeScript
Raw Normal View History

2021-10-03 18:10:16 +05:30
import { ItemView,WorkspaceLeaf } from "obsidian";
2021-10-08 10:23:06 +05:30
import * as React from "react";
import * as ReactDOM from "react-dom";
2021-10-10 21:08:13 -07:00
import ReactView from "./ReactView";
import HabiticaSync from "main";
2021-10-08 10:23:06 +05:30
2021-10-03 18:10:16 +05:30
export const VIEW_TYPE = "example-view"
2021-10-03 18:10:16 +05:30
export class HabiticaSyncView extends ItemView {
plugin: HabiticaSync;
constructor(leaf: WorkspaceLeaf, plugin: HabiticaSync) {
2021-10-03 18:10:16 +05:30
super(leaf)
2021-10-11 12:40:42 +05:30
this.plugin = plugin
}
2021-10-03 18:10:16 +05:30
getViewType() {
return VIEW_TYPE
2021-10-03 18:10:16 +05:30
}
getDisplayText() {
return "Habitica Pane"
2021-10-03 18:10:16 +05:30
}
async onOpen() {
2021-10-08 10:23:06 +05:30
ReactDOM.render(
<ReactView userID = {this.plugin.settings.userID} tokenAPI = {this.plugin.settings.apiToken} plugin={this.plugin}/>,
2021-10-10 21:08:13 -07:00
this.containerEl.children[1]
2021-10-08 10:23:06 +05:30
)
2021-10-03 18:10:16 +05:30
}
2021-10-08 10:23:06 +05:30
2021-10-03 18:10:16 +05:30
async onClose(){
2021-10-08 10:23:06 +05:30
ReactDOM.unmountComponentAtNode(this.containerEl.children[1]);
2021-10-03 18:10:16 +05:30
}
}