Notices for events and sync errors handled

This commit is contained in:
Leoh 2021-10-15 10:30:25 +05:30
parent a60eade0ae
commit 98a15c0c9e
4 changed files with 33 additions and 9 deletions

View file

@ -3,6 +3,6 @@ import App from "./view/App";
export default function ReactView(props: any){
return(
<App username={props.userID} apiToken={props.tokenAPI}/>
<App username={props.userID} apiToken={props.tokenAPI} plugin={props.plugin}/>
)
}

View file

@ -1,4 +1,4 @@
import { Plugin } from "obsidian";
import { Notice, Plugin } from "obsidian";
import { ExampleSettingsTab } from "./settings";
import { ExampleView, VIEW_TYPE_EXAMPLE} from "./view"
@ -14,6 +14,9 @@ export default class ExamplePlugin extends Plugin {
settings: ExamplePluginSettings;
view: ExampleView;
displayNotice(message: string){
new Notice(message)
}
async onload() {
await this.loadSettings();
this.addSettingTab(new ExampleSettingsTab(this.app, this));

View file

@ -24,7 +24,7 @@ export class ExampleView extends ItemView {
async onOpen() {
ReactDOM.render(
<ReactView userID = {this.plugin.settings.userID} tokenAPI = {this.plugin.settings.apiToken}/>,
<ReactView userID = {this.plugin.settings.userID} tokenAPI = {this.plugin.settings.apiToken} plugin={this.plugin}/>,
this.containerEl.children[1]
)
}

View file

@ -26,6 +26,9 @@ class App extends React.Component<any,any> {
}
this.handleChange = this.handleChange.bind(this)
}
sendNotice(message: string){
this.props.plugin.displayNotice(message)
}
reloadData() {
getStats(username, credentials)
.then(res => res.json())
@ -58,9 +61,18 @@ class App extends React.Component<any,any> {
.then(res => res.json())
.then(
result => {
console.log("Checked!")
console.log(result)
this.reloadData()
if(result.success) {
this.sendNotice("Checked!")
console.log(result)
this.reloadData()
} else {
this.sendNotice("Resyncing, please try again")
this.reloadData()
}
},
(error) => {
this.sendNotice("API Error: Please Check crendentials and try again")
console.log(error)
}
)
} else {
@ -68,9 +80,18 @@ class App extends React.Component<any,any> {
.then(res => res.json())
.then(
result => {
console.log("unchecked!")
console.log(result)
this.reloadData()
if(result.success){
this.sendNotice("unchecked!")
console.log(result)
this.reloadData()
} else {
this.sendNotice("Resyncing, please try again")
this.reloadData()
}
},
(error) => {
this.sendNotice("API Error: Please Check crendentials and try again")
console.log(error)
}
)
}