Commit Graph

775 Commits

Author SHA1 Message Date
Mateusz Uzdowski
8bf3853887 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	docs/en/misc/contributing/issues.md
	docs/en/reference/uploadfield.md
	forms/HtmlEditorField.php
	i18n/i18n.php
	javascript/HtmlEditorField.js
	model/DB.php
	model/Image.php
	model/SQLQuery.php
2014-08-14 09:08:26 +12:00
Simon Welsh
9b8d07ca5b Merge pull request #3180 from colymba/i18n-js-injection-fix
API New i18n JS sprintf and inject replacement functions
2014-08-07 21:24:52 +10:00
Damian Mooyman
e3d4e79bba Update translations 2014-08-05 15:02:18 +12:00
Mateusz Uzdowski
92810898ba BUG Return the promise instead of the whole deferred object. 2014-08-01 16:25:28 +12:00
Mateusz Uzdowski
31c9fb52d1 BUG Fix the anchor selector to work for internal pages.
Currently it will only default to pulling in anchors from the current
page, from the editor.
2014-08-01 10:36:34 +12: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
Sean Harvey
baa2b696eb BUG Fixing incorrect error message on failed UploadField upload
If applying custom Upload_Validator rules, uploads will fail POST with
a 403 to UploadField/upload as the upload was rejected, but UploadField
still shows that the upload was successful.

