AutorÃa | Ultima modificación | Ver Log |
// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>./*** A javascript module to store calendar drag and drop data.** This module is unfortunately required because of the limitations* of the HTML5 drag and drop API and it's ability to provide data* between the different stages of the drag/drop lifecycle.** @module core_calendar/drag_drop_data_store* @copyright 2017 Ryan Wyllie <ryan@moodle.com>* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/define([], function() {/* @var {int|null} eventId The id of the event being dragged */var eventId = null;/* @var {int|null} durationDays How many days the event spans */var durationDays = null;/* @var {int|null} minTimestart The earliest valid timestart */var minTimestart = null;/* @var {int|null} maxTimestart The latest valid tiemstart */var maxTimestart = null;/* @var {string|null} minError Error message for min timestamp violation */var minError = null;/* @var {string|null} maxError Error message for max timestamp violation */var maxError = null;/*** Store the id of the event being dragged.** @param {int} id The event id*/var setEventId = function(id) {eventId = id;};/*** Get the stored event id.** @return {int|null}*/var getEventId = function() {return eventId;};/*** Check if the store has an event id.** @return {bool}*/var hasEventId = function() {return eventId !== null;};/*** Store the duration (in days) of the event being dragged.** @param {int} days Number of days the event spans*/var setDurationDays = function(days) {durationDays = days;};/*** Get the stored number of days.** @return {int|null}*/var getDurationDays = function() {return durationDays;};/*** Store the minimum timestart valid for an event being dragged.** @param {int} timestamp The unix timstamp*/var setMinTimestart = function(timestamp) {minTimestart = timestamp;};/*** Get the minimum valid timestart.** @return {int|null}*/var getMinTimestart = function() {return minTimestart;};/*** Check if a minimum timestamp is set.** @return {bool}*/var hasMinTimestart = function() {return minTimestart !== null;};/*** Store the maximum timestart valid for an event being dragged.** @param {int} timestamp The unix timstamp*/var setMaxTimestart = function(timestamp) {maxTimestart = timestamp;};/*** Get the maximum valid timestart.** @return {int|null}*/var getMaxTimestart = function() {return maxTimestart;};/*** Check if a maximum timestamp is set.** @return {bool}*/var hasMaxTimestart = function() {return maxTimestart !== null;};/*** Store the error string to display if trying to drag an event* earlier than the minimum allowed date.** @param {string} message The error message*/var setMinError = function(message) {minError = message;};/*** Get the error message for a minimum time start violation.** @return {string|null}*/var getMinError = function() {return minError;};/*** Store the error string to display if trying to drag an event* later than the maximum allowed date.** @param {string} message The error message*/var setMaxError = function(message) {maxError = message;};/*** Get the error message for a maximum time start violation.** @return {string|null}*/var getMaxError = function() {return maxError;};/*** Reset all of the stored values.*/var clearAll = function() {setEventId(null);setDurationDays(null);setMinTimestart(null);setMaxTimestart(null);setMinError(null);setMaxError(null);};return {setEventId: setEventId,getEventId: getEventId,hasEventId: hasEventId,setDurationDays: setDurationDays,getDurationDays: getDurationDays,setMinTimestart: setMinTimestart,getMinTimestart: getMinTimestart,hasMinTimestart: hasMinTimestart,setMaxTimestart: setMaxTimestart,getMaxTimestart: getMaxTimestart,hasMaxTimestart: hasMaxTimestart,setMinError: setMinError,getMinError: getMinError,setMaxError: setMaxError,getMaxError: getMaxError,clearAll: clearAll};});