Commit Graph

17385 Commits

Author SHA1 Message Date
Ingo Schommer
423fc060e5 Merge pull request #6167 from open-sausages/pulls/4.0/fix-installer
BUG Fix installer for 4.0
2016-10-21 14:09:38 +13:00
Damian Mooyman
316ac86036
API Writes to versioned dataobjects always writes to stage even when written on live
API Remove "Archive" actions
API "Delete" actions for pages now archives records
BUG Fix batch actions failing on certain controllers
Fixes #6059
2016-10-21 13:16:32 +13:00
Ingo Schommer
9ca359e5de Merge pull request #6208 from open-sausages/pulls/4.0/tab-spacing
Add spacing to nested tabs
2016-10-21 12:53:35 +13:00
Ingo Schommer
bf02abe688 Merge pull request #6209 from open-sausages/pulls/4.0/button-internal-padding
Remove additional spacing from buttons with no icon
2016-10-21 12:53:19 +13:00
Christopher Joe
72348bd4f4 Switch install to use CDN for jquery 2016-10-21 12:26:57 +13:00
Damian Mooyman
fad23dcc4e Merge pull request #6172 from open-sausages/pulls/4.0/redux-form
Use redux-form
2016-10-21 11:47:41 +13:00
Paul Clarke
833dbbcafe remove additional spacing from buttons with no icon 2016-10-21 11:40:31 +13:00
Paul Clarke
19c1ed9443 add spacing to nested tabs 2016-10-21 11:28:29 +13:00
Damian Mooyman
7cd32b7d72
Remove unnecessary $schemaLink parameter 2016-10-21 11:11:18 +13:00
Martijn
b0566b0cb8 Prevent undefined index notices 2016-10-20 14:04:15 +02:00
Ingo Schommer
aa47845a6c Updated dist files 2016-10-20 22:03:42 +13:00
Ingo Schommer
3a690d8084 Moved promise polyfill into boot logic
It's not specific to one single component
2016-10-20 22:03:42 +13:00
Ingo Schommer
54a4cef863 Consistently use 'value' for FormField schemas
LiteralField (data.content) was inconsistent with HTMLReadonlyField (value),
which made the frontend components harder to handle.

