// Generated by CoffeeScript 1.10.0
(function() {
var app, list_component, sections_component, text_component;
list_component = {
props: {
value: {
type: Array,
required: true
}
},
template: '
'
};
text_component = {
props: {
value: {
type: String,
required: true
}
},
template: '{{value}}
'
};
sections_component = {
props: {
value: {
type: Array,
required: true
}
},
render: function(createElement) {
var children;
children = this.value.map(function(d) {
return createElement(d.type + "-section", {
props: {
value: d.value
}
});
});
return createElement('div', {
"class": 'sections'
}, children);
},
components: {
'text-section': text_component,
'list-section': list_component
}
};
app = new Vue({
el: '#app',
data: {
sections1: [
{
type: 'text',
value: 'This is a text section'
}, {
type: 'list',
value: [
{
text: 'important',
emph: true
}, {
text: 'not important',
emph: false
}, {
text: 'important',
emph: true
}
]
}, {
type: 'text',
value: 'Footer'
}
],
sections2: [
{
type: 'text',
value: 'A'
}, {
type: 'text',
value: 'B'
}, {
type: 'text',
value: 'C'
}, {
type: 'list',
value: [
{
text: 'one!',
emph: true
}, {
text: 'two',
emph: false
}
]
}
]
},
components: {
'sections': sections_component
}
});
}).call(this);