Remove ids
This commit is contained in:
parent
e790ee615f
commit
a472c8cd1a
37 changed files with 363 additions and 511 deletions
File diff suppressed because it is too large
Load diff
|
@ -24,11 +24,9 @@ const AttributeBulkDeleteDialog: React.StatelessComponent<
|
||||||
confirmButtonState={confirmButtonState}
|
confirmButtonState={confirmButtonState}
|
||||||
onClose={onClose}
|
onClose={onClose}
|
||||||
onConfirm={onConfirm}
|
onConfirm={onConfirm}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({defaultMessage: "Delete attributes",
|
||||||
defaultMessage: "Delete attributes",
|
|
||||||
description: "dialog title",
|
description: "dialog title",
|
||||||
id: "attributeBulkDeleteDialogTitle"
|
})}
|
||||||
})}
|
|
||||||
variant="delete"
|
variant="delete"
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
|
@ -38,7 +36,6 @@ const AttributeBulkDeleteDialog: React.StatelessComponent<
|
||||||
other {{displayQuantity} attributes}
|
other {{displayQuantity} attributes}
|
||||||
}?"
|
}?"
|
||||||
description="dialog content"
|
description="dialog content"
|
||||||
id="attributeBulkDeleteDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: quantity,
|
counter: quantity,
|
||||||
displayQuantity: <strong>{quantity}</strong>
|
displayQuantity: <strong>{quantity}</strong>
|
||||||
|
|
|
@ -29,17 +29,14 @@ const AttributeDeleteDialog: React.FC<AttributeDeleteDialogProps> = ({
|
||||||
confirmButtonState={confirmButtonState}
|
confirmButtonState={confirmButtonState}
|
||||||
onConfirm={onConfirm}
|
onConfirm={onConfirm}
|
||||||
variant="delete"
|
variant="delete"
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({defaultMessage: "Delete attribute",
|
||||||
defaultMessage: "Delete attribute",
|
|
||||||
description: "dialog title",
|
description: "dialog title",
|
||||||
id: "attributeDeleteDialogTitle"
|
})}
|
||||||
})}
|
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Are you sure you want to delete {attributeName}?"
|
defaultMessage="Are you sure you want to delete {attributeName}?"
|
||||||
description="dialog content"
|
description="dialog content"
|
||||||
id="attributeDeleteDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
attributeName: <strong>{name}</strong>
|
attributeName: <strong>{name}</strong>
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -32,19 +32,15 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
const inputTypeChoices = [
|
const inputTypeChoices = [
|
||||||
{
|
{
|
||||||
label: intl.formatMessage({
|
label: intl.formatMessage({defaultMessage: "Dropdown",
|
||||||
defaultMessage: "Dropdown",
|
|
||||||
description: "product attribute type",
|
description: "product attribute type",
|
||||||
id: "attributeDetailsInputTypeDropdown"
|
}),
|
||||||
}),
|
|
||||||
value: AttributeInputTypeEnum.DROPDOWN
|
value: AttributeInputTypeEnum.DROPDOWN
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: intl.formatMessage({
|
label: intl.formatMessage({defaultMessage: "Multiple Select",
|
||||||
defaultMessage: "Multiple Select",
|
|
||||||
description: "product attribute type",
|
description: "product attribute type",
|
||||||
id: "attributeDetailsInputTypeMultiselect"
|
}),
|
||||||
}),
|
|
||||||
value: AttributeInputTypeEnum.MULTISELECT
|
value: AttributeInputTypeEnum.MULTISELECT
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -58,11 +54,9 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({
|
||||||
<TextField
|
<TextField
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
error={!!errors.name}
|
error={!!errors.name}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({defaultMessage: "Default Label",
|
||||||
defaultMessage: "Default Label",
|
|
||||||
description: "attribute's label",
|
description: "attribute's label",
|
||||||
id: "attributeDetailsNameInputLabel"
|
})}
|
||||||
})}
|
|
||||||
name={"name" as keyof AttributePageFormData}
|
name={"name" as keyof AttributePageFormData}
|
||||||
fullWidth
|
fullWidth
|
||||||
helperText={errors.name}
|
helperText={errors.name}
|
||||||
|
@ -73,22 +67,18 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({
|
||||||
<TextField
|
<TextField
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
error={!!errors.slug}
|
error={!!errors.slug}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({defaultMessage: "Attribute Code",
|
||||||
defaultMessage: "Attribute Code",
|
|
||||||
description: "attribute's slug short code label",
|
description: "attribute's slug short code label",
|
||||||
id: "attributeDetailsSlugInputLabel"
|
})}
|
||||||
})}
|
|
||||||
name={"slug" as keyof AttributePageFormData}
|
name={"slug" as keyof AttributePageFormData}
|
||||||
placeholder={slugify(data.name).toLowerCase()}
|
placeholder={slugify(data.name).toLowerCase()}
|
||||||
fullWidth
|
fullWidth
|
||||||
helperText={
|
helperText={
|
||||||
errors.slug ||
|
errors.slug ||
|
||||||
intl.formatMessage({
|
intl.formatMessage({defaultMessage:
|
||||||
defaultMessage:
|
|
||||||
"This is used internally. Make sure you don’t use spaces",
|
"This is used internally. Make sure you don’t use spaces",
|
||||||
description: "attribute slug input field helper text",
|
description: "attribute slug input field helper text",
|
||||||
id: "attributeDetailsNameInputHelperText"
|
})
|
||||||
})
|
|
||||||
}
|
}
|
||||||
value={data.slug}
|
value={data.slug}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
|
@ -99,11 +89,9 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({
|
||||||
disabled={disabled || !canChangeType}
|
disabled={disabled || !canChangeType}
|
||||||
error={!!errors.inputType}
|
error={!!errors.inputType}
|
||||||
hint={errors.inputType}
|
hint={errors.inputType}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({defaultMessage: "Catalog Input type for Store Owner",
|
||||||
defaultMessage: "Catalog Input type for Store Owner",
|
|
||||||
description: "attribute's editor component",
|
description: "attribute's editor component",
|
||||||
id: "attributeDetailsInputTypeField"
|
})}
|
||||||
})}
|
|
||||||
name="inputType"
|
name="inputType"
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
value={data.inputType}
|
value={data.inputType}
|
||||||
|
@ -111,11 +99,9 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({
|
||||||
<FormSpacer />
|
<FormSpacer />
|
||||||
<ControlledSwitch
|
<ControlledSwitch
|
||||||
checked={data.valueRequired}
|
checked={data.valueRequired}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({defaultMessage: "Value Required",
|
||||||
defaultMessage: "Value Required",
|
|
||||||
description: "check to require attribute to have value",
|
description: "check to require attribute to have value",
|
||||||
id: "attributeDetailsValueRequiredInputLabel"
|
})}
|
||||||
})}
|
|
||||||
name={"valueRequired" as keyof AttributePageFormData}
|
name={"valueRequired" as keyof AttributePageFormData}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -85,35 +85,35 @@ const AttributeList: React.StatelessComponent<AttributeListProps> = ({
|
||||||
<TableCell className={classes.colSlug}>
|
<TableCell className={classes.colSlug}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Attribute Code"
|
defaultMessage="Attribute Code"
|
||||||
id="attributeListSlugColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colName}>
|
<TableCell className={classes.colName}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Default Label"
|
defaultMessage="Default Label"
|
||||||
description="attribute's label'"
|
description="attribute's label'"
|
||||||
id="attributeListNameColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colVisible}>
|
<TableCell className={classes.colVisible}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Visible"
|
defaultMessage="Visible"
|
||||||
description="attribute is visible"
|
description="attribute is visible"
|
||||||
id="attributeListVisibilityColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colSearchable}>
|
<TableCell className={classes.colSearchable}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Searchable"
|
defaultMessage="Searchable"
|
||||||
description="attribute can be searched in dashboard"
|
description="attribute can be searched in dashboard"
|
||||||
id="attributeListSearchableColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colFaceted}>
|
<TableCell className={classes.colFaceted}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Use in faceted search"
|
defaultMessage="Use in faceted search"
|
||||||
description="attribute can be searched in storefront"
|
description="attribute can be searched in storefront"
|
||||||
id="attributeListFacetedColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
|
@ -187,7 +187,7 @@ const AttributeList: React.StatelessComponent<AttributeListProps> = ({
|
||||||
<TableCell colSpan={numberOfColumns}>
|
<TableCell colSpan={numberOfColumns}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="No attributes found"
|
defaultMessage="No attributes found"
|
||||||
id="AttributeListNoAttributes"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
|
@ -23,14 +23,11 @@ const AttributeListPage: React.FC<AttributeListPageProps> = ({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
<PageHeader
|
<PageHeader title={intl.formatMessage(sectionNames.attributes)}>
|
||||||
title={intl.formatMessage(sectionNames.attributes)}
|
|
||||||
>
|
|
||||||
<Button onClick={onAdd} color="primary" variant="contained">
|
<Button onClick={onAdd} color="primary" variant="contained">
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Add attribute"
|
defaultMessage="Add attribute"
|
||||||
description="button"
|
description="button"
|
||||||
id="attributeListPageAddAttribute"
|
|
||||||
/>
|
/>
|
||||||
<AddIcon />
|
<AddIcon />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
@ -120,7 +120,7 @@ const AttributePage: React.FC<AttributePageProps> = ({
|
||||||
? intl.formatMessage({
|
? intl.formatMessage({
|
||||||
defaultMessage: "Create New Attribute",
|
defaultMessage: "Create New Attribute",
|
||||||
description: "page title",
|
description: "page title",
|
||||||
id: "attributePageTitle"
|
|
||||||
})
|
})
|
||||||
: maybe(() => attribute.name)
|
: maybe(() => attribute.name)
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="General Properties"
|
defaultMessage="General Properties"
|
||||||
description="attribute general properties section"
|
description="attribute general properties section"
|
||||||
id="attributePropertiesGeneralSectionTitle"
|
|
||||||
/>
|
/>
|
||||||
</Typography>
|
</Typography>
|
||||||
<Hr />
|
<Hr />
|
||||||
|
@ -51,12 +51,12 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Variant Attribute"
|
defaultMessage="Variant Attribute"
|
||||||
description="attribute is variant-only"
|
description="attribute is variant-only"
|
||||||
id="attributePropertiesVariantOnly"
|
|
||||||
/>
|
/>
|
||||||
<Typography variant="caption">
|
<Typography variant="caption">
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="If enabled, you'll be able to use this attribute to create product variants"
|
defaultMessage="If enabled, you'll be able to use this attribute to create product variants"
|
||||||
id="attributePropertiesVariantOnlyHelperText"
|
|
||||||
/>
|
/>
|
||||||
</Typography>
|
</Typography>
|
||||||
</>
|
</>
|
||||||
|
@ -68,7 +68,6 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Storefront Properties"
|
defaultMessage="Storefront Properties"
|
||||||
description="attribute properties regarding storefront"
|
description="attribute properties regarding storefront"
|
||||||
id="attributePropertiesStorefront"
|
|
||||||
/>
|
/>
|
||||||
</Typography>
|
</Typography>
|
||||||
<Hr />
|
<Hr />
|
||||||
|
@ -78,8 +77,7 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Use in faceted navigation",
|
defaultMessage: "Use in faceted navigation",
|
||||||
description: "attribute is filterable in storefront",
|
description: "attribute is filterable in storefront"
|
||||||
id: "attributePropertiesUseInFacetedNavigation"
|
|
||||||
})}
|
})}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
/>
|
/>
|
||||||
|
@ -92,8 +90,7 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
name={"storefrontSearchPosition" as keyof AttributePageFormData}
|
name={"storefrontSearchPosition" as keyof AttributePageFormData}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Position in faceted navigation",
|
defaultMessage: "Position in faceted navigation",
|
||||||
description: "attribute position in storefront filters",
|
description: "attribute position in storefront filters"
|
||||||
id: "attributePropertiesFacetedNavigationPosition"
|
|
||||||
})}
|
})}
|
||||||
value={data.storefrontSearchPosition}
|
value={data.storefrontSearchPosition}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
|
@ -106,8 +103,7 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Visible on Product Page in Storefront",
|
defaultMessage: "Visible on Product Page in Storefront",
|
||||||
description: "attribute",
|
description: "attribute"
|
||||||
id: "attributePropertiesVisibility"
|
|
||||||
})}
|
})}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
/>
|
/>
|
||||||
|
@ -116,7 +112,6 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Dashboard Properties"
|
defaultMessage="Dashboard Properties"
|
||||||
description="attribute properties regarding dashboard"
|
description="attribute properties regarding dashboard"
|
||||||
id="attributePropertiesDashboard"
|
|
||||||
/>
|
/>
|
||||||
</Typography>
|
</Typography>
|
||||||
<Hr />
|
<Hr />
|
||||||
|
@ -127,8 +122,7 @@ const AttributeProperties: React.FC<AttributePropertiesProps> = ({
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Use in Filtering",
|
defaultMessage: "Use in Filtering",
|
||||||
description: "use attribute in filtering",
|
description: "use attribute in filtering"
|
||||||
id: "attributePropertiesDashboardFiltering"
|
|
||||||
})}
|
})}
|
||||||
secondLabel={
|
secondLabel={
|
||||||
<Typography variant="caption">
|
<Typography variant="caption">
|
||||||
|
|
|
@ -36,14 +36,14 @@ const AttributeValueDeleteDialog: React.FC<AttributeValueDeleteDialogProps> = ({
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete attribute value",
|
defaultMessage: "Delete attribute value",
|
||||||
description: "dialog title",
|
description: "dialog title",
|
||||||
id: "attributeValueDeleteDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
{useName ? (
|
{useName ? (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage='Are you sure you want to delete "{ name }" value? If you delete it you won’t be able to assign it to any of the products with "{ attributeName }" attribute.'
|
defaultMessage='Are you sure you want to delete "{ name }" value? If you delete it you won’t be able to assign it to any of the products with "{ attributeName }" attribute.'
|
||||||
id="attributeValueDeleteDialogContentWithAttributeName"
|
|
||||||
values={{
|
values={{
|
||||||
attributeName,
|
attributeName,
|
||||||
name
|
name
|
||||||
|
@ -53,7 +53,7 @@ const AttributeValueDeleteDialog: React.FC<AttributeValueDeleteDialogProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage='Are you sure you want to delete "{ name }" value?'
|
defaultMessage='Are you sure you want to delete "{ name }" value?'
|
||||||
description="delete attribute value"
|
description="delete attribute value"
|
||||||
id="attributeValueDeleteDialogContentWithoutAttributeName"
|
|
||||||
values={{
|
values={{
|
||||||
name
|
name
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -54,13 +54,13 @@ const AttributeValueEditDialog: React.StatelessComponent<
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Add Value"
|
defaultMessage="Add Value"
|
||||||
description="add attribute value"
|
description="add attribute value"
|
||||||
id="attributeValueEditDialogTitleNewValue"
|
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Edit Value"
|
defaultMessage="Edit Value"
|
||||||
description="edit attribute value"
|
description="edit attribute value"
|
||||||
id="attributeValueEditDialogTitle"
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</DialogTitle>
|
</DialogTitle>
|
||||||
|
@ -78,7 +78,7 @@ const AttributeValueEditDialog: React.StatelessComponent<
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Name",
|
defaultMessage: "Name",
|
||||||
description: "attribute name",
|
description: "attribute name",
|
||||||
id: "attributeValueEditDialogNameField"
|
|
||||||
})}
|
})}
|
||||||
value={data.name}
|
value={data.name}
|
||||||
onChange={change}
|
onChange={change}
|
||||||
|
|
|
@ -71,14 +71,14 @@ const AttributeValues: React.FC<AttributeValuesProps> = ({
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Attribute Values",
|
defaultMessage: "Attribute Values",
|
||||||
description: "section header",
|
description: "section header",
|
||||||
id: "attributeValuesHeader"
|
|
||||||
})}
|
})}
|
||||||
toolbar={
|
toolbar={
|
||||||
<Button color="primary" variant="text" onClick={onValueAdd}>
|
<Button color="primary" variant="text" onClick={onValueAdd}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Add value"
|
defaultMessage="Add value"
|
||||||
description="add attribute value button"
|
description="add attribute value button"
|
||||||
id="attributeValuesAddButton"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
|
@ -91,14 +91,14 @@ const AttributeValues: React.FC<AttributeValuesProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Admin"
|
defaultMessage="Admin"
|
||||||
description="attribute values list: slug column header"
|
description="attribute values list: slug column header"
|
||||||
id="attributeValuesSlugColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.columnStore}>
|
<TableCell className={classes.columnStore}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Default Store View"
|
defaultMessage="Default Store View"
|
||||||
description="attribute values list: name column header"
|
description="attribute values list: name column header"
|
||||||
id="attributeValuesNameColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell />
|
<TableCell />
|
||||||
|
@ -137,7 +137,7 @@ const AttributeValues: React.FC<AttributeValuesProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="No values found"
|
defaultMessage="No values found"
|
||||||
description="No attribute values found"
|
description="No attribute values found"
|
||||||
id="attributeValuesNotFound"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
|
@ -78,8 +78,7 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({ params }) => {
|
||||||
if (data.attributeCreate.errors.length === 0) {
|
if (data.attributeCreate.errors.length === 0) {
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Successfully created attribute",
|
defaultMessage: "Successfully created attribute"
|
||||||
id: "attributeCreateAttributeCreateSuccess"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
navigate(attributeUrl(data.attributeCreate.attribute.id));
|
navigate(attributeUrl(data.attributeCreate.attribute.id));
|
||||||
|
@ -93,8 +92,7 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({ params }) => {
|
||||||
message: intl.formatMessage(
|
message: intl.formatMessage(
|
||||||
{
|
{
|
||||||
defaultMessage: "A value named { name } already exists",
|
defaultMessage: "A value named { name } already exists",
|
||||||
description: "attribute value edit error",
|
description: "attribute value edit error"
|
||||||
id: "attributeCreateErrorExists"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: input.name
|
name: input.name
|
||||||
|
@ -115,8 +113,7 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({ params }) => {
|
||||||
message: intl.formatMessage(
|
message: intl.formatMessage(
|
||||||
{
|
{
|
||||||
defaultMessage: "A value named { name } already exists",
|
defaultMessage: "A value named { name } already exists",
|
||||||
description: "attribute value edit error",
|
description: "attribute value edit error"
|
||||||
id: "attributeCreateErrorExists"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: input.name
|
name: input.name
|
||||||
|
|
|
@ -68,7 +68,7 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({ id, params }) => {
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Attribute deleted",
|
defaultMessage: "Attribute deleted",
|
||||||
id: "attributeDetailsAttributeRemoveSuccess"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
navigate(attributeListUrl());
|
navigate(attributeListUrl());
|
||||||
|
@ -80,7 +80,7 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({ id, params }) => {
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Value deleted",
|
defaultMessage: "Value deleted",
|
||||||
description: "attribute value deleted",
|
description: "attribute value deleted",
|
||||||
id: "attributeDetailsAttributeValueDeleteSuccess"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
closeModal();
|
closeModal();
|
||||||
|
@ -103,7 +103,7 @@ const AttributeDetails: React.FC<AttributeDetailsProps> = ({ id, params }) => {
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Added new value",
|
defaultMessage: "Added new value",
|
||||||
description: "added new attribute value",
|
description: "added new attribute value",
|
||||||
id: "attributeDetailsAttributeValueCreateSuccess"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
closeModal();
|
closeModal();
|
||||||
|
|
|
@ -75,7 +75,7 @@ const AttributeList: React.FC<AttributeListProps> = ({ params }) => {
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Attributes successfully delete",
|
defaultMessage: "Attributes successfully delete",
|
||||||
description: "deleted multiple attributes",
|
description: "deleted multiple attributes",
|
||||||
id: "attributeListAttributesDeleted"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
reset();
|
reset();
|
||||||
|
|
|
@ -62,7 +62,7 @@ const CategoryBackground: React.FC<CategoryBackgroundProps> = props => {
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Background image (optional)",
|
defaultMessage: "Background image (optional)",
|
||||||
description: "section header",
|
description: "section header",
|
||||||
id: "categoryBackgroundHeader"
|
|
||||||
})}
|
})}
|
||||||
toolbar={
|
toolbar={
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -62,7 +62,7 @@ export const CategoryCreatePage: React.StatelessComponent<
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Create New Category",
|
defaultMessage: "Create New Category",
|
||||||
description: "page header",
|
description: "page header",
|
||||||
id: "categoryCreatePageHeader"
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
|
@ -77,7 +77,7 @@ export const CategoryCreatePage: React.StatelessComponent<
|
||||||
helperText={intl.formatMessage({
|
helperText={intl.formatMessage({
|
||||||
defaultMessage:
|
defaultMessage:
|
||||||
"Add search engine title and description to make this category easier to find",
|
"Add search engine title and description to make this category easier to find",
|
||||||
id: "categoryCreatePageSeo"
|
|
||||||
})}
|
})}
|
||||||
title={data.seoTitle}
|
title={data.seoTitle}
|
||||||
titlePlaceholder={data.name}
|
titlePlaceholder={data.name}
|
||||||
|
|
|
@ -41,7 +41,7 @@ const CategoryDeleteDialog = withStyles(styles, {
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Delete category"
|
defaultMessage="Delete category"
|
||||||
description="dialog title"
|
description="dialog title"
|
||||||
id="categoryDeleteDialogTitle"
|
|
||||||
/>
|
/>
|
||||||
</DialogTitle>
|
</DialogTitle>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
|
@ -49,7 +49,7 @@ const CategoryDeleteDialog = withStyles(styles, {
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Are you sure you want to delete {categoryName}?"
|
defaultMessage="Are you sure you want to delete {categoryName}?"
|
||||||
description="delete category"
|
description="delete category"
|
||||||
id="categoryDeleteDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
categoryName: <strong>{name}</strong>
|
categoryName: <strong>{name}</strong>
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -55,7 +55,7 @@ export const CategoryDetailsForm = withStyles(styles, {
|
||||||
classes={{ root: classes.root }}
|
classes={{ root: classes.root }}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Category Name",
|
defaultMessage: "Category Name",
|
||||||
id: "categoryDetailsFormNameInputLabel"
|
|
||||||
})}
|
})}
|
||||||
name="name"
|
name="name"
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
@ -72,7 +72,7 @@ export const CategoryDetailsForm = withStyles(styles, {
|
||||||
helperText={errors.descriptionJson}
|
helperText={errors.descriptionJson}
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Category Description",
|
defaultMessage: "Category Description",
|
||||||
id: "categoryDetailsFormDescriptionInputLabel"
|
|
||||||
})}
|
})}
|
||||||
initial={maybe(() => JSON.parse(category.descriptionJson))}
|
initial={maybe(() => JSON.parse(category.descriptionJson))}
|
||||||
name="description"
|
name="description"
|
||||||
|
|
|
@ -97,14 +97,14 @@ const CategoryList = withStyles(styles, { name: "CategoryList" })(
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "All Subcategories",
|
defaultMessage: "All Subcategories",
|
||||||
description: "section header",
|
description: "section header",
|
||||||
id: "categoryListSubcategoriesSectionHeader"
|
|
||||||
})}
|
})}
|
||||||
toolbar={
|
toolbar={
|
||||||
<Button color="primary" variant="text" onClick={onAdd}>
|
<Button color="primary" variant="text" onClick={onAdd}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Add subcategory"
|
defaultMessage="Add subcategory"
|
||||||
description="button"
|
description="button"
|
||||||
id="categoryListAddSubcategoryButton"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
|
@ -122,21 +122,21 @@ const CategoryList = withStyles(styles, { name: "CategoryList" })(
|
||||||
<TableCell className={classes.colName}>
|
<TableCell className={classes.colName}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Category Name"
|
defaultMessage="Category Name"
|
||||||
id="categoryListNameColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colSubcategories}>
|
<TableCell className={classes.colSubcategories}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Subcategories"
|
defaultMessage="Subcategories"
|
||||||
description="number of subcategories"
|
description="number of subcategories"
|
||||||
id="categoryListSubcategoriesColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colProducts}>
|
<TableCell className={classes.colProducts}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="No. of Products"
|
defaultMessage="No. of Products"
|
||||||
description="number of products"
|
description="number of products"
|
||||||
id="categoryListNumberOfProductsColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
|
@ -209,12 +209,12 @@ const CategoryList = withStyles(styles, { name: "CategoryList" })(
|
||||||
{isRoot ? (
|
{isRoot ? (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="No categories found"
|
defaultMessage="No categories found"
|
||||||
id="categoryListNoCategories"
|
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="No subcategories found"
|
defaultMessage="No subcategories found"
|
||||||
id="categoryListNoSubcategories"
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
|
|
@ -46,7 +46,7 @@ export const CategoryListPage: React.StatelessComponent<CategoryTableProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Add category"
|
defaultMessage="Add category"
|
||||||
description="button"
|
description="button"
|
||||||
id="categoryListPageAddCategoryButton"
|
|
||||||
/>
|
/>
|
||||||
<AddIcon />
|
<AddIcon />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
@ -70,14 +70,14 @@ export const ProductList = withStyles(styles, { name: "ProductList" })(
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Products",
|
defaultMessage: "Products",
|
||||||
description: "section header",
|
description: "section header",
|
||||||
id: "categoryProductsHeader"
|
|
||||||
})}
|
})}
|
||||||
toolbar={
|
toolbar={
|
||||||
<Button variant="text" color="primary" onClick={onAddProduct}>
|
<Button variant="text" color="primary" onClick={onAddProduct}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Add product"
|
defaultMessage="Add product"
|
||||||
description="button"
|
description="button"
|
||||||
id="categoryProductsAddProductButton"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
|
@ -90,15 +90,13 @@ export const ProductList = withStyles(styles, { name: "ProductList" })(
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Name"
|
defaultMessage="Name"
|
||||||
description="product name"
|
description="product name"
|
||||||
id="categoryProductsNameHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Type"
|
||||||
defaultMessage="Type"
|
|
||||||
description="product type"
|
description="product type"
|
||||||
id="categoryProductsTypeHeader"
|
/>
|
||||||
/>
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
|
@ -145,10 +143,8 @@ export const ProductList = withStyles(styles, { name: "ProductList" })(
|
||||||
() => (
|
() => (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colSpan={3}>
|
<TableCell colSpan={3}>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="No products found"
|
||||||
defaultMessage="No products found"
|
/>
|
||||||
id="categoryProductsNoProducts"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
)
|
)
|
||||||
|
|
|
@ -38,8 +38,7 @@ export const CategoryProductsCard: React.StatelessComponent<
|
||||||
title={intl.formatMessage(
|
title={intl.formatMessage(
|
||||||
{
|
{
|
||||||
defaultMessage: "Products in {categoryName}",
|
defaultMessage: "Products in {categoryName}",
|
||||||
description: "section header",
|
description: "section header"
|
||||||
id: "categoryProductsCardHeader"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
categoryName
|
categoryName
|
||||||
|
@ -50,7 +49,6 @@ export const CategoryProductsCard: React.StatelessComponent<
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Add product"
|
defaultMessage="Add product"
|
||||||
description="button"
|
description="button"
|
||||||
id="categoryProductsCardAddProductButton"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ export const CategoryUpdatePage: React.StatelessComponent<
|
||||||
helperText={intl.formatMessage({
|
helperText={intl.formatMessage({
|
||||||
defaultMessage:
|
defaultMessage:
|
||||||
"Add search engine title and description to make this category easier to find",
|
"Add search engine title and description to make this category easier to find",
|
||||||
id: "categoryUpdatePageSeo"
|
|
||||||
})}
|
})}
|
||||||
title={data.seoTitle}
|
title={data.seoTitle}
|
||||||
titlePlaceholder={data.name}
|
titlePlaceholder={data.name}
|
||||||
|
@ -162,21 +162,17 @@ export const CategoryUpdatePage: React.StatelessComponent<
|
||||||
isActive={currentTab === CategoryPageTab.categories}
|
isActive={currentTab === CategoryPageTab.categories}
|
||||||
changeTab={changeTab}
|
changeTab={changeTab}
|
||||||
>
|
>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Subcategories"
|
||||||
defaultMessage="Subcategories"
|
|
||||||
description="number of subcategories in category"
|
description="number of subcategories in category"
|
||||||
id="categoryUpdatePageSubcategoriesColumnHeader"
|
/>
|
||||||
/>
|
|
||||||
</CategoriesTab>
|
</CategoriesTab>
|
||||||
<ProductsTab
|
<ProductsTab
|
||||||
isActive={currentTab === CategoryPageTab.products}
|
isActive={currentTab === CategoryPageTab.products}
|
||||||
changeTab={changeTab}
|
changeTab={changeTab}
|
||||||
>
|
>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Products"
|
||||||
defaultMessage="Products"
|
|
||||||
description="number of products in category"
|
description="number of products in category"
|
||||||
id="categoryUpdatePageProductsColumnHeader"
|
/>
|
||||||
/>
|
|
||||||
</ProductsTab>
|
</ProductsTab>
|
||||||
</TabContainer>
|
</TabContainer>
|
||||||
<CardSpacer />
|
<CardSpacer />
|
||||||
|
|
|
@ -26,7 +26,7 @@ export const CategoryCreateView: React.StatelessComponent<
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Category created",
|
defaultMessage: "Category created",
|
||||||
id: "categoryCreateCategoryCreated"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
navigate(categoryUrl(data.categoryCreate.category.id));
|
navigate(categoryUrl(data.categoryCreate.category.id));
|
||||||
|
@ -52,7 +52,7 @@ export const CategoryCreateView: React.StatelessComponent<
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Create category",
|
defaultMessage: "Create category",
|
||||||
description: "window title",
|
description: "window title",
|
||||||
id: "categoryCreateWindowTitle"
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<CategoryCreatePage
|
<CategoryCreatePage
|
||||||
|
|
|
@ -66,8 +66,7 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
if (data.categoryDelete.errors.length === 0) {
|
if (data.categoryDelete.errors.length === 0) {
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Category deleted",
|
defaultMessage: "Category deleted"
|
||||||
id: "categoryDetailsCategoryDeleted"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
navigate(categoryListUrl());
|
navigate(categoryListUrl());
|
||||||
|
@ -324,16 +323,13 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
open={params.action === "delete"}
|
open={params.action === "delete"}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete category",
|
defaultMessage: "Delete category",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id:
|
|
||||||
"categoryDetailsDeleteCategoryDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
variant="delete"
|
variant="delete"
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Are you sure you want to delete {categoryName}?"
|
defaultMessage="Are you sure you want to delete {categoryName}?"
|
||||||
id="categoryDetailsDeleteCategoryDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
categoryName: (
|
categoryName: (
|
||||||
<strong>
|
<strong>
|
||||||
|
@ -347,10 +343,7 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
/>
|
/>
|
||||||
</DialogContentText>
|
</DialogContentText>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Remember this will also delete all products assigned to this category." />
|
||||||
defaultMessage="Remember this will also delete all products assigned to this category."
|
|
||||||
id="categoryDetailsDeleteCategoryDialogContentAdditionalText"
|
|
||||||
/>
|
|
||||||
</DialogContentText>
|
</DialogContentText>
|
||||||
</ActionDialog>
|
</ActionDialog>
|
||||||
<ActionDialog
|
<ActionDialog
|
||||||
|
@ -369,9 +362,7 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
}
|
}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete categories",
|
defaultMessage: "Delete categories",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id:
|
|
||||||
"categoryDetailsDeleteSubcategoriesDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
variant="delete"
|
variant="delete"
|
||||||
>
|
>
|
||||||
|
@ -381,7 +372,6 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
one {this attribute}
|
one {this attribute}
|
||||||
other {{displayQuantity} categories}
|
other {{displayQuantity} categories}
|
||||||
}?"
|
}?"
|
||||||
id="categoryDetailsDeleteCategoriesDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: maybe(
|
counter: maybe(
|
||||||
() => params.ids.length
|
() => params.ids.length
|
||||||
|
@ -395,10 +385,7 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
/>
|
/>
|
||||||
</DialogContentText>
|
</DialogContentText>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Remember this will also delete all products assigned to this category." />
|
||||||
defaultMessage="Remember this will also delete all products assigned to this category."
|
|
||||||
id="categoryDetailsDeleteCategoriesDialogContentAdditionalText"
|
|
||||||
/>
|
|
||||||
</DialogContentText>
|
</DialogContentText>
|
||||||
</ActionDialog>
|
</ActionDialog>
|
||||||
<ActionDialog
|
<ActionDialog
|
||||||
|
@ -414,9 +401,7 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
}
|
}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete products",
|
defaultMessage: "Delete products",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id:
|
|
||||||
"categoryDetailsDeleteProductsDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
variant="delete"
|
variant="delete"
|
||||||
>
|
>
|
||||||
|
@ -427,7 +412,6 @@ export const CategoryDetails: React.StatelessComponent<
|
||||||
one {this attribute}
|
one {this attribute}
|
||||||
other {{displayQuantity} products}
|
other {{displayQuantity} products}
|
||||||
}?"
|
}?"
|
||||||
id="categoryDetailsDeleteProductsDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: maybe(
|
counter: maybe(
|
||||||
() => params.ids.length
|
() => params.ids.length
|
||||||
|
|
|
@ -128,8 +128,7 @@ export const CategoryList: React.StatelessComponent<CategoryListProps> = ({
|
||||||
open={params.action === "delete"}
|
open={params.action === "delete"}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete categories",
|
defaultMessage: "Delete categories",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id: "categoryListDeleteSubcategoriesDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
variant="delete"
|
variant="delete"
|
||||||
>
|
>
|
||||||
|
@ -138,7 +137,6 @@ export const CategoryList: React.StatelessComponent<CategoryListProps> = ({
|
||||||
one {this attribute}
|
one {this attribute}
|
||||||
other {{displayQuantity} categories}
|
other {{displayQuantity} categories}
|
||||||
}?"
|
}?"
|
||||||
id="categoryListDeleteCategoriesDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: maybe(() => params.ids.length),
|
counter: maybe(() => params.ids.length),
|
||||||
displayQuantity: (
|
displayQuantity: (
|
||||||
|
@ -147,10 +145,7 @@ export const CategoryList: React.StatelessComponent<CategoryListProps> = ({
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Remember this will also delete all products assigned to this category." />
|
||||||
defaultMessage="Remember this will also delete all products assigned to this category."
|
|
||||||
id="categoryListDeleteCategoriesDialogContentAdditionalText"
|
|
||||||
/>
|
|
||||||
</DialogContentText>
|
</DialogContentText>
|
||||||
</ActionDialog>
|
</ActionDialog>
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -78,7 +78,7 @@ const CollectionCreatePage: React.StatelessComponent<
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Add collection",
|
defaultMessage: "Add collection",
|
||||||
description: "page header",
|
description: "page header",
|
||||||
id: "collectionCreatePageHeader"
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<Grid>
|
<Grid>
|
||||||
|
@ -133,7 +133,7 @@ const CollectionCreatePage: React.StatelessComponent<
|
||||||
helperText={intl.formatMessage({
|
helperText={intl.formatMessage({
|
||||||
defaultMessage:
|
defaultMessage:
|
||||||
"Add search engine title and description to make this collection easier to find",
|
"Add search engine title and description to make this collection easier to find",
|
||||||
id: "collectionSeo"
|
|
||||||
})}
|
})}
|
||||||
title={data.seoTitle}
|
title={data.seoTitle}
|
||||||
titlePlaceholder={data.name}
|
titlePlaceholder={data.name}
|
||||||
|
|
|
@ -53,7 +53,7 @@ const CollectionDetails = withStyles(styles, { name: "CollectionDetails" })(
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Name",
|
defaultMessage: "Name",
|
||||||
description: "collection name",
|
description: "collection name",
|
||||||
id: "collectionDetailsNameInputLabel"
|
|
||||||
})}
|
})}
|
||||||
name="name"
|
name="name"
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
|
|
@ -112,7 +112,7 @@ const CollectionDetailsPage: React.StatelessComponent<
|
||||||
helperText={intl.formatMessage({
|
helperText={intl.formatMessage({
|
||||||
defaultMessage:
|
defaultMessage:
|
||||||
"Add search engine title and description to make this collection easier to find",
|
"Add search engine title and description to make this collection easier to find",
|
||||||
id: "collectionSeo"
|
|
||||||
})}
|
})}
|
||||||
title={data.seoTitle}
|
title={data.seoTitle}
|
||||||
titlePlaceholder={maybe(() => collection.name)}
|
titlePlaceholder={maybe(() => collection.name)}
|
||||||
|
@ -135,7 +135,7 @@ const CollectionDetailsPage: React.StatelessComponent<
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Feature on Homepage",
|
defaultMessage: "Feature on Homepage",
|
||||||
description: "switch button",
|
description: "switch button",
|
||||||
id: "collectionDetailsPageFeatureInputLabel"
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
</VisibilityCard>
|
</VisibilityCard>
|
||||||
|
|
|
@ -82,7 +82,7 @@ export const CollectionImage = withStyles(styles)(
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Background image (optional)",
|
defaultMessage: "Background image (optional)",
|
||||||
description: "section header",
|
description: "section header",
|
||||||
id: "collectionImageHeader"
|
|
||||||
})}
|
})}
|
||||||
toolbar={
|
toolbar={
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -83,23 +83,17 @@ const CollectionList = withStyles(styles, { name: "CollectionList" })(
|
||||||
toolbar={toolbar}
|
toolbar={toolbar}
|
||||||
>
|
>
|
||||||
<TableCell className={classes.colName}>
|
<TableCell className={classes.colName}>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Category Name"
|
||||||
defaultMessage="Category Name"
|
/>
|
||||||
id="collectionListNameColumnHeader"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colProducts}>
|
<TableCell className={classes.colProducts}>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="No. of Products"
|
||||||
defaultMessage="No. of Products"
|
/>
|
||||||
id="collectionListProductsColumnHeader"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colAvailability}>
|
<TableCell className={classes.colAvailability}>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Availability"
|
||||||
defaultMessage="Availability"
|
|
||||||
description="collection availability"
|
description="collection availability"
|
||||||
id="collectionListAvailabilityColumnHeader"
|
/>
|
||||||
/>
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
<TableFooter>
|
<TableFooter>
|
||||||
|
@ -166,12 +160,12 @@ const CollectionList = withStyles(styles, { name: "CollectionList" })(
|
||||||
? intl.formatMessage({
|
? intl.formatMessage({
|
||||||
defaultMessage: "Published",
|
defaultMessage: "Published",
|
||||||
description: "collection is published",
|
description: "collection is published",
|
||||||
id: "collectionListPublished"
|
|
||||||
})
|
})
|
||||||
: intl.formatMessage({
|
: intl.formatMessage({
|
||||||
defaultMessage: "Not published",
|
defaultMessage: "Not published",
|
||||||
description: "collection is not published",
|
description: "collection is not published",
|
||||||
id: "collectionListNotPublished"
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
@ -185,10 +179,8 @@ const CollectionList = withStyles(styles, { name: "CollectionList" })(
|
||||||
() => (
|
() => (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colSpan={numberOfColumns}>
|
<TableCell colSpan={numberOfColumns}>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="No collections found"
|
||||||
defaultMessage="No collections found"
|
/>
|
||||||
id="collectionListNoCollections"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
)
|
)
|
||||||
|
|
|
@ -30,11 +30,9 @@ const CollectionListPage: React.StatelessComponent<CollectionListPageProps> = ({
|
||||||
variant="contained"
|
variant="contained"
|
||||||
onClick={onAdd}
|
onClick={onAdd}
|
||||||
>
|
>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Add collection"
|
||||||
defaultMessage="Add collection"
|
|
||||||
description="button"
|
description="button"
|
||||||
id="collectionListPageAddCollectionButton"
|
/>
|
||||||
/>
|
|
||||||
<AddIcon />
|
<AddIcon />
|
||||||
</Button>
|
</Button>
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
|
|
|
@ -93,8 +93,7 @@ const CollectionProducts = withStyles(styles, { name: "CollectionProducts" })(
|
||||||
!!collection ? (
|
!!collection ? (
|
||||||
intl.formatMessage({
|
intl.formatMessage({
|
||||||
defaultMessage: "Products in {name}",
|
defaultMessage: "Products in {name}",
|
||||||
description: "products in collection",
|
description: "products in collection"
|
||||||
id: "collectionProductsHeader"
|
|
||||||
})
|
})
|
||||||
) : (
|
) : (
|
||||||
<Skeleton />
|
<Skeleton />
|
||||||
|
@ -110,7 +109,6 @@ const CollectionProducts = withStyles(styles, { name: "CollectionProducts" })(
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Assign product"
|
defaultMessage="Assign product"
|
||||||
description="button"
|
description="button"
|
||||||
id="collectionProductsAssignProductButton"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
|
@ -131,7 +129,6 @@ const CollectionProducts = withStyles(styles, { name: "CollectionProducts" })(
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Name"
|
defaultMessage="Name"
|
||||||
description="product name"
|
description="product name"
|
||||||
id="collectionProductsNameColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
@ -139,14 +136,12 @@ const CollectionProducts = withStyles(styles, { name: "CollectionProducts" })(
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Type"
|
defaultMessage="Type"
|
||||||
description="product type"
|
description="product type"
|
||||||
id="collectionProductsTypeProductList"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colPublished}>
|
<TableCell className={classes.colPublished}>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Published"
|
defaultMessage="Published"
|
||||||
description="product is published"
|
description="product is published"
|
||||||
id="collectionPublishedColumnHeader"
|
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className={classes.colActions} />
|
<TableCell className={classes.colActions} />
|
||||||
|
@ -204,13 +199,11 @@ const CollectionProducts = withStyles(styles, { name: "CollectionProducts" })(
|
||||||
product.isPublished
|
product.isPublished
|
||||||
? intl.formatMessage({
|
? intl.formatMessage({
|
||||||
defaultMessage: "Published",
|
defaultMessage: "Published",
|
||||||
description: "product is published",
|
description: "product is published"
|
||||||
id: "collectionProductsPublished"
|
|
||||||
})
|
})
|
||||||
: intl.formatMessage({
|
: intl.formatMessage({
|
||||||
defaultMessage: "Not published",
|
defaultMessage: "Not published",
|
||||||
description: "product is not published",
|
description: "product is not published"
|
||||||
id: "collectionProductsNotPublished"
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
status={product.isPublished ? "success" : "error"}
|
status={product.isPublished ? "success" : "error"}
|
||||||
|
@ -234,10 +227,7 @@ const CollectionProducts = withStyles(styles, { name: "CollectionProducts" })(
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell />
|
<TableCell />
|
||||||
<TableCell colSpan={numberOfColumns}>
|
<TableCell colSpan={numberOfColumns}>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="No products found" />
|
||||||
defaultMessage="No products found"
|
|
||||||
id="collectionProductsNoProducts"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
)
|
)
|
||||||
|
|
|
@ -21,7 +21,7 @@ export const CollectionCreate: React.FC = () => {
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Created collection",
|
defaultMessage: "Created collection",
|
||||||
id: "collectionCreateCreatedCollection"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
navigate(collectionUrl(data.collectionCreate.collection.id));
|
navigate(collectionUrl(data.collectionCreate.collection.id));
|
||||||
|
@ -51,7 +51,7 @@ export const CollectionCreate: React.FC = () => {
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Create collection",
|
defaultMessage: "Create collection",
|
||||||
description: "window title",
|
description: "window title",
|
||||||
id: "collectionCreateWindowTitle"
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<CollectionCreatePage
|
<CollectionCreatePage
|
||||||
|
|
|
@ -99,8 +99,7 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
if (data.collectionAddProducts.errors.length === 0) {
|
if (data.collectionAddProducts.errors.length === 0) {
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Added product to collection",
|
defaultMessage: "Added product to collection"
|
||||||
id: "collectionDetailsAddedProduct"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
navigate(collectionUrl(id), true);
|
navigate(collectionUrl(id), true);
|
||||||
|
@ -111,8 +110,7 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
if (data.collectionRemoveProducts.errors.length === 0) {
|
if (data.collectionRemoveProducts.errors.length === 0) {
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Deleted product from collection",
|
defaultMessage: "Deleted product from collection"
|
||||||
id: "collectionDetailsDeletedProduct"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
reset();
|
reset();
|
||||||
|
@ -124,8 +122,7 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
if (data.collectionDelete.errors.length === 0) {
|
if (data.collectionDelete.errors.length === 0) {
|
||||||
notify({
|
notify({
|
||||||
text: intl.formatMessage({
|
text: intl.formatMessage({
|
||||||
defaultMessage: "Deleted collection",
|
defaultMessage: "Deleted collection"
|
||||||
id: "collectionDetailsDeletedCollection"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
navigate(collectionListUrl());
|
navigate(collectionListUrl());
|
||||||
|
@ -278,7 +275,6 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Unassign"
|
defaultMessage="Unassign"
|
||||||
description="unassign product from collection, button"
|
description="unassign product from collection, button"
|
||||||
id="collectionDetailsUnassignButton"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
|
@ -317,15 +313,13 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
open={params.action === "remove"}
|
open={params.action === "remove"}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete Collection",
|
defaultMessage: "Delete Collection",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id: "collectionDetailsDeleteCollectionDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
variant="delete"
|
variant="delete"
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Are you sure you want to delete {collectionName}?"
|
defaultMessage="Are you sure you want to delete {collectionName}?"
|
||||||
id="collectionDetailsDeleteCollectionDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
collectionName: (
|
collectionName: (
|
||||||
<strong>
|
<strong>
|
||||||
|
@ -349,8 +343,7 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
open={params.action === "unassign"}
|
open={params.action === "unassign"}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Unassign products from collection",
|
defaultMessage: "Unassign products from collection",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id: "collectionDetailsUnassignProductsDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
|
@ -359,7 +352,6 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
one {this product}
|
one {this product}
|
||||||
other {{displayQuantity} products}
|
other {{displayQuantity} products}
|
||||||
}?"
|
}?"
|
||||||
id="collectionDetailsUnassignProductsDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: maybe(() => params.ids.length),
|
counter: maybe(() => params.ids.length),
|
||||||
displayQuantity: (
|
displayQuantity: (
|
||||||
|
@ -383,16 +375,12 @@ export const CollectionDetails: React.StatelessComponent<
|
||||||
open={params.action === "removeImage"}
|
open={params.action === "removeImage"}
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete image",
|
defaultMessage: "Delete image",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id: "collectionDetailsDeleteImageTitle"
|
|
||||||
})}
|
})}
|
||||||
variant="delete"
|
variant="delete"
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
<FormattedMessage
|
<FormattedMessage defaultMessage="Are you sure you want to delete collection's image?" />
|
||||||
defaultMessage="Are you sure you want to delete collection's image?"
|
|
||||||
id="collectionDetailsDeleteImageContent"
|
|
||||||
/>
|
|
||||||
</DialogContentText>
|
</DialogContentText>
|
||||||
</ActionDialog>
|
</ActionDialog>
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -152,7 +152,6 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Unpublish"
|
defaultMessage="Unpublish"
|
||||||
description="unpublish collections"
|
description="unpublish collections"
|
||||||
id="collectionListUnpublish"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
|
@ -162,7 +161,6 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
defaultMessage="Publish"
|
defaultMessage="Publish"
|
||||||
description="publish collections"
|
description="publish collections"
|
||||||
id="collectionListPublish"
|
|
||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
<IconButton
|
<IconButton
|
||||||
|
@ -196,8 +194,7 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
variant="default"
|
variant="default"
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Publish collections",
|
defaultMessage: "Publish collections",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id: "collectionListPublishCollectionsDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
|
@ -206,7 +203,6 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
one {this collection}
|
one {this collection}
|
||||||
other {{displayQuantity} collections}
|
other {{displayQuantity} collections}
|
||||||
}?"
|
}?"
|
||||||
id="collectionListPublishCollectionsDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: maybe(() => params.ids.length),
|
counter: maybe(() => params.ids.length),
|
||||||
displayQuantity: (
|
displayQuantity: (
|
||||||
|
@ -236,8 +232,7 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
variant="default"
|
variant="default"
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Unpublish collections",
|
defaultMessage: "Unpublish collections",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id: "collectionListUnpublishCollectionsDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
|
@ -246,7 +241,6 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
one {this collection}
|
one {this collection}
|
||||||
other {{displayQuantity} collections}
|
other {{displayQuantity} collections}
|
||||||
}?"
|
}?"
|
||||||
id="collectionListUnpublishCollectionsDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: maybe(() => params.ids.length),
|
counter: maybe(() => params.ids.length),
|
||||||
displayQuantity: (
|
displayQuantity: (
|
||||||
|
@ -275,8 +269,7 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
variant="delete"
|
variant="delete"
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Delete collections",
|
defaultMessage: "Delete collections",
|
||||||
description: "dialog title",
|
description: "dialog title"
|
||||||
id: "collectionListDeleteCollectionsDialogTitle"
|
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<DialogContentText>
|
<DialogContentText>
|
||||||
|
@ -285,7 +278,6 @@ export const CollectionList: React.StatelessComponent<CollectionListProps> = ({
|
||||||
one {this collection}
|
one {this collection}
|
||||||
other {{displayQuantity} collections}
|
other {{displayQuantity} collections}
|
||||||
}?"
|
}?"
|
||||||
id="collectionListDeleteCollectionsDialogContent"
|
|
||||||
values={{
|
values={{
|
||||||
counter: maybe(() => params.ids.length),
|
counter: maybe(() => params.ids.length),
|
||||||
displayQuantity: (
|
displayQuantity: (
|
||||||
|
|
39
src/intl.ts
39
src/intl.ts
|
@ -2,63 +2,50 @@ import { defineMessages } from "react-intl";
|
||||||
|
|
||||||
export const commonMessages = defineMessages({
|
export const commonMessages = defineMessages({
|
||||||
availability: {
|
availability: {
|
||||||
defaultMessage: "Availability",
|
defaultMessage: "Availability"
|
||||||
id: "availability"
|
|
||||||
},
|
},
|
||||||
cancel: {
|
cancel: {
|
||||||
defaultMessage: "Cancel",
|
defaultMessage: "Cancel"
|
||||||
id: "cancel"
|
|
||||||
},
|
},
|
||||||
confirm: {
|
confirm: {
|
||||||
defaultMessage: "Confirm",
|
defaultMessage: "Confirm"
|
||||||
id: "confirm"
|
|
||||||
},
|
},
|
||||||
description: {
|
description: {
|
||||||
defaultMessage: "Description",
|
defaultMessage: "Description"
|
||||||
id: "description"
|
|
||||||
},
|
},
|
||||||
generalInformations: {
|
generalInformations: {
|
||||||
defaultMessage: "General Informations",
|
defaultMessage: "General Informations"
|
||||||
id: "generalInformations"
|
|
||||||
},
|
},
|
||||||
optionalField: {
|
optionalField: {
|
||||||
defaultMessage: "Optional",
|
defaultMessage: "Optional",
|
||||||
description: "field is optional",
|
description: "field is optional"
|
||||||
id: "optionalField"
|
|
||||||
},
|
},
|
||||||
properties: {
|
properties: {
|
||||||
defaultMessage: "Properties",
|
defaultMessage: "Properties"
|
||||||
id: "properties"
|
|
||||||
},
|
},
|
||||||
save: {
|
save: {
|
||||||
defaultMessage: "save",
|
defaultMessage: "save"
|
||||||
id: "save"
|
|
||||||
},
|
},
|
||||||
savedChanges: {
|
savedChanges: {
|
||||||
defaultMessage: "Saved changes",
|
defaultMessage: "Saved changes"
|
||||||
id: "savedChanges"
|
|
||||||
},
|
},
|
||||||
uploadImage: {
|
uploadImage: {
|
||||||
defaultMessage: "Upload image",
|
defaultMessage: "Upload image",
|
||||||
description: "button",
|
description: "button"
|
||||||
id: "uploadImage"
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export const sectionNames = defineMessages({
|
export const sectionNames = defineMessages({
|
||||||
attributes: {
|
attributes: {
|
||||||
defaultMessage: "Attributes",
|
defaultMessage: "Attributes",
|
||||||
description: "attributes section name",
|
description: "attributes section name"
|
||||||
id: "attributes"
|
|
||||||
},
|
},
|
||||||
categories: {
|
categories: {
|
||||||
defaultMessage: "Categories",
|
defaultMessage: "Categories",
|
||||||
description: "categories section name",
|
description: "categories section name"
|
||||||
id: "categories"
|
|
||||||
},
|
},
|
||||||
collections: {
|
collections: {
|
||||||
defaultMessage: "Collections",
|
defaultMessage: "Collections",
|
||||||
description: "collections section name",
|
description: "collections section name"
|
||||||
id: "collections"
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue