David Craig
25f1f992a9
Made FormBuilder.mergeFieldData do deep merge
2016-04-26 15:32:09 +12:00
David Craig
7e7946e50a
Fixed case sensitive naming regressions
2016-04-26 15:32:09 +12:00
Ingo Schommer
c94802ea15
i18n for campaigns section
2016-04-26 15:32:09 +12:00
Ingo Schommer
a615dae3ac
Enforce permissions in campaigns section
2016-04-26 15:32:09 +12:00
David Craig
312bab8a6f
Add back button to Campaign creation view
2016-04-26 15:32:09 +12:00
David Craig
35ad44b8c8
Refactor GridFieldComponent render method
...
- Splits render out into logical methods
- Fixes missing key props issue for table header palceholder
2016-04-26 15:32:09 +12:00
David Craig
2f7a7c3a5c
Fix GridFieldComponent not rendering all records
2016-04-26 15:32:09 +12:00
Damian Mooyman
b2e8fd96ec
BUG Fix form schema to use correct ID values
...
API Implement creation of new changesets endpoint
2016-04-26 15:32:08 +12:00
David Craig
2b8ef99d5e
Add 'Cancel' button to Campaign creation form
2016-04-26 15:32:08 +12:00
David Craig
5cc6171f77
Apply default action props in FormBuilder
...
Perviously consumers had to props to FormBuilder for styling common actions like 'save'. The props are now automatically passed to FormActions by the FormBuilder. Consumers can override these defaults via the 'createFn' prop.
2016-04-26 15:32:08 +12:00
David Craig
ae285f3286
Adds route for creating new Campaigns
2016-04-26 15:32:08 +12:00
Ingo Schommer
48d01343c3
Adapt to new naming convention
2016-04-26 15:32:08 +12:00
David Craig
a15a392bd3
Styling updates for the Campaign edit form
2016-04-26 15:32:08 +12:00
David Craig
1ad6730b9e
Add form component styling
2016-04-26 15:32:08 +12:00
David Craig
58036cd156
Add back button to NorthHeader component
2016-04-26 15:32:08 +12:00
David Craig
a8056aedff
Add response handling when editing a Campaign
2016-04-26 15:32:08 +12:00
Damian Mooyman
e2afcd0acb
API Implement back end for saving forms via react
2016-04-26 15:32:08 +12:00
David Craig
7fcdf35438
Add DetailEditForm to Campaign admin
...
- Add edit form to campaigns section
- Handle form submissions with FormBuilder
- Handle form state via Redux
- Garbage collect form state
- Removes $itemID as a required param for schema requests.
Developers should be able to scaffold forms without populating
values from an existing record. For example when building a form for creating new records.
2016-04-26 15:32:07 +12:00
scott1702
97e672721d
Add AddToCampaign dialog box functionality
2016-04-26 13:33:06 +12:00
Daniel Hensby
679185514d
Merge 3.3 into 3
...
Conflicts:
admin/css/screen.css.map
2016-04-26 00:24:59 +01:00
Daniel Hensby
745faebd81
Merge 3.2 into 3.3
...
Conflicts:
.travis.yml
2016-04-26 00:17:09 +01:00
Daniel Hensby
a0812f987a
Merge 3.1 into 3.2
...
Conflicts:
admin/javascript/LeftAndMain.js
control/HTTPRequest.php
docs/en/00_Getting_Started/00_Server_Requirements.md
2016-04-26 00:09:33 +01:00
Damian Mooyman
9a4b93a058
BUG Fix baseurl in IE missing leading /
...
Reformat LeftAndMain.js to new indentation standard
2016-04-25 22:31:11 +12:00
Ingo Schommer
21db18e7ef
Correct naming for JS and CSS files in client/
...
Removed some dist/js/*.js files since they're no longer built as individual files.
This was a side effect of them living in the toplevel folder of admin/client/src/,
which used to have all the legacy/*.js files in there (they do need to be built).
Following AirBnB convention: https://github.com/airbnb/javascript#naming--filename-matches-export
While it technically allows index.js files, we found them to be bad for dev and debugging in practice:
Depending on the used IDE, editor tabs all look the same. Other views like Chrome Dev Tools with
sourcemaps rely on path context, and are harder to auto-complete.
There's no direct rules for CSS files, but same principles apply here.
Also renamed the sections/ folder to containers/, which more clearly communicates
the distinction between components/ (shouldn't contain state-dependant, smart components).
Renamed state/ files to follow AirBnB naming conventions
https://github.com/airbnb/javascript#naming--filename-matches-export
https://github.com/airbnb/javascript#naming--camelCase-default-export
https://github.com/airbnb/javascript#naming--PascalCase-singleton
Leaving the folder name in state/<state-key> lowercase since
that's also the key to reducers in the actual state object.
References:
http://engineering.kapost.com/2016/01/organizing-large-react-applications/
https://github.com/erikras/react-redux-universal-hot-example/tree/master/src
https://github.com/RickWong/react-isomorphic-starterkit/tree/master/src
https://github.com/react-toolbox/react-toolbox/issues/98
https://github.com/react-bootstrap/react-bootstrap/tree/master/src
2016-04-25 15:43:19 +12:00
Ingo Schommer
c66a45c8b8
Fixed GridField JS test warnings
2016-04-25 14:58:26 +12:00
Damian Mooyman
098f199d67
Merge pull request #5366 from open-sausages/pulls/4.0/fix-asset-admin-icon
...
Fix AssetAdmin icon reference
2016-04-22 15:50:14 +12:00
Damian Mooyman
0ed353a3df
Reformat code
2016-04-22 14:05:55 +12:00
Ingo Schommer
8c63ae3d68
Fix AssetAdmin icon reference
...
Needs to use namespaced class name (see LeftAndMain->Menu()).
Not replacing the old .icon-assetadmin rule since we want the old and new UI to co-exist for a short while.
Ideally we'd move these styles to the asset-admin module, but the whole way of referencing image sprites
is outdated anyway - so I'd prefer to merge this quick fix and think about SVG icons for menu entries instead.
2016-04-22 13:57:10 +12:00
Damian Mooyman
e463fcce6e
API redux-logger respects ss environment
2016-04-22 13:20:24 +12:00
Ingo Schommer
9331b4095a
Merge pull request #5373 from open-sausages/pulls/4.0/fix-routing-reredux
...
BUG Fix routing tests
2016-04-22 13:15:48 +12:00
Damian Mooyman
fa8075367d
BUG Fix routing tests
...
BUG Fix issue with top level routes without trailing slashes
2016-04-22 11:16:48 +12:00
David Craig
d376944d48
Fix regression with font-icon styles
2016-04-22 10:43:06 +12:00
Paul Clarke
3a778f23bf
Build and compile
2016-04-21 15:41:30 +12:00
Paul Clarke
01145301fa
Delete unwanted stylesheets and move remainder styles to better location
2016-04-21 15:39:58 +12:00
Paul Clarke
35e062d9f3
Update SilverStripe font icons
...
Added new icons
Updated license
moved location of font styles
2016-04-21 15:39:06 +12:00
Ingo Schommer
3594fa79c7
Include components/label in build
2016-04-21 11:19:30 +12:00
Paul Clarke
95e4415288
Fix for IE, added ability to adjust panel height based on the amount of toolbars
2016-04-21 11:19:30 +12:00
Paul Clarke
35a2e13085
Added modifier for img --fits-space, will need to use js to detect so styles can be adapted
2016-04-21 11:19:30 +12:00
Paul Clarke
9b5430a80c
Use bootstrap mixing text-truncate instead of custom styles
2016-04-21 11:19:29 +12:00
Paul Clarke
02bb158a27
Removed old typography, minor updates and rebase regressions
2016-04-21 11:19:20 +12:00
Paul Clarke
a7e5da8228
Fix for height
2016-04-21 11:03:45 +12:00
Paul Clarke
cc7170d424
improved consistency of toolbars included in preview and other areas of cms
2016-04-21 11:03:45 +12:00
Paul Clarke
6cd5bf2f3f
Preview panel as its own component, file preview styles, no preview message.
...
Improved layout reusability
Moved layout styles to its own stylesheet
Added scrollable panels
2016-04-21 11:03:42 +12:00
Damian Mooyman
dbd17bd49a
API Remove routing from silverstripe-component
...
BUG Fix page routing in subdirectory
BUG Fix top level admin sections not causing ajax load
2016-04-21 08:43:03 +12:00
Paul Clarke
978369bd63
Update old cms toolbars and menu to use new variables and heights so everything lines up
...
Includes fixes for menu borders and preview border
2016-04-21 08:28:12 +12:00
Paul Clarke
0d1d8c5888
Remove text-decoration on focus for campaign items
2016-04-21 08:24:41 +12:00
Ingo Schommer
19de22f427
API Moved frontend assets into admin/client/
...
admin/javascript => admin/client
admin/javascript/src => admin/client/src/legacy (mostly)
admin/scss/_variables.scss => admin/client/styles/_variables.scss
admin/scss => admin/client/styles/legacy/
admin/css/editor.css => admin/client/dist/css/editor.css
admin/css/screen.css => admin/client/dist/css/bundle.css
admin/images => admin/client/dist/images
admin/images/sprites/src => admin/client/src/sprites
admin/images/sprites/dist => admin/client/dist/sprites
admin/font => admin/client/dist/font
2016-04-20 21:13:10 +12:00
Ingo Schommer
cb7b2b09a8
Don't generate separate bootstrap.css files
...
We only need them in the main.css build file.
The bootstrap.scss already includes reboot and grid.
We're not using flex (yet), and can be built alongside main.css as well.
Reordered includes to ensure they bootstrap reboot gets included early.
2016-04-20 21:13:09 +12:00
Ingo Schommer
32dbd1d2b5
Consolidated style locations
2016-04-20 21:13:08 +12:00
Ingo Schommer
c5a20ab5fc
Restructure main SCSS includes
...
Makes more sense to go from generic to specific
2016-04-20 21:13:08 +12:00
Ingo Schommer
55d7e78875
Removed unused "grayscale" theme
...
Was never in active use, and has outdated variables
2016-04-20 21:13:08 +12:00
Ingo Schommer
dbf90b5e64
Removed _ieShared.scss
...
Already removed usage in 429682e
, but forgot to remove the underlying file.
Did a sanity check in IE10 on the areas addressed in this stylesheet,
and they look fine.
2016-04-20 21:13:08 +12:00
Paul Clarke
d9519983f8
build js
2016-04-19 15:07:06 +12:00
Paul Clarke
4d9e38c62b
toolbar improvements
2016-04-19 15:01:38 +12:00
Paul Clarke
47ca889567
bugfix for Add campaign button spacing
2016-04-19 14:22:50 +12:00
Ingo Schommer
6ccfbb7c52
Fixed breadcrumbs test
2016-04-19 13:40:57 +12:00
Ingo Schommer
7c126a80b6
Whitespaces fixes in _variables.scss
...
No point aligning the values when they're all over the show
from commenting and mixed indentation
2016-04-19 13:40:57 +12:00
Ingo Schommer
e939452129
Update build artifacts
2016-04-19 12:15:14 +12:00
Paul Clarke
7f59a7e6f7
Converted grid-field to table markup and SCSS to BEM
...
Also added tab index
2016-04-19 12:15:09 +12:00
Ingo Schommer
ca77dd2657
Updated build artifacts
2016-04-19 11:13:57 +12:00
Paul Clarke
cc897d0f85
fix for add page steps and 1px out in southbar
2016-04-19 11:13:56 +12:00
Paul Clarke
82207f82be
Added panel close btn
2016-04-19 11:13:56 +12:00
Paul Clarke
e0fe90b3c8
General CMS typography swap to bootstrap
...
Start of using bootstrap variables and typography styles, remove old
cms reset in favour of bootstrap reboot
2016-04-19 11:13:53 +12:00
Paul Clarke
74454a7557
CMS layout changes
...
Panel adjustments to south and site tree collapsed so that everything
aligns.
Start of bootstrap tab styles
Fix for pages batch action alignment issue
2016-04-19 11:13:53 +12:00
Paul Clarke
6a53fe0fb7
small improvement to success button
2016-04-19 11:13:53 +12:00
Ingo Schommer
bf37899045
Removed IE CSS files
...
Leftover from https://github.com/silverstripe/silverstripe-framework/pull/5293
2016-04-19 09:16:21 +12:00
Ingo Schommer
b2516ae7d0
Updated build artifacts
2016-04-18 23:45:24 +12:00
Ingo Schommer
75b2c7c360
BEM notation corrections, use Bootstrap vars
...
See comments on https://github.com/silverstripe/silverstripe-framework/pull/5317
2016-04-18 23:45:14 +12:00
Ingo Schommer
3c8960d88b
Simplified breadcrumb component
...
The "multiline" variation was the only one actually used at the moment.
If we need a "singleline" one, we could make a "condensed" variation instead
2016-04-18 23:35:55 +12:00
Paul Clarke
40c98c6047
CSS updates to Campaign Admin
...
refactored breadcrumbs to use bootstrap
fix border lines on table
Layout variables updated for spacing, added toolbar heights
Added as part of campaigns as this area needs to use these variables.
Added action toolbar for content, swapped values to variables
toolbar action spacing
Adjustments of breadcrumb variable
Move accordion styles to its own component
Campaign items, styles for linked items and state badges
Small update to class name
Class name updates, convert values into variables
2016-04-18 23:35:31 +12:00
Damian Mooyman
68ffa40c69
Use configured SecurityToken
2016-04-18 14:03:53 +12:00
Ingo Schommer
c967e62e97
Updated build artifacts
2016-04-18 14:03:53 +12:00
Ingo Schommer
90e352ca7d
Fix "urlencoded" HTTP header notation
...
Misspelling caused data to be sent as binary (browser default?)
rather than urlencoded, meaning it doesn't show up in $_POST.
2016-04-18 13:59:18 +12:00
Ingo Schommer
e840ba805e
Use SecurityID in destructive campaign actions
...
Using POST rather than PUT because SecurityToken->checkRequest()
doesn't accept PUT data (it's only in the request body, not
in $_POST and HTTPRequest->requestVars()).
2016-04-18 13:59:18 +12:00
Ingo Schommer
572d8427e0
Implement defaultData on silverstripe-backend
2016-04-18 13:59:18 +12:00
David Craig
ef6a1f33ee
Minor updates and fixes for campaign admin front-end
...
- Updated FormActionComponent prop from 'style' to 'bootstrapButtonStyle because 'style' is a built in React prop.
- Linted and added missing propTypes to campaign admin List component.
- Added missing initial state key to campaign reducer.
- Forced REST verb to lowercase in silverstripe-backend to make comparisions more robust.
2016-04-18 13:59:18 +12:00
Paul Clarke
d51e94c035
Added icons to publish and revert buttons
2016-04-18 13:59:18 +12:00
Ingo Schommer
8554b43ccc
Correct campaign badges, "revert" placeholder button
2016-04-18 13:59:18 +12:00
Ingo Schommer
37d3d22fbd
Publish loading indicator
2016-04-18 13:59:18 +12:00
Ingo Schommer
aefc1a5c01
Use keyed redux record store
...
It's the recommended approach in Redux docs, and more performant (key-based).
It'll also simplify a move to Immutable.js later on.
The PHP APIs still return unkeyed data, which is standard REST API behaviour,
but for Redux state we transform it to be keyed.
2016-04-18 13:59:18 +12:00
Ingo Schommer
f7237a9936
Fix <FormAction> external and prop definition
...
click handler shouldn't be required
2016-04-18 13:59:18 +12:00
Ingo Schommer
107e38b7a7
Campaign publish feature
2016-04-18 13:59:18 +12:00
Ingo Schommer
067c64e07c
Add babel-polyfill for better ES6 support
...
See http://babeljs.io/docs/usage/polyfill/
2016-04-18 12:08:35 +12:00
Damian Mooyman
f70cb08229
Improve i18n on campaigns section
2016-04-14 12:23:21 +12:00
Ingo Schommer
5d29d30118
Fixed silverstripe-backend GET use regression
...
fetch() doesn't allow a HTTP body for GET, which is fair enough.
This means we need to dynamically combine arguments based on HTTP verb.
2016-04-14 12:05:40 +12:00
Damian Mooyman
484680a2d5
Update artifacts
2016-04-14 12:04:50 +12:00
Damian Mooyman
5900893753
API Implement campaign list view
2016-04-14 12:02:59 +12:00
Damian Mooyman
05973cee55
API Add i18n pluralisation
2016-04-14 12:01:42 +12:00
Hamish Friedlander
2983dd58ff
Fix admin area after upgrade to Chosen 1.5
2016-04-14 10:47:15 +12:00
Hamish Friedlander
31247a67bd
API Replace baked-in and modified Chosen 0.9.8 with npm'ed in Chosen 1.5.1
2016-04-14 10:45:39 +12:00
Daniel Hensby
36283b86d5
FIX Stop "success" message showing in CMS
...
fixes #5281
2016-04-12 16:14:31 +01:00
Ingo Schommer
6e0ef669be
payloadSchema support in createEndpointFetcher()
...
Required for REST URLs which require data to be populated on call.
For example, PUT admin/campaigns/set/:id/publish to publish a campaign.
At the time when createEndpointFetcher() is called, the ":id" parameter can not be resolved,
since the "data" argument is passed in once the returned function is evaluated (since the component using it).
Since the whole idea of createEndpointFetcher() is that components shouldn't know about the backend internals,
its not the right place to interpolate urls.
I'm sending through any payload data in addition to replacing URLs, to keep the API simple for the component.
Again, it shouldn't worry about the presence URL interpolation. The trade off here is that data will be submitted
both in the payload (in case of a POST, PUT or DELETE request), as well as (optionally) in the URL.
2016-04-12 22:03:43 +12:00
Sam Minnee
8c469899d0
MINOR: Fix linting errors in tests.
...
Tests were previously excluded from eslint calls. This leads to messier
code inside tests, and potentially errors.
Now they all meet the listing rules, and so we don’t need to ignore
tests in .eslintignore.
2016-04-12 16:50:06 +12:00
Sam Minnee
b088efc6f9
MINOR: Test for backend.createEndpointFetcher()
2016-04-12 12:15:37 +12:00
Sam Minnee
21a1065329
NEW: Add createEndpointFetcher to backend
...
SilverStripeBackend now has a createEndpointFetcher method, described
in its docblock in more detail.
It’s based the asset-admin code for apiCallerFromEndpoint(). It’s
refactored and generalised into framework in order to provide a
general-purpose API for tying Javascript components to backend APIs.
@todo: tests
2016-04-11 21:43:21 +12:00
Ingo Schommer
429682e626
Remove <IE10 specific workarounds
...
We no longer support IE browsers older than IE10
2016-04-11 14:50:00 +12:00
Ingo Schommer
ce8ac58ddb
Fix React DOM warnings about <form> attrs
...
"class" is a reserved word in JS, hence React uses "className".
"encType" has to be camel cased correctly, see https://facebook.github.io/react/docs/tags-and-attributes.html#html-attributes
Also marked less attrs on <form> as required
2016-04-11 09:16:32 +12:00
Sam Minnee
a17c5cb148
NEW: Expose silverstripe-backend for modules to access.
...
FIX: Ensure post has correct content-type header.
Exporting silverstripe-backend lets other modules (such as asset-admin)
use it.
In addition, the Content-type header of a post request of URL-encoded
data was being set to text/plain by default, which isn’t correct and
stopped PHP from interpreting it.
2016-04-08 10:14:24 +12:00
Ingo Schommer
3e575681ae
Updated build artifacts
2016-04-07 23:50:12 +12:00
Ingo Schommer
097d7ee6d3
Removed unnecessary thunk wrapper in actions
2016-04-07 23:50:09 +12:00