Commit Graph

2080 Commits

Author SHA1 Message Date
Ingo Schommer
c251fab9af Fixed more SCSSLint errors, disabled some files
The mixins and compasscompat will probably be replaced in time,
and install.scss is quite low priority to fix (same treatment as legacy/* styles)
2016-05-06 08:02:38 +12:00
Daniel Hensby
840cd4f877
Update translations 2016-05-05 12:46:38 +01:00
Daniel Hensby
d1751e3310
Merge remote-tracking branch '3.2.4' into 3.3.2 2016-05-05 12:33:21 +01:00
Daniel Hensby
cf29b2c146
Merge remote-tracking branch '3.1.19' into 3.2.4 2016-05-05 11:17:45 +01:00
Paul Clarke
e81e99fb0d improved variable comments 2016-05-05 18:52:42 +12:00
Paul Clarke
b87d0a3e3c removed path to framework in framework variables, added to assetAdmin 2016-05-05 18:26:27 +12:00
Paul Clarke
22f26d10a8 moved assetadmin variables into framework 2016-05-05 17:19:05 +12:00
Daniel Hensby
e8cfe1cc72
Merge remote-tracking branch 'security/patch/3.1/ss-2016-004' into 3.1.19 2016-05-05 01:01:37 +01:00
Daniel Hensby
47c3165aa3
Merge remote-tracking branch 'security/patch/3.1/ss-2015-029' into 3.1.19 2016-05-05 01:01:15 +01:00
Daniel Hensby
457931d664
Merge branch '3.3' into 3 2016-05-04 23:32:10 +01:00
Damian Mooyman
8b1146be9a API Implement campaign item edit button 2016-05-05 10:24:08 +12:00
Daniel Hensby
32f0a637b4
Merge branch '3.2' into 3.3 2016-05-04 23:17:36 +01:00
Daniel Hensby
0884683c6b
Merge branch '3.1' into 3.2 2016-05-04 23:15:43 +01:00
Paul
e04fb5b986 Fixes missing actions on responsive gridfield, cleanup indentation (#5446) 2016-05-04 20:21:11 +12:00
Paul
4b8e98b351 fix for scss linting issues in new scss (#5448) 2016-05-04 20:14:56 +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 Clarke
cd9a5dbbe9 created placeholder ListGroup.js, not currently used 2016-05-03 16:17:36 +12:00
Paul Clarke
7895e21d51 hide campaign links for alpha1 2016-05-03 16:17:36 +12:00
Paul Clarke
c7eca59a8a Refactored class names, split out campaign specific elements, hide campaign links 2016-05-03 16:17:28 +12:00
Paul Clarke
6d1a14de9c delete unused file, swap class for bootstrap list-group-item-heading class 2016-05-03 16:04:48 +12:00
Paul Clarke
4e67a913d6 Move label style out of component, remove legacy overrides 2016-05-03 16:04:48 +12:00
Paul Clarke
22617cd9b2 Improves readability slightly 2016-05-03 16:04:48 +12:00
Paul Clarke
bcbb0fcc5c rename class for better reusability and refactor 2016-05-03 16:04:47 +12:00
Paul Clarke
5b2d910aeb Form action styles update
Doesn’t conform to BEM.
Need to update places btn-success is being used and replace with
btn-primary, but the differences shouldn’t be too noticeable.
2016-05-03 16:04:47 +12:00
Paul Clarke
3be4e80711 Restructure accordion so list items are in their own component
Accordion styles to get more BEM
2016-05-03 16:04:42 +12:00
Paul
a7f5ef7b95 Removed More Options action and popover from template (#5435) 2016-05-03 15:30:41 +12:00
Damian Mooyman
6948267c41 API LeftAndMain::menu_title can be overridden (#5423) 2016-05-02 20:57:43 +12:00
Damian Mooyman
a38eb8b784 Fix incorrect logic check 2016-05-02 18:15:39 +12:00
Paul Clarke
1506f83ef5 focus adjustments to items so selected item isn't blury 2016-05-02 15:27:12 +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
Paul
2e056dd98b media query to use mixin (#5402) 2016-05-02 08:50:29 +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
Paul
fc8d94d789 Fix for toolbar-south width (#5391) 2016-04-26 17:41:07 +12:00
Ingo Schommer
5d26035a51 Update build artifacts 2016-04-26 15:34:11 +12:00
Paul Clarke
bbf74bdca9 Minor adjustments to align header, removed cancel icon and give space to main actions 2016-04-26 15:32:10 +12:00
David Craig
778ed1257d Fix campaign section cancel buttons
- Cancel buttons we submitting forms.
- Nothing happened when clicking the DeatilEdit cancel button.

Now both cancel button route to the Campaign index view
2016-04-26 15:32:10 +12:00
David Craig
8af1ad09d0 Add loading indicator to save button on scaffolded forms 2016-04-26 15:32:10 +12:00
Ingo Schommer
576e916504 Don't group form buttons by default
Looks weird with a "save" and "cancel" button for example
2016-04-26 15:32:10 +12:00
Ingo Schommer
b0d4283c17 Allow form action props override in FormBuilder
Also added bootstrapButtonStyle defaults
2016-04-26 15:32:10 +12:00
Paul Clarke
78a385c16a Update no-text class to BEM 2016-04-26 15:32:10 +12:00
Paul Clarke
ec99452ce1 Toolbar renaming from north-header and move styles to component 2016-04-26 15:32:10 +12:00
David Craig
0b9a339b79 Make 'form' state key singular rather than plural 2016-04-26 15:32:10 +12:00
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
Daniel Hensby
fde6376996
FIX Admin bloacklisted messages using correct $.inArray check 2016-04-24 08:57:45 +01: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
Daniel Hensby
a24c8260b1
[SS-2016-004] FIX Store current page IDs as ints 2016-04-20 23:55:59 +01: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
John Milmine
66ed97e08e fix to grid field loading wrong current page id when using multiple tabs 2016-04-19 21:38:32 +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
Daniel Hensby
3c0f2e8e11
[SS-2015-029] FIX Add CSFR protection to tree reorganise 2016-04-19 00:01:04 +01: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
Ingo Schommer
f9d5b0db97 More concise breadcrumb generation
Courtesy of @hafriedlander
2016-04-07 23:32:32 +12:00
Ingo Schommer
2f801f9319 Pass all field attributes via <FormBuilder>
Also make them immutable via deep-freeze
2016-04-07 23:32:32 +12:00
Ingo Schommer
e7d2e9b0b2 Allow user-defined <Form> attributes 2016-04-07 23:32:32 +12:00
Ingo Schommer
0fe330621c Only list existing <FormBuilder> data types 2016-04-07 23:32:32 +12:00
Ingo Schommer
3835291cdf More accurate variable naming
schema.schema is awkward
2016-04-07 23:32:31 +12:00
Ingo Schommer
ab874a0c8d Correct state handling in <FormBuilder> component 2016-04-07 23:32:31 +12:00
Ingo Schommer
874146afda Syntax fix 2016-04-07 23:32:31 +12:00
Ingo Schommer
a1ea239c8f Enforcing can*() in CampaignAdmin reads 2016-04-07 23:32:31 +12:00
Ingo Schommer
783d45cedd Added TODO elements to unimplemented CampaignAdmin functionality 2016-04-07 23:32:30 +12:00
scott1702
5c8df9f16e Updates to FormActionComponent 2016-04-06 10:57:54 +12:00
Ingo Schommer
34d40bed5f Add ESLint support
See https://github.com/silverstripe/silverstripe-framework/pull/5108
2016-04-06 10:43:33 +12:00
scott1702
6aa22c38ed Convert react grid-field from flexbox to table-based 2016-04-06 08:49:47 +12:00
Ingo Schommer
d27e3c2d34 Delete campaign feature 2016-04-06 08:49:47 +12:00
Ingo Schommer
0675f85d32 Use /index suffix for JS import statements
Otherwise browserify or gulp-sourcemaps doesn't include these
in the *.map file, which makes debugging impossible
2016-04-06 08:49:47 +12:00
Damian Mooyman
2cf5fbcfce Implement readCampaigns()
Renamed "item/items" urls to "set/sets" to distinguish between change sets and change set items.
2016-04-06 08:49:44 +12:00
scott1702
d1e4c563ce Move ActionComponent into FormActionComponent 2016-04-06 08:41:11 +12:00
Ingo Schommer
2a5c92e491 Generic state management for React GridField
Renaming state operations from 'campaign' to 'record'.
Implemented API endpoint retrieval of GridField data.

Added more mock data into CampaignAdmin (rather than hardcoding in client),
to be replaced by CampaignAdmin API endpoint querying the real datamodel.

Using more native isomorphic-fetch instead of jQuery.ajax
to minimise dependencies and get into a more forward-thinking API.

Also catching errors in ReactJS API backend:
Emulate jQuery.ajax() behaviour. Might change at a later point
if we have a general purpose backend with a promise-based catch()
implementation.
2016-04-06 08:41:07 +12:00
Ingo Schommer
47dd7b48af Relative ES6 module paths
http://stackoverflow.com/questions/20158401/how-do-i-manage-relative-path-aliasing-in-multiple-grunt-browserify-bundles/23608416#23608416
https://github.com/substack/node-browserify/issues/767
http://stackoverflow.com/questions/28078780/relative-paths-in-package-json
https://github.com/npm/npm/issues/1558
http://stackoverflow.com/questions/31624567/webstorm-es6-named-import-getting-cannot-resolve-symbol-error/31631415
http://stackoverflow.com/questions/20158401/how-do-i-manage-relative-path-aliasing-in-multiple-grunt-browserify-bundles/23608416#23608416
https://github.com/vigetlabs/gulp-starter/issues/17#issuecomment-44292681
2016-04-06 08:36:38 +12:00
Ingo Schommer
c70590e50c Consolidated grid-field component
Every top-level folder in /components should be a standalone component.
This isn't the case for the grid-field-* ones, so they belong into the same folder.
See https://github.com/Automattic/wp-calypso/blob/master/docs/components.md

merge styles
2016-04-06 08:36:37 +12:00
scott1702
e550363c67 - Add GridfieldActionsComponent
- Add ability to set desired relative width on gridfield cells
2016-04-06 08:36:37 +12:00
David Craig
ef97e0b52f Consolidated bundles, sourcemaps and watching
We don't want a bundle for each section, unnecessary network overhead
and too much boilerplate in defining build tooling.
2016-04-06 08:36:34 +12:00
Ingo Schommer
b4e6d498c9 Simplified form schema structure and mocks
Keyed by URL instead of anonymous object maps which need to be iterated on
Removed the 'schema.forms' namespace, unnecessary since all 'schema' items should be forms
2016-04-06 08:35:53 +12:00
Paul Clarke
0ca090a391 Add generic React components
Includes moving some components from AssetAdmin
2016-04-06 08:35:50 +12:00
Ingo Schommer
b0ba742c1f Campaign form schema and edit form
Remove once we have a schema-driven GridField in place.
Edit form should be a GridFieldDetailForm, but there's more work to do for schema generation
from this component.
2016-04-05 22:43:30 +12:00
David Craig
d0ffa7771c Client config 2016-04-05 22:43:29 +12:00
scott1702
2abe24f818 GridField and header styles 2016-04-05 22:42:15 +12:00
David Craig
f8c17bed3b CampaignAdmin and GridField React sections
Also removes watchify because it wasn't working.
Add SilverStripeBackend class used to fetch data from endpoints for the front-end
2016-04-05 22:42:13 +12:00
Ingo Schommer
7337f26d3a Fix non-standard url encoding in CMS search form
jQuery uses encodeURIComponent, but also this line here:
return s.join( "&" ).replace( r20, "+" );
https://github.com/jquery/jquery/blob/1.7.2/src/ajax.js#L797

This breaks when passing the result through $.path.addSearchParams(),
which in turn uses jQuery.param - any '%20' would've been wrongly encoded as '+' by jQuery.serialise(),
which in turn gets rightly encoded as '%2B' by jQuery.param().

This had the effect of breaking CMS searches with spaces in them.
2016-04-05 22:30:50 +12:00
Damian Mooyman
5a86f4232e BUG Fix error when using search bar 2016-04-05 17:10:21 +12:00
Damian Mooyman
3c2b53157e API Update Versioned methods 2016-04-04 14:50:16 +12:00
Damian Mooyman
77b47bac92 Merge pull request #5063 from benmanu/pulls/add-npm-json-js
Moving thirdparty module to npm dependency - json-js
2016-04-04 10:13:33 +12:00
Sean Harvey
b1b85b539e TinyMCE 4 optimisations. Use TinyMCE_Compressor. 2016-04-04 07:58:45 +12:00
Ben Manu
5c7a6166b6 Moving thirdparty module to npm dependency - json-js. 2016-04-01 15:43:09 +13:00
Ingo Schommer
d93da92c37 Merge pull request #5243 from open-sausages/pulls/4.0/client-routing
Implement client-side routing with Page.js
2016-04-01 14:53:17 +13:00
Steve Boyd
7887be704e Changed CMS close from an 'x' to a silverstripe font icon 2016-04-01 13:52:28 +13:00
Damian Mooyman
501b2f1809 API CMSMenu::get_cms_classes() is now sorted 2016-04-01 13:46:33 +13:00
David Craig
aa1aebd007 Implement client-side routing with Page.js
- Removes thirdparty dependency History.js
- Adds thirdparty dependency Page.js to manage client-side routing
- Adds a wrapper around Page.js for SilverStripe specific behaviour
- Increased minimum browser requirement to IE10. Native HTML History API routing requires IE10 or newer (necessitated by removal of History.js)
- PJAX pannel loading via now uses promises rather than callbacks
- Adds getClientConfig method to LeftAndMain which can be used to pass config from to the front-end client
2016-04-01 13:45:14 +13:00
Damian Mooyman
0fa7271ec2 Merge pull request #5239 from open-sausages/pulls/4.0/form-schema-fixes
Form schema fixes
2016-03-31 09:49:55 +13:00
Sam Minnée
b4526ec554 Merge pull request #5237 from open-sausages/pulls/4.0/bootstrap-include-default
Include Bootstrap by default
2016-03-30 14:57:32 +13:00
Ingo Schommer
2ba4e1dabe Removed duplicate bootstrap lib
Now generated on the fly through framework/admin/scss
2016-03-29 11:28:40 +13:00
scott1702
6b1444709f Fix menu dropdown icon 2016-03-29 11:28:38 +13:00
David Craig
d4ad1504a9 Fix bottom toolbar height 2016-03-29 11:28:05 +13:00
Paul Clarke
dce31d7235 initial updates to main nav styles for 4.0
Conflicts:
	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/dist/bundle-leftandmain.js
	admin/javascript/src/LeftAndMain.Menu.js
	admin/scss/_spritey.scss
	css/GridField.css
2016-03-29 10:29:33 +13:00
Ingo Schommer
884c44f596 Removed sourcemaps
Will be part of .gitignore in a subsequent commit
2016-03-29 10:29:32 +13:00
scott1702
13d581dea5 Include bootstrap throughout the CMS 2016-03-29 10:29:27 +13:00
Ingo Schommer
c3a8159e80 Default to schema response part in LeftAndMain->schema()
More of a standard API approach to return data by default, and make customisation
via HTTP headers an optional mode.
2016-03-28 21:54:42 +13:00
David Craig
97176581eb Tidy grunt file
- Don't watch in prod mode
- Use gulp-if instead of if statements
2016-03-28 21:02:15 +13:00
Sam Minnee
aeccb8b8e0 API: Move DBField subclasses into SilverStripe\Model\FieldType namespace
API: Deprecate SS_Datetime.

The DBField subclasses are have all been renamed to start with “DB” and
be in the SilverStripe\Model\FieldType namespace. To keep DataObject
definitions concise, the original short variations of their names are
preserved as service definitions. Most of the field generation code
doesn’t need to change, but where field classes are referenced directly,
changes will be needed.

SS_Datetime, which is commonly referenced outside the model system
itself, has been preserved as a subclass of DBDatetime. This has been
marked as deprecated and can be removed in SilverStripe 5.

A few places that referred to $db and $casting values weren’t using
the Injector to instantiate the relevant classes. This meant that the
remapping we have created as part of moving classes into a namespace
didn’t work.
2016-03-22 18:09:30 +13:00
Daniel Hensby
863b737717 Merge pull request #5214 from tractorcow/pulls/3.1/fix-array-values
Do not hang on nested parameters in search context
2016-03-21 09:21:33 +00:00
Damian Mooyman
94b0f61957 Merge pull request #3494 from dnadesign/tabForceActive
fixing issue where 'ss-tabs-force-active' wasn't actually working
2016-03-21 16:53:49 +13:00
Nicola Fontana
11561aeb54 Do not hang on nested parameters in search context
Backport of 0b5a573 for 3.2 that does not add a new API, as
required by #5056 to be semver compatible.
2016-03-21 15:54:22 +13:00
Daniel Hensby
ada12066f3 FIX Autocomplete loading spinner now showing 2016-03-21 15:15:00 +13:00
Damian Mooyman
2d56ea278a API Move ss buttons plugin out of thirdparty
BUG Fix incorrect parsing of shortcode properties
2016-03-21 13:51:33 +13:00
Ingo Schommer
8ae794ee99 API TinyMCE Image shortcodes 2016-03-21 09:23:40 +13:00
Jonathon Menz
283885f091 FIX tab wrapping
jQuery UI css specificity is different to SS so causes some conflicts. (fixes #5207)
2016-03-20 11:09:36 -07:00
Damian Mooyman
0848aca462 API Massive refactor of Versioned
API Implemented recursive versioned actions (publish, etc)
API Un-deprecate delete batch action
API Changed Versioned getters and setters for stages
BUG Inject query parameters during DataObject construction to prevent incorrect lazy loading
2016-03-17 13:43:53 +13:00
Damian Mooyman
384297150a API refactor LeftAndMain_Menu.ss into individually overridable components 2016-03-15 09:34:39 -07:00
Daniel Hensby
a7a23afe38 Merge pull request #5163 from mikenz/patch-5
Build dist assets and added console.warn
2016-03-14 16:38:28 +00:00
Paul Clarke
ae31619695 New styles for main nav 2016-03-14 10:18:32 +13:00
Mike Cochrane
3673a5e141 FIX Inserting a 'Download a file' without selecting an image
In the html editor, when inserting a 'Download a file' link without selecting a file to link to, no link should be inserted. Currently is inserting a link to an undefined file id: [file_link,id=undefined]
2016-03-11 00:35:13 +00:00
Mike Cochrane
0b81bbef22 FIX attempt to access https iframe from http interface 2016-03-09 21:36:39 +13:00
Mike Cochrane
a3ee9ece90 FIX avoid javascript error when preview is https
When the admin interface is http but the preview is https, javascript isn't able to read the contentDocument of the secure preview iframe. This currently results in a javascript error. Patch wraps try/catches around the two instances,
2016-03-09 21:19:26 +13:00
Damian Mooyman
6d88caa9b3 Merge pull request #5132 from open-sausages/features/form-schema
API Form schema
2016-03-07 14:08:36 +13:00
Damian Mooyman
8566825194 Merge pull request #5131 from dhensby/pulls/3.3/fix-help-link
Fixing user help link
2016-03-07 14:04:45 +13:00
Ingo Schommer
3b11d73c46 Merge remote-tracking branch 'origin/3'
# Conflicts:
#	forms/gridfield/GridFieldDetailForm.php
#	javascript/GridField.js
2016-03-07 09:26:35 +13:00
Ingo Schommer
f36b110db3 Merge remote-tracking branch 'origin/3.3' 2016-03-04 17:06:04 +13:00
Ingo Schommer
466ed29f0e Merge remote-tracking branch 'origin/3.3' into 3 2016-03-04 14:55:08 +13:00
Ingo Schommer
3c53da0890 Merge remote-tracking branch 'origin/3.2' into 3.3 2016-03-04 14:05:06 +13:00
Ingo Schommer
7bb6295c79 Fix TreeDropdownField auto-close regression
Causes build failures due to Behat not being able to select
a link from a dropdown in "Insert Media".

Follow on effect from triggering a window.resize event
when the window wasn't actually resized (in order to force a layout redraw).

See https://github.com/silverstripe/silverstripe-framework/pull/5087 for context
2016-03-03 17:54:07 +13:00
Ingo Schommer
61a8529d76 More reuseable FormSchema logic, return on save 2016-03-03 13:36:51 +13:00
Ingo Schommer
746322a9f1 Replace CMSForm use with new setValidationResponseCallback() API
Preparing for form schema API, see https://github.com/silverstripe/silverstripe-framework/issues/4938
2016-03-03 08:20:55 +13:00
David Craig
404ac4ae43 Initial schemaState implementation 2016-03-03 08:20:54 +13:00
David Craig
afccef718c Initial Form Field Schema implementation
- Adds FormSchema class
- Adds FormSchema dependency to LeftAndMain via Injector
- Adds schema allowed_action method to LeftAndMain for generating Form schemas
- Adds FormFieldSchemaTrait to for schema getters and setters on FormFields
2016-03-03 08:20:54 +13:00
Daniel Hensby
f313d7659d Fixing user help link 2016-03-02 12:43:10 +00:00
Nicola Fontana
29b35c7ccf Do not hang on nested parameters in search context
Backport of 0b5a57389b for 3.2 that does not add a new API, as
required by #5056 to be semver compatible.
2016-02-28 21:40:34 +01:00
David Craig
40723aaa58 Fix undeclared variable in UploadField.js 2016-02-26 14:43:14 +13:00
Damian Mooyman
c4f850003b Merge pull request #5089 from jakedaleweb/3
added if statement to catch NULL validators
2016-02-26 09:29:53 +13:00
Damian Mooyman
3b0a9f4ba2 Merge remote-tracking branch 'origin/3'
# Conflicts:
#	admin/javascript/LeftAndMain.Menu.js
#	control/HTTPRequest.php
#	css/GridField.css
#	css/GridField.css.map
#	docs/en/02_Developer_Guides/03_Forms/Field_types/01_Common_Subclasses.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/01_File_Management.md
#	docs/en/02_Developer_Guides/14_Files/02_Images.md
#	filesystem/Upload.php
#	javascript/HtmlEditorField.js
#	model/Image.php
#	model/connect/MySQLDatabase.php
#	model/fieldtypes/Enum.php
#	model/versioning/Versioned.php
#	scss/GridField.scss
2016-02-25 14:51:59 +13:00
Damian Mooyman
9fed5561f4 Merge remote-tracking branch 'origin/3.3' into 3
# Conflicts:
#	core/Constants.php
#	dev/DevelopmentAdmin.php
2016-02-24 17:39:04 +13:00
Damian Mooyman
5f2d3f31d7 Merge remote-tracking branch 'origin/3.2' into 3.3
# Conflicts:
#	dev/DevelopmentAdmin.php
#	docs/en/02_Developer_Guides/08_Performance/02_HTTP_Cache_Headers.md
#	lang/cs.yml
#	lang/lt.yml
2016-02-24 17:29:06 +13:00
Jake Ovenden
48ecb8d8f4 added if statement to catch NULL validators 2016-02-24 15:13:00 +13:00
scott1702
a67b8144b0 Fix incorrect height on main nav after toggle 2016-02-24 10:23:16 +13:00
David Craig
5a42a4181a Added Bootstrap Alpha.2
- Managed by npm
- Created an `npm run css` task to compile
- Updated shrinkwrap
- Updated changelog
2016-02-23 11:11:24 +13:00
Damian Mooyman
f20ad434ce API Update TinyMCE to 4.x
API Allow HtmlEditorField to be individually configured
BUG Fix incorrect change detection
BUG Fix missing i18n files
2016-02-23 10:10:02 +13:00
Damian Mooyman
3738436d0e Update translations 2016-02-19 10:54:36 +13:00
Damian Mooyman
cfd1a5d696 Update translations 2016-02-19 10:21:03 +13:00
scott1702
38b1c0a162 Replace Compass with gulp-sass 2016-02-16 18:35:57 +13:00
Damian Mooyman
b82d585b57 Merge pull request #5019 from open-sausages/require-react
Include React and related libraries in framework
2016-02-15 16:25:39 +13:00
scott1702
2bf802a8cd Include React and related libraries in framework 2016-02-15 16:05:55 +13:00
Damian Mooyman
230d017677 Merge remote-tracking branch 'origin/3'
# Conflicts:
#	admin/css/ie7.css.map
#	admin/css/screen.css
#	admin/css/screen.css.map
#	admin/font/icon-reference.html
#	admin/font/silverstripe.eot
#	admin/font/silverstripe.svg
#	admin/font/silverstripe.ttf
#	admin/font/silverstripe.woff
#	admin/scss/_forms.scss
#	admin/scss/_style.scss
2016-02-12 15:41:45 +13:00
Damian Mooyman
d5b4c90cb4 Merge remote-tracking branch 'origin/3.3' into 3
# Conflicts:
#	admin/css/screen.css
#	admin/css/screen.css.map
#	admin/scss/_fonts.scss
#	admin/scss/_retina.scss
2016-02-09 18:25:47 +13:00
Damian Mooyman
35b5c03fbc Merge branch 3.3.0 into 3.3 2016-02-09 18:22:58 +13:00
Damian Mooyman
adc7a59108 Update translations 2016-02-09 17:45:21 +13:00
Daniel Hensby
cb39c41872 Merge pull request #5015 from webbuilders-group/3.3-datetime-search-fix
BUGFIX: Fixed issue #5002 DatetimeField styles in the new filter panel
2016-02-05 15:31:37 +00:00
UndefinedOffset
0c252af334 BUGFIX: Fixed issue #5002 DatetimeField styles in the new filter panel 2016-02-05 10:53:35 -04:00
Loz Calver
70f8343475 Re-instate back button for item edit forms 2016-02-05 09:39:57 +00:00
Damian Mooyman
d754884214 Update translations 2016-02-04 11:03:41 +13:00
scott1702
f39989a396 Add new font icons to set
Add .no-text class for icons which have no text
2016-02-04 10:34:30 +13:00