Skip to content

Commit a89e70d

Browse files
committed
[update] version 7.2.10
1 parent 07cf32a commit a89e70d

13 files changed

+350
-308
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# dhtmlxScheduler #
22

33
[![dhtmlx.com](https://img.shields.io/badge/made%20by-DHTMLX-blue)](https://dhtmlx.com/)
4-
[![npm: v.7.2.9](https://img.shields.io/badge/npm-v.7.2.9-blue.svg)](https://www.npmjs.com/package/dhtmlx-scheduler)
4+
[![npm: v.7.2.10](https://img.shields.io/badge/npm-v.7.2.10-blue.svg)](https://www.npmjs.com/package/dhtmlx-scheduler)
55
[![License: GPL v2](https://img.shields.io/badge/license-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
66

77
[DHTMLX Scheduler](https://dhtmlx.com/docs/products/dhtmlxScheduler) is a JavaScript library that allows you to add a Google-like scheduler to your web app or website.
@@ -87,7 +87,7 @@ scheduler.parse([
8787

8888
## License ##
8989

90-
dhtmlxScheduler v.7.2.9 Standard
90+
dhtmlxScheduler v.7.2.10 Standard
9191

9292
To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxScheduler/#licensing or contact us at sales@dhtmlx.com
9393

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "scheduler",
3-
"version": "7.2.9",
3+
"version": "7.2.10",
44
"homepage": "https://dhtmlx.com/docs/products/dhtmlxScheduler/",
55
"description": "JavaScript event calendar. Allows to manage events and appointments in different views",
66
"main": [

codebase/dhtmlxscheduler.es.js

Lines changed: 225 additions & 222 deletions
Large diffs are not rendered by default.

codebase/dhtmlxscheduler.es.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codebase/dhtmlxscheduler.js

Lines changed: 21 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codebase/dhtmlxscheduler.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codebase/sources/dhtmlxscheduler.es.js

Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/** @license
22

3-
dhtmlxScheduler v.7.2.9 Standard
3+
dhtmlxScheduler v.7.2.10 Standard
44

55
To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxScheduler/#licensing or contact us at sales@dhtmlx.com
66

@@ -4091,6 +4091,25 @@ function getActiveElement() {
40914091
}
40924092
return activeElement;
40934093
}
4094+
function closest(element, selector) {
4095+
if (element.closest) {
4096+
return element.closest(selector);
4097+
} else if (element.matches || element.msMatchesSelector || element.webkitMatchesSelector) {
4098+
var el = element;
4099+
if (!document.documentElement.contains(el))
4100+
return null;
4101+
do {
4102+
var method = el.matches || el.msMatchesSelector || el.webkitMatchesSelector;
4103+
if (method.call(el, selector))
4104+
return el;
4105+
el = el.parentElement || el.parentNode;
4106+
} while (el !== null && el.nodeType === 1);
4107+
return null;
4108+
} else {
4109+
console.error("Your browser is not supported");
4110+
return null;
4111+
}
4112+
}
40944113
function getRootNode(element) {
40954114
if (!element) {
40964115
return document.body;
@@ -4109,9 +4128,13 @@ function hasShadowParent(element) {
41094128
return !!getRootNode(element);
41104129
}
41114130
const dom_helpers = { getAbsoluteLeft: function getAbsoluteLeft(htmlObject) {
4112-
return this.getOffset(htmlObject).left;
4131+
const offsetLeft = this.getOffset(htmlObject).left;
4132+
const paddingLeft = parseInt(window.getComputedStyle(htmlObject).paddingLeft, 10) || 0;
4133+
return offsetLeft + paddingLeft;
41134134
}, getAbsoluteTop: function getAbsoluteTop(htmlObject) {
4114-
return this.getOffset(htmlObject).top;
4135+
const offsetTop = this.getOffset(htmlObject).top;
4136+
const paddingTop = parseInt(window.getComputedStyle(htmlObject).paddingTop, 10) || 0;
4137+
return offsetTop + paddingTop;
41154138
}, getOffsetSum: function getOffsetSum(elem) {
41164139
var top = 0, left = 0;
41174140
while (elem) {
@@ -4169,25 +4192,7 @@ const dom_helpers = { getAbsoluteLeft: function getAbsoluteLeft(htmlObject) {
41694192
}
41704193
}, isChildOf: function(child, parent) {
41714194
return parent.contains(child);
4172-
}, getFocusableNodes, getClassName, locateCss, getRootNode, hasShadowParent, isShadowDomSupported, getActiveElement, getRelativeEventPosition, getTargetNode, getNodePosition };
4173-
var closest;
4174-
if (Element.prototype.closest) {
4175-
closest = function(element, selector) {
4176-
return element.closest(selector);
4177-
};
4178-
} else {
4179-
var matches = Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
4180-
closest = function(element, selector) {
4181-
var el = element;
4182-
do {
4183-
if (matches.call(el, selector)) {
4184-
return el;
4185-
}
4186-
el = el.parentElement || el.parentNode;
4187-
} while (el !== null && el.nodeType === 1);
4188-
return null;
4189-
};
4190-
}
4195+
}, getFocusableNodes, getClassName, locateCss, getRootNode, hasShadowParent, isShadowDomSupported, getActiveElement, getRelativeEventPosition, getTargetNode, getNodePosition, closest };
41914196
var isWindowAwailable = typeof window !== "undefined";
41924197
const env = { isIE: isWindowAwailable && (navigator.userAgent.indexOf("MSIE") >= 0 || navigator.userAgent.indexOf("Trident") >= 0), isOpera: isWindowAwailable && navigator.userAgent.indexOf("Opera") >= 0, isChrome: isWindowAwailable && navigator.userAgent.indexOf("Chrome") >= 0, isKHTML: isWindowAwailable && (navigator.userAgent.indexOf("Safari") >= 0 || navigator.userAgent.indexOf("Konqueror") >= 0), isFF: isWindowAwailable && navigator.userAgent.indexOf("Firefox") >= 0, isIPad: isWindowAwailable && navigator.userAgent.search(/iPad/gi) >= 0, isEdge: isWindowAwailable && navigator.userAgent.indexOf("Edge") != -1, isNode: !isWindowAwailable || typeof navigator == "undefined" };
41934198
function extend$g(scheduler2) {
@@ -4240,7 +4245,7 @@ function serialize$1(data) {
42404245
return result;
42414246
}
42424247
function extend$f(scheduler2) {
4243-
scheduler2.Promise = window.Promise;
4248+
scheduler2.Promise = typeof window !== "undefined" ? window.Promise : Promise;
42444249
function createConfig(method, args) {
42454250
var result = { method };
42464251
if (args.length === 0) {
@@ -7534,8 +7539,10 @@ function extend$3(scheduler2) {
75347539
scheduler2.setCurrentView();
75357540
}
75367541
}
7537-
scheduler2.event(window, "DOMContentLoaded", refreshAfterLoad);
7538-
scheduler2.event(window, "load", refreshAfterLoad);
7542+
if (typeof window !== "undefined") {
7543+
scheduler2.event(window, "DOMContentLoaded", refreshAfterLoad);
7544+
scheduler2.event(window, "load", refreshAfterLoad);
7545+
}
75397546
scheduler2._border_box_events = function() {
75407547
return checkIfBorderBoxStyling();
75417548
};
@@ -8634,7 +8641,9 @@ function message(scheduler2) {
86348641
return;
86358642
}
86368643
}
8637-
scheduler2.event(document, "keydown", modal_key, true);
8644+
if (typeof window !== "undefined") {
8645+
scheduler2.event(document, "keydown", modal_key, true);
8646+
}
86388647
function modality(mode) {
86398648
if (!modality.cover) {
86408649
modality.cover = document.createElement("div");
@@ -9099,7 +9108,11 @@ class DatePicker {
90999108
const monthEnd = scheduler2.date.add(scheduler2.date.month_start(new Date(date)), 1, "month");
91009109
let lastDate = scheduler2.date.add(scheduler2.date.month_start(new Date(date)), 1, "month");
91019110
const currentCalDate = scheduler2.date.date_part(scheduler2._currentDate());
9102-
if (lastDate.getDay() !== 0) {
9111+
if (lastDate.getDay() !== 0 && scheduler2.config.start_on_monday) {
9112+
const dayOfWeek = lastDate.getDay();
9113+
const daysToSunday = (7 - dayOfWeek) % 7;
9114+
lastDate = scheduler2.date.add(lastDate, daysToSunday + 1, "day");
9115+
} else {
91039116
lastDate = scheduler2.date.add(scheduler2.date.week_start(lastDate), 1, "week");
91049117
}
91059118
let weeks = this._weeksBetween(firstDate, lastDate);
@@ -9224,7 +9237,7 @@ class DatePicker {
92249237
}
92259238
}
92269239
function factoryMethod(extensionManager) {
9227-
const scheduler2 = { version: "7.2.9" };
9240+
const scheduler2 = { version: "7.2.10" };
92289241
scheduler2.$stateProvider = StateService();
92299242
scheduler2.getState = scheduler2.$stateProvider.getState;
92309243
extend$n(scheduler2);
@@ -10181,6 +10194,9 @@ function container_autoresize(scheduler2) {
1018110194
var conditionalUpdateContainerHeight = function() {
1018210195
if (!(scheduler2.config.container_autoresize && active))
1018310196
return true;
10197+
if (scheduler2._drag_mode && scheduler2._drag_mode === "create" && scheduler2._mobile) {
10198+
return true;
10199+
}
1018410200
var mode = scheduler2.getState().mode;
1018510201
if (!mode) {
1018610202
return true;

codebase/sources/dhtmlxscheduler.es.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codebase/sources/dhtmlxscheduler.js

Lines changed: 44 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
})(this, function(exports2) {
44
"use strict";/** @license
55

6-
dhtmlxScheduler v.7.2.9 Standard
6+
dhtmlxScheduler v.7.2.10 Standard
77

88
To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxScheduler/#licensing or contact us at sales@dhtmlx.com
99

@@ -4095,6 +4095,25 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
40954095
}
40964096
return activeElement;
40974097
}
4098+
function closest(element, selector) {
4099+
if (element.closest) {
4100+
return element.closest(selector);
4101+
} else if (element.matches || element.msMatchesSelector || element.webkitMatchesSelector) {
4102+
var el = element;
4103+
if (!document.documentElement.contains(el))
4104+
return null;
4105+
do {
4106+
var method = el.matches || el.msMatchesSelector || el.webkitMatchesSelector;
4107+
if (method.call(el, selector))
4108+
return el;
4109+
el = el.parentElement || el.parentNode;
4110+
} while (el !== null && el.nodeType === 1);
4111+
return null;
4112+
} else {
4113+
console.error("Your browser is not supported");
4114+
return null;
4115+
}
4116+
}
40984117
function getRootNode(element) {
40994118
if (!element) {
41004119
return document.body;
@@ -4113,9 +4132,13 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
41134132
return !!getRootNode(element);
41144133
}
41154134
const dom_helpers = { getAbsoluteLeft: function getAbsoluteLeft(htmlObject) {
4116-
return this.getOffset(htmlObject).left;
4135+
const offsetLeft = this.getOffset(htmlObject).left;
4136+
const paddingLeft = parseInt(window.getComputedStyle(htmlObject).paddingLeft, 10) || 0;
4137+
return offsetLeft + paddingLeft;
41174138
}, getAbsoluteTop: function getAbsoluteTop(htmlObject) {
4118-
return this.getOffset(htmlObject).top;
4139+
const offsetTop = this.getOffset(htmlObject).top;
4140+
const paddingTop = parseInt(window.getComputedStyle(htmlObject).paddingTop, 10) || 0;
4141+
return offsetTop + paddingTop;
41194142
}, getOffsetSum: function getOffsetSum(elem) {
41204143
var top = 0, left = 0;
41214144
while (elem) {
@@ -4173,25 +4196,7 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
41734196
}
41744197
}, isChildOf: function(child, parent) {
41754198
return parent.contains(child);
4176-
}, getFocusableNodes, getClassName, locateCss, getRootNode, hasShadowParent, isShadowDomSupported, getActiveElement, getRelativeEventPosition, getTargetNode, getNodePosition };
4177-
var closest;
4178-
if (Element.prototype.closest) {
4179-
closest = function(element, selector) {
4180-
return element.closest(selector);
4181-
};
4182-
} else {
4183-
var matches = Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
4184-
closest = function(element, selector) {
4185-
var el = element;
4186-
do {
4187-
if (matches.call(el, selector)) {
4188-
return el;
4189-
}
4190-
el = el.parentElement || el.parentNode;
4191-
} while (el !== null && el.nodeType === 1);
4192-
return null;
4193-
};
4194-
}
4199+
}, getFocusableNodes, getClassName, locateCss, getRootNode, hasShadowParent, isShadowDomSupported, getActiveElement, getRelativeEventPosition, getTargetNode, getNodePosition, closest };
41954200
var isWindowAwailable = typeof window !== "undefined";
41964201
const env = { isIE: isWindowAwailable && (navigator.userAgent.indexOf("MSIE") >= 0 || navigator.userAgent.indexOf("Trident") >= 0), isOpera: isWindowAwailable && navigator.userAgent.indexOf("Opera") >= 0, isChrome: isWindowAwailable && navigator.userAgent.indexOf("Chrome") >= 0, isKHTML: isWindowAwailable && (navigator.userAgent.indexOf("Safari") >= 0 || navigator.userAgent.indexOf("Konqueror") >= 0), isFF: isWindowAwailable && navigator.userAgent.indexOf("Firefox") >= 0, isIPad: isWindowAwailable && navigator.userAgent.search(/iPad/gi) >= 0, isEdge: isWindowAwailable && navigator.userAgent.indexOf("Edge") != -1, isNode: !isWindowAwailable || typeof navigator == "undefined" };
41974202
function extend$g(scheduler2) {
@@ -4244,7 +4249,7 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
42444249
return result;
42454250
}
42464251
function extend$f(scheduler2) {
4247-
scheduler2.Promise = window.Promise;
4252+
scheduler2.Promise = typeof window !== "undefined" ? window.Promise : Promise;
42484253
function createConfig(method, args) {
42494254
var result = { method };
42504255
if (args.length === 0) {
@@ -7538,8 +7543,10 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
75387543
scheduler2.setCurrentView();
75397544
}
75407545
}
7541-
scheduler2.event(window, "DOMContentLoaded", refreshAfterLoad);
7542-
scheduler2.event(window, "load", refreshAfterLoad);
7546+
if (typeof window !== "undefined") {
7547+
scheduler2.event(window, "DOMContentLoaded", refreshAfterLoad);
7548+
scheduler2.event(window, "load", refreshAfterLoad);
7549+
}
75437550
scheduler2._border_box_events = function() {
75447551
return checkIfBorderBoxStyling();
75457552
};
@@ -8638,7 +8645,9 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
86388645
return;
86398646
}
86408647
}
8641-
scheduler2.event(document, "keydown", modal_key, true);
8648+
if (typeof window !== "undefined") {
8649+
scheduler2.event(document, "keydown", modal_key, true);
8650+
}
86428651
function modality(mode) {
86438652
if (!modality.cover) {
86448653
modality.cover = document.createElement("div");
@@ -9103,7 +9112,11 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
91039112
const monthEnd = scheduler2.date.add(scheduler2.date.month_start(new Date(date)), 1, "month");
91049113
let lastDate = scheduler2.date.add(scheduler2.date.month_start(new Date(date)), 1, "month");
91059114
const currentCalDate = scheduler2.date.date_part(scheduler2._currentDate());
9106-
if (lastDate.getDay() !== 0) {
9115+
if (lastDate.getDay() !== 0 && scheduler2.config.start_on_monday) {
9116+
const dayOfWeek = lastDate.getDay();
9117+
const daysToSunday = (7 - dayOfWeek) % 7;
9118+
lastDate = scheduler2.date.add(lastDate, daysToSunday + 1, "day");
9119+
} else {
91079120
lastDate = scheduler2.date.add(scheduler2.date.week_start(lastDate), 1, "week");
91089121
}
91099122
let weeks = this._weeksBetween(firstDate, lastDate);
@@ -9228,7 +9241,7 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
92289241
}
92299242
}
92309243
function factoryMethod(extensionManager) {
9231-
const scheduler2 = { version: "7.2.9" };
9244+
const scheduler2 = { version: "7.2.10" };
92329245
scheduler2.$stateProvider = StateService();
92339246
scheduler2.getState = scheduler2.$stateProvider.getState;
92349247
extend$n(scheduler2);
@@ -10185,6 +10198,9 @@ To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product),
1018510198
var conditionalUpdateContainerHeight = function() {
1018610199
if (!(scheduler2.config.container_autoresize && active))
1018710200
return true;
10201+
if (scheduler2._drag_mode && scheduler2._drag_mode === "create" && scheduler2._mobile) {
10202+
return true;
10203+
}
1018810204
var mode = scheduler2.getState().mode;
1018910205
if (!mode) {
1019010206
return true;

codebase/sources/dhtmlxscheduler.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)