Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.53 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
  4. <argument name="data" xsi:type="array">
  5. <item name="js_config" xsi:type="array">
  6. <item name="provider" xsi:type="string">example_foo_form.example_foo_form_data_source</item>
  7. <item name="deps" xsi:type="string">example_foo_form.example_foo_form_data_source</item>
  8. </item>
  9. <item name="config" xsi:type="array">
  10. <item name="dataScope" xsi:type="string">data</item>
  11. <item name="namespace" xsi:type="string">example_foo_form</item>
  12. </item>
  13. <item name="label" xsi:type="string" translate="true">Foo Information</item>
  14. <item name="layout" xsi:type="array">
  15. <item name="type" xsi:type="string">tabs</item>
  16. <item name="navContainerName" xsi:type="string">left</item>
  17. </item>
  18. <item name="buttons" xsi:type="array">
  19. <item name="save" xsi:type="string">ExampleFooBlockAdminhtmlFooEditSaveButton</item>
  20. </item>
  21. </argument>
  22. <dataSource name="example_foo_form_data_source">
  23. <argument name="dataProvider" xsi:type="configurableObject">
  24. <argument name="class" xsi:type="string">ExampleFooModelFooDataProvider</argument>
  25. <argument name="name" xsi:type="string">example_foo_form_data_source</argument>
  26. <argument name="primaryFieldName" xsi:type="string">foo_id</argument>
  27. <argument name="requestFieldName" xsi:type="string">id</argument>
  28. <argument name="data" xsi:type="array">
  29. <item name="config" xsi:type="array">
  30. <item name="submit_url" xsi:type="url" path="example_foo/foo/save"/>
  31. </item>
  32. </argument>
  33. </argument>
  34. <argument name="data" xsi:type="array">
  35. <item name="js_config" xsi:type="array">
  36. <item name="component" xsi:type="string">Magento_Ui/js/form/provider</item>
  37. </item>
  38. </argument>
  39. </dataSource>
  40. <fieldset name="foo">
  41. <argument name="data" xsi:type="array">
  42. <item name="config" xsi:type="array">
  43. <item name="label" xsi:type="string" translate="true">Foo Information</item>
  44. </item>
  45. </argument>
  46. <field name="foo_id">
  47. <argument name="data" xsi:type="array">
  48. <item name="config" xsi:type="array">
  49. <item name="label" xsi:type="string" translate="true">Foo ID</item>
  50. <item name="visible" xsi:type="boolean">false</item>
  51. <item name="dataType" xsi:type="string">text</item>
  52. <item name="formElement" xsi:type="string">input</item>
  53. <item name="dataScope" xsi:type="string">foo_id</item>
  54. </item>
  55. </argument>
  56. </field>
  57. <field name="name">
  58. <argument name="data" xsi:type="array">
  59. <item name="config" xsi:type="array">
  60. <item name="label" xsi:type="string" translate="true">Name</item>
  61. <item name="visible" xsi:type="boolean">true</item>
  62. <item name="dataType" xsi:type="string">text</item>
  63. <item name="formElement" xsi:type="string">input</item>
  64. <item name="dataScope" xsi:type="string">name</item>
  65. </item>
  66. </argument>
  67. </field>
  68. </fieldset>
  69. </form>
  70.  
  71. <?php
  72.  
  73. namespace ExampleFooModelFoo;
  74.  
  75. class DataProvider extends MagentoUiDataProviderAbstractDataProvider
  76. {
  77. public function __construct(
  78. ExampleFooModelResourceModelFooCollectionFactory $collectionFactory,
  79. $name,
  80. $primaryFieldName,
  81. $requestFieldName,
  82. array $meta = [],
  83. array $data = []
  84. ) {
  85. $this->collection = $collectionFactory->create();
  86. parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data);
  87. }
  88.  
  89. public function getData()
  90. {
  91. $data = parent::getData();
  92. $result = array_reduce($data['items'], function ($result, array $item) {
  93. $result[$item['foo_id']] = $item;
  94. return $result;
  95. }, []);
  96. return $result;
  97. }
  98. }
  99.  
  100. {
  101. "types": {
  102. "dataSource": {
  103. "component": "Magento_Ui/js/form/provider"
  104. },
  105. "input": {
  106. "extends": "example_foo_form"
  107. },
  108. "form.input": {
  109. "extends": "input"
  110. },
  111. "textarea": {
  112. "extends": "example_foo_form"
  113. },
  114. "form.textarea": {
  115. "extends": "textarea"
  116. },
  117. "fieldset": {
  118. "component": "Magento_Ui/js/form/components/fieldset",
  119. "extends": "example_foo_form"
  120. },
  121. "example_foo_form": {
  122. "component": "Magento_Ui/js/form/form",
  123. "provider": "example_foo_form.example_foo_form_data_source",
  124. "deps": "example_foo_form.example_foo_form_data_source"
  125. },
  126. "nav": {
  127. "component": "Magento_Ui/js/form/components/tab_group",
  128. "config": {
  129. "template": "ui/tab"
  130. },
  131. "extends": "example_foo_form"
  132. },
  133. "html_content": {
  134. "component": "Magento_Ui/js/form/components/html",
  135. "extends": "example_foo_form"
  136. },
  137. "tab": {
  138. "component": "Magento_Ui/js/form/components/area",
  139. "extends": "example_foo_form"
  140. }
  141. },
  142. "components": {
  143. "example_foo_form": {
  144. "children": {
  145. "sections": {
  146. "type": "nav",
  147. "config": {
  148. "label": "Foo Information"
  149. },
  150. "children": []
  151. },
  152. "areas": {
  153. "type": "example_foo_form",
  154. "config": {
  155. "namespace": "example_foo_form"
  156. },
  157. "children": {
  158. "foo": {
  159. "type": "tab",
  160. "dataScope": "data.foo",
  161. "config": {
  162. "label": "Foo Information"
  163. },
  164. "insertTo": {
  165. "example_foo_form.sections": {
  166. "position": 20
  167. }
  168. },
  169. "children": {
  170. "foo": {
  171. "type": "fieldset",
  172. "name": "foo",
  173. "children": {
  174. "name": {
  175. "type": "form.input",
  176. "name": "name",
  177. "children": [],
  178. "dataScope": "name",
  179. "config": {
  180. "component": "Magento_Ui/js/form/element/abstract",
  181. "template": "ui/form/field",
  182. "label": "Name",
  183. "visible": true,
  184. "dataType": "text",
  185. "formElement": "input",
  186. "displayArea": "body"
  187. }
  188. }
  189. },
  190. "config": {
  191. "label": "Foo Information",
  192. "displayArea": "body"
  193. }
  194. }
  195. }
  196. }
  197. }
  198. },
  199. "example_foo_form_data_source": {
  200. "type": "dataSource",
  201. "name": "example_foo_form_data_source",
  202. "dataScope": "example_foo_form",
  203. "config": {
  204. "data": {
  205. "foo_id": "1",
  206. "name": "test1"
  207. },
  208. "submit_url": "http://m2-example.localhost/admin/example/foo/save/key/f218ccaa2d4596ecc1f63770cd913793822e7f8489bd480ca007e3890f83a4b5/",
  209. "params": {
  210. "namespace": "example_foo_form"
  211. }
  212. }
  213. }
  214. }
  215. }
  216. }
  217. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement