diff --git a/frontend/src/Editor/Components/FilePicker.jsx b/frontend/src/Editor/Components/FilePicker.jsx index dcdffb956d..1f31f375ad 100644 --- a/frontend/src/Editor/Components/FilePicker.jsx +++ b/frontend/src/Editor/Components/FilePicker.jsx @@ -14,6 +14,8 @@ export const FilePicker = ({ styles, }) => { //* properties definitions + const instructionText = + component.definition.properties.instructionText?.value ?? 'Drag and Drop some files here, or click to select files'; const enableDropzone = component.definition.properties.enableDropzone.value ?? true; const enablePicker = component.definition.properties?.enablePicker?.value ?? true; const maxFileCount = component.definition.properties.maxFileCount?.value ?? 2; @@ -316,7 +318,7 @@ export const FilePicker = ({ ) : ( )} diff --git a/frontend/src/Editor/Components/PDF.jsx b/frontend/src/Editor/Components/PDF.jsx index de749705f4..31a940ea00 100644 --- a/frontend/src/Editor/Components/PDF.jsx +++ b/frontend/src/Editor/Components/PDF.jsx @@ -1,4 +1,5 @@ import React, { useState, useCallback, useRef, useEffect } from 'react'; +// eslint-disable-next-line import/no-unresolved import { Document, Page } from 'react-pdf/dist/esm/entry.webpack'; export const PDF = React.memo(({ styles, properties, width, height }) => { diff --git a/frontend/src/Editor/WidgetManager/widgetConfig.js b/frontend/src/Editor/WidgetManager/widgetConfig.js index 1e17371576..a4b714fbdc 100644 --- a/frontend/src/Editor/WidgetManager/widgetConfig.js +++ b/frontend/src/Editor/WidgetManager/widgetConfig.js @@ -1307,6 +1307,7 @@ export const widgets = [ showOnMobile: { type: 'toggle', displayName: 'Show on mobile' }, }, properties: { + instructionText: { type: 'code', displayName: 'Instruction Text' }, enableDropzone: { type: 'code', displayName: 'Use Drop zone' }, enablePicker: { type: 'code', displayName: 'Use File Picker' }, enableMultiple: { type: 'code', displayName: 'Pick multiple files' }, @@ -1340,6 +1341,7 @@ export const widgets = [ showOnMobile: { value: '{{false}}' }, }, properties: { + instructionText: { value: 'Drag and Drop some files here, or click to select files' }, enableDropzone: { value: '{{true}}' }, enablePicker: { value: '{{true}}' }, maxFileCount: { value: '{{2}}' }, diff --git a/plugins/packages/woocommerce/lib/operations.json b/plugins/packages/woocommerce/lib/operations.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/server/migrations/1653472569828-addedInstructionTextPropInFilePickerWidget.ts b/server/migrations/1653472569828-addedInstructionTextPropInFilePickerWidget.ts new file mode 100644 index 0000000000..9ec3b042c3 --- /dev/null +++ b/server/migrations/1653472569828-addedInstructionTextPropInFilePickerWidget.ts @@ -0,0 +1,42 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; +import { AppVersion } from '../src/entities/app_version.entity'; + +export class addedInstructionTextPropInFilePickerWidget1653472569828 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + const entityManager = queryRunner.manager; + const appVersions = await entityManager.find(AppVersion); + + for (const version of appVersions) { + const definition = version['definition']; + + if (definition) { + const components = definition['components']; + + for (const componentId of Object.keys(components)) { + const component = components[componentId]; + if (component.component.component === 'FilePicker') { + component.component.definition.properties.instructionText = { + value: 'Drag and Drop some files here, or click to select files', + }; + components[componentId] = { + ...component, + component: { + ...component.component, + definition: { + ...component.component.definition, + }, + }, + }; + } + } + + definition['components'] = components; + version.definition = definition; + + await entityManager.update(AppVersion, { id: version.id }, { definition }); + } + } + } + + public async down(queryRunner: QueryRunner): Promise {} +}