rerobe-js-orm 3.0.26 → 3.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -42,7 +42,7 @@ export default class ProductFormState extends FormState {
|
|
|
42
42
|
private productTypeSelectHandler;
|
|
43
43
|
private setPriceRangeFromPrice;
|
|
44
44
|
private setGenderFromPassedOptions;
|
|
45
|
-
private
|
|
45
|
+
private setProductCategoriesFromGender;
|
|
46
46
|
private setProductTypesFromCategory;
|
|
47
47
|
private setProductTypesFromPassedOptions;
|
|
48
48
|
private setProductStylesFromCategoryAndType;
|
|
@@ -35,7 +35,7 @@ class ProductFormState extends FormState_1.default {
|
|
|
35
35
|
this.fields.condition = this.fieldFactory('singleSelect', 'condition', options_1.conditions);
|
|
36
36
|
this.fields.majorDefects = this.fieldFactory('multiSelect', 'majorDefects', options_1.majorDefectOptions);
|
|
37
37
|
this.fields.minorDefects = this.fieldFactory('multiSelect', 'minorDefects', options_1.minorDefectOptions);
|
|
38
|
-
this.fields.gender = this.fieldFactory('singleSelect', 'gender', options_1.
|
|
38
|
+
this.fields.gender = this.fieldFactory('singleSelect', 'gender', options_1.genderOptions);
|
|
39
39
|
this.fields.materialComposition = this.fieldFactory('singleSelect', 'materialComposition', options_1.clothingMaterials);
|
|
40
40
|
this.fields.priceRange = this.fieldFactory('textInput', 'priceRange');
|
|
41
41
|
this.fields.productCategory = this.fieldFactory('singleSelect', 'productCategory', options_1.productCategories);
|
|
@@ -105,7 +105,7 @@ class ProductFormState extends FormState_1.default {
|
|
|
105
105
|
this.fields.gender.selectedValue = value;
|
|
106
106
|
this.fields.gender.valid = !!value;
|
|
107
107
|
// Reset productCategory fields except options
|
|
108
|
-
this.fields.productCategory.options = this.
|
|
108
|
+
this.fields.productCategory.options = this.setProductCategoriesFromGender(value);
|
|
109
109
|
this.fields.productCategory.hidden = true;
|
|
110
110
|
this.fields.productCategory.valid = false;
|
|
111
111
|
this.fields.productCategory.selectedValue = '';
|
|
@@ -256,25 +256,35 @@ class ProductFormState extends FormState_1.default {
|
|
|
256
256
|
return '1000+';
|
|
257
257
|
}
|
|
258
258
|
setGenderFromPassedOptions() {
|
|
259
|
+
let options = options_1.genderOptions;
|
|
260
|
+
let selectedGenderOptions = [];
|
|
261
|
+
if (this.props.gender) {
|
|
262
|
+
selectedGenderOptions = [{ label: this.props.gender, value: this.props.gender }];
|
|
263
|
+
if (!options.map((o) => o.value).includes(this.props.gender)) {
|
|
264
|
+
options.splice(0, 0, ...selectedGenderOptions);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
259
267
|
if (this.opts && this.opts.taxonomy && Object.keys(this.opts.taxonomy).length > 0) {
|
|
260
|
-
|
|
268
|
+
const passedOptions = Object.keys(this.opts.taxonomy).map((t) => ({ label: t, value: t }));
|
|
269
|
+
options = this.utilities.uniqObjArray([...selectedGenderOptions, ...passedOptions], 'value');
|
|
261
270
|
}
|
|
262
|
-
return
|
|
271
|
+
return options;
|
|
263
272
|
}
|
|
264
|
-
|
|
265
|
-
let
|
|
273
|
+
setProductCategoriesFromGender(genderSelected) {
|
|
274
|
+
let options = options_1.productCategories;
|
|
275
|
+
let selectedProductCategoryOptions = [];
|
|
276
|
+
if (this.props.productCategory) {
|
|
277
|
+
selectedProductCategoryOptions = [{ label: this.props.productCategory, value: this.props.productCategory }];
|
|
278
|
+
if (!options.map((o) => o.value).includes(this.props.productCategory)) {
|
|
279
|
+
options.splice(0, 0, ...selectedProductCategoryOptions);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
266
282
|
if (this.opts && this.opts.taxonomy && Object.keys(this.opts.taxonomy).length > 0 && genderSelected) {
|
|
267
283
|
const t = this.opts.taxonomy;
|
|
268
284
|
const { [genderSelected]: genderObj = {} } = t;
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
else {
|
|
272
|
-
productCategoryOptions = options_1.productCategories;
|
|
285
|
+
const passedOptions = Object.keys(genderObj).map((k) => ({ label: k, value: k }));
|
|
286
|
+
options = this.utilities.uniqObjArray([...selectedProductCategoryOptions, ...passedOptions], 'value');
|
|
273
287
|
}
|
|
274
|
-
const selectedCategoryOptions = this.props.productCategory
|
|
275
|
-
? [{ label: this.props.productCategory, value: this.props.productCategory }]
|
|
276
|
-
: [];
|
|
277
|
-
const options = this.utilities.uniqObjArray([...productCategoryOptions, ...selectedCategoryOptions], 'value');
|
|
278
288
|
return options;
|
|
279
289
|
}
|
|
280
290
|
setProductTypesFromCategory(productCategory, genderSelected) {
|
|
@@ -324,6 +334,7 @@ class ProductFormState extends FormState_1.default {
|
|
|
324
334
|
}
|
|
325
335
|
}
|
|
326
336
|
setProductTypesFromPassedOptions(productCategory, genderSelected) {
|
|
337
|
+
let options = this.setProductTypesFromCategory(productCategory, genderSelected);
|
|
327
338
|
if (productCategory &&
|
|
328
339
|
genderSelected &&
|
|
329
340
|
this.opts &&
|
|
@@ -331,9 +342,16 @@ class ProductFormState extends FormState_1.default {
|
|
|
331
342
|
Object.keys(this.opts.taxonomy).length > 0) {
|
|
332
343
|
const t = this.opts.taxonomy;
|
|
333
344
|
const { [genderSelected]: { [productCategory]: productTypeArr = [] } = {} } = t;
|
|
334
|
-
|
|
345
|
+
options = productTypeArr;
|
|
346
|
+
}
|
|
347
|
+
let selectedProductTypeOptions = [];
|
|
348
|
+
if (this.props.productType) {
|
|
349
|
+
selectedProductTypeOptions = [{ label: this.props.productType, value: this.props.productType, styles: [] }];
|
|
350
|
+
if (!options.map((o) => o.value).includes(this.props.productType)) {
|
|
351
|
+
options.splice(0, 0, ...selectedProductTypeOptions);
|
|
352
|
+
}
|
|
335
353
|
}
|
|
336
|
-
return
|
|
354
|
+
return options;
|
|
337
355
|
}
|
|
338
356
|
setProductStylesFromCategoryAndType(productCategory, productType) {
|
|
339
357
|
switch (productCategory) {
|
|
@@ -397,6 +415,7 @@ class ProductFormState extends FormState_1.default {
|
|
|
397
415
|
}
|
|
398
416
|
}
|
|
399
417
|
setProductStylesFromPassedOptions(productCategory, productType) {
|
|
418
|
+
let options = this.setProductStylesFromCategoryAndType(productCategory, productType);
|
|
400
419
|
if (this.opts &&
|
|
401
420
|
this.opts.taxonomy &&
|
|
402
421
|
Object.keys(this.opts.taxonomy).length > 0 &&
|
|
@@ -407,11 +426,16 @@ class ProductFormState extends FormState_1.default {
|
|
|
407
426
|
const { [genderSelected]: { [productCategory]: productTypeArr = [] } = {} } = t;
|
|
408
427
|
const [pType] = productTypeArr.filter((p) => p.value === productType);
|
|
409
428
|
if (pType) {
|
|
410
|
-
|
|
429
|
+
options = pType.styles.map((s) => ({ label: s, value: s }));
|
|
411
430
|
}
|
|
412
|
-
return [];
|
|
413
431
|
}
|
|
414
|
-
|
|
432
|
+
if (this.props.productStyle && Array.isArray(this.props.productStyle) && this.props.productStyle.length > 0) {
|
|
433
|
+
options = [...new Set([...this.props.productStyle, ...options.map((o) => o.value)])].map((s) => ({
|
|
434
|
+
label: s,
|
|
435
|
+
value: s,
|
|
436
|
+
}));
|
|
437
|
+
}
|
|
438
|
+
return options;
|
|
415
439
|
}
|
|
416
440
|
discountTypeChangeHandler(val) {
|
|
417
441
|
const prevVal = this.fields.discountType.selectedValue;
|
|
@@ -521,7 +545,7 @@ class ProductFormState extends FormState_1.default {
|
|
|
521
545
|
onChangeHandler = (val) => this.genderSelectHandler(val);
|
|
522
546
|
}
|
|
523
547
|
if (fieldKey === 'productCategory') {
|
|
524
|
-
options = this.
|
|
548
|
+
options = this.setProductCategoriesFromGender(this.props.gender);
|
|
525
549
|
onChangeHandler = (val) => this.productCategorySelectHandler(val);
|
|
526
550
|
}
|
|
527
551
|
if (fieldKey === 'productType') {
|
|
@@ -59,7 +59,7 @@ export const conditions: ({
|
|
|
59
59
|
key: string;
|
|
60
60
|
color?: undefined;
|
|
61
61
|
})[];
|
|
62
|
-
export const
|
|
62
|
+
export const genderOptions: {
|
|
63
63
|
label: string;
|
|
64
64
|
value: string;
|
|
65
65
|
}[];
|
|
@@ -79,7 +79,6 @@ export const clothingMaterials: {
|
|
|
79
79
|
export const productCategories: {
|
|
80
80
|
label: string;
|
|
81
81
|
value: string;
|
|
82
|
-
color: string;
|
|
83
82
|
}[];
|
|
84
83
|
export const clothing: {
|
|
85
84
|
label: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.measurementCategoryOptions = exports.minorDefectOptions = exports.majorDefectOptions = exports.productOptions = exports.productIsOnSaleOptions = exports.discountTypeOptions = exports.salesChannelOptions = exports.unisexJewelry = exports.mensJewelry = exports.jewelry = exports.unisexAccessories = exports.mensAccessories = exports.accessories = exports.unisexBags = exports.mensBags = exports.bags = exports.weightUnits = exports.productWeightRanges = exports.unisexShoes = exports.mensShoes = exports.shoes = exports.unisexClothing = exports.mensClothing = exports.clothing = exports.productCategories = exports.clothingMaterials = exports.shoeSizes = exports.jeanSizes = exports.
|
|
3
|
+
exports.measurementCategoryOptions = exports.minorDefectOptions = exports.majorDefectOptions = exports.productOptions = exports.productIsOnSaleOptions = exports.discountTypeOptions = exports.salesChannelOptions = exports.unisexJewelry = exports.mensJewelry = exports.jewelry = exports.unisexAccessories = exports.mensAccessories = exports.accessories = exports.unisexBags = exports.mensBags = exports.bags = exports.weightUnits = exports.productWeightRanges = exports.unisexShoes = exports.mensShoes = exports.shoes = exports.unisexClothing = exports.mensClothing = exports.clothing = exports.productCategories = exports.clothingMaterials = exports.shoeSizes = exports.jeanSizes = exports.genderOptions = exports.conditions = exports.colors = exports.brands = exports.sizeCommentOptions = exports.manClothingSizeOptions = exports.womanClothingSizeOptions = exports.clothingSizeOptions = exports.sizeOptions = exports.statusOptions = exports.publishTypeOptions = exports.availableForSaleOptions = void 0;
|
|
4
4
|
const product_constants_1 = require("../../constants/product-constants");
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
6
|
const availableForSaleOptions = [
|
|
@@ -1816,7 +1816,7 @@ const minorDefectOptions = [
|
|
|
1816
1816
|
{ label: 'Other minor Issue', value: 'Other minor issue' },
|
|
1817
1817
|
];
|
|
1818
1818
|
exports.minorDefectOptions = minorDefectOptions;
|
|
1819
|
-
const
|
|
1819
|
+
const genderOptions = [
|
|
1820
1820
|
{
|
|
1821
1821
|
label: 'Woman',
|
|
1822
1822
|
value: 'Woman',
|
|
@@ -1842,7 +1842,7 @@ const gender = [
|
|
|
1842
1842
|
value: 'NA',
|
|
1843
1843
|
},
|
|
1844
1844
|
];
|
|
1845
|
-
exports.
|
|
1845
|
+
exports.genderOptions = genderOptions;
|
|
1846
1846
|
const jeanSizes = [
|
|
1847
1847
|
{ label: '24', value: '24' },
|
|
1848
1848
|
{ label: '25', value: '25' },
|
|
@@ -2089,27 +2089,22 @@ const productCategories = [
|
|
|
2089
2089
|
{
|
|
2090
2090
|
label: 'Clothing',
|
|
2091
2091
|
value: 'Clothing',
|
|
2092
|
-
color: '#cfdfff',
|
|
2093
2092
|
},
|
|
2094
2093
|
{
|
|
2095
2094
|
label: 'Shoes',
|
|
2096
2095
|
value: 'Shoes',
|
|
2097
|
-
color: '#d0f0fd',
|
|
2098
2096
|
},
|
|
2099
2097
|
{
|
|
2100
2098
|
label: 'Bags',
|
|
2101
2099
|
value: 'Bags',
|
|
2102
|
-
color: '#d0f0fd',
|
|
2103
2100
|
},
|
|
2104
2101
|
{
|
|
2105
2102
|
label: 'Accessories',
|
|
2106
2103
|
value: 'Accessories',
|
|
2107
|
-
color: '#d0f0fd',
|
|
2108
2104
|
},
|
|
2109
2105
|
{
|
|
2110
2106
|
label: 'Jewelry',
|
|
2111
2107
|
value: 'Jewelry',
|
|
2112
|
-
color: '#d0f0fd',
|
|
2113
2108
|
},
|
|
2114
2109
|
];
|
|
2115
2110
|
exports.productCategories = productCategories;
|