Commit Graph

652 Commits

Author SHA1 Message Date
Loz Calver
c8caeb8154 Add X-Backurl header to CMS ajax requests 2013-11-15 09:20:53 +00:00
Andrew Short
bedf292612 Merge branch '3.1'
Conflicts:
	docs/en/reference/execution-pipeline.md
	lang/nl.yml
2013-11-11 18:18:25 +11:00
Ingo Schommer
adccda35aa Merge pull request #2609 from chillu/pulls/js-i18n-3.1
API JS i18n files with short locale names, generated by build task
2013-11-01 04:15:17 -07:00
Ingo Schommer
2c145cd454 API JS i18n files with short locale names, generated by build task
The files are uploaded to transifex.com now, which means we needed
to consolidate the file names (= locales). Since Transifex doesn't allow
arbitrary JavaScript structures, we're using an intermediary JSON
format which gets transformed into the JS used by the framework.

See b59f3858af for generator logic.

Fixes https://github.com/silverstripe/silverstripe-framework/issues/2499
2013-10-25 12:05:46 +02:00
Damian Mooyman
415f8a04b2 API Change tracker allows explicit dirty messages
BUG Fixed issue with UploadField not detecting changes
2013-10-24 17:53:40 +13:00
Ingo Schommer
25b6175e67 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	.travis.yml
	forms/FormField.php
2013-10-20 13:52:56 +02:00
Martimiz
364ce08f52 Strip duplicate querystrings from the url before adding document.location.search
When a querystring is passed with the url (for example Translatable locale) it is duplicated each time the content panel is reloaded, by adding document.location.search and so it should be stripped from the url first.
2013-10-14 15:33:40 +02:00
Andrew Short
024d46ceb5 Merge pull request #2525 from chillu/pulls/tree-node-parent-refresh
Load tree parent nodes if non-existant
2013-10-11 07:37:31 -07:00
Andrew Short
3f7b3fddc9 BUG: Fix tab state not being restored due to incorrect selector.
Closes #2321.
2013-10-12 01:09:58 +11:00
Ingo Schommer
6c96c490c6 Load tree parent nodes if non-existant
This edge case can occur when a large tree is cached in HTML already,
without any nodes expanded via ajax. If a new node is added with
a parent that's not existant, it was simply placed on the root node.
This is a display bug, a full CMS refresh fixes it.

Fixes a related bug where tree causes (view) duplicates,
where the same node is rendered twice. This was due to the whole
subtree being refreshed (including the new node) through jstree's
built-in "open"/"select" events, while at the same time
creating a new node through updateNodesFromServer() callbacks.

Also added a global tree loading indication to make it clear
that the tree is still processing.

See https://github.com/silverstripe/silverstripe-cms/issues/872
2013-10-11 11:51:11 +02:00
Ingo Schommer
8727d1b1eb Merge remote-tracking branch 'origin/3.1' 2013-10-10 12:11:50 +02:00
Andrew Short
a63b9c9d5d FIX: Fix not switching to the correct tab on validation error. 2013-10-09 23:28:09 +11:00
Ingo Schommer
60fc7e5346 Merge remote-tracking branch 'origin/3.1' 2013-10-06 19:07:39 +02:00
Will Rossiter
2d0a354405 API: Add attributes argument for CMSMenuItem.
Currently help menu item is the only external link in the CMS and the ability for it to work is hardcoded in the template. This request makes the target attribute definable by CMSMenu::add_link().

Adds documentation for how to add a basic external link to the CMS.
2013-10-02 19:06:54 +13:00
Ingo Schommer
455e550d9a Merge remote-tracking branch 'origin/3.1'
Conflicts:
	docs/en/topics/testing/create-silverstripe-test.md
	forms/Form.php
	i18n/i18n.php
	model/Image.php
2013-09-27 19:22:14 +02:00
Ingo Schommer
c2b312d76f Merge remote-tracking branch 'origin/3.1.0' into 3.1 2013-09-12 17:24:42 +02:00
Hamish Friedlander
45c1d2b0ce FIX webfonts in preview iframe breaking admin fonts
In IE8, when a page in the preview iframe uses a web font (not just
references it in CSS, but actually has glyphs present in the page),
the fonts in the containing admin interface will become corrupted
(display as all squares) until the mouse moves.

This commit uses the technique described at
http://stackoverflow.com/questions/9809351/ie8-css-font-face-fonts-only-working-for-before-content-on-over-and-sometimes#10557782
to cause the admin panel to re-calculated all it's fonts
after the preview iframe has loaded, fixing the glitch
2013-08-27 10:49:24 +12:00
Mateusz Uzdowski
137aa53156 Return jQuery deferred object from LeftAndMain's loadFragment. 2013-08-23 09:39:38 +12:00
Ingo Schommer
a4c6ae3e90 Merge remote-tracking branch 'origin/3.1' 2013-08-22 13:56:33 +02:00
Mateusz Uzdowski
1f8feb5efc API Provide a thin alternative to loadPanel/submitForm.
This is needed in some situations when we only want to update a
small single component, sometimes even using a different controller to
the one implied in the URL.

