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

Function agenda_view

codebase/sources/dhtmlxscheduler.js:9620–9768  ·  view source on GitHub ↗
(scheduler2)

Source from the content-addressed store, hash-verified

9618 });
9619 }
9620 function agenda_view(scheduler2) {
9621 scheduler2.date.add_agenda = function(date, inc) {
9622 return scheduler2.date.add(date, 1 * inc, "month");
9623 };
9624 scheduler2.templates.agenda_time = function(start, end, ev) {
9625 if (ev._timed) {
9626 return `${this.event_date(start)} - ${this.event_date(end)}`;
9627 } else {
9628 return scheduler2.locale.labels.full_day;
9629 }
9630 };
9631 scheduler2.templates.agenda_text = function(start, end, ev) {
9632 return ev.text;
9633 };
9634 const dayDateToStr = scheduler2.date.date_to_str("%F %j");
9635 const dayDowToStr = scheduler2.date.date_to_str("%l");
9636 scheduler2.templates.agenda_day = function(date) {
9637 return `<div class="dhx_agenda_day_date">${dayDateToStr(date)}</div>
9638 <div class="dhx_agenda_day_dow">${dayDowToStr(date)}</div>`;
9639 };
9640 scheduler2.templates.agenda_date = function(start, end) {
9641 return scheduler2.templates.month_date(scheduler2.getState().date);
9642 };
9643 scheduler2.date.agenda_start = function(date) {
9644 return scheduler2.date.month_start(new Date(date));
9645 };
9646 let scrollTop = 0;
9647 scheduler2.attachEvent("onTemplatesReady", function() {
9648 var old_dblclick_dhx_cal_data = scheduler2.dblclick_dhx_cal_data;
9649 scheduler2.dblclick_dhx_cal_data = function() {
9650 if (this._mode == "agenda") {
9651 if (!this.config.readonly && this.config.dblclick_create)
9652 this.addEventNow();
9653 } else {
9654 if (old_dblclick_dhx_cal_data)
9655 return old_dblclick_dhx_cal_data.apply(this, arguments);
9656 }
9657 };
9658 var old = scheduler2.render_data;
9659 scheduler2.render_data = function(evs) {
9660 if (this._mode == "agenda")
9661 fill_agenda_tab();
9662 else
9663 return old.apply(this, arguments);
9664 };
9665 var old_render_view_data = scheduler2.render_view_data;
9666 scheduler2.render_view_data = function() {
9667 if (this._mode == "agenda") {
9668 scrollTop = scheduler2._els["dhx_cal_data"][0].scrollTop;
9669 scheduler2._els["dhx_cal_data"][0].scrollTop = 0;
9670 }
9671 return old_render_view_data.apply(this, arguments);
9672 };
9673 function fill_agenda_tab() {
9674 const events = scheduler2.get_visible_events();
9675 events.sort(function(a, b) {
9676 return a.start_date > b.start_date ? 1 : -1;
9677 });

Callers

nothing calls this directly

Calls 10

fill_agenda_tabFunction · 0.70
addMethod · 0.65
event_dateMethod · 0.65
date_to_strMethod · 0.65
month_dateMethod · 0.65
getStateMethod · 0.65
month_startMethod · 0.65
attachEventMethod · 0.65
addEventNowMethod · 0.65
agenda_dateMethod · 0.65

Tested by

no test coverage detected