initial project
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 14 KiB |
@ -0,0 +1 @@
|
||||
41e1c536c5dfb47db1311f7335b357b3
|
After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 92 KiB |
@ -0,0 +1 @@
|
||||
287a089b0cd0ff44dfda2fd7bd7ad812
|
After Width: | Height: | Size: 77 KiB |
@ -1 +1,20 @@
|
||||
<ion-nav [root]="rootPage"></ion-nav>
|
||||
<ion-menu [content]="content">
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-title>Menu</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<ion-list>
|
||||
<button menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)">
|
||||
{{p.title}}
|
||||
</button>
|
||||
</ion-list>
|
||||
</ion-content>
|
||||
|
||||
</ion-menu>
|
||||
|
||||
|
||||
<!-- Disable swipe-to-go-back because it's poor UX to combine STGB with side menus -->
|
||||
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 243 92" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
|
||||
<path d="M22.48,43.14L19.48,43.14L18.95,40.32C18.023,39.975 17.039,39.809 16.05,39.83C14.05,39.83 13.15,40.98 13.15,42.2C13.15,43.42 13.64,44 15.15,44.49L18.26,45.43C21.49,46.43 23.21,48.05 23.21,50.91C23.21,53.77 21,56.46 15.65,56.46C13.322,56.476 11.015,56.031 8.86,55.15L8.5,49.76L11.5,49.76L12.38,53C13.407,53.46 14.525,53.682 15.65,53.65C17.53,53.65 18.84,52.83 18.84,51.32C18.84,50.14 18.1,49.44 16.67,48.95L13.4,47.95C10.54,47.05 8.86,45.37 8.86,42.63C8.86,39.89 10.63,37 16,37C18.216,37.003 20.415,37.389 22.5,38.14L22.48,43.14Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M40.63,51.27L41.9,54.27C39.802,55.659 37.346,56.413 34.83,56.44C28.54,56.44 26,52.35 26,46.67C26,41.34 28.74,37 34.42,37C39.86,37 42.06,40.92 42.06,44.93C42.063,45.962 41.952,46.992 41.73,48L30.08,48C30.08,51.15 31.59,53.07 34.86,53.07C36.917,53.042 38.922,52.416 40.63,51.27L40.63,51.27ZM38.26,45C38.278,44.784 38.278,44.566 38.26,44.35C38.26,41.73 36.67,40.22 34.34,40.22C31.34,40.22 30.25,42.35 30.09,45L38.26,45Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M44.92,52.66L47.5,52.66L47.5,40.72L45,40.72L45,37.37L50.89,37.37L50.89,39.5C52.57,37.782 54.911,36.871 57.31,37C61.77,37 63.56,39.49 63.56,44.23L63.56,52.69L66.1,52.69L66.1,56L56.86,56L56.86,52.66L59.76,52.66L59.76,44.57C59.76,42.08 59.15,40.57 56,40.57C54.284,40.624 52.627,41.211 51.26,42.25L51.26,52.66L54.16,52.66L54.16,56L44.92,56L44.92,52.66Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M82.16,43.14L79.16,43.14L78.63,40.32C77.703,39.975 76.719,39.809 75.73,39.83C73.73,39.83 72.83,40.98 72.83,42.2C72.83,43.42 73.32,44 74.83,44.49L77.94,45.43C81.17,46.43 82.89,48.05 82.89,50.91C82.89,53.77 80.76,56.47 75.41,56.47C73.082,56.486 70.775,56.041 68.62,55.16L68.25,49.77L71.25,49.77L72.07,53C73.097,53.46 74.215,53.682 75.34,53.65C77.22,53.65 78.53,52.83 78.53,51.32C78.53,50.14 77.79,49.44 76.36,48.95L73.09,47.95C70.23,47.05 68.55,45.37 68.55,42.63C68.55,39.89 70.31,37 75.66,37C77.876,37.003 80.075,37.389 82.16,38.14L82.16,43.14Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M100.31,51.27L101.58,54.27C99.482,55.659 97.026,56.413 94.51,56.44C88.22,56.44 85.68,52.35 85.68,46.67C85.68,41.32 88.42,36.94 94.1,36.94C99.54,36.94 101.74,40.86 101.74,44.87C101.743,45.902 101.632,46.932 101.41,47.94L89.77,47.94C89.77,51.09 91.28,53.01 94.55,53.01C96.597,52.997 98.598,52.393 100.31,51.27L100.31,51.27ZM97.94,45C97.958,44.784 97.958,44.566 97.94,44.35C97.94,41.73 96.35,40.22 94.02,40.22C91.02,40.22 89.93,42.35 89.77,45L97.94,45Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M104.85,52.62L107.79,52.62L107.79,31.77L104.85,31.77L104.85,28.38L116.75,28.38C122.39,28.38 124.88,31.2 124.88,35.58C124.88,38.65 123.16,40.93 120.88,41.47C124.002,42.206 126.207,45.043 126.15,48.25C126.15,54.14 121.98,56.02 116.71,56.02L104.81,56.02L104.85,52.62ZM116,40.07C119.23,40.07 120.74,38.52 120.74,35.78C120.74,33.37 119.55,31.78 116.12,31.78L111.8,31.78L111.8,40.08L116,40.07ZM116.49,52.62C120.58,52.62 122.09,50.9 122.09,48.08C122.09,45.5 120.78,43.42 116.45,43.42L111.8,43.42L111.8,52.62L116.49,52.62Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M146.14,46.65C146.14,52.41 143.81,56.46 137.35,56.46C131.18,56.46 128.77,52.46 128.77,46.73C128.77,41 131.09,37 137.51,37C143.93,37 146.14,41 146.14,46.65ZM142.14,46.73C142.14,42.6 141.04,40.52 137.48,40.52C133.92,40.52 132.82,42.6 132.82,46.65C132.82,50.7 134,52.9 137.52,52.9C141.04,52.9 142.09,50.74 142.09,46.73L142.14,46.73Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M154.64,52.66L158,52.66L158,56L148.68,56L148.68,52.66L151,52.66L156,46.41L151.62,40.73L148.72,40.73L148.72,37.37L156.45,37.37L156.45,40.56L159.72,44.85L162.83,40.72L159.52,40.72L159.52,37.37L168.8,37.37L168.8,40.72L166.27,40.72L161.61,46.65L166.56,52.65L169.22,52.65L169.22,56L161.58,56L161.58,52.82L157.98,48.12L154.64,52.66Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M205.64,35.65C205.657,35.754 205.666,35.86 205.666,35.965C205.666,37.019 204.799,37.885 203.746,37.885C202.693,37.885 201.826,37.019 201.826,35.965C201.826,35.027 202.514,34.22 203.44,34.07C203.544,34.053 203.649,34.044 203.754,34.044C204.688,34.044 205.491,34.728 205.64,35.65" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M205.64,43.73C205.656,43.831 205.664,43.933 205.664,44.036C205.664,45.089 204.798,45.956 203.744,45.956C202.691,45.956 201.824,45.089 201.824,44.036C201.824,43.097 202.513,42.289 203.44,42.14C203.543,42.123 203.648,42.114 203.753,42.114C204.69,42.114 205.496,42.804 205.64,43.73" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M211.88,50.57C211.896,50.671 211.904,50.773 211.904,50.876C211.904,51.929 211.038,52.796 209.984,52.796C208.931,52.796 208.064,51.929 208.064,50.876C208.064,49.937 208.753,49.129 209.68,48.98C210.719,48.813 211.712,49.531 211.88,50.57" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M213.8,39.9C213.816,40.001 213.824,40.103 213.824,40.206C213.824,41.259 212.958,42.126 211.904,42.126C210.851,42.126 209.984,41.259 209.984,40.206C209.984,39.267 210.673,38.459 211.6,38.31C212.639,38.143 213.632,38.861 213.8,39.9" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M197.06,28.42L206.73,18.75L216.49,28.51C210.703,32.708 202.812,32.676 197.06,28.43L197.06,28.42Z" style="fill:rgb(255,242,0);fill-rule:nonzero;"/>
|
||||
<path d="M224.18,55.46L220.67,51.95L224.3,48.32L217.04,48.32L214.53,45.81L216.97,43.36L224.37,43.36L220.67,39.66L224.18,36.15L233.79,45.76L224.18,55.46Z" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M218.39,61.21C211.92,55.032 201.6,55.032 195.13,61.21L206.74,72.82L218.39,61.21Z" style="fill:rgb(80,174,72);fill-rule:nonzero;"/>
|
||||
<path d="M182.72,42.76C184.388,44.431 184.388,47.179 182.72,48.85L185.12,51.25C188.101,48.264 188.101,43.356 185.12,40.37L182.72,42.76Z" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M187,38.52C190.994,42.522 190.994,49.098 187,53.1L189.4,55.5C194.711,50.186 194.711,41.444 189.4,36.13L187,38.52Z" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M191.21,34.27C194.271,37.326 195.993,41.479 195.993,45.805C195.993,50.131 194.271,54.284 191.21,57.34L193.61,59.74C197.308,56.05 199.388,51.034 199.388,45.81C199.388,40.586 197.308,35.57 193.61,31.88L191.21,34.27Z" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
<path d="M179.67,45.81L181.19,47.33C181.593,46.935 181.82,46.394 181.82,45.83C181.82,45.266 181.593,44.725 181.19,44.33L179.67,45.81Z" style="fill:rgb(69,190,237);fill-rule:nonzero;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 6.8 KiB |
@ -0,0 +1,27 @@
|
||||
<!--
|
||||
Generated template for the AboutPage page.
|
||||
|
||||
See http://ionicframework.com/docs/components/#navigation for more info on
|
||||
Ionic pages and navigation.
|
||||
-->
|
||||
<ion-header>
|
||||
<ion-navbar>
|
||||
<button ion-button menuToggle>
|
||||
<ion-icon name="menu"></ion-icon>
|
||||
</button>
|
||||
<ion-title>About</ion-title>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
|
||||
|
||||
<ion-content padding>
|
||||
<p>
|
||||
These apps were made at IfGI 2018.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Institut für Geoinformatik</li>
|
||||
<li>Heisenbergstr. 2</li>
|
||||
<li>48149 Münster</li>
|
||||
</ul>
|
||||
</ion-content>
|
@ -0,0 +1,13 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { IonicPageModule } from 'ionic-angular';
|
||||
import { AboutPage } from './about';
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
AboutPage,
|
||||
],
|
||||
imports: [
|
||||
IonicPageModule.forChild(AboutPage),
|
||||
],
|
||||
})
|
||||
export class AboutPageModule {}
|
@ -0,0 +1,9 @@
|
||||
page-about p{
|
||||
color: map-get($colors, primary);
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-top: 2.2em;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { IonicPage, NavController, NavParams } from 'ionic-angular';
|
||||
|
||||
/**
|
||||
* Generated class for the AboutPage page.
|
||||
*
|
||||
* See https://ionicframework.com/docs/components/#navigation for more info on
|
||||
* Ionic pages and navigation.
|
||||
*/
|
||||
|
||||
@IonicPage()
|
||||
@Component({
|
||||
selector: 'page-about',
|
||||
templateUrl: 'about.html',
|
||||
})
|
||||
export class AboutPage {
|
||||
|
||||
constructor(public navCtrl: NavController, public navParams: NavParams) {
|
||||
}
|
||||
|
||||
ionViewDidLoad() {
|
||||
console.log('ionViewDidLoad AboutPage');
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +1,13 @@
|
||||
<ion-header>
|
||||
<ion-navbar>
|
||||
<ion-title>
|
||||
Ionic Blank
|
||||
</ion-title>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
<ion-navbar>
|
||||
<button ion-button menuToggle>
|
||||
<ion-icon name="menu"></ion-icon>
|
||||
</button>
|
||||
<ion-title>Home</ion-title>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content padding>
|
||||
The world is your oyster.
|
||||
<p>
|
||||
If you get lost, the <a href="http://ionicframework.com/docs/v2">docs</a> will be your guide.
|
||||
</p>
|
||||
<h1>Its all about sensors.</h1>
|
||||
<p>Create new pages for your project und link them in the menu please.</p>
|
||||
</ion-content>
|
||||
|
@ -0,0 +1,35 @@
|
||||
<!--
|
||||
Generated template for the SenseBoxPage page.
|
||||
|
||||
See http://ionicframework.com/docs/components/#navigation for more info on
|
||||
Ionic pages and navigation.
|
||||
-->
|
||||
<ion-header>
|
||||
<ion-navbar>
|
||||
<button ion-button menuToggle>
|
||||
<ion-icon name="menu"></ion-icon>
|
||||
</button>
|
||||
<ion-title>senseBox</ion-title>
|
||||
</ion-navbar>
|
||||
</ion-header>
|
||||
|
||||
|
||||
|
||||
|
||||
<ion-content padding>
|
||||
|
||||
<button (click)="getData()" ion-button color="secondary">
|
||||
get data
|
||||
</button>
|
||||
|
||||
<div *ngIf="boxData">
|
||||
<h1>{{boxData.name}}</h1>
|
||||
<ion-list>
|
||||
<div ion-item *ngFor="let sensor of boxData.sensors">
|
||||
<h3>{{sensor.title}}</h3>
|
||||
<p>{{sensor.lastMeasurement.value}} {{sensor.unit}}</p>
|
||||
</div>
|
||||
</ion-list>
|
||||
</div>
|
||||
|
||||
</ion-content>
|
@ -0,0 +1,13 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { IonicPageModule } from 'ionic-angular';
|
||||
import { SenseBoxPage } from './sense-box';
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
SenseBoxPage,
|
||||
],
|
||||
imports: [
|
||||
IonicPageModule.forChild(SenseBoxPage),
|
||||
],
|
||||
})
|
||||
export class SenseBoxPageModule {}
|
@ -0,0 +1,3 @@
|
||||
page-sense-box {
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
import { ApiProvider } from './../../providers/api/api';
|
||||
import { Component } from '@angular/core';
|
||||
import { IonicPage, NavController, NavParams } from 'ionic-angular';
|
||||
|
||||
/**
|
||||
* Generated class for the SenseBoxPage page.
|
||||
*
|
||||
* See https://ionicframework.com/docs/components/#navigation for more info on
|
||||
* Ionic pages and navigation.
|
||||
*/
|
||||
|
||||
@IonicPage()
|
||||
@Component({
|
||||
selector: 'page-sense-box',
|
||||
templateUrl: 'sense-box.html',
|
||||
})
|
||||
export class SenseBoxPage {
|
||||
|
||||
boxData: any;
|
||||
|
||||
constructor(public navCtrl: NavController, public navParams: NavParams, private api: ApiProvider) {
|
||||
}
|
||||
|
||||
ionViewDidLoad() {
|
||||
console.log('ionViewDidLoad SenseBoxPage');
|
||||
}
|
||||
|
||||
getData(){
|
||||
this.api.getData().subscribe(res => {
|
||||
console.log(res);
|
||||
this.boxData = res;
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
/*
|
||||
Generated class for the ApiProvider provider.
|
||||
|
||||
See https://angular.io/guide/dependency-injection for more info on providers
|
||||
and Angular DI.
|
||||
*/
|
||||
@Injectable()
|
||||
export class ApiProvider {
|
||||
|
||||
private API_URL = 'https://api.testing.opensensemap.org'
|
||||
|
||||
constructor(public http: HttpClient) {
|
||||
console.log('Hello ApiProvider Provider');
|
||||
}
|
||||
|
||||
|
||||
getData(){
|
||||
return this.http.get(`${this.API_URL}/boxes/5b0d436fd40a290019ef444d`);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
|
||||
/// <reference path="../.vscode/typings/cordova-ionic/plugins/keyboard.d.ts"/>
|
||||
/// <reference path="../.vscode/typings/jquery/jquery.d.ts"/>
|