UI: Add new unit definition
This commit is contained in:
parent
2d9d43f068
commit
f5f794191d
@ -19,6 +19,9 @@ import acceleration, { AccelerationUnits } from '@core/services/unit/definitions
|
|||||||
import angle, { AngleUnits } from '@core/services/unit/definitions/angle';
|
import angle, { AngleUnits } from '@core/services/unit/definitions/angle';
|
||||||
import angularAcceleration, { AngularAccelerationUnits } from '@core/services/unit/definitions/angular-acceleration';
|
import angularAcceleration, { AngularAccelerationUnits } from '@core/services/unit/definitions/angular-acceleration';
|
||||||
import area, { AreaUnits } from '@core/services/unit/definitions/area';
|
import area, { AreaUnits } from '@core/services/unit/definitions/area';
|
||||||
|
import charge, { ChargeUnits } from '@core/services/unit/definitions/charge';
|
||||||
|
import digital, { DigitalUnits } from '@core/services/unit/definitions/digital';
|
||||||
|
import electricCurrent, { ElectricCurrentUnits } from '@core/services/unit/definitions/electric-current';
|
||||||
import temperature, { TemperatureUnits } from './temperature';
|
import temperature, { TemperatureUnits } from './temperature';
|
||||||
import time, { TimeUnits } from './time';
|
import time, { TimeUnits } from './time';
|
||||||
|
|
||||||
@ -27,6 +30,9 @@ export type AllMeasuresUnits =
|
|||||||
| AngleUnits
|
| AngleUnits
|
||||||
| AngularAccelerationUnits
|
| AngularAccelerationUnits
|
||||||
| AreaUnits
|
| AreaUnits
|
||||||
|
| ChargeUnits
|
||||||
|
| DigitalUnits
|
||||||
|
| ElectricCurrentUnits
|
||||||
| TemperatureUnits
|
| TemperatureUnits
|
||||||
| TimeUnits;
|
| TimeUnits;
|
||||||
|
|
||||||
@ -35,6 +41,9 @@ export type AllMeasures =
|
|||||||
| 'angle'
|
| 'angle'
|
||||||
| 'angular-acceleration'
|
| 'angular-acceleration'
|
||||||
| 'area'
|
| 'area'
|
||||||
|
| 'charge'
|
||||||
|
| 'digital'
|
||||||
|
| 'electric-current'
|
||||||
| 'temperature'
|
| 'temperature'
|
||||||
| 'time';
|
| 'time';
|
||||||
|
|
||||||
@ -46,6 +55,9 @@ const allMeasures: Record<
|
|||||||
angle,
|
angle,
|
||||||
'angular-acceleration': angularAcceleration,
|
'angular-acceleration': angularAcceleration,
|
||||||
area,
|
area,
|
||||||
|
charge,
|
||||||
|
digital,
|
||||||
|
'electric-current': electricCurrent,
|
||||||
temperature,
|
temperature,
|
||||||
time,
|
time,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -16,11 +16,11 @@
|
|||||||
|
|
||||||
import { TbMeasure, TbMeasureUnits } from '@shared/models/unit.models';
|
import { TbMeasure, TbMeasureUnits } from '@shared/models/unit.models';
|
||||||
|
|
||||||
export type AngleUnits = AngleSIUnits;
|
export type AngleUnits = AngleMetricUnits;
|
||||||
|
|
||||||
export type AngleSIUnits = 'rad' | 'deg' | 'grad' | 'arcmin' | 'arcsec' | 'mil' | 'rev';
|
export type AngleMetricUnits = 'rad' | 'deg' | 'grad' | 'arcmin' | 'arcsec' | 'mil' | 'rev';
|
||||||
|
|
||||||
const METRIC: TbMeasureUnits<AngleSIUnits> = {
|
const METRIC: TbMeasureUnits<AngleMetricUnits> = {
|
||||||
units: {
|
units: {
|
||||||
rad: {
|
rad: {
|
||||||
name: 'unit.rad',
|
name: 'unit.rad',
|
||||||
|
|||||||
57
ui-ngx/src/app/core/services/unit/definitions/charge.ts
Normal file
57
ui-ngx/src/app/core/services/unit/definitions/charge.ts
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
///
|
||||||
|
/// Copyright © 2016-2025 The Thingsboard Authors
|
||||||
|
///
|
||||||
|
/// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
/// you may not use this file except in compliance with the License.
|
||||||
|
/// You may obtain a copy of the License at
|
||||||
|
///
|
||||||
|
/// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
///
|
||||||
|
/// Unless required by applicable law or agreed to in writing, software
|
||||||
|
/// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
/// See the License for the specific language governing permissions and
|
||||||
|
/// limitations under the License.
|
||||||
|
///
|
||||||
|
|
||||||
|
import { TbMeasure, TbMeasureUnits } from '@shared/models/unit.models';
|
||||||
|
|
||||||
|
export type ChargeUnits = ChargeMetricUnits;
|
||||||
|
|
||||||
|
export type ChargeMetricUnits = 'c' | 'mC' | 'μC' | 'nC' | 'pC';
|
||||||
|
|
||||||
|
const METRIC: TbMeasureUnits<ChargeMetricUnits> = {
|
||||||
|
units: {
|
||||||
|
c: {
|
||||||
|
name: 'unit.coulomb',
|
||||||
|
tags: ['charge', 'electricity', 'electrostatics', 'Coulomb', 'C'],
|
||||||
|
to_anchor: 1,
|
||||||
|
},
|
||||||
|
mC: {
|
||||||
|
name: 'unit.millicoulomb',
|
||||||
|
tags: ['charge', 'electricity', 'electrostatics', 'millicoulombs', 'mC'],
|
||||||
|
to_anchor: 1 / 1000,
|
||||||
|
},
|
||||||
|
μC: {
|
||||||
|
name: 'unit.microcoulomb',
|
||||||
|
tags: ['charge', 'electricity', 'electrostatics', 'microcoulomb', 'µC'],
|
||||||
|
to_anchor: 1 / 1000000,
|
||||||
|
},
|
||||||
|
nC: {
|
||||||
|
name: 'unit.nanocoulomb',
|
||||||
|
tags: ['charge', 'electricity', 'electrostatics', 'nanocoulomb', 'nC'],
|
||||||
|
to_anchor: 1e-9,
|
||||||
|
},
|
||||||
|
pC: {
|
||||||
|
name: 'unit.picocoulomb',
|
||||||
|
tags: ['charge', 'electricity', 'electrostatics', 'picocoulomb', 'pC'],
|
||||||
|
to_anchor: 1e-12,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const measure: TbMeasure<ChargeUnits> = {
|
||||||
|
METRIC,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default measure;
|
||||||
82
ui-ngx/src/app/core/services/unit/definitions/digital.ts
Normal file
82
ui-ngx/src/app/core/services/unit/definitions/digital.ts
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
///
|
||||||
|
/// Copyright © 2016-2025 The Thingsboard Authors
|
||||||
|
///
|
||||||
|
/// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
/// you may not use this file except in compliance with the License.
|
||||||
|
/// You may obtain a copy of the License at
|
||||||
|
///
|
||||||
|
/// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
///
|
||||||
|
/// Unless required by applicable law or agreed to in writing, software
|
||||||
|
/// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
/// See the License for the specific language governing permissions and
|
||||||
|
/// limitations under the License.
|
||||||
|
///
|
||||||
|
|
||||||
|
import { TbMeasure, TbMeasureUnits } from '@shared/models/unit.models';
|
||||||
|
|
||||||
|
export type DigitalUnits = DigitalMetricUnits;
|
||||||
|
|
||||||
|
export type DigitalMetricUnits = 'bit' | 'B' | 'KB' | 'MB' | 'GB' | 'TB' | 'PB' | 'EB' | 'ZB' | 'YB';
|
||||||
|
|
||||||
|
const METRIC: TbMeasureUnits<DigitalMetricUnits> = {
|
||||||
|
units: {
|
||||||
|
bit: {
|
||||||
|
name: 'unit.bit',
|
||||||
|
tags: ['data', 'binary digit', 'information', 'bit'],
|
||||||
|
to_anchor: 1.25e-1,
|
||||||
|
},
|
||||||
|
B: {
|
||||||
|
name: 'unit.byte',
|
||||||
|
tags: ['data', 'byte', 'information', 'storage', 'memory', 'B'],
|
||||||
|
to_anchor: 1
|
||||||
|
},
|
||||||
|
KB: {
|
||||||
|
name: 'unit.kilobyte',
|
||||||
|
tags: ['data', 'kilobyte', 'KB'],
|
||||||
|
to_anchor: 1024,
|
||||||
|
},
|
||||||
|
MB: {
|
||||||
|
name: 'unit.megabyte',
|
||||||
|
tags: ['data', 'megabyte', 'MB'],
|
||||||
|
to_anchor: 1024 ** 2,
|
||||||
|
},
|
||||||
|
GB: {
|
||||||
|
name: 'unit.gigabyte',
|
||||||
|
tags: ['data', 'gigabyte', 'GB'],
|
||||||
|
to_anchor: 1024 ** 3,
|
||||||
|
},
|
||||||
|
TB: {
|
||||||
|
name: 'unit.terabyte',
|
||||||
|
tags: ['data', 'terabyte', 'TB'],
|
||||||
|
to_anchor: 1024 ** 4,
|
||||||
|
},
|
||||||
|
PB: {
|
||||||
|
name: 'unit.petabyte',
|
||||||
|
tags: ['data', 'petabyte', 'PB'],
|
||||||
|
to_anchor: 1024 ** 5,
|
||||||
|
},
|
||||||
|
EB: {
|
||||||
|
name: 'unit.exabyte',
|
||||||
|
tags: ['data', 'exabyte', 'EB'],
|
||||||
|
to_anchor: 1024 ** 6,
|
||||||
|
},
|
||||||
|
ZB: {
|
||||||
|
name: 'unit.zettabyte',
|
||||||
|
tags: ['data', 'zettabyte', 'EB'],
|
||||||
|
to_anchor: 1024 ** 7,
|
||||||
|
},
|
||||||
|
YB: {
|
||||||
|
name: 'unit.yottabyte',
|
||||||
|
tags: ['data', 'yottabyte', 'EB'],
|
||||||
|
to_anchor: 1024 ** 8,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const measure: TbMeasure<DigitalUnits> = {
|
||||||
|
METRIC,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default measure;
|
||||||
@ -0,0 +1,67 @@
|
|||||||
|
///
|
||||||
|
/// Copyright © 2016-2025 The Thingsboard Authors
|
||||||
|
///
|
||||||
|
/// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
/// you may not use this file except in compliance with the License.
|
||||||
|
/// You may obtain a copy of the License at
|
||||||
|
///
|
||||||
|
/// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
///
|
||||||
|
/// Unless required by applicable law or agreed to in writing, software
|
||||||
|
/// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
/// See the License for the specific language governing permissions and
|
||||||
|
/// limitations under the License.
|
||||||
|
///
|
||||||
|
|
||||||
|
import { TbMeasure, TbMeasureUnits } from '@shared/models/unit.models';
|
||||||
|
|
||||||
|
export type ElectricCurrentUnits = ElectricCurrentMetricalUnits;
|
||||||
|
|
||||||
|
export type ElectricCurrentMetricalUnits = 'A' | 'nA' | 'μA' | 'mA' | 'kA' | 'MA' | 'GA';
|
||||||
|
|
||||||
|
const METRIC: TbMeasureUnits<ElectricCurrentMetricalUnits> = {
|
||||||
|
units: {
|
||||||
|
A: {
|
||||||
|
name: 'unit.ampere',
|
||||||
|
tags: ['electric current', 'current flow', 'flow of electricity', 'electrical flow', 'ampere', 'amperes', 'amperage', 'A'],
|
||||||
|
to_anchor: 1,
|
||||||
|
},
|
||||||
|
nA: {
|
||||||
|
name: 'unit.nanoampere',
|
||||||
|
tags: ['electric current', 'nanoampere', 'nanoamperes', 'nA'],
|
||||||
|
to_anchor: 1e-9,
|
||||||
|
},
|
||||||
|
μA: {
|
||||||
|
name: 'unit.microampere',
|
||||||
|
tags: ['electric current', 'microampere', 'microamperes', 'μA'],
|
||||||
|
to_anchor: 1e-6,
|
||||||
|
},
|
||||||
|
mA: {
|
||||||
|
name: 'unit.milliampere',
|
||||||
|
tags: ['electric current', 'milliampere', 'milliamperes', 'mA'],
|
||||||
|
to_anchor: 0.001,
|
||||||
|
},
|
||||||
|
kA: {
|
||||||
|
name: 'unit.kiloampere',
|
||||||
|
tags: ['electric current', 'kiloampere', 'kiloamperes', 'kA'],
|
||||||
|
to_anchor: 1000,
|
||||||
|
},
|
||||||
|
MA: {
|
||||||
|
name: 'unit.megaampere',
|
||||||
|
tags: ['electric current', 'megaampere', 'megaamperes', 'MA'],
|
||||||
|
to_anchor: 1e6,
|
||||||
|
},
|
||||||
|
GA: {
|
||||||
|
name: 'unit.gigaampere',
|
||||||
|
tags: ['electric current', 'gigaampere', 'gigaamperes', 'GA'],
|
||||||
|
to_anchor: 1e9,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const measure: TbMeasure<ElectricCurrentUnits> = {
|
||||||
|
METRIC,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default measure;
|
||||||
@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
import { TbMeasure, TbMeasureUnits } from '@shared/models/unit.models';
|
import { TbMeasure, TbMeasureUnits } from '@shared/models/unit.models';
|
||||||
|
|
||||||
export type TimeUnits = TimeSIUnits;
|
export type TimeUnits = TimeMetricUnits;
|
||||||
|
|
||||||
export type TimeSIUnits =
|
export type TimeMetricUnits =
|
||||||
| 'ns'
|
| 'ns'
|
||||||
| 'μs'
|
| 'μs'
|
||||||
| 'ms'
|
| 'ms'
|
||||||
@ -32,7 +32,7 @@ export type TimeSIUnits =
|
|||||||
|
|
||||||
const daysInYear = 365.25;
|
const daysInYear = 365.25;
|
||||||
|
|
||||||
const METRIC: TbMeasureUnits<TimeSIUnits> = {
|
const METRIC: TbMeasureUnits<TimeMetricUnits> = {
|
||||||
units: {
|
units: {
|
||||||
ns: {
|
ns: {
|
||||||
name: 'unit.nanosecond',
|
name: 'unit.nanosecond',
|
||||||
|
|||||||
@ -5859,6 +5859,9 @@
|
|||||||
"angle": "Angle",
|
"angle": "Angle",
|
||||||
"angular-acceleration": "Angular acceleration",
|
"angular-acceleration": "Angular acceleration",
|
||||||
"area": "Area",
|
"area": "Area",
|
||||||
|
"charge": "Charge",
|
||||||
|
"digital": "Digital",
|
||||||
|
"electric-current": "Electric current",
|
||||||
"temperature": "Temperature",
|
"temperature": "Temperature",
|
||||||
"time": "Time"
|
"time": "Time"
|
||||||
},
|
},
|
||||||
@ -6009,6 +6012,7 @@
|
|||||||
"coulomb": "Coulomb",
|
"coulomb": "Coulomb",
|
||||||
"millicoulomb": "Millicoulombs",
|
"millicoulomb": "Millicoulombs",
|
||||||
"microcoulomb": "Microcoulomb",
|
"microcoulomb": "Microcoulomb",
|
||||||
|
"nanocoulomb": "Nanocoulomb",
|
||||||
"picocoulomb": "Picocoulomb",
|
"picocoulomb": "Picocoulomb",
|
||||||
"coulomb-per-meter": "Coulomb per meter",
|
"coulomb-per-meter": "Coulomb per meter",
|
||||||
"coulomb-per-cubic-meter": "Coulomb per Cubic Meter",
|
"coulomb-per-cubic-meter": "Coulomb per Cubic Meter",
|
||||||
@ -6033,17 +6037,12 @@
|
|||||||
"kiloampere-hours": "Kiloampere-hours",
|
"kiloampere-hours": "Kiloampere-hours",
|
||||||
"kiloampere-hours-tags": "electric current, current flow, electric charge, current capacity, flow of electricity, electrical flow, kiloampere-hours, kiloampere-hour, kAh",
|
"kiloampere-hours-tags": "electric current, current flow, electric charge, current capacity, flow of electricity, electrical flow, kiloampere-hours, kiloampere-hour, kAh",
|
||||||
"nanoampere": "Nanoampere",
|
"nanoampere": "Nanoampere",
|
||||||
"nanoampere-tags": "current, amperes, nanoampere, nA",
|
|
||||||
"picoampere": "Picoampere",
|
|
||||||
"picoampere-tags": "current, amperes, picoampere, pA",
|
|
||||||
"microampere": "Microampere",
|
"microampere": "Microampere",
|
||||||
"microampere-tags": "electric current, microampere, microamperes, μA",
|
|
||||||
"milliampere": "Milliampere",
|
"milliampere": "Milliampere",
|
||||||
"milliampere-tags": "electric current, milliampere, milliamperes, mA",
|
|
||||||
"ampere": "Ampere",
|
"ampere": "Ampere",
|
||||||
"ampere-tags": "electric current, current flow, flow of electricity, electrical flow, ampere, amperes, amperage, A",
|
"kiloampere": "Kiloampere",
|
||||||
"kiloamperes": "Kiloamperes",
|
"megaampere": "Megaampere",
|
||||||
"kiloamperes-tags": "electric current, current flow, kiloamperes, kA",
|
"gigaampere": "Gigaampere",
|
||||||
"microampere-per-square-centimeter": "Microampere per square centimeter",
|
"microampere-per-square-centimeter": "Microampere per square centimeter",
|
||||||
"microampere-per-square-centimeter-tags": "Current density, microampere per square centimeter, µA/cm²",
|
"microampere-per-square-centimeter-tags": "Current density, microampere per square centimeter, µA/cm²",
|
||||||
"ampere-per-square-meter": "Ampere per Square Meter",
|
"ampere-per-square-meter": "Ampere per Square Meter",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user