Commit Graph

716 Commits

Author SHA1 Message Date
Ingo Schommer
61f99fa1ef UploadField changeDetection optional (fixes #2638) 2013-11-06 23:34:29 +01:00
Ingo Schommer
90017821a1 Merge pull request #2628 from chillu/pulls/remove-tinymce-chancedetection
Remove TinyMCE change detection on insert (breaks IE8)
2013-11-01 04:24:16 -07: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
c547e426dd Merge pull request #2599 from tractorcow/pulls/3.1-uploadfield-formchanged
BUG / API - Change tracking for UploadField
2013-10-31 15:28:34 -07:00
Ingo Schommer
fe6cc6e36e Conditionally send "ID" val in UploadField
The "ID" form field is not always defined,
for example in the "Replace" tab of the "versionedfiles" module
(which uses GridFieldDetailForm). Since the path to that
detail form relies on the "ID" in AssetAdmin->currentPageID(),
and does an is_numeric() check to support the "root" folder,
we need to leave the "ID" param out completely.

Checked this without versionedfiles module in admin/assets
as well as a custom UploadField in CMSMain.
2013-10-31 21:38:39 +01:00
Ingo Schommer
3b8fb42654 Remove TinyMCE change detection on insert (breaks IE8)
The detection is triggered on first load, and in IE8 the
inserted value doesn't equal the value already in the textarea field.
That's possibly due to whitespace or encoding differences,
but they have the same character length.

Tried fixing this by whitespace removal, didn't work:
if((original || '').replace(/[\s\t\n\r]/g, '') != (value || '').replace(/[\s\t\n\r]/g, '')) {

In the end, we're already detecting changes through a 5s interval
triggering the save() method on the editor if the field is focused.
The impact of this removal is that after inserting an image,
it'll take a few seconds for the change detection to kick in
(and thus highlight the "save" button and ask for confirmation
when navigating away without saving).

See d12ae82f70 for context.
2013-10-31 14:40:28 +01:00
Tony Air
8343e77803 BUG onDemand plugin fixture
Added trim() to decodePath function. Headers X-Include-* comes with a
space so some files are loaded twice. Looks like that depends on a
webserver. nginx has the space.
2013-10-27 08:24:14 +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
739d591e45 Merge pull request #2558 from chillu/pulls/uploadfield-874
HTML attr encoding for UploadField config
2013-10-23 13:00:39 -07:00
Loz Calver
e46bcf792c FIX: Allow TreeDropdownField to open upwards (fixes #2188) 2013-10-23 13:32:01 +01:00
Ingo Schommer
3422761a41 Adjust UploadField edit form size
Thanks @kinglozzer for getting this started.
Fixes https://github.com/silverstripe/silverstripe-cms/issues/878
Replaces https://github.com/silverstripe/silverstripe-framework/pull/2221
2013-10-23 11:16:56 +02:00
Ingo Schommer
e1b7df38ef HTML attr encoding for UploadField config
Also fixed UploadField operation with canUpload=false,
which broke the JS because no config could be found,
since the <input> field wasn't present. We can't put the data-config
attribute on the field holder, since fields can be rendered
without their field holder through FormField->SmalLFieldHolder().

Fixes https://github.com/silverstripe/silverstripe-cms/issues/874
2013-10-17 10:55:11 +02:00
Ingo Schommer
55c6f35e15 Merge pull request #2502 from colymba/fix-gridfield-delete-alert
FIX gridfield delete alert selector specificity
2013-10-09 01:54:39 -07:00
Ingo Schommer
f0ccdeb9fc Updated Te Reo translation 2013-10-08 21:28:35 +02:00
Ingo Schommer
93558a6d62 Globalization in TreeDropdownField JS 2013-10-08 12:12:25 +02:00
Ingo Schommer
9288bdc5ea Updated Te Reo translations 2013-10-08 11:37:11 +02:00
colymba
75f2b17f30 FIX gridfield delete alert selector specificity 2013-10-07 14:24:16 +03: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
Ingo Schommer
d3aa38f4b4 $.data() for GridField autocomplete (fixes #2440) 2013-09-27 19:51:32 +02: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
Russell Michell
0f1ae7a00b BUGFIX:
- Fixes issue with CMS permissions checkbox, which won't un-toggle checked-checkboxes, after being clicked a 2nd time
2013-09-02 12:46:31 +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
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
e282f0b661 FIX Two memory leaks with HtmlEditorField
We werent calling tinyMCE.Editor.destroy, which is needed to
clean up event bindings. The advanced theme also wasnt cleaning
up after itself on destroy properly
2013-08-20 15:49:04 +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
Jon
4ae15aa360 Minor bug fix to show link description field
When adding a link, the description field was present, but hidden. Adjusted javascript to show the description field
2013-07-29 09:37:41 +12:00
Loz Calver
041f5f51a5 FIX: UploadField action buttons aren't disabled when editing an item
Toggle disabled classes/attributes based on form visibility instead of .toggle()

Use jQuery.attr() simply because it looks nicer
2013-07-05 09:39:09 +01:00
jonom
ffc764dc3c NEW: Allow configuration of initial insertion width for images and media
Moved default insertion dimensions logic from JS to PHP to allow setting through config API
2013-06-24 14:25:16 -06:00
Ingo Schommer
18299322bc "Insert Media" dialog: Fixed event names
Fixes https://github.com/silverstripe/silverstripe-cms/issues/781
Regression from 9f600ada which uses jQuery UI widget "subclass"
that also affects event names.
2013-06-24 18:58:46 +02:00
Damian Mooyman
f47383f52e BUG Fixed issue where file upload via the HTML Editor media dialogue would not prompt users to overwrite existing files 2013-06-20 15:21:18 +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
Sam Minnée
34287895ef Merge pull request #2099 from chillu/pulls/insert-media-tweaks
Various "Insert Media" dialog tweaks
2013-06-18 21:32:00 -07: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
8865bae8e3 Hide titlebar in "Insert Media" when updating images
It doesn't make sense to show it there, since the "delete"
action has no effect, the "edit" button only collapses (useless),
and the thumbnail duplicates.
2013-06-15 10:13:44 +02:00
Ingo Schommer
ec684a2e5c Show edit form in "Update Media" by default
Was showing collapsed UploadField row before which doesn't make a whole lot of sense.
2013-06-15 10:13:44 +02:00
Ingo Schommer
23c0084193 Add new files in "Insert Media" at start of the list
Makes the change more obvious without requiring to scroll
to action origin (upload button) out of view
2013-06-15 10:13:44 +02:00
Ingo Schommer
a9bf7dfcce Fixed HtmlEditorField.js editor instanciation
Wasn't parsing data-editor attrs correctly.
Using proper instances of the underlying editor now,
instead of relying on "active editor" states which get
wonky once they lose focus (e.g. when opening a dialog).
2013-06-14 11:46:07 +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
385f364018 TinyMCE "Insert Media" screen, update button triggers navigation (fixes #742) 2013-06-13 09:29:55 +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
Ingo Schommer
d2eef63b7d BUG Trigger TinyMCE onChange more frequently
Periodically check for inline changes when focused,
since TinyMCE's onChange only fires on certain actions
like inserting a new paragraph, as opposed to any user input.
This also works around an issue where the "save" button
wouldn't trigger if the click is the cause of a "blur" event
after an (undetected) inline change. This "blur" causes onChange
to trigger, which will change the button markup to show "alternative" styles,
effectively cancelling the original click event.
2013-06-03 13:32:43 +02:00
Damian Mooyman
7f057ce343 API UploadField functions on new records
Fixed regression from 1e5d40474d (UploadField::canPreviewFolder).
Merged in pull request #2009 - (6018bdd631).
Merged pull request #1259 (34bfc862ee).
2013-05-27 15:22:59 +12:00
Ingo Schommer
6f2ba3fcac Merge pull request #2009 from sminnee/uploadfield-choose-new-file
NEW 'Choose another file' button on upload field AAS-917
2013-05-25 01:55:26 -07:00
Julian Seidenberg
22c7bbfcd4 NEW UploadField displays a warning before overwriting files (only relevant if config.yml: Upload:replaceFile = true). 2013-05-25 19:07:06 +12:00
jean
6018bdd631 NEW 'Choose another file' button on upload field AAS-917 2013-05-25 18:38:02 +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
214515f232 Merge pull request #1936 from mikg0/patch-1
Fix file link recognition in HtmlEditorField.js
2013-05-22 07:43:11 -07:00
Sean Harvey
9f532fe976 BUG GridField action onclick assuming URL without "?" character
Sometimes GridState URL will have a query string already appended,
e.g. "?local=en_GB", but the GridField javascript assumes there won't
be.

The result would be an action URL like:
"/my/url?locale=en_US?RelatedPage=123" which is obviously invalid.

The fix is to check that "?" exists in the GridState URL and use
"&" instead to connect the URLs if that's the case.
2013-05-15 15:49:23 +12:00
mikg0
fb5fc62604 Fix file link recognition in HtmlEditorField.js
The new file_link format ([file_link,id=\d+]) uses a comma which was not reflected in the regex.
2013-05-13 15:04:52 +03:00
Mateusz Uzdowski
fdb4a1d871 BUG Enable dropdown so alignment on images can be updated. 2013-05-13 10:08:03 +12:00
Will Rossiter
94d6b1ccff FIX: Disable autocomplete on ConfirmedPasswordField instances. 2013-05-10 20:32:59 +12:00
Ingo Schommer
a1216b5e32 Merge pull request #1250 from wilr/gridfield-action-fixes
FIX: Do not blindly pass input values to GridField_FormAction URL's
2013-05-08 04:20:40 -07:00
Ingo Schommer
9a17e3494f DateField.js event selector regression (fixes #1528)
See 19a8545076
2013-04-16 09:54:30 +02:00
Ingo Schommer
16c7235942 DateField.js event selector regression (fixes #1528)
See 19a8545076
2013-04-11 10:19:00 +02:00
Ingo Schommer
9856fcef21 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	javascript/DateField.js
	model/DataQuery.php
	model/Versioned.php
	tests/forms/RequirementsTest.php
	tests/model/DataObjectLazyLoadingTest.php
	view/Requirements.php
2013-04-09 14:45:35 +02:00
Sam Minnée
39a4aabcdc Merge pull request #778 from patbolo/bugfix/7853
FIX 7853
2013-04-08 16:08:23 -07: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
c08ab18c03 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	.travis.yml
	admin/javascript/LeftAndMain.AddForm.js
	docs/en/reference/requirements.md
2013-04-02 02:00:50 +02:00
Naomi Guyer
19a8545076 BUG: update deprecated 'live' jquery to 'on'
'live' has been deprecated since jquery v 1.7.0, and has been removed
in the latest 2 versions of jquery
2013-03-27 15:09:49 +13: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
Ingo Schommer
8bedf485d6 Don't fail TinyMCE cleanup if no current instance is set
Bug has been observed in IE8
2013-03-20 14:46:28 +01:00
Ingo Schommer
e0e481fc46 Removed stray code from HTMLEditorField.js 2013-03-15 12:01:45 +01:00
Wernervanrun
fade5cce51 Update javascript/HtmlEditorField.js
we only want this .ss-uploadfield-files - else we get all ss-uploadfield-files wich include the ones not related to #tinymce insertmedia
2013-03-07 20:33:02 +01:00
Will Rossiter
1853fc864a FIX: Do not blindly pass input values to GridField_FormAction URL's
The length of input fields can very quickly exceed the max URI length resulting in 414 errors when printing or exporting results.

To access the input values for a specific GridField action, encapsulate this in your own Entwine instance.
2013-03-05 10:30:39 +13: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
823b2acda3 Update javascript/lang/nl_NL.js 2013-02-18 12:09:38 +01:00
Sean Harvey
d320247627 Trigger delete confirmation popup when deleting a GridFieldDetailForm record 2013-02-05 13:14:03 +13:00
Ingo Schommer
fe740515b4 Loading "OR" in admin/assets for Chrome (fixes #8245) 2013-02-04 22:00:12 +01:00
Sean Harvey
6a1fe05191 Merge pull request #1151 from silverstripe-rebelalliance/bug/image_reedit_attr
FIX Assiging width to caption instead of container
2013-01-31 13:23:36 -08:00
Hamish Friedlander
aa3eb98de2 FIX Assiging width to caption instead of container 2013-02-01 10:17:56 +13:00
Ingo Schommer
dc75d9a5b4 Merge pull request #1149 from silverstripe-rebelalliance/bug/image_reedit_attr
FIX A couple of bugs integrating the SilverStripe media panel with TinyMCE
2013-01-31 15:24:51 +01:00
Hamish Friedlander
6f937745b0 FIX Not being able to remove, add or edit the caption on an image properly 2013-01-31 16:35:48 +13:00
Ingo Schommer
0b44d8fbfb Merge pull request #1145 from silverstripe-rebelalliance/bug/image_reedit_attr
FIX Not calling updateFromNode on re-opening an image
2013-01-30 14:52:50 +01:00
Hamish Friedlander
9f822d1e3c FIX Not calling updateFromNode on re-opening an image
Inside mediaform updateFromEditor we called $(this).updateFromNode, but this wasnt
pointing to anything useful after a refactor, which resulted in the fields not
being filled in with current data when editing an already-inserted image
2013-01-30 17:15:01 +13:00
Mateusz Uzdowski
6c78bf9be9 BUG Flush editors on form submission (os#8222)
Otherwise some non-textual changes such as moving images and resizing
them could be missed when saving.

This is because TinyMCE does not treat the image move/resize as an
undolevel and does not register this via regular "onChange" event.
2013-01-30 11:54:29 +13: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
Kirk Mayo
d12ae82f70 Bug fix for open/8181 which stops the HTML source editor window saving/publishing 2013-01-21 08:26:19 +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
f30277c3cf Split out getLinkAttributes() in .htmleditor JavaScript for more flexibility
Saves us from overwriting the whole insertLink() method just
to add another option.
2013-01-14 16:54:58 +01:00
Nathan Cox
fd80c4fb3e Issue #7818: Making sure UploadField can find the form/SecurityID on direct page load/refresh 2013-01-11 16:42:20 +01:00
Kirk Mayo
561e629c16 NEW Show the allowed extensions as a toggle tip as per trac 7993
NEW Added a behat test for showing extension trac 7993
2012-12-19 17:00:39 +01:00
Adam Judd
3a555d2bcb Set 'active' correctly for accordion widget
The accordion widget was previously being passed true and false, where as it either expects true or the integer of the panel to show.

This fix sets it as either false or 0.
2012-12-18 23:22:37 -08:00
Ingo Schommer
d13c53fda6 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	tests/model/DataQueryTest.php
2012-12-14 10:57:28 +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
Naomi Guyer
618e639526 Refactor and comment TabSet.js 2012-12-13 17:43:25 +01:00
Naomi Guyer
235e8c8138 CSS fixes for the ActionTabSet.
Thanks for contributing @clarkepaul!
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
Loz Calver
639cc0222c BUG Fix insert media form inserting images from other UploadFields (fixes #8051)
The insert media form would pick up unwanted images from other
UploadFields. Limiting where it is looking to only the closest form
fixes this.
2012-12-12 15:55:33 +00: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
548ad503ed API Removed keyed arrays for title/value setting in SelectionGroup
Use SelectionGroup_Item class instead. Necessary because
of removal of array key support from ArrayList (see d12b49702).
2012-12-11 11:06:06 +01:00
Ingo Schommer
fa84c2d705 Merge remote-tracking branch 'origin/3.0' 2012-12-10 17:50:43 +01:00
Ingo Schommer
b15b5cd115 Ability to replace entire content in HTMLEditorField JS API 2012-12-10 15:39:15 +01:00