Commit Graph

37 Commits

Author SHA1 Message Date
Damyon Wiese f271df32ec MDL-44871 Atto: Add missing tags to behat tests @editor and @editor_atto 2014-06-12 11:15:17 +08:00
Damyon Wiese b18fd23232 MDL-44871 Atto: Move custom select text step to atto specific step definition. 2014-06-12 11:11:17 +08:00
Damyon Wiese bbd644ea34 MDL-44871 Atto behat tests: Modified the tests to work around focus bugs with workspaces
The main changes here are that the "select the text in" step was modified to select only the
first text node in the editor field, and to focus on it's parent instead of the entire editable div.

Some tests had to be modified to match the new behaviour, and another "real" bug was found in the table plugin.
2014-06-12 11:11:17 +08:00
Damyon Wiese c4bfba91c2 MDL-44871 Behat: Add tests for Atto functionalities (some of them) 2014-06-12 11:11:17 +08:00
Eloy Lafuente (stronk7) 538bf99ece MDL-45486 Bump all versions to planned release
This bumps all versions to planned 2.7 release
(2014051200) version and all the dependencies to
current 2.7rc2 (2014050800)
2014-05-09 02:12:28 +02:00
Damyon Wiese c1660772b1 MDL-44972 Atto dialogues: Change M.core.dialogue attribute name to "focusOnShowSelector"
And some minor cleanups.
2014-05-05 16:27:36 +08:00
Damyon Wiese e5ddec38cd MDL-44972 Atto: Focus on the first input field in forms in dialogues. 2014-05-05 15:21:11 +08:00
Jetha Chan f0ddce4df1 MDL-44758 editor-atto: prevent table-in-table creation
Prevent new table creation, displaying table context menu instead when cursor is within caption, when multiple cells are selected, when selection contains both nodes within and outside of the table, and when selection contains nodes from multiple tables.
2014-04-15 11:39:57 +08:00
Damyon Wiese 7b28067413 Revert "MDL-44758 editor-atto: prevent table-in-table creation"
This reverts commit 3a6511a530.

Conflicts:
	lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button-debug.js
	lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button-min.js
	lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button.js
	lib/editor/atto/plugins/table/yui/src/button/js/button.js
2014-04-11 09:47:57 +08:00
Damyon Wiese 92810c07f7 MDL-44927 Atto: Fix bad merge of MDL-44760 (missing menu entry) 2014-04-10 13:26:03 +08:00
Andrew Nicols c63f90539a MDL-44760 editor_atto: Address issues with focus when closing menus
Safari fires it's events in a slightly different order for the focusoutside
event which causes the focusAfterHide to be called *after* we change focus.

As a result, we must keep track of the menus which are currently open and
remove their focusAfterHide.
2014-04-09 15:26:34 +08:00
Damyon Wiese 48dc9f0175 MDL-44927 Atto: Table editor typo that prevents creation of new tables. 2014-04-09 11:31:26 +08:00
Damyon Wiese 594a5c8c02 Merge branch 'MDL-44235-master' of git://github.com/FMCorz/moodle 2014-04-08 12:32:49 +08:00
Sam Hemelryk 87f2c808f7 Merge branch 'MDL-44760-master' of git://github.com/andrewnicols/moodle
Conflicts:
	lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button-debug.js
	lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button-min.js
	lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button.js
	lib/editor/atto/plugins/table/yui/src/button/js/button.js
	lib/editor/atto/yui/build/moodle-editor_atto-plugin/moodle-editor_atto-plugin-min.js
2014-04-08 08:59:54 +12:00
Andrew Nicols ee616cff45 MDL-44760 editor_atto: Make menus consistent with Clean theme 2014-04-07 20:43:57 +08:00
Damyon Wiese 353473aa59 MDL-44927 Atto: Improve table editing UX
Hide context menu items that don't apply.
Add "Edit table" menu entry to change the caption / headers.
2014-04-07 15:57:59 +08:00
Sam Hemelryk 5ee0b3ceaf Merge branch 'MDL-44758-master' of git://github.com/jethac/moodle
Conflicts:
	lib/editor/atto/plugins/table/yui/build/moodle-atto_table-button/moodle-atto_table-button-min.js
