Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"laminas/laminas-form": "^3.19.2",
"laminas/laminas-navigation": "^2.18",
"laminas/laminas-view": "^2.27",
"webinertia/webinertia-filter": "^0.0.3 || ^0.0.4 || ^0.0.5",
"webinertia/webinertia-filter": "^0.0.5",
"webinertia/webinertia-validator": "^0.0.3 || ^0.0.4"
},
"require-dev": {
Expand All @@ -48,10 +48,8 @@
"laminas/laminas-view": "^2.25",
"phpunit/phpunit": "10.4.2",
"psalm/plugin-phpunit": "^0.18.4",
"phpstan/phpstan": "1.10.40",
"laminas/laminas-test": "^4.8",
"phpstan/extension-installer": "^1.2",
"slam/phpstan-laminas-framework": "^1.4"
"vimeo/psalm": "^5.18"
},
"extra": {
"laminas": {
Expand Down Expand Up @@ -79,8 +77,7 @@
"cs-fix": "phpcbf",
"static-analysis": "psalm --shepherd --stats",
"test": "phpunit --colors=always",
"test-coverage": "phpunit --colors=always --coverage-clover clover.xml",
"phpstan": "php vendor/bin/phpstan analyse --xdebug"
"test-coverage": "phpunit --colors=always --coverage-clover clover.xml"
},
"config": {
"allow-plugins": {
Expand Down
1 change: 1 addition & 0 deletions src/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
!vendor
118 changes: 55 additions & 63 deletions src/ConfigProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,21 @@

namespace Limatus;

use Laminas\Form\Element\Checkbox;
use Laminas\Form\Element\Text;
use Laminas\Form\ElementFactory;
use Laminas\Form\View\Helper\Factory\FormElementErrorsFactory;
use Laminas\Form\View\Helper\Form;
use Laminas\Form\View\Helper\FormCheckbox as FormCheckboxHelper;
use Laminas\Form\View\Helper\FormCollection;
use Laminas\Form\View\Helper\FormElement;
use Laminas\Form\View\Helper\FormElementErrors;
use Laminas\Form\View\Helper\FormInput;
use Laminas\Form\View\Helper\FormRow;
use Laminas\Form\View\Helper\FormText;
use Laminas\ServiceManager\Factory;
use Laminas\ServiceManager\Factory\InvokableFactory;
use Laminas\View\Helper\Navigation\Menu;
use Limatus\Form\RenderListenerInterface;
use Limatus\Form\Element;
use Limatus\Form\View;
use Limatus\View\Helper;
use Limatus\Form\View\Helper;
use Limatus\Form\View\Helper\FormCollectionDelegator;
use Limatus\Vendor\Bootstrap\LayoutMode;
use Limatus\View\Helper\HtmlTag;
use Limatus\View\Helper\Service\HtmlTagFactory;

class ConfigProvider
{
Expand All @@ -37,57 +34,44 @@ public function __invoke(): array

public function getDependencyConfig(): array
{
return [];
return [
'aliases' => [
VendorInterface::class => Vendor\Bootstrap\Bootstrap::class,
RenderListenerInterface::class
=> Vendor\Bootstrap\Listener\RenderListener::class,
],
'factories' => [
Element\Listener\ElementListener::class
=> Element\Listener\ElementListenerFactory::class,
Vendor\Bootstrap\Bootstrap::class => Vendor\Bootstrap\BootstrapFactory::class,
Vendor\Bootstrap\Listener\RenderListener::class
=> Vendor\Bootstrap\Listener\RenderListenerFactory::class,
],
];
}

/** only new components get aliases */
public function getViewHelperConfig(): array
{
return [
'aliases' => [
'formBootstrapElement' => View\Helper\FormBootstrapElement::class,
'formGridCollection' => View\Helper\FormGridCollection::class,
'formHelp' => View\Helper\FormHelp::class,
'formHorizontalElement' => View\Helper\FormHorizontalElement::class,
'formCheckBox' => View\Helper\FormCheckbox::class,
'modal' => Helper\Modal::class,
],
'factories' => [
FormElementErrors::class => FormElementErrorsFactory::class,
View\Helper\Form::class => Factory\InvokableFactory::class,
View\Helper\FormCheckbox::class => Factory\InvokableFactory::class,
View\Helper\FormCollection::class => Factory\InvokableFactory::class,
View\Helper\FormElement::class => Factory\InvokableFactory::class,
View\Helper\FormInput::class => Factory\InvokableFactory::class,
View\Helper\FormRow::class => Factory\InvokableFactory::class,
View\Helper\FormText::class => Factory\InvokableFactory::class,
View\Helper\FormBootstrapElement::class => Factory\InvokableFactory::class,
View\Helper\FormGridCollection::class => Factory\InvokableFactory::class,
View\Helper\FormHelp::class => Factory\InvokableFactory::class,
View\Helper\FormHorizontalElement::class => Factory\InvokableFactory::class,
Helper\Modal::class => Factory\InvokableFactory::class,
HtmlTag::class => HtmlTagFactory::class,
],
'delegators' => [
Form::class => [
View\Delegator\Factory\FormFactory::class,
],
FormCheckboxHelper::class => [
View\Delegator\Factory\FormCheckboxFactory::class,
Helper\FormDelegatorFactory::class,
],
FormCollection::class => [
View\Delegator\Factory\FormCollectionFactory::class,
],
FormElement::class => [
View\Delegator\Factory\FormElementFactory::class,
],
FormInput::class => [
View\Delegator\Factory\FormInputFactory::class,
Helper\FormCollectionDelegatorFactory::class,
],
// FormInput::class => [
// Helper\FormInputDelegatorFactory::class,
// ],
// FormElement::class => [
// Helper\FormElementDelegatorFactory::class,
// ],
FormRow::class => [
View\Delegator\Factory\FormRowFactory::class,
],
FormText::class => [
View\Delegator\Factory\FormTextFactory::class,
Helper\FormRowDelegatorFactory::class,
],
],
];
Expand All @@ -96,6 +80,14 @@ public function getViewHelperConfig(): array
public function getHelperConfig(): array
{
return [
static::class => [
'form_layout_mode' => LayoutMode::Grid, // Override the default form layout
// set defaults. Values passed via $formHelper mutators will override these values.
'g' => '',
'row' => '',
'mb' => '',
'col' => '',
],
'form_element_errors' => [
'message_open_format' => '<div%s><ul><li>',
'message_separator_string' => '</li><li>',
Expand All @@ -112,32 +104,32 @@ public function getFormElementConfig(): array
return [
'aliases' => [],
'factories' => [
Element\Checkbox::class => ElementFactory::class,
Element\Text::class => ElementFactory::class,
// Element\Checkbox::class => ElementFactory::class,
// Element\Text::class => ElementFactory::class,
],
'delegators' => [
Checkbox::class => [
Element\Delegator\Factory\CheckboxFactory::class,
],
Text::class => [
Element\Delegator\Factory\TextFactory::class,
],
// Checkbox::class => [
// Element\Delegator\Factory\CheckboxFactory::class,
// ],
// Text::class => [
// Element\Delegator\Factory\TextFactory::class,
// ],
],
];
}

public function getNavigationHelperConfig(): array
{
return [
'aliases' => [],
'factories' => [
Helper\Navigation\Menu::class => InvokableFactory::class,
],
'delegators' => [
Menu::class => [
Helper\Navigation\Delegator\Factory\MenuFactory::class,
],
],
// 'aliases' => [],
// 'factories' => [
// Helper\Navigation\Menu::class => InvokableFactory::class,
// ],
// 'delegators' => [
// Menu::class => [
// Helper\Navigation\Delegator\Factory\MenuFactory::class,
// ],
// ],
];
}
}
32 changes: 32 additions & 0 deletions src/Events.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

declare(strict_types=1);

namespace Limatus;

enum Events: string
{
// FormDelegator events
case PreRenderForm = 'pre.render.form';
case RenderForm = 'render.form';
case PostRenderForm = 'post.render.form';
// Fieldset/Collection events
case RenderCollection = 'render.collection';
// FormInputDelegator events
case PreRenderInput = 'pre.render.input';
case RenderInput = 'render.input';
case PostRenderInput = 'post.render.input';
// FormElementDelegator events
case PreRenderElement = 'pre.render.element';
case RenderElement = 'render.element';
case PostRenderElement = 'post.render.element';
// FormRowDelegator events
case PreRenderRow = 'pre.render.row';
case RenderRow = 'render.row';
case PostRenderRow = 'post.render.row';
// Label Events
case PreRenderLabel = 'pre.render.label';
case PostRenderLabel = 'post.render.label';
// trigger by ElementDelegator::setOptions
case SetOptions = 'setOptions';
}
17 changes: 0 additions & 17 deletions src/Form/Element.php

This file was deleted.

19 changes: 0 additions & 19 deletions src/Form/Element/Button.php

This file was deleted.

Loading