feat: Shop Supplier Purchase Order get, filter, and add new.

This commit is contained in:
2024-10-25 16:42:13 +01:00
parent 002551c0a9
commit ea5b8e8ca1
121 changed files with 3835 additions and 865 deletions

View File

@@ -0,0 +1,27 @@
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];
console.log({objectJson, keyText, keyValue});
return BusinessObjects.getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected);
}
/*
static getOptionJsonFromProductPermutation(permutation) {
return {
text: permutation
};
}
*/
static getObjectText(objectJson) {
return objectJson[objectJson[flagNameAttrOptionText]];
}
}

View File

@@ -0,0 +1,34 @@
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]];
let productVariation = productVariations[parts[1]];
if (productVariationType && productVariation) {
productVariations.push([productVariationType, productVariation]);
}
}
});
return productVariations;
}
static getProductVariationsPreviewFromIdCsv(csvVariations) {
let variations = ProductPermutation.getProductVariationsFromIdCsv(csvVariations);
let preview = '';
if (variations.length == 0) return preview;
variations.forEach((variation) => {
if (preview.length > 0) {
preview += '\n';
}
preview += variation[0] + ': ' + variation[1] + ', ';
});
return preview;
}
}