Install
Works with Drupal: 8.xUsing Composer to manage Drupal site dependencies
Alternative installation files
Release notes
Another release after months of work. We completely missed how fast time flies while focusing with passion..
The classic widget remains unchanged, so the update won't affect you updating the module except some bugfixes.
The new experimental widget evolved significantly in UX with a nice mobile experience.
To list a few new features: Action button "...", Drag & drop mode, Autocollapse mode, Paragraph summary with icons, Add modal form, Paragraph type icon + description, countless bugfixes and more.
The new widget remains experimental. We are using it heavily in production already, but there are some known bugs (even data loss situations) and we still want to be flexible to complete refactoring. We are near to reach a stable milestone that implements a nice collection of the original UX proposals. Still many ideas are remaining and need contributors or funding to happen.
Most of the new features have been funded by MD Systems with the work related to the Primer distribution, with special thanks to Lukas von Blarer to help with the Drag & drop mode UI after Berdir spent weeks debugging form magic to make it work, and the Thunder team (tjwelde, chr.fritsch, mtodor) to start the modal add mode . The global community mostly helped with bugfixing and small improvements. Thanks to everyone involved!
Changes since 8.x-1.1:
- #2906170 by pivica, yobottehg: Latest Dev closed summary is unusable in IE11
- #2905849 by matjaz_zavski, Pasqualle: Menu changes
- #2899322 by VladimirMarko, yobottehg: Add support for Block field in Closed summary
- #2905816 by alvar0hurtad0, Berdir: Content language page results in errors and notices on unexpected structures or paragraph base fields
- #2884236 by VladimirMarko, Berdir: ParagraphsBehaviorBase::submitBehaviorForm() results in in a lot of empty settings being saved
- #2904325 by pivica, Berdir: Remove header action _weight element from nested fields
- #2904392 by VladimirMarko, miro_dietiker: Stop using FieldUiTestTrait in Functional\ParagraphsExperimentalWidgetButtonsTest
- #2904392 by VladimirMarko: Stop using FieldUiTestTrait in Functional\ParagraphsExperimentalWidgetButtonsTest
- #2868225 by pivica, fourg6x, miro_dietiker, toncic, krina.addweb, ketika, poornananda: UI for mobile devices is not looking nice
- #2896867 by VladimirMarko: Stop "Collapse all" and "Edit all" from undeleting paragraphs
- #2901549 by pivica, miro_dietiker: Introduce default actions for paragraph_actions dropdown
- #2901996 by karthikkumarbodu: Capitalise Paragraph(s) in the UI text
- #2903243 by Berdir: Fix display of header actions
- #2868305 by pivica, miro_dietiker: Display icons in the summary
- #2902554 by Primsi: Fix head test fails
- #2893129 by recrit: Experimental multiple item empty required check is off by 1
- #2857991 by das-peter, andypost, Ginovski: InlineParagraphsWidget - InvalidArgumentException: Invalid translation language specified
- #2898685 by VladimirMarko, Berdir: Make the title of the modal form field-specific
- #2901582 by Lukas von Blarer, miro_dietiker: Drag and drop mode: UI improvements
- #2896115 by VladimirMarko, miro_dietiker: Autocollapse all Paragraphs except current; improve docs
- #2896115 by VladimirMarko, miro_dietiker: Autocollapse all Paragraphs except current
- #2901403 by Lukas von Blarer, miro_dietiker, pivica: Drag and drop mode JS error: TypeError: childList.getAttribute is not a function
- #2900874 by pivica, mbovan: Convert the root 'Collapse All' dropdown to the new paragraph_actions element
- #2901593 by Lukas von Blarer, miro_dietiker: Convert paragraphs.dragdrop.css to .scss
- #2901593 by Lukas von Blarer: Convert paragraphs.dragdrop.css to .scss
- #2901582 by Lukas von Blarer: Drag and drop mode: UI improvements
- #2825575 by Berdir, Lukas von Blarer, yobottehg, Ginovski, jeroen.b, yongt9412, toncic, jenteralex, drobnjak, miro_dietiker, pixelmord: Introduce a Drag & Drop Mode
- #2829677 by pivica, Ginovski, drobnjak, yongt9412, realityloop, miro_dietiker: Implement a new render element for a collapsible button
- #2831763 by VladimirMarko, miro_dietiker, Berdir: Use Paragraphs types icons in the "Modal" add mode
- #2896458 by Berdir: Fix HEAD test fails for file usage and translation
- #2738645 by toncic, yongt9412, Insasse, miro_dietiker, Berdir: Add a collapse / edit all button
- #2895613 by Ginovski: Change add widget display with the js-hide class
- #2831760 by Ginovski, yongt9412, tjwelde, chr.fritsch, mtodor, Sutharsan, tbonomelli, miro_dietiker: Introduce a "Modal form" mode for adding Paragraphs
- #2877847 by toncic, Berdir, miro_dietiker, pivica: Perspective tabs misbehave when multiple paragraphs fields
- #2894398 by miro_dietiker, Berdir: Fix interfaces and annotation for better IDE guidance
- #2853146 by Ginovski, Berdir, yongt9412: Behavior plugin values not applying when reordering items
- #2887747 by Primsi, Berdir, miro_dietiker: Duplicated paragraphs have wrong values
- #2893549 by bapi_22, Berdir: Removed deprecated method/Class QueryFactory calls from code base
- #2886686 by mbovan, miro_dietiker, Berdir: Collapsable paragraphs always show "You have unsaved changes on this Paragraph item." message on collapsing
- #2855309 by Ginovski, miro_dietiker, Primsi, mbovan: Create ParagraphsTestBaseTrait
- #2852001 by Ginovski, Denchev, miro_dietiker, Primsi, Berdir, toncic: Consider container multivalue children for closed summary
- Empty commit.
- #2855309 by drobnjak, Ginovski, Primsi: Create ParagraphsTestBaseTrait
- #2887759 by mbovan, miro_dietiker: Update tests with the recent changes
- Revert "Issue #2877847 by toncic, miro_dietiker, pivica: Perspective tabs misbehave when multiple paragraphs fields"
- #2867069 by stBorchert, SteffenR, Berdir: Error: Call to a member function bundle() on null in ParagraphViewBuilder
- #2877847 by toncic, miro_dietiker, pivica: Perspective tabs misbehave when multiple paragraphs fields
- #2853217 by RenatoG, Wilfred Waltman: Fixed error on route "paragraphs.prepare"
- #2882072 by acaljuba, Ginovski: Inject services in ParagraphSelection
- #2870989 by VladimirMarko, Ginovski, Berdir: Paragraphs Type icons are temporary files
- #2884095 by Primsi: Add paragraphs entity to hook_paragraph_widget_dropbutton_alter
- #2788607 by VladimirMarko, andywhale, ModernMantra, cyb.tachyon, pradeep22saini, JeroenT, arpitr, recrit: Empty required fields not providing meaningful error messages
- #2867385 by tbonomelli, hkoch, Ginovski, toncic, Primsi: Collapse button does validation for whole form
- #2867385 by tbonomelli, Ginovski, hkoch, toncic, Primsi: Collapse button does validation for whole form
- #2856901 by Ginovski, JeroenT, Erik Seifert, miro_dietiker: Add a possibility for exclude paragraph types
- #2882213 by Primsi, Berdir: Re-add weight to paragraphs behaviors form
- #2881435 by Denchev: Behavior plugin on paragraph type with no fields causes errors
- #2881145 by Ginovski, toncic, Primsi, Berdir: Get allowed paragraph types from ParagraphSelection
- #2881459 by penyaskito, Primsi, Berdir: Build failing: Schema errors for field.field.node.paragraphed_content_demo.field_paragraphs_demo
- #2877376 by geertvd: Fatal error after adding an icon to a paragraph type
- #2877738 by VladimirMarko: Use "#markup" for paragraphs type description display
- #2854444 by pivica, Berdir, markcarver, toncic, miro_dietiker: Refactor field widget code to reduce duplication and make theme abstract
- #2876597 by aheredia: Add descriptions to paragraphs types in Paragraphs Demo
- #2873576 by aheredia, miro_dietiker, VladimirMarko, toncic: Add description field to ParagraphType
- #2873576 by aheredia, VladimirMarko, toncic: Add description field to ParagraphType
- #2850388 by Denchev, Ginovski, miro_dietiker, tduong, Berdir: Offer a permission for behavior plugins
- #2811161 by Ginovski, Primsi, toncic: Paragraph Type Label is limited to 32 characters on the entity side
- #2867068 by tbonomelli: Switch to collapsed paragraphs widget mode by default
- #2862935 by drobnjak, miro_dietiker: Only display tabs if there is a behavior element
- #2862284 by Ginovski, Primsi, miro_dietiker, Berdir: Add paragraphs summary formatter
- #2862428 by toncic, Denchev, Primsi: Add hook function for widget
- #2829671 by drobnjak, yongt9412, mbrc, megadesk3000, miro_dietiker, realityloop, pivica: Implement edit perspectives with tabs when editing
- #2830016 by toncic, gpap, Ginovski, miro_dietiker, yongt9412, Berdir, seanB, tduong, Primsi: Add a thumbnail/icon field to Paragraphs type
- #2857112 by toncic, miro_dietiker, Berdir: Add summary method into paragraph entity
- #2834012 by cburschka: Obsolete "target_bundle" key in paragraphs_demo module config
- #2858110 by drobnjak: Move behavior plugins before the fields while editing
- #2854579 by pivica: Figure proper configuration for csslint
- #2851473 by VladimirMarko, toncic, Berdir, miro_dietiker, yongt9412: Nested paragraph type is still using CLASSIC widget
- #2853189 by Ginovski: Remove new revision logic from ParagraphsWidget::massageFormValues()
- #2854223 by mbovan: Do not check parent access for library items
- #2853520 by pivica, seanB, miro_dietiker: Clean and convert paragraphs.widget.css to sass
- #2820502 by Ginovski, a.hover, hatznie: Add form-required to required paragraph fields