mirror of
https://github.com/moodle/moodle.git
synced 2025-04-27 11:23:06 +02:00
Merge branch 'MDL-82547' of https://github.com/paulholden/moodle
This commit is contained in:
commit
8a80fca393
2
course/amd/build/actions.min.js
vendored
2
course/amd/build/actions.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -37,6 +37,7 @@ define(
|
||||
'core/log',
|
||||
'core_courseformat/courseeditor',
|
||||
'core/event_dispatcher',
|
||||
'core/local/inplace_editable/events',
|
||||
'core_course/events'
|
||||
],
|
||||
function(
|
||||
@ -54,6 +55,7 @@ define(
|
||||
log,
|
||||
editor,
|
||||
EventDispatcher,
|
||||
InplaceEditableEvents,
|
||||
CourseEvents
|
||||
) {
|
||||
|
||||
@ -995,18 +997,21 @@ define(
|
||||
|
||||
// The section and activity names are edited using inplace editable.
|
||||
// The "update" jQuery event must be captured in order to update the course state.
|
||||
$('body').on('updated', `${SELECTOR.SECTIONITEM} [data-inplaceeditable]`, function(e) {
|
||||
if (e.ajaxreturn && e.ajaxreturn.itemid) {
|
||||
$('body').on(InplaceEditableEvents.eventTypes.elementUpdated,
|
||||
`${SELECTOR.SECTIONITEM} [data-inplaceeditable]`, function(e) {
|
||||
if (e.detail.ajaxreturn.itemid) {
|
||||
const state = courseeditor.state;
|
||||
const section = state.section.get(e.ajaxreturn.itemid);
|
||||
const section = state.section.get(e.detail.ajaxreturn.itemid);
|
||||
if (section !== undefined) {
|
||||
courseeditor.dispatch('sectionState', [e.ajaxreturn.itemid]);
|
||||
courseeditor.dispatch('sectionState', [e.detail.ajaxreturn.itemid]);
|
||||
}
|
||||
}
|
||||
});
|
||||
$('body').on('updated', `${SELECTOR.ACTIVITYLI} [data-itemtype="activityname"][data-inplaceeditable]`, function(e) {
|
||||
if (e.ajaxreturn && e.ajaxreturn.itemid) {
|
||||
courseeditor.dispatch('cmState', [e.ajaxreturn.itemid]);
|
||||
|
||||
$('body').on(InplaceEditableEvents.eventTypes.elementUpdated,
|
||||
`${SELECTOR.ACTIVITYLI} [data-itemtype="activityname"][data-inplaceeditable]`, function(e) {
|
||||
if (e.detail.ajaxreturn.itemid) {
|
||||
courseeditor.dispatch('cmState', [e.detail.ajaxreturn.itemid]);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1,10 +1,11 @@
|
||||
define("core/local/inplace_editable/events",["exports","jquery","core/event_dispatcher"],(function(_exports,_jquery,_event_dispatcher){var obj;
|
||||
define("core/local/inplace_editable/events",["exports","core/event_dispatcher"],(function(_exports,_event_dispatcher){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.notifyElementUpdated=_exports.notifyElementUpdateFailed=_exports.eventTypes=void 0;
|
||||
/**
|
||||
* Inplace editable module events
|
||||
*
|
||||
* @module core/local/inplace_editable/events
|
||||
* @copyright 2021 Paul Holden <paulh@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.notifyElementUpdated=_exports.notifyElementUpdateFailed=_exports.eventTypes=void 0,_jquery=(obj=_jquery)&&obj.__esModule?obj:{default:obj};const eventTypes={elementUpdated:"core/inplace_editable:updated",elementUpdateFailed:"core/inplace_editable:updateFailed"};_exports.eventTypes=eventTypes;_exports.notifyElementUpdated=(element,ajaxreturn,oldvalue)=>(0,_event_dispatcher.dispatchEvent)(eventTypes.elementUpdated,{ajaxreturn:ajaxreturn,oldvalue:oldvalue},element);_exports.notifyElementUpdateFailed=(element,exception,newvalue)=>(0,_event_dispatcher.dispatchEvent)(eventTypes.elementUpdateFailed,{exception:exception,newvalue:newvalue},element,{cancelable:!0});let legacyEventsRegistered=!1;legacyEventsRegistered||(document.addEventListener(eventTypes.elementUpdated,(event=>{const legacyEvent=_jquery.default.Event("updated",event.detail);(0,_jquery.default)(event.target).trigger(legacyEvent)})),document.addEventListener(eventTypes.elementUpdateFailed,(event=>{const legacyEvent=_jquery.default.Event("updatefailed",event.detail);(0,_jquery.default)(event.target).trigger(legacyEvent),legacyEvent.isDefaultPrevented()&&event.preventDefault()})),legacyEventsRegistered=!0)}));
|
||||
*/
|
||||
const eventTypes={elementUpdated:"core/inplace_editable:updated",elementUpdateFailed:"core/inplace_editable:updateFailed"};_exports.eventTypes=eventTypes;_exports.notifyElementUpdated=(element,ajaxreturn,oldvalue)=>(0,_event_dispatcher.dispatchEvent)(eventTypes.elementUpdated,{ajaxreturn:ajaxreturn,oldvalue:oldvalue},element);_exports.notifyElementUpdateFailed=(element,exception,newvalue)=>(0,_event_dispatcher.dispatchEvent)(eventTypes.elementUpdateFailed,{exception:exception,newvalue:newvalue},element,{cancelable:!0})}));
|
||||
|
||||
//# sourceMappingURL=events.min.js.map
|
File diff suppressed because one or more lines are too long
4
lib/amd/build/tag.min.js
vendored
4
lib/amd/build/tag.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -21,7 +21,6 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
import $ from 'jquery';
|
||||
import {dispatchEvent} from 'core/event_dispatcher';
|
||||
|
||||
/**
|
||||
@ -98,29 +97,3 @@ export const notifyElementUpdateFailed = (element, exception, newvalue) => dispa
|
||||
cancelable: true
|
||||
}
|
||||
);
|
||||
|
||||
let legacyEventsRegistered = false;
|
||||
if (!legacyEventsRegistered) {
|
||||
// The following event triggers are legacy and will be removed in the future.
|
||||
// The following approach provides a backwards-compatability layer for the new events.
|
||||
// Code should be updated to make use of native events.
|
||||
|
||||
// Listen for the new native elementUpdated event, and trigger the legacy jQuery event.
|
||||
document.addEventListener(eventTypes.elementUpdated, event => {
|
||||
const legacyEvent = $.Event('updated', event.detail);
|
||||
$(event.target).trigger(legacyEvent);
|
||||
});
|
||||
|
||||
// Listen for the new native elementUpdateFailed event, and trigger the legacy jQuery event.
|
||||
document.addEventListener(eventTypes.elementUpdateFailed, event => {
|
||||
const legacyEvent = $.Event('updatefailed', event.detail);
|
||||
$(event.target).trigger(legacyEvent);
|
||||
|
||||
// If the legacy event is cancelled, so should the native event.
|
||||
if (legacyEvent.isDefaultPrevented()) {
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
legacyEventsRegistered = true;
|
||||
}
|
||||
|
@ -31,6 +31,7 @@ import * as ModalEvents from 'core/modal_events';
|
||||
import Pending from 'core/pending';
|
||||
import SaveCancelModal from 'core/modal_save_cancel';
|
||||
import Config from 'core/config';
|
||||
import {eventTypes as inplaceEditableEvents} from 'core/local/inplace_editable/events';
|
||||
import * as reportSelectors from 'core_reportbuilder/local/selectors';
|
||||
|
||||
const getTagIndex = (tagindex) => fetchMany([{
|
||||
@ -323,9 +324,9 @@ export const initTagindexPage = async() => {
|
||||
*/
|
||||
export const initManagePage = () => {
|
||||
// Toggle row class when updating flag.
|
||||
$('body').on('updated', '[data-inplaceeditable][data-itemtype=tagflag]', function(e) {
|
||||
$('body').on(inplaceEditableEvents.elementUpdated, '[data-inplaceeditable][data-itemtype=tagflag]', function(e) {
|
||||
var row = $(e.target).closest('tr');
|
||||
row.toggleClass('table-warning', e.ajaxreturn.value === '1');
|
||||
row.toggleClass('table-warning', e.detail.ajaxreturn.value === '1');
|
||||
});
|
||||
|
||||
// Confirmation for bulk tag combine button.
|
||||
@ -355,9 +356,9 @@ export const initManagePage = () => {
|
||||
});
|
||||
|
||||
// When user changes tag name to some name that already exists suggest to combine the tags.
|
||||
$('body').on('updatefailed', '[data-inplaceeditable][data-itemtype=tagname]', async(e) => {
|
||||
var exception = e.exception; // The exception object returned by the callback.
|
||||
var newvalue = e.newvalue; // The value that user tried to udpated the element to.
|
||||
$('body').on(inplaceEditableEvents.elementUpdateFailed, '[data-inplaceeditable][data-itemtype=tagname]', async(e) => {
|
||||
var exception = e.detail.exception; // The exception object returned by the callback.
|
||||
var newvalue = e.detail.newvalue; // The value that user tried to udpated the element to.
|
||||
var tagid = $(e.target).attr('data-itemid');
|
||||
if (exception.errorcode !== 'namesalreadybeeingused') {
|
||||
return;
|
||||
@ -392,10 +393,10 @@ export const initManagePage = () => {
|
||||
* @method initManageCollectionsPage
|
||||
*/
|
||||
export const initManageCollectionsPage = () => {
|
||||
$('body').on('updated', '[data-inplaceeditable]', function(e) {
|
||||
$('body').on(inplaceEditableEvents.elementUpdated, '[data-inplaceeditable]', function(e) {
|
||||
var pendingPromise = new Pending('core/tag:initManageCollectionsPage-updated');
|
||||
|
||||
var ajaxreturn = e.ajaxreturn,
|
||||
var ajaxreturn = e.detail.ajaxreturn,
|
||||
areaid, collid, isenabled;
|
||||
if (ajaxreturn.component === 'core_tag' && ajaxreturn.itemtype === 'tagareaenable') {
|
||||
areaid = $(this).attr('data-itemid');
|
||||
|
Loading…
x
Reference in New Issue
Block a user