Skip to content

Commit 8ff282f

Browse files
author
Charles Shin
authored
fix: add getOverrideProps to StorageManager (#1020)
* fix: add getOverrideProps to StorageManager * fix: add overrideProps to Field component * Revert "fix: add overrideProps to Field component" This reverts commit 6393718.
1 parent 1fbf44d commit 8ff282f

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

packages/codegen-ui-react/lib/__tests__/__snapshots__/studio-ui-codegen-react-forms.test.ts.snap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25021,6 +25021,7 @@ export default function CreateProductForm(props) {
2502125021
showThumbnails={false}
2502225022
maxFileCount={5}
2502325023
maxSize={1024}
25024+
{...getOverrideProps(overrides, \\"imgKeys\\")}
2502425025
></StorageManager>
2502525026
</Field>
2502625027
<Flex
@@ -25248,6 +25249,7 @@ export default function UpdateProductForm(props) {
2524825249
acceptedFileTypes={[\\".doc\\", \\".pdf\\"]}
2524925250
isResumable={false}
2525025251
showThumbnails={true}
25252+
{...getOverrideProps(overrides, \\"imgKeys\\")}
2525125253
></StorageManager>
2525225254
)}
2525325255
</Field>
@@ -25525,6 +25527,7 @@ export default function UpdateProductForm(props) {
2552525527
showThumbnails={false}
2552625528
maxFileCount={1}
2552725529
maxSize={1024}
25530+
{...getOverrideProps(overrides, \\"singleImgKey\\")}
2552825531
></StorageManager>
2552925532
)}
2553025533
</Field>

packages/codegen-ui-react/lib/react-component-renderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ export class ReactComponentRenderer<TPropIn> extends ComponentRendererBase<
8989
if (this.component.componentType === 'StorageField') {
9090
this.importCollection.addImport(ImportSource.REACT_STORAGE, 'StorageManager');
9191
this.importCollection.addImport(ImportSource.UI_REACT_INTERNAL, 'Field');
92+
this.importCollection.addImport(ImportSource.UI_REACT_INTERNAL, ImportValue.GET_OVERRIDE_PROPS);
9293
this.importCollection.addImport(ImportSource.UTILS, 'processFile');
93-
9494
return renderStorageFieldComponent(
9595
this.component,
9696
this.componentMetadata,

packages/codegen-ui-react/lib/utils/forms/storage-field-component.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,7 @@ import {
2222
ComponentMetadata,
2323
isValidVariableName,
2424
} from '@aws-amplify/codegen-ui';
25-
import {
26-
factory,
27-
JsxAttribute,
28-
JsxAttributeLike,
29-
JsxChild,
30-
JsxElement,
31-
JsxExpression,
32-
NodeFlags,
33-
SyntaxKind,
34-
} from 'typescript';
25+
import { factory, JsxAttributeLike, JsxChild, JsxElement, JsxExpression, NodeFlags, SyntaxKind } from 'typescript';
3526
import { getDecoratedLabel } from '../../forms/form-renderer-helper';
3627
import { buildStorageManagerOnChangeStatement } from '../../forms/form-renderer-helper/event-handler-props';
3728
import { propertyToExpression } from '../../react-component-render-helper';
@@ -339,8 +330,8 @@ export const renderStorageFieldComponent = (
339330
const lowerCaseDataTypeName = lowerCaseFirst(dataTypeName);
340331
const lowerCaseDataTypeNameRecord = `${lowerCaseDataTypeName}Record`;
341332
const storageManagerComponentName = factory.createIdentifier('StorageManager');
342-
const storageManagerAttributes: JsxAttribute[] = [];
343-
const fieldAttributes: JsxAttribute[] = [];
333+
const storageManagerAttributes: JsxAttributeLike[] = [];
334+
const fieldAttributes: JsxAttributeLike[] = [];
344335

345336
if (componentMetadata.formMetadata) {
346337
const errorKey =
@@ -494,6 +485,15 @@ export const renderStorageFieldComponent = (
494485
}
495486
});
496487

488+
storageManagerAttributes.push(
489+
factory.createJsxSpreadAttribute(
490+
factory.createCallExpression(factory.createIdentifier('getOverrideProps'), undefined, [
491+
factory.createIdentifier('overrides'),
492+
factory.createStringLiteral(componentName),
493+
]),
494+
),
495+
);
496+
497497
const storageManager = factory.createJsxElement(
498498
factory.createJsxOpeningElement(
499499
storageManagerComponentName,

0 commit comments

Comments
 (0)