Initial commit.
This commit is contained in:
29
static/js/lib/business_objects/business_objects.js
Normal file
29
static/js/lib/business_objects/business_objects.js
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
import Utils from '../utils.js';
|
||||
|
||||
export default class BusinessObjects {
|
||||
static getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected = null) {
|
||||
return {
|
||||
text: objectJson[keyText],
|
||||
value: objectJson[keyValue],
|
||||
selected: (objectJson[keyValue] == valueSelected),
|
||||
};
|
||||
}
|
||||
static getOptionJsonFromObjectJson(objectJson, valueSelected = null) {
|
||||
let keyText = objectJson[flagNameAttrOptionText];
|
||||
let keyValue = objectJson[flagNameAttrOptionValue];
|
||||
Utils.consoleLogIfNotProductionEnvironment({objectJson, keyText, keyValue});
|
||||
return BusinessObjects.getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected);
|
||||
}
|
||||
static getObjectText(objectJson) {
|
||||
return objectJson == null ? '' : objectJson[objectJson[flagNameAttrOptionText]];
|
||||
}
|
||||
static getListObjectsFromIdDictAndCsv(idDict, idCsv) {
|
||||
let listObjects = [];
|
||||
let ids = idCsv.split(',');
|
||||
for (let id of ids) {
|
||||
listObjects.push(idDict[id]);
|
||||
}
|
||||
return listObjects;
|
||||
}
|
||||
}
|
||||
52
static/js/lib/business_objects/store/product_permutation.js
Normal file
52
static/js/lib/business_objects/store/product_permutation.js
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
|
||||
export default class ProductPermutation {
|
||||
static getProductVariationsFromIdCsv(csvVariations) {
|
||||
let productVariations = [];
|
||||
if (!csvVariations) return productVariations;
|
||||
let variationPairs = csvVariations.split(',');
|
||||
if (variationPairs.length == 0) return productVariations;
|
||||
let parts;
|
||||
variationPairs.forEach((variationPair) => {
|
||||
parts = variationPair.split(':');
|
||||
if (parts.length == 2) {
|
||||
let productVariationType = productVariationTypes[parts[0]];
|
||||
productVariationType[flagProductVariations].some((productVariation) => {
|
||||
if (productVariation[attrIdProductVariation] == parts[1]) {
|
||||
productVariations.push([productVariationType, productVariation]);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
});
|
||||
return productVariations;
|
||||
}
|
||||
static getProductVariationsPreviewFromIdCsv(csvVariations) {
|
||||
let variationPairs = ProductPermutation.getProductVariationsFromIdCsv(csvVariations);
|
||||
let preview = '';
|
||||
if (variationPairs.length == 0) return preview;
|
||||
let variationType, variation;
|
||||
variationPairs.forEach((variationPair) => {
|
||||
if (preview.length > 0) {
|
||||
preview += '\n';
|
||||
}
|
||||
variationType = variationPair[0];
|
||||
variation = variationPair[1];
|
||||
preview += variationType[flagName] + ': ' + variation[flagName];
|
||||
});
|
||||
return preview;
|
||||
}
|
||||
|
||||
static getProductVariationsIdCsvFromVariationTypeList(variationTypeList) {
|
||||
let csvVariations = '';
|
||||
if (Validation.isEmpty(variationTypeList)) return csvVariations;
|
||||
variationTypeList.forEach((variationType) => {
|
||||
if (csvVariations.length > 0) {
|
||||
csvVariations += ',';
|
||||
}
|
||||
csvVariations += variationType[attrIdProductVariationType] + ':' + variationType[flagProductVariations][0][attrIdProductVariation];
|
||||
});
|
||||
return csvVariations;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user