diff --git a/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-debug.js b/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-debug.js index 059c96a1539..ba10edad2a6 100644 --- a/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-debug.js +++ b/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-debug.js @@ -24,7 +24,9 @@ YUI.add('moodle-atto_emojipicker-button', function (Y, NAME) { /** * @module moodle-atto_emojipicker-button */ -var COMPONENTNAME = 'atto_emojipicker'; + +var COMPONENTNAME = 'atto_emojipicker', + EMOJI_PICKER_SEARCH_INPUT = '[data-region="search-input"]'; /** * Atto text editor emoji picker plugin. @@ -123,6 +125,7 @@ Y.namespace('M.atto_emojipicker').Button = Y.Base.create('button', Y.M.editor_at domNode.innerHTML = html; initialiseEmojiPicker(domNode, this._insertEmoji.bind(this)); this.getDialogue().centerDialogue(); + domNode.querySelector(EMOJI_PICKER_SEARCH_INPUT).focus(); }.bind(this)); }.bind(this)); diff --git a/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-min.js b/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-min.js index 958709a7cf2..30de959d312 100644 --- a/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-min.js +++ b/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button-min.js @@ -1 +1 @@ -YUI.add("moodle-atto_emojipicker-button",function(e,t){e.namespace("M.atto_emojipicker").Button=e.Base.create("button",e.M.editor_atto.EditorPlugin,[],{_currentSelection:null,initializer:function(){this.get("disabled")||this.addButton({icon:"e/emoticons",callback:this._displayDialogue})},_displayDialogue:function(){this._currentSelection=this.get("host").getSelection(),!1!==this._currentSelection&&this.getDialogue({headerContent:M.util.get_string("emojipicker","atto_emojipicker"),width:"auto",focusAfterHide:!0,additionalBaseClass:"emoji-picker-dialogue"},!0).set("bodyContent",this._getDialogueContent()).show()},_insertEmoji:function(e){var t=this.get("host");this.getDialogue({focusAfterHide:null}).hide(),t.setSelection(this._currentSelection),t.insertContentAtFocusPoint(e),this.markUpdated()},_getDialogueContent:function(){var o=e.Node.create("
");return require(["core/templates","core/emoji/picker"],function(e,i){e.render("core/emoji/picker",{}).then(function(e){var t=o.getDOMNode();t.innerHTML=e,i(t,this._insertEmoji.bind(this)),this.getDialogue().centerDialogue()}.bind(this))}.bind(this)),o}},{ATTRS:{disabled:{value:!0}}})},"@VERSION@",{requires:["moodle-editor_atto-plugin"]}); \ No newline at end of file +YUI.add("moodle-atto_emojipicker-button",function(e,t){e.namespace("M.atto_emojipicker").Button=e.Base.create("button",e.M.editor_atto.EditorPlugin,[],{_currentSelection:null,initializer:function(){this.get("disabled")||this.addButton({icon:"e/emoticons",callback:this._displayDialogue})},_displayDialogue:function(){this._currentSelection=this.get("host").getSelection(),!1!==this._currentSelection&&this.getDialogue({headerContent:M.util.get_string("emojipicker","atto_emojipicker"),width:"auto",focusAfterHide:!0,additionalBaseClass:"emoji-picker-dialogue"},!0).set("bodyContent",this._getDialogueContent()).show()},_insertEmoji:function(e){var t=this.get("host");this.getDialogue({focusAfterHide:null}).hide(),t.setSelection(this._currentSelection),t.insertContentAtFocusPoint(e),this.markUpdated()},_getDialogueContent:function(){var o=e.Node.create("
");return require(["core/templates","core/emoji/picker"],function(e,i){e.render("core/emoji/picker",{}).then(function(e){var t=o.getDOMNode();t.innerHTML=e,i(t,this._insertEmoji.bind(this)),this.getDialogue().centerDialogue(),t.querySelector('[data-region="search-input"]').focus()}.bind(this))}.bind(this)),o}},{ATTRS:{disabled:{value:!0}}})},"@VERSION@",{requires:["moodle-editor_atto-plugin"]}); \ No newline at end of file diff --git a/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button.js b/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button.js index 059c96a1539..ba10edad2a6 100644 --- a/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button.js +++ b/lib/editor/atto/plugins/emojipicker/yui/build/moodle-atto_emojipicker-button/moodle-atto_emojipicker-button.js @@ -24,7 +24,9 @@ YUI.add('moodle-atto_emojipicker-button', function (Y, NAME) { /** * @module moodle-atto_emojipicker-button */ -var COMPONENTNAME = 'atto_emojipicker'; + +var COMPONENTNAME = 'atto_emojipicker', + EMOJI_PICKER_SEARCH_INPUT = '[data-region="search-input"]'; /** * Atto text editor emoji picker plugin. @@ -123,6 +125,7 @@ Y.namespace('M.atto_emojipicker').Button = Y.Base.create('button', Y.M.editor_at domNode.innerHTML = html; initialiseEmojiPicker(domNode, this._insertEmoji.bind(this)); this.getDialogue().centerDialogue(); + domNode.querySelector(EMOJI_PICKER_SEARCH_INPUT).focus(); }.bind(this)); }.bind(this)); diff --git a/lib/editor/atto/plugins/emojipicker/yui/src/button/js/button.js b/lib/editor/atto/plugins/emojipicker/yui/src/button/js/button.js index be0c29ec6d3..88d7efdb7c4 100644 --- a/lib/editor/atto/plugins/emojipicker/yui/src/button/js/button.js +++ b/lib/editor/atto/plugins/emojipicker/yui/src/button/js/button.js @@ -22,7 +22,9 @@ /** * @module moodle-atto_emojipicker-button */ -var COMPONENTNAME = 'atto_emojipicker'; + +var COMPONENTNAME = 'atto_emojipicker', + EMOJI_PICKER_SEARCH_INPUT = '[data-region="search-input"]'; /** * Atto text editor emoji picker plugin. @@ -121,6 +123,7 @@ Y.namespace('M.atto_emojipicker').Button = Y.Base.create('button', Y.M.editor_at domNode.innerHTML = html; initialiseEmojiPicker(domNode, this._insertEmoji.bind(this)); this.getDialogue().centerDialogue(); + domNode.querySelector(EMOJI_PICKER_SEARCH_INPUT).focus(); }.bind(this)); }.bind(this)); diff --git a/lib/editor/atto/plugins/equation/lib.php b/lib/editor/atto/plugins/equation/lib.php index eaba74794de..c3f0a7d0edf 100644 --- a/lib/editor/atto/plugins/equation/lib.php +++ b/lib/editor/atto/plugins/equation/lib.php @@ -68,6 +68,7 @@ function atto_equation_params_for_js($elementid, $options, $fpoptions) { 'group1' => array( 'groupname' => 'librarygroup1', 'elements' => get_config('atto_equation', 'librarygroup1'), + 'active' => true, ), 'group2' => array( 'groupname' => 'librarygroup2', diff --git a/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-debug.js b/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-debug.js index 9b920826db3..26506612b8e 100644 --- a/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-debug.js +++ b/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-debug.js @@ -75,7 +75,10 @@ var COMPONENTNAME = 'atto_equation', '' + '
' + '{{#each library}}' + - '
' + '
' + '{{#split "\n" elements}}' + @@ -222,14 +225,12 @@ Y.namespace('M.atto_equation').Button = Y.Base.create('button', Y.M.editor_atto. headerContent: M.util.get_string('pluginname', COMPONENTNAME), focusAfterHide: true, width: 600, - focusOnShowSelector: SELECTORS.EQUATION_TEXT + focusOnShowSelector: SELECTORS.LIBRARY_BUTTON }); var content = this._getDialogueContent(); dialogue.set('bodyContent', content); - content.one('.nav-item:first-child .nav-link').getDOMNode().click(); - dialogue.show(); // Notify the filters about the modified nodes. require(['core/event'], function(event) { diff --git a/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-min.js b/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-min.js index 4fb26ebdf5a..9978c135056 100644 --- a/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-min.js +++ b/lib/editor/atto/plugins/equation/yui/build/moodle-atto_equation-button/moodle-atto_equation-button-min.js @@ -1,2 +1,2 @@ -YUI.add("moodle-atto_equation-button",function(r,t){var a="atto_equation",l={EQUATION_TEXT:"atto_equation_equation",EQUATION_PREVIEW:"atto_equation_preview",SUBMIT:"atto_equation_submit",LIBRARY:"atto_equation_library",LIBRARY_GROUPS:"atto_equation_groups",LIBRARY_GROUP_PREFIX:"atto_equation_group"},u={LIBRARY:"."+l.LIBRARY,LIBRARY_GROUP:"."+l.LIBRARY_GROUPS+" > div > div",EQUATION_TEXT:"."+l.EQUATION_TEXT,EQUATION_PREVIEW:"."+l.EQUATION_PREVIEW,SUBMIT:"."+l.SUBMIT,LIBRARY_BUTTON:"."+l.LIBRARY+" button"},c={START:"\\(",END:"\\)"},i='
{{{library}}}
{{get_string "cursorinfo" component}}

',h='
{{#each library}}
{{#split "\n" elements}}{{/split}}
{{/each}}
';r.namespace("M.atto_equation").Button=r.Base.create("button",r.M.editor_atto.EditorPlugin,[],{_currentSelection:null,_lastCursorPos:0,_content:null,_sourceEquation:null,_groupFocus:null,_equationPatterns:[/\$\$([\S\s]+?)\$\$/,/\\\(([\S\s]+?)\\\)/,/\\\[([\S\s]+?)\\\]/,/\[tex\]([\S\s]+?)\[\/tex\]/],initializer:function(){this._groupFocus={},this.get("texfilteractive")&&(this.addButton({icon:"e/math",callback:this._displayDialogue}),this.get("host").on("atto:selectionchanged",function(){this._resolveEquation()?this.highlightButtons():this.unHighlightButtons()},this),this.editor.all("tex").each(function(t){var e=r.Node.create(""+c.START+" "+t.get("text")+" "+c.END+"");t.replace(e)}))},_displayDialogue:function(){var t,e,n;this._currentSelection=this.get("host").getSelection(),!1!==this._currentSelection&&(t=this._resolveEquation(),e=this.getDialogue({headerContent:M.util.get_string("pluginname",a),focusAfterHide:!0,width:600,focusOnShowSelector:u.EQUATION_TEXT}),n=this._getDialogueContent(),e.set("bodyContent",n),n.one(".nav-item:first-child .nav-link").getDOMNode().click(),e.show(),require(["core/event"],function(t){t.notifyFilterContentUpdated(e.get("boundingBox").getDOMNode())}),t&&n.one(u.EQUATION_TEXT).set("text",t),this._updatePreview(!1))},_resolveEquation:function(){var c,t=this.get("host").getSelectionParentNode(),h=this.get("host").getSelection(),d=!1;return!!this.get("host").isActive()&&(!!t&&(!(!h||0===h.length)&&(this.sourceEquation=null,h=h[0],c=r.one(t).get("text"),r.Array.find(this._equationPatterns,function(u){var t=c.match(new RegExp(u.source,"g"));if(t&&t.length)return r.Array.find(t,function(t){for(var e,n,i,o,s,a,r,l=0;-1!==c.indexOf(t,l);){if(n=(e=c.indexOf(t,l))+t.length,i=h.startOffset>=e&&h.startOffsete,i&&o&&(s=t.match(u))&&s.length)return r=(a=c.indexOf(s[1],e))+s[1].length,d=s[1],this.sourceEquation={startOuterPosition:e,endOuterPosition:n,outerMatch:t,startInnerPosition:a,endInnerPosition:r,innerMatch:s},!0;l=n}},this)},this),!1!==d&&(d=d.trim()),d)))},_setEquation:function(t){var e,n,i,o,s;o=this.get("host"),t.preventDefault(),this.getDialogue({focusAfterHide:null}).hide(),""!==(i=t.currentTarget.ancestor(".atto_form").one("textarea").get("value"))&&(o.setSelection(this._currentSelection),this.sourceEquation?(i=" "+i+" ",s=(n=(e=r.one(o.getSelectionParentNode())).get("text")).slice(0,this.sourceEquation.startInnerPosition)+i+n.slice(this.sourceEquation.endInnerPosition),e.set("text",s)):(i=c.START+" "+i+" "+c.END,o.insertContentAtFocusPoint(i)),this.markUpdated())},_throttle:function(n,i){var o=null;return function(){var t=this,e=arguments;clearTimeout(o),o=setTimeout(function(){n.apply(t,e)},i)}},_updatePreview:function(t){var e,n,i,o=this._content.one(u.EQUATION_TEXT),s=o.get("value"),a=o.get("selectionStart");for(t&&t.preventDefault(),a=a||0;"\\"===s.charAt(a)&&0<=a;)--a;if(n=/[a-zA-Z\{]/,0!==a&&"{"!=s.charAt(a-1))for(;n.test(s.charAt(a))&&a=o.size()&&(a=0),e=o.item(a),this._setGroupTabFocus(i,e),e.focus()},_setGroupTabFocus:function(t,e){var n=t.generateID();"undefined"!=typeof this._groupFocus[n]&&this._groupFocus[n].setAttribute("tabindex","-1"),(this._groupFocus[n]=e).setAttribute("tabindex",0),t.setAttribute("aria-activedescendant",e.generateID())},_selectLibraryItem:function(t){var e,n,i,o,s,a=t.currentTarget.getAttribute("data-tex"),r=0;t.preventDefault(),this._setGroupTabFocus(t.currentTarget.get("parentNode"),t.currentTarget)," "!==(n=(e=(i=t.currentTarget.ancestor(".atto_form").one("textarea")).get("value")).substring(0,this._lastCursorPos)).charAt(n.length-1)&&(n+=" "),r=(n+=a).length," "!==e.charAt(this._lastCursorPos)&&(n+=" "),n+=e.substring(this._lastCursorPos,e.length),i.set("value",n),i.focus(),"number"==typeof(o=i.getDOMNode()).selectionStart?o.selectionStart=o.selectionEnd=r:"undefined"!=typeof o.createTextRange&&((s=o.createTextRange()).moveToPoint(r),s.select()),this._updatePreview(!1)},_getLibraryContent:function(){var t,e,n,i=r.Handlebars.compile(h),o=this.get("library"),s="";return r.Handlebars.registerHelper("split",function(t,e,n){var i,o,s;if(void 0===t||void 0===e)return"";for(s="",i=e.trim().split(t);0 div > div",EQUATION_TEXT:"."+l.EQUATION_TEXT,EQUATION_PREVIEW:"."+l.EQUATION_PREVIEW,SUBMIT:"."+l.SUBMIT,LIBRARY_BUTTON:"."+l.LIBRARY+" button"},c={START:"\\(",END:"\\)"},n='
{{{library}}}
{{get_string "cursorinfo" component}}

',d='
{{#each library}}
{{#split "\n" elements}}{{/split}}
{{/each}}
';r.namespace("M.atto_equation").Button=r.Base.create("button",r.M.editor_atto.EditorPlugin,[],{_currentSelection:null,_lastCursorPos:0,_content:null,_sourceEquation:null,_groupFocus:null,_equationPatterns:[/\$\$([\S\s]+?)\$\$/,/\\\(([\S\s]+?)\\\)/,/\\\[([\S\s]+?)\\\]/,/\[tex\]([\S\s]+?)\[\/tex\]/],initializer:function(){this._groupFocus={},this.get("texfilteractive")&&(this.addButton({icon:"e/math",callback:this._displayDialogue}),this.get("host").on("atto:selectionchanged",function(){this._resolveEquation()?this.highlightButtons():this.unHighlightButtons()},this),this.editor.all("tex").each(function(t){var e=r.Node.create(""+c.START+" "+t.get("text")+" "+c.END+"");t.replace(e)}))},_displayDialogue:function(){var t,e,i;this._currentSelection=this.get("host").getSelection(),!1!==this._currentSelection&&(t=this._resolveEquation(),e=this.getDialogue({headerContent:M.util.get_string("pluginname",s),focusAfterHide:!0,width:600,focusOnShowSelector:u.LIBRARY_BUTTON}),i=this._getDialogueContent(),e.set("bodyContent",i),e.show(),require(["core/event"],function(t){t.notifyFilterContentUpdated(e.get("boundingBox").getDOMNode())}),t&&i.one(u.EQUATION_TEXT).set("text",t),this._updatePreview(!1))},_resolveEquation:function(){var c,t=this.get("host").getSelectionParentNode(),d=this.get("host").getSelection(),h=!1;return!!this.get("host").isActive()&&(!!t&&(!(!d||0===d.length)&&(this.sourceEquation=null,d=d[0],c=r.one(t).get("text"),r.Array.find(this._equationPatterns,function(u){var t=c.match(new RegExp(u.source,"g"));if(t&&t.length)return r.Array.find(t,function(t){for(var e,i,n,o,a,s,r,l=0;-1!==c.indexOf(t,l);){if(i=(e=c.indexOf(t,l))+t.length,n=d.startOffset>=e&&d.startOffsete,n&&o&&(a=t.match(u))&&a.length)return r=(s=c.indexOf(a[1],e))+a[1].length,h=a[1],this.sourceEquation={startOuterPosition:e,endOuterPosition:i,outerMatch:t,startInnerPosition:s,endInnerPosition:r,innerMatch:a},!0;l=i}},this)},this),!1!==h&&(h=h.trim()),h)))},_setEquation:function(t){var e,i,n,o,a;o=this.get("host"),t.preventDefault(),this.getDialogue({focusAfterHide:null}).hide(),""!==(n=t.currentTarget.ancestor(".atto_form").one("textarea").get("value"))&&(o.setSelection(this._currentSelection),this.sourceEquation?(n=" "+n+" ",a=(i=(e=r.one(o.getSelectionParentNode())).get("text")).slice(0,this.sourceEquation.startInnerPosition)+n+i.slice(this.sourceEquation.endInnerPosition),e.set("text",a)):(n=c.START+" "+n+" "+c.END,o.insertContentAtFocusPoint(n)),this.markUpdated())},_throttle:function(i,n){var o=null;return function(){var t=this,e=arguments;clearTimeout(o),o=setTimeout(function(){i.apply(t,e)},n)}},_updatePreview:function(t){var e,i,n,o=this._content.one(u.EQUATION_TEXT),a=o.get("value"),s=o.get("selectionStart");for(t&&t.preventDefault(),s=s||0;"\\"===a.charAt(s)&&0<=s;)--s;if(i=/[a-zA-Z\{]/,0!==s&&"{"!=a.charAt(s-1))for(;i.test(a.charAt(s))&&s=o.size()&&(s=0),e=o.item(s),this._setGroupTabFocus(n,e),e.focus()},_setGroupTabFocus:function(t,e){var i=t.generateID();"undefined"!=typeof this._groupFocus[i]&&this._groupFocus[i].setAttribute("tabindex","-1"),(this._groupFocus[i]=e).setAttribute("tabindex",0),t.setAttribute("aria-activedescendant",e.generateID())},_selectLibraryItem:function(t){var e,i,n,o,a,s=t.currentTarget.getAttribute("data-tex"),r=0;t.preventDefault(),this._setGroupTabFocus(t.currentTarget.get("parentNode"),t.currentTarget)," "!==(i=(e=(n=t.currentTarget.ancestor(".atto_form").one("textarea")).get("value")).substring(0,this._lastCursorPos)).charAt(i.length-1)&&(i+=" "),r=(i+=s).length," "!==e.charAt(this._lastCursorPos)&&(i+=" "),i+=e.substring(this._lastCursorPos,e.length),n.set("value",i),n.focus(),"number"==typeof(o=n.getDOMNode()).selectionStart?o.selectionStart=o.selectionEnd=r:"undefined"!=typeof o.createTextRange&&((a=o.createTextRange()).moveToPoint(r),a.select()),this._updatePreview(!1)},_getLibraryContent:function(){var t,e,i,n=r.Handlebars.compile(d),o=this.get("library"),a="";return r.Handlebars.registerHelper("split",function(t,e,i){var n,o,a;if(void 0===t||void 0===e)return"";for(a="",n=e.trim().split(t);0' + '{{#each library}}' + '