1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
//#region MENUX JavaScript
var menu = new dhtmlXMenuObject();
menu.setIconsPath("./Scripts/codebase/imgs/");
menu.renderAsContextMenu();
//menu.loadStruct("./Scripts/codebase/dhxmenu.xml?e=" + new Date().getTime());
menu.loadFromHTML("menuData", true);
var event_id, cb_date, cb_isCopy, cb_section = null;
scheduler.attachEvent("onContextMenu", function (event_id_loc, native_event_object) {
event_id = event_id_loc;
cb_date = scheduler.getActionData(native_event_object).date;
cb_section = scheduler.getActionData(native_event_object).section;
/* Menu position */
var posx = 0;
var posy = 0;
if (native_event_object.pageX || native_event_object.pageY) {
posx = native_event_object.pageX;
posy = native_event_object.pageY;
} else if (native_event_object.clientX || native_event_object.clientY) {
posx = native_event_object.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
posy = native_event_object.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
//#region function Menu contextuel
function copy2() { alert("koko"); }
function copy() {
scheduler._buffer_id = event_id;
cb_isCopy = true;
scheduler.callEvent("onEventCopied", [scheduler.getEvent(event_id)]);
}
function cut() {
scheduler._buffer_id = event_id;
cb_isCopy = false;
scheduler.callEvent("onEventCut", [scheduler.getEvent(event_id)]);
}
function paste() {
var ev = scheduler.getEvent(scheduler._buffer_id);
if (ev) {
if (cb_isCopy) { // copy-paste
new_ev = _cb_make_paste_event(ev);
new_ev.id = scheduler.uid();
scheduler.addEvent(new_ev);
scheduler.callEvent("onEventPasted", [cb_isCopy, new_ev, ev]);
} else { // cut-paste
new_ev = _cb_make_paste_event(ev);
var a = scheduler.callEvent("onBeforeEventChanged", [new_ev, null, !1, ev]);
a && (scheduler.addEvent(new_ev), scheduler.callEvent("onEventPasted", [cb_isCopy, new_ev, ev]));
}
}
}
function _cb_make_paste_event(ev) {
var event_duration = ev.end_date - ev.start_date;
var new_ev = scheduler._lame_copy({}, ev);
new_ev.start_date = new Date(cb_date);
new_ev.end_date = new Date(new_ev.start_date.valueOf() + event_duration);
if (cb_section) {
var a = scheduler.getState().mode, d = null;
scheduler.matrix[a] ? d = scheduler.matrix[a].y_property : scheduler._props[a] && (d = scheduler._props[a].property), new_ev[d] = cb_section;
}
return new_ev;
}
//#endregion
/* Menu items */
if (event_id) {
menu.showItem("m11");
menu.showItem("ms1");
menu.showItem("m12");
menu.showItem("demo");
menu.hideItem("m13");
menu.hideItem("ms2");
menu.showContextMenu(posx, posy);
}
else {
menu.hideItem("m11");
menu.hideItem("m12");
menu.showItem("m13");
menu.showItem("demo");
menu.hideItem("ms1");
menu.hideItem("ms2");
menu.showContextMenu(posx, posy);
}
return false; // Désactive le menu de base });
//#endregion |
Partager