aboutsummaryrefslogblamecommitdiffhomepage
path: root/app.js
blob: fda16b2f21b3842808fec7fd0d9ad08cad4f5c26 (plain) (tree)
1
2
3
4
5
6
7
8
9





                     
                    

                        
                                                   
                           
                                                        






                                                             
                                                       



                                                                                                            

                                                





                      
                                                         



                                      
                                                     

                                     
       
 
var app = new Vue({
    el: '#app',
    data: {
        config: null,
        filter: ''
    },
    beforeCreate() {
        let that = this;

        return getConfig().then(function (config) {
            const size = 3;
            config.services.forEach(function (service) {
                service.rows = [];
                items = service.items;
                while (items.length) {
                    service.rows.push(items.splice(0, size));
                }

                if (service.rows.length) {
                    let last = service.rows.length - 1;
                    service.rows[last] = service.rows[last].concat(Array(size - service.rows[last].length));
                }
            });
            that.config = config;
        }).catch(function () {
            console.error('Fail to get config');
        });
    }
});


function getConfig() {
    return fetch('config.yml').then(function (response) {
        if (response.status !== 200) {
            return;
        }

        return response.text().then(function (body) {
            return jsyaml.load(body);
        });
    });
}