92 lines
2.9 KiB
JavaScript
92 lines
2.9 KiB
JavaScript
const HomeRouter = {
|
|
template: `
|
|
<div>
|
|
<div id="om-msg-cards" class="column pull-right-sm is-four-fifths-desktop">
|
|
<b-button id="escape-search-link"
|
|
v-if="_isSearchActiv"
|
|
@click="goBackToDashboard"
|
|
icon-left="arrow-left"
|
|
type="is-primary"
|
|
@toggle-escape-search-link="toggleEscapeSearchLink"
|
|
outlined>
|
|
zurück zu allen Einträgen
|
|
</b-button>
|
|
<!--<b-button id="subscribe-btn" type="is-primary" v-if="_isSubscripeButtonActiv" @update-home-abo-button="updateHomeAboButton" @click="changeSubscribtion">
|
|
{{ subscripeTagName }}
|
|
</b-button>--><br><br>
|
|
<MsgCard
|
|
v-for="id in messagelist.slice().reverse()"
|
|
:key="id"
|
|
:msg="messages[id] || {}"
|
|
:isBookmark="bookmarkArray[id]">
|
|
</MsgCard>
|
|
</div>
|
|
</div>`,
|
|
data: function () {
|
|
return {
|
|
messagelist: _messagelist,
|
|
messages: _messages,
|
|
isSearchActiv: _isSearchActiv,
|
|
isSubscripeButtonActiv: _isSubscripeButtonActiv,
|
|
isSubscriped: false,
|
|
subscripeTagName: '',
|
|
bookmarkArray: auth.bookmarks,
|
|
vueRender: vueRender,
|
|
};
|
|
},
|
|
methods: {
|
|
updateHomeAboButton: function(content) {
|
|
this.subscripeTagName = content;
|
|
console.info( this.subscripeTagName);
|
|
vueForceRender('key');
|
|
},
|
|
toggleEscapeSearchLink: function() {
|
|
console.info('got called');
|
|
this.isSearchActive = !this.isSearchActive;
|
|
vueForceRender('key');
|
|
console.info( this.isSearchActive);
|
|
},
|
|
list_messages: function() {
|
|
messages();
|
|
},
|
|
goBackToDashboard: function() {
|
|
_isSearchActiv = false;
|
|
this.$emit('reset-searchtext','');
|
|
// $("#escape-search-link").css("visibility", "hidden");
|
|
// $("#subscribe-btn").css("visibility", "hidden");
|
|
_isSubscripeButtonActiv = false;
|
|
vueForceRender('key');
|
|
vueForceRender('search');
|
|
},
|
|
changeSubscribtion: function(){
|
|
var btnString = $("#btn-text").text();
|
|
console.log(btnString);
|
|
|
|
if(this.isSubscriped){
|
|
this.subscripeTagName.replace(/deabonnieren/g, '') + "abonnieren";
|
|
//console.log(btnString);
|
|
// $("#btn-text").text(newBtnString);
|
|
}else{
|
|
this.subscripeTagName.replace(/abonnieren/g, '') + "deabonnieren";
|
|
//console.log(newBtnString);
|
|
// $("#btn-text").text(newBtnString);
|
|
}
|
|
this.isSubscriped = !this.isSubscriped;
|
|
vueForceRender('key');
|
|
}
|
|
|
|
},
|
|
mounted: function () {
|
|
this.list_messages();
|
|
//this.refresh_messages();
|
|
}
|
|
};
|
|
|
|
function get_insert_message(id) {
|
|
$.ajax({ url: "api/msg/id/"+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);
|
|
})
|
|
}
|