mirror of
https://github.com/beestat/app.git
synced 2025-07-09 03:04:07 -04:00
Updated compare tab to support area unit setting
This commit is contained in:
parent
88ad7fc177
commit
ad7fe5d9b7
@ -5,7 +5,7 @@
|
|||||||
* area (required) - area to work with
|
* area (required) - area to work with
|
||||||
* output_area_unit (optional, default ft) - Output area unit; default matches setting.
|
* output_area_unit (optional, default ft) - Output area unit; default matches setting.
|
||||||
* convert (optional, default true) - Whether or not to convert to Celcius if necessary
|
* convert (optional, default true) - Whether or not to convert to Celcius if necessary
|
||||||
* round (optional, default 1) - Number of decimal points to round to
|
* round (optional, default 0) - Number of decimal points to round to
|
||||||
* units (optional, default false) - Whether or not to include units in the result
|
* units (optional, default false) - Whether or not to include units in the result
|
||||||
* type (optional, default number) - Type of value to return (string|number)
|
* type (optional, default number) - Type of value to return (string|number)
|
||||||
*
|
*
|
||||||
@ -19,12 +19,15 @@ beestat.area = function(args) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const input_area_unit = 'in²';
|
var input_area_unit = beestat.default_value(
|
||||||
|
args.input_area_unit,
|
||||||
|
'ft²'
|
||||||
|
);
|
||||||
var output_area_unit = beestat.default_value(
|
var output_area_unit = beestat.default_value(
|
||||||
args.output_area_unit,
|
args.output_area_unit,
|
||||||
beestat.setting('units.area')
|
beestat.setting('units.area')
|
||||||
);
|
);
|
||||||
var round = beestat.default_value(args.round, 1);
|
var round = beestat.default_value(args.round, 0);
|
||||||
var units = beestat.default_value(args.units, false);
|
var units = beestat.default_value(args.units, false);
|
||||||
var type = beestat.default_value(args.type, 'number');
|
var type = beestat.default_value(args.type, 'number');
|
||||||
|
|
||||||
@ -39,6 +42,10 @@ beestat.area = function(args) {
|
|||||||
'in²': {
|
'in²': {
|
||||||
'ft²': 0.00694444,
|
'ft²': 0.00694444,
|
||||||
'm²': 0.00064516
|
'm²': 0.00064516
|
||||||
|
},
|
||||||
|
'ft²': {
|
||||||
|
'in²': 144,
|
||||||
|
'm²': 0.092903
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -186,7 +186,12 @@ beestat.component.card.my_home.prototype.decorate_property_ = function(parent) {
|
|||||||
.set_background_color(beestat.style.color.purple.base)
|
.set_background_color(beestat.style.color.purple.base)
|
||||||
.set_text_color('#fff')
|
.set_text_color('#fff')
|
||||||
.set_icon('view_quilt')
|
.set_icon('view_quilt')
|
||||||
.set_text(Number(thermostat.property.square_feet).toLocaleString() + ' ft²'));
|
.set_text(beestat.area({
|
||||||
|
'area': thermostat.property.square_feet,
|
||||||
|
'units': true,
|
||||||
|
'round': 0
|
||||||
|
}))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (thermostat.property.age !== null) {
|
if (thermostat.property.age !== null) {
|
||||||
|
@ -658,6 +658,7 @@ beestat.component.floor_plan.prototype.update_infobox = function() {
|
|||||||
parts.push(this.state_.active_room_entity.get_room().name || 'Unnamed Room');
|
parts.push(this.state_.active_room_entity.get_room().name || 'Unnamed Room');
|
||||||
parts.push(
|
parts.push(
|
||||||
beestat.area({
|
beestat.area({
|
||||||
|
'input_area_unit': 'in²',
|
||||||
'area': beestat.floor_plan.get_area_room(this.state_.active_room_entity.get_room()),
|
'area': beestat.floor_plan.get_area_room(this.state_.active_room_entity.get_room()),
|
||||||
'round': 0,
|
'round': 0,
|
||||||
'units': true
|
'units': true
|
||||||
@ -667,6 +668,7 @@ beestat.component.floor_plan.prototype.update_infobox = function() {
|
|||||||
parts.push(this.state_.active_group.name || 'Unnamed Floor');
|
parts.push(this.state_.active_group.name || 'Unnamed Floor');
|
||||||
parts.push(
|
parts.push(
|
||||||
beestat.area({
|
beestat.area({
|
||||||
|
'input_area_unit': 'in²',
|
||||||
'area': beestat.floor_plan.get_area_group(this.state_.active_group),
|
'area': beestat.floor_plan.get_area_group(this.state_.active_group),
|
||||||
'round': 0,
|
'round': 0,
|
||||||
'units': true
|
'units': true
|
||||||
|
@ -6,6 +6,14 @@ beestat.component.metric = function() {
|
|||||||
};
|
};
|
||||||
beestat.extend(beestat.component.metric, beestat.component);
|
beestat.extend(beestat.component.metric, beestat.component);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether or not this is an area value. If so, do the appropriate conversion
|
||||||
|
* on display.
|
||||||
|
*
|
||||||
|
* @type {boolean}
|
||||||
|
*/
|
||||||
|
beestat.component.metric.prototype.is_area_ = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not this is a temperature value. If so, do the appropriate
|
* Whether or not this is a temperature value. If so, do the appropriate
|
||||||
* conversion on display.
|
* conversion on display.
|
||||||
@ -249,6 +257,10 @@ beestat.component.metric.prototype.get_formatter_ = function() {
|
|||||||
'temperature': value,
|
'temperature': value,
|
||||||
'delta': self.is_temperature_delta_
|
'delta': self.is_temperature_delta_
|
||||||
});
|
});
|
||||||
|
} else if (self.is_area_ === true) {
|
||||||
|
return_value = beestat.area({
|
||||||
|
'area': value
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return return_value.toFixed(self.get_precision_()) + self.get_units_();
|
return return_value.toFixed(self.get_precision_()) + self.get_units_();
|
||||||
};
|
};
|
||||||
|
@ -12,13 +12,15 @@ beestat.extend(beestat.component.metric.property.square_feet, beestat.component.
|
|||||||
|
|
||||||
beestat.component.metric.property.square_feet.prototype.child_metric_name_ = 'square_feet';
|
beestat.component.metric.property.square_feet.prototype.child_metric_name_ = 'square_feet';
|
||||||
|
|
||||||
|
beestat.component.metric.property.square_feet.prototype.is_area_ = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the units for this metric.
|
* Get the units for this metric.
|
||||||
*
|
*
|
||||||
* @return {string} The units for this metric.
|
* @return {string} The units for this metric.
|
||||||
*/
|
*/
|
||||||
beestat.component.metric.property.square_feet.prototype.get_units_ = function() {
|
beestat.component.metric.property.square_feet.prototype.get_units_ = function() {
|
||||||
return 'ft²';
|
return beestat.setting('units.area');
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -27,10 +29,11 @@ beestat.component.metric.property.square_feet.prototype.get_units_ = function()
|
|||||||
* @return {mixed} A function that formats the string.
|
* @return {mixed} A function that formats the string.
|
||||||
*/
|
*/
|
||||||
beestat.component.metric.property.square_feet.prototype.get_formatter_ = function() {
|
beestat.component.metric.property.square_feet.prototype.get_formatter_ = function() {
|
||||||
var self = this;
|
return function(value) {
|
||||||
|
return beestat.area({
|
||||||
return function(value, precision) {
|
'area': value,
|
||||||
return value.toLocaleString() + self.get_units_();
|
'units': true
|
||||||
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -40,7 +43,7 @@ beestat.component.metric.property.square_feet.prototype.get_formatter_ = functio
|
|||||||
* @return {string} The title of this metric.
|
* @return {string} The title of this metric.
|
||||||
*/
|
*/
|
||||||
beestat.component.metric.property.square_feet.prototype.get_title_ = function() {
|
beestat.component.metric.property.square_feet.prototype.get_title_ = function() {
|
||||||
return 'Square Feet';
|
return 'Area';
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -59,7 +62,7 @@ beestat.component.metric.property.square_feet.prototype.get_icon_ = function() {
|
|||||||
* @return {object} The cutoff value.
|
* @return {object} The cutoff value.
|
||||||
*/
|
*/
|
||||||
beestat.component.metric.property.square_feet.prototype.get_cutoff_min_ = function() {
|
beestat.component.metric.property.square_feet.prototype.get_cutoff_min_ = function() {
|
||||||
return 500;
|
return beestat.setting('units.area') === 'ft²' ? 500 : 50;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,5 +71,5 @@ beestat.component.metric.property.square_feet.prototype.get_cutoff_min_ = functi
|
|||||||
* @return {number} The interval.
|
* @return {number} The interval.
|
||||||
*/
|
*/
|
||||||
beestat.component.metric.property.square_feet.prototype.get_interval_ = function() {
|
beestat.component.metric.property.square_feet.prototype.get_interval_ = function() {
|
||||||
return 500;
|
return beestat.setting('units.area') === 'ft²' ? 500 : 50;
|
||||||
};
|
};
|
||||||
|
@ -33,6 +33,7 @@ beestat.component.tile.floor_plan.prototype.get_text_ = function() {
|
|||||||
line_2_parts.push(floor_count + (floor_count === 1 ? ' Floor' : ' Floors'));
|
line_2_parts.push(floor_count + (floor_count === 1 ? ' Floor' : ' Floors'));
|
||||||
line_2_parts.push(
|
line_2_parts.push(
|
||||||
beestat.area({
|
beestat.area({
|
||||||
|
'input_area_unit': 'in²',
|
||||||
'area': beestat.floor_plan.get_area(this.floor_plan_id_),
|
'area': beestat.floor_plan.get_area(this.floor_plan_id_),
|
||||||
'round': 0,
|
'round': 0,
|
||||||
'units': true
|
'units': true
|
||||||
|
@ -30,6 +30,7 @@ beestat.component.tile.floor_plan_group.prototype.get_text_ = function() {
|
|||||||
line_2_parts.push(room_count + (room_count === 1 ? ' Room' : ' Rooms'));
|
line_2_parts.push(room_count + (room_count === 1 ? ' Room' : ' Rooms'));
|
||||||
line_2_parts.push(
|
line_2_parts.push(
|
||||||
beestat.area({
|
beestat.area({
|
||||||
|
'input_area_unit': 'in²',
|
||||||
'area': beestat.floor_plan.get_area_group(this.floor_plan_group_),
|
'area': beestat.floor_plan.get_area_group(this.floor_plan_group_),
|
||||||
'round': 0,
|
'round': 0,
|
||||||
'units': true
|
'units': true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user