added table controls
This commit is contained in:
57
package-lock.json
generated
57
package-lock.json
generated
@@ -713,11 +713,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "4.0.13",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
|
||||
"integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==",
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@@ -735,6 +734,18 @@
|
||||
"acorn": "^4.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-globals/node_modules/acorn": {
|
||||
"version": "4.0.13",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
|
||||
"integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-import-phases": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
|
||||
@@ -3261,6 +3272,18 @@
|
||||
"object-assign": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/is-expression/node_modules/acorn": {
|
||||
"version": "4.0.13",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
|
||||
"integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-extglob": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||
@@ -5861,19 +5884,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/terser/node_modules/acorn": {
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/terser/node_modules/commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
@@ -6375,19 +6385,6 @@
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/acorn": {
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/websocket-driver": {
|
||||
"version": "0.7.4",
|
||||
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
|
||||
|
||||
188
src/pages/table.pug
Normal file
188
src/pages/table.pug
Normal file
@@ -0,0 +1,188 @@
|
||||
include ../components/mixins.pug
|
||||
|
||||
head
|
||||
title table
|
||||
|
||||
body
|
||||
+navbarMixin("Table")
|
||||
|
||||
.table-controls
|
||||
details.filters
|
||||
summary.filters__summary Filters
|
||||
form.filters__form
|
||||
fieldset.filters__fieldset
|
||||
.filter-group
|
||||
i.filter-group__label
|
||||
b Location
|
||||
br
|
||||
.filter-group__items
|
||||
input.filter-group__checkbox(type="checkbox" id="loc_kitchen" name="location" value="Kitchen")
|
||||
| Kitchen
|
||||
br
|
||||
input.filter-group__checkbox(type="checkbox" id="loc_living" name="location" value="Living Room")
|
||||
| Living Room
|
||||
br
|
||||
input.filter-group__checkbox(type="checkbox" id="loc_balcony" name="location" value="Balcony")
|
||||
| Balcony
|
||||
br
|
||||
input.filter-group__checkbox(type="checkbox" id="loc_bedroom" name="location" value="Bedroom")
|
||||
| Bedroom
|
||||
br
|
||||
|
||||
.filter-group
|
||||
i.filter-group__label
|
||||
b Sensor Type
|
||||
br
|
||||
.filter-group__items
|
||||
input.filter-group__checkbox(type="checkbox" id="type_xiaomi" name="sensor_type" value="Xiaomi")
|
||||
| Xiaomi
|
||||
br
|
||||
input.filter-group__checkbox(type="checkbox" id="type_bmp220" name="sensor_type" value="Bmp220")
|
||||
| Bmp220
|
||||
br
|
||||
input.filter-group__checkbox(type="checkbox" id="type_scd30" name="sensor_type" value="Scd30(Internal)")
|
||||
| Scd30(Internal)
|
||||
br
|
||||
input.filter-group__checkbox(type="checkbox" id="type_bmp280" name="sensor_type" value="Bmp280")
|
||||
| Bmp280
|
||||
br
|
||||
|
||||
.filter-group
|
||||
i.filter-group__label
|
||||
b Numeric Values
|
||||
br
|
||||
.filter-group__range
|
||||
| Temperature from:
|
||||
input.filter-group__input(type="number" name="temp_min" placeholder="20")
|
||||
| to:
|
||||
input.filter-group__input(type="number" name="temp_max" placeholder="30")
|
||||
br
|
||||
| Humidity from:
|
||||
input.filter-group__input(type="number" name="humidity_min" placeholder="40")
|
||||
| to:
|
||||
input.filter-group__input(type="number" name="humidity_max" placeholder="60")
|
||||
br
|
||||
|
||||
.filter-group
|
||||
i.filter-group__label
|
||||
b Device Specific Filters
|
||||
br
|
||||
.filter-group__items
|
||||
| Sensor Name:
|
||||
input.filter-group__input(type="text" name="sensor_name")
|
||||
br
|
||||
| Days Since Calibration (max):
|
||||
input.filter-group__input(type="number" name="calibration_days" placeholder="30")
|
||||
br
|
||||
|
||||
.filter-group
|
||||
i.filter-group__label
|
||||
b Measurement Period
|
||||
br
|
||||
.filter-group__dates
|
||||
| From:
|
||||
input.filter-group__input(type="date" name="date_from")
|
||||
br
|
||||
| To:
|
||||
input.filter-group__input(type="date" name="date_to")
|
||||
br
|
||||
|
||||
.filter-group__buttons
|
||||
input.filter-group__button.filter-group__button--submit(type="submit" value="Apply Filters")
|
||||
input.filter-group__button.filter-group__button--reset(type="reset" value="Reset Filters")
|
||||
|
||||
details.sorting
|
||||
summary.sorting__summary Sortings
|
||||
form.sorting__form
|
||||
fieldset.sorting__fieldset
|
||||
.sort-level
|
||||
i.sort-level__label
|
||||
b Sort Level 1
|
||||
br
|
||||
label.sort-level__field-label(for="sort1") Field:
|
||||
select.sort-level__select(id="sort1" name="sort1")
|
||||
option(value="") -- None --
|
||||
option(value="SensorID") SensorID
|
||||
option(value="Timestamp") Time
|
||||
option(value="BatteryLevel") BatteryLevel
|
||||
option(value="Temperature") Temperature
|
||||
option(value="Humidity") Humidity
|
||||
label.sort-level__reverse-label(for="sort1_reverse")
|
||||
input.sort-level__checkbox(type="checkbox" id="sort1_reverse" name="sort1_reverse")
|
||||
| Reverse
|
||||
br
|
||||
br
|
||||
|
||||
.sort-level
|
||||
i.sort-level__label
|
||||
b Sort Level 2
|
||||
br
|
||||
label.sort-level__field-label(for="sort2") Field:
|
||||
select.sort-level__select(id="sort2" name="sort2")
|
||||
option(value="") -- None --
|
||||
option(value="SensorID") SensorID
|
||||
option(value="Timestamp") Time
|
||||
option(value="BatteryLevel") BatteryLevel
|
||||
option(value="Temperature") Temperature
|
||||
option(value="Humidity") Humidity
|
||||
label.sort-level__reverse-label(for="sort2_reverse")
|
||||
input.sort-level__checkbox(type="checkbox" id="sort2_reverse" name="sort2_reverse")
|
||||
| Reverse
|
||||
br
|
||||
br
|
||||
|
||||
.sort-level
|
||||
i.sort-level__label
|
||||
b Sort Level 3
|
||||
br
|
||||
label.sort-level__field-label(for="sort3") Field:
|
||||
select.sort-level__select(id="sort3" name="sort3")
|
||||
option(value="") -- None --
|
||||
option(value="SensorID") SensorID
|
||||
option(value="Timestamp") Time
|
||||
option(value="BatteryLevel") BatteryLevel
|
||||
option(value="Temperature") Temperature
|
||||
option(value="Humidity") Humidity
|
||||
label.sort-level__reverse-label(for="sort3_reverse")
|
||||
input.sort-level__checkbox(type="checkbox" id="sort3_reverse" name="sort3_reverse")
|
||||
| Reverse
|
||||
br
|
||||
input.sort-level__submit(type="submit" value="Sort")
|
||||
|
||||
details.graph
|
||||
summary.graph__summary Graph
|
||||
form.graph__form
|
||||
fieldset.graph__fieldset
|
||||
.axis-group
|
||||
i.axis-group__label
|
||||
b X axis
|
||||
br
|
||||
.axis-group__options
|
||||
input.axis-group__radio(type="radio" id="x_time" name="x_axis" value="Time" checked)
|
||||
label.axis-group__option-label(for="x_time") Time
|
||||
br
|
||||
input.axis-group__radio(type="radio" id="x_battery" name="x_axis" value="BatteryLevel")
|
||||
label.axis-group__option-label(for="x_battery") BatteryLevel
|
||||
br
|
||||
input.axis-group__radio(type="radio" id="x_temperature" name="x_axis" value="Temperature")
|
||||
label.axis-group__option-label(for="x_temperature") Temperature
|
||||
br
|
||||
input.axis-group__radio(type="radio" id="x_humidity" name="x_axis" value="Humidity")
|
||||
label.axis-group__option-label(for="x_humidity") Humidity
|
||||
br
|
||||
|
||||
.values-group
|
||||
i.values-group__label
|
||||
b Values
|
||||
br
|
||||
.values-group__options
|
||||
input.values-group__checkbox(type="checkbox" id="val_temperature" name="values" value="AverageTemperature" checked)
|
||||
label.values-group__option-label(for="val_temperature") Average Temperature
|
||||
br
|
||||
input.values-group__checkbox(type="checkbox" id="val_humidity" name="values" value="Humidity")
|
||||
label.values-group__option-label(for="val_humidity") Average Humidity
|
||||
br
|
||||
input.values-group__checkbox(type="checkbox" id="val_battery" name="values" value="BatteryLevel")
|
||||
label.values-group__option-label(for="val_battery") Average BatteryLevel
|
||||
br
|
||||
button.values-group__button(type="submit" id="build_graph" name="build_graph") Build
|
||||
Reference in New Issue
Block a user