diff --git a/NodeTypes/Abstract/PaperTiger.yaml b/NodeTypes/Abstract/PaperTiger.yaml new file mode 100644 index 0000000..a0befaf --- /dev/null +++ b/NodeTypes/Abstract/PaperTiger.yaml @@ -0,0 +1,5 @@ +# Add the extended nodetypes of the Sitegeist.PaperTiger +# to prevent errors if Sitegeist.PaperTiger is +# not in the requirements. +'Sitegeist.PaperTiger:Action': + abstract: true \ No newline at end of file diff --git a/NodeTypes/PaperTiger/DatabaseStorageAction.yaml b/NodeTypes/PaperTiger/DatabaseStorageAction.yaml new file mode 100644 index 0000000..88cde1b --- /dev/null +++ b/NodeTypes/PaperTiger/DatabaseStorageAction.yaml @@ -0,0 +1,23 @@ +Wegmeister.DatabaseStorage:PaperTiger.DatabaseStorageAction: + superTypes: + 'Sitegeist.PaperTiger:Action': true + ui: + label: 'i18n' + icon: 'icon-database' + properties: + identifier: + type: string + ui: + label: 'i18n' + showInCreationDialog: true + inspector: + group: 'form' + help: + message: 'i18n' + validation: + 'Neos.Neos/Validation/NotEmptyValidator': [] + 'Neos.Neos/Validation/StringLengthValidator': + maximum: 255 + 'Neos.Neos/Validation/RegularExpressionValidator': + regularExpression: '/^[a-z0-9\-]+$/i' + validationErrorMessage: 'Only letters, numbers and dashes are allowed.' \ No newline at end of file diff --git a/Resources/Private/Fusion/PaperTiger/ActionDefinition.fusion b/Resources/Private/Fusion/PaperTiger/ActionDefinition.fusion new file mode 100644 index 0000000..14b6971 --- /dev/null +++ b/Resources/Private/Fusion/PaperTiger/ActionDefinition.fusion @@ -0,0 +1,11 @@ +prototype(Wegmeister.DatabaseStorage:PaperTiger.DatabaseStorageAction.Definition) < prototype(Neos.Fusion:Component) { + identifier = ${q(node).property('identifier')} + + renderer = Sitegeist.PaperTiger:Action { + type = '\\Wegmeister\\DatabaseStorage\\FusionForm\\Runtime\\Action\\DatabaseStorageAction' + options { + identifier = ${props.identifier} + formValues = ${data} + } + } +} diff --git a/Resources/Private/Fusion/PaperTiger/ActionPreview.fusion b/Resources/Private/Fusion/PaperTiger/ActionPreview.fusion new file mode 100644 index 0000000..0830251 --- /dev/null +++ b/Resources/Private/Fusion/PaperTiger/ActionPreview.fusion @@ -0,0 +1,11 @@ +prototype(Wegmeister.DatabaseStorage:PaperTiger.DatabaseStorageAction.Preview) < prototype(Neos.Fusion:Component) { + identifier = ${q(node).property('identifier')} + title = ${Translation.translate('Wegmeister.DatabaseStorage:NodeTypes.PaperTiger.DatabaseStorageAction:properties.identifier')} + + renderer = afx` +
+
{props.title}
+
{props.identifier}
+
+ ` +} \ No newline at end of file diff --git a/Resources/Private/Translations/de/NodeTypes/PaperTiger/DatabaseStorageAction.xlf b/Resources/Private/Translations/de/NodeTypes/PaperTiger/DatabaseStorageAction.xlf new file mode 100644 index 0000000..d4fdc6f --- /dev/null +++ b/Resources/Private/Translations/de/NodeTypes/PaperTiger/DatabaseStorageAction.xlf @@ -0,0 +1,19 @@ + + + + + + Database Storage + Datenbank-Speicher + + + Table name + Tabellenname + + + The name used to store all entered forms in. Items of the same table name will be grouped together. Could theoretically be used on multiple forms, but try not to do that, unless you know what you are doing :) + Der Name, unter dem alle abgeschickten Formulare gespeichert werden. Einträge mit demselben Tabellennamen werden in Gruppen zusammengefasst. Theoretisch können mehrere Formulare den selben Namen verwenden – das sollte aber vermieden werden, sofern Sie sich hier unsicher sind :) + + + + diff --git a/Resources/Private/Translations/en/NodeTypes/PaperTiger/DatabaseStorageAction.xlf b/Resources/Private/Translations/en/NodeTypes/PaperTiger/DatabaseStorageAction.xlf new file mode 100644 index 0000000..7dab857 --- /dev/null +++ b/Resources/Private/Translations/en/NodeTypes/PaperTiger/DatabaseStorageAction.xlf @@ -0,0 +1,16 @@ + + + + + + Database Storage + + + Table name + + + The name used to store all entered forms in. Items of the same table name will be grouped together. Could theoretically be used on multiple forms, but try not to do that, unless you know what you are doing :) + + + + diff --git a/composer.json b/composer.json index eae0690..deec6a1 100644 --- a/composer.json +++ b/composer.json @@ -12,6 +12,9 @@ "Wegmeister\\DatabaseStorage\\": "Classes/" } }, + "suggest": { + "sitegeist/papertiger": "Form builder for Neos CMS based on Neos.Fusion.Form" + }, "extra": { "neos": { "package-key": "Wegmeister.DatabaseStorage"