Commit Graph

70 Commits

Author SHA1 Message Date
Ingo Schommer
294644ce1a Updated dist files 2016-09-14 14:12:04 +12:00
Ingo Schommer
7bc6f3ee9f Enforce JS var declaration with value (#5993)
This caught us out recently where code did a strict type check for `myVar === undefined`.
The var was defined as `let myVar;`, without a value - so the check returned false (it's `null`).
To avoid this situation, we've decided to enforce declarations with values.
Note that preference should be given to single, immutable assignments via const where possible.

See http://eslint.org/docs/rules/init-declarations
2016-09-13 11:02:15 +12:00
Ingo Schommer
65718770d6 Update to React v15.0 2016-09-06 21:39:20 +12:00
Ingo Schommer
57d885f406 Updated dist files 2016-09-06 20:40:20 +12:00
Paul Clarke
f2637fc059 Remove additional divider lines, adjust padding 2016-09-02 16:50:52 +12:00
Ingo Schommer
ecaed8c08d Fixed icon regression in <Breadcrumb> 2016-09-01 14:07:02 +12:00
Ingo Schommer
56b249eb23 Field values in FormBuilder action handling
Allows actions to make decisions based on the form payload.
For example, a "delete" button can pass the currently edited record ID to its API endpoint.
2016-09-01 07:55:56 +12:00
Ingo Schommer
fa5e6bbd69 Fixed breadcrumb icon spacing
Regression from https://github.com/silverstripe/silverstripe-framework/issues/5917
2016-08-31 22:31:39 +12:00
Christopher Joe
c1c20aaafc Breadcrumbs with new icons generated 2016-08-30 14:46:59 +12:00
Christopher Joe
b509f9199d Fix Modal response positioning 2016-08-29 10:50:17 +12:00
Ingo Schommer
564ddfa602 Apply .field class to <FieldHolder> react component
It keeps styling consistent between Entwine sections (generated by FieldHolder.ss)
and React sections (generated by <FieldHolder> component).
2016-08-28 13:31:17 +12:00
Ingo Schommer
79b9bb6f18 React for "Add to campaign" on pages
Reuse existing functionality rather than creating "new legacy code" through writing more Entwine
2016-08-28 13:07:32 +12:00
Christopher Joe
b77d21c25a Fix pages add to campaign, improved FormActions error handling, Popover focus highlight and refactored AddToCampaignModal to FormBuilderModal
tweaked tests to suit new generic FormBuilderModal, changed FormAction handler to throw a promise instead
2016-08-28 13:07:32 +12:00
Paul Clarke
b01de98b04 Remove padding override but adjust contents to suit container padding
Remove spacing to the right of icon as there is no btn label
2016-08-28 13:07:31 +12:00
Ingo Schommer
5c2e8d1299 Fix form attr merging order 2016-08-28 13:07:31 +12:00
Christopher Joe
fb64e27960 Cleanup API for better form schema support 2016-08-28 13:07:30 +12:00
Damian Mooyman
59efd280ad Fix issues with CMS permission codes
Standardise template locations
Move CMSSettingsController class to SiteConfig module
Fix CMSMenu behaviour for namespaced admin sections
Split classes into one per file
Manual fixes and cleanup
2016-08-17 11:19:14 +12:00
Christopher Joe
8a5f8fbc2d Created FieldHolder HOC for TextField and HtmlReadonlyField 2016-08-16 16:53:17 +12:00
Christopher Joe
0363351ee5 Add React HtmlReadonlyField and fixed TextField id 2016-08-16 11:10:44 +12:00
Christopher Joe
a68ba38478 Improve FormBuilder API and added HeaderField and LiteralField 2016-08-16 11:09:19 +12:00
Paul Clarke
b9445511b7 Bootstrap GridField 2016-08-03 18:35:18 +12:00
Christopher Joe
d93d9bc3c4 Disable datepicker for disabled or readonly fields, they were still editable through the picker 2016-08-01 11:47:48 +12:00
Damian Mooyman
d15b19d208 Fix merge regressions in add-link fixes 2016-07-28 17:03:46 +12:00
Damian Mooyman
a868ecdbfa BUG Correct include paths for legacy JS files 2016-07-28 16:34:28 +12:00
Hamish Friedlander
1f8c2f781b Fix "Insert Link" dialog in HTMLEditorField. CSS still needs work. 2016-07-28 16:01:50 +12:00
Damian Mooyman
a809e80d01 API Convert CMS forms to bootstrap
NEW Add cms-forms microtheme to cater to bootstrap's needs.

Note that the old SS3 assets section is buggy as a result of this change.
2016-07-25 17:24:26 +12:00
Loz Calver
0a7e4cf7c3
Merge branch '3' 2016-07-15 16:01:48 +01:00
Damian Mooyman
5cb4ab4a82 API Add PopoverField for extra-actions popup in react 2016-07-15 15:46:11 +12:00
Damian Mooyman
6e68f38efb API Update react sections to use react-router instead of page.js (#5796)
Fixes #5711
2016-07-14 17:51:01 +12:00
Damian Mooyman
859acf571e API mute frontend debugging by default (#5777) 2016-07-07 10:22:24 +01:00
Christopher Joe
b8d634166f remove adding "original classes" 2016-07-06 21:44:11 +12:00
Damian Mooyman
80e5b9149e
API Move dependency on model class from form schema API
API Refactor hard-coded dataobject class references from CampaignAdmin
Fixes #5730
2016-06-23 11:04:42 +12:00
David Craig
83308689d5 API Initialise React controllers via routes (#5436) 2016-06-16 15:04:14 +12:00
Paul Clarke
5e634c2a16 Update Form component to just Form
Convert form and Textfield  styles to use Bootstrap
Split out btn styles a bit more clearly defined (BEM)
Toolbar modifier to improve spacing for smaller screens
Use bootstrap spacer styles .m-t-1 (margin-top-1 x spacer) instead of custom spacer
Added a few typography helpers
Tab styles continued although they are hidden (used on AssetAdmin editor panel)
2016-06-03 15:52:31 +12:00
Paul
f4037fe319 Swap out .Actions class for bootstrap .btn-toolbar (#5581)
* Swap out .Actions class for bootstrap .btn-toolbar

* Converted all south toolbars to use new toolbar component styles, content and preview styles for scrollbars adjusted where required
2016-05-27 13:39:10 +12:00
Damian Mooyman
66ef857cdf Manual merge of #5412 into master 2016-05-18 17:42:13 +12:00
Scott Hutchinson
9ba362065e Fix loading icon bug on IE 2016-05-14 14:09:50 +12:00
Hamish Friedlander
a61d0a2f0b FIX Persistant Loading... indicator when no campaigns yet in admin 2016-05-12 13:32:38 +12:00
Ingo Schommer
0838770798 Consistent React event method naming
Use "on<event>" for props, same as React's own event naming: https://facebook.github.io/react/docs/forms.html#interactive-props
Use "handle<event>" to delineate internal handlers
2016-05-11 18:08:23 +12:00
Paul Clarke
c1204bc614 build js/css 2016-05-11 16:33:11 +12:00
Damian Mooyman
f13e44a265 Merge 3 into master
# Conflicts:
#	admin/javascript/LeftAndMain.Tree.js
#	admin/javascript/lang/cs.js
#	admin/javascript/lang/de.js
#	admin/javascript/lang/en.js
#	admin/javascript/lang/eo.js
#	admin/javascript/lang/es.js
#	admin/javascript/lang/fa_IR.js
#	admin/javascript/lang/fi.js
#	admin/javascript/lang/fr.js
#	admin/javascript/lang/id.js
#	admin/javascript/lang/id_ID.js
#	admin/javascript/lang/it.js
#	admin/javascript/lang/ja.js
#	admin/javascript/lang/lt.js
#	admin/javascript/lang/mi.js
#	admin/javascript/lang/nb.js
#	admin/javascript/lang/nl.js
#	admin/javascript/lang/pl.js
#	admin/javascript/lang/ro.js
#	admin/javascript/lang/ru.js
#	admin/javascript/lang/sk.js
#	admin/javascript/lang/sl.js
#	admin/javascript/lang/sr.js
#	admin/javascript/lang/sr@latin.js
#	admin/javascript/lang/sr_RS.js
#	admin/javascript/lang/sr_RS@latin.js
#	admin/javascript/lang/src/cs.js
#	admin/javascript/lang/src/de.js
#	admin/javascript/lang/src/en.js
#	admin/javascript/lang/src/eo.js
#	admin/javascript/lang/src/es.js
#	admin/javascript/lang/src/fi.js
#	admin/javascript/lang/src/fr.js
#	admin/javascript/lang/src/id.js
#	admin/javascript/lang/src/id_ID.js
#	admin/javascript/lang/src/it.js
#	admin/javascript/lang/src/ja.js
#	admin/javascript/lang/src/lt.js
#	admin/javascript/lang/src/mi.js
#	admin/javascript/lang/src/nb.js
#	admin/javascript/lang/src/nl.js
#	admin/javascript/lang/src/pl.js
#	admin/javascript/lang/src/ro.js
#	admin/javascript/lang/src/ru.js
#	admin/javascript/lang/src/sk.js
#	admin/javascript/lang/src/sl.js
#	admin/javascript/lang/src/sr.js
#	admin/javascript/lang/src/sr@latin.js
#	admin/javascript/lang/src/sr_RS.js
#	admin/javascript/lang/src/sr_RS@latin.js
#	admin/javascript/lang/src/sv.js
#	admin/javascript/lang/src/zh.js
#	admin/javascript/lang/sv.js
#	admin/javascript/lang/zh.js
#	css/GridField.css
#	forms/gridfield/GridFieldExportButton.php
#	javascript/GridField.js
#	javascript/lang/ar.js
#	javascript/lang/cs.js
#	javascript/lang/de.js
#	javascript/lang/en.js
#	javascript/lang/en_GB.js
#	javascript/lang/eo.js
#	javascript/lang/es.js
#	javascript/lang/fi.js
#	javascript/lang/fr.js
#	javascript/lang/id.js
#	javascript/lang/id_ID.js
#	javascript/lang/it.js
#	javascript/lang/ja.js
#	javascript/lang/lt.js
#	javascript/lang/mi.js
#	javascript/lang/nb.js
#	javascript/lang/nl.js
#	javascript/lang/pl.js
#	javascript/lang/ru.js
#	javascript/lang/sk.js
#	javascript/lang/sl.js
#	javascript/lang/sr.js
#	javascript/lang/sr@latin.js
#	javascript/lang/sr_RS.js
#	javascript/lang/sr_RS@latin.js
#	javascript/lang/src/ar.js
#	javascript/lang/src/cs.js
#	javascript/lang/src/de.js
#	javascript/lang/src/en.js
#	javascript/lang/src/eo.js
#	javascript/lang/src/es.js
#	javascript/lang/src/fi.js
#	javascript/lang/src/fr.js
#	javascript/lang/src/id.js
#	javascript/lang/src/id_ID.js
#	javascript/lang/src/it.js
#	javascript/lang/src/ja.js
#	javascript/lang/src/lt.js
#	javascript/lang/src/mi.js
#	javascript/lang/src/nb.js
#	javascript/lang/src/nl.js
#	javascript/lang/src/pl.js
#	javascript/lang/src/ru.js
#	javascript/lang/src/sk.js
#	javascript/lang/src/sl.js
#	javascript/lang/src/sr.js
#	javascript/lang/src/sr@latin.js
#	javascript/lang/src/sr_RS.js
#	javascript/lang/src/sr_RS@latin.js
#	javascript/lang/src/sv.js
#	javascript/lang/src/zh.js
#	javascript/lang/sv.js
#	javascript/lang/zh.js
#	scss/GridField.scss
#	tests/model/ManyManyListTest.php
#	tests/model/SQLQueryTest.php
2016-05-11 15:19:35 +12:00
Paul Clarke
1f4bdb2d8f Remove the small space above menu to align with content area 2016-05-10 22:22:49 +12:00
Damian Mooyman
7f03b88e5e API Add empty campaign layout 2016-05-10 17:34:32 +12:00
Paul Clarke
100deada75 Updated markup on Campaign edit and add screen to use newer patterns.
Moved role=group up a level as it broke layout.
2016-05-10 16:33:21 +12:00
Damian Mooyman
9588f0c999 Remove redux from breadcrumbs and fix breadcrumbs lazy loading 2016-05-10 15:34:54 +12:00
Ingo Schommer
d9f0914e4f Use props.extraClass on TextField holder
This should be separated out to a common FormField class,
but for now we're only using TextField. Can be solved
properly at the same time as switching form fields to
react-bootstrap.

Required for readonly field value alignment in the "campaigns" edit form.
2016-05-10 10:45:12 +12:00
Ingo Schommer
eab90bc82e Simple GridField ReactJS loading indication
Better than no feedback at all while campaigns are loading.
Not using spinner.gif because a loading animation is already presented when the section is loaded (via PJAX).
Not translating the "Loading..." text because its temporary.
2016-05-09 22:35:51 +12:00
Ingo Schommer
984d7c1cf6 Don't use Object.freeze on functions (fixes #5473)
We're not using it for any other props passed to ReactJS components,
so there's no reason to do it here. Props are immutable by convention.
While it would be nice to enforce this, its too common to pass through
function objects which aren't supported by IE's Object.freeze().

IE isn't following the spec on how to handle Object.freeze(function() {}).
See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze#Notes
> In ES6, a non-object argument will be treated as if it was a  frozen ordinary object, simply return it.

MS docs on https://msdn.microsoft.com/en-us/subscriptions/downloads/ff806186(v=vs.94).aspx
> If the object argument is not an object, a TypeError exception is thrown.
2016-05-09 21:19:43 +12:00
Damian Mooyman
8b94dd83df API Add CSRF to Campaign delete 2016-05-09 17:33:10 +12:00
Paul Clarke
142fcb2a27 Checkbox layout, including settings tab bugs. Fixes #5355 2016-05-09 15:09:23 +12:00