From a8e9f210351b1efa6c3d51e6e76d1cd40710d96a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Poffo?= Date: Wed, 6 Feb 2019 17:09:59 -0200 Subject: [PATCH] Standard --- src/diagrams/gantt/ganttDb.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/diagrams/gantt/ganttDb.js b/src/diagrams/gantt/ganttDb.js index 357efd439..84b2837b5 100644 --- a/src/diagrams/gantt/ganttDb.js +++ b/src/diagrams/gantt/ganttDb.js @@ -64,13 +64,19 @@ export const getTasks = function () { } const getNextValidDate = function (date, dateFormat, excludes) { - const excludeWeekends = excludes.indexOf('weekend') >= 0 || excludes.indexOf('weekends') >= 0; + const excludeWeekends = excludes.indexOf('weekend') >= 0 || excludes.indexOf('weekends') >= 0 const trimmedDateFormat = dateFormat.trim() - let mDate = moment.isMoment(date) ? date : (moment.isDate(date) ? moment(date) : moment(date, dateFormat, true)); - while ((excludeWeekends && mDate.isoWeekday() >= 6) || (excludes.indexOf(mDate.format(trimmedDateFormat)) >= 0)) { + let mDate = moment.isMoment(date) ? date : (moment.isDate(date) ? moment(date) : moment(date, dateFormat, true)) + + const isInvalidDate = function (d) { + return (excludeWeekends && d.isoWeekday() >= 6) || (excludes.indexOf(d.format(trimmedDateFormat)) >= 0) + } + + while (isInvalidDate(mDate)) { mDate = mDate.add(1, 'd') } - return mDate.toDate(); + + return mDate.toDate() } const getStartDate = function (prevTime, dateFormat, excludes, str) { @@ -86,15 +92,15 @@ const getStartDate = function (prevTime, dateFormat, excludes, str) { if (typeof task === 'undefined') { const dt = new Date() dt.setHours(0, 0, 0, 0) - //return getNextValidDate(dt, dateFormat, excludes) + // return getNextValidDate(dt, dateFormat, excludes) return dt } - //return getNextValidDate(task.endTime, dateFormat, excludes) + // return getNextValidDate(task.endTime, dateFormat, excludes) return task.endTime } // Check for actual date set - let mDate = moment(str, dateFormat.trim(), true); + let mDate = moment(str, dateFormat.trim(), true) if (mDate.isValid()) { return getNextValidDate(mDate, dateFormat, excludes) } else { @@ -110,9 +116,9 @@ const getEndDate = function (prevTime, dateFormat, excludes, str) { str = str.trim() // Check for actual date - let mDate = moment(str, dateFormat.trim(), true); + let mDate = moment(str, dateFormat.trim(), true) if (mDate.isValid()) { - //return getNextValidDate(mDate, dateFormat, excludes) + // return getNextValidDate(mDate, dateFormat, excludes) return mDate.toDate() }