An example here is reloading dynamically the subsite dropdown without
reloading the entire page, updating a filter sidebar or suchlike.
2013-08-22 15:16:13 +12:00
Sean Harvey
abe09c79e5 Merge branch '3.1.0' into 3.1 2013-08-21 10:39:27 +12:00
Mateusz U
afd3e3f0d0 Merge pull request #2345 from hafriedlander/fix/performance
Couple of performance fixes - eliminate un-necessary redraws and preview updating
2013-08-20 14:40:22 -07:00
Hamish Friedlander
0ca4969cda FIX Dont update preview iframe if hidden
Updating the iframe src when the iframe isnt visible in IE8 causes a
view disconcerting font glitch (and it slows down navigation anyway),
so if the iframe isnt visible, delay setting the src until it is
2013-08-21 09:29:28 +12:00
Hamish Friedlander
c59305d6d4 FIX Multiple redraw calls on navigation 2013-08-21 09:29:28 +12:00
Ingo Schommer
699cbfe851 Merge branch '3.1.0' into 3.1
Conflicts:
	thirdparty/jquery-entwine/dist/jquery.concrete-dist.js
	thirdparty/jquery-entwine/spec/SpecRunner.html
	thirdparty/jquery-entwine/spec/spec.entwine.eventcapture.js
	thirdparty/jquery-entwine/spec/spec.entwine.namespaces.js
	thirdparty/jquery-entwine/src/domevents/jquery.entwine.domevents.addrem.js
	thirdparty/jquery-entwine/src/jquery.entwine.eventcapture.js
	thirdparty/jquery-entwine/src/jquery.entwine.js
	thirdparty/jquery-entwine/src/jquery.focusinout.js
2013-08-20 16:58:40 +02:00
Hamish Friedlander
fda4b91d06 FIX Make sure CurrentXHR is set back to null on completion 2013-08-20 15:49:37 +12:00
Ingo Schommer
02cc662aaf More specific entwine rule for delete alert in GridField
The rule didn't apply in Firefox because of how it handles specificity,
so made it a bit more specific (added "button" and ".action")
2013-08-16 16:06:31 +02:00
Michael Andrewartha
769b7f2af5 Fixing expanding/collapse CMS menu targeting wrong element
If a user clicks the log out button (for example) and the menu is
collapsed, the menu expands and then you have to press log out
again
2013-07-30 15:02:26 +12:00
ARNHOE
e71adf6b6b Added chosen.js support to dropdown in fieldgroup 2013-07-26 20:25:27 +02:00
Simon Welsh
fbce9fd7cd Merge branch '3.1'
Conflicts:
	.travis.yml
	docs/en/misc/contributing/code.md
	javascript/HtmlEditorField.js
