This introduces a new "controlled link" file type where the file is not
stored in Moodle - but Moodle will control the access permissions on the file.
Plugins can "freeze" a filearea which means Moodle will take ownership of all the remote
files of this type.
When accessing a file, if the "filebrowser" infomation indicates the current user can write to the file, they
will be granted temporary write access.
Part of MDL-58220
Prior to this patch the callback passed to showFilePicker was saved
and reused for subsequent calls. This doesn't allow the use of a function
for generating the callback.
This patch explicitly sets the callback each time.
Changed the filepicker's responsive styling to kick in
on screen width less than 768px (which is the bootstrap
standard) rather than 873px. This allows the standard
styling to apply within an iframe.
The filepicker now checks if it's within an iframe when
creating the dialogue, if so it will set the dialogue width
to fit within the iframe and disable dragging.
Fixes display issues with the filepicker dialogs that were
converted to M.core.dialogue.
Note: These dialogue use table based layouts and the table width is not
counted in the form that it sits in. I have changed the dialogues to have
a wider width but for really small screens this causes horizontal scrolling.
The only solution for that is to rewrite all the filepicker/filemanager dialogs
to use css for layout.
Items addressed
* Get rid of custom attribute srcNode
* Change extraClasses to a config only parameter.
* Change attribute fullscreen to a method.
* Restore the original window overflow value.
* Use setStyles instead of setStyle for performance.
* Tinymce end the zindex wars
* Prevent fullscreen dialogs in an iframe (tinymce managefiles plugin).
* tinymce: Cross browser fix for zindex on popups
* Use CSS for overflow changes (easier to keep track of the previous state).
* Fix Coding style for css changes
This change adds support to M.core.dialogue for showing fullscreen
dialogs on small screen sizes. There are 2 new configuration values that
can be set to control this when creating a dialog (responsive and responsiveWidth).
Setting responsive to false will disable this functionality completely (old behaviour).
Setting responsiveWidth controls the screen width that the dialog will switch to
fullscreen mode. Try not to think of the device that will be accessing the dialog,
but the width at which the content of the dialog needs to be displayed differently.
The activity chooser and the filepicker are the two dialogs that have been converted
in this patch. The filepicker first had to be converted to use M.core.dialog and not
Y.Panel.
The expected ranges are now:
* 0-1000 for normal code
* 5000-5999 for TinyMCE
* 7000-8999 for filepicker and filemanager
This patch fixes also incorrect location of "MDL-25736 - French spellchecker fixes." modification reminder.
Pass the data (filelist) into the DataTable when initialising it, rather than rendering an empty DataTable and then pushing all of the data into it via addRows().
It's also slightly more efficient to just pass the node in, rather than fetching the node and passing its ID in, as DataTable.render() will just re-select the node if given the ID. [Spotted by Andrew Nicols]