summaryrefslogtreecommitdiff
path: root/plugins/af_readability/init.js
blob: 0232ed32d6f72fbedffdb49e7f6e629de6655647 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* global xhr, App, Plugins, Article, Notify */

Plugins.Af_Readability = {
    orig_attr_name: 'data-readability-orig-content',
    self: this,
    embed: function(id) {
        const content = App.find(App.isCombinedMode() ? `.cdm[data-article-id="${id}"] .content-inner` :
            `.post[data-article-id="${id}"] .content`);

        if (content.hasAttribute(self.orig_attr_name)) {
            content.innerHTML = content.getAttribute(self.orig_attr_name);
            content.removeAttribute(self.orig_attr_name);

            if (App.isCombinedMode()) Article.cdmMoveToId(id);

            return;
        }

        Notify.progress("Loading, please wait...");

        xhr.json("backend.php", App.getPhArgs("af_readability", "embed", {id: id}), (reply) => {

            if (content && reply.content) {
                content.setAttribute(self.orig_attr_name, content.innerHTML);
                content.innerHTML = reply.content;
                Notify.close();

                if (App.isCombinedMode()) Article.cdmMoveToId(id);

            } else {
                Notify.error("Unable to fetch full text for this article");
            }
        });
    }
};