<!DOCTYPE html>
<html lang="en">

<head>
	<!-- NOTE: Meta Tags -->
	<meta charset="utf-8">
	<meta name="description" content="Ohm management app">
	<meta name="keywords" content="">
	<meta name="author" content="">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<!--for demonstration:-->
	<!-- <meta http-equiv="refresh" content="10">
	<!-- <meta http-equiv="refresh" content="30"> -->

	<!-- NOTE: Define Theme Color -->
	<!-- Chrome, Firefox OS and Opera -->
	<meta name="theme-color" content="#0046a0">

	<!-- NOTE: Icon for tab recognition -->
	<!-- highest resolution for Chrome & Opera -->
	<link rel="icon" sizes="192x192" href="favicon.ico">
	<!-- icons for Safari -> iOS Icons -->
	<!-- icons for IE & Windows phone -->
	<meta name="msapplication-square70x70logo" content="icon_smalltile.png">
	<meta name="msapplication-square150x150logo" content="icon_mediumtile.png">
	<meta name="msapplication-square310x310logo" content="icon_largetile.png">
	<meta name="msapplication-wide310x150logo" content="icon_widetile.png">
	<!-- NOTE: iOS - Add to Homescreen -->
	<!-- Hide Safari UI Components -->
	<meta name="apple-mobile-web-app-capable" content="yes" />
	<!-- iOS Status bar: black or black-translucent -->
	<meta name="apple-mobile-web-app-status-bar-style" content="black">
	<!-- iOS App Name next to Icon -->
	<meta name="apple-mobile-web-app-title" content="OHM News">
	<!-- Icon: No transparency allowed -->
	<link rel="apple-touch-icon" href="img/launcher/ios_launcher_app_icon_192.png"> <!-- iphone -->
	<link rel="apple-touch-icon" sizes="152x152" href="img/launcher/ios_launcher_app_icon_152.png"><!-- ipad -->
	<link rel="apple-touch-icon" sizes="180x180" href="img/launcher/ios_launcher_app_icon_180.png"><!-- iphone-retina -->
	<link rel="apple-touch-icon" sizes="167x167" href="img/launcher/ios_launcher_app_icon_167.png"><!-- ipad-retina -->
	<!-- Splash screen: If not set, will be white screen -->
	<link rel="apple-touch-startup-image" sizes="2048x2732" href="ios-splash/apple_splash_2048.png" /><!-- Tablet -->
	<link rel="apple-touch-startup-image" sizes="1668x2224" href="ios-splash/apple_splash_1668.png" /><!-- Tablet -->
	<link rel="apple-touch-startup-image" sizes="1536x2048" href="ios-splash/apple_splash_1536.png" /><!-- Tablet -->
	<link rel="apple-touch-startup-image" sizes="1125x2436" href="ios-splash/apple_splash_1125.png" /><!-- Tablet ? Phone -->
	<link rel="apple-touch-startup-image" sizes="1242x2208" href="ios-splash/apple_splash_1242.png" /><!-- Tablet ? Phone -->
	<link rel="apple-touch-startup-image" sizes="750x1334" href="ios-splash/apple_splash_750.png" /><!-- Phone -->
	<link rel="apple-touch-startup-image" sizes="640x1136" href="ios-splash/apple_splash_640.png" /><!-- Phone -->

	<!-- NOTE: CSS -->

	<!-- CSS_Material Design for Bootstrap fonts and icons -->
	<link rel="stylesheet" href="lib/bootstrap-font-and-icons.css">
	<!-- CSS_Material Design for Bootstrap minified CSS -->
	<!--<link rel="stylesheet" href="lib/bootstrap-material-design.min.css">-->

	<!-- NOTE: Call manifest.json -->
	<link rel="manifest" href="manifest.json">

	<!-- NOTE: Load JQuery, Vue.js, VueRouter, Vuetify -->
	<script src="lib/jquery-3.3.1.min.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>
	<!-- <script src="lib/buefy-0.7.5.min.js"></script>-->
	<link rel="stylesheet" href="https://cdn.materialdesignicons.com/2.5.94/css/materialdesignicons.min.css">
	<link rel="stylesheet" type="text/css" href="lib/buefy-0.7.5.css">
	<!--<link rel="stylesheet" type="text/css" href="lib/buefy-0.7.5.min.css">-->

	<!--    <script src="lib/vuetify-1.5.14.js"></script>-->
	<!--    <script src="lib/vuetify-1.5.14.min.js"></script>-->
	<!--    <link rel="stylesheet" type="text/css" href="lib/vuetify-1.5.14.css">-->
	<!--    <link rel="stylesheet" type="text/css" href="lib/vuetify-1.5.14.min.css">-->

	<!-- CSS_Custom Design -->
	<link rel="stylesheet" type="text/css" href="style/style.css">

	<!-- NOTE: JavaScript Libs & Files -->
	<script src="routes/home.js"></script>
	<script src="routes/files.js"></script>
	<script src="routes/createMessage.js"></script>
	<script src="routes/bookmark.js"></script>
	<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>
	<script src="routes/navRoutes.js"></script>

	<title>OHM News</title>
</head>

<body>
	<div id="api">
		<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" @submit.prevent="search()">
					<b-field>
						<b-autocomplete v-model="searchtext" @keydown.native.enter="search" :data="filteredDataArray" placeholder="suche..." icon="magnify" @select="option => selected = option">
						</b-autocomplete>
						<button class="clearButton" @click="clear">x</button>
					</b-field>
				</form>
			</div>
		</div>

		<div class="om-content">
			<div id=xxx></div>
			<nav-router></nav-router>
			<router-view></router-view>
		</div>
	</div>

	<script>
		var isSearchActive = false;
		var tagArray = ["lorem"];
		const dat = [
			'th',
			'efi',
			'wichtig',
		];
	</script>

	<script>
		var app = new Vue({
			router,
			el: '#api',
			data: function() {
				return {
					searchtext: "",
					//isSearchActiv: false,
					selected: [],
					taglist: dat,
				};
			},
			computed: {
				filteredDataArray() {
					return this.taglist.filter((option) => {
						return option
							.toString()
							.toLowerCase()
							.indexOf(this.searchtext.toLowerCase()) >= 0
					})
				}
			},
			methods: {

				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);
				},
				search: function() {
					searching(this.searchtext);
				},
				list_messages: function() {
					messages();
				},
				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);
						});
				},

				clear: function() {
					console.log("clear");

					isSearchActiv = false;
					this.searchtext = "";
					this.list_messages();
				},

			},
			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);
			})
		}

		function searching(searchtext) {
			isSearchActiv = true;
			console.log("Searchtext: " + searchtext.replace(/#/g, ''));
			$.ajax({
				url: "api/msg/search/" + 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);
			})
		}

		function messages() {
			$.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);
					for (var e in jd) {
						if (!_messages[jd[e]]) {
							get_insert_message(jd[e]);
						}
					}
				}).fail(function(e, f, g) {
					console.log("list_msg: err: " + 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 -->
	<!-- <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"></script> -->
	<!-- CDN_jQuery minified lib -->
	<!--<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>-->
	<!-- Load Popper.js -->
	<script src="lib/popper-1.12.6.js"></script>
	<!-- Load Bootstrap.js -->
	<script src="lib/bootstrap-material-design.js"></script>
	<!-- NOTE: Call main.js -->
	<script src="main.js"></script>

</body>

</html>