Initialize value for variant_unit_with_scale

This commit is contained in:
Jean-Baptiste Bellet
2022-05-12 16:49:36 +02:00
parent f6981e4320
commit 134202bedd
3 changed files with 9 additions and 4 deletions

View File

@@ -21,6 +21,8 @@ angular.module("admin.products")
else
$scope.product.variant_unit = $scope.product.variant_unit_with_scale
$scope.product.variant_unit_scale = null
else if $scope.product.variant_unit && $scope.product.variant_unit_scale
$scope.product.variant_unit_with_scale = VariantUnitManager.getUnitWithScale($scope.product.variant_unit, parseFloat($scope.product.variant_unit_scale))
else
$scope.product.variant_unit = $scope.product.variant_unit_scale = null

View File

@@ -33,10 +33,13 @@ angular.module("admin.products").factory "VariantUnitManager", (availableUnits)
options = for unit_type, _ of @units
for scale in @unitScales(unit_type, available)
name = @getUnitName(scale, unit_type)
["#{I18n.t(unit_type)} (#{name})", "#{unit_type}_#{scale}"]
["#{I18n.t(unit_type)} (#{name})", @getUnitWithScale(unit_type, scale)]
options.push [[I18n.t('items'), 'items']]
options = [].concat options...
@getUnitWithScale: (unit_type, scale) ->
"#{unit_type}_#{scale}"
@getUnitName: (scale, unitType) ->
if @units[unitType][scale]
@units[unitType][scale]['name']

View File

@@ -25,10 +25,10 @@
= f.field_container :units do
= f.label :variant_unit_with_scale, t(".units")
%span.required *
%select.select2.fullwidth{ id: 'product_variant_unit_with_scale', 'ng-model' => 'product.variant_unit_with_scale', 'ng-options' => 'unit[1] as unit[0] for unit in variant_unit_options' }
%select{id: 'product_variant_unit_with_scale', 'ng-model' => 'product.variant_unit_with_scale', 'ng-options' => 'unit[1] as unit[0] for unit in variant_unit_options',"data-controller": "tom-select", class: "primary"}
%option{'value' => '', 'ng-hide' => "hasUnit(product)"}
%input{ type: 'hidden', 'ng-value' => 'product.variant_unit', name: 'product[variant_unit]' }
%input{ type: 'hidden', 'ng-value' => 'product.variant_unit_scale', name: 'product[variant_unit_scale]' }
%input{ type: 'hidden', 'ng-value': 'product.variant_unit', "ng-init": "product.variant_unit='#{@product.variant_unit}'", name: 'product[variant_unit]' }
%input{ type: 'hidden', 'ng-value': 'product.variant_unit_scale', "ng-init": "product.variant_unit_scale='#{@product.variant_unit_scale}'", name: 'product[variant_unit_scale]' }
.two.columns
= f.field_container :unit_value do
= f.label :unit_value_with_description, t(".value"), 'ng-disabled' => "!hasUnit(product)"