var TR_EN = { 'title': 'bow', 'comment': 'comment' }; function shortenParagraph(paragraph) { var sentences = paragraph.split('.'); // console.log(sentences); return sentences[0] + '. ' + sentences[sentences.length - 2] + '.'; } Vue.component('article-new', { props: [], computed: { title: function() { var sstr = this.defaultArticle.url.split('/'); var t = sstr[sstr.length -1]; this.defaultArticle.title = t; this.summary; return t; }, summary: function() { if (this.defaultArticle.title === undefined || this.defaultArticle.title == '') { console.log('undefined title'); this.defaultArticle.summary = ''; return; } var keyword = this.defaultArticle.title; var searchUrl = 'https://en.wikipedia.org/w/api.php?format=json&origin=*&action=query&prop=extracts&exintro=&explaintext=&titles=' + keyword; var self = this; var query = function() { var xhr = new XMLHttpRequest(); xhr.onload = function() { var data = {}; try { data = JSON.parse(xhr.responseText); } catch(e){ console.log('could not parse JSON'); } var pages = {}; if ('query' in data) { if ('pages' in data.query) { pages = data.query.pages; } } for (var p in pages) { if ('extract' in pages[p]) { self.defaultArticle.summary = pages[p].extract; self.defaultArticle.title = pages[p].title; self.defaultArticle.id = pages[p].pageid; } } }; xhr.open('GET', searchUrl, true); try { xhr.send(); } catch(e) { console.log('err'); } } _.debounce(query, 2000, {leading: true})(); // query(); return ''; }, }, methods: { addArticle : function() { if (this.defaultArticle.url == '') { return; } app.articles.push(JSON.parse(JSON.stringify(this.defaultArticle))); this.defaultArticle = { title: undefined, summary: '', url: '', id: '' } }, }, data: function () { return { defaultArticle: { title: undefined, summary: '', url: '', id: '' }, }; }, template: '\