<!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 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-button type="is-light" @click="clear">X</b-button>
                    </b-field>
                </form>
            </div>
        </div>

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

    <!--<b-tabs type="is-toggle" expanded>
            <b-tab-item><router-link to="/home" >
				<b-icon
                pack="fas"
                icon="home"
                size="is-small">
            </b-icon>
				</router-link></b-tab-item>
			<b-tab-item icon="magnify"></b-tab-item>
			<b-tab-item icon="plus-circle"></b-tab-item>
			<b-tab-item icon="bookmark"></b-tab-item>
			<b-tab-item icon="account"></b-tab-item>

        </b-tabs>-->

    <!--
		<nav class="navbar is-fixed-bottom is-expanded is-light is-hoverable" role="navigation" aria-label="main navigation">
  			<div class="navbar-brand is-expanded">
				<router-link to="/home" class="navbar-item is-expanded has-text-centered is-active">
					<i class="material-icons">home</i>
				</router-link>
            	<router-link to="/files" class="navbar-item is-expanded">
					<i class="material-icons">language</i>
				</router-link>
            	<router-link to="/createMessage" class="navbar-item is-expanded">
					<i class="material-icons">add_circle</i>
				</router-link>
            	<router-link to="/bookmark" class="navbar-item  is-expanded">
					<i class="material-icons">bookmark</i>
				</router-link>
				<router-link to="/profil" class="navbar-item is-expanded">
					<i class="material-icons">person</i>
				</router-link>
			</div>
		</nav>

        <nav class="nav nav-tabs nav-justified om-nav" v-if="$route.path !=='/createMessage' ">
            <router-link to="/home" class="navbar-item has-text-centered"><i class="material-icons">home</i></router-link>
            <router-link to="/files" class="navbar-item has-text-centered"><i class="material-icons">language</i></router-link>
            <router-link to="/createMessage" class="navbar-item has-text-centered outlined"><i class="material-icons">add_circle</i></router-link>
            <router-link to="/bookmark" class="navbar-item has-text-centered"><i class="material-icons">bookmark</i></router-link>
            <router-link to="/profil" class="navbar-item has-text-centered"><i class="material-icons">person</i></router-link>
        </nav>
    </div>
-->
    <script>
        var isSearchActive = false;
        var tagArray = ["lorem"];

    </script>

    <!-- const routes = [
            { path: "/",                component: HomeRouter },
            { path: "/home",            component: HomeRouter },
			{ path: "/files",           component: FileRouter },
			{ path: "/createMessage",   component: CreateMsgRouter },
            { path: "/bookmark",        component: BookmarkRouter },
			{ path: "/profil",          component: ProfilRouter },
        ];
        const router = new VueRouter({
			routes
		}); -->

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

                getFilteredTags(text) {
                    this.taglist = data.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;
                            if(data == ""){
                                _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) {
                data.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;
                router.push('/home');
                _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>