| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /* global Vue */
- var apiURL = 'https://api.github.com/repos/vuejs/vue/commits?per_page=3&sha='
- /**
- * Actual demo
- */
- new Vue({
- el: '#demo',
- data: {
- branches: ['master', 'dev'],
- currentBranch: 'master',
- commits: null
- },
- created: function () {
- this.fetchData()
- },
- watch: {
- currentBranch: 'fetchData'
- },
- filters: {
- truncate: function (v) {
- var newline = v.indexOf('\n')
- return newline > 0 ? v.slice(0, newline) : v
- },
- formatDate: function (v) {
- return v.replace(/T|Z/g, ' ')
- }
- },
- methods: {
- fetchData: function () {
- var self = this
- if (navigator.userAgent.indexOf('PhantomJS') > -1) {
- // use mocks in e2e to avoid dependency on network / authentication
- setTimeout(function () {
- self.commits = window.MOCKS[self.currentBranch]
- }, 0)
- } else {
- var xhr = new XMLHttpRequest()
- xhr.open('GET', apiURL + self.currentBranch)
- xhr.onload = function () {
- self.commits = JSON.parse(xhr.responseText)
- console.log(self.commits[0].html_url)
- }
- xhr.send()
- }
- }
- }
- })
|