Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- isLoggedIn().then(main); // run main() when user logged in
- let jsonrpc = new JSONRPC(); // JSONRPC client, Promise based
- function isLoggedIn() {
- return jsonrpc.call('User.isLoggedIn').catch(showLoginForm);
- }
- function logIn(args) {
- return jsonrpc.call('User.logIn', args).catch(showLoginForm);
- }
- function showLoginForm(error) {
- return new Promise(resolve => {
- let mbox = new MessageBox( //API module, not promising, event based
- `Username: <input name="username"/><br/>
- Password: <input name="password" type="password"/>`,
- `ERROR: ${error.message}`
- );
- mbox.actionEvent.attach(MB.IDOK, (msgbox, formData) => logIn(formData).then(resolve));
- mbox.actionEvent.attach(MB.IDCLOSE, () => showLoginForm(new Error('Close button not allowed')).then(resolve));
- mbox.show();
- })
- }
- function main(data) { //data - return value of isLoggedIn/logIn function
- // do important stuff
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement