initial project

ios
umut0 6 years ago
parent c6f9e6e86d
commit 459ab4b36b

@ -1,8 +1,8 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>openSenseApp</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
<description>Apps utilizing the openSenseMap and senseBox.</description>
<author email="kontakt@reedu.de" href="https://reedu.de/">re:edu</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
@ -82,4 +82,6 @@
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^2.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<engine name="android" spec="7.1.1" />
<engine name="browser" spec="5.0.4" />
</widget>

895
package-lock.json generated

@ -1079,6 +1079,901 @@
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"cordova-android": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.1.1.tgz",
"integrity": "sha512-MAOwEMT3TuGjKw4McNzzYyHmxkWY3ozafbIgdMAvPzqSBVGIcn+H3SmWfaHtUXfmIPFliT171ICsSm6W5lZXEA==",
"requires": {
"abbrev": "1.1.1",
"android-versions": "1.3.0",
"ansi": "0.3.1",
"balanced-match": "1.0.0",
"base64-js": "1.2.0",
"big-integer": "1.6.32",
"bplist-parser": "0.1.1",
"brace-expansion": "1.1.11",
"concat-map": "0.0.1",
"cordova-common": "2.2.5",
"cordova-registry-mapper": "1.1.15",
"elementtree": "0.1.6",
"glob": "5.0.15",
"inflight": "1.0.6",
"inherits": "2.0.3",
"minimatch": "3.0.4",
"nopt": "3.0.1",
"once": "1.4.0",
"path-is-absolute": "1.0.1",
"plist": "2.1.0",
"properties-parser": "0.2.3",
"q": "1.4.1",
"sax": "0.3.5",
"semver": "5.5.0",
"shelljs": "0.5.3",
"underscore": "1.9.1",
"unorm": "1.4.1",
"wrappy": "1.0.2",
"xmlbuilder": "8.2.2",
"xmldom": "0.1.27"
},
"dependencies": {
"abbrev": {
"version": "1.1.1",
"bundled": true
},
"android-versions": {
"version": "1.3.0",
"bundled": true,
"requires": {
"semver": "5.5.0"
}
},
"ansi": {
"version": "0.3.1",
"bundled": true
},
"balanced-match": {
"version": "1.0.0",
"bundled": true
},
"base64-js": {
"version": "1.2.0",
"bundled": true
},
"big-integer": {
"version": "1.6.32",
"bundled": true
},
"bplist-parser": {
"version": "0.1.1",
"bundled": true,
"requires": {
"big-integer": "1.6.32"
}
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"requires": {
"balanced-match": "1.0.0",
"concat-map": "0.0.1"
}
},
"concat-map": {
"version": "0.0.1",
"bundled": true
},
"cordova-common": {
"version": "2.2.5",
"bundled": true,
"requires": {
"ansi": "0.3.1",
"bplist-parser": "0.1.1",
"cordova-registry-mapper": "1.1.15",
"elementtree": "0.1.6",
"glob": "5.0.15",
"minimatch": "3.0.4",
"plist": "2.1.0",
"q": "1.4.1",
"shelljs": "0.5.3",
"underscore": "1.9.1",
"unorm": "1.4.1"
}
},
"cordova-registry-mapper": {
"version": "1.1.15",
"bundled": true
},
"elementtree": {
"version": "0.1.6",
"bundled": true,
"requires": {
"sax": "0.3.5"
}
},
"glob": {
"version": "5.0.15",
"bundled": true,
"requires": {
"inflight": "1.0.6",
"inherits": "2.0.3",
"minimatch": "3.0.4",
"once": "1.4.0",
"path-is-absolute": "1.0.1"
}
},
"inflight": {
"version": "1.0.6",
"bundled": true,
"requires": {
"once": "1.4.0",
"wrappy": "1.0.2"
}
},
"inherits": {
"version": "2.0.3",
"bundled": true
},
"minimatch": {
"version": "3.0.4",
"bundled": true,
"requires": {
"brace-expansion": "1.1.11"
}
},
"nopt": {
"version": "3.0.1",
"bundled": true,
"requires": {
"abbrev": "1.1.1"
}
},
"once": {
"version": "1.4.0",
"bundled": true,
"requires": {
"wrappy": "1.0.2"
}
},
"path-is-absolute": {
"version": "1.0.1",
"bundled": true
},
"plist": {
"version": "2.1.0",
"bundled": true,
"requires": {
"base64-js": "1.2.0",
"xmlbuilder": "8.2.2",
"xmldom": "0.1.27"
}
},
"properties-parser": {
"version": "0.2.3",
"bundled": true
},
"q": {
"version": "1.4.1",
"bundled": true
},
"sax": {
"version": "0.3.5",
"bundled": true
},
"semver": {
"version": "5.5.0",
"bundled": true
},
"shelljs": {
"version": "0.5.3",
"bundled": true
},
"underscore": {
"version": "1.9.1",
"bundled": true
},
"unorm": {
"version": "1.4.1",
"bundled": true
},
"wrappy": {
"version": "1.0.2",
"bundled": true
},
"xmlbuilder": {
"version": "8.2.2",
"bundled": true
},
"xmldom": {
"version": "0.1.27",
"bundled": true
}
}
},
"cordova-browser": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-5.0.4.tgz",
"integrity": "sha512-EDuG+9NGsaYpNSY6wF0kR34m1m38V+nRglGXxQ609fgMYrMHEYR2lg38nDr1Os4qeF0LJz8UQ7nq7Y+idg6Aig==",
"requires": {
"abbrev": "1.1.1",
"accepts": "1.3.5",
"ansi": "0.3.1",
"ansi-regex": "2.1.1",
"ansi-styles": "2.2.1",
"array-flatten": "1.1.1",
"balanced-match": "1.0.0",
"base64-js": "1.2.0",
"big-integer": "1.6.32",
"body-parser": "1.18.2",
"bplist-parser": "0.1.1",
"brace-expansion": "1.1.11",
"bytes": "3.0.0",
"chalk": "1.1.3",
"compressible": "2.0.14",
"compression": "1.7.2",
"concat-map": "0.0.1",
"content-disposition": "0.5.2",
"content-type": "1.0.4",
"cookie": "0.3.1",
"cookie-signature": "1.0.6",
"cordova-common": "2.2.5",
"cordova-registry-mapper": "1.1.15",
"cordova-serve": "2.0.1",
"debug": "2.6.9",
"depd": "1.1.2",
"destroy": "1.0.4",
"ee-first": "1.1.1",
"elementtree": "0.1.6",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"escape-string-regexp": "1.0.5",
"etag": "1.8.1",
"express": "4.16.3",
"finalhandler": "1.1.1",
"forwarded": "0.1.2",
"fresh": "0.5.2",
"glob": "5.0.15",
"has-ansi": "2.0.0",
"http-errors": "1.6.3",
"iconv-lite": "0.4.19",
"inflight": "1.0.6",
"inherits": "2.0.3",
"ipaddr.js": "1.6.0",
"is-wsl": "1.1.0",
"media-typer": "0.3.0",
"merge-descriptors": "1.0.1",
"methods": "1.1.2",
"mime": "1.4.1",
"mime-db": "1.33.0",
"mime-types": "2.1.18",
"minimatch": "3.0.4",
"ms": "2.0.0",
"negotiator": "0.6.1",
"nopt": "3.0.6",
"on-finished": "2.3.0",
"on-headers": "1.0.1",
"once": "1.4.0",
"opn": "5.3.0",
"parseurl": "1.3.2",
"path-is-absolute": "1.0.1",
"path-to-regexp": "0.1.7",
"plist": "2.1.0",
"proxy-addr": "2.0.3",
"q": "1.5.1",
"qs": "6.5.1",
"range-parser": "1.2.0",
"raw-body": "2.3.2",
"safe-buffer": "5.1.1",
"sax": "0.3.5",
"send": "0.16.2",
"serve-static": "1.13.2",
"setprototypeof": "1.1.0",
"shelljs": "0.5.3",
"statuses": "1.4.0",
"strip-ansi": "3.0.1",
"supports-color": "2.0.0",
"type-is": "1.6.16",
"underscore": "1.9.1",
"unorm": "1.4.1",
"unpipe": "1.0.0",
"utils-merge": "1.0.1",
"vary": "1.1.2",
"wrappy": "1.0.2",
"xmlbuilder": "8.2.2",
"xmldom": "0.1.27"
},
"dependencies": {
"abbrev": {
"version": "1.1.1",
"bundled": true
},
"accepts": {
"version": "1.3.5",
"bundled": true,
"requires": {
"mime-types": "2.1.18",
"negotiator": "0.6.1"
}
},
"ansi": {
"version": "0.3.1",
"bundled": true
},
"ansi-regex": {
"version": "2.1.1",
"bundled": true
},
"ansi-styles": {
"version": "2.2.1",
"bundled": true
},
"array-flatten": {
"version": "1.1.1",
"bundled": true
},
"balanced-match": {
"version": "1.0.0",
"bundled": true
},
"base64-js": {
"version": "1.2.0",
"bundled": true
},
"big-integer": {
"version": "1.6.32",
"bundled": true
},
"body-parser": {
"version": "1.18.2",
"bundled": true,
"requires": {
"bytes": "3.0.0",
"content-type": "1.0.4",
"debug": "2.6.9",
"depd": "1.1.2",
"http-errors": "1.6.3",
"iconv-lite": "0.4.19",
"on-finished": "2.3.0",
"qs": "6.5.1",
"raw-body": "2.3.2",
"type-is": "1.6.16"
}
},
"bplist-parser": {
"version": "0.1.1",
"bundled": true,
"requires": {
"big-integer": "1.6.32"
}
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"requires": {
"balanced-match": "1.0.0",
"concat-map": "0.0.1"
}
},
"bytes": {
"version": "3.0.0",
"bundled": true
},
"chalk": {
"version": "1.1.3",
"bundled": true,
"requires": {
"ansi-styles": "2.2.1",
"escape-string-regexp": "1.0.5",
"has-ansi": "2.0.0",
"strip-ansi": "3.0.1",
"supports-color": "2.0.0"
}
},
"compressible": {
"version": "2.0.14",
"bundled": true,
"requires": {
"mime-db": "1.34.0"
},
"dependencies": {
"mime-db": {
"version": "1.34.0",
"bundled": true
}
}
},
"compression": {
"version": "1.7.2",
"bundled": true,
"requires": {
"accepts": "1.3.5",
"bytes": "3.0.0",
"compressible": "2.0.14",
"debug": "2.6.9",
"on-headers": "1.0.1",
"safe-buffer": "5.1.1",
"vary": "1.1.2"
}
},
"concat-map": {
"version": "0.0.1",
"bundled": true
},
"content-disposition": {
"version": "0.5.2",
"bundled": true
},
"content-type": {
"version": "1.0.4",
"bundled": true
},
"cookie": {
"version": "0.3.1",
"bundled": true
},
"cookie-signature": {
"version": "1.0.6",
"bundled": true
},
"cordova-common": {
"version": "2.2.5",
"bundled": true,
"requires": {
"ansi": "0.3.1",
"bplist-parser": "0.1.1",
"cordova-registry-mapper": "1.1.15",
"elementtree": "0.1.6",
"glob": "5.0.15",
"minimatch": "3.0.4",
"plist": "2.1.0",
"q": "1.5.1",
"shelljs": "0.5.3",
"underscore": "1.9.1",
"unorm": "1.4.1"
}
},
"cordova-registry-mapper": {
"version": "1.1.15",
"bundled": true
},
"cordova-serve": {
"version": "2.0.1",
"bundled": true,
"requires": {
"chalk": "1.1.3",
"compression": "1.7.2",
"express": "4.16.3",
"opn": "5.3.0",
"shelljs": "0.5.3"
}
},
"debug": {
"version": "2.6.9",
"bundled": true,
"requires": {
"ms": "2.0.0"
}
},
"depd": {
"version": "1.1.2",
"bundled": true
},
"destroy": {
"version": "1.0.4",
"bundled": true
},
"ee-first": {
"version": "1.1.1",
"bundled": true
},
"elementtree": {
"version": "0.1.6",
"bundled": true,
"requires": {
"sax": "0.3.5"
}
},
"encodeurl": {
"version": "1.0.2",
"bundled": true
},
"escape-html": {
"version": "1.0.3",
"bundled": true
},
"escape-string-regexp": {
"version": "1.0.5",
"bundled": true
},
"etag": {
"version": "1.8.1",
"bundled": true
},
"express": {
"version": "4.16.3",
"bundled": true,
"requires": {
"accepts": "1.3.5",
"array-flatten": "1.1.1",
"body-parser": "1.18.2",
"content-disposition": "0.5.2",
"content-type": "1.0.4",
"cookie": "0.3.1",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "1.1.2",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"etag": "1.8.1",
"finalhandler": "1.1.1",
"fresh": "0.5.2",
"merge-descriptors": "1.0.1",
"methods": "1.1.2",
"on-finished": "2.3.0",
"parseurl": "1.3.2",
"path-to-regexp": "0.1.7",
"proxy-addr": "2.0.3",
"qs": "6.5.1",
"range-parser": "1.2.0",
"safe-buffer": "5.1.1",
"send": "0.16.2",
"serve-static": "1.13.2",
"setprototypeof": "1.1.0",
"statuses": "1.4.0",
"type-is": "1.6.16",
"utils-merge": "1.0.1",
"vary": "1.1.2"
}
},
"finalhandler": {
"version": "1.1.1",
"bundled": true,
"requires": {
"debug": "2.6.9",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"on-finished": "2.3.0",
"parseurl": "1.3.2",
"statuses": "1.4.0",
"unpipe": "1.0.0"
}
},
"forwarded": {
"version": "0.1.2",
"bundled": true
},
"fresh": {
"version": "0.5.2",
"bundled": true
},
"glob": {
"version": "5.0.15",
"bundled": true,
"requires": {
"inflight": "1.0.6",
"inherits": "2.0.3",
"minimatch": "3.0.4",
"once": "1.4.0",
"path-is-absolute": "1.0.1"
}
},
"has-ansi": {
"version": "2.0.0",
"bundled": true,
"requires": {
"ansi-regex": "2.1.1"
}
},
"http-errors": {
"version": "1.6.3",
"bundled": true,
"requires": {
"depd": "1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.0",
"statuses": "1.4.0"
}
},
"iconv-lite": {
"version": "0.4.19",
"bundled": true
},
"inflight": {
"version": "1.0.6",
"bundled": true,
"requires": {
"once": "1.4.0",
"wrappy": "1.0.2"
}
},
"inherits": {
"version": "2.0.3",
"bundled": true
},
"ipaddr.js": {
"version": "1.6.0",
"bundled": true
},
"is-wsl": {
"version": "1.1.0",
"bundled": true
},
"media-typer": {
"version": "0.3.0",
"bundled": true
},
"merge-descriptors": {
"version": "1.0.1",
"bundled": true
},
"methods": {
"version": "1.1.2",
"bundled": true
},
"mime": {
"version": "1.4.1",
"bundled": true
},
"mime-db": {
"version": "1.33.0",
"bundled": true
},
"mime-types": {
"version": "2.1.18",
"bundled": true,
"requires": {
"mime-db": "1.33.0"
}
},
"minimatch": {
"version": "3.0.4",
"bundled": true,
"requires": {
"brace-expansion": "1.1.11"
}
},
"ms": {
"version": "2.0.0",
"bundled": true
},
"negotiator": {
"version": "0.6.1",
"bundled": true
},
"nopt": {
"version": "3.0.6",
"bundled": true,
"requires": {
"abbrev": "1.1.1"
}
},
"on-finished": {
"version": "2.3.0",
"bundled": true,
"requires": {
"ee-first": "1.1.1"
}
},
"on-headers": {
"version": "1.0.1",
"bundled": true
},
"once": {
"version": "1.4.0",
"bundled": true,
"requires": {
"wrappy": "1.0.2"
}
},
"opn": {
"version": "5.3.0",
"bundled": true,
"requires": {
"is-wsl": "1.1.0"
}
},
"parseurl": {
"version": "1.3.2",
"bundled": true
},
"path-is-absolute": {
"version": "1.0.1",
"bundled": true
},
"path-to-regexp": {
"version": "0.1.7",
"bundled": true
},
"plist": {
"version": "2.1.0",
"bundled": true,
"requires": {
"base64-js": "1.2.0",
"xmlbuilder": "8.2.2",
"xmldom": "0.1.27"
}
},
"proxy-addr": {
"version": "2.0.3",
"bundled": true,
"requires": {
"forwarded": "0.1.2",
"ipaddr.js": "1.6.0"
}
},
"q": {
"version": "1.5.1",
"bundled": true
},
"qs": {
"version": "6.5.1",
"bundled": true
},
"range-parser": {
"version": "1.2.0",
"bundled": true
},
"raw-body": {
"version": "2.3.2",
"bundled": true,
"requires": {
"bytes": "3.0.0",
"http-errors": "1.6.2",
"iconv-lite": "0.4.19",
"unpipe": "1.0.0"
},
"dependencies": {
"depd": {
"version": "1.1.1",
"bundled": true
},
"http-errors": {
"version": "1.6.2",
"bundled": true,
"requires": {
"depd": "1.1.1",
"inherits": "2.0.3",
"setprototypeof": "1.0.3",
"statuses": "1.4.0"
}
},
"setprototypeof": {
"version": "1.0.3",
"bundled": true
}
}
},
"safe-buffer": {
"version": "5.1.1",
"bundled": true
},
"sax": {
"version": "0.3.5",
"bundled": true
},
"send": {
"version": "0.16.2",
"bundled": true,
"requires": {
"debug": "2.6.9",
"depd": "1.1.2",
"destroy": "1.0.4",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"etag": "1.8.1",
"fresh": "0.5.2",
"http-errors": "1.6.3",
"mime": "1.4.1",
"ms": "2.0.0",
"on-finished": "2.3.0",
"range-parser": "1.2.0",
"statuses": "1.4.0"
}
},
"serve-static": {
"version": "1.13.2",
"bundled": true,
"requires": {
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"parseurl": "1.3.2",
"send": "0.16.2"
}
},
"setprototypeof": {
"version": "1.1.0",
"bundled": true
},
"shelljs": {
"version": "0.5.3",
"bundled": true
},
"statuses": {
"version": "1.4.0",
"bundled": true
},
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"requires": {
"ansi-regex": "2.1.1"
}
},
"supports-color": {
"version": "2.0.0",
"bundled": true
},
"type-is": {
"version": "1.6.16",
"bundled": true,
"requires": {
"media-typer": "0.3.0",
"mime-types": "2.1.18"
}
},
"underscore": {
"version": "1.9.1",
"bundled": true
},
"unorm": {
"version": "1.4.1",
"bundled": true
},
"unpipe": {
"version": "1.0.0",
"bundled": true
},
"utils-merge": {
"version": "1.0.1",
"bundled": true
},
"vary": {
"version": "1.1.2",
"bundled": true
},
"wrappy": {
"version": "1.0.2",
"bundled": true
},
"xmlbuilder": {
"version": "8.2.2",
"bundled": true
},
"xmldom": {
"version": "0.1.27",
"bundled": true
}
}
},
"cordova-plugin-device": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.2.tgz",
"integrity": "sha1-/Ajzci5n7ve2xnv8mag99q3Quro="
},
"cordova-plugin-ionic-keyboard": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.1.3.tgz",
"integrity": "sha512-6ucQ6FdlLdBm8kJfFnzozmBTjru/0xekHP/dAhjoCZggkGRlgs8TsUJFkxa/bV+qi7Dlo50JjmpE4UMWAO+aOQ=="
},
"cordova-plugin-ionic-webview": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-2.2.0.tgz",
"integrity": "sha512-mNTJaIRsz83Vntk2d3jrPCnlqEPQsfOJW6U2AzS7WV1T15Jj/STdXI/Uv1vIyvPVd9h1OLF+yu64ZsmQH2VRMQ=="
},
"cordova-plugin-splashscreen": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-5.0.2.tgz",
"integrity": "sha1-dH509W4gHNWFvGLRS8oZ9oZ/8e0="
},
"cordova-plugin-statusbar": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.2.tgz",
"integrity": "sha1-/B+9wNjXAzp+jh8ff/FnrJvU+vY="
},
"cordova-plugin-whitelist": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz",
"integrity": "sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",

@ -1,8 +1,8 @@
{
"name": "openSenseApp",
"version": "0.0.1",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"author": "Reedu GmbH",
"homepage": "https://reedu.de/",
"private": true,
"scripts": {
"start": "ionic-app-scripts serve",
@ -24,6 +24,14 @@
"@ionic-native/splash-screen": "~4.15.0",
"@ionic-native/status-bar": "~4.15.0",
"@ionic/storage": "2.2.0",
"cordova-android": "7.1.1",
"cordova-browser": "5.0.4",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^2.2.0",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"ionic-angular": "3.9.2",
"ionicons": "3.0.0",
"rxjs": "5.5.11",
@ -34,5 +42,21 @@
"@ionic/app-scripts": "3.2.0",
"typescript": "~2.6.2"
},
"description": "An Ionic project"
}
"description": "OpenSenseApps by IfGI 2018 App-Dev course.",
"cordova": {
"plugins": {
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {}
},
"platforms": [
"android",
"browser"
]
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 14 KiB

@ -0,0 +1 @@
41e1c536c5dfb47db1311f7335b357b3

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 92 KiB

@ -0,0 +1 @@
287a089b0cd0ff44dfda2fd7bd7ad812

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

@ -1,5 +1,5 @@
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { Component, ViewChild } from '@angular/core';
import { Nav, Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
@ -7,10 +7,21 @@ import { HomePage } from '../pages/home/home';
@Component({
templateUrl: 'app.html'
})
export class MyApp {
export class openSenseApp {
@ViewChild(Nav) nav: Nav;
rootPage:any = HomePage;
pages: Array<{title: string, component: any}> = [
{ title: 'Home', component: HomePage },
{ title: 'About', component: 'AboutPage' },
{ title: 'senseBox', component: 'SenseBoxPage' }
];
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
@ -18,5 +29,11 @@ export class MyApp {
splashScreen.hide();
});
}
openPage(page) {
// Reset the content nav to have just this page
// we wouldn't want the back button to show in this scenario
this.nav.setRoot(page.component);
}
}

@ -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>

@ -4,27 +4,31 @@ import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { MyApp } from './app.component';
import { openSenseApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { ApiProvider } from '../providers/api/api';
import { HttpClientModule } from '@angular/common/http';
@NgModule({
declarations: [
MyApp,
HomePage
openSenseApp,
HomePage,
],
imports: [
HttpClientModule,
BrowserModule,
IonicModule.forRoot(MyApp)
IonicModule.forRoot(openSenseApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
openSenseApp,
HomePage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
{provide: ErrorHandler, useClass: IonicErrorHandler},
ApiProvider
]
})
export class AppModule {}

@ -14,3 +14,16 @@
// To declare rules for a specific mode, create a child rule
// for the .md, .ios, or .wp mode classes. The mode class is
// automatically applied to the <body> element in the app.
.toolbar {
.toolbar-title {
color: white;
}
.button-inner {
color: white;
}
.toolbar-background {
background: map-get($colors, primary);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

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

@ -2,12 +2,12 @@
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<title>Ionic App</title>
<title>openSenseApp</title>
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
<link rel="icon" type="image/x-icon" href="assets/icon/favicon.png">
<link rel="manifest" href="manifest.json">
<meta name="theme-color" content="#4e8ef7">

@ -1,11 +1,11 @@
{
"name": "Ionic",
"short_name": "Ionic",
"name": "openSenseApp",
"short_name": "openSenseApp",
"start_url": "index.html",
"display": "standalone",
"icons": [{
"src": "assets/imgs/logo.png",
"sizes": "512x512",
"sizes": "377x376",
"type": "image/png"
}],
"background_color": "#4e8ef7",

@ -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}} &nbsp; {{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`);
}
}

@ -33,15 +33,19 @@ $app-direction: ltr;
// colors so you can add, rename and remove colors as needed.
// The "primary" color is the only required color in the map.
$colors: (
primary: #488aff,
secondary: #32db64,
primary: #4EAF47,
secondary: #45beed,
yellow: #fff200,
danger: #f53d3d,
light: #f4f4f4,
dark: #222
);
// App iOS Variables
// --------------------------------------------------
// iOS only Sass variables can go here

@ -0,0 +1,3 @@
/// <reference path="../.vscode/typings/cordova-ionic/plugins/keyboard.d.ts"/>
/// <reference path="../.vscode/typings/jquery/jquery.d.ts"/>
Loading…
Cancel
Save