Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create file blocks when dropping multiple files at once #11297

Merged
merged 4 commits into from
Nov 1, 2018

Conversation

ocean90
Copy link
Member

@ocean90 ocean90 commented Oct 31, 2018

Description

I initially checked for the file type to not be one of the other types supported by the video/image/audio/gallery blocks. But since this has a higher priority this isn't actually required as it will only be used as a fallback. Due to the power of the block specific transforms it's still possible to easily convert the block to another specific media block which I think is just awesome.

Fixes #11249.

Screenshots

kapture 2018-10-31 at 13 31 16

@@ -77,20 +77,27 @@ export const settings = {
from: [
{
type: 'files',
isMatch: ( files ) => files.length === 1,
isMatch( files ) {
return files.length > 0;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isMatch is required per

( transform ) => transform.type === 'files' && transform.isMatch( files )
so this is just a simple sanity check.

fileName: file.name,
textLinkHref: blobURL,
files.map( ( file ) => {
const blobURL = createBlobURL( file );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of scope of this PR but I thought I'd mention for context. Ideally, we shouldn't rely on the edit function to properly upload the file and use the final URL. Instead we should avoid storing temporary attributes in blocks.

That said, we don't have a proper solution for this problem at the moment, we'll more likely need to think about a "reactive" transform API but this is not high-priority.

Copy link
Contributor

@youknowriad youknowriad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@jasmussen
Copy link
Contributor

♥️

@ocean90 ocean90 added this to the 4.3 milestone Oct 31, 2018
@ocean90 ocean90 merged commit de7121c into master Nov 1, 2018
@ocean90 ocean90 deleted the fix/drop-file-blocks branch November 1, 2018 17:07
daniloercoli added a commit that referenced this pull request Nov 1, 2018
…rnmobile/port-quote-block-step-1

* 'master' of https://github.com/WordPress/gutenberg: (22 commits)
  Add removed periods to block descriptions. (#11367)
  Remove findDOMNode usage from the inserter (#11363)
  Remove deprecated componentWillReceiveProps from TinyMCE component (#11368)
  Create file blocks when dropping multiple files at once (#11297)
  Try avoiding the deprecated findDOMNode API from DropZone Provider (#11168)
  Fix: make meta+A behaviour of selecting all blocks work on safari and firefox. (#8180)
  Remove _wpGutenbergCodeEditorSettings and wp.codeEditor assets (#11342)
  Remove the Cloudflare warning (#11350)
  Image Block: Use source_url for media file link (#11254)
  Enhance styling of nextpage block using the Hr element (#11354)
  Embed block refactor and tidy (#10958)
  Nonce Middleware: Wrap the nonce middleware function into it's own function that isn't regenerated on every API request. (#11347)
  Fix RTL block alignments (#11293)
  RichText: fix buggy enter/delete behaviour (#11287)
  Remove code coverage setup (#11198)
  Parser: Runs all parser implementations against the same tests (#11320)
  Stop trying to autosave when title and classic block content both are empty. (#10404)
  Fix "Mac OS" typo + use fancy quotes consistently (#11310)
  Update documentation link paths (#11324)
  Editor: Reshape blocks state under own key (#11315)
  ...

# Conflicts:
#	gutenberg-mobile
@mtias mtias added the [Block] File Affects the File Block label Nov 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] File Affects the File Block
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants