Add plain text attribute (#2121)

This commit is contained in:
Dawid 2022-07-19 16:16:43 +02:00 committed by GitHub
parent 537cce95a7
commit 62c9f10f64
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 450 additions and 52 deletions

View file

@ -2400,6 +2400,10 @@
"context": "voucher value requirement",
"string": "Usage Limit"
},
"HLr8KQ": {
"context": "plain text attribute type",
"string": "Plain Text"
},
"HMD+ib": {
"string": "Last order"
},
@ -5475,10 +5479,6 @@
"context": "Amount error message",
"string": "Amount cannot be bigger than max refund"
},
"fdbqIs": {
"context": "text attribute type",
"string": "Text"
},
"fehqPs": {
"context": "order history message",
"string": "Products were deleted from an order"
@ -6006,6 +6006,10 @@
"context": "total order price",
"string": "Total"
},
"kEAjZV": {
"context": "rich text attribute type",
"string": "Rich Text"
},
"kErneR": {
"string": "This customer doesnt have any adresses added to his address book. You can add address using the button below."
},

10
package-lock.json generated
View file

@ -10091,7 +10091,7 @@
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
"dev": true
},
"buffer-equal-constant-time": {
@ -14970,7 +14970,7 @@
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
@ -15453,7 +15453,7 @@
"fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
"dev": true,
"requires": {
"pend": "~1.2.0"
@ -23602,7 +23602,7 @@
"ospath": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
"integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
"integrity": "sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs=",
"dev": true
},
"p-cancelable": {
@ -24155,7 +24155,7 @@
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
"dev": true
},
"performance-now": {

View file

@ -92,7 +92,11 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = props => {
value: AttributeInputTypeEnum.REFERENCE,
},
{
label: intl.formatMessage(inputTypeMessages.text),
label: intl.formatMessage(inputTypeMessages.plainText),
value: AttributeInputTypeEnum.PLAIN_TEXT,
},
{
label: intl.formatMessage(inputTypeMessages.richText),
value: AttributeInputTypeEnum.RICH_TEXT,
},
{

View file

@ -76,10 +76,15 @@ export const inputTypeMessages = defineMessages({
defaultMessage: "References",
description: "references attribute type",
},
text: {
id: "fdbqIs",
defaultMessage: "Text",
description: "text attribute type",
plainText: {
id: "HLr8KQ",
defaultMessage: "Plain Text",
description: "plain text attribute type",
},
richText: {
id: "kEAjZV",
defaultMessage: "Rich Text",
description: "rich text attribute type",
},
numeric: {
id: "SNiyXb",

View file

@ -49,6 +49,7 @@ export const attribute: AttributeDetailsQuery["attribute"] = {
name: "John Doe",
reference: null,
slug: "john-doe",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -66,6 +67,7 @@ export const attribute: AttributeDetailsQuery["attribute"] = {
name: "Milionare Pirate",
reference: null,
slug: "milionare-pirate",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -114,6 +116,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "john-doe",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -132,6 +135,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "milionare-pirate",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -176,6 +180,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "100g",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -194,6 +199,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "250g",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -212,6 +218,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "500g",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -230,6 +237,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "1kg",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -274,6 +282,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "saleor",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -318,6 +327,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "100g",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -336,6 +346,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "250g",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -354,6 +365,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "500g",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -398,6 +410,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "arabica",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -416,6 +429,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "robusta",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -460,6 +474,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "round",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -478,6 +493,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "v-neck",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -496,6 +512,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "polo",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -540,6 +557,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "blue",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -558,6 +576,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "white",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -602,6 +621,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "soft",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -620,6 +640,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "hard",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -638,6 +659,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "middle-soft",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -656,6 +678,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "middle-hard",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -674,6 +697,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "middle",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -692,6 +716,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "very-hard",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -736,6 +761,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "sour",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -754,6 +780,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "sweet",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -798,6 +825,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "english",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -816,6 +844,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "pirate",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -860,6 +889,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "mirumee-press",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -878,6 +908,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "saleor-publishing",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -922,6 +953,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "xs",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -940,6 +972,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "s",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -958,6 +991,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "m",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -976,6 +1010,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "l",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -994,6 +1029,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "xl",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -1012,6 +1048,7 @@ export const attributes: Array<AttributeListQuery["attributes"]["edges"][0]["nod
slug: "xxl",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,

View file

@ -178,6 +178,9 @@ export function getSelectedAttributeValues(
case AttributeInputTypeEnum.REFERENCE:
return attribute.values.map(value => value.reference);
case AttributeInputTypeEnum.PLAIN_TEXT:
return [attribute.values[0]?.plainText];
case AttributeInputTypeEnum.RICH_TEXT:
return [attribute.values[0]?.richText];

View file

@ -25,6 +25,7 @@ const multipleValueAttributes: FormsetData<AttributeInputData, string[]> = [
name: "Attribute 1 Value 1",
reference: null,
slug: "attr-1-v-1",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -49,6 +50,7 @@ const multipleValueAttributes: FormsetData<AttributeInputData, string[]> = [
name: "Attribute 2 Value 1",
reference: null,
slug: "attr-2-v-1",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -62,6 +64,7 @@ const multipleValueAttributes: FormsetData<AttributeInputData, string[]> = [
name: "Attribute 2 Value 2",
reference: null,
slug: "attr-2-v-2",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -75,6 +78,7 @@ const multipleValueAttributes: FormsetData<AttributeInputData, string[]> = [
name: "Attribute 2 Value 3",
reference: null,
slug: "attr-2-v-3",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -103,6 +107,7 @@ const multipleValueAttributes: FormsetData<AttributeInputData, string[]> = [
name: "File First Value",
reference: null,
slug: "file-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -162,6 +167,9 @@ const createBooleanAttribute = (value: string) =>
value,
});
const createPlainTextAttribute = (value: string) =>
createAttribute({ inputType: AttributeInputTypeEnum.PLAIN_TEXT, value });
const createRichTextAttribute = (value: string) =>
createAttribute({ inputType: AttributeInputTypeEnum.RICH_TEXT, value });
@ -317,6 +325,31 @@ describe("Sending only changed attributes", () => {
},
);
});
describe("works with plain text attributes", () => {
test.each`
newAttr | oldAttr | expected
${null} | ${null} | ${null}
${"my value"} | ${"my value"} | ${null}
${"my value"} | ${null} | ${"my value"}
${null} | ${"my value"} | ${undefined}
`(
"$oldAttr -> $newAttr returns $expected",
({ newAttr, oldAttr, expected }) => {
const attribute = createPlainTextAttribute(newAttr);
const prevAttribute = createPlainTextAttribute(oldAttr);
const result = prepareAttributesInput({
attributes: [attribute],
prevAttributes: [prevAttribute],
updatedFileAttributes: [],
});
const expectedResult =
expected !== null ? [{ id: ATTR_ID, plainText: expected }] : [];
expect(result).toEqual(expectedResult);
},
);
});
describe("works with rich text attributes", () => {
test.each`
newAttr | oldAttr | expected

View file

@ -220,7 +220,7 @@ export const prepareAttributesInput = ({
}: AttributesArgs): AttributeValueInput[] => {
const prevAttributesMap = getAttributesMap(prevAttributes);
return attributes.reduce((attrInput, attr) => {
return attributes.reduce((attrInput: AttributeValueInput[], attr) => {
const prevAttrValue = prevAttributesMap.get(attr.id);
if (isEqual(attr.value, prevAttrValue)) {
return attrInput;
@ -244,6 +244,13 @@ export const prepareAttributesInput = ({
attrInput.push(booleanInput);
return attrInput;
}
if (inputType === AttributeInputTypeEnum.PLAIN_TEXT) {
attrInput.push({
id: attr.id,
plainText: attr.value[0],
});
return attrInput;
}
if (inputType === AttributeInputTypeEnum.RICH_TEXT) {
attrInput.push({
id: attr.id,

View file

@ -219,6 +219,7 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({ params }) => {
slug: slugify(value.name).toLowerCase(),
sortOrder: valueIndex,
value: null,
plainText: null,
richText: null,
boolean: null,
date: null,

View file

@ -124,6 +124,22 @@ const AttributeRow: React.FC<AttributeRowProps> = ({
fetchMoreAttributeValues={fetchMoreAttributeValues}
/>
);
case AttributeInputTypeEnum.PLAIN_TEXT:
return (
<BasicAttributeRow label={attribute.label}>
<TextField
fullWidth
disabled={disabled}
error={!!error}
helperText={getErrorMessage(error, intl)}
label={intl.formatMessage(attributeRowMessages.valueLabel)}
name={`attribute:${attribute.label}`}
onChange={event => onChange(attribute.id, event.target.value)}
type="text"
value={attribute.value[0]}
/>
</BasicAttributeRow>
);
case AttributeInputTypeEnum.RICH_TEXT:
const {
getShouldMount,

View file

@ -18,6 +18,7 @@ const DROPDOWN_ATTRIBUTE: AttributeInput = {
name: "Dropdown First Value",
reference: null,
slug: "dropdown-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -31,6 +32,7 @@ const DROPDOWN_ATTRIBUTE: AttributeInput = {
name: "Dropdown Second Value",
reference: null,
slug: "dropdown-second-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -56,6 +58,7 @@ const MULTISELECT_ATTRIBUTE: AttributeInput = {
name: "Multiselect First Value",
reference: null,
slug: "multiselect-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -69,6 +72,7 @@ const MULTISELECT_ATTRIBUTE: AttributeInput = {
name: "Multiselect Second Value",
reference: null,
slug: "multiselect-second-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -82,6 +86,7 @@ const MULTISELECT_ATTRIBUTE: AttributeInput = {
name: "Multiselect Third Value",
reference: null,
slug: "multiselect-third-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -111,6 +116,7 @@ const FILE_ATTRIBUTE: AttributeInput = {
name: "File First Value",
reference: null,
slug: "file-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -151,6 +157,7 @@ const REFERENCE_ATTRIBUTE: AttributeInput = {
name: "References First Value",
reference: null,
slug: "references-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -164,6 +171,7 @@ const REFERENCE_ATTRIBUTE: AttributeInput = {
name: "References Second Value",
reference: null,
slug: "references-second-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -177,6 +185,7 @@ const REFERENCE_ATTRIBUTE: AttributeInput = {
name: "References Third Value",
reference: null,
slug: "references-third-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -190,6 +199,33 @@ const REFERENCE_ATTRIBUTE: AttributeInput = {
value: [],
};
const PLAIN_TEXT_ATTRIBUTE: AttributeInput = {
data: {
inputType: AttributeInputTypeEnum.PLAIN_TEXT,
isRequired: true,
values: [
{
__typename: "AttributeValue",
file: null,
id: "iuytqweytrqwe",
name: "Some cool text",
reference: null,
slug: "text",
plainText: "Some cool text",
richText: null,
boolean: null,
date: null,
dateTime: null,
value: null,
},
],
selectedValues: [],
},
id: "iuytqweytrqwe",
label: "Plain Text Attribute",
value: [],
};
const RICH_TEXT_ATTRIBUTE: AttributeInput = {
data: {
inputType: AttributeInputTypeEnum.RICH_TEXT,
@ -202,6 +238,7 @@ const RICH_TEXT_ATTRIBUTE: AttributeInput = {
name: "Some cool text",
reference: null,
slug: "text",
plainText: null,
richText: JSON.stringify({
time: 1617788754145,
blocks: [{ data: { text: "Some cool text" }, type: "paragraph" }],
@ -216,7 +253,7 @@ const RICH_TEXT_ATTRIBUTE: AttributeInput = {
selectedValues: [],
},
id: "asdfafd",
label: "Text Attribute",
label: "Rich Text Attribute",
value: [],
};
@ -232,6 +269,7 @@ const NUMERIC_ATTRIBUTE: AttributeInput = {
id: "QXR0cmlidXRlVmFsdWU6MTAx",
name: "12",
reference: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -257,6 +295,7 @@ const BOOLEAN_ATTRIBUTE: AttributeInput = {
id: "asdfasdfasdfasdf",
name: "Boolean Attribute: Yes",
reference: null,
plainText: null,
richText: null,
boolean: true,
slug: "319_True",
@ -282,6 +321,7 @@ const DATE_ATTRIBUTE: AttributeInput = {
id: "asdfasdfasdfasdf",
name: "Date Attribute: '2021-06-03 00:15:00+00:00'",
reference: null,
plainText: null,
richText: null,
boolean: true,
slug: "319_True",
@ -307,6 +347,7 @@ const DATE_TIME_ATTRIBUTE: AttributeInput = {
id: "asdfasdfasdfasdf",
name: "Date Time Attribute: '2021-06-03 00:15:00+00:00'",
reference: null,
plainText: null,
richText: null,
boolean: true,
slug: "319_True",
@ -332,6 +373,7 @@ const SWATCH_ATTRIBUTE: AttributeInput = {
id: "sdfgsdgsdfg",
name: "Red",
reference: null,
plainText: null,
richText: null,
boolean: true,
slug: "315_11",
@ -351,6 +393,7 @@ export const ATTRIBUTES: AttributeInput[] = [
MULTISELECT_ATTRIBUTE,
FILE_ATTRIBUTE,
REFERENCE_ATTRIBUTE,
PLAIN_TEXT_ATTRIBUTE,
RICH_TEXT_ATTRIBUTE,
NUMERIC_ATTRIBUTE,
BOOLEAN_ATTRIBUTE,
@ -383,6 +426,10 @@ export const ATTRIBUTES_SELECTED: AttributeInput[] = [
REFERENCE_ATTRIBUTE.data.values[2].id,
],
},
{
...PLAIN_TEXT_ATTRIBUTE,
value: [PLAIN_TEXT_ATTRIBUTE.data.values[0].plainText],
},
{
...RICH_TEXT_ATTRIBUTE,
data: {

View file

@ -20,6 +20,7 @@ export const attributeValueDetailsFragment = gql`
${attributeValueFragment}
fragment AttributeValueDetails on AttributeValue {
...AttributeValue
plainText
richText
}
`;

View file

@ -1572,6 +1572,7 @@ export const AttributeValueFragmentDoc = gql`
export const AttributeValueDetailsFragmentDoc = gql`
fragment AttributeValueDetails on AttributeValue {
...AttributeValue
plainText
richText
}
${AttributeValueFragmentDoc}`;

File diff suppressed because one or more lines are too long

View file

@ -70,6 +70,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -87,6 +88,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -104,6 +106,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -123,6 +126,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -161,6 +165,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -178,6 +183,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -195,6 +201,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -212,6 +219,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -231,6 +239,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -282,6 +291,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -299,6 +309,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -316,6 +327,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -353,6 +365,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -370,6 +383,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -387,6 +401,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,
@ -404,6 +419,7 @@ export const page: PageDetailsFragment = {
reference: null,
__typename: "AttributeValue",
file: null,
plainText: null,
richText: null,
boolean: null,
date: null,

View file

@ -44,6 +44,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -63,6 +64,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -106,6 +108,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -125,6 +128,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -144,6 +148,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 2,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -163,6 +168,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 3,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -206,6 +212,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -249,6 +256,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -268,6 +276,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -287,6 +296,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 2,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -330,6 +340,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -349,6 +360,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -392,6 +404,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -411,6 +424,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -430,6 +444,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 2,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -473,6 +488,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -492,6 +508,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -535,6 +552,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -554,6 +572,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -573,6 +592,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 2,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -592,6 +612,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 3,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -611,6 +632,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 4,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -630,6 +652,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 5,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -673,6 +696,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -692,6 +716,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -735,6 +760,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -754,6 +780,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -797,6 +824,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -816,6 +844,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -859,6 +888,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 0,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -878,6 +908,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 1,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -897,6 +928,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 2,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -916,6 +948,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 3,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -935,6 +968,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 4,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -954,6 +988,7 @@ export const attributes: ProductTypeQuery["productType"]["productAttributes"] =
sortOrder: 5,
type: "STRING",
value: "",
plainText: null,
richText: null,
boolean: null,
date: null,

View file

@ -51,6 +51,7 @@ export const product: (
name: "portals",
reference: null,
slug: "portals",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -68,6 +69,7 @@ export const product: (
name: "Baht",
reference: null,
slug: "Baht",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -86,6 +88,7 @@ export const product: (
name: "portals",
reference: null,
slug: "portals",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -125,6 +128,7 @@ export const product: (
name: "payment",
reference: null,
slug: "payment",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -142,6 +146,7 @@ export const product: (
name: "Auto Loan Account",
reference: null,
slug: "Auto-Loan-Account",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -159,6 +164,7 @@ export const product: (
name: "Garden",
reference: null,
slug: "Garden",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -176,6 +182,7 @@ export const product: (
name: "override",
reference: null,
slug: "override",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -194,6 +201,7 @@ export const product: (
name: "Auto Loan Account",
reference: null,
slug: "Auto-Loan-Account",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -393,6 +401,7 @@ export const product: (
name: "File First Value",
reference: null,
slug: "file-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -434,6 +443,7 @@ export const product: (
name: "Black",
reference: null,
slug: "black",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -451,6 +461,7 @@ export const product: (
name: "White",
reference: null,
slug: "white",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -499,6 +510,7 @@ export const product: (
name: "File First Value",
reference: null,
slug: "file-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -536,6 +548,7 @@ export const product: (
name: "Black",
reference: null,
slug: "black",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -553,6 +566,7 @@ export const product: (
name: "White",
reference: null,
slug: "white",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3068,6 +3082,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "File First Value",
reference: null,
slug: "file-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3090,6 +3105,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "File First Value",
reference: null,
slug: "file-first-value",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3311,6 +3327,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "portals",
reference: null,
slug: "portals",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3328,6 +3345,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "Baht",
reference: null,
slug: "Baht",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3346,6 +3364,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "portals",
reference: null,
slug: "portals",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3385,6 +3404,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "payment",
reference: null,
slug: "payment",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3402,6 +3422,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "Auto Loan Account",
reference: null,
slug: "Auto-Loan-Account",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3419,6 +3440,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "Garden",
reference: null,
slug: "Garden",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3436,6 +3458,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "override",
reference: null,
slug: "override",
plainText: null,
richText: null,
boolean: null,
date: null,
@ -3454,6 +3477,7 @@ export const variant = (placeholderImage: string): ProductVariantFragment => ({
name: "Auto Loan Account",
reference: null,
slug: "Auto-Loan-Account",
plainText: null,
richText: null,
boolean: null,
date: null,

View file

@ -56,7 +56,7 @@ exports[`Storyshots Attributes / Attributes default 1`] = `
<div
class="MuiTypography-root-id Attributes-expansionBarLabel-id MuiTypography-caption-id"
>
10 Attributes
11 Attributes
</div>
</div>
<button
@ -365,7 +365,61 @@ exports[`Storyshots Attributes / Attributes default 1`] = `
<div
class="MuiTypography-root-id MuiTypography-body1-id"
>
Text Attribute
Plain Text Attribute
</div>
</div>
<div
class="BasicAttributeRow-value-id"
data-test-id="attribute-value"
>
<div
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id"
data-shrink="false"
>
Value
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
>
<input
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="attribute:Plain Text Attribute"
type="text"
/>
<fieldset
aria-hidden="true"
class="PrivateNotchedOutline-root-id MuiOutlinedInput-notchedOutline-id"
>
<legend
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
Value
</span>
</legend>
</fieldset>
</div>
</div>
</div>
</div>
<hr
class="Hr-root-id"
/>
<div
class="BasicAttributeRow-attributeSection-id Grid-root-id Grid-uniform-id"
>
<div
class="BasicAttributeRow-attributeSectionLabel-id"
data-test-id="attribute-label"
>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
>
Rich Text Attribute
</div>
</div>
<div
@ -374,7 +428,7 @@ exports[`Storyshots Attributes / Attributes default 1`] = `
>
<div
class="MuiFormControl-root-id MuiFormControl-fullWidth-id"
data-test-id="rich-text-editor-attribute:Text Attribute"
data-test-id="rich-text-editor-attribute:Rich Text Attribute"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-focused-id MuiInputLabel-focused-id"
@ -786,7 +840,7 @@ exports[`Storyshots Attributes / Attributes disabled 1`] = `
<div
class="MuiTypography-root-id Attributes-expansionBarLabel-id MuiTypography-caption-id"
>
10 Attributes
11 Attributes
</div>
</div>
<button
@ -1099,7 +1153,62 @@ exports[`Storyshots Attributes / Attributes disabled 1`] = `
<div
class="MuiTypography-root-id MuiTypography-body1-id"
>
Text Attribute
Plain Text Attribute
</div>
</div>
<div
class="BasicAttributeRow-value-id"
data-test-id="attribute-value"
>
<div
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
data-shrink="false"
>
Value
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
>
<input
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id"
disabled=""
name="attribute:Plain Text Attribute"
type="text"
/>
<fieldset
aria-hidden="true"
class="PrivateNotchedOutline-root-id MuiOutlinedInput-notchedOutline-id"
>
<legend
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
Value
</span>
</legend>
</fieldset>
</div>
</div>
</div>
</div>
<hr
class="Hr-root-id"
/>
<div
class="BasicAttributeRow-attributeSection-id Grid-root-id Grid-uniform-id"
>
<div
class="BasicAttributeRow-attributeSectionLabel-id"
data-test-id="attribute-label"
>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
>
Rich Text Attribute
</div>
</div>
<div
@ -1108,7 +1217,7 @@ exports[`Storyshots Attributes / Attributes disabled 1`] = `
>
<div
class="MuiFormControl-root-id MuiFormControl-fullWidth-id"
data-test-id="rich-text-editor-attribute:Text Attribute"
data-test-id="rich-text-editor-attribute:Rich Text Attribute"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id MuiFormLabel-focused-id MuiInputLabel-focused-id"
@ -1527,7 +1636,7 @@ exports[`Storyshots Attributes / Attributes selected 1`] = `
<div
class="MuiTypography-root-id Attributes-expansionBarLabel-id MuiTypography-caption-id"
>
10 Attributes
11 Attributes
</div>
</div>
<button
@ -2054,7 +2163,62 @@ exports[`Storyshots Attributes / Attributes selected 1`] = `
<div
class="MuiTypography-root-id MuiTypography-body1-id"
>
Text Attribute
Plain Text Attribute
</div>
</div>
<div
class="BasicAttributeRow-value-id"
data-test-id="attribute-value"
>
<div
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
data-shrink="true"
>
Value
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
>
<input
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="attribute:Plain Text Attribute"
type="text"
value="Some cool text"
/>
<fieldset
aria-hidden="true"
class="PrivateNotchedOutline-root-id MuiOutlinedInput-notchedOutline-id"
>
<legend
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
Value
</span>
</legend>
</fieldset>
</div>
</div>
</div>
</div>
<hr
class="Hr-root-id"
/>
<div
class="BasicAttributeRow-attributeSection-id Grid-root-id Grid-uniform-id"
>
<div
class="BasicAttributeRow-attributeSectionLabel-id"
data-test-id="attribute-label"
>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
>
Rich Text Attribute
</div>
</div>
<div
@ -2063,7 +2227,7 @@ exports[`Storyshots Attributes / Attributes selected 1`] = `
>
<div
class="MuiFormControl-root-id MuiFormControl-fullWidth-id"
data-test-id="rich-text-editor-attribute:Text Attribute"
data-test-id="rich-text-editor-attribute:Rich Text Attribute"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-focused-id MuiInputLabel-focused-id"