Commit Graph

48 Commits

Author SHA1 Message Date
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
Chris Joe
b4c5c71a0b ActionTabSet, Change position absolute to bottom instead of top (#5602)
* change position absolute to bottom instead of top

* Fixed bottom position to 100% to uncover the tabset title
2016-05-31 09:48:59 +01: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
c9e7d4fb81 Unnest breadcrumbs 2016-05-10 13:34:45 +12:00
Damian Mooyman
3edbfd944e API Implement breadcrumbs via controllable state 2016-05-10 13:34:34 +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
Paul Clarke
2681b81d29 Swapped a few btn classes for updated ones 2016-05-09 12:36:14 +12:00
Ingo Schommer
0b295137c2 Fix unguarded JS check in LeftAndMain.Preview.js 2016-05-06 14:42:20 +12:00
Damian Mooyman
8b1146be9a API Implement campaign item edit button 2016-05-05 10:24:08 +12:00
Damian Mooyman
f88d708ee9 BUG Fix GridFieldAddExistingAutocompleter and GridFieldExportButton
Based on https://github.com/silverstripe/silverstripe-framework/pull/5426
Fixes #5267
2016-05-03 17:45:46 +12:00
Ingo Schommer
3abd2f7119 Updated dist files 2016-05-03 16:17:36 +12:00
Paul
a7f5ef7b95 Removed More Options action and popover from template (#5435) 2016-05-03 15:30:41 +12:00
Damian Mooyman
72fcfbf4bc API Campaign preview for images 2016-05-02 15:27:12 +12:00
Damian Mooyman
4be5e7c961 API Implement basic preview behaviour 2016-05-02 15:27:12 +12:00
Damian Mooyman
e7cd864ebc Merge branch 'master' 2016-05-02 10:38:08 +12:00
Paul
9238bc5778 Added class to actions cell to reduce space (#5404) 2016-05-02 08:53:53 +12:00
Damian Mooyman
8d2f063f0c Fix eslint errors (#5411) 2016-05-02 08:51:31 +12:00
Damian Mooyman
d52db0ba34 Merge 3 into master
# Conflicts:
#	.travis.yml
#	admin/css/ie7.css
#	admin/css/ie7.css.map
#	admin/css/ie8.css.map
#	admin/css/screen.css
#	admin/css/screen.css.map
#	admin/javascript/LeftAndMain.js
#	admin/scss/_style.scss
#	admin/scss/_uitheme.scss
#	control/HTTPRequest.php
#	core/Object.php
#	css/AssetUploadField.css
#	css/AssetUploadField.css.map
#	css/ConfirmedPasswordField.css.map
#	css/Form.css.map
#	css/GridField.css.map
#	css/TreeDropdownField.css.map
#	css/UploadField.css
#	css/UploadField.css.map
#	css/debug.css.map
#	dev/Debug.php
#	docs/en/00_Getting_Started/00_Server_Requirements.md
#	docs/en/02_Developer_Guides/06_Testing/00_Unit_Testing.md
#	docs/en/02_Developer_Guides/06_Testing/index.md
#	docs/en/02_Developer_Guides/14_Files/02_Images.md
#	docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Extend_CMS_Interface.md
#	filesystem/File.php
#	filesystem/Folder.php
#	filesystem/GD.php
#	filesystem/Upload.php
#	forms/ToggleField.php
#	forms/Validator.php
#	javascript/lang/en_GB.js
#	javascript/lang/fr.js
#	javascript/lang/src/en.js
#	javascript/lang/src/fr.js
#	model/Image.php
#	model/UnsavedRelationList.php
#	model/Versioned.php
#	model/connect/MySQLDatabase.php
#	model/fieldtypes/DBField.php
#	model/fieldtypes/Enum.php
#	scss/AssetUploadField.scss
#	scss/UploadField.scss
#	templates/email/ChangePasswordEmail.ss
#	templates/forms/DropdownField.ss
#	tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php
#	tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsUiContext.php
#	tests/forms/EnumFieldTest.php
#	tests/security/MemberTest.php
#	tests/security/MemberTest.yml
#	tests/security/SecurityTest.php
2016-04-29 17:50:55 +12:00
Paul Clarke
acb1b46a46 Add back button for smaller screens 2016-04-27 14:09:57 +12:00
Ingo Schommer
5d26035a51 Update build artifacts 2016-04-26 15:34:11 +12:00
scott1702
97e672721d Add AddToCampaign dialog box functionality 2016-04-26 13:33:06 +12: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
Damian Mooyman
e463fcce6e API redux-logger respects ss environment 2016-04-22 13:20:24 +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
Paul Clarke
3a778f23bf Build and compile 2016-04-21 15:41: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
02bb158a27 Removed old typography, minor updates and rebase regressions 2016-04-21 11:19:20 +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
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