Sono riuscito ad importarlo e visualizzarlo correttamente, ma ho un problema nella mappatura di un evento
Questa è l'inizializzazione dell'elemento, dove ho anche definito alcune considerazioni in un evento (come da loro documentazione)
- Code: Select all
Client.CaleRan.prototype.init = function (minStay) {
minStay = minStay || 1;
this.caleranInstance = $(".caleran").caleran({
inline: true,
//
// --- Settings ---
startOnMonday: true,
locale: "it",
calendarCount:1,
//
// --- Date ---
minDate: new Date(),
startEmpty: false,
endDate: moment().add(minStay,"days"),
//
//
// --- Events ---
onafterselect: function (instance, start, end) {
console.log("intervallo: ", start + ' - ' + end + ': ', start.isSame(end), end.diff(start, "days"));
endDate = end.clone();
if(start.isSame(end) || (end.diff(start, "days") < minStay)){
endDate = start.clone();
endDate = endDate.add(minStay, "days");
}
instance.config.endDate = endDate;
}
});
};
Successivamente nel metodo attachEvents, seguendo l'assistenza fatta per un altro plugin, ho cercato di mappare lo stesso evento [https://rettica.com/caleran/docs/readme.html#available-events] che dovrebbe scattare selezionando la data di fine, per visualizzarlo a Design Time nel Front (le considerazioni fatte nell'inizializzazione potrei poi spostarle direttamente nell'evento nel front)
- Code: Select all
Client.CaleRan.prototype.attachEvents = function (events){
console.log("events: ",events);
if (!events)
return;
//
//
let arAfterSelect = events.indexOf("onAfterSelect");
if (arAfterSelect >= 0) {
this.caleranInstance.onafterselect = function (instance, start, end) {
console.log("onafterselect");
let event = {checkin:start, checkout:end};
console.log("event: ",event);
let ee = [];
ee.push({obj: this.id, id: "onAfterSelect", content: event});
//
console.log("ee: ",ee);
// Send an event list to the server
Client.mainFrame.sendEvents(ee);
};
}
//
// Call base class
Client.Element.prototype.attachEvents.call(this, events);
};
Ma lato front, non viene restituito nulla