Commit Graph

267 Commits

Author SHA1 Message Date
Christopher Joe
8a7ea044ac Added validator class to decouple validation library from FormBuilder
Added required rule priority logic and fix styling of error messages
2016-11-03 10:39:53 +13:00
Damian Mooyman
67f00302f9 Add logic to React FormBuilder to utilise validation schema generated 2016-11-03 10:24:36 +13:00
Paul
c98a08f3f5 Merge pull request #6234 from open-sausages/pulls/4.0/fix-mediaform-errors
BUG Fix clicking "No items found" from causing ajax error
2016-11-01 13:22:00 +13:00
Damian Mooyman
1622ed8f69 Merge pull request #6242 from open-sausages/pulls/4.0/fix-overlay
BUG Fix missing loading overlay
2016-10-31 15:25:11 +13:00
Damian Mooyman
040ae2e6a3
BUG Fix clicking "No items found" from causing ajax error 2016-10-31 15:21:41 +13:00
Damian Mooyman
37cb351a66 Merge pull request #6222 from open-sausages/features/4.0/responsive-improvements
ENHANCEMENT: Improved behaviour for flexbox on smaller screens
2016-10-31 14:17:12 +13:00
Paul Clarke
76d3fb80e3 Nicer pattern for showing list view of pages 2016-10-31 13:36:41 +13:00
Damian Mooyman
3fb291d340 Merge pull request #6239 from open-sausages/pulls/4.0/fix-option-changetracker
BUG Fix incorrect change detection on checkbox fields
2016-10-31 13:26:13 +13:00
Christopher Joe
bb2cb3d487 Fix webpack css config, removes duplicate css files that were generated 2016-10-31 13:12:12 +13:00
Christopher Joe
e592c5b45e Remove back button if no callback was given
Fix FormBuilderLoader not chaining promise
2016-10-31 13:11:57 +13:00
Paul Clarke
4cc6cc3151 Fix position of back button on empty preview within campaigns 2016-10-31 12:55:53 +13:00
Paul Clarke
1395ee0c31 Don't hide gridfield content on small list view of tree 2016-10-31 12:21:48 +13:00
Paul Clarke
a5d3dccd37 Fix for preview being under toolbar 2016-10-28 16:53:00 +13:00
Paul Clarke
5df797b705 Toolbar-content to be flexible 2016-10-28 16:53:00 +13:00
Paul Clarke
50f0c1f37c Remove fixed height for batch actions 2016-10-28 16:53:00 +13:00
Paul Clarke
2daca4ebc6 Improve alert text, fix spacing 2016-10-28 16:53:00 +13:00
Paul Clarke
706d2b6458 Add additional space to tree bottom, required for large tree 2016-10-28 16:52:03 +13:00
Paul Clarke
71a4eb7d22 Hide preview in campaigns, override list styles for mobile 2016-10-28 16:52:03 +13:00
Christopher Joe
debb1a947e Add responsive class for Campaign list
Fix back button in preview
Fix add to campaign in pages section
2016-10-28 16:51:03 +13:00
Paul Clarke
5350fcf650 Delete legacy styles in Layout, move rest to CampaignAdmin. Convert to BEM 2016-10-28 16:47:50 +13:00
Paul Clarke
25783db020 toolbar-north to be 100%, removed from toolbar-content 2016-10-28 16:44:54 +13:00
Paul Clarke
96964be39d Sitetree scroll moved so whole area scrolls excluding actions 2016-10-28 16:39:59 +13:00
Paul Clarke
364ab957e6 improve spacing of sitetree for smaller screens 2016-10-28 16:39:59 +13:00
Paul Clarke
6254f186b1 Remove border on left of preview mode 2016-10-28 16:39:59 +13:00
Chris Joe
82119888c1 Validation on server side for React forms (fixes #6205) 2016-10-28 16:13:29 +13:00
Damian Mooyman
adfd0456de Merge pull request #6241 from open-sausages/pulls/4.0/fix-pagination-wrapping
BUG Prevent pagination wrapping
2016-10-28 13:44:28 +13:00
Damian Mooyman
02bac8c4bc
BUG Fix missing loading overlay
Fixes #6163
2016-10-27 12:09:17 +13:00
Damian Mooyman
42096bb41b
BUG Prevent pagination wrapping
Fixes https://github.com/silverstripe/silverstripe-asset-admin/issues/269
2016-10-27 11:58:19 +13:00
Damian Mooyman
f7fd4ffae1
BUG Fix incorrect change detection on checkbox fields
Fixes #6121
2016-10-27 11:15:37 +13:00
Damian Mooyman
5551040839 API Update listview / treeview to use pjax instead of deferred loading 2016-10-26 14:29:10 +13:00
Damian Mooyman
44b65429f1 Merge pull request #6212 from open-sausages/pulls/4.0/search-bg
Adjustments for filter panel positioning
2016-10-26 14:27:24 +13:00
Christopher Joe
8de2f9dbb4 switched from calc to negative margin 2016-10-26 10:43:51 +13:00
Paul Clarke
4b413d395e Adjustments for filter panel positioning 2016-10-21 14:09:39 +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
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
Ingo Schommer
aa47845a6c Updated dist files 2016-10-20 22:03:42 +13: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
Christopher Joe
820407887e Adjusted button submit action to respect _super() 2016-10-18 09:27:58 +13:00
Christopher Joe
25ca87b650 Clean up build files to be more consistent 2016-10-14 15:33:07 +13:00
Loz Calver
0ebde90dd0 Fix flexbox 'fill-height' overflowing container 2016-10-13 09:42:12 +01:00
Damian Mooyman
72fd3b949e Fix linting issues 2016-10-11 16:49:24 +13:00
Damian Mooyman
20cee73583
Fix pages background 2016-10-11 15:27:32 +13:00
Christopher Joe
7b36df286e Fix split mode disappearing as an option 2016-10-11 14:41:08 +13:00
Christopher Joe
a03abe1356 Set select box width 100% to override chosen's default hardcoding width 2016-10-11 13:50:30 +13:00
Christopher Joe
ba44382cb9 tweak for ie10 styling issues 2016-10-11 13:47:21 +13:00
Christopher Joe
7acb3b5fc2 Fix selected view mode not reflected on button
Fix other ModelAdmin layout (test)
Fix fieldholder placement
2016-10-11 13:47:09 +13:00
Christopher Joe
89150c48e7 Fix preview in pages section 2016-10-11 13:47:00 +13:00
Paul Clarke
8b02d9d68a Remove legacy classes for flexbox classes 2016-10-11 13:46:49 +13:00
Christopher Joe
0a0a990c54 Remove add wrapper element
Added 100% height to fill-width to fix some layout issues
2016-10-11 13:46:38 +13:00
Paul Clarke
eb7a8be3f8 Temp work in progress- to clean up 2016-10-11 13:46:38 +13:00
Paul Clarke
a37bf87857 Replace Layout with flexbox CSS classes 2016-10-11 13:46:24 +13:00
Paul Clarke
472e135602 Add Layout js back in as it contains preview JS 2016-10-11 13:46:24 +13:00
Paul Clarke
4a45793af9 Hide preview in other areas of the cms outside of pages 2016-10-11 13:46:24 +13:00
Paul Clarke
e7829eb974 Replace jLayout classes with flexbox CSS classes 2016-10-11 13:46:24 +13:00
Paul Clarke
1fd46ed36d Pages area: remove layout classes, replace with flexbox CSS classes 2016-10-11 13:46:24 +13:00
Paul Clarke
8dd56efe2e Add flex classes, remove layout classes 2016-10-11 13:45:08 +13:00
Paul Clarke
1b0839a8e8 Remove Layout 2016-10-11 13:45:08 +13:00
Damian Mooyman
27d35403e8 API Force formschema to be reloaded on form submission
BUG Fix missing action state
2016-10-07 13:26:57 +13:00
Christopher Joe
21dc238685 Fixed classes that weren't matching icon 2016-10-06 20:46:30 +13:00
Christopher Joe
e5b86457b4 Added react LookupField component
API MultiSelectField readonly transformation casts to LookupField instead of ReadonlyField
FIX removed jQuery dependency from i18n
2016-10-05 15:32:05 +13:00
Christopher Joe
287809ec3b Refactored react FormFields to use react-bootstrap FormControl components
Addded Checkbox, CheckboxSet and Optionset (radio) fields
Refactored documentation
2016-10-05 10:25:21 +13:00
Paul Clarke
3ac0eaaf62 Remove legacy styles 2016-09-30 15:45:12 +13:00
Paul Clarke
b794a40864 Group button icon styles 2016-09-30 15:44:17 +13:00
Paul Clarke
374ef6e0c3 Modal styles 2016-09-30 15:44:17 +13:00
Christopher Joe
963445e743 FIX tab link on top panel changes even when "cancel to browse" was selected 2016-09-30 14:57:15 +13:00
Daniel Hensby
74ecaded08
Merge branch '3' 2016-09-26 14:00:58 +01:00
Daniel Hensby
99f98e51d0
Merge branch '3' 2016-09-23 17:15:59 +01:00
Ingo Schommer
34dcda15ef Rebuild dist files 2016-09-22 14:48:00 +12:00
Sam Minnee
c24201b5f3 FIX: Break dist javascript and onto newlines.
This doesn’t have much impact on resulting JS size, but it will
hopefully make merge conflicts much less frequent.

The CSS growth is a little higher (6.5% increase in size) but is not
material.

If this materially reduces the number of merge conflicts we have, by
letting the git merge tools resolve some dist file mergers, I think it
would be worth it.

Some example changes in file size:

bundle.js 290K -> 301K
vendor.js 1,325K -> 1,321K
bundle.css 628K -> 669K
2016-09-22 14:38:17 +12:00
Paul Clarke
62dcb0d0c4 close panel icon moved up to align with title 2016-09-22 11:21:54 +12:00
Ingo Schommer
ca620c1c14 Merge pull request #6036 from open-sausages/pulls/4.0/fix-cms-buttons
BUG fix issue with popup menu appearing on the left
2016-09-22 09:17:20 +12:00
Damian Mooyman
ef88619d2f BUG Fix error in campaign area
Fix alignment of add campaign fields
2016-09-21 17:36:51 +12:00
Ingo Schommer
e1b827f7c8 Optimise webpack build time (#6049)
* Rename bundles (prep for webpack optimisation)

This might or might not reduce the overall repo size,
because git can combine similar chunks in the newly generated files

* Optimise webpack build time

Consolidates bundles, since a separation of bundle-framework.js vs. bundle-legacy.js
vs. bundle-lib.js no longer makes sense - they're all loaded upfront anyway,
since we'll be introducing more react-powered logic alongside the "legacy" JavaScript.

By consolidating into fewer bundles, we give the optimisation scripts (UglifyJS)
more options to reduce the overall file size.

The main motivation for a vendor.js is to shorten rebuild times:
Most active development is happening in files required through bundle.js.
This commit drastically reduces the rebuild time for those changes (15s to 4s).
2016-09-21 17:14:43 +12:00
Damian Mooyman
5a59c4f4b4 API Add bootstrap button row template
API Add bootstrap button template
BUG fix draft / published preview selector
2016-09-21 15:59:12 +12:00
Chris Joe
a85ba1222b Add helper-circle and block icons (#6035) 2016-09-21 15:15:59 +12:00
Chris Joe
51ef369630 FIX stringify api call body to work for IE10 (#6032)
* FIX stringify api call body to work for IE10

* Pull out functions defined in createEndpointFetcher
2016-09-21 14:45:30 +12:00
Paul
4d52d655fd Fix for spacing of sitetree panel, reportAdmin, and toggle on Member details page (#5955)
* Panel/tab-panel and alerts spacing, button padding consistency and alignment

* Reports panel spacing adjustments

* ReportAdmin panel and toolbar spacing

* Comment change

* Fix formatting help toggle link

* Use standard line-heights and padding for buttons

* Add base panel styles

* Update to .panel styles and .toolbar spacing

* Remove legacy styles, linting fixes

* Toolbar--content to have consistent styles throughout

* Add panel and toolbar styles to areas missing them

* Replace values with variables

* Layout overrides for tabs and panels with padding

* Adjust JQueryUI button spacing to match other UI buttons

* Remove custom ReportAdmin styles

Update values to variables and modify panel and tab-panel spacing

* Remove text color override

* Remove double (.m-t-1) spacing from campaign panel

* Profile page remove legacy JLayout

* Remove legacy spacing

* Removed Layout from page so !important not needed

* Improve use of variables

* Add missing closing bracket, minor linting fixes

* Linting fixes

* Remove css importants

* Add temp fix for file upload within gridfield

Tidy structure of css

* css build

* Spacing bug fixed for campaign list alert
2016-09-21 10:12:58 +12:00
Chris Joe
08a39f5f93 Update file edit form (#6024)
* Added Created field to File/Image editor

* switch default input value to null

Fix react errors and added a field description

* API Use new DBField::getSchemaValue()
2016-09-20 12:56:45 +12:00
Daniel Hensby
f65168ef8d
Merge branch '3' 2016-09-16 13:43:23 +01:00
Ingo Schommer
3d7c60f8cb Updated dist files 2016-09-16 13:46:11 +12:00
Ingo Schommer
8e5dd58c43 Removed unused dist files
Storing in fonts/, not font/fonts
2016-09-16 13:46:09 +12:00
Ingo Schommer
ee10dbb680 API Moved frontend assets into admin/ "module"
We've removed the ability to directly reference JS and CSS files
for form fields and other SilverStripe features in favour of a common bundle built by Webpack.

The logical next step is to make the framework module free of frontend dependencies,
which should simplify its operation, and avoid another time intensive "npm install" on a module.
2016-09-16 13:46:06 +12:00
Ingo Schommer
6be25f3b52 Entry point for UploadField_select.js
Used in iframe, so can't be rolled into other code.
Moved in admin/ since that's easier for now with Webpack entry points,
and we'll move all JS/CSS into admin/ anyway soon.
2016-09-16 13:44:14 +12:00
Ingo Schommer
25f4741142 Removed ModelAdmin/SecurityAdmin Webpack entry points
There's not a lot of benefit in packaging these separately in terms of initial CMS load size,
so let's simplify the setup. They'll eventually become lazy loaded chunks in a React-based setup
2016-09-16 13:44:12 +12:00
Ingo Schommer
5f7b13ee49 API Removed unused images across CMS UI
Many of these are now inline via Webpack's url-loader plugin (https://github.com/webpack/url-loader),
and a tonne were legacy references (e.g. leftovers from ComplexTableField).

Some of these might still be used in other modules like userforms,
but we're removing support for "hotlinking" images in core - they're not an API.
2016-09-15 22:19:10 +12:00
Sam Minnee
1b527fca3f FIX Webpack handles images & fonts.
Responsibility for finding and referencing images and fonts is now
given to webpack. All the url references are now relative to the
component scss file, and point to font & images files in src/, rather
than assuming someone else will place them in dist.

This makes the source more modular, and makes it easier to, for
example, inline images are data URIs, or create a new build script that
builds several modules for a project in a single pass.

Workaround for bad font path in bundle.css:
ExtactTextPlugin didn’t work as well with a subfolder reference in the
filename. This is just a short-term fix and could probably be improved
to put bundle.css back in the styles subfolder.

Webpack handles images & fonts:
Responsibility for finding and referencing images and fonts is now
given to webpack. All the url references are now relative to the
component scss file, and point to font & images files in src/, rather
than assuming someone else will place them in dist.

This makes the source more modular, and makes it easier to, for
example, inline images are data URIs, or create a new build script that
builds several modules for a project in a single pass.

Clarify docs on spriting and webfonts:
We've decided to remove sprity since it comes with hundreds of dependencies,
and needs compilation within the "npm install" - dragging out the already overweight
install process, and making the resulting node_modules/ folder less portable between systems.
2016-09-15 22:19:09 +12:00
Sam Minnee
2e577ddb1d API Use Webpack
The bundle is generated by running “webpack” directly - gulp is no
longer needed as an intermediary. The resulting config is a lot shorter,
although more configuration is pushed into lib.js.

Modules are shared between javascript files as global variables.
Although this global state pollution is a bit messy, I don’t think it’s
practically any worse than the previous state, and it highlights the
heavy coupling between the different packages we have in place.
Reducing the width of the coupling between the core javascript and
add-on modules would probably be a better way of dealing with this than
replacing global variables with some other kind of global state.

The web pack execution seems roughly twice as fast - if I clear out my
framework/client/dist/js folder, it takes 13.3s to rebuild. However,
it’s not rebuilding other files inside dist, only the bundle files.

CSS files are now included from javascript and incorporated into
bundle.css by the webpack. Although the style-loader is helpful in some
dev workflows (it allows live reload), it introduces a flash of
unstyled content which makes it inappropriate for production.

Instead ExtractTextPlugin is used to write all the aggregated CSS
into a single bundle.css file. A style-loader-based configuration could
be introduced for dev environments, if we make use of the webpack live
reloader in the future.

Note that the following features have been removed as they don't appear to be
necessary when using Webpack:
 - UMD module generation
 - thirdparty dist file copying

LeftAndMain.js deps: Without it, ssui.core.js gets loaded too late,
which leads e.g. to buttons being initialised without this added behaviour.
2016-09-15 22:19:05 +12:00
Paul Clarke
440a3073fe improve class naming to be more generic 2016-09-14 15:09:45 +12:00
Ingo Schommer
294644ce1a Updated dist files 2016-09-14 14:12:04 +12:00
Paul
955d75b219 Insert media into TinyMCE modal, styling fixes and improvements (#5967)
* Remove interference of nested for__fieldgroup-item

* Adjust position of dropdown field

* Remove divider lines, adjust position of upload area

Clean up styles a bit too

* Adjust position of image

* Mostly css tidy up, added use of a few variables

* Toggle arrow was showing other icon because of icon height

* All buttons in toolbars remove margin below, adjust button link color

* Reorder sort and filter, add toolbar styles

* Add button styles to toolbar

* Remove some of the linting issues

* Added new panel variables

* Simplify variable

* Replace panel variable, insert media dialog positioning

* Update with new variable name, reduce space below toolbar

* Build

* Uploading file spacing, toolbar styles added

* Visual uploads, error upload fixes, edit details panel spacing

* Add toolbar to upload modal

* build

* Build

* increase width of pagination on gridfield

* Add height to uploading items only

* Build

* Added class back for beat test to pass
2016-09-14 13:48:33 +12:00
Damian Mooyman
9b1c24cf4c API Move preview panel to CMS module
BUG Fix preview area flashing on section navigation
Fix source file issue
2016-09-13 13:20:17 +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
Damian Mooyman
1eb4e70201 Merge pull request #5945 from open-sausages/pulls/4.0/insert-link
Insert link styling adjustments incl. minor text updates
2016-09-05 15:56:23 +12:00
Ingo Schommer
6d0d46b06b Merge pull request #5946 from robbieaverill/bugfix/5936-show-formatting-help
FIX Show formatting help toggle link
2016-09-05 12:10:57 +12:00