diff options
Diffstat (limited to 'wikipedia/src/views/wikipedia_view.js')
-rw-r--r-- | wikipedia/src/views/wikipedia_view.js | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/wikipedia/src/views/wikipedia_view.js b/wikipedia/src/views/wikipedia_view.js index c04fcdd..09ef6fe 100644 --- a/wikipedia/src/views/wikipedia_view.js +++ b/wikipedia/src/views/wikipedia_view.js @@ -1,7 +1,8 @@ const Gtk = imports.gi.Gtk; const Lang = imports.lang; const Soup = imports.gi.Soup; -const WebKit = imports.gi.WebKit; +const WebKit = imports.gi.WebKit2; +const Utils = imports.utils; const getPageURL = "http://localhost:3000/getArticleByTitle?title="; @@ -12,17 +13,37 @@ const WikipediaView = new Lang.Class({ _init: function(params) { this._httpSession = new Soup.Session(); this.parent(params); + // For debugging + // let settings = this.get_settings(); + // settings.set_enable_developer_extras(true); + // this.set_settings(settings); + this._is_first_time = true; }, loadArticleByTitle: function(title) { let request = Soup.Message.new("GET", getPageURL + title); this._httpSession.queue_message(request, Lang.bind(this, function(_httpSession, message) { + if(message.status_code !== 200) { + print(message.status_code); + return; + } let articleJSON = request.response_body.data; let article = JSON.parse(articleJSON); let articleHTML = article["text"]; - this.load_string(articleHTML, "text/html", "UTF-8", ""); - //the last argument is the base-uri, we might need to change this based - //on our local image directory, I'm not sure. + let title = article['title']; + let skeletonHTML = Utils.load_file("views/index.html"); + skeletonHTML = skeletonHTML + "<div id='wiki_content' name='"+ title +"'>" + articleHTML + "</div>" + Utils.write_contents_to_file("views/temp.html", skeletonHTML); + + // TODO: Ask about how we can load directly from HTML. Right now, WebKit can't seem to open + // CSS file correctly. All characters in CSS file are in Chinese + + if(this._is_first_time) { + this.load_uri("file:///home/endless/checkout/eos-sdk/wikipedia/src/views/temp.html", null); + this._is_first_time = false; + } else { + this.reload(); + } })); } }); |