kitchen-simulator
Version:
It is a kitchen simulator (self-contained micro-frontend).
147 lines • 4.76 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
import { convert } from "../../utils/convert-units-lite";
export default function (_ref) {
var itemID = _ref.itemID,
type = _ref.type,
long_name = _ref.long_name,
name = _ref.name,
sizeinfo = _ref.sizeinfo,
description = _ref.description,
prototype = _ref.prototype,
base = _ref.base,
shape_svg = _ref.shape_svg,
render2DItem = _ref.render2DItem,
render3DItem = _ref.render3DItem,
structure_json = _ref.structure_json,
layoutpos = _ref.layoutpos,
is_corner = _ref.is_corner,
alti = _ref.alti,
obj_property = _ref.obj_property,
outlineSVGData = _ref.outlineSVGData,
cds = _ref.cds;
var _length = alti || 0;
// const length = convert(_length).from("in").to("cm");
var length = _length;
var additional_props = [];
if (type === 'cabinet' && long_name.toLowerCase().includes('filler')) {
additional_props = {
width: {
label: 'Width',
type: 'length-measure',
defaultValue: {
_length: sizeinfo.width,
_unit: 'in',
length: convert(sizeinfo.width).from('in').to('cm')
}
}
};
}
if (type === 'appliance' || type === 'furnishing' || type === 'cabinet' && long_name.toLowerCase().includes('panel')) {
additional_props = {
width: {
label: 'Width',
type: 'length-measure',
defaultValue: {
_length: sizeinfo.width,
_unit: 'in',
length: convert(sizeinfo.width).from('in').to('cm')
}
},
depth: {
label: 'Depth',
type: 'length-measure',
defaultValue: {
_length: sizeinfo.depth,
_unit: 'in',
length: convert(sizeinfo.depth).from('in').to('cm')
}
},
height: {
label: 'Height',
type: 'length-measure',
defaultValue: {
_length: sizeinfo.height,
_unit: 'in',
length: convert(sizeinfo.height).from('in').to('cm')
}
}
};
}
var mode = null;
var retVal = {
itemID: itemID,
name: name,
prototype: prototype,
long_name: long_name,
type: type,
info: {
title: name,
outline: outlineSVGData,
tag: ['furnishing', 'electronics'],
description: description,
image: base,
door: obj_property.door_style,
doorcategory: obj_property.door_category,
has_single_door: obj_property.has_single_door,
sizeinfo: sizeinfo,
layoutpos: layoutpos,
is_corner: is_corner,
shape_svg: shape_svg
},
properties: _objectSpread(_objectSpread({
altitude: {
label: 'Distance from floor',
type: 'length-measure',
defaultValue: {
_length: _length,
_unit: 'in',
length: length
}
},
resize_and_scaling: {
label: 'Resize & Scaling',
id: 'resize_and_scaling',
description: 'Add preferred dimensions.',
type: 'checkbox',
defaultValue: false,
values: {
none: false,
yes: true
}
}
}, additional_props), {}, {
flip_doorhandle: {
label: 'Flip Door Handle',
description: 'Viewable in 3D mode.',
type: 'checkbox',
defaultValue: false,
values: {
none: false,
yes: true
}
},
open_doors: {
label: 'Open doors',
description: 'Viewable in 3D mode.',
type: 'checkbox',
defaultValue: false,
values: {
none: false,
yes: true
}
}
}),
img: base,
obj: obj_property,
cds: cds,
render2D: function render2D(element, layer, scene) {
return render2DItem.call(this, element, layer, scene, sizeinfo, layoutpos, is_corner, shape_svg);
},
render3D: function render3D(element, layer, scene, mode) {
return render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner, mode);
}
};
return retVal;
}