15,8 → 15,8 |
return radiusPeriod.join(','); |
} |
|
function addPeriodToArray(array, index, hours) { |
array[index].push([ |
function addPeriodToArray(array, day, hours) { |
array[radiusDays.indexOf(day)].push([ |
hours[0].substr(0,2) + ':' + hours[0].substr(2,4), |
hours[1].substr(0,2) + ':' + hours[1].substr(2,4) |
]); |
33,31 → 33,53 |
|
|
for(let period of radiusAttr) { |
day = radiusDays.indexOf(period.substr(0, 2)); |
hours = /[0-9]{4}-[0-9]{4}$/.exec(period); |
|
hours = period.substr(2).split('-'); |
if(hours === null) { |
hours = "0000-2400"; |
} else { |
hours = hours[0] |
} |
|
if(hours.length !== 2) continue; |
hours = hours.split('-'); |
|
if(day === -1) { |
if(period.substr(0, 2) === 'Wk') { |
for (let i = 0; i < 5; ++i) { |
addPeriodToArray(res, i, hours); |
|
days = /^[a-zA-Z]{2,3}(?:-[a-zA-Z]{2})?/.exec(period); |
|
if(days === null) { |
continue; |
} else { |
days = days[0].split('-'); |
if(days.length > 1) { |
dBegin = radiusDays.indexOf(days[0]); |
dEnd = radiusDays.indexOf(days[1]); |
|
if(dBegin === -1 || dEnd === -1 || dBegin > dEnd) { |
continue; |
} |
} else if(period.substr(0, 3) === 'Any') { |
hours = period.substr(3).split('-'); |
|
for (let i = 0; i < 7; ++i) { |
addPeriodToArray(res, i, hours); |
} |
days = radiusDays.slice(dBegin, dEnd + 1); |
} |
} |
|
if(hours.length !== 2) continue; |
|
if(days[0] === 'Wk') { |
for (let i = 0; i < 5; ++i) { |
addPeriodToArray(res, radiusDays[i], hours); |
} |
} else if(days[0] === 'Any' || days[0] == 'Al') { |
for (day of radiusDays) { |
addPeriodToArray(res, day, hours); |
} |
} else { |
addPeriodToArray(res, day, hours); |
for(day of days) { |
addPeriodToArray(res, day, hours); |
} |
} |
} |
|
return res; |
|
} |
|
(function ($) { |