Example #1
0
    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
            };
        }),
Example #2
0
        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'));
                    }
                });
        });
Example #3
0
 logoutFromAnki = () => AJAX.request(AJAX.METHODS.GET, 'https://ankiweb.net/account/logout'),
Example #4
0
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>`),