jqXHRorError returns either an error string, e.g. "Forbidden" or an
object. If it's a string, ensure that the upload summary shows an
error message. If it's an object and has a status of 200, show the
success message.
2014-07-29 13:38:03 +12:00
Damian Mooyman
0e78e3f3dc API Let update interval of tinymce be changed or disabled 2014-07-28 13:54:02 +12:00
Damian Mooyman
62ed2d0f22 BUG Fix periodic tinymce layout refresh 2014-07-28 13:33:41 +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
a3fb47a929 Fix: Remove superfluous iframe resize for UploadField (fixes #2863) 2014-06-25 16:12:32 +01:00
Loz Calver
58f8c2944a Fix: Incorrect calculation of UploadField height (fixes #2862) 2014-06-25 16:12:32 +01:00
Ingo Schommer
bb03f6ba2f Merge remote-tracking branch 'origin/3.1'
Conflicts:
	forms/HtmlEditorField.php
2014-06-15 22:50:20 +12:00
Stig Lindqvist
34304cf6e4 Merge pull request #3139 from tractorcow/pulls/3.1/fix-gridfield-sorting
BUG Fix grid field showing search without search component added
2014-06-14 17:10:17 +12:00
colymba
8fb5e9c3a4 API New JS sprintf and inject replacement functions
Fix sprintf issues when replacement was at start of string + introduce
new inject function using injection map similar to the PHP version of
_t()
2014-06-05 22:47:49 +03:00
Ingo Schommer
0101423969 Merge pull request #3048 from JayDevlin/2920-uploadfield-master
API UploadField: move replaceFile to the front end config
2014-05-26 22:20:35 +12:00
Igor
f9e7d47bc9 BUG fix listview not working with IE9
To reproduce:

1. Using IE9, go to demo.silverstripe.com
2. login
3. go to Pages
4. switch to listview
5. expand pages to get to one with pagination (e.g. Pages > Features > Listview)
6. go to next page

Expected: you go to the next page
Actual: it jumps you back to the home page

Fix: this fix passes parameters stored in the hash part of the url, which IE9 and below rely on for PJAX.
2014-05-22 14:17:33 +12:00
Igor
32136305be BUG fix listview not working with IE9
To reproduce:

1. Using IE9, go to demo.silverstripe.com
2. login
3. go to Pages
4. switch to listview
5. expand pages to get to one with pagination (e.g. Pages > Features > Listview)
6. go to next page

Expected: you go to the next page
Actual: it jumps you back to the home page

Fix: this fix passes parameters stored in the hash part of the url, which IE9 and below rely on for PJAX.
2014-05-22 12:39:32 +12:00
Devlin
5f7ebd3c23 API UploadField: move replaceFile to the front end config 2014-05-21 12:03:26 +02:00
Damian Mooyman
ee6e4968fd BUG Fix grid field showing search without search component added
ref: CWPBUG-133
2014-05-15 14:26:05 +12:00
Damian Mooyman
ec578e5c8a Merge remote-tracking branch 'origin/3.1' 2014-05-12 11:32:22 +12:00
Damian Mooyman
5a69cf67ff Update translation masters 2014-05-06 17:38:58 +12:00
Damian Mooyman
d16db2d4f4 API tinymce editor no longer transforms paragraphs with margin-left into blockquotes
This is legacy behaviour which does not often reflect the expected behaviour of the current editor. indent and outdent can (in some situations) prefer to use margin instead of padding. sapphiremce_cleanup faultily assumes that such indented text should be block quoted, and replaces this with a block quote element. This is not necessary, since the blockquote element can be placed explicitly by the user when necessary.

To replicate the incorrect indentation behaviour, configure tinymce to use the 'lists' plugin (via admin/_config.php) and attempt to indent some text. Indented text will be unexpectedly replaced with blockquotes.
2014-04-23 12:01:50 +12:00
Damian Mooyman
4c69d42bd2 Merge remote-tracking branch 'origin/3.1' 2014-04-02 17:23:39 +13:00
Damian Mooyman
da1231a6e5 Updated translation masters 2014-03-31 14:13:15 +13:00
Simon Welsh
fe8dc50ffc Merge branch '3.1'
Conflicts:
	tests/view/SSViewerTest.php
2014-03-30 18:17:24 +13:00
Loz Calver
86a69f9118 NEW: Show loading indicator when attaching files to UploadField 2014-03-25 14:53:30 +00:00
Simon Welsh
8f31352039 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	.travis.yml
2014-03-16 09:36:48 +13:00
Simon Welsh
42c90aebb9 Merge pull request #2344 from colymba/uploadfield-upload-validation
FIX UploadField server validation error display
2014-03-15 20:24:58 +13:00
Simon Welsh
d431e98ecf Merge branch '3.1'
Conflicts:
	forms/Form.php
	forms/FormField.php
	security/Member.php
	security/MemberLoginForm.php
2014-03-10 22:58:49 +13:00
Ingo Schommer
429fdfaa72 Merge pull request #2873 from kinglozzer/2872-ie8-jquery-ondemand
FIX: IE8 support in jquery.ondemand.js (fixes #2872)
2014-02-20 07:19:35 +13:00
Loz Calver
a681bd7bd2 FIX: IE8 support in jquery.ondemand.js (fixes #2872) 2014-02-19 16:57:27 +00:00
Ingo Schommer
d8361f9d3f Merge remote-tracking branch 'origin/3.1' 2014-02-18 22:06:59 +13:00
Ingo Schommer
a101d4edb3 Updated translations 2014-02-18 11:49:55 +13:00
Ingo Schommer
0d7e9a9692 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	_config/routes.yml
	docs/en/topics/datamodel.md
	forms/DropdownField.php
2014-02-04 08:19:04 +13:00
madmatt
e69e65c1e3 BUGFIX: Fix JS for PermissionCheckboxsetField in SecurityAdmin 2014-01-15 15:51:35 +13:00
Simon Welsh
39d42e4ea3 Merge branch '3.1' 2014-01-09 08:22:47 +13:00
colymba
02bceca9b4 FIX UploadField validation error and styles
UploadField now return the validator's error message instead of 403. Plus nicer layout for error messages.
2014-01-04 22:30:35 +02:00
Ingo Schommer
f29d51f433 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	docs/en/reference/dataobject.md
	lang/es.yml
2013-12-19 20:23:09 +01:00
Ingo Schommer
03b2e9dc74 "alt" and "title" attrs for images from URLs (fixes #2723) 2013-12-19 19:43:46 +01:00
Ingo Schommer
ddcdb2c0f0 Updated translations 2013-12-19 18:04:37 +01:00
Loz Calver
06d7bb77c0 FIX: Defer loading of UploadField EditForm iframes (fixes #2711)
Also addresses issue #1439.

I don’t like the binding iframe.on('load') events in the onclick handler, but apparently Entwine doesn't support binding on iframes.

AssetAdmin and HtmlEditorField support added
2013-12-19 09:11:31 +00:00
Ingo Schommer
ae0a42fc58 Merge pull request #2615 from a2nt/jquery.ondemand-fix
BUG onDemand plugin fixture
2013-12-13 03:35:44 -08:00
Ingo Schommer
6176d65bd2 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	forms/gridfield/GridFieldSortableHeader.php
	model/DataList.php
	model/fieldtypes/Enum.php
2013-12-02 20:49:34 +01:00
Andreas Harrenberg
64539a051b Update i18n.js
When looking for a translation, the fallback solution (CurrentLocale -> defaultLocale -> fallbackString) does not work for cms/javascript/CMSMain.Tree.js as localization for this part was changed to short locale names (e.g. de_DE -> de). (Don't know why...)

The original fallback solution will not find a translation for e.g. "Tree.ShowAsList" in the de-language file. For this entry there is also no fallbackString defined, so the menu in the CMS (right click on a page) is broken for each language that does not have the translation included.

I added another fallback level where the short version of the default language (en_US -> us) is searched before falling back to the fallbackstring and then finally giving up...
2013-12-01 17:48:59 +01: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
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
Ingo Schommer
b56ca812dc Merge remote-tracking branch 'origin/3.1'
Conflicts:
	tests/security/MemberTest.php
2013-10-23 14:53:29 +02: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
9b23e8c6c3 "Link type" selection in "insert link" panel 2013-10-20 22:54:02 +02:00
Ingo Schommer
97569d75d1 "Description" field visibility in "insert link" 2013-10-20 22:46:06 +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
8727d1b1eb Merge remote-tracking branch 'origin/3.1' 2013-10-10 12:11:50 +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
Ingo Schommer
60fc7e5346 Merge remote-tracking branch 'origin/3.1' 2013-10-06 19:07:39 +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
Ingo Schommer
d3aa38f4b4 $.data() for GridField autocomplete (fixes #2440) 2013-09-27 19:51:32 +02: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
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
a4c6ae3e90 Merge remote-tracking branch 'origin/3.1' 2013-08-22 13:56:33 +02: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
Ingo Schommer
542728cd94 Merge remote-tracking branch 'origin/3.1' 2013-08-03 19:47:32 +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
Andrew Short
bfdf14fafa Merge branch '3.1' 2013-07-09 13:42:32 +10: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
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
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
Ingo Schommer
94b4237372 Merge remote-tracking branch 'origin/3.1' 2013-06-19 11:17:33 +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