Merge remote-tracking branch 'origin/developer' into developer
This commit is contained in:
+156
-9
@@ -58,8 +58,8 @@
|
||||
|
||||
<!-- NOTE: Load JQuery, Vue.js, VueRouter, Vuetify -->
|
||||
<script src="lib/jquery-3.3.1.min.js"></script>
|
||||
<script src="lib/vue.js"></script>
|
||||
<script src="lib/vue-router.js"></script>
|
||||
<script src="lib/vue-2.6.10.js"></script>
|
||||
<script src="lib/vue-router-3.0.1.js"></script>
|
||||
|
||||
<!-- Buefy/Vuetify -->
|
||||
<script src="lib/buefy-0.7.5.js"></script>
|
||||
@@ -84,6 +84,7 @@
|
||||
<script src="routes/profil.js"></script>
|
||||
<script src="routes/msgCard.js"></script>
|
||||
<script src="routes/messageData.js"></script>
|
||||
<script src="routes/tagData.js"></script>
|
||||
<script src="routes/profilCard.js"></script>
|
||||
<script src="routes/profilData.js"></script>
|
||||
<script src="routes/login.js"></script>
|
||||
@@ -97,12 +98,36 @@
|
||||
<div class="om-header-container">
|
||||
<div class="om-header">
|
||||
<a class="logo-img" href="index.html"><img src="img/app_icon.png" width=45px height=45px></a>
|
||||
<form class="om-searchbar">
|
||||
<form class="om-searchbar" @submit.prevent="search()">
|
||||
<b-field>
|
||||
<b-input placeholder="Suche..."
|
||||
type="search"
|
||||
icon="magnify">
|
||||
</b-input>
|
||||
<b-autocomplete
|
||||
rounded
|
||||
v-model="searchtext"
|
||||
@keydown.native.enter="search"
|
||||
:data="filteredDataArray"
|
||||
placeholder="suche..."
|
||||
icon="magnify"
|
||||
@select="option => selected = option">
|
||||
</b-autocomplete>
|
||||
|
||||
<!--<b-input
|
||||
type="search"
|
||||
v-model="searchtext"
|
||||
icon="magnify"
|
||||
placeholder="Suche...">
|
||||
</b-input>-->
|
||||
<!--<b-taginput
|
||||
id="search-text"
|
||||
type="search"
|
||||
v-model="selected"
|
||||
:data=taglist
|
||||
autocomplete
|
||||
allow-new:true
|
||||
icon="magnify"
|
||||
placeholder="Suche.."
|
||||
@typing="getFilteredTags"
|
||||
@input="saveTagsToArray">
|
||||
</b-taginput>-->
|
||||
</b-field>
|
||||
</form>
|
||||
</div>
|
||||
@@ -161,6 +186,12 @@
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var tagArray = ["lorem"];
|
||||
const dat=[
|
||||
'th',
|
||||
'efi',
|
||||
'wichtig',
|
||||
];
|
||||
|
||||
const routes = [
|
||||
{ path: "/", component: HomeRouter },
|
||||
@@ -179,11 +210,127 @@
|
||||
var app = new Vue({
|
||||
router,
|
||||
el: '#api',
|
||||
data: {
|
||||
data: function() {
|
||||
return{
|
||||
searchtext: "",
|
||||
selected: [],
|
||||
taglist: dat,
|
||||
};
|
||||
},
|
||||
computed:{
|
||||
filteredDataArray() {
|
||||
return this.taglist.filter((option) => {
|
||||
return option
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
.indexOf(this.searchtext.toLowerCase()) >= 0
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
search: function() {
|
||||
console.log("Searchtext: " +this.searchtext.replace(/#/g,''));
|
||||
$.ajax({
|
||||
url: "api/msg/search/" + this.searchtext.replace(/#/g, ''),
|
||||
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("searching: err: " + e + f + g);
|
||||
})
|
||||
},
|
||||
getFilteredTags(text) {
|
||||
this.taglist = dat.filter((option) => {
|
||||
return option
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
.indexOf(text.toLowerCase()) >= 0
|
||||
})
|
||||
this.search();
|
||||
},
|
||||
saveTagsToArray: function() {
|
||||
tagArray = this.selected;
|
||||
console.info(tagArray);
|
||||
},
|
||||
list_tags: function () {
|
||||
$.ajax({url: "api/tag/ids",method: "GET"})
|
||||
.done(jd => {
|
||||
// NICHT SO wg. Vue: _messagelist = jd;
|
||||
_taglist.splice(0, _taglist.length);
|
||||
_taglist.push.apply(_taglist, jd);
|
||||
console.log("tag: jd: " + jd);
|
||||
for (var e in jd) {
|
||||
if (!_tags[jd[e]]) {
|
||||
get_insert_tag(jd[e]);
|
||||
}
|
||||
}
|
||||
}).fail(function (e, f, g) {
|
||||
console.log("err: " + e + f + g);
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
mounted: function () {
|
||||
this.search();
|
||||
this.list_tags();
|
||||
},
|
||||
});
|
||||
function get_insert_tag(id){
|
||||
$.ajax({ url: "api/tag/"+id, method: "GET" }).done(function (tag) {
|
||||
dat.push("#"+tag.name);
|
||||
console.log("it worked!");
|
||||
}).fail(function (e, f, g) {
|
||||
console.log("cannot load " + id + ".json: " + e + f + g);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
const search_data = [];
|
||||
/*
|
||||
export.default {
|
||||
data: function () {
|
||||
return {
|
||||
selected: [],
|
||||
taglist: data,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
filteredTagArray() {
|
||||
this.taglist = data.filter((option) => {
|
||||
return option
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
.indexOf(this.name.toLowerCase()) >= 0
|
||||
})
|
||||
},
|
||||
|
||||
},
|
||||
methods: {
|
||||
evaluate(text) {
|
||||
this.taglist = data.filter((option) => {
|
||||
return option
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
.indexOf(text.toLowerCase()) >= 0
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
if ($(this).bootstrapMaterialDesign)
|
||||
$(this).bootstrapMaterialDesign();
|
||||
},
|
||||
};
|
||||
*/
|
||||
|
||||
</script>
|
||||
|
||||
<!-- CDN_Vue.js minified lib -->
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
|
||||
// Wait until page loaded
|
||||
window.addEventListener('load', () => {
|
||||
if ('serviceWorker' in navigator) {
|
||||
/*if ('serviceWorker' in navigator) {
|
||||
// NOTE: ServiceWorker Registration
|
||||
return navigator.serviceWorker.register('serviceWorker.js', {
|
||||
scope: '/'
|
||||
@@ -16,7 +16,7 @@ window.addEventListener('load', () => {
|
||||
} else {
|
||||
console.log('[ServiceWorker] are not supported.');
|
||||
return;
|
||||
}
|
||||
}*/
|
||||
});
|
||||
|
||||
// NOTE: Set Bootstrap materialdesign
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
var tagArray = [];
|
||||
const data=[
|
||||
'#th',
|
||||
'#efi',
|
||||
'#wichtig',
|
||||
'th',
|
||||
'efi',
|
||||
'wichtig',
|
||||
];
|
||||
const CreateMsgRouter = {
|
||||
template: `
|
||||
@@ -18,13 +19,15 @@ const CreateMsgRouter = {
|
||||
|
||||
<b-field label="Tags">
|
||||
<b-taginput
|
||||
id="tag"
|
||||
v-model="selected"
|
||||
:data=items
|
||||
:data=taglist
|
||||
autocomplete
|
||||
allow-new:false
|
||||
icon="label"
|
||||
placeholder="#"
|
||||
@typing="getFilteredTags" id="tag">
|
||||
@typing="getFilteredTags"
|
||||
@input="saveTagsToArray">
|
||||
</b-taginput>
|
||||
</b-field>
|
||||
|
||||
@@ -33,38 +36,41 @@ const CreateMsgRouter = {
|
||||
</b-field>
|
||||
|
||||
<b-button @click="$router.go(-1)">ABBRECHEN</b-button>
|
||||
<b-button type="is-primary" @click="$router.push('/home')">SENDEN</b-button>
|
||||
|
||||
|
||||
<b-button type="is-primary" @click="createMsg">SENDEN</b-button>
|
||||
|
||||
</div>
|
||||
`,
|
||||
data: function () {
|
||||
return {
|
||||
selected: [],
|
||||
items: data
|
||||
taglist: data,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
saveTagsToArray: function() {
|
||||
tagArray = this.selected;
|
||||
console.info(tagArray);
|
||||
},
|
||||
createMsg: function () {
|
||||
var subject = $("#subject").val();
|
||||
var message = $("#message").val();
|
||||
var tag = $("#tag").val();
|
||||
var user = $("#user").val();
|
||||
console.log("Message Created: " + tag + " " + message + " " + user);
|
||||
var _subject = $("#subject").val();
|
||||
var _message = $("#message").val();
|
||||
var _tag = tagArray;
|
||||
var _user = $("#user").val();
|
||||
//console.log("Message Created: " + _tag + " " + _message + " " + _user);
|
||||
$.ajax({
|
||||
url: "api/createMsg",
|
||||
url: "api/msg",
|
||||
data: {
|
||||
sub: subject,
|
||||
mess: message,
|
||||
use: user,
|
||||
ta: tag
|
||||
subject: _subject,
|
||||
message: _message,
|
||||
user: _user,
|
||||
tag: _tag
|
||||
},
|
||||
method: "POST"
|
||||
}).done(have_result).fail(have_error);
|
||||
|
||||
function have_result(res) {
|
||||
console.log(res);
|
||||
//console.log(res);
|
||||
router.push('/home')
|
||||
}
|
||||
|
||||
function have_error(err) {
|
||||
@@ -73,16 +79,42 @@ const CreateMsgRouter = {
|
||||
}
|
||||
},
|
||||
getFilteredTags(text) {
|
||||
this.items = data.filter((option) => {
|
||||
this.taglist = data.filter((option) => {
|
||||
return option
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
.indexOf(text.toLowerCase()) >= 0
|
||||
})
|
||||
},
|
||||
},
|
||||
list_tags: function () {
|
||||
$.ajax({url: "api/tag/ids",method: "GET"})
|
||||
.done(jd => {
|
||||
// NICHT SO wg. Vue: _messagelist = jd;
|
||||
_taglist.splice(0, _taglist.length);
|
||||
_taglist.push.apply(_taglist, jd);
|
||||
console.log("tag: jd: " + jd);
|
||||
for (var e in jd) {
|
||||
if (!_tags[jd[e]]) {
|
||||
get_insert_tag(jd[e]);
|
||||
}
|
||||
}
|
||||
}).fail(function (e, f, g) {
|
||||
console.log("err: " + e + f + g);
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.list_tags();
|
||||
if ($(this).bootstrapMaterialDesign)
|
||||
$(this).bootstrapMaterialDesign();
|
||||
},
|
||||
};
|
||||
|
||||
function get_insert_tag(id){
|
||||
$.ajax({ url: "api/tag/"+id, method: "GET" }).done(function (tag) {
|
||||
data.push("#" + tag.name);
|
||||
console.log("Array:"+this.data);
|
||||
}).fail(function (e, f, g) {
|
||||
console.log("cannot load " + id + ".json: " + e + f + g);
|
||||
})
|
||||
}
|
||||
|
||||
@@ -24,12 +24,12 @@ const HomeRouter = {
|
||||
});
|
||||
},*/
|
||||
list_messages: function () {
|
||||
$.ajax({url: "api/ids", method: "GET"})
|
||||
$.ajax({url: "api/msg/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);
|
||||
//console.log("jd: "+jd);
|
||||
for (var e in jd) {
|
||||
if (!_messages[jd[e]]) {
|
||||
get_insert_message(jd[e]);
|
||||
@@ -49,7 +49,7 @@ const HomeRouter = {
|
||||
}
|
||||
}*/
|
||||
}).fail(function (e, f, g) {
|
||||
console.log("err: " + e + f + g);
|
||||
console.log("list_msg: err: " + e + f + g);
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -61,7 +61,7 @@ const HomeRouter = {
|
||||
};
|
||||
|
||||
function get_insert_message(id) {
|
||||
$.ajax({ url: "api/msg/"+id, method: "GET" }).done(function (msg) {
|
||||
$.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);
|
||||
|
||||
@@ -5,7 +5,8 @@ Vue.component('MsgCard', {
|
||||
<img src="favicon.ico" width=20px height=20px>
|
||||
</h6>
|
||||
{{ msg.message }}<br><br>
|
||||
<a href="#">{{ msg.tag }}</a></p>
|
||||
<a v-for="tag in msg.tag" href="#">#{{ tag }} </a>
|
||||
</p>
|
||||
<div class="om-card-footer"> <div class="om-user-line">
|
||||
<i class="material-icons">account_circle</i>
|
||||
Erstellt von {{ msg.user }}</div>
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
_taglist = [];
|
||||
_tags = [];
|
||||
Reference in New Issue
Block a user