MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / scheduler_node

Function scheduler_node

codebase/sources/dhtmlxscheduler.es.js:11113–11258  ·  view source on GitHub ↗
(scheduler2)

Source from the content-addressed store, hash-verified

11111 } };
11112}
11113function scheduler_node(scheduler2) {
11114 scheduler2.$keyboardNavigation.SchedulerNode = function() {
11115 };
11116 scheduler2.$keyboardNavigation.SchedulerNode.prototype = scheduler2._compose(scheduler2.$keyboardNavigation.EventHandler, { getDefaultNode: function() {
11117 var node = new scheduler2.$keyboardNavigation.TimeSlot();
11118 if (!node.isValid()) {
11119 node = node.fallback();
11120 }
11121 return node;
11122 }, _modes: { month: "month", year: "year", dayColumns: "dayColumns", timeline: "timeline", units: "units", weekAgenda: "weekAgenda", list: "list" }, getMode: function() {
11123 var state = scheduler2.getState();
11124 var mode = state.mode;
11125 if (scheduler2.matrix && scheduler2.matrix[mode]) {
11126 return this._modes.timeline;
11127 } else if (scheduler2._props && scheduler2._props[mode]) {
11128 return this._modes.units;
11129 } else if (mode == "month") {
11130 return this._modes.month;
11131 } else if (mode == "year") {
11132 return this._modes.year;
11133 } else if (mode == "week_agenda") {
11134 return this._modes.weekAgenda;
11135 } else if (mode == "map" || mode == "agenda" || scheduler2._grid && scheduler2["grid_" + mode]) {
11136 return this._modes.list;
11137 } else {
11138 return this._modes.dayColumns;
11139 }
11140 }, focus: function() {
11141 scheduler2.focus();
11142 }, blur: function() {
11143 }, disable: function() {
11144 scheduler2.$container.setAttribute("tabindex", "0");
11145 }, enable: function() {
11146 if (scheduler2.$container)
11147 scheduler2.$container.removeAttribute("tabindex");
11148 }, isEnabled: function() {
11149 return scheduler2.$container.hasAttribute("tabindex");
11150 }, _compareEvents: function(a, b) {
11151 if (a.start_date.valueOf() == b.start_date.valueOf())
11152 return a.id > b.id ? 1 : -1;
11153 return a.start_date.valueOf() > b.start_date.valueOf() ? 1 : -1;
11154 }, _pickEvent: function(from, to, startId, reverse) {
11155 var range2 = scheduler2.getState();
11156 from = new Date(Math.max(range2.min_date.valueOf(), from.valueOf()));
11157 to = new Date(Math.min(range2.max_date.valueOf(), to.valueOf()));
11158 var evs = scheduler2.getEvents(from, to);
11159 evs.sort(this._compareEvents);
11160 if (reverse) {
11161 evs = evs.reverse();
11162 }
11163 var trim = !!startId;
11164 for (var i = 0; i < evs.length && trim; i++) {
11165 if (evs[i].id == startId) {
11166 trim = false;
11167 }
11168 evs.splice(i, 1);
11169 i--;
11170 }

Callers 1

key_navFunction · 0.70

Calls 8

getStateMethod · 0.65
focusMethod · 0.65
getEventsMethod · 0.65
getEventMethod · 0.65
addMethod · 0.65
setCurrentViewMethod · 0.65
addEventNowMethod · 0.65
getNodeMethod · 0.45

Tested by

no test coverage detected