Commit Graph

66 Commits

Author SHA1 Message Date
Matthias Schelling
eacfe280c1
TreeDropdownField: replace onadd by onmatch
Makes TreeDropdownField work in situations where it's moved around in the DOM (e.g. when inside a drag'n'drop container)
2017-09-15 12:02:18 +01:00
Damian Mooyman
8c1cafd1a0 Merge remote-tracking branch 'origin/3.3' into 3
# Conflicts:
#	admin/scss/_forms.scss
#	admin/scss/_style.scss
#	admin/scss/_tree.scss
#	javascript/TreeDropdownField.js
2016-01-19 17:08:26 +13:00
Sam Minnee
3ee8f505b7 MINORE: Remove training whitespace.
The main benefit of this is so that authors who make use of
.editorconfig don't end up with whitespace changes in their PRs.

Spaces vs. tabs has been left alone, although that could do with a
tidy-up in SS4 after the switch to PSR-1/2.

The command used was this:

for match in '*.ss' '*.css' '*.scss' '*.html' '*.yml' '*.php' '*.js' '*.csv' '*.inc' '*.php5'; do
	find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" -exec sed -E -i '' 's/[[:space:]]+$//' {} \+
	find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" | xargs perl -pi -e 's/ +$//'
done
2016-01-07 10:15:54 +13:00
Daniel Hensby
e443a10a5e Fixing deselect failing to change field title 2015-12-15 11:31:55 +00:00
Daniel Hensby
6be0488731 FIX TreeDropdownField doesnt change label on unselect 2015-06-11 16:14:08 +01:00
Damian Mooyman
1db08bac88 BUG Fix FormAction title encoding
BUG Fix TreeMultiSelectField using the wrong label
BUG Fix encoding of selected title on TreeDropdownField
BUG Fix DataDifferencer trying to compare non-comparable fields (non-dbfield objects)
BUG: Fix issue with TreeMultiSelectField not saving
BUG: Fix issue with GridFieldPrintButton
ENHANCEMENT Instead of using multiple api calls to encode dbfield values, delegate this operation to the individual fields via forTemplate
Instead of using a new API to communicate html encoding to treeselect, just ensure all content is HTML encoded, and enable html_titles in jstree.
2015-02-13 15:50:45 +13:00
Daniel Hensby
89c14d079d Making TreeMultiSelectField consistent with parent class
NEW TreeDropdownField sanatiser helper added
Use config for default_cast of objects
FIX Determine if Diffed value should be escaped
Forcing casting for core DB fields
Fixing permissions labels
2015-02-13 11:12:30 +13:00
Daniel Hensby
6103d66116 Fix issue where TreeDropdownField loses value on show/hide
Fixes https://github.com/silverstripe/silverstripe-cms/issues/1157
2015-01-27 11:53:53 +00:00
Mateusz Uzdowski
d8302a0ab7 BUG Add a synthetic event to workaround IE8 issues.
Without this event it's not possible to hook into the value change in a
reliable way (panelhide event is called too many times to rely on it).
2014-07-31 15:38:47 +12:00
Mateusz Uzdowski
b34aaca2e8 BUG Fix several issues around onmatch/onunmatch entwines.
1. Add missing _super calls.

2. Make UI widget destroys more consistent to avoid exceptions.
Selectable would throw an exception in the GridField.js if destroy
called from onunmatch - at that stage jQuery UI would have had called
the destroy already. Add a guard, and change to onremove, which triggers
before the element is removed from DOM.

3. DOM traversal fails after the element is removed from DOM.
Onunmatch triggers after the removal of the element from the DOM, which
makes DOM traversal fail. Use onremove instead, which triggers while the
element is still in DOM.
2014-07-17 14:14:52 +12:00
Loz Calver
e46bcf792c FIX: Allow TreeDropdownField to open upwards (fixes #2188) 2013-10-23 13:32:01 +01:00
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