update design build
This commit is contained in:
@@ -35,6 +35,6 @@ class EnergyComponent extends React.Component {
|
||||
return energyRt.call(this);
|
||||
}
|
||||
}
|
||||
EnergyComponent.NAME = 'EnergyComponent'
|
||||
EnergyComponent.NAME = 'Energy';
|
||||
|
||||
module.exports = EnergyComponent;
|
||||
|
||||
@@ -70,4 +70,6 @@ class GraphComponent extends React.Component {
|
||||
|
||||
}
|
||||
|
||||
GraphComponent.NAME = 'EnergyGraph';
|
||||
|
||||
module.exports = GraphComponent;
|
||||
|
||||
@@ -20,4 +20,6 @@ class TableComponent extends React.Component {
|
||||
|
||||
}
|
||||
|
||||
TableComponent.NAME = 'EnergyTable';
|
||||
|
||||
module.exports = TableComponent;
|
||||
|
||||
@@ -26,6 +26,14 @@ class LayoutComponent extends React.Component {
|
||||
return this.state_manager && this.state_manager.state.house;
|
||||
}
|
||||
|
||||
get should_show_energy_data(){
|
||||
return this.state.dataset === 'energy' && this.house && this.house.energy_data;
|
||||
}
|
||||
|
||||
get should_show_power_data(){
|
||||
return this.state.dataset === 'power' && this.house && this.house.power_data;
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
var layout = this;
|
||||
House.ensureHouses().then((houses)=>{
|
||||
@@ -83,4 +91,6 @@ class LayoutComponent extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
export default LayoutComponent;
|
||||
LayoutComponent.NAME = 'Layout';
|
||||
|
||||
module.exports = LayoutComponent;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<rt-require dependency="./../energy/energy.component" as="EnergyComponent"/>
|
||||
<rt-require dependency="./../power/power.component" as="PowerComponent"/>
|
||||
<rt-require dependency="./../energy/energy.component" as="Energy"/>
|
||||
<rt-require dependency="./../power/power.component" as="Power"/>
|
||||
<div id="layout">
|
||||
<div rt-if="!this.house" id="about">
|
||||
<div class="panel panel-default">
|
||||
@@ -75,16 +75,16 @@
|
||||
</div>
|
||||
</div><br/>
|
||||
|
||||
<EnergyComponent
|
||||
rt-if="this.state.dataset === 'energy'"
|
||||
<Energy
|
||||
rt-if="this.should_show_energy_data"
|
||||
house="{this.state.house}"
|
||||
loading_energy_data="{this.state.loading_energy_data}"
|
||||
state_manager="{this.state_manager}"
|
||||
view="{this.state.view}"
|
||||
graph_attr="{this.state.graph_attr}"
|
||||
year="{this.state.year}" />
|
||||
<PowerComponent
|
||||
rt-if="this.state.dataset === 'power'"
|
||||
<Power
|
||||
rt-if="this.should_show_power_data"
|
||||
house="{this.state.house}"
|
||||
loading_power_data="{this.state.loading_power_data}"
|
||||
state_manager="{this.state_manager}"
|
||||
|
||||
@@ -6,11 +6,6 @@ import SplineStackChart from './../../../d3/line/spline_stack';
|
||||
|
||||
class GraphComponent extends React.Component {
|
||||
|
||||
componentDidMount(){
|
||||
var power_graph = this;
|
||||
power_graph.updateGraph();
|
||||
}
|
||||
|
||||
get house(){
|
||||
return this.state_manager.state.house;
|
||||
}
|
||||
@@ -19,6 +14,11 @@ class GraphComponent extends React.Component {
|
||||
return this.props.state_manager;
|
||||
}
|
||||
|
||||
componentDidMount(){
|
||||
var power_graph = this;
|
||||
power_graph.updateGraph();
|
||||
}
|
||||
|
||||
componentDidUpdate(prev_props, prev_state){
|
||||
var power_graph = this;
|
||||
if (prev_props.house != power_graph.props.house || prev_props.power_range != power_graph.props.power_range){
|
||||
@@ -84,4 +84,6 @@ class GraphComponent extends React.Component {
|
||||
|
||||
}
|
||||
|
||||
GraphComponent.NAME = 'PowerGraph';
|
||||
|
||||
module.exports = GraphComponent;
|
||||
|
||||
@@ -37,8 +37,8 @@ class PowerComponent extends React.Component {
|
||||
componentDidUpdate(prev_props, prev_state){
|
||||
var power = this,
|
||||
state_manager = power.state_manager;
|
||||
if (prev_props.month != power.props.month ||
|
||||
prev_props.year != power.props.year ||
|
||||
if (prev_props.power_range[0] != power.props.power_range[0] ||
|
||||
prev_props.power_range[1] != power.props.power_range[1] ||
|
||||
prev_props.house != power.props.house){
|
||||
power.initDateRange();
|
||||
state_manager.powerDataRendered();
|
||||
@@ -101,6 +101,6 @@ class PowerComponent extends React.Component {
|
||||
|
||||
}
|
||||
|
||||
PowerComponent.NAME = 'PowerComponent'
|
||||
PowerComponent.NAME = 'Power';
|
||||
|
||||
module.exports = PowerComponent
|
||||
module.exports = PowerComponent;
|
||||
|
||||
@@ -19,4 +19,6 @@ class TableComponent extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
TableComponent.NAME = 'PowerTable';
|
||||
|
||||
module.exports = TableComponent;
|
||||
|
||||
@@ -44,7 +44,7 @@ class StateManager {
|
||||
}
|
||||
|
||||
// This will update the house state acccording to passed update parameters.
|
||||
updateHouseFromState(component){
|
||||
updateHouseFromState(component, fnResolve){
|
||||
var state_manager = this,
|
||||
house = state_manager.state.house,
|
||||
promise;
|
||||
@@ -133,26 +133,23 @@ class StateManager {
|
||||
|
||||
updateStateFromUrl(location, component){
|
||||
var state_manager = this;
|
||||
return new Promise((fnResolve, fnReject)=>{
|
||||
var params = state_manager.parseUrl(location.pathname),
|
||||
house = null;
|
||||
if (params.dataset === 'power' && location.query.dates) {
|
||||
params.power_range = [+location.query.dates[0], +location.query.dates[1]];
|
||||
}
|
||||
if (params.house_id || params.house_id != state_manager.state.house_id){
|
||||
house = state_manager.houses.find((h)=>{ return h.data.id == params.house_id; });
|
||||
}
|
||||
state_manager.state.house = house;
|
||||
Object.assign(state_manager.state, params);
|
||||
if (state_manager.state.house_id) {
|
||||
state_manager.updateHouseFromState(component);
|
||||
} else {
|
||||
component.syncFromStateManager(()=>{
|
||||
state_manager.update_in_progress = false;
|
||||
fnResolve();
|
||||
});
|
||||
}
|
||||
});
|
||||
var params = state_manager.parseUrl(location.pathname),
|
||||
house = null;
|
||||
if (params.dataset === 'power' && location.query.dates) {
|
||||
params.power_range = [+location.query.dates[0], +location.query.dates[1]];
|
||||
}
|
||||
if (params.house_id || params.house_id != state_manager.state.house_id){
|
||||
house = state_manager.houses.find((h)=>{ return h.data.id == params.house_id; });
|
||||
}
|
||||
state_manager.state.house = house;
|
||||
Object.assign(state_manager.state, params);
|
||||
if (state_manager.state.house_id) {
|
||||
state_manager.updateHouseFromState(component);
|
||||
} else {
|
||||
component.syncFromStateManager(()=>{
|
||||
state_manager.update_in_progress = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
parseUrl(url, query){
|
||||
|
||||
Reference in New Issue
Block a user