Skip to content

Commit

Permalink
Merge pull request #1725 from thomasnares/missingTypes2
Browse files Browse the repository at this point in the history
Missing form types
  • Loading branch information
kpodemski committed Sep 12, 2023
2 parents 19a011f + 136797a commit 60f1da2
Show file tree
Hide file tree
Showing 66 changed files with 1,145 additions and 58 deletions.
70 changes: 35 additions & 35 deletions development/components/form/types-reference/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,56 +10,56 @@ Developers can already use a large list of field types (see [Symfony types](http

| Form type name | Namespace | Description |
| --- | --- | --- |
| `AccordionType` | PrestaShopBundle\Form\Admin\Type | This form type is used as a container of sub forms, each sub form will be rendered as a part of an accordion. |
| `AmountCurrencyType` | PrestaShopBundle\Form\Admin\Type | Amount with currency: combination of a `NumberType` input and a `ChoiceType` input (for currency selection). |
| `ButtonCollectionType` | PrestaShopBundle\Form\Admin\Type | `ButtonCollectionType` is a form type used to group buttons in a common form group which is useful for forms which have multiple submit buttons. |
| [`AccordionType`](accordion-type) | PrestaShopBundle\Form\Admin\Type | This form type is used as a container of sub forms, each sub form will be rendered as a part of an accordion. |
| [`AmountCurrencyType`](amount-currency) | PrestaShopBundle\Form\Admin\Type | Amount with currency: combination of a `NumberType` input and a `ChoiceType` input (for currency selection). |
| [`ButtonCollectionType`](button-collection) | PrestaShopBundle\Form\Admin\Type | `ButtonCollectionType` is a form type used to group buttons in a common form group which is useful for forms which have multiple submit buttons. |
| [`CategoryChoiceTreeType`](category-choice-tree) | PrestaShopBundle\Form\Admin\Type | A `MaterialChoiceTreeType` for categories |
| [`ChangePasswordType`](change-password) | PrestaShopBundle\Form\Admin\Type | `ChangePasswordType` is responsible for defining "change password" form type. |
| `ChoiceCategoriesTreeType` | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a category selector using Nested sets |
| `ColorPickerType` | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a color picker field |
| `ConfigurableCountryChoiceType` | PrestaShopBundle\Form\Admin\Type | Class responsible for providing configurable countries list |
| [`ChoiceCategoriesTreeType`](choice-category-tree) | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a category selector using Nested sets |
| [`ColorPickerType`](color-picker-type) | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a color picker field |
| [`ConfigurableCountryChoiceType`](configurable-country-choice-type) | PrestaShopBundle\Form\Admin\Type | Class responsible for providing configurable countries list |
| [`CountryChoiceType`](country-choice) | PrestaShopBundle\Form\Admin\Type | CountryChoiceType is responsible for providing country choices with -- symbol in front of array. |
| `CustomContentType` | PrestaShopBundle\Form\Admin\Type | Type is used to add any content in any position of the form rather than actual field. |
| `CustomMoneyType` | PrestaShopBundle\Form\Admin\Type | Native Symfony `MoneyType` customised for PrestaShop |
| [`CustomContentType`](custom-content-type) | PrestaShopBundle\Form\Admin\Type | Type is used to add any content in any position of the form rather than actual field. |
| [`CustomMoneyType`](custom-money-type) | PrestaShopBundle\Form\Admin\Type | Native Symfony `MoneyType` customised for PrestaShop |
| [`DatePickerType`](date-picker) | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a date picker field |
| [`DateRangeType`](date-range) | PrestaShopBundle\Form\Admin\Type | Combination of two `DatePickerType` fields to create a range of dates. Optional `CheckboxType` to allow unlimited "to" dates. |
| `DeltaQuantityType` | PrestaShopBundle\Form\Admin\Type | Quantity field that displays the initial quantity (not editable) and allows editing with delta quantity instead (ex: +5, -8). The input data of this form type is the initial (as a plain integer) however its output on submit is the delta quantity. |
| `EmailType` | PrestaShopBundle\Form\Admin\Type | Symfony native `EmailType` extended with IDNConverter (InternationalizedDomainNameConverter) feature |
| `EntityItemType` | PrestaShopBundle\Form\Admin\Type | Default entry type used by EntitySearchInputType |
| `EntitySearchInputType` | PrestaShopBundle\Form\Admin\Type | This form type is used for a OneToMany (or ManyToMany) association, it allows to search a list of entities (based on a remote url) and associate it. It is based on the CollectionType form type which provides prototype features to display a custom template for each associated items. |
| [`DeltaQuantityType`](delta-quantity-type) | PrestaShopBundle\Form\Admin\Type | Quantity field that displays the initial quantity (not editable) and allows editing with delta quantity instead (ex: +5, -8). The input data of this form type is the initial (as a plain integer) however its output on submit is the delta quantity. |
| [`EmailType`](email-type) | PrestaShopBundle\Form\Admin\Type | Symfony native `EmailType` extended with IDNConverter (InternationalizedDomainNameConverter) feature |
| [`EntityItemType`](entity-item-type) | PrestaShopBundle\Form\Admin\Type | Default entry type used by EntitySearchInputType |
| [`EntitySearchInputType`](entity-search-input-type) | PrestaShopBundle\Form\Admin\Type | This form type is used for a OneToMany (or ManyToMany) association, it allows to search a list of entities (based on a remote url) and associate it. It is based on the CollectionType form type which provides prototype features to display a custom template for each associated items. |
| [`FormattedTextareaType`](formatted-textarea) | PrestaShopBundle\Form\Admin\Type | Class enabling TinyMCE on a Textarea field |
| [`GeneratableTextType`](generatable-text) | PrestaShopBundle\Form\Admin\Type | It is extension of TextType that adds additonal button which allows generating value for input |
| `IconButtonType` | PrestaShopBundle\Form\Admin\Type | A form button with material icon. |
| `ImagePreviewType` | PrestaShopBundle\Form\Admin\Type | This form type is used to display an image value without providing an interactive input to edit it. It is based on a hidden input so it could be changed programmatically, or be used just to display an image in a form. |
| [`IconButtonType`](icon-button-type) | PrestaShopBundle\Form\Admin\Type | A form button with material icon. |
| [`ImagePreviewType`](image-preview-type) | PrestaShopBundle\Form\Admin\Type | This form type is used to display an image value without providing an interactive input to edit it. It is based on a hidden input so it could be changed programmatically, or be used just to display an image in a form. |
| [`IntegerMinMaxFilterType`](integer-min-max-filter) | PrestaShopBundle\Form\Admin\Type | Defines the integer type two inputs of min and max value - designed to fit grid in grid filter. |
| [`IpAddressType`](ip-address) | PrestaShopBundle\Form\Admin\Type | Extended input type for IP addresses. Displays a bouton to add the user's one to the list. |
| `LogSeverityChoiceType` | PrestaShopBundle\Form\Admin\Type | `ChoiceType` of `PrestaShopLogger` Log levels |
| [`LogSeverityChoiceType`](log-severity-type) | PrestaShopBundle\Form\Admin\Type | `ChoiceType` of `PrestaShopLogger` Log levels |
| [`MoneyWithSuffixType`](money-with-suffix) | PrestaShopBundle\Form\Admin\Type | Class `MoneyWithSuffixType` is a Symfony `MoneyType`, which also has a suffix string right after the currency sign. |
| `NavigationTabType` | PrestaShopBundle\Form\Admin\Type | This form type is used as a container of sub forms, each sub form will be rendered as a part of navigation tab component. Each first level child is used as a different tab, its label is used for the tab name and it's widget as the tab content. |
| [`NavigationTabType`](navigation-tab-type) | PrestaShopBundle\Form\Admin\Type | This form type is used as a container of sub forms, each sub form will be rendered as a part of navigation tab component. Each first level child is used as a different tab, its label is used for the tab name and it's widget as the tab content. |
| [`NumberMinMaxFilterType`](number-min-max-filter) | PrestaShopBundle\Form\Admin\Type | Defines the number type two inputs of min and max value - designed to fit grid in grid filter. |
| `PriceReductionType` | PrestaShopBundle\Form\Admin\Type | Responsible for creating form for price reduction |
| `RadioWithChoiceChildrenType` | PrestaShopBundle\Form\Admin\Type | Combination of a `RadioType` and a `ChoiceType` fields |
| `ResizableTextType` | PrestaShopBundle\Form\Admin\Type | ResizableTextType adds new sizing options to TextType. |
| `SearchAndResetType` | PrestaShopBundle\Form\Admin\Type | FormType used in rendering of "Search and Reset" action in Grids. |
| `ShopChoiceTreeType` | PrestaShopBundle\Form\Admin\Type | `MaterialChoiceTreeType` customized with shop names |
| `ShopRestrictionCheckboxType` | PrestaShopBundle\Form\Admin\Type | This class displays customized checkbox which is used for shop restriction functionality. |
| `SubmittableDeltaQuantityType` | PrestaShopBundle\Form\Admin\Type | Wraps SubmittableInput and DeltaQuantity components to work together. |
| `SubmittableInputType` | PrestaShopBundle\Form\Admin\Type | Adds a button right into specified input and toggles it's availability on change |
| [`PriceReductionType`](price-reduction-type) | PrestaShopBundle\Form\Admin\Type | Responsible for creating form for price reduction |
| [`RadioWithChoiceChildrenType`](radio-with-choice-children-type) | PrestaShopBundle\Form\Admin\Type | Combination of a `RadioType` and a `ChoiceType` fields |
| [`ResizableTextType`](resizable-text-type) | PrestaShopBundle\Form\Admin\Type | ResizableTextType adds new sizing options to TextType. |
| [`SearchAndResetType`](search-and-reset-type) | PrestaShopBundle\Form\Admin\Type | FormType used in rendering of "Search and Reset" action in Grids. |
| [`ShopChoiceTreeType`](shop-choice-tree) | PrestaShopBundle\Form\Admin\Type | `MaterialChoiceTreeType` customized with shop names |
| [`ShopRestrictionCheckboxType`](shop-restriction-checkbox-type) | PrestaShopBundle\Form\Admin\Type | This class displays customized checkbox which is used for shop restriction functionality. |
| [`SubmittableDeltaQuantityType`](submittable-delta-quantity-type) | PrestaShopBundle\Form\Admin\Type | Wraps SubmittableInput and DeltaQuantity components to work together. |
| [`SubmittableInputType`](submittable-input-type) | PrestaShopBundle\Form\Admin\Type | Adds a button right into specified input and toggles it's availability on change |
| [`SwitchType`](switch) | PrestaShopBundle\Form\Admin\Type | Displays a switch (ON / OFF by default). |
| `TextPreviewType` | PrestaShopBundle\Form\Admin\Type | This form type is used to display a text value without providing an interactive input to edit it. It is based on a hidden input so it could be changed programmatically, or be used just to display a data in a form. |
| [`TextPreviewType`](text-preview-type) | PrestaShopBundle\Form\Admin\Type | This form type is used to display a text value without providing an interactive input to edit it. It is based on a hidden input so it could be changed programmatically, or be used just to display a data in a form. |
| [`TextWithLengthCounterType`](text-with-length-counter) | PrestaShopBundle\Form\Admin\Type | Defines reusable text input with max length counter |
| `TextWithRecommendedLengthType` | PrestaShopBundle\Form\Admin\Type | Is used to add field with recommended input length counter to the form. |
| `TranslatableChoiceType` | PrestaShopBundle\Form\Admin\Type | Class TranslatableChoiceType adds translatable choice types with custom inner type to forms. Language selection uses a dropdown. |
| [`TextWithRecommendedLengthType`](text-with-recommended-length-type) | PrestaShopBundle\Form\Admin\Type | Is used to add field with recommended input length counter to the form. |
| [`TranslatableChoiceType`](translatable-choice-type) | PrestaShopBundle\Form\Admin\Type | Class TranslatableChoiceType adds translatable choice types with custom inner type to forms. Language selection uses a dropdown. |
| [`TranslatableType`](translatable) | PrestaShopBundle\Form\Admin\Type | Class TranslatableType adds translatable inputs with custom inner type to forms. Language selection uses a dropdown. |
| `TranslateType` | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a translatable form. Language selection uses tabs. |
| `TypeaheadCustomerCollectionType` | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a customer. |
| `TypeaheadProductCollectionType` | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a product, with or without attribute field. |
| `TypeaheadProductPackCollectionType` | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a product, with or without attribute field. |
| `UnavailableType` | PrestaShopBundle\Form\Admin\Type | This form type is useful during development phase to show part of a form that are not available yet. |
| [`TranslateType`](translate-type) | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a translatable form. Language selection uses tabs. |
| [`TypeaheadCustomerCollectionType`](typeahead-customer-collection-type) | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a customer. |
| [`TypeaheadProductCollectionType`](typeahead-product-collection-type) | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a product, with or without attribute field. |
| [`TypeaheadProductPackCollectionType`](typeahead-product-pack-collection-type) | PrestaShopBundle\Form\Admin\Type | This form class is responsible to create a product, with or without attribute field. |
| [`UnavailableType`](unavailable-type) | PrestaShopBundle\Form\Admin\Type | This form type is useful during development phase to show part of a form that are not available yet. |
| [`YesAndNoChoiceType`](yes-and-no-choice) | PrestaShopBundle\Form\Admin\Type | Symfony `ChoiceType` with `Yes` and `No` choices. |
| `ZoneChoiceType` | PrestaShopBundle\Form\Admin\Type | Class is responsible for providing configurable zone choices with -- symbol in front of array |
| `ProfileChoiceType` | PrestaShopBundle\Form\Admin\Type\Common\Team | Class ProfileChoiceType is choice type for selecting employee's profile. |
| [`ZoneChoiceType`](zone-choice-type) | PrestaShopBundle\Form\Admin\Type | Class is responsible for providing configurable zone choices with -- symbol in front of array |
| [`ProfileChoiceType`](profile-choice-type) | PrestaShopBundle\Form\Admin\Type\Common\Team | Class ProfileChoiceType is choice type for selecting employee's profile. |
| [`MaterialChoiceTableType`](material-choice-table) | PrestaShopBundle\Form\Admin\Type\Material | Class MaterialChoiceTableType renders checkbox choices using table layout. |
| [`MaterialChoiceTreeType`](material-choice-tree) | PrestaShopBundle\Form\Admin\Type\Material | Class MaterialChoiceTreeType renders trees using table layout. |
| [`MaterialMultipleChoiceTableType`](material-multiple-choice-table) | PrestaShopBundle\Form\Admin\Type\Material | Class MaterialMultipleChoiceTableType renders multiple checkbox choices using table layout. |
| `UnitTypeExtension` | PrestaShopBundle\Form\Admin\Extension | Class UnitTypeExtension adds an Unit to an `IntegerType` or a `NumberType` |
| [`UnitTypeExtension`](unit-type-extension) | PrestaShopBundle\Form\Admin\Extension | Class UnitTypeExtension adds an Unit to an `IntegerType` or a `NumberType` |
15 changes: 15 additions & 0 deletions development/components/form/types-reference/accordion-type.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: AccordionType
---

# AccordionType

This form type is used as a container of sub forms, each sub form will be rendered as a part of an accordion.

- Namespace: PrestaShopBundle\Form\Admin\Type
- Reference: [AccordionType](https://github.com/PrestaShop/PrestaShop/blob/8.0.x/src/PrestaShopBundle/Form/Admin/Type/AccordionType.php)

## Type options

| Option | Type | Default value | Description |
| :----------- | :----- | :-------------------------------- | :---------------------------------------------------------------------------------------- |
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,6 @@ $builder
])
```

## Preview example

{{< figure src="../img/amount-currency.png" title="AmountCurrencyType rendered in form example" >}}
64 changes: 64 additions & 0 deletions development/components/form/types-reference/button-collection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: ButtonCollectionType
---

# ButtonCollectionType

`ButtonCollectionType` is a form type used to group buttons in a common form group, which is useful for forms that have multiple submit buttons.

- Namespace: `PrestaShopBundle\Form\Admin\Type`
- Reference: [ButtonCollectionType](https://github.com/PrestaShop/PrestaShop/blob/8.0.x/src/PrestaShopBundle/Form/Admin/Type/ButtonCollectionType.php)

## Type options

| Option | Type | Default value | Description |
| :----------- | :----- | :-------------------------------- | :---------------------------------------------------------------------------------------- |
| label | `boolean` | `false` | |
| name | `string` | `` | |
| justify_content | `string` | `space-between` | |
| buttons | `array` | `[]` | |

## Code example

- [CombinationItemType.php](https://github.com/PrestaShop/PrestaShop/blob/8.0.x/src/PrestaShopBundle/Form/Admin/Sell/Product/Combination/CombinationItemType.php#L150-L183)

```php
$builder->add('actions', ButtonCollectionType::class, [
'buttons' => [
'edit' => [
'type' => IconButtonType::class,
'options' => [
'icon' => 'mode_edit',
'attr' => [
'class' => 'edit-combination-item tooltip-link',
'data-toggle' => 'pstooltip',
'data-original-title' => $this->trans('Edit', 'Admin.Actions'),
],
],
],
'delete' => [
'type' => IconButtonType::class,
'options' => [
'icon' => 'delete',
'attr' => [
'class' => 'delete-combination-item tooltip-link',
'data-modal-title' => $this->trans('Delete item', 'Admin.Notifications.Warning'),
'data-modal-message' => $this->trans('Delete selected item?', 'Admin.Notifications.Warning'),
'data-modal-apply' => $this->trans('Delete', 'Admin.Actions'),
'data-modal-cancel' => $this->trans('Cancel', 'Admin.Actions'),
'data-toggle' => 'pstooltip',
'data-original-title' => $this->trans('Delete', 'Admin.Actions'),
],
],
],
],
'label' => $this->trans('Actions', 'Admin.Global'),
'attr' => [
'class' => 'combination-row-actions',
],
])
```

## Preview example

{{< figure src="../img/button-collection.png" title="ButtonCollectionType rendered in form example" >}}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ Javascript components.

| Component | Description |
| :-------------------------------------------------------------- | :----------------------------------------------------------------- |
| ../admin-dev/themes/new-theme/js/components/form/choice-tree.js | Responsible for choice tree expanding and collapsing interactivity |
| ChoiceTree | Responsible for choice tree expanding and collapsing interactivity |

{{% notice note %}}
Learn more about [Javascript components and how to use them]({{<relref "/8/development/components/global-components">}})
{{% /notice %}}

## Code example

Expand Down

0 comments on commit 60f1da2

Please sign in to comment.