Commit Graph

671 Commits

Author SHA1 Message Date
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
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
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