web: add filter to measures page, cleanup styling.
This commit is contained in:
parent
b83550f70f
commit
e5aa942e31
@ -1,6 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="measure-summary" :data-name="'measure-' + measure.slug">
|
<div v-if="measure.config.isVisible" class="measure-summary" :data-name="'measure-' + measure.slug">
|
||||||
<h2>{{measure.name}}</h2>
|
<h2><router-link
|
||||||
|
:to="'/measures/' + measure.slug">
|
||||||
|
{{measure.name}}</router-link></h2>
|
||||||
<SimpleSummaryGraph v-if="measure.config.type === 'simple'"
|
<SimpleSummaryGraph v-if="measure.config.type === 'simple'"
|
||||||
:measure=measure :measurements=measurements />
|
:measure=measure :measurements=measurements />
|
||||||
<ListSummary v-if="measure.config.type === 'list'"
|
<ListSummary v-if="measure.config.type === 'list'"
|
||||||
|
@ -3,7 +3,13 @@
|
|||||||
.measure-summary {
|
.measure-summary {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
border-bottom: solid thin $fg-primary;
|
border-bottom: solid thin $fg-primary;
|
||||||
|
|
||||||
|
& > a {
|
||||||
|
color: $fg-primary;
|
||||||
|
cursor: pointer;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
web/src/models.d.ts
vendored
1
web/src/models.d.ts
vendored
@ -16,6 +16,7 @@ export interface LoginSubmit {
|
|||||||
|
|
||||||
export interface MeasureConfig {
|
export interface MeasureConfig {
|
||||||
type: MeasureType;
|
type: MeasureType;
|
||||||
|
isVisible: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ListMeasureConfig extends MeasureConfig { }
|
export interface ListMeasureConfig extends MeasureConfig { }
|
||||||
|
@ -2,15 +2,23 @@
|
|||||||
<div id="measures">
|
<div id="measures">
|
||||||
<div class=header-action>
|
<div class=header-action>
|
||||||
<h1>Things You Are Measuring</h1>
|
<h1>Things You Are Measuring</h1>
|
||||||
<button class=btn-action>Add Measure</button>
|
<input
|
||||||
|
type=text
|
||||||
|
name=measureFilter
|
||||||
|
placeholder='filter by name...'
|
||||||
|
v-model=filter />
|
||||||
|
<router-link to=/new/measure class=btn-action>Add Measure</router-link>
|
||||||
|
</div>
|
||||||
|
<div class=measure-list>
|
||||||
|
<MeasureSummary
|
||||||
|
v-for="(measure, slug) in measures"
|
||||||
|
v-show="measure.slug.startsWith(filter)"
|
||||||
|
:measure=measure />
|
||||||
|
<!--<MeasureSummary
|
||||||
|
v-for="(measure, slug) in measures"
|
||||||
|
:key="slug"
|
||||||
|
:measure=measure />-->
|
||||||
</div>
|
</div>
|
||||||
<MeasureSummary
|
|
||||||
v-for="(measure, slug) in measures"
|
|
||||||
:measure=measure />
|
|
||||||
<!--<MeasureSummary
|
|
||||||
v-for="(measure, slug) in measures"
|
|
||||||
:key="slug"
|
|
||||||
:measure=measure />-->
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" src="./measures.ts"></script>
|
<script lang="ts" src="./measures.ts"></script>
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
#measures {
|
@import '~@/styles/vars';
|
||||||
flex-grow: 1;
|
|
||||||
|
.header-action {
|
||||||
|
input {
|
||||||
|
border: solid 2px $color1;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: 2rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import { measureStore } from '@/store';
|
|||||||
})
|
})
|
||||||
export class Measures extends Vue {
|
export class Measures extends Vue {
|
||||||
private get measures() { return measureStore.measures; }
|
private get measures() { return measureStore.measures; }
|
||||||
|
private filter: string = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Measures;
|
export default Measures;
|
||||||
|
@ -13,7 +13,7 @@ library.add(faAngleDoubleLeft, faAngleDoubleRight, faHome, faPencilRuler, faThLa
|
|||||||
// UiIconButton
|
// UiIconButton
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
export default class NavBar extends Vue {
|
export class NavBar extends Vue {
|
||||||
private collapsed: boolean;
|
private collapsed: boolean;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -29,3 +29,5 @@ export default class NavBar extends Vue {
|
|||||||
public get user() { return userStore.user; }
|
public get user() { return userStore.user; }
|
||||||
public get measures() { return measureStore.measures; }
|
public get measures() { return measureStore.measures; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default NavBar;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user