2013-07-05 10:22:58 +12:00
Ingo Schommer
1046530ff6 "Insert Media" dialog: Prevent loading indicator in IE8+
Fixes https://github.com/silverstripe/silverstripe-cms/issues/782
2013-06-24 17:14:32 +02:00
Ingo Schommer
8c9ef8feb9 "Insert Media" dialog: Reposition separately (fixes #783)
FF21 and IE10 seem to propagate the DOM attribute changes differently
from Chrome: The dimensions can't be set in the same setOptions()
call through jQuery UI here. Fixed this by a separate setOption() call.
2013-06-24 16:13:29 +02:00
Ingo Schommer
8769da5622 CMS UI: Resize iframe alongside dialog
Fixes regression from 9f600ada2c
2013-06-19 14:28:34 +02:00
Ingo Schommer
2160fb8000 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/javascript/LeftAndMain.js
	tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsUiContext.php
	tests/control/ControllerTest.php
2013-06-19 14:03:43 +02:00
Ingo Schommer
94b4237372 Merge remote-tracking branch 'origin/3.1' 2013-06-19 11:17:33 +02:00
Sam Minnée
8bf4d417c6 Merge pull request #2094 from chillu/pulls/dialog-sizing
Min/max constraints for CMS dialog
2013-06-18 14:56:41 -07:00
Ingo Schommer
939773643a Accessibility: Open main tabs by keyboard focus
Regression caused by jQuery UI 1.9 upgrae
2013-06-15 12:23:51 +02:00
Ingo Schommer
ad28a3adc2 Updated browser warning in CMS JS 2013-06-15 11:58:35 +02:00
Ingo Schommer
5b651e4593 Only clear tab entries from window.sessionStorage 2013-06-15 11:16:11 +02:00
Ingo Schommer
9f600ada2c Min/max constraints for CMS dialog 2013-06-13 20:03:16 +02:00
Ingo Schommer
3b40711b98 BUG Resize infinite loops in IE8 (fixes #575)
IE8 gets a bit confused and fires resize events
when element dimensions in the DOM are changed
as a result of a resize event, causing an infinite loop.
Apart from artificially throttling the event, the only solution
I've found is to check for actual window dimension changes.
http://stackoverflow.com/questions/12366315/window-resize-event-continually-fires-in-ie7?lq=1

This implicitly fixes an issue where TreeDropdownField panel isn't
accessible in the "Insert Media" popup, because the resize event happes
to be triggered by the popup overlay, and in effect closes the drop down
panel right after opening it.

Relating to the jQuery UI component, there's a host of issues and discussions around this, but no solution…
http://bugs.jquery.com/ticket/4097
http://bugs.jqueryui.com/ticket/4758
http://bugs.jqueryui.com/ticket/4065
http://bugs.jqueryui.com/ticket/7514
http://bugs.jqueryui.com/ticket/8881
https://groups.google.com/forum/?fromgroups#!topic/jquery-ui/fDSvwAKL6Go
http://www.mail-archive.com/jquery-ui@googlegroups.com/msg04839.html
2013-06-13 17:37:25 +02:00
Ingo Schommer
5ff69b98ab LeftAndMain.js: Fix 'X-Reload' for IE10 (fixes #647) 2013-06-13 15:17:14 +02:00
Robert Curry
a365759a0d Always load preview when in preview mode, not in edit mode 2013-06-13 11:31:57 +12:00
Ingo Schommer
65209a0ed5 AssetAdmin reset button and chosen.js (fixes #1640)
See https://github.com/harvesthq/chosen/issues/215
2013-06-13 00:45:59 +02:00
Ingo Schommer
5a1d476e8d Merge branch 'idvalidattr' of git://github.com/wilr/sapphire into wilr-idvalidattr 2013-05-31 19:27:19 +02:00
Mateusz Uzdowski
37d6871c15 Add explicit extension trigger to preview iframe updates. 2013-05-26 12:51:25 +12:00
Will Rossiter
831a507c90 FIX: Update references to ID values from 79c9433 2013-05-26 11:11:55 +12:00
Ingo Schommer
67d1327b90 Avoid collision of status flags in tree items when updating tree nodes
Fixes silverstripe/silverstripe-cms#445
See https://github.com/silverstripe/silverstripe-framework/pull/1996
Thanks to Jean-Fabien for getting this started
2013-05-25 11:27:50 +02:00
Sam Minnée
eedcacb256 Merge pull request #2000 from wilr/1640
FIX: IE8 does not bubble reset form events (Fixes #1640)
2013-05-24 19:51:20 -07:00
Will Rossiter
d540c443bc FIX: IE8 does not bubble reset form events. Use click handler for reset button. (Fixes #1640) 2013-05-25 14:12:44 +12:00
Loz Calver
c8725d1c93 Attempting to select uninitialised tab on validation error (fixes #1783) 2013-05-23 16:01:27 +01:00
Mateusz Uzdowski
b480886cab BUG All tabs are in open state when changing the name of a folder.
Submitting the form via AJAX changes the DOM controlled by the tabs
widget, it needs to be notified about the change.
2013-05-16 11:15:03 +12:00
Loz Calver
c53b61c347 Fix broken CMSSettings saving
Regression from da7e515d13
2013-04-11 17:25:15 +01:00
Loz Calver
975c6992df FIX: Edge case attempting to destroy uninitialized tabs
Another edge case very similar to
https://github.com/silverstripe/sapphire/commit/07fb7563273fa82bd93eb255
70571c0a298198e5
2013-04-09 11:21:54 +01:00
Ingo Schommer
3f2b6a518f FIX Don't silently unset ParentID in "add page" dialog
Happened when changing the page type, because the "selectedNode"
property isn't set in all cases
2013-03-25 23:40:35 +01:00
Ingo Schommer
74014650ed Merge pull request #1205 from UndefinedOffset/3.0
BUG Fixed issue with cms help toggles not functioning correctly
2013-03-20 05:47:05 -07:00
Ingo Schommer
2debbd37dc Updated history.js dependency 2013-03-20 00:46:32 +01:00
Ingo Schommer
b2552f885b Merge pull request #1288 from chillu/pulls/tab-state-overrides
Tab state overrides
2013-03-18 04:12:05 -07:00
Ingo Schommer
8ece47ad55 Merge pull request #1290 from patbolo/ticket/8322
FIX #8322 Use POST instead of GET when using LeftAndMain::savetreenode s...
2013-03-14 16:38:26 -07:00
jean
412f58b559 FIX #8322 Use POST instead of GET when using LeftAndMain::savetreenode so large site trees can be reorganised as well 2013-03-15 10:16:33 +13:00
Ingo Schommer
da7e515d13 Tab state overrides by class or HTML5 history state
Necessary to switch from tree view to list view programmatically,
which reloads the whole tabset and needs to enable the "list" tab.
Used for the new "Show list as children" functionality in the cms.
2013-03-14 17:28:53 +01:00
Ingo Schommer
746904ca7d FIX Respect previous tab choices in CMS on load
Previously only worked on ajax interactions.
This makes it much easier to default the CMS to
the "list view" rather than "tree view".
2013-03-14 16:22:32 +01:00
Loz Calver
9a1ccd8a67 FIX: Prevent opening preview when clicking the link for current page again 2013-03-01 11:42:34 +00:00
Ingo Schommer
bea1b9002d Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	control/HTTP.php
2013-02-26 13:28:35 +01:00
Ingo Schommer
25af4adce2 Merge tag '3.0.5' into 3.0 2013-02-20 02:21:41 +01:00
UndefinedOffset
e954c8c1d1 No longer caching the target element to be toggled 2013-02-19 12:10:19 -04:00
UndefinedOffset
b3e40dd0c3 Fixed issue with cms help toggles not functioning correctly 2013-02-19 11:38:40 -04:00
roed
9e7c622abe fixed error property $ of object is not a function
changed $ to jQuery, because without it the system would generate the following error:

Uncaught TypeError: Property '$' of object [object Window] is not a function
2013-02-19 15:48:29 +01:00
roed
396af557df fixed error property $ of object is not a function
changed $ to jQuery, because without it the system would generate the following error:

Uncaught TypeError: Property '$' of object [object Window] is not a function
2013-02-19 09:20:29 +01:00
Ingo Schommer
0c6ac1960e Fixed whitespace usage 2013-02-18 15:43:52 +01:00
Ingo Schommer
a86e4ee00c Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	tests/injector/InjectorTest.php
	tests/travis/before_script
2013-02-18 14:15:42 +01:00
ARNHOE
924c76ccb1 Create nl_NL.js 2013-02-18 03:13:09 -08:00
Hamish Friedlander
7efae6b95f Merge remote-tracking branch 'origin/3.0' into 3.1 2013-02-18 14:31:57 +13:00
Ingo Schommer
604ede30a4 BUGFIX Escape HTML in CMS status messages 2013-02-17 23:27:15 +01:00
Robert Curry
7ff8d35be0 Force preview window to refresh on every save 2013-02-08 12:04:18 +13:00
Ingo Schommer
14a56c18e9 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	control/Director.php
2013-02-07 21:45:16 +01:00
senglmann
bb223bb35f Update admin/javascript/lang/de_DE.js
fixed typo in translation
2013-02-06 10:13:49 +01:00
Ingo Schommer
1acb416a7f NEW Don't load CMS preview iframe if not visible (fixes #8247) 2013-02-05 10:23:48 +01:00
Ingo Schommer
0e6912c8cd Re-added 'auto' sizing for CMS preview
Regression from making sizes configurable via JS
2013-02-04 13:43:04 +01:00
Kirk Mayo
0cb6b4630f NEW Storing page preview states (fixes #8092) 2013-02-04 13:43:01 +01:00
Ingo Schommer
1bb109041f FIX Node updates in IE without non-object error
Bug was most prominent after page publication,
which triggers a node reload. It iterated through
all node attributes to assign them to the existing node,
which apparently includes some non-scalar attributes
that can't simply be copied in IE.
2013-01-31 18:59:20 +01:00
Ingo Schommer
013f4cfe88 Merge pull request #1052 from kinglozzer/leftandmain-preview-click-bug
BUG: Right click on LeftAndMain menu caused CMS preview pane to open
2013-01-30 05:50:39 -08:00
Ingo Schommer
eb7fed9ab5 FIX Prevent defocus on first change in CMS HTMLEditorField (fixes #8217)
Regression caused by https://github.com/silverstripe/silverstripe-cms/commit/26cc14a9
2013-01-30 12:40:52 +01:00
Ingo Schommer
38e930dfe6 FIX Blocking of preview screen (regression)
Blocked when it should be editable, due to entwine's
onunmatch not firing when it was expected to.
2013-01-30 11:32:55 +01:00
Ingo Schommer
56336c3758 Merge pull request #1101 from chillu/pulls/preview-configuration
NEW Preview size and default mode configurability
2013-01-29 08:16:33 -08:00
Ingo Schommer
3457f43839 BUG Respect CMS preview active state (related to #8089) 2013-01-25 11:33:48 +01:00
Ingo Schommer
c11b3918fc Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/css/screen.css
	admin/scss/_style.scss
	core/PaginatedList.php
	email/Mailer.php
2013-01-21 11:14:57 +01:00
Ingo Schommer
ca84ddca16 NEW Preview size and default mode configurability 2013-01-15 16:50:57 +01:00
jean
420c639e7b FIX Properly show link for showing and hiding class spec in model admin 2013-01-15 18:52:05 +13:00
Ingo Schommer
b918487375 Fixed preview overlay showing by default
This was a regression made visible by the recent change to
enforce dimensions on this overlay, which in turn visualizes
the blocked/unblocked states of the preview (see fc6d6ffad)
2013-01-11 00:23:47 +01:00
Ingo Schommer
79997477b3 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	model/DataList.php
2013-01-08 17:16:09 +01:00
Ingo Schommer
d872202ae5 Support for X-Reload header
Backported from 3.1. Required to get subsite's
"copy page to subsite" form submission working.
2013-01-03 20:43:51 +01:00
Ingo Schommer
8ec3641e60 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	admin/javascript/LeftAndMain.FieldHelp.js
	lang/en.yml
	model/URLSegmentFilter.php
2012-12-21 15:04:17 +01:00
unclecheese
07fb756327 Fix edge case in which uninitialized buttons are being destroyed.
In certain cases, the button may not yet be initialized or may no longer have button properties at the time of removal from the DOM. Without this check, an uncaught exception is thrown.
2012-12-18 09:41:54 -05:00
Ingo Schommer
9b3aebd310 Allow HTML in FormField->setDescription() 2012-12-18 15:02:23 +01:00
Loz Calver
4388433583 BUG: Right click on LeftAndMain menu caused CMS preview window to open
The onclick event for LeftAndMain menu links didn't check if the click
was left or right, meaning that right click events could trigger the
function for loading split view mode in some browser/os combinations.
2012-12-18 10:44:12 +00:00
Ingo Schommer
8779e9be5b BUG Fixed changetracking for radio and checkbox field types
Also removing the 'changed' class from the form once
no further fields are marked as changed. That's important
now that we're surfacing the state much more visibly
through the alternative "save" button styles in the CMS.
2012-12-17 23:02:04 +01:00
uniun
77212c0647 CMS Titles does not support UTF-8
Title in CMS is set using header X-Title. But UTF-8 characters can't be used in HTTP headers. So the title should be encoded just before sending X-Title header and decoded before setting HTML document title (fixes #7942).
2012-12-17 17:36:00 +01:00
Ingo Schommer
a823c38c3f Fixed JS syntax error 2012-12-17 11:38:03 +01:00
Mateusz Uzdowski
bf5590d873 BUG Fix side-by-side initial icon display issue in IE8.
The new 'liszt:ready' handler is called late enough to trigger the
update, whereas the redraw is called to early for IE8 to pick up the
class change. The class property is changed correcly though, it looks
like an IE8 rendering issue.

http://open.silverstripe.org/ticket/8095
2012-12-16 16:15:07 +13:00
Mateusz Uzdowski
8455686c36 BUG Fix the re-layouting not being triggered in IE8.
Move onresize handler from entwine to regular event for IE8. The
fromWindow::onresize does not trigger otherwise.

Refer to http://open.silverstripe.org/ticket/8095
2012-12-16 16:14:45 +13:00
Ingo Schommer
963f02e7a3 Using new description style in MemberDateTimeOptionSetField 2012-12-14 01:58:04 +01:00
Ingo Schommer
1ca3883a76 NEW Tooltip and inline help text support for CMS form fields 2012-12-14 01:58:04 +01:00
Ingo Schommer
aed58a55c4 Loading indicator for "more options" buttons 2012-12-14 00:32:06 +01:00
Mateusz Uzdowski
4d6d823cb1 API Allow ignoring persistent tab state through entwine property.
In this case we don't want to rely on data attributes in the DOM, as
this should be an inbuilt property associated with this class.
2012-12-13 17:43:25 +01:00
Naomi Guyer
5cef05ebea Separate out ActionTabSet functionality into a new file & clean up. 2012-12-13 17:43:25 +01:00
Mateusz Uzdowski
fe08236f21 API Add action tabsets as a interface idiom.
Introduces the concept of action tabsets - usage of TabSet and Tabs
in between the action buttons to allow richer set of capabilities that
can be offered to the user.

Goes along with c8d0cdec99c95dbed3b58ebcc098cc9d22c58206 that implements
a change to the CMS actions.
2012-12-13 17:43:24 +01:00
Simon Welsh
b0121b541c Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
Simon Welsh
fc5dd2994c Add codesniffer that ensures indentation is with tabs. 2012-12-12 00:12:11 +13:00
Ingo Schommer
0fd6d14f94 Fixed Behat steps for preview feature 2012-12-10 18:06:49 +01:00
Naomi Guyer
dbee4a1bf9 Clean up the side-by-side code. 2012-12-10 17:52:02 +01:00
Paul Clarke
747346bb16 Ability to rotate the mobile preview in side-by-side preview. 2012-12-10 17:52:02 +01:00
Naomi Guyer
00f1ba4ab0 Side-by-side preview browser compatibility fixes. 2012-12-10 17:52:02 +01:00
Mateusz Uzdowski
fa3ef8c126 Side-by-side preview initialisation and navigation fixes.
Disables changetracking on preview options.
2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
4fa2b0f3ff API Support disabling/enabling of previews.
This fixes the problem of panels flipping back to the Pages section if
loading a non-previewable section, and also initialisation problems.
2012-12-10 17:52:01 +01:00
Naomi Guyer
8ce272861c Replace the state selector switch to support more than 2 states. 2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
8f5acd70b3 API Move state to enwtine properties, provide API for preview.
Also the preview state is now kept between panel loads. We also use a
redraw function to update appearance based on the state.
2012-12-10 17:52:01 +01:00
Naomi Guyer
9312c70696 Side-by-side preview options fixes.
Add extra preview-mode selector to the CMS actions so we can show
something when the preview is closed (and with it all options are not
visible).

Thanks @mateusz, @clarkepaul and @robert-h-curry for contributing.
2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
d4f13fe532 API Refactor the CMS layouting to provide access to options.
It is now possible to change the threeColumnLayout width options for the
columns via entwine property LayoutOptions and accessor methods.

Thanks @robert-h-curry, @clarkepaul for contributing!
2012-12-10 17:52:01 +01:00
Paul Clarke
544d2eb6e1 Side-by-side preview options styling.
Thanks @adrexia for contributing.
2012-12-10 17:52:01 +01:00
Mateusz Uzdowski
1edfeefbdd BUG Remove extraneous layout calls.
Remove .layout() calls on redraw. It's unnessecary and means layout
actually gets triggered multiple times, making resizing very slow.
This was a hack to fix the positioning of ajax-replaced elements.

The problem is jLayout does not track replaced elements. We have
to trigger layout algorithm manually on the parents of the replaced DOM
so it can update internal structures and do the re-layout.

Relayouting only needed 3 levels down.
2012-12-10 17:51:35 +01:00
Mateusz Uzdowski
f4b080ee06 NEW Side by side editing functionality - first cut (os#7412)
Introduces a preview window that appears when the screen is wide enough,
removes old preview button, adds a draft-public switch, adds variety of
preview options which are not hooked up yet.

Goes along with cms commit fa3738a9f4c5181eabf18a77ca89792d31592250
2012-12-10 17:51:35 +01:00
Ingo Schommer
fa84c2d705 Merge remote-tracking branch 'origin/3.0' 2012-12-10 17:50:43 +01:00
Ingo Schommer
0be51a9321 BUG Fix ModelAdmin search (fixes #8052)
Broken by jQuery UI ajax behaviour in tabs, which compares
URLs to determine if the tab needs to be loaded via ajax.
This was always a brittle solution, and now broke alongside
our upgrade to jQuery UI 1.9 (specifically, with 2657a275).

The ajax behaviour is now globally disabled in favour of
having '.cms-panel-link' behaviour on the tabs, which
was already in place.
2012-12-04 14:28:36 +01:00
Ingo Schommer
4d106aa998 BUG Fixed unintentional ParentID reset in "add page" form
Side effects from old JS hanging around which was no longer used.
See d364070941
for background discussion.
2012-12-04 11:30:29 +01:00
Marcus Nyeholt
34788130ef BUG Rewrite hashlinks failing on empty a tags
Check for presence of href in _a_ tags before trying to .match them to
prevent null pointer errors.

Some external JS libs (eg tag-it) use <ul><a> structures which get matched
and break

(fixes regression introduced by ff39f9ad38)
2012-12-04 15:47:14 +11:00
Kirk Mayo
20a5bc1d36 BUG iOS safari navigation bug (fixes #8039) 2012-12-03 12:27:59 +01:00
Ingo Schommer
700c95a523 Merge pull request #989 from silverstripe-rebelalliance/8063
BUG Unable to return to site tree admin from Preview mode trac 8063
2012-12-03 01:33:04 -08:00
Kirk Mayo
da1a6e7bf7 BUG Unable to return to site tree admin from Preview mode trac 8063 2012-12-03 10:38:47 +13:00
Ingo Schommer
0808a1c21e Fixed JS syntax error
Regression from dbbcd08d
2012-11-30 12:30:41 +01:00
Mateusz Uzdowski
dbbcd08d8f NEW Extend the ssui.button with alternate appearances.
Reusable feature for making CMS buttons that respond to the current
contextual state with an appearance change.

Provides capability to specify initial state, alternate icon and
alternate text via data attributes or options (PHP or JS), and to hook
up into events triggered when the state is alternating.

This is used by the follow-up cms action buttons cleanup work.
2012-11-26 09:51:02 +13:00
Ingo Schommer
e021a190b3 Merge pull request #968 from silverstripe-droptables/submitform-validation
Future-proof the submitForm for use with forms without validation.
2012-11-22 15:31:51 -08:00
Ingo Schommer
c55c7c33f8 Merge branch '3.0'
Conflicts:
	admin/code/CMSProfileController.php
	composer.json
	tests/model/DataObjectTest.php
2012-11-22 23:51:28 +01:00
Mateusz Uzdowski
3f2ddbb3fb Future-proof the submitForm for use with forms without validation.
We might decide to use it for other submissions than EditForm.
2012-11-23 11:09:43 +13:00
Mateusz Uzdowski
2657a27573 BUG Adjust the handler to jQuery UI 1.9 API change.
Settings.url no longer contains the URL, as a result navigating around
tabs in IE (browsers that do not support History API) becomes broken.

For example when the admin is opened on "Pages" section it is impossible to
navigate to specific page, or if the admin is opened on a tab, it's not
possible to navigate to another tab.
2012-11-21 11:02:51 +01:00
Sean Harvey
f4a4465873 Merge branch '3.0' 2012-11-07 11:12:01 +13:00
Ingo Schommer
a7efc76c36 Removed usage of deprecated jQuery UI 1.9 features
See http://jqueryui.com/upgrade-guide/1.9 for details.
Fixes fade effect on changing toplevel tabs
(semantics for "show" option in $.tabs() changed).
2012-11-06 22:53:34 +01:00
Ingo Schommer
3214a0a756 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	admin/css/screen.css
2012-11-06 19:56:34 +01:00
Ingo Schommer
ff39f9ad38 Upgrade jQuery UI to 1.9
- Fixed jQuery.tabs remote tabs loading behaviour (see http://forum.jquery.com/topic/tabs-api-redesign)
2012-11-06 19:45:56 +01:00
Sean Harvey
169366a011 Merge branch '3.0' 2012-11-06 13:04:21 +13:00
Sean Harvey
3451da001a BUG Fixing session keep alive for non-ADMIN users
SecurityAdmin isn't always available for CMS users, as they might
not have permission to view that section. This fixes the problem
with session keep alive by moving the ping to Security/ping, which
is available for all users.
2012-11-05 15:41:10 +13:00
Sean Harvey
fbc6e3366b Merge branch '3.0' 2012-11-05 15:11:48 +13:00
Saophalkun Ponlu
9fe99cfec9 Batch actions UI enhancement (#7878) 2012-11-02 22:57:14 +01:00
Simon Welsh
0b279a2cbc Changes ping to POST and clears Requirements for ping
GET requests can, and do, get cached. Using POST forces them not to.
Clears requirements so that the SecurityAdmin JS isn't injected.
2012-11-01 21:15:43 +13:00
Ingo Schommer
d1ee7612f5 Merge remote-tracking branch 'origin/3.0' 2012-10-08 16:48:52 +02:00
Saophalkun Ponlu
e3a27ea7da CMS member profile now is no longer in a popup (#7880) 2012-10-08 12:57:55 +02:00
Ingo Schommer
b38cb39256 BUG Prevent CMS submission on disabled buttons (#7928)
Thanks @jbarrios for triggering this fix
2012-10-08 09:29:08 +02:00
Jeremy Bridson
ad7383a58d ENHANCEMENT: open/7886 added preview button to the settings page so that when a user changes the theme they can preview the change. 2012-10-05 16:30:47 +13:00
Ingo Schommer
56f7ce1dcf Merge remote-tracking branch 'origin/3.0'
Conflicts:
	control/Cookie.php
	control/Director.php
	control/HTTPResponse.php
	model/Database.php
	model/MySQLDatabase.php
	model/SQLQuery.php
	view/Requirements.php
	view/SSViewer.php
2012-10-03 16:16:19 +02:00
Sam Minnee
1f7fc1f76a FIX Remove instances of lines longer than 120c
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit.  This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00
Sam Minnee
28bd939580 FIX: Ignore charset when checking mime types in LeftAndMain ajax responses.
This is partly a fix to #7574, although quite different from the work Ingo did on Content-length.  The text/json mime type occasionally gets a charset suffixed to it by the webserver, which broke everything.

A follow-on fix from this would be to get the PHP code to supply charsets more consistently, so that webservers don't have to make things up.

Additionally, the 2nd interpretation - which treats the response as text/html - should probably only happen if the response is text/html, and throw a more helpful error otherwise.
2012-09-30 16:32:22 +13:00
Ingo Schommer
91e4fde96f ENHANCEMENT "Readonly" behaviour for CMS tabs 2012-09-28 16:37:35 +02:00
Sean Harvey
b186626b73 BUG If a nested page editable but parent not, user can't expand tree
If you're logged in as a specific user in a group who has view/edit
permissions of a page that has a parent page which doesn't have
permissions, you can't expand the tree node to get access to that
nested page.

This fixes LeftAndMain.Tree.js to allow expanding if there are
immediate children tree nodes that are not disabled. Also fixes
styling so that only immediate children nodes are greyed out.

Fixes this ticket: http://open.silverstripe.org/ticket/7913
2012-09-28 12:18:34 +12:00
Sean Harvey
e4ab02e1c3 Merge branch '3.0' 2012-09-27 10:39:31 +12:00
Marcus Nyeholt
da70dc469c BUG Fixed possible reference to null string
Hashlink for tabs in the backend didn't check the existence of
the href value before trying to .replace it.
2012-09-26 16:27:50 +10:00
Damian Mooyman
495ffb033c FIXED: Issue with duplicate help tips appearing on select fields in CMS. See Security / Groups / Edit Group form field for example. 2012-09-25 13:37:17 +12:00
Sean Harvey
9c2be0f025 Merge branch '3.0' 2012-09-17 15:16:52 +12:00
jean
100aa178b0 FIX 7856 If the submit button is disabled, to perform the ajax request 2012-09-11 15:00:36 +12:00
Ingo Schommer
1088d044c5 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	.travis.yml
2012-09-07 17:21:41 +02:00
Saophalkun Ponlu
a0462b90cf BUG Fixes an issue where batch actions dropdown doesn't show up after ajax request back to the cms Pages section 2012-09-03 18:47:25 +12:00
Saophalkun Ponlu
c3d622c910 BUG: Fix an issue caused by moving a page from one location in the tree to another location doesn't update parent id in the edit form immediately (see #7740)
The issue causes the moved page to revert to previous location when Save and Publish before any page refresh or page switching.
This commit also adds 'Modified' badge to the moved page
2012-08-29 20:33:03 +12:00
Sam Minnée
fcc88264cb Merge pull request #747 from silverstripe-rebelalliance/trac/7763
FIX 7763 TreeDropdownField needs to refresh after CMS edit form save
2012-08-28 15:55:35 -07:00
Hamish Friedlander
05fade3249 FIX 7763 TreeDropdownField needs to refresh after CMS edit form save 2012-08-29 10:52:56 +12:00
Ingo Schommer
6162ae5e3f Fixed preview link ordering in CMS
jQuery seems to order by DOM rather than occurrence of
selectors, which means it always takes the last populated
field (in our case the "live" link over the "draft" link).
2012-08-28 18:31:15 +02:00
Sam Minnee
c2afca2cd8 Merge branch '3.0' 2012-08-28 16:08:57 +12:00
Ingo Schommer
dc08e87bd5 BUG Take first non-empty link field for preview
Goes by priority, but allows for fields to be empty.
This is important e.g. for models which are removed just
from live, or just from draft.
Also reacts to a field rename done in CMS module (62783c75).
2012-08-27 18:22:33 +02:00
Ingo Schommer
f63893544e BUG Fix CMS layout after preview navigation (fixes #7463) 2012-08-27 16:50:37 +02:00
Ingo Schommer
5a44ea2e20 Deselect tree nodes when reacting to form load event (fixes #7401)
Multiselected nodes are only possible in batch mode,
which would never trigger a form load event.
2012-08-27 16:49:06 +02:00
Ingo Schommer
1d2288b091 NEW Open external links in preview mode in new window (fixes #7652)
Rather than disabling the links altogether, which is
counter-intuitive to most users.
See https://github.com/silverstripe/sapphire/pull/638.

Also hide a duplicate $SilverStripeNavigator on the previewed
website (in case it has been manually applied to the template).
2012-08-27 14:42:10 +02:00
Sam Minnee
824afffd2e Merge branch '3.0' 2012-08-23 12:39:41 +12:00
Ingo Schommer
ae9c2e78a1 BUG Restore tree children after updateNode() (fixes #7761) 2012-08-22 15:38:54 +02:00
Ingo Schommer
4cc82e906b Merge remote-tracking branch 'origin/3.0' 2012-08-20 10:13:55 +02:00
Andrew Short
2503e481ff Only initialise chosen elements when visible. 2012-08-16 23:26:33 +02:00
Mateusz Uzdowski
70eaa270e4 API Allow to force URL reload, while replacing the history state
Comes with a wrapper for easy reloading of the current panel.
2012-08-16 22:02:19 +02:00
Ingo Schommer
f79d2df104 BUG More robust url comparison in CMS
Avoid ajax reloads when URLs differ in irrelevant ways,
e.g. admin/?locale=de vs. admin?locale=de.
This caused problems with the translatable module
reloading page content where it didn't need to,
because some previous robustness patches to the same problem
didn't apply (they only removed trailing slashes, ignoring
query parameter strings). The visible problem for this was
a broken tree panel, because it was ajax-loaded in parallel
with its container. Depending on ajax response order,
this would break the inner panel (in this case the tree),
since its original container was replaced with a new DOM.
2012-08-15 21:22:15 +02:00
Ingo Schommer
3bce3550d3 Merge remote-tracking branch 'origin/3.0' 2012-08-12 22:21:06 +02:00
Ingo Schommer
35ca67535d Merge pull request #667 from jakr/trac7617-followup
Fix edge case in sessionStorage detection for FireFox.
2012-08-10 01:42:58 -07:00
Ingo Schommer
fb7008627c Merge remote-tracking branch 'origin/3.0' 2012-08-09 10:47:44 +02:00
Niklas Forsdahl
a85530991c BUG: javascript tree node updating fails when Translatable is used
Automatic tree node updating fails when for example creating a new
translation, due to the update URL containing two question marks,
due to the locale get parameter.

Fixed by using the $.path.addSearchParams utility function, which properly
checks for existing query string parameters.
2012-08-03 13:36:37 +03:00
Hamish Friedlander
3efdb5c981 Merge in changes from 3.0.1 final 2012-07-31 16:51:10 +12:00
Hamish Friedlander
72efed1993 Dont need to wrap entwine blocks in onload blocks, theres no benefit 2012-07-27 11:17:56 +12:00
Hamish Friedlander
a9bedccd1f Merge in changes from 3.0.1-rc2 2012-07-27 11:14:32 +12:00
Hamish Friedlander
5591017577 BUG 3156e755 broke GridField Add forms because guessed frag was wrong 2012-07-27 11:13:23 +12:00
Naomi Guyer
55ec92d40e ENHANCEMENT: Maori language javascript 2012-07-26 17:18:44 +12:00
Hamish Friedlander
95d0be636c Merge remote-tracking branch 'origin/3.0' 2012-07-25 11:44:53 +12:00
Hamish Friedlander
dc18c51f32 Add javascript japanese translation - thanks Yuki Awano 2012-07-25 09:38:36 +12:00
jakr
3bc2798e72 Fix edge case in sessionStorage detection for FireFox. If it is disabled using about:config, typeof will be object, but the value will be null. 2012-07-24 12:54:23 +02:00
Hamish Friedlander
22d6c7afa4 BUG Updating node would position wrong, Sort isnt === offset 2012-07-23 22:15:11 +12:00
Ingo Schommer
120de7cba2 NEW Tree node updates after save (fixes #7450, #7389)
- Updates icon, badges, title, and position in hierarchy
- New LeftAndMain_TreeNode API to allow rendering of single tree nodes
without their hierarchy, extracted from LeftAndMain->getSiteTreeFor()
- New LeftAndMain->updatetreenodes() endpoint to request updated state
for one or more nodes. Triggered on demand by form refreshes.
2012-07-23 17:21:49 +12:00
Ingo Schommer
09067cc8dd NEW Open first tab with validation errors 2012-07-18 16:50:09 +02:00
Ingo Schommer
3156e75548 BUG Redisplay CMS forms with validation errors
Guess the fragment based on the returned HTML.
The validation error HTTP response is generated by Form rather than
the controller (LeftAndMain), so we can't set custom PJAX headers easily.
2012-07-18 16:50:04 +02:00
Ingo Schommer
3ae8b0b665 Merge remote-tracking branch 'origin/3.0' 2012-07-18 15:00:06 +02:00
Andrew Short
9a5baafde7 Don't capture form submits to new windows. 2012-07-17 16:34:01 +10:00
Ingo Schommer
bbfa54c816 Allow custom preview URLs through hidden fields
Useful e.g. to force non-SSL previews via absolute links,
even if the CMS is loaded on an SSL host.
2012-07-16 12:05:48 +02:00
unclecheese
d571cdcc85 ENHANCEMENT: Hide the search bar in Chosen dropdown fields when list is reasonably short. 2012-07-16 10:10:01 +02:00
unclecheese
6e2d6c2782 ENHANCEMENT: Hide the search bar in Chosen dropdown fields when list is reasonably short. 2012-07-15 22:54:53 -03:00
Ingo Schommer
bf91594e4f Disable tab state logic on uninit'ed tabs, allow opt-out
Fixes a problem when switching between ajax tabs,
e.g. "Content" and "Settings" in admin/pages/edit/show/<id>.
2012-07-13 17:34:55 +02:00
Ingo Schommer
c493dc730a Avoid lonely question mark for GridField URLs in CMS 2012-07-13 17:33:48 +02:00
Ingo Schommer
155758f546 NEW Save and restore tab state upon CMS navigation (fixes #7647)
Implemented independently of URL state to ensure that
state is retained on every user interaction, rather than
having to add it to each URL specifically.
Same reasons for not saving it as HTML5 history metadata,
as that's only inspected on history events, not
normal CMS navigation.
2012-07-13 16:46:23 +02:00
Ingo Schommer
a5a08530fc BUG Force "full" ajax content reload with invalid fragments
When one or more fragments are requested that are not in
the current DOM, we need to force loading the outermost
fragment instead (currently hardcoded to "Content").
This mainly prevents history back navigation from breaking,
e.g. admin/pages -> admin/pages/list ->
admin/pages/list/?ParentID=99 -> admin/pages/edit/show/5 -> (back)
2012-07-13 10:19:24 +02:00