123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- <!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"];
- const dat = [
- 'th',
- 'efi',
- 'wichtig',
- ];
-
- </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: 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>
|