Skip to content

Commit

Permalink
[TASK] Migrate to use ESM modules
Browse files Browse the repository at this point in the history
Requires at least 12.4.5 for TYPO3 v12 as a bug needed
to be fixed first:
https://review.typo3.org/c/Packages/TYPO3.CMS/+/80174
  • Loading branch information
bnf committed Aug 29, 2023
1 parent f3a5fd2 commit a4c28d2
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 3 deletions.
14 changes: 14 additions & 0 deletions Classes/Configuration/Extension.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
namespace TRITUM\FormElementLinkedCheckbox\Configuration;

use TRITUM\FormElementLinkedCheckbox\Hooks\FormElementLinkResolverHook;
use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
use TYPO3\CMS\Core\Utility\GeneralUtility;

/**
* Extension
Expand All @@ -48,6 +50,18 @@ public static function addTypoScriptSetup(): void
}
}
'));

if ((GeneralUtility::makeInstance(Typo3Version::class))->getMajorVersion() === 11) {
ExtensionManagementUtility::addTypoScriptSetup(trim('
module.tx_form {
settings {
yamlConfigurations {
1690355809 = EXT:form_element_linked_checkbox/Configuration/Yaml/FormSetupV11.yaml
}
}
}
'));
}
}

public static function registerHooks(): void
Expand Down
11 changes: 11 additions & 0 deletions Configuration/JavaScriptModules.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

return [
'dependencies' => [
'core',
'form',
],
'imports' => [
'@tritum/form-element-linked-checkbox/' => 'EXT:form_element_linked_checkbox/Resources/Public/ESM/',
],
];
9 changes: 9 additions & 0 deletions Configuration/TypoScript/setup.typoscript
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,12 @@ plugin.tx_form {
}
}
}
[typo3.branch == "11.5"]
plugin.tx_form {
settings {
yamlConfigurations {
1690355809 = EXT:form_element_linked_checkbox/Configuration/Yaml/FormSetupV11.yaml
}
}
}
[global]
4 changes: 2 additions & 2 deletions Configuration/Yaml/FormSetup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ TYPO3:
formEditor:
translationFiles:
1687159009: 'EXT:form_element_linked_checkbox/Resources/Private/Language/Database.xlf'
dynamicRequireJsModules:
dynamicJavaScriptModules:
additionalViewModelModules:
1687159242: 'TYPO3/CMS/FormElementLinkedCheckbox/Backend/FormEditor/ViewModel'
1687159242: '@tritum/form-element-linked-checkbox/backend/form-editor/view-model.js'
formEditorPartials:
FormElement-LinkedCheckbox: 'Stage/SimpleTemplate'
9 changes: 9 additions & 0 deletions Configuration/Yaml/FormSetupV11.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
TYPO3:
CMS:
Form:
prototypes:
standard:
formEditor:
dynamicRequireJsModules:
additionalViewModelModules:
1687159242: 'TYPO3/CMS/FormElementLinkedCheckbox/Backend/FormEditor/ViewModel'
18 changes: 18 additions & 0 deletions Resources/Public/ESM/backend/form-editor/view-model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* Module: @tritum/form-element-linked-checkbox/backend/form-editor/view-model.js
*/

function subscribeEvents(formEditorApp) {
formEditorApp.getPublisherSubscriber().subscribe('view/stage/abstract/render/template/perform',(
topic,
[formElement, template]
) => {
if (formElement.get('type') === 'LinkedCheckbox') {
formEditor.getViewModel().getStage().renderCheckboxTemplate(formElement, template);
}
});
}

export function bootstrap(formEditorApp) {
subscribeEvents(formEditorApp);
}
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"php": "^7.4 || ^8.0",
"symfony/polyfill-php80": "^1.15",
"typo3/cms-core": "^11.5.0 || ^12.4.0",
"typo3/cms-form": "^11.5.0 || ^12.4.0",
"typo3/cms-form": "^11.5.0 || ^12.4.5",
"typo3/cms-frontend": "^11.5.0 || ^12.4.0"
},
"require-dev": {
Expand Down

0 comments on commit a4c28d2

Please sign in to comment.