rerobe-js-orm 3.3.6 → 3.3.8
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.
- package/lib/models/Product.d.ts +1 -1
- package/lib/models/Product.js +18 -7
- package/package.json +1 -1
package/lib/models/Product.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export default class Product extends Base {
|
|
|
18
18
|
autoCreateDescriptionHTML(t?: (text: string) => string, additionalSections?: {
|
|
19
19
|
title: string;
|
|
20
20
|
attributes: string[];
|
|
21
|
-
}[]): string;
|
|
21
|
+
}[], currency?: string, locale?: string): string;
|
|
22
22
|
autoCreateMetaDescription(): string;
|
|
23
23
|
generateSchemaForTypesense(name?: string): {
|
|
24
24
|
default_sorting_field: string;
|
package/lib/models/Product.js
CHANGED
|
@@ -454,10 +454,10 @@ class Product extends Base_1.default {
|
|
|
454
454
|
}
|
|
455
455
|
return this.utilities.capitalizeString(result).trim();
|
|
456
456
|
}
|
|
457
|
-
autoCreateDescriptionHTML(t = (str) => str, additionalSections = []) {
|
|
457
|
+
autoCreateDescriptionHTML(t = (str) => str, additionalSections = [], currency = 'SEK', locale = 'sv-SE') {
|
|
458
458
|
var _a;
|
|
459
459
|
const { compareAtPrice } = this.attributes;
|
|
460
|
-
const { color, productCategory, productType, productStyle, condition,
|
|
460
|
+
const { color, productCategory, productType, productStyle, condition, gender, size } = this.filterAttributes;
|
|
461
461
|
const { productRemarks, conditionRemarks, purchasePrice, yearPurchased, sizeComment, majorDefects, minorDefects } = this.consignmentAttributes;
|
|
462
462
|
const measurements = this.measurementsJoinedString(this.filterAttributes.measurements);
|
|
463
463
|
const materials = this.materialCompJoinedString();
|
|
@@ -465,15 +465,26 @@ class Product extends Base_1.default {
|
|
|
465
465
|
const joinedProductStyle = productStyle.join(', ');
|
|
466
466
|
const joinedMajorDefects = majorDefects.join(', ');
|
|
467
467
|
const joinedMinorDefects = minorDefects.join(', ');
|
|
468
|
+
const numberFormatter = new Intl.NumberFormat(locale, {
|
|
469
|
+
style: 'currency',
|
|
470
|
+
currency,
|
|
471
|
+
});
|
|
472
|
+
const formatCurrency = (value) => {
|
|
473
|
+
if (value === undefined)
|
|
474
|
+
return '';
|
|
475
|
+
// Parse the string as a float and format it as currency
|
|
476
|
+
const num = parseFloat(value);
|
|
477
|
+
return isNaN(num) ? value : numberFormatter.format(num);
|
|
478
|
+
};
|
|
468
479
|
// Group the base attributes
|
|
469
480
|
const baseAttributeSections = [
|
|
470
481
|
{
|
|
471
482
|
title: 'Product Details',
|
|
472
483
|
attributes: [
|
|
484
|
+
size && `${t('Size')}: ${t(size)}`,
|
|
485
|
+
gender && `${t('Primary segment')}: ${t(gender)}`,
|
|
473
486
|
productCategory && `${t('Category')}: ${t(productCategory)}`,
|
|
474
487
|
productType && `${t('Type')}: ${t(productType)}`,
|
|
475
|
-
size && `${t('Size')}: ${t(size)}`,
|
|
476
|
-
gender && `${t('Gender')}: ${t(gender)}`,
|
|
477
488
|
].filter(Boolean),
|
|
478
489
|
},
|
|
479
490
|
{
|
|
@@ -494,10 +505,10 @@ class Product extends Base_1.default {
|
|
|
494
505
|
].filter(Boolean),
|
|
495
506
|
},
|
|
496
507
|
{
|
|
497
|
-
title: '
|
|
508
|
+
title: 'Extra Details',
|
|
498
509
|
attributes: [
|
|
499
|
-
compareAtPrice && `${t('
|
|
500
|
-
purchasePrice && `${t('Purchase price')}: ${t(purchasePrice)}`,
|
|
510
|
+
compareAtPrice && `${t('Price new')}: ${t(formatCurrency(compareAtPrice))}`,
|
|
511
|
+
purchasePrice && `${t('Purchase price')}: ${t(formatCurrency(purchasePrice))}`,
|
|
501
512
|
yearPurchased && `${t('Year purchased')}: ${t(yearPurchased)}`,
|
|
502
513
|
].filter(Boolean),
|
|
503
514
|
},
|