retrieveInfoFromAnki = () => AJAX.request(AJAX.METHODS.GET, 'https://ankiweb.net/edit/').then(response => { let decks_array = [], models = JSON.parse(/editor\.models = (.*}]);/.exec(response)[1]), decks = JSON.parse(/editor\.decks = (.*}});/.exec(response)[1]); models = models.map(model => ({ id: model.id, name: model.name })); for (let deck_id in decks) { decks_array.push(decks[deck_id].name); } return { models, decks: decks_array }; }),
logoutFromAnki().then(() => { AJAX.request(AJAX.METHODS.POST, 'https://ankiweb.net/account/login', { submitted: 1, username: login, password }).then( anki_html => { if (!anki_html.includes('Logout')) { reject(); } else { resolve(); } }, error_string => { let auth_limit_error = error_string.includes('Auth limit reached'); if (auth_limit_error) { Message.show(chrome.i18n.getMessage( 'Log_in_limit_reached_Please_try_again_later_or_your_another_credentials')); } }); });
logoutFromAnki = () => AJAX.request(AJAX.METHODS.GET, 'https://ankiweb.net/account/logout'),
import rb from 'js/utils/common'; import bgAPI from 'js/utils/bgAPI'; import AJAX from 'js/utils/AJAX'; import showError from './showError'; // private members const BASE_ID = 'rememberry-popup', CSS = AJAX.request(AJAX.METHODS.GET, 'chrome-extension://' + chrome.i18n.getMessage('@@extension_id') + '/css/content.min.css'); let props, tr_id = 0, // used to provide translation-response validation (use only latest response) is_created = false, is_shown = false, els = { // DOM elements host : null, header : null, belly : null, footer : null, save_btn: null, sections: null }, state = { orig : null, translation : null }, create = () => { let host_el = rb.DOM.node(`<div id="${BASE_ID}" hidden></div>`),