define ("core/inplace_editable",["jquery","core/ajax","core/templates","core/notification","core/str","core/config","core/url","core/form-autocomplete","core/pending"],function(a,b,c,d,e,f,g,h,i){a("body").on("click keypress","[data-inplaceeditable] [data-inplaceeditablelink]",function(j){if("keypress"===j.type&&13!==j.keyCode){return}var k=new i("autocomplete-start-editing");j.stopImmediatePropagation();j.preventDefault();var l=a(this),m=l.closest("[data-inplaceeditable]"),n=function(b){b.addClass("updating");var c=b.find("img.spinner");if(c.length){c.show()}else{c=a("").attr("src",g.imageUrl("i/loading_small")).addClass("spinner").addClass("smallicon");b.append(c)}},o=function(a){a.removeClass("updating");a.find("img.spinner").hide()},p=function(f,g){var h=[f.attr("data-itemid"),f.attr("data-component"),f.attr("data-itemtype")].join("-"),j=new i(h);n(f);b.call([{methodname:"core_update_inplace_editable",args:{itemid:f.attr("data-itemid"),component:f.attr("data-component"),itemtype:f.attr("data-itemtype"),value:g}}])[0].then(function(b){return c.render("core/inplace_editable",b).then(function(d,e){var g=f.attr("data-value"),h=a(d);c.replaceNode(f,h,e);h.find("[data-inplaceeditablelink]").focus();h.trigger({type:"updated",ajaxreturn:b,oldvalue:g})})}).then(function(){return j.resolve()}).fail(function(b){var c=a.Event("updatefailed",{exception:b,newvalue:g});o(f);M.util.js_complete(h);f.trigger(c);if(!c.isDefaultPrevented()){d.exception(b)}})},q=function(a){a.find("input").off();a.find("select").off();a.html(a.attr("data-oldcontent"));a.removeAttr("data-oldcontent");a.removeClass("inplaceeditingon");a.find("[data-inplaceeditablelink]").focus()},r=function(b,c){var d=b,e;for(e=0;e"+c+"").attr("id",r("id_editinstructions_",20)),e=a("").attr("id",r("id_inplacevalue_",20)).attr("value",b.attr("data-value")).attr("aria-describedby",d.attr("id")).addClass("ignoredirty").addClass("form-control"),g=a("").attr("for",e.attr("id"));b.html("").append(d).append(g).append(e);e.focus();e.select();e.on("keyup keypress focusout",function(a){if(f.behatsiterunning&&"focusout"===a.type){return}if("keypress"===a.type&&13===a.keyCode){var c=e.val();q(b);p(b,c)}if("keyup"===a.type&&27===a.keyCode||"focusout"===a.type){q(b)}})})},t=function(a,b){q(a);p(a,b)},u=function(b,c){var d,e=a("").attr("id",r("id_inplacevalue_",20)).addClass("custom-select"),g=a("").attr("for",e.attr("id"));for(d in c){e.append(a("