unclecheese
d571cdcc85
ENHANCEMENT: Hide the search bar in Chosen dropdown fields when list is reasonably short.
2012-07-16 10:10:01 +02: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
Ingo Schommer
7a52a7fe41
BUG Default form submits to text/html, fixing validation ( #7653 )
...
Was using text/json, which Form->httpSubmission() interprets
(correctly) to returning JSON validation data.
This trips up the interface, which expects HTML with
the validation errors directly in the markup.
2012-07-12 17:10:50 +02:00
Ingo Schommer
fa62c1b0ba
Smarter concat of query params in LeftAndMain.js
...
Broke when CMS URL already had query params,
such as ?locale=en_US with the Translatable module enabled.
With this patch it doesn't double-concat ?locale....
Still doubles query params, but that's acceptable
until we find a more solid URL manipulation lib for JS.
2012-06-29 14:23:01 +02:00
Sean Harvey
c801671a90
BUGFIX #7394 : Allow unselect dropdowns in chosen if there's an empty option
2012-06-15 14:32:21 +12:00
Hamish Friedlander
acee026875
BUGFIX: Buttons in the cms that didnt have .ss-ui-button werent becoming buttons because we changed buttons to trigger on onadd, but the ss-ui-button class was being added dynamically
2012-06-15 01:19:31 +02:00
Ingo Schommer
ecb48bb57c
BUGFIX Force full window reload on IE7/IE8 every 20 pushState requests (see #7258 )
2012-06-15 01:19:20 +02:00
Ingo Schommer
5260738148
MINOR Avoid reinitialising tabs (see #7258 )
2012-06-15 01:19:19 +02:00
Ingo Schommer
980686ab75
MINOR Limiting console.log() output to explicit enabling through window.debug to avoid failing IE
2012-06-15 01:19:19 +02:00
Hamish Friedlander
b86a787521
BUGFIX: Use new jQuery.Entwine event capturing, onadd and onremove features to plug some memory leaks
2012-06-15 01:19:15 +02:00
Ingo Schommer
2637969bcd
API CHANGE Renamed JS event from 'reloadeditform' on 'aftersubmitform', 'beforesave' to 'beforesubmitform'. Listening to bubbled event on container to avoid binding to forms which are removed before the event is triggered.
2012-06-12 17:13:36 +02:00
Andrew Short
34eb1b39dd
BUGFIX: Fixed incorrect variables breaking form submission.
2012-06-11 23:31:02 +10:00
Ingo Schommer
d4baf2d19d
BUGFIX Stability improvements on CMS layout logic
...
- Changed application order
- Fixed layout trigger after preview toggle
- Replaced button row dimension approximation with double application of jQuery.layout() - once before sizing the action panel height to set correct width on container, then again for the height
2012-06-06 21:05:36 +02:00
Ingo Schommer
12f2e1e176
Merge branch 'pjax-multiple'
2012-06-05 14:01:18 +02:00
Ingo Schommer
460148c12a
MINOR Debug messages for tracking down JS layout sequence issues (disabled by default)
2012-06-02 12:31:55 +02:00
Ingo Schommer
5a93ee77f8
MINOR Fixed tab selection state
2012-05-30 16:36:26 +02:00
Ingo Schommer
0eac6ea5c3
MINOR Apply loading indicators to all forms, not just .cms-edit-form (which means it includes the "pages list view"). Move to correct place in LeftAndMain.js (not specific to '.cms-content')
2012-05-30 16:36:25 +02:00
Ingo Schommer
19bfd01a60
ENHANCEMENT Declare a single DOM element with multiple Pjax fragments. Unified ajax response handling in CMS, followup from submitForm() refactoring. Removed replacement of arbitrary CSS selectors through Pjax, relies on a fragment now (to keep logic consistent).
2012-05-30 16:36:23 +02:00
Ingo Schommer
75e51de9ed
API CHANGE Moved submitForm() from $('.cms-content') to $('.cms-container'), unifying ajax response handling between panel loading and form submission
2012-05-30 15:07:14 +02:00
Ingo Schommer
5178954311
UNFINISHED Processing multiple PJAX responses on CMS JavaScript, introducing data-pjax-fragment attribute to identify reloadable template parts
2012-05-30 15:07:13 +02:00
Ingo Schommer
5b03f49245
BUGFIX Respecting server-overrides on X-Pjax responses during ajax redirects. Fixes GridFieldDetailForm redirect after delete, e.g. in ModelAdmin. Partially reverts 8b4b896
. Closes pull request #488
2012-05-29 11:34:47 +02:00
Mateusz Uzdowski
8d469b66c8
BUGFIX: add missing onunmatches
2012-05-23 16:24:15 +12:00
Sean Harvey
ce7a96b116
BUGFIX Fixed missing comma in LeftAndMain.AddForm
2012-05-22 14:57:30 +12:00
Mateusz Uzdowski
97e00a35dd
BUGFIX: add missing onunmatches causing exceptions in entwine
2012-05-18 14:27:09 +12:00
Mateusz Uzdowski
37399f88db
BUGFIX: add missing _super calls to all matchers and unmatchers
...
Otherwise some matchers might not be triggered as expected.
2012-05-18 12:27:30 +12:00
Mateusz Uzdowski
3d0876c8f5
BUGFIX: put all CMS JS code into 'ss' namespace.
...
Conflicts:
admin/javascript/LeftAndMain.js
javascript/GridField.js
2012-05-18 12:27:30 +12:00
Ingo Schommer
d57ede8f44
MINOR Fixed query param concatenation in LeftAndMain.js
2012-05-15 21:28:55 +02:00
Ingo Schommer
d42ea5a9d6
BUGFIX Encoding multibyte characters in custom X-Status HTTP headers used in CMS (headers don't allow multibyte data)
2012-05-14 15:13:49 +02:00
Mateusz Uzdowski
b28a625f0b
BUGFIX: clean up Chosen classess, so the cached panel can be rebuilt (os7304)
...
There is no way to clean up attached Chosen instance in a nice way -
there is no destroy, nor remove on the library.
Also, we can't use the onunmatch on this entwine - it only triggers after the cache snapshot
has been taken. This is because the cache function is on different
namespace.
2012-05-11 16:17:44 +12:00
Ingo Schommer
2753744f9e
ENHANCEMENT Moving X-Status message handling in CMS from global ajaxError to ajaxComplete handler, to allow success messages being passed this way as well.
2012-05-10 10:44:21 +02:00
Ingo Schommer
3ee4459476
MERGE tabs url abs
2012-04-18 16:54:57 +02:00
Ingo Schommer
473d3a66b8
MINOR Fixed controller contexts in LeftAndMain->SiteTreeAsUL() - needs different context for edit links and determining "current page" (not applicable for CMSPagesController)
2012-04-17 22:33:30 +02:00
Ingo Schommer
35d4cd3da8
MINOR PJAX support for .cms-panel-link
2012-04-17 22:28:36 +02:00
Ingo Schommer
d6eb1b6fff
ENHANCEMENT Added .cms-panel-deferred for lazy loading of CMS panels (for performance reasons)
2012-04-17 17:19:03 +02:00
Ingo Schommer
37777615cf
MINOR Ignore aborted ajax requests in CMS notifications
2012-04-17 17:12:15 +02:00
Ingo Schommer
e2df1f4c5f
MINOR Removed $('.cms-content').loadForm(), its very similar to loadPanel() - accepts callbacks, but that's not specific to forms. Listen to 'afterstatechange' rather than 'loadform' events
2012-04-12 23:53:14 +02:00
Mateusz Uzdowski
452a507cc9
BUGFIX: remove form auto-detection from the generic JS state handler.
...
Forms take care of PJAX state on their own in the submit and load functions (os-7126)
2012-04-12 11:31:28 +12:00
Julian Seidenberg
1e0b843353
ENHANCEMENT: refactoring code for making a link an ajax/history link. Removing the selector that targets .crumb and only applying the selector that turns links with cms-panel-link into ajax enabled links. Adding the cms-panel-link to those links that already have the crumb class.
2012-04-10 18:16:27 +12:00
Ingo Schommer
8c5e56fe31
Merge branch 'master' into integration
...
Conflicts:
admin/css/screen.css
dev/install/php5-required.html
2012-04-09 21:10:08 +02:00
Ingo Schommer
aebbb10c9f
MINOR Skip processing in CMS on empty ajax responses, as they're usually a pseudo redirect (via X-ControllerURL)
2012-04-05 23:00:22 +02:00
Sam Minnee
e01b0aa3d0
ENHANCEMENT PjaxResponseNegotiator for more structured partial ajax refreshes, applied in CMS and GridField. Also fixes issues with history.pushState() and pseudo-redirects on form submissions (e.g. from page/add to page/edit/show/<new-record-id>)
2012-04-05 23:00:22 +02:00
Ingo Schommer
ac6f9e9987
MINOR Normalize trailing slashes in X-ControllerURL handling to avoid double requests caused by SS_HTTPRequest modifying the original URL (removing trailing slash etc)
2012-04-04 16:47:14 +02:00
Ingo Schommer
c2b741642e
MINOR Moved X-ControllerURL handling into global ajax response handlers to avoid code duplication
2012-04-04 16:47:13 +02:00
Normann Lou
f1e0951483
ENHANCEMENT: allow each dialog pop to have their own extra class.
2012-04-03 12:50:13 +12:00
Sean Harvey
a2979f0551
BUGFIX Ensure that origLayoutClasses is always an array when considered
...
empty, as join() will be called later and causes a JS error on an empty
string.
2012-04-02 14:29:02 +12:00
Ingo Schommer
1091c7b944
BUGFIX Don't replace pushState() if emulated, as it will re-load the new URL via ajax, effectively duplicating every request in IE ( #7002 )
2012-03-30 16:51:43 +02:00
Ingo Schommer
83adffd7cd
MINOR Fixed var names in LeftAndMain.js
2012-03-30 16:51:42 +02:00
Ingo Schommer
3f4aba5545
MINOR Avoid breaking IE on CMS ajax responses which don't contain CSS class names (splitting on NULL) ( #7002 )
2012-03-30 16:51:42 +02:00
Ingo Schommer
efc30fd39e
MINOR Removed setRightTitle() special case (and too specific styling) from Group->getCMSFields(), implemented title attribute for chosen.js drop downs instead (to be styled with more friendly title popovers)
2012-03-27 17:07:50 +02:00
Normann Lou
7a27832297
BUGFIX fix the field generated by choser with 0 width in an iFrame popup
2012-03-27 17:06:58 +02:00
Sam Minnee
f5f655bd7a
BUGFIX: Show a correct growl message when ajax returns a JS error rather than HTTP error.
2012-03-24 16:35:18 +13:00
Will Rossiter
06dd79f34c
MINOR: remove console.log
2012-03-24 14:22:29 +13:00
Will Rossiter
39742f53e5
BUGFIX: #7036 refresh CMS panel when adding a new file
2012-03-24 14:20:46 +13:00
Ingo Schommer
9a96b92c81
MINOR Moved $('.cms-panel-link') and $('.cms-link-ajax') behaviours to "higher order" namespace
2012-03-07 17:17:47 +01:00
Ingo Schommer
bb8bda862e
MINOR Allowing .cms-content-fields to have its own layout
2012-03-07 16:20:28 +01:00
Julian Seidenberg
ebf23abbbf
ENHANCEMENT: SSF-33 always selecting the first tab (list view) when doing a search
2012-03-06 13:46:38 +13:00
Ingo Schommer
8da89c6f7c
MINOR Generic .cms-help-toggle implementation to replace MemberDatetimeOptionsetField.js (which also didn't work when loaded via Ajax, and needed a rewrite to jQuery.entwine anyway)
2012-03-05 17:41:50 +01:00
Ingo Schommer
94d985e0c4
MINOR Only disable chosen.js placeholder if no custom one exists
2012-03-05 17:41:50 +01:00
Ingo Schommer
eab8401c7d
MINOR Applying chosen.js behaviour to all <select multiple>, rather than arbitrarily limiting to a CheckboxSetField. Also fixed a bug where those fields would get the '.has-chzn' class even if it wasn't applied due to a missing <select> element.
2012-03-05 09:21:24 +01:00
Ingo Schommer
b242bfb3da
BUGFIX Include GET parameters of current URL in GridField on ajax reloads to retain view state
2012-03-02 20:46:22 +01:00
Ingo Schommer
46628721fe
ENHANCEMENT Using chosen.js for group selection in Member->getCMSFields()
2012-03-02 20:46:22 +01:00
Ingo Schommer
9f5e26d12b
ENHANCEMENT Generic search form uses loadPanel() rather than being tied to GridField (requires backend changes, see AssetAdmin), and uses jquery.form to do resets
2012-03-02 15:20:17 +01:00
Ingo Schommer
23bd11281d
MINOR Ensure global CMS behaviour is applied in dialogs and frames like UploadField as well (they only have the .cms class, not .cms-container)
2012-03-01 11:59:28 +01:00
Ingo Schommer
a415034d0a
MINOR Changed GridField.js edit click behaviour from event-based to an (subclassable) method class, which means it works outside of the CMS by default. Making the whole row active in case an edit link is present
2012-03-01 00:20:25 +01:00
Ingo Schommer
7d10ff790c
MINOR Fixed JS notice/alerts in CMS
2012-02-29 17:15:52 +01:00
Ingo Schommer
8fcb40cdf0
Merge remote-tracking branch 'silverstripe-scienceninjas/pull/SSF-12'
2012-02-23 23:38:29 +01:00
Ingo Schommer
30989b598d
ENHANCEMENT Added path manipulation lib from jQuery.mobile, using it to ensure all URLs are made absolute (to fix IE issues)
2012-02-23 23:29:59 +01:00
Ingo Schommer
3cad19a97e
MINOR JS formatting
2012-02-21 17:46:58 +01:00
Stig Lindqvist
82748a0873
MINOR JS functionality on intercepting injected filtering of gridfields in LeftAndMain inherited Controllers.
2012-02-21 17:09:09 +13:00
Ingo Schommer
abfa16fa70
ENHANCEMENT Using native jQuery UI buttons and icon styling for a less coupled implementation (e.g. assuming that a "constructive" button always has a specific icon, or one at all). All CMS UI buttons switched to use <button> markup, which allows for inline icons and correctly aligned multi-line button labels.
2012-02-17 15:58:32 +01:00
Ingo Schommer
743a26be05
MINOR Reverted conditional redraw of preview panel introduced in a1e9c0f4
, too unstable
2012-02-17 15:58:31 +01:00
Ingo Schommer
4e99af7047
MINOR Using HTML5 data attributes for denoting layout in templates
2012-02-17 13:35:54 +01:00
Ingo Schommer
ac56fef8b4
MINOR Removed jQuery.metadata usage in CMS, use jQuery.data() and HTML5 data attributes instead. Also fixes errors where jQuery.metadata tries to eval() HTML5 data attrs, which isn't always applicable
2012-02-17 13:35:53 +01:00
Ingo Schommer
5911abc0f6
API CHANGE Removed prototype.js style $() alias usage for document.getElementById() to avoid confusion with the more common jQuery() alias.
...
API CHANGE Removed several unsed JavaScript globals: sprintf(), Number.prototype.CURRENCIES, Number.prototype.toCurrency(), String.prototype.ucfirst(), jQuery.fn.clearFields(), jQuery.fn.clearInputs()
MINOR Removed prototype_improvements.js and jquery_improvements.js files, now contained in individual component code (or removed altogether)
2012-02-16 12:27:47 +01:00
Ingo Schommer
a1e9c0f41e
ENHANCEMENT CMS panels restructured to use two new types of "tools" templates, fetched through LeftAndMain->Tools() and LeftAndMain->EditFormTools(). Requires less overloading of template markup.
2012-02-15 14:26:45 +01:00
Ingo Schommer
a96429cba6
MINOR Removed unused "nullConverter" callback in TinyMCE CMS integration
2012-02-14 13:53:34 +01:00
Ingo Schommer
55ddbd38bc
ENHANCEMENT Replaced custom profile dialog JS with generic ssui-core.js functionality. Removed cookie state saving abilities for now, not a high priority to re-implement)
2012-02-08 15:34:40 +01:00
Ingo Schommer
8ba585be27
MINOR Fixing button whitespace gaps and "interrupted" buttonsets
2012-01-23 10:23:49 +01:00
Wolf Vollprecht
0444d4ea16
ENHANCEMENT Buttonsets for CMS ( fixes #6631 ), using new jQuery UI button() to style buttons in CMS, moved JavaScript to LeftAndMain.js as the button styles only apply with an .Actions container now
2012-01-23 09:35:07 +01:00
Ingo Schommer
a1c63a2912
MINOR Only setting style attributes in LeftAndMain panel handling if it was previously set
2012-01-09 21:21:41 +01:00
Ingo Schommer
7af52b140b
MINOR Applying button behaviour to .cms namespace in order to include dialogs as well
2012-01-03 09:36:23 +01:00
Ingo Schommer
ac963755dd
ENHANCEMENT Support for fake "redirects" in ajax responses via History.replaceState() (used e.g. for an add form loading the record for editing afterwards, under its own URL)
2011-12-20 17:46:38 +01:00
Ingo Schommer
058719571c
ENHANCEMENT Allowing to inject <style> tags via ajax responses in LeftAndMain.js (used for the CMS page tree icons)
2011-12-19 13:33:07 +01:00
Will Rossiter
01541487ca
MINOR: code formatting
2011-12-17 16:06:56 +13:00
Will Rossiter
6977484f99
ENHANCEMENT: scale cms dialog popups based on browser. BUGFIX: #6760 ensure scrolling is supported in cms dialogs
2011-12-17 13:51:10 +13:00
Ingo Schommer
bf11a32336
MINOR Fixed button layout height adjustment in CMS, reduced redraw() invocations on cms-edit-form
2011-12-15 23:42:16 +01:00
Ingo Schommer
adb5acc8bb
MINOR Hiding panel while redrawing via ajax (for repaint/reflow performance), enforcing redraw of tabs before their own onmatch() to avoid layout glitches
2011-12-15 23:41:37 +01:00
Ingo Schommer
7253746bdc
MINOR Fixed IE6 compat note styling
2011-12-15 20:38:35 +01:00
Ingo Schommer
482324b6ae
BUGFIX Fixed form change tracking in the CMS, integrated it into menu changes. Reduced TinyMCE coupling.
2011-12-15 20:38:35 +01:00
Ingo Schommer
a6e2316766
ENHANCEMENT Created $('.cms-container').loadPanel() as a wrapper around History.pushState() to allow for global change tracking
2011-12-15 20:38:31 +01:00
Ingo Schommer
0563018f52
MINOR Moved autocomplete logic from LeftAndMain.js to LeftAndMain.EditForm.js where it belongs
2011-12-15 11:38:29 +01:00
Ingo Schommer
d3477cc13c
BUGFIX Fixed CMS panel expansion after changing links in the CMS (needed to retain the layout settings of the old panel to keep the preview expanded)
2011-12-15 00:48:51 +01:00
Ingo Schommer
1b7c33574a
MINOR Fixed JSON parsing error when no ss-ui-dialog cookie is defined
2011-12-15 00:48:34 +01:00
Ingo Schommer
483704c894
MINOR Setting entwine warning level outside of entwine block, as it changes the meaning of the $ alias and doesn't apply the new level
2011-12-14 16:15:36 +01:00
Ingo Schommer
02d1ff80a9
BUGFIX Removed synchronous entwine mode when loading CMS UIs via ajax, which effectively brings down IE (e.g. roughly 10x as many "events" in DynaTrace for IE8)
2011-12-12 18:37:48 +01:00
Ingo Schommer
2170835aeb
BUGFIX Using faster entwine selectors (class/attr rather than CSS3 pseudo selectors)
2011-12-12 18:35:25 +01:00
Ingo Schommer
6683b380b4
MINOR Protection against infinite initialization/callback loops caused by loading a full page template via ajax (in LeftAndMain.js)
2011-10-29 20:47:11 +02:00