74 lines
2.1 KiB
JavaScript
74 lines
2.1 KiB
JavaScript
const HomeRouter = {
|
|
template: `
|
|
<div id="om-msg-cards">
|
|
<MsgCard
|
|
v-for="id in messagelist.slice().reverse()"
|
|
:key="id"
|
|
:msg="messages[id] || {}"
|
|
></MsgCard>
|
|
</div>`,
|
|
data: function () {
|
|
return {
|
|
messagelist: _messagelist,
|
|
messages: _messages,
|
|
};
|
|
},
|
|
methods: {
|
|
/*refresh_messages: function () {
|
|
_messages.push({ //////// alt
|
|
id: 42,
|
|
subject: "xxx",
|
|
message: "warum habt ihr auch so viel",
|
|
user: "nobody",
|
|
tags: "foo"
|
|
});
|
|
},*/
|
|
list_messages: function () {
|
|
$.ajax({url: "api/ids", method: "GET"})
|
|
.done(jd => {
|
|
// NICHT SO wg. Vue: _messagelist = jd;
|
|
_messagelist.splice(0, _messagelist.length);
|
|
_messagelist.push.apply(_messagelist, jd);
|
|
console.log("jd: "+jd);
|
|
for (var e in jd) {
|
|
if (!_messages[jd[e]]) {
|
|
get_insert_message(jd[e]);
|
|
}
|
|
}
|
|
}).fail(function (e, f, g) {
|
|
console.log("err: " + e + f + g);
|
|
});
|
|
}
|
|
},
|
|
|
|
mounted: function () {
|
|
this.list_messages();
|
|
//this.refresh_messages();
|
|
}
|
|
};
|
|
|
|
function get_insert_message(id) {
|
|
$.ajax({ url: "api/msg/"+id, method: "GET" }).done(function (msg) {
|
|
Vue.set(_messages, id, msg);
|
|
}).fail(function (e, f, g) {
|
|
console.log("cannot load " + id + ".json: " + e + f + g);
|
|
})
|
|
}
|
|
/*$(document).ready(function () {
|
|
console.log("egal");
|
|
$.get('list.json').done(function (jd) {
|
|
// _messagelist = jd;
|
|
_messagelist.splice(0, _messagelist.length);
|
|
_messagelist.push.apply(_messagelist, jd);
|
|
console.log("egal2");
|
|
//$('#xxx').text(jd[0]);
|
|
for (var e in jd) {
|
|
if (!_messages[jd[e]]) {
|
|
get_insert_message(jd[e]);
|
|
}
|
|
}
|
|
}).fail(function (e, f, g) {
|
|
console.log("egal3: " + e + f + g);
|
|
});
|
|
});*/
|