Advertisement
Guest User

Untitled

a guest
Jul 18th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. isLoggedIn().then(main); // run main() when user logged in
  2.  
  3. let jsonrpc = new JSONRPC(); // JSONRPC client, Promise based
  4.  
  5. function isLoggedIn() {
  6. return jsonrpc.call('User.isLoggedIn').catch(showLoginForm);
  7. }
  8.  
  9. function logIn(args) {
  10. return jsonrpc.call('User.logIn', args).catch(showLoginForm);
  11. }
  12.  
  13. function showLoginForm(error) {
  14. return new Promise(resolve => {
  15. let mbox = new MessageBox( //API module, not promising, event based
  16. `Username: <input name="username"/><br/>
  17. Password: <input name="password" type="password"/>`,
  18. `ERROR: ${error.message}`
  19. );
  20. mbox.actionEvent.attach(MB.IDOK, (msgbox, formData) => logIn(formData).then(resolve));
  21. mbox.actionEvent.attach(MB.IDCLOSE, () => showLoginForm(new Error('Close button not allowed')).then(resolve));
  22. mbox.show();
  23. })
  24. }
  25.  
  26. function main(data) { //data - return value of isLoggedIn/logIn function
  27. // do important stuff
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement