Commit Graph

55 Commits

Author SHA1 Message Date
Ingo Schommer
93558a6d62 Globalization in TreeDropdownField JS 2013-10-08 12:12:25 +02:00
Loz Calver
6b3b61873a FEATURE: Disable specific tree nodes in TreeDropdownField
DO NOT MERGE: to be reviewed.

This feature request was born out of wanting the ability to disable (for example) a top level page from being selected, while still being able to select a child page. Using setFilterFunction() simply removes the node and its children.

Extra styling for disabled nodes

Disable ability to select a disabled node for TreeDropdownField

Disable hover CSS changes

Fixing merge conflict during rebase

Return a boolean for nodeIsDisabled()
2013-10-02 12:53:23 +01:00
Naomi Guyer
697972699d BUG: TreeDropdownField remove call to get value on search
This call was placing the id of the currently selected record into the
search box. Related to
https://github.com/silverstripe/silverstripe-framework/commit/93ea066f53
d5d2b2a19cf0dd2e9479a3fc5796f7
2013-09-11 13:22:27 +12:00
Ingo Schommer
93ea066f53 Remove TreeDropdownField placeholder support (see #2364)
It breaks the semantics of getValue(), leading to a broken field.
Regression from 8b5f89f. In the end, placeholder support is
considered "progressive enhancement", the search box should
be pretty obvious to IE8/IE9 users either way, given the main
field label is called "choose or search".
2013-08-30 09:50:07 +02:00
Naomi Guyer
8b5f89f3b9 API: Treedropdownfield showsearch default true, provide better ui
Set search option true on treedropdown fields by default, to provide a
fallback solution when trees fail to render (too many children errors)

Provide better indication/more meaningful styling to search (match
chosen styles for consistency)
2013-08-29 16:21:04 +12: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
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
Robert Curry
36f0fd7a58 Force TreeDropdown to remember selected title. 2013-06-13 11:36:08 +12:00
Robert Curry
eaf0fe4b2f BUG Fix JS issues in treedropdownfield for link editor 2013-06-12 16:59:07 +12:00
Naomi Guyer
8aa8674e78 BUG: Treedropdowns broken inside togglecomposite fields (fixes #1945)
* Removed positioning javascript from treedropdownfield
* Set parent to be relatively positioned and overflow to visible
2013-05-23 14:41:08 +12:00
Ingo Schommer
3768c247b4 Reset TreeDropdownField search field after defocus
Was unsetting original selection even if no new one was made.
2013-04-08 19:42:17 +12:00
Ingo Schommer
5119d9aa72 FIX Only allow one concurrent ajax in TreeDropdownField
Prevents situations where a previous action might finish out of line
and override later choices, such as first expanding the (full) tree panel,
then limiting the tree through searching.
2013-04-08 19:42:17 +12:00
Ingo Schommer
da87614d8f FIX Skip autofocus on TreeDropdownField
To avoid (visually) unsetting the selected value if the drop down
is the first form field on the page (see LeftAndMain.EditForm.js)
2013-04-08 19:42:17 +12:00
Ingo Schommer
0a283eacb8 FIX Unset internal metadata on TreeDropdownField setValue()
Otherwise the hidden field value and metadata will get out of sync.
Most commonly used together with setTitle('') as well.
2013-03-25 23:39:37 +01:00
uniun
e9ba54dec7 Impossible to unselect TreeDropdownField
It was impossible to unselect TreeDropdownField.
'!' operator should not be used at all and identical comparison (===) was too "strict" (self.getValue() returns string but $(node).data('id') returns number).
2013-01-15 11:29:35 +02:00
Ingo Schommer
b22a7afc03 BUG TreeDropdownField panel positioning
See https://github.com/silverstripe/sapphire/pull/809, thanks martinduparc
2012-10-02 12:02:42 +02:00
jean
d1a3c80a9d FIX 7862 Strict equality check on previously selected item in the TreeDropdownField 2012-09-13 09:27:09 +12:00
Andrew O'Neil
ce68c4a870 FEATURE: Send javascript events on show and hide of treedropdown 2012-09-05 14:18:36 +12:00
Sam Minnée
9adf0a4155 Merge pull request #703 from patbolo/fix/7742_2
FIX 7742
2012-08-16 18:05:10 -07:00
Damian Mooyman
a80daef2c6 FIXED: Issue where urls with querystring arguments would not be properly concatenated with additional query parameters during ajax requests. The behaviour would not normally be noted except when using a module (such as Translatable) that adds parameters to data-url fields in forms. 2012-08-09 10:18:33 +12:00
jean
34812971cc FIX 7742 Decode the URI encoded attribute before displaying it as the value for the tree dropdown 2012-08-07 09:20:13 +12:00
jean
fb9e997b5e BUGFIX Use tree/xxx instead of tree?ID=xxx when fetching subtrees for TreeDropdownField. Fix #7730 2012-08-04 10:53:12 +12:00
Mateusz Uzdowski
c785f3c492 BUG Adjust the tree construction and triggers to work with IE.
After Hamish's suggestion. Entwine onchange would not get executed in
IE8 at all, which would have the effect of the displyed dropdown
selection not being set.

Change to onadd also mandates the changes to onadd on other parts of the
tree component - otherwise the change event can trigger before the
tree elements are added to the DOM.
2012-07-12 16:44:21 +12:00
Hamish Friedlander
8ae4597a85 BUGFIX: TreeDropdownField wasnt closing, because the closePanel method is in an entwine namespace 2012-06-15 01:19:30 +02:00
Ingo Schommer
6c1f7997a4 ENHANCEMENT HTML titles in TreeDropdownField
HTML in tree nodes is already used to render page icons via SiteTree->TreeTitle.
In order to select the initial value correctly via HTML5 data attributes,
we need to encode any HTML values.
2012-06-13 16:04:14 +02:00
Mateusz Uzdowski
8d469b66c8 BUGFIX: add missing onunmatches 2012-05-23 16:24:15 +12:00
Ingo Schommer
dd924f1246 BUGFIX Removed duplicate 'change' event trigger from TreeDropdownField.js (fixes #7329) 2012-05-20 23:15:28 +02: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
8e7d221ce2 BUGFIX Trigger change event on hidden input in TreeDrodpownField.js 2012-05-11 12:40:17 +02:00
Normann Lou
cd13c0e178 BUGFIX: updating the value of a tree dropdown field, its title is not updated accordingly if using TreeTitle as the drropdown item title 2012-05-07 15:43:25 +12:00
Will Rossiter
39d3761eb9 BUGFIX: #6934 allow whole TreeDropdownField to be clicked 2012-03-24 11:57:29 +13:00
Ingo Schommer
ed08b8c00b MINOR Don't auto-expand nodes on TreeDropdownField, as it makes a gazillion ajax requests on sufficiently large trees (and gets nodes in chunks of 30) (fixes #6879) 2012-03-14 23:04:43 +01:00
Ingo Schommer
8afb8672f7 MINOR Using two_state checkboxes in TreeDropdownField.js (to allow individual node selection without enforcing children selection) 2012-03-08 01:49:35 +01:00
Ingo Schommer
8b6ef6599e MINOR Updating usage of jQuery.data() to confirm with API changes in 1.6 (camelcased names) 2012-02-23 23:29:58 +01:00
Ingo Schommer
5f635d8315 BUGFIX Don't reload TreeDropdownField title via ajax if no value is set (which causes infinite loops) 2012-02-22 17:27:02 +01:00
Ingo Schommer
e517abf2b2 MINOR Unselect a selected node in TreeDropdownField (for lack of better unselect UI) 2012-01-05 23:17:55 +01:00
Ingo Schommer
6bafc76118 ENHANCEMENT Updating TreeDropdownField title when hidden form value is changed 2012-01-05 00:41:41 +01:00
Ingo Schommer
4d12803a0e MINOR Quoting jQuery selectors in TreeDropdownField.js to allow for non-numeric identifiers 2012-01-05 00:41:40 +01:00
Ingo Schommer
66a60476ac MINOR Close open TreeDropdownField panels if user clicks outside of the field (emulate behaviour of chosen.js and most native OS dropdowns) 2012-01-03 18:11:21 +01:00
Ingo Schommer
add3dfae0d merge concat 2012-01-03 09:36:39 +01:00
Ingo Schommer
6d2b519484 MINOR Auto-expanding nodes in TreeDropdownField, unsetting default titles when search field is focused 2012-01-02 23:35:17 +01:00
Ingo Schommer
4baef3b892 BUGFIX Using objects rather than arrays for TreeDropdownField ajax search params, fixed selectors stuffed up in e385bbcb 2012-01-02 22:38:13 +01:00
Will Rossiter
e385bbcbf8 BUGFIX: take into account the scrollTop of the first parent element when positioning the dropdown box. MINOR: prefix all generic classes used in the TreeDropdownField with treedropdownfield-. 2011-08-09 17:43:40 +12:00
Will Rossiter
9a340e7eb4 ENHANCEMENT: Added Chosen jQuery library for providing styled and searchable dropdowns. BUGFIX: removed explict width on TreeDropdownFields, instead using a width from jQuery. 2011-08-05 15:46:57 +12:00
Will Rossiter
e484a230fe ENHANCEMENT: updated TreeDropdown display. Use jQuery UI provided icon rather than custom 2011-08-01 14:27:52 +12:00
Ingo Schommer
7a70b29b9d ENHANCEMENT Support for record/selection-specific metadata in TreeDropdownField (e.g. useful for limiting available page type option based on a parent node selection) 2011-05-08 23:36:13 +12:00
Ingo Schommer
a9e81c17fd MINOR Triggering change event on setValue() in TreeDropdownField.js (necessary for "insert image" form in the cms) 2011-04-05 15:35:49 +12:00
Ingo Schommer
0b40bda1cc MINOR Changed TreeDropdownField markup from <div href="..."> to <div data-url-tree="..."> in order to support other URLs (e.g. reordering) - important for the main CMS tree 2011-03-22 18:15:03 +13:00
Ingo Schommer
bde24b3415 BUGFIX Allowing deselection of nodes in single select mode for TreeDropdownField (fixes #4981) 2011-03-22 18:13:17 +13:00
Ingo Schommer
35100c3e11 ENHANCEMENT Allow submitting form data alongside TreeDropdownField ajax request, which can be used to retain state 2011-03-22 18:13:13 +13:00