[!!!][FEATURE] FormEngine element level refactoring 51/51151/74
authorChristian Kuhn <lolli@schwarzbu.ch>
Thu, 5 Jan 2017 17:08:27 +0000 (18:08 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 26 Jan 2017 16:52:51 +0000 (17:52 +0100)
commit84be5e616b5373ac7ba57edf2d3cd61251dc6f97
treee14dd7b94ccddc722ca6046133e7ca3d484e3c46
parent6752a362de8290f8f5cf811df949edbe0746c3a2
[!!!][FEATURE] FormEngine element level refactoring

The patch introduces a new API on FormEngine element level
that substitutes the old "wizards" / renderWizard() API
with a more powerful system.

Single wizards are now split into one of three categories:
* An informational wizard
* A control button / icon
* A true wizard with additonal functionality

Method renderWizards() is still called in elements for compatibility
reasons if people added own scrip/popup/userFunc wizards, but all
core wizards are migrated.

The patch significantly cleans the HTML of single elements, especially
HTML stuff that was added by the SingleFieldContainer is now put down
to single elements, while main HTML wraps formerly done by renderWizards()
is fetched "up" to single elements. This gives single elements full
control about the main HTML it is producing, which is a must have
preparation in order to further advance in this area and to switch
single elements to fluid rendering in one of the next steps.

The patch brings a pretty huge list of TCA changes and
simplifications, all TCA changes are supported by TCA migration,
so existing extensions should benefit out of the box and just
get deprecations logged.

Change-Id: I45083e14e45bbf40c06267b51c9d0b7c15e2f7ab
Resolves: #79440
Resolves: #70032
Releases: master
Reviewed-on: https://review.typo3.org/51151
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Mona Muzaffar <mona.muzaffar@gmx.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
138 files changed:
Build/Resources/Public/Less/TYPO3/_main_form.less
composer.json
composer.lock
typo3/sysext/backend/Classes/Controller/Wizard/ColorpickerController.php
typo3/sysext/backend/Classes/Controller/Wizard/RteController.php [deleted file]
typo3/sysext/backend/Classes/Controller/Wizard/SuggestWizardController.php
typo3/sysext/backend/Classes/Form/AbstractNode.php
typo3/sysext/backend/Classes/Form/Container/AbstractContainer.php
typo3/sysext/backend/Classes/Form/Container/FlexFormContainerContainer.php
typo3/sysext/backend/Classes/Form/Container/FlexFormElementContainer.php
typo3/sysext/backend/Classes/Form/Container/FlexFormTabsContainer.php
typo3/sysext/backend/Classes/Form/Container/InlineControlContainer.php
typo3/sysext/backend/Classes/Form/Container/InlineRecordContainer.php
typo3/sysext/backend/Classes/Form/Container/OuterWrapContainer.php
typo3/sysext/backend/Classes/Form/Container/PaletteAndSingleContainer.php
typo3/sysext/backend/Classes/Form/Container/SingleFieldContainer.php
typo3/sysext/backend/Classes/Form/Container/TabsContainer.php
typo3/sysext/backend/Classes/Form/Element/AbstractFormElement.php
typo3/sysext/backend/Classes/Form/Element/CheckboxElement.php
typo3/sysext/backend/Classes/Form/Element/GroupElement.php
typo3/sysext/backend/Classes/Form/Element/ImageManipulationElement.php
typo3/sysext/backend/Classes/Form/Element/InputColorPickerElement.php
typo3/sysext/backend/Classes/Form/Element/InputDateTimeElement.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/Element/InputLinkElement.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/Element/InputTextElement.php
typo3/sysext/backend/Classes/Form/Element/NoneElement.php
typo3/sysext/backend/Classes/Form/Element/RadioElement.php
typo3/sysext/backend/Classes/Form/Element/SelectCheckBoxElement.php
typo3/sysext/backend/Classes/Form/Element/SelectMultipleSideBySideElement.php
typo3/sysext/backend/Classes/Form/Element/SelectSingleBoxElement.php
typo3/sysext/backend/Classes/Form/Element/SelectSingleElement.php
typo3/sysext/backend/Classes/Form/Element/SelectTreeElement.php
typo3/sysext/backend/Classes/Form/Element/TextElement.php
typo3/sysext/backend/Classes/Form/Element/TextTableElement.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/Element/UserElement.php
typo3/sysext/backend/Classes/Form/FieldControl/AddRecord.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldControl/EditPopup.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldControl/ElementBrowser.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldControl/InsertClipboard.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldControl/LinkPopup.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldControl/ListModule.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldControl/ResetSelection.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldControl/TableWizard.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/DefaultLanguageDifferences.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/FileThumbnails.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/FileTypeList.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/FileUpload.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/OtherLanguageContent.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/RecordsOverview.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/SelectIcons.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FieldWizard/TableList.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/FormDataCompiler.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaText.php
typo3/sysext/backend/Classes/Form/FormResultCompiler.php
typo3/sysext/backend/Classes/Form/NodeExpansion/FieldControl.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/NodeExpansion/FieldInformation.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/NodeExpansion/FieldWizard.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/NodeFactory.php
typo3/sysext/backend/Classes/Form/Utility/FormEngineUtility.php
typo3/sysext/backend/Classes/Form/Wizard/SuggestWizard.php
typo3/sysext/backend/Classes/Form/Wizard/ValueSliderWizard.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/backend/Classes/View/Wizard/Element/BackendLayoutWizardElement.php
typo3/sysext/backend/Configuration/Backend/Routes.php
typo3/sysext/backend/Resources/Private/Templates/OuterWrapContainer.html
typo3/sysext/backend/Resources/Private/Templates/Wizards/SuggestWizard.html
typo3/sysext/backend/Resources/Public/Css/backend.css
typo3/sysext/backend/Resources/Public/JavaScript/ColorPicker.js
typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js
typo3/sysext/backend/Resources/Public/JavaScript/FormEngine/Element/SelectSingleElement.js
typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js
typo3/sysext/backend/Resources/Public/JavaScript/ValueSlider.js
typo3/sysext/backend/Resources/Public/JavaScript/jsfunc.tbe_editor.js
typo3/sysext/backend/Tests/Unit/Form/Element/AbstractFormElementTest.php [new file with mode: 0644]
typo3/sysext/backend/Tests/Unit/Form/Element/InputDateTimeElementTest.php [new file with mode: 0644]
typo3/sysext/backend/Tests/Unit/Form/Element/InputTextElementTest.php [deleted file]
typo3/sysext/backend/Tests/Unit/Form/Element/NoneElementTest.php [deleted file]
typo3/sysext/backend/Tests/Unit/Form/FormDataCompilerTest.php
typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Classes/Database/ReferenceIndex.php
typo3/sysext/core/Classes/Migrations/TcaMigration.php
typo3/sysext/core/Configuration/TCA/be_groups.php
typo3/sysext/core/Configuration/TCA/be_users.php
typo3/sysext/core/Configuration/TCA/pages.php
typo3/sysext/core/Configuration/TCA/sys_category.php
typo3/sysext/core/Configuration/TCA/sys_collection.php
typo3/sysext/core/Configuration/TCA/sys_file_collection.php
typo3/sysext/core/Configuration/TCA/sys_file_metadata.php
typo3/sysext/core/Configuration/TCA/sys_file_reference.php
typo3/sysext/core/Configuration/TCA/sys_language.php
typo3/sysext/core/Configuration/TCA/sys_news.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-78899-DroppedFormEngineMethods.rst
typo3/sysext/core/Documentation/Changelog/master/Deprecation-78899-FormEngineMethods.rst
typo3/sysext/core/Documentation/Changelog/master/Deprecation-79440-TcaChanges.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-79440-FormEngineElementExpansion.rst [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php
typo3/sysext/css_styled_content/Configuration/TCA/Overrides/tt_content.php
typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_blog.php
typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_post.php
typo3/sysext/extensionmanager/Configuration/TCA/tx_extensionmanager_domain_model_extension.php
typo3/sysext/felogin/Configuration/FlexForms/Login.xml
typo3/sysext/felogin/Configuration/TCA/Overrides/fe_groups.php
typo3/sysext/felogin/Configuration/TCA/Overrides/fe_users.php
typo3/sysext/filemetadata/Configuration/TCA/Overrides/sys_file_metadata.php
typo3/sysext/fluid_styled_content/Configuration/TCA/Overrides/tt_content.php
typo3/sysext/form/Configuration/Yaml/FormEngineSetup.yaml
typo3/sysext/frontend/Configuration/TCA/backend_layout.php
typo3/sysext/frontend/Configuration/TCA/fe_groups.php
typo3/sysext/frontend/Configuration/TCA/fe_users.php
typo3/sysext/frontend/Configuration/TCA/pages_language_overlay.php
typo3/sysext/frontend/Configuration/TCA/sys_template.php
typo3/sysext/frontend/Configuration/TCA/tt_content.php
typo3/sysext/frontend/Resources/Private/Language/locallang_tca.xlf
typo3/sysext/frontend/Resources/Private/Language/locallang_ttc.xlf
typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files/Configuration/TCA/tx_impexpgroupfiles_item.php
typo3/sysext/indexed_search/Configuration/TCA/index_config.php
typo3/sysext/lang/Resources/Private/Language/locallang_core.xlf
typo3/sysext/rsaauth/Classes/Form/Element/RsaInputElement.php
typo3/sysext/rte_ckeditor/Classes/Form/Element/RichTextElement.php
typo3/sysext/rte_ckeditor/Classes/Form/Resolver/RichTextNodeResolver.php
typo3/sysext/rtehtmlarea/Classes/Controller/Wizard/RteController.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/Classes/Form/Element/RichTextElement.php
typo3/sysext/rtehtmlarea/Classes/Form/FieldControl/FullScreenRichtext.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/Classes/Form/Resolver/RichTextNodeResolver.php
typo3/sysext/rtehtmlarea/Configuration/Backend/Routes.php
typo3/sysext/rtehtmlarea/Configuration/TCA/Overrides/sys_news.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/Configuration/TCA/Overrides/tt_content.php
typo3/sysext/rtehtmlarea/Configuration/TCA/tx_rtehtmlarea_acronym.php
typo3/sysext/rtehtmlarea/Migrations/Code/ClassAliasMap.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/Resources/Private/Language/locallang.xlf
typo3/sysext/rtehtmlarea/ext_localconf.php
typo3/sysext/sys_action/Configuration/TCA/sys_action.php
typo3/sysext/sys_note/Configuration/TCA/sys_note.php
typo3/sysext/t3editor/Classes/Form/Element/T3editorElement.php
typo3/sysext/t3editor/Configuration/TCA/Overrides/tt_content.php
typo3/sysext/workspaces/Configuration/TCA/sys_workspace.php
typo3/sysext/workspaces/Configuration/TCA/sys_workspace_stage.php