See https://github.com/silverstripe/silverstripe-framework/pull/6172#discussion_r83561757 for contex
2016-10-20 22:03:38 +13:00
Christopher Joe
84c0df3db0 Fix double forward slash link in campaign admin 2016-10-20 21:49:10 +13:00
Ingo Schommer
5b31a40593 Use redux-form instead of custom actions/reducers (fixes #5524)
- Removed custom form reducers in favour of redux-form (updateField(), addForm(), etc)
- Storing 'state' in schema reducer to avoid a separate forms reducer tree (no longer needed for other use cases). This means 'state' is only the "initial state", any form edits will be handled by redux-form internally in the 'reduxForm' reducer namespace
- Removed componentWillUnmount() from <Form> since there's no more reducer state to clean up (removed formReducer.js), and redux-form handles that internally
- Removed isFetching state from <FormBuilder> since there's now a props.submitting coming from redux-form
- Improved passing of "clicked button" (submittingAction), using component state rather than reducer and passing it into action handlers (no need for components to inspect it any other way)
- Hacky duplication of this.submittingAction and this.state.submittingAction to avoid re-render of <FormBuilder> *during* a submission (see https://github.com/erikras/redux-form/issues/1944)
- Inlined handleSubmit() XHR (rather than using a redux action). There's other ways for form consumers to listen to form evens (e.g. onSubmitSuccess passed through <FormBuilder> into reduxForm()).
- Adapting checkbox/radio fields to redux-forms
  Need to send onChange event with values rather than the original event,
  see http://redux-form.com/6.1.1/docs/api/Field.md/#-input-onchange-eventorvalue-function-
- Using reduxForm() within render() causes DOM to get thrown away,
  and has weird side effects like https://github.com/erikras/redux-form/issues/1944.
  See https://github.com/erikras/redux-form/issues/603#issuecomment-176397728
- Refactored <FormBuilderLoader> as a separate container component which connects to redux and redux-form. This keeps the <FormBuilder> component dependency free and easy to test. It'll also be an advantage if we switch to a GraphQL backed component, in which case the async loading routines will look very different from the current <FormBuilderLoader> implementation
- Refactoring out the redux-form dependency from FormBuilder to make it more testable (through baseFormComponent and baseFieldComponent)
- Passing through 'form' to allow custom identifiers (which is important because currently the schema "id" contains the record identifier, making the form identifier non-deterministic - which means you can't use it with the redux-form selector API)
2016-10-20 21:49:06 +13:00
Ingo Schommer
5f81122ad3 Removed misdocumented 'data' prop 2016-10-20 15:33:50 +13:00
Ingo Schommer
1e478a5378 Consistently set 'id' in FormSchema
The URL to request the schema representation is the unique identifier.
We can't default to $request->getURL() since that's different for form submissions.

The schema.schema_url key is redundant, since the identifier is already contained on the top level 'id' key.
Keeping schema_url in a schema itself makes it less portable, particularly once we transition into
generic schemas which are not reliant on a particular record context (that's only contained in the schema_url)

This also fixes the issue of form schemas not refreshing after submit,
e.g. when form fields are added or removed.
2016-10-20 15:33:50 +13:00
Damian Mooyman
840f275235 API Created a generic FormFactory interface (#6178)
Created a generic DataObject FormFactory interface that can be substituted in place of getCMSFields. Different FormFactories can depend on different kinds of context, such as
'Record' or 'Controller' - it's the responsibility of the code calling the factory to interpret and
supply this context.

The expected use-case is that rather than overriding getCMSFields(), developers can
change CMS UIs by manipulating the FormFactory associated with the given DataObject.

This is an experimental UI and may change before 4.0 stable is released.
2016-10-20 12:42:24 +13:00
Damian Mooyman
0f8f9f2732 Merge pull request #6199 from jonom/fix-ambiguous-field
FIX Ambiguous column SQL error
2016-10-19 17:57:32 +13:00
Jonathon Menz
b0445f72e4 FIX Ambiguous column SQL error
Specify the table for the field we’re fetching, in case a joined table has a field with the same name
2016-10-18 21:35:37 -07:00
Damian Mooyman
3f773c826a Merge pull request #6189 from open-sausages/pulls/4.0/split-pages-toolbar
Split top toolbar for Pages section
2016-10-18 18:44:06 +13:00
Christopher Joe
08b1171ae7 Adjust CSS for top toolbar split for Pages section 2016-10-18 14:22:03 +13:00
Damian Mooyman
3b1b6e02b4 Merge pull request #6191 from open-sausages/pulls/4.0/fix-gridfield-actions
Adjusted button submit action to respect _super()
2016-10-18 12:18:14 +13:00
Christopher Joe
820407887e Adjusted button submit action to respect _super() 2016-10-18 09:27:58 +13:00
Daniel Hensby
9a6121c867
Merge branch '3.4' into 3 2016-10-16 22:56:37 +01:00
Daniel Hensby
8afff154b8 Merge pull request #6171 from open-sausages/pulls/4.0/use-changeset-for-publish
API Versioned::publishRecursive() now uses a ChangeSet
2016-10-16 14:45:23 +01:00
Daniel Hensby
66e6b016c0 Merge pull request #6181 from jonom/docs-additions
Docs additions
2016-10-16 14:17:04 +01:00
Ingo Schommer
a6ff96b9a6 Merge pull request #6182 from open-sausages/pulls/4.0/cleanup-build
Clean up build files to be more consistent
2016-10-14 16:31:18 +13:00
Christopher Joe
25ca87b650 Clean up build files to be more consistent 2016-10-14 15:33:07 +13:00
Jonathon Menz
d2c0b98bc5 DOCS Clarify nested cache block restrictions
Fixes #6078
2016-10-13 14:52:41 -07:00
Damian Mooyman
d954514336 Merge pull request #6180 from kinglozzer/6170-flex-heights
Fix flexbox 'fill-height' overflowing container
2016-10-14 09:28:30 +13:00
Jonathon Menz
646d34ec48 DOCS Non-extendable classes
Closes #6129
2016-10-13 09:39:46 -07:00
Jonathon Menz
bfdac2b7b6 DOCS Template debugging 2016-10-13 09:39:10 -07:00
Jonathon Menz
e9a75a54d9 DOCS Partial caching of relationships
Fixes #6177
2016-10-13 09:38:49 -07:00
Jonathon Menz
a893e2aa0f DOCS How to increase partial cache expiry
Closes #3649
2016-10-13 09:37:52 -07:00
Daniel Hensby
b923475dcb Merge pull request #6179 from open-sausages/pulls/4.0/relative-fixtures
API Support fixture paths relative to current directory
2016-10-13 11:49:32 +01:00
Loz Calver
0ebde90dd0 Fix flexbox 'fill-height' overflowing container 2016-10-13 09:42:12 +01:00
Damian Mooyman
4bbfb7e4f2 Merge pull request #6152 from open-sausages/pulls/4.0/webpack-dev-optimize
Added development watch command to package.json
2016-10-13 17:50:53 +13:00
Damian Mooyman
f60fe7d4a9
API Versioned::publishRecursive() now uses a ChangeSet
API Add IsInferred to inferred changesets
API Add SapphireTest::assertNotDOSContains
Fixes #5667
2016-10-13 17:38:08 +13:00
Damian Mooyman
26e0ff8066
BUG Fix installer for 4.0 2016-10-13 17:18:34 +13:00
Damian Mooyman
055795d4d1
API Support fixture paths relative to current directory 2016-10-13 16:53:30 +13:00
Ingo Schommer
84cc615e6c Merge pull request #6176 from dhensby/pulls/turnoffcodecovcommnts
Turn off codecov commenting on PRs
2016-10-13 08:45:00 +13:00
Daniel Hensby
93306e9a4d
Turn off codecov commenting on PRs 2016-10-12 16:31:22 +01:00
Damian Mooyman
7aa257594f Merge pull request #3935 from dhensby/pulls/bigint-support
Added MySQL support for Bigint.
2016-10-12 10:20:45 +13:00
Daniel Hensby
4c7ba731be
Merge branch 'open-sausages/pulls/3.4/fix-checkbox-datalist' into 3.4 2016-10-11 20:16:33 +01:00
Daniel Hensby
369fde2a5b Merge pull request #6150 from open-sausages/pulls/4.0/fix-form-validation-persistence
BUG prevent form data / validation persisting in state when using form schema
2016-10-11 15:43:59 +01:00
Damian Mooyman
a50b849288 Merge pull request #6155 from open-sausages/features/4.0/jlayout-to-flexbox
Part 1 of 5, remove JLayout and apply flexbox to pages section (excludes preview)
2016-10-11 17:35:38 +13:00
Damian Mooyman
72fd3b949e Fix linting issues 2016-10-11 16:49:24 +13:00
Christopher Joe
5a5d62fa27 Fix profile layout 2016-10-11 15:50:35 +13:00
Damian Mooyman
20cee73583
Fix pages background 2016-10-11 15:27:32 +13:00