mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-26 20:56:48 +00:00
35 lines
1.0 KiB
CoffeeScript
35 lines
1.0 KiB
CoffeeScript
angular.module("admin.products").factory "VariantUnitManager", ->
|
|
class VariantUnitManager
|
|
@getScale = (value, unitType) ->
|
|
scaledValue = null
|
|
validScales = []
|
|
unitScales = VariantUnitManager.unitScales(unitType)
|
|
|
|
validScales.unshift scale for scale in unitScales when value/scale >= 1
|
|
if validScales.length > 0
|
|
validScales[0]
|
|
else
|
|
unitScales[0]
|
|
|
|
@getUnitName: (scale, unitType) ->
|
|
unitNames =
|
|
'weight': {1.0: 'g', 1000.0: 'kg', 1000000.0: 'T'}
|
|
'volume': {0.001: 'mL', 1.0: 'L', 1000.0: 'kL'}
|
|
unitNames[unitType][scale]
|
|
|
|
@unitScales: (unitType) ->
|
|
unitScales =
|
|
'weight': [1.0, 1000.0, 1000000.0]
|
|
'volume': [0.001, 1.0, 1000.0]
|
|
unitScales[unitType]
|
|
|
|
@variant_unit_options: [
|
|
["Weight (g)", "weight_1"],
|
|
["Weight (kg)", "weight_1000"],
|
|
["Weight (T)", "weight_1000000"],
|
|
["Volume (mL)", "volume_0.001"],
|
|
["Volume (L)", "volume_1"],
|
|
["Volume (kL)", "volume_1000"],
|
|
["Items", "items"]
|
|
]
|