2014-04-07 15:02:40 +12:00
Jetha Chan 3a6511a530 MDL-44758 editor-atto: prevent table-in-table creation
Prevent new table creation, displaying table context menu instead when cursor is within caption, when multiple cells are selected, when selection contains both nodes within and outside of the table, and when selection contains nodes from multiple tables.
2014-04-07 10:44:29 +08:00
Frederic Massart 24650c78bb MDL-44235 atto_table: A long table caption does not overlap the table content 2014-04-03 11:05:38 +08:00
Jetha Chan b1421abdb6 MDL-44770 editor_atto: moved table context menu 2014-04-01 15:46:37 +08:00
Frederic Massart dfd5127531 MDL-44234 atto_table: Reduce the size of the caption field 2014-04-01 14:37:33 +08:00
Frederic Massart 33bb15eb80 MDL-44808 atto_table: Removing unused language string for JS 2014-03-31 17:21:15 +08:00
Jetha Chan f8c3af1321 MDL-44770 editor-atto: table context menu opens from button
Context menu now opens from button, rather than table cell. Modified wording of table strings.
2014-03-31 10:56:36 +08:00
Frederic Massart 23cead686e MDL-44808 atto_table: Remove accessibility information from dialogue 2014-03-28 17:27:57 +08:00
Andrew Nicols 6246779510 MDL-44164 atto: Refactor the world 2014-03-26 10:01:48 +08:00
Sam Hemelryk 67d3fe45bb MDL-44219 editor_atto: reinvent the event wheel for the atto editor 2014-03-26 10:01:48 +08:00
Sam Hemelryk 2faf4c4584 MDL-44221 editor_atto: fixed bug creating table in IE <= 10
This involved introducing a insert_html_at_focus_point method for
the editor and using that instead of insertHTML
2014-03-26 10:01:44 +08:00
Damyon Wiese 3ee53a425f MDL-44092 Atto: Add selectionchanged event and listeners in the buttons.
This means the buttons can indicate the state of the text under the cursor.
2014-03-26 10:01:43 +08:00
Damyon Wiese 05843fd3ee MDL-44067 Atto: Improve table editing controls.
Remove flaky inline menu icons - instead clicking on the table button, when
you are in a table shows the context menu for the current cell.

I removed all the special code for 'atto_control' - because it did not work very well. Having non-contenteditable
nodes inside a contenteditable region seems in expose bugs in different browsers.
2014-03-26 10:01:42 +08:00
Damyon Wiese 8095505e3c MDL-44126 Atto: List of minor fixes from review.
toolbar order (base it on tinymce)
change plain to paragraph
default for collapse plugin should be 5 groups
fix alignment of table dialogue form
insert newlines in html generated by table plugin
rename accessibility helper to screenreader helper
remove accessibility hint for images and media files
fix some broken plugin names
style table captions
remove verbose accessibility hints
2014-03-26 10:01:42 +08:00
Damyon Wiese b03d59821a MDL-43934 Atto: Rename shifter meta files to the correct name.
This could have caused yui to fetch extra files because the dependencies might not have been loaded.
2014-03-26 10:00:04 +08:00
Damyon Wiese 26f8822d5c MDL-43867 Atto: Accessibility improvements.
1/ Set the aria-labelledby attribute on the contenteditable div (find the label from
original textarea)

2/ Store/restore the selection for the contenteditable div when it is focused. This allows
you to select some text, then go to the toolbar and click a button, and the selection
will be restored before the button effect is applied.

3/ Add an accessibility helper plugin.

From testing in all screenreaders, I found that all of their support for contenteditable is not great.
They treat it like a textbox - which means you can type and edit text, but it tells you nothing about
the styles, links or images in the editor. So I added a button to the toolbar, that is only accessible
when navigating via keyboard, that opens an accesssibility helper dialogue. The dialogue shows the list
of current styles, a global list of all links, and a global list of all images. Choosing an image or link
from here, will focus on the editable region, and select the link/image.

4/ Add an accessibility checker plugin to Atto.

Checks for images with no alt, images and links with filenames as alternate text/link text, and contrast ratios
less than WCAG 2.0 AA.
2014-03-26 09:59:37 +08:00
Frederic Massart d19cf39edb MDL-44003 editor_atto: Identify the submit buttons in plugins 2014-03-26 09:59:36 +08:00
Damyon Wiese 48bdf86f31 MDL-43869 Atto: Add functions to get the nodes from the elementids.
If plugins try and do this themselves with Y.one, they will fall foul of the
qtype essay page bug which uses : in the id for form elements.

This is an alternative solution, to escaping the ids, which seemed unreliable for older
version of ie.
2014-03-26 09:59:35 +08:00
Damyon Wiese 55c0403c6c MDL-43853 Atto: Performance. Turbocharge the loader.
Rewrite the atto plugin loader so that:

A) We have a real settings.php page and can edit the toolbar.
B) All plugins are loaded at the same time (not serially)
C) All plugins share the YUI sandbox (more performance boost).

I had to change the loading API for this - but there are not non-core uses yet,
this is the best time to break it.
2014-03-26 09:59:34 +08:00
Damyon Wiese 3df7cfc59a MDL-43842 Atto: Move pix-icons into core pix folder. 2014-03-26 09:59:34 +08:00
Damyon Wiese adca7326d8 MDL-43842: Import atto back into core 2014-03-26 09:59:34 +08:00