From 8a2f50180500747d750bc5fec1813fd0ec9596a1 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Tue, 18 Oct 2016 16:32:13 +1300 Subject: [PATCH 1/8] Sort items (no additions) --- code/BasicFieldsTestPage.php | 105 +++++++++++++++++------------------ 1 file changed, 52 insertions(+), 53 deletions(-) diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index 26b10d3..ad39974 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -22,46 +22,45 @@ use SilverStripe\Forms\RequiredFields; class BasicFieldsTestPage extends TestPage { private static $db = array( - 'Required' => 'Text', - 'Validated' => 'Text', - 'Checkbox' => 'Boolean', - 'Readonly' => 'Varchar', - 'Textarea' => 'Text', - 'Text' => 'Varchar', + 'AjaxUniqueText' => 'Varchar', + 'Autocomplete' => 'Varchar', + 'BankNumber' => 'Varchar', 'CalendarDate' => 'Date', + 'Checkbox' => 'Boolean', 'CompositeDate' => 'Date', + 'ConfirmedPassword' => 'Varchar', + 'CreditCard' => 'Varchar', 'Date' => 'Date', - 'DMYCalendarDate' => 'Date', - 'DMYDate' => 'Date', 'DateTime' => 'Datetime', 'DateTimeWithCalendar' => 'Datetime', - 'Time' => 'Time', - - 'Money' => 'Money', - 'Number' => 'Int', - 'Price' => 'Double', + 'DBFile' => 'DBFile', + 'DMYCalendarDate' => 'Date', + 'DMYDate' => 'Date', 'Email' => 'Varchar', - 'Password' => 'Varchar', - 'ConfirmedPassword' => 'Varchar', + 'GSTNumber' => 'Varchar', 'HTMLField' => 'HTMLText', 'HTMLOneLine' => 'HTMLVarchar', - 'UniqueText' => 'Varchar', - 'AjaxUniqueText' => 'Varchar', - 'UniqueRestrictedText' => 'Varchar', - 'BankNumber' => 'Varchar', - 'PhoneNumber' => 'Varchar', - 'Autocomplete' => 'Varchar', - 'CreditCard' => 'Varchar', - 'GSTNumber' => 'Varchar', + 'Money' => 'Money', + 'Number' => 'Int', 'OptionSet' => 'Int', - 'DBFile' => 'DBFile', + 'Password' => 'Varchar', + 'PhoneNumber' => 'Varchar', + 'Price' => 'Double', + 'Readonly' => 'Varchar', + 'Required' => 'Text', + 'Text' => 'Varchar', + 'Textarea' => 'Text', + 'Time' => 'Time', + 'UniqueRestrictedText' => 'Varchar', + 'UniqueText' => 'Varchar', + 'Validated' => 'Text', ); private static $has_one = array( - 'Dropdown' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', - 'GroupedDropdown' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', - 'File' => 'SilverStripe\\Assets\\File', 'AttachedFile' => 'SilverStripe\\Assets\\File', + 'Dropdown' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', + 'File' => 'SilverStripe\\Assets\\File', + 'GroupedDropdown' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', 'Image' => 'SilverStripe\\Assets\\Image', ); @@ -100,41 +99,41 @@ class BasicFieldsTestPage extends TestPage $thirdCat = $cats->offsetGet(2); return array( - 'Readonly' => 'My value (ä!)', - 'Textarea' => 'My value (ä!)', - 'Required' => 'My required value (delete to test)', - 'Validated' => '1', - 'Text' => 'My value (ä!)', - 'Textarea' => 'My value (ä!)', - 'HTMLField' => 'My value (ä!)', - 'Email' => 'test@test.com', - 'Password' => 'My value (ä!)', - 'Number' => 99, - 'Price' => 99.99, - 'MoneyAmount' => 99.99, - 'MoneyCurrency' => 'EUR', - 'PhoneNumber' => '021 1235', - 'CreditCard' => '4000400040004111', + 'CalendarDate' => "2002-10-23", 'Checkbox' => 1, 'CheckboxSetID' => $firstCat->ID, - 'DropdownID' => $firstCat->ID, - 'GroupedDropdownID' => $firstCat->ID, - 'MultipleListboxFieldID' => join(',', array($thirdCat->ID, $firstCat->ID)), - 'OptionSet' => join(',', array($thirdCat->ID, $firstCat->ID)), + 'CreditCard' => '4000400040004111', 'Date' => "2002-10-23", - 'CalendarDate' => "2002-10-23", - 'DMYDate' => "2002-10-23", - 'Time' => "23:59", 'DateTime' => "2002-10-23 23:59", 'DateTimeWithCalendar' => "2002-10-23 23:59", - 'MyFieldGroup1' => 'My value (ä!)', - 'MyFieldGroup2' => 'My value (ä!)', - 'MyFieldGroup3' => 'My value (ä!)', - 'MyFieldGroupCheckbox' => true, + 'DMYDate' => "2002-10-23", + 'DropdownID' => $firstCat->ID, + 'Email' => 'test@test.com', + 'GroupedDropdownID' => $firstCat->ID, + 'HTMLField' => 'My value (ä!)', + 'MoneyAmount' => 99.99, + 'MoneyCurrency' => 'EUR', + 'MultipleListboxFieldID' => join(',', array($thirdCat->ID, $firstCat->ID)), 'MyCompositeField1' => 'My value (ä!)', 'MyCompositeField2' => 'My value (ä!)', 'MyCompositeField3' => 'My value (ä!)', 'MyCompositeFieldCheckbox' => true, + 'MyFieldGroup1' => 'My value (ä!)', + 'MyFieldGroup2' => 'My value (ä!)', + 'MyFieldGroup3' => 'My value (ä!)', + 'MyFieldGroupCheckbox' => true, + 'Number' => 99, + 'OptionSet' => join(',', array($thirdCat->ID, $firstCat->ID)), + 'Password' => 'My value (ä!)', + 'PhoneNumber' => '021 1235', + 'Price' => 99.99, + 'Readonly' => 'My value (ä!)', + 'Required' => 'My required value (delete to test)', + 'Text' => 'My value (ä!)', + 'Textarea' => 'My value (ä!)', + 'Textarea' => 'My value (ä!)', + 'Time' => "23:59", + 'Validated' => '1', ); } From 7137b456cf527821e72731122291da464eaaea0a Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Tue, 18 Oct 2016 16:38:41 +1300 Subject: [PATCH 2/8] Consolidated fields --- code/BasicFieldsTestPage.php | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index ad39974..534edb7 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -22,27 +22,29 @@ use SilverStripe\Forms\RequiredFields; class BasicFieldsTestPage extends TestPage { private static $db = array( - 'AjaxUniqueText' => 'Varchar', - 'Autocomplete' => 'Varchar', - 'BankNumber' => 'Varchar', 'CalendarDate' => 'Date', 'Checkbox' => 'Boolean', - 'CompositeDate' => 'Date', + 'CheckboxSetID' => 'Int', 'ConfirmedPassword' => 'Varchar', 'CreditCard' => 'Varchar', 'Date' => 'Date', 'DateTime' => 'Datetime', 'DateTimeWithCalendar' => 'Datetime', 'DBFile' => 'DBFile', - 'DMYCalendarDate' => 'Date', 'DMYDate' => 'Date', 'Email' => 'Varchar', - 'GSTNumber' => 'Varchar', 'HTMLField' => 'HTMLText', - 'HTMLOneLine' => 'HTMLVarchar', 'Money' => 'Money', + 'MyCompositeField1' => 'Varchar', + 'MyCompositeField2' => 'Varchar', + 'MyCompositeField3' => 'Varchar', + 'MyCompositeFieldCheckbox' => 'Boolean', + 'MyFieldGroup1' => 'Varchar', + 'MyFieldGroup2' => 'Varchar', + 'MyFieldGroup3' => 'Varchar', + 'MyFieldGroupCheckbox' => 'Boolean', 'Number' => 'Int', - 'OptionSet' => 'Int', + 'OptionSet' => 'Varchar', 'Password' => 'Varchar', 'PhoneNumber' => 'Varchar', 'Price' => 'Double', @@ -50,9 +52,9 @@ class BasicFieldsTestPage extends TestPage 'Required' => 'Text', 'Text' => 'Varchar', 'Textarea' => 'Text', + 'Required' => 'Varchar', + 'Readonly' => 'Varchar', 'Time' => 'Time', - 'UniqueRestrictedText' => 'Varchar', - 'UniqueText' => 'Varchar', 'Validated' => 'Text', ); @@ -102,6 +104,7 @@ class BasicFieldsTestPage extends TestPage 'CalendarDate' => "2002-10-23", 'Checkbox' => 1, 'CheckboxSetID' => $firstCat->ID, + 'ConfirmedPassword' => 'secret', 'CreditCard' => '4000400040004111', 'Date' => "2002-10-23", 'DateTime' => "2002-10-23 23:59", @@ -131,7 +134,6 @@ class BasicFieldsTestPage extends TestPage 'Required' => 'My required value (delete to test)', 'Text' => 'My value (ä!)', 'Textarea' => 'My value (ä!)', - 'Textarea' => 'My value (ä!)', 'Time' => "23:59", 'Validated' => '1', ); @@ -340,14 +342,5 @@ class BasicFieldsTestPage extends TestPage class BasicFieldsTestPage_Controller extends TestPage_Controller { - public function AutoCompleteItems() - { - $items = array( - 'TestItem1', - 'TestItem2', - 'TestItem3', - 'TestItem4', - ); - return implode(',', $items); - } + } From 3eb6295f760cc536708505e659856c0ffd94976e Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Tue, 18 Oct 2016 17:17:35 +1300 Subject: [PATCH 3/8] More consistent field loading, using loadDataFrom() in react test admin --- code/BasicFieldsTestPage.php | 41 +++++++++++++++++++++-------------- code/TestReactFormBuilder.php | 3 ++- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index 534edb7..fd58d87 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -43,6 +43,10 @@ class BasicFieldsTestPage extends TestPage 'MyFieldGroup2' => 'Varchar', 'MyFieldGroup3' => 'Varchar', 'MyFieldGroupCheckbox' => 'Boolean', + 'MyLabelledFieldGroup1' => 'Varchar', + 'MyLabelledFieldGroup2' => 'Varchar', + 'MyLabelledFieldGroup3' => 'Int', + 'MyLabelledFieldGroupCheckbox' => 'Boolean', 'Number' => 'Int', 'OptionSet' => 'Varchar', 'Password' => 'Varchar', @@ -55,6 +59,8 @@ class BasicFieldsTestPage extends TestPage 'Required' => 'Varchar', 'Readonly' => 'Varchar', 'Time' => 'Time', + 'ToggleCompositeTextField1' => 'Varchar', + 'ToggleCompositeDropdownField' => 'Varchar', 'Validated' => 'Text', ); @@ -87,6 +93,14 @@ class BasicFieldsTestPage extends TestPage $data = $this->getDefaultData(); $inst->update($data); $inst->write(); + + TestCategory::create()->requireDefaultRecords(); + $cats = TestCategory::get(); + $firstCat = $cats->offsetGet(0); + $thirdCat = $cats->offsetGet(2); + $inst->MultipleListboxField()->add($firstCat); + $inst->MultipleListboxField()->add($thirdCat); + } } @@ -116,7 +130,7 @@ class BasicFieldsTestPage extends TestPage 'HTMLField' => 'My value (ä!)', 'MoneyAmount' => 99.99, 'MoneyCurrency' => 'EUR', - 'MultipleListboxFieldID' => join(',', array($thirdCat->ID, $firstCat->ID)), + // 'MultipleListboxFieldID' => null, 'MyCompositeField1' => 'My value (ä!)', 'MyCompositeField2' => 'My value (ä!)', 'MyCompositeField3' => 'My value (ä!)', @@ -125,6 +139,10 @@ class BasicFieldsTestPage extends TestPage 'MyFieldGroup2' => 'My value (ä!)', 'MyFieldGroup3' => 'My value (ä!)', 'MyFieldGroupCheckbox' => true, + 'MyLabelledFieldGroup1' => 'My value (ä!)', + 'MyLabelledFieldGroup2' => 'My value (ä!)', + 'MyLabelledFieldGroup3' => 2, + 'MyLabelledFieldGroupCheckbox' => true, 'Number' => 99, 'OptionSet' => join(',', array($thirdCat->ID, $firstCat->ID)), 'Password' => 'My value (ä!)', @@ -135,6 +153,7 @@ class BasicFieldsTestPage extends TestPage 'Text' => 'My value (ä!)', 'Textarea' => 'My value (ä!)', 'Time' => "23:59", + 'ToggleCompositeTextField1' => 'My value (ä!)', 'Validated' => '1', ); } @@ -170,13 +189,13 @@ class BasicFieldsTestPage extends TestPage $fields->addFieldsToTab('Root.Option', array( Object::create('SilverStripe\\Forms\\CheckboxField', 'Checkbox'), - Object::create('SilverStripe\\Forms\\CheckboxSetField', 'CheckboxSet', 'CheckboxSet', TestCategory::map()), + Object::create('SilverStripe\\Forms\\CheckboxSetField', 'CheckboxSetID', 'CheckboxSet', TestCategory::map()), Object::create('SilverStripe\\Forms\\DropdownField', 'DropdownID', 'DropdownField', TestCategory::map()) ->setHasEmptyDefault(true), Object::create('SilverStripe\\Forms\\GroupedDropdownField', 'GroupedDropdownID', 'GroupedDropdown', array('Test Categories' => TestCategory::map()) ), - Object::create('SilverStripe\\Forms\\ListboxField', 'MultipleListboxFieldID', 'ListboxField (multiple)', TestCategory::map()) + Object::create('SilverStripe\\Forms\\ListboxField', 'MultipleListboxField', 'ListboxField (multiple)', TestCategory::map()) ->setSize(3), Object::create('SilverStripe\\Forms\\OptionsetField', 'OptionSet', 'OptionSetField', TestCategory::map()), Object::create('SilverStripe\\Forms\\SelectionGroup', 'SelectionGroup', array( @@ -193,9 +212,7 @@ class BasicFieldsTestPage extends TestPage )), Object::create('SilverStripe\\Forms\\ToggleCompositeField', 'ToggleCompositeField', 'ToggleCompositeField', new FieldList( Object::create('SilverStripe\\Forms\\TextField', 'ToggleCompositeTextField1'), - Object::create('SilverStripe\\Forms\\TextField', 'ToggleCompositeTextField2'), - Object::create('SilverStripe\\Forms\\DropdownField', 'ToggleCompositeDropdownField', 'ToggleCompositeDropdownField', TestCategory::map()), - Object::create('SilverStripe\\Forms\\TextField', 'ToggleCompositeTextField3') + Object::create('SilverStripe\\Forms\\DropdownField', 'ToggleCompositeDropdownField', 'ToggleCompositeDropdownField', TestCategory::map()) )) )); @@ -236,14 +253,6 @@ class BasicFieldsTestPage extends TestPage ->setRightTitle($rightTitle), )); - $data = $this->getDefaultData(); - foreach ($fields->dataFields() as $field) { - $name = $field->getName(); - if (isset($data[$name])) { - $field->setValue($data[$name]); - } - } - $blacklist = array( 'DMYDate', 'Required', 'Validated', 'ToggleCompositeField', 'SelectionGroup' ); @@ -264,13 +273,13 @@ class BasicFieldsTestPage extends TestPage $disabledField = $field->performDisabledTransformation(); $disabledField->setTitle($disabledField->Title() . ' (disabled)'); $disabledField->setName($disabledField->getName() . '_disabled'); - $disabledField->setValue($field->Value()); + $disabledField->setValue($this->getField($field->getName())); $tabObj->insertAfter($disabledField, $field->getName()); $readonlyField = $field->performReadonlyTransformation(); $readonlyField->setTitle($readonlyField->Title() . ' (readonly)'); $readonlyField->setName($readonlyField->getName() . '_readonly'); - $readonlyField->setValue($field->Value()); + $readonlyField->setValue($this->getField($field->getName())); $tabObj->insertAfter($readonlyField, $field->getName()); } } diff --git a/code/TestReactFormBuilder.php b/code/TestReactFormBuilder.php index 93d1927..0af5596 100644 --- a/code/TestReactFormBuilder.php +++ b/code/TestReactFormBuilder.php @@ -24,9 +24,10 @@ class TestReactFormBuilder extends LeftAndMain } public function getTestEditForm($id = null) { /* @var $page BasicFieldsTestPage */ - $page = BasicFieldsTestPage::create(); + $page = BasicFieldsTestPage::get()->First(); $form = Form::create($this, 'TestEditForm', $page->getCMSFields(), FieldList::create([])); + $form->loadDataFrom($page); return $form; } From 8a024fd39cd83c31296b7fbc0a0263c8584f28ab Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Tue, 18 Oct 2016 23:15:37 +1300 Subject: [PATCH 4/8] Use actual manymany for CheckboxSetField It's not really designed to work with a has_one or database column (you'd use OptionsetField for that). Also removed the "Field" suffix from "MultipleListboxField" (inconsistent with other column names) --- code/BasicFieldsTestPage.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index fd58d87..5a38878 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -24,7 +24,6 @@ class BasicFieldsTestPage extends TestPage private static $db = array( 'CalendarDate' => 'Date', 'Checkbox' => 'Boolean', - 'CheckboxSetID' => 'Int', 'ConfirmedPassword' => 'Varchar', 'CreditCard' => 'Varchar', 'Date' => 'Date', @@ -78,7 +77,8 @@ class BasicFieldsTestPage extends TestPage private static $many_many = array( 'ManyManyFiles' => 'SilverStripe\\Assets\\File', - 'MultipleListboxField' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', + 'CheckboxSet' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', + 'Listbox' => 'SilverStripe\\FrameworkTest\\Model\\TestCategory', ); private static $defaults = array( @@ -98,8 +98,10 @@ class BasicFieldsTestPage extends TestPage $cats = TestCategory::get(); $firstCat = $cats->offsetGet(0); $thirdCat = $cats->offsetGet(2); - $inst->MultipleListboxField()->add($firstCat); - $inst->MultipleListboxField()->add($thirdCat); + $inst->Listbox()->add($firstCat); + $inst->Listbox()->add($thirdCat); + $inst->CheckboxSet()->add($firstCat); + $inst->CheckboxSet()->add($thirdCat); } } @@ -117,7 +119,7 @@ class BasicFieldsTestPage extends TestPage return array( 'CalendarDate' => "2002-10-23", 'Checkbox' => 1, - 'CheckboxSetID' => $firstCat->ID, + // 'CheckboxSet' => null, 'ConfirmedPassword' => 'secret', 'CreditCard' => '4000400040004111', 'Date' => "2002-10-23", @@ -130,7 +132,7 @@ class BasicFieldsTestPage extends TestPage 'HTMLField' => 'My value (ä!)', 'MoneyAmount' => 99.99, 'MoneyCurrency' => 'EUR', - // 'MultipleListboxFieldID' => null, + // 'ListboxID' => null, 'MyCompositeField1' => 'My value (ä!)', 'MyCompositeField2' => 'My value (ä!)', 'MyCompositeField3' => 'My value (ä!)', @@ -189,13 +191,13 @@ class BasicFieldsTestPage extends TestPage $fields->addFieldsToTab('Root.Option', array( Object::create('SilverStripe\\Forms\\CheckboxField', 'Checkbox'), - Object::create('SilverStripe\\Forms\\CheckboxSetField', 'CheckboxSetID', 'CheckboxSet', TestCategory::map()), + Object::create('SilverStripe\\Forms\\CheckboxSetField', 'CheckboxSet', 'CheckboxSet', TestCategory::map()), Object::create('SilverStripe\\Forms\\DropdownField', 'DropdownID', 'DropdownField', TestCategory::map()) ->setHasEmptyDefault(true), Object::create('SilverStripe\\Forms\\GroupedDropdownField', 'GroupedDropdownID', 'GroupedDropdown', array('Test Categories' => TestCategory::map()) ), - Object::create('SilverStripe\\Forms\\ListboxField', 'MultipleListboxField', 'ListboxField (multiple)', TestCategory::map()) + Object::create('SilverStripe\\Forms\\ListboxField', 'Listbox', 'ListboxField (multiple)', TestCategory::map()) ->setSize(3), Object::create('SilverStripe\\Forms\\OptionsetField', 'OptionSet', 'OptionSetField', TestCategory::map()), Object::create('SilverStripe\\Forms\\SelectionGroup', 'SelectionGroup', array( From a0099fb03fb60de9194baaa20b306e8bcd3d388c Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 20 Oct 2016 08:37:06 +1300 Subject: [PATCH 5/8] Populate readonly/disabled manymany --- code/BasicFieldsTestPage.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index 5a38878..ed8b707 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -160,6 +160,22 @@ class BasicFieldsTestPage extends TestPage ); } + public function Listbox_readonly() { + return $this->Listbox(); + } + + public function Listbox_disabled() { + return $this->Listbox(); + } + + public function CheckboxSet_readonly() { + return $this->CheckboxSet(); + } + + public function CheckboxSet_disabled() { + return $this->CheckboxSet(); + } + public function getCMSFields() { $fields = parent::getCMSFields(); From 2c72749af9e0b4ba330ad568bfea21def359a61e Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 20 Oct 2016 08:37:41 +1300 Subject: [PATCH 6/8] Use new react API See https://github.com/silverstripe/silverstripe-framework/issues/5524 --- client/dist/legacy.js | 2 +- client/src/legacy/TestReactFormBuilder.js | 4 ++-- webpack.config.js | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/client/dist/legacy.js b/client/dist/legacy.js index 4af58c3..8ba2af9 100644 --- a/client/dist/legacy.js +++ b/client/dist/legacy.js @@ -11,4 +11,4 @@ setTimeout(function(){return t._renderForm()},100),this[0].style.setProperty("ov a["default"].render(c["default"].createElement(l.Provider,{store:e},c["default"].createElement(d["default"],{schemaUrl:r,handleSubmit:function o(){return t._handleSubmit.apply(t,arguments)}})),this[0]) },_clearForm:function u(){a["default"].unmountComponentAtNode(this[0])},_handleSubmit:function s(t,e,n){return t.preventDefault(),n()}}),t(".TestReactFormBuilder .nav-link").entwine({onclick:function f(t){ -t.preventDefault()}})})},function(t,e){t.exports=jQuery},function(t,e){t.exports=React},function(t,e){t.exports=ReactDom},function(t,e){t.exports=ReactRedux},function(t,e){t.exports=FormBuilder}]) +t.preventDefault()}})})},function(t,e){t.exports=jQuery},function(t,e){t.exports=React},function(t,e){t.exports=ReactDom},function(t,e){t.exports=ReactRedux},function(t,e){t.exports=FormBuilderLoader}]) diff --git a/client/src/legacy/TestReactFormBuilder.js b/client/src/legacy/TestReactFormBuilder.js index 9910647..747f2a7 100644 --- a/client/src/legacy/TestReactFormBuilder.js +++ b/client/src/legacy/TestReactFormBuilder.js @@ -2,7 +2,7 @@ import jQuery from 'jQuery'; import React from 'react'; import ReactDOM from 'react-dom'; import { Provider } from 'react-redux'; -import FormBuilder from 'components/FormBuilder/FormBuilder'; +import FormBuilderLoader from 'containers/FormBuilderLoader/FormBuilderLoader'; jQuery.entwine('ss', ($) => { /** @@ -37,7 +37,7 @@ jQuery.entwine('ss', ($) => { ReactDOM.render( - this._handleSubmit(...args)} /> diff --git a/webpack.config.js b/webpack.config.js index f905c59..430871b 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -43,6 +43,7 @@ const config = { 'components/FormBuilderModal/FormBuilderModal': 'FormBuilderModal', 'components/FormBuilder/FormBuilder': 'FormBuilder', 'components/Toolbar/Toolbar': 'Toolbar', + 'containers/FormBuilderLoader/FormBuilderLoader': 'FormBuilderLoader', 'state/breadcrumbs/BreadcrumbsActions': 'BreadcrumbsActions', 'deep-freeze-strict': 'DeepFreezeStrict', i18n: 'i18n', From 89922b58e9660949481f99c356d983014c2ca99f Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 20 Oct 2016 08:51:27 +1300 Subject: [PATCH 7/8] Don't set OptionSetField to multiple vals It's a radiobutton based field, so multiple values don't make sense here --- code/BasicFieldsTestPage.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index ed8b707..7b451aa 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -146,7 +146,7 @@ class BasicFieldsTestPage extends TestPage 'MyLabelledFieldGroup3' => 2, 'MyLabelledFieldGroupCheckbox' => true, 'Number' => 99, - 'OptionSet' => join(',', array($thirdCat->ID, $firstCat->ID)), + 'OptionSet' => $thirdCat->ID, 'Password' => 'My value (ä!)', 'PhoneNumber' => '021 1235', 'Price' => 99.99, From 0618abe1ab248764176d4d1ae76ae4304d272461 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 20 Oct 2016 22:06:02 +1300 Subject: [PATCH 8/8] Added new HTMLReadonlyField implementation --- code/BasicFieldsTestPage.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index 7b451aa..d1fd2c1 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -17,6 +17,7 @@ use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\FieldGroup; use SilverStripe\Forms\CompositeField; use SilverStripe\Forms\RequiredFields; +use SilverStripe\Forms\HTMLReadonlyField; class BasicFieldsTestPage extends TestPage @@ -312,7 +313,20 @@ class BasicFieldsTestPage extends TestPage ); $fields->addFieldToTab('Root.Text', - LiteralField::create('SilverStripe\\Forms\\LiteralField', '
LiteralField with some bold text and a link
') + Object::create( + LiteralField::class, + 'LiteralField', + '
LiteralField with some bold text and a link
' + ) + ); + + $fields->addFieldToTab('Root.Text', + Object::create( + HTMLReadonlyField::class, + 'HTMLReadonlyField', + 'HTMLReadonlyField', + '
HTMLReadonlyField with some bold text
' + ) ); $fields->addFieldToTab('Root.Text',