bananas-commerce-admin 0.22.0 → 0.22.1

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.
@@ -32,6 +32,18 @@ export const ProductPropertiesCard = ({ itemType, productProperties, setProductP
32
32
  }
33
33
  productPropertiesList.map((prop) => {
34
34
  switch (prop.type) {
35
+ case "string": {
36
+ if (!prop.required && values[prop.name] == "") {
37
+ delete values[prop.name];
38
+ }
39
+ break;
40
+ }
41
+ case "integer": {
42
+ if (!prop.required && values[prop.name] == "") {
43
+ delete values[prop.name];
44
+ }
45
+ break;
46
+ }
35
47
  case "array": {
36
48
  values[prop.name] =
37
49
  typeof values[prop.name] === "string"
@@ -1 +1 @@
1
- {"version":3,"file":"ProductPropertiesCard.js","sourceRoot":"","sources":["../../../../../src/extensions/pim/components/ProductPropertiesCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductPropertiesCard.js","sourceRoot":"","sources":["../../../../../src/extensions/pim/components/ProductPropertiesCard.tsx"],"names":[],"mappings":"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"}
@@ -6,15 +6,15 @@ export const ProductPropertyField = ({ property, value, formName, }) => {
6
6
  switch (property.type) {
7
7
  case "string": {
8
8
  const currentValue = value;
9
- return (React.createElement(CardFieldText, { formName: formName ?? property.name, label: property.title, required: property.min_length ? true : false, value: currentValue }));
9
+ return (React.createElement(CardFieldText, { formName: formName ?? property.name, label: property.title, required: property.required, value: currentValue }));
10
10
  }
11
11
  case "integer": {
12
12
  const currentValue = parseInt(value);
13
- return (React.createElement(CardFieldNumber, { formName: formName ?? property.name, label: property.title, max: property.max_value, min: property.min_value, required: property.min_value !== undefined ? true : false, value: Number.isNaN(currentValue) ? undefined : currentValue }));
13
+ return (React.createElement(CardFieldNumber, { formName: formName ?? property.name, label: property.title, max: property.max_value, min: property.min_value, required: property.required, value: Number.isNaN(currentValue) ? undefined : currentValue }));
14
14
  }
15
15
  case "array": {
16
16
  const currentValue = value;
17
- return (React.createElement(CardFieldAutoComplete, { autoSelect: true, clearOnBlur: true, freeSolo: true, fallback: "—", formName: formName ?? property.name, label: property.title, value: (currentValue ?? []).map((val) => ({
17
+ return (React.createElement(CardFieldAutoComplete, { autoSelect: true, clearOnBlur: true, freeSolo: true, fallback: "—", formName: formName ?? property.name, label: property.title, required: property.required, value: (currentValue ?? []).map((val) => ({
18
18
  id: val,
19
19
  label: val,
20
20
  })) }));
@@ -1 +1 @@
1
- {"version":3,"file":"ProductPropertyField.js","sourceRoot":"","sources":["../../../../../src/extensions/pim/components/ProductPropertyField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,gDAAgD,CAAC;AACnF,OAAO,eAAe,MAAM,0CAA0C,CAAC;AACvE,OAAO,aAAa,MAAM,wCAAwC,CAAC;AASnE,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EACxE,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,EAAE;IACH,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,YAAY,GAAG,KAAe,CAAC;YACrC,OAAO,CACL,oBAAC,aAAa,IACZ,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC5C,KAAK,EAAE,YAAY,GACnB,CACH,CAAC;QACJ,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;YAC/C,OAAO,CACL,oBAAC,eAAe,IACd,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,QAAQ,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACzD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAC5D,CACH,CAAC;QACJ,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,YAAY,GAAG,KAAiB,CAAC;YAEvC,OAAO,CACL,oBAAC,qBAAqB,IACpB,UAAU,QACV,WAAW,QACX,QAAQ,QACR,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,KAAK,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAyB,EAAE,EAAE,CAAC,CAAC;oBAC9D,EAAE,EAAE,GAAa;oBACjB,KAAK,EAAE,GAAa;iBACrB,CAAC,CAAC,GACH,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"ProductPropertyField.js","sourceRoot":"","sources":["../../../../../src/extensions/pim/components/ProductPropertyField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,gDAAgD,CAAC;AACnF,OAAO,eAAe,MAAM,0CAA0C,CAAC;AACvE,OAAO,aAAa,MAAM,wCAAwC,CAAC;AASnE,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EACxE,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,EAAE;IACH,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,YAAY,GAAG,KAAe,CAAC;YACrC,OAAO,CACL,oBAAC,aAAa,IACZ,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,KAAK,EAAE,YAAY,GACnB,CACH,CAAC;QACJ,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;YAC/C,OAAO,CACL,oBAAC,eAAe,IACd,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,GAAG,EAAE,QAAQ,CAAC,SAAS,EACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAC5D,CACH,CAAC;QACJ,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,YAAY,GAAG,KAAiB,CAAC;YAEvC,OAAO,CACL,oBAAC,qBAAqB,IACpB,UAAU,QACV,WAAW,QACX,QAAQ,QACR,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI,EACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,KAAK,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAyB,EAAE,EAAE,CAAC,CAAC;oBAC9D,EAAE,EAAE,GAAa;oBACjB,KAAK,EAAE,GAAa;iBACrB,CAAC,CAAC,GACH,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC"}
@@ -25,6 +25,7 @@ export interface ProductProperty {
25
25
  name: string;
26
26
  title: string;
27
27
  type: string;
28
+ required: boolean;
28
29
  min_length?: number;
29
30
  min_value?: number;
30
31
  max_value?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bananas-commerce-admin",
3
- "version": "0.22.0",
3
+ "version": "0.22.1",
4
4
  "description": "What's this, an admin for apes?",
5
5
  "keywords": [
6
6
  "admin",
@@ -51,6 +51,18 @@ export const ProductPropertiesCard: React.FC<ProductPropertiesCardProps> = ({
51
51
 
52
52
  productPropertiesList.map((prop) => {
53
53
  switch (prop.type) {
54
+ case "string": {
55
+ if (!prop.required && values[prop.name] == "") {
56
+ delete values[prop.name];
57
+ }
58
+ break;
59
+ }
60
+ case "integer": {
61
+ if (!prop.required && values[prop.name] == "") {
62
+ delete values[prop.name];
63
+ }
64
+ break;
65
+ }
54
66
  case "array": {
55
67
  values[prop.name] =
56
68
  typeof values[prop.name] === "string"
@@ -23,7 +23,7 @@ export const ProductPropertyField: React.FC<ProductPropertyFieldProps> = ({
23
23
  <CardFieldText
24
24
  formName={formName ?? property.name}
25
25
  label={property.title}
26
- required={property.min_length ? true : false}
26
+ required={property.required}
27
27
  value={currentValue}
28
28
  />
29
29
  );
@@ -37,7 +37,7 @@ export const ProductPropertyField: React.FC<ProductPropertyFieldProps> = ({
37
37
  label={property.title}
38
38
  max={property.max_value}
39
39
  min={property.min_value}
40
- required={property.min_value !== undefined ? true : false}
40
+ required={property.required}
41
41
  value={Number.isNaN(currentValue) ? undefined : currentValue}
42
42
  />
43
43
  );
@@ -54,6 +54,7 @@ export const ProductPropertyField: React.FC<ProductPropertyFieldProps> = ({
54
54
  fallback={"—"}
55
55
  formName={formName ?? property.name}
56
56
  label={property.title}
57
+ required={property.required}
57
58
  value={(currentValue ?? []).map((val: ProductPropertyValue) => ({
58
59
  id: val as string,
59
60
  label: val as string,
@@ -40,6 +40,7 @@ export interface ProductProperty {
40
40
  name: string;
41
41
  title: string;
42
42
  type: string;
43
+ required: boolean;
43
44
 
44
45
  min_length?: number;
45
46
  min_value?: number;