(window["webpackJsonp_name_"] = window["webpackJsonp_name_"] || []).push([[64,3,9,81],{
/***/ 207:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var WpwCalendar = function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(elem, setting) {
var calendarClass, cal_days_labels, cal_months_labels, cal_days_in_month, cal_current_date, month, year, update, arrowPrev, arrowNext;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
calendarClass = 'wpw-calendar';
// these are labels for the days of the week
cal_days_labels = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
// these are human-readable month name labels, in order
cal_months_labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
// these are the days of the week for each month, in order
cal_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
// this is the current date
cal_current_date = new Date();
month = isNaN(setting.month) || setting.month == null ? cal_current_date.getMonth() : setting.month;
year = isNaN(setting.year) || setting.year == null ? cal_current_date.getFullYear() : setting.year;
// let html = generateHTML(month, year, new Date(year, month, 1), calendarClass, cal_days_labels, cal_months_labels, cal_days_in_month);
// elem.innerHTML = html;
update = updateHTML(elem, calendarClass, cal_days_labels, cal_months_labels, cal_days_in_month);
update(month, year, new Date(year, month, 1));
arrowPrev = (0, _index2.default)(elem, '.wpw-calendar__arrow-prev'); //elem.querySelector(`.wpw-calendar__arrow-prev`);
arrowNext = (0, _index2.default)(elem, '.wpw-calendar__arrow-next'); //elem.querySelector(`.wpw-calendar__arrow-next`);
arrowPrev && arrowPrev.addEventListener('click', function (event) {
month--;
if (month < 0) {
month = 11;
year--;
}
update(month, year, new Date(year, month, 1));
});
arrowNext && arrowNext.addEventListener('click', function (event) {
month++;
if (month >= 12) {
month = 0;
year++;
}
update(month, year, new Date(year, month, 1));
});
case 13:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
return function WpwCalendar(_x, _x2) {
return _ref.apply(this, arguments);
};
}();
exports.default = WpwCalendarManager;
__webpack_require__(429);
var _index = __webpack_require__(71);
var _index2 = _interopRequireDefault(_index);
var _index3 = __webpack_require__(70);
var _index4 = _interopRequireDefault(_index3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
// *******************************************
function WpwCalendarManager(settings) {
Object.keys(settings).forEach(function (key) {
var elem = (0, _index2.default)(document, '#' + key + ' .wpw-calendar'); //document.querySelector(`#${key} .wpw-calendar`);
WpwCalendar(elem, settings[key]);
});
}
function updateHTML(elem, calendarClass, cal_days_labels, cal_months_labels, cal_days_in_month) {
var _this = this;
var title = (0, _index2.default)(elem, '.wpw-calendar__title'); //elem.querySelector('.wpw-calendar__title');
var tbody = (0, _index2.default)(elem, '.wpw-calendar__tbody'); //elem.querySelector('.wpw-calendar__tbody');
var theader = (0, _index2.default)(elem, '.wpw-calendar__theader'); // elem.querySelector('.wpw-calendar__theader');
return function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(month, year, firstDay) {
var action, days;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
elem.classList.add('loading');
action = window.wpwUrls.ajax;
// const headers = new Headers();
// headers.set('Content-Type', 'application/x-www-form-urlencoded');
_context2.next = 4;
return (0, _index4.default)(action + '?action=wpw_get_calendar', {
method: 'POST',
// credentials: 'include',
headers: {
'content-type': 'application/x-www-form-urlencoded'
},
body: 'month=' + (month + 1) + '&year=' + year
}, function (res) {
elem.classList.remove('loading');
return res.data && res.data.days || [];
}).catch(function (err) {
elem.classList.remove('loading');
throw new Error(err);
});
case 4:
days = _context2.sent;
title.innerHTML = '' + getBgTemplate() + cal_months_labels[month] + ' ' + year;
tbody.innerHTML = '' + getBgTemplate() + getTDTemplate(cal_days_in_month, firstDay, month, year, calendarClass, days);
theader.innerHTML = '\n ' + getBgTemplate() + '\n ' + cal_days_labels.reduce(function (string, item) {
return string + '
' + getBgTemplate() + item + '
';
}, '') + '\n ';
case 8:
case 'end':
return _context2.stop();
}
}
}, _callee2, _this);
}));
return function (_x3, _x4, _x5) {
return _ref2.apply(this, arguments);
};
}();
}
function generateHTML(month, year, firstDay, calendarClass, cal_days_labels, cal_months_labels, cal_days_in_month, days) {
// get first day of month
// var firstDay = new Date(year, month, 1);
var startingDay = firstDay.getDay();
// find number of days in month
var monthLength = cal_days_in_month[month];
// compensate for leap year
if (month == 1) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
monthLength = 29;
}
}
return '\n \n ' + getBgTemplate() + '\n\n \n\n \n\n
\n ' + getTDTemplate(cal_days_in_month, firstDay, month, year, calendarClass, days) + '\n
\n\n
\n ';
}
function getTDTemplate(cal_days_in_month, firstDay, month, year, calendarClass, days) {
var startingDay = firstDay.getDay();
// find number of days in month
var monthLength = cal_days_in_month[month];
// compensate for leap year
if (month == 1) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
monthLength = 29;
}
}
// fill in the days
var day = 1;
var template = '';
// this loop is for is weeks (rows)
for (var i = 0; i < 9; i++) {
// this loop is for weekdays (cells)
template += '';
for (var j = 0; j <= 6; j++) {
template += '
' + getBgTemplate();
if (day <= monthLength && (i > 0 || j >= startingDay)) {
template += days[day] ? '
' + day + '' : day;
day++;
}
template += '
';
}
// stop making rows if we've run out of days
if (day > monthLength) {
break;
} else {
template += '
';
}
}
return template;
}
function getBgTemplate() {
return '\n \n \n \n \n \n \n \n \n \n \n ';
}
/***/ }),
/***/ 429:
/***/ (function(module, exports, __webpack_require__) {
var content = __webpack_require__(451);
if(typeof content === 'string') content = [[module.i, content, '']];
var transform;
var insertInto;
var options = {"hmr":true}
options.transform = transform
options.insertInto = undefined;
var update = __webpack_require__(167)(content, options);
if(content.locals) module.exports = content.locals;
if(false) {}
/***/ }),
/***/ 450:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
(function (self) {
'use strict';
if (self.fetch) {
return;
}
var support = {
searchParams: 'URLSearchParams' in self,
iterable: 'Symbol' in self && 'iterator' in Symbol,
blob: 'FileReader' in self && 'Blob' in self && function () {
try {
new Blob();
return true;
} catch (e) {
return false;
}
}(),
formData: 'FormData' in self,
arrayBuffer: 'ArrayBuffer' in self
};
if (support.arrayBuffer) {
var viewClasses = ['[object Int8Array]', '[object Uint8Array]', '[object Uint8ClampedArray]', '[object Int16Array]', '[object Uint16Array]', '[object Int32Array]', '[object Uint32Array]', '[object Float32Array]', '[object Float64Array]'];
var isDataView = function isDataView(obj) {
return obj && DataView.prototype.isPrototypeOf(obj);
};
var isArrayBufferView = ArrayBuffer.isView || function (obj) {
return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1;
};
}
function normalizeName(name) {
if (typeof name !== 'string') {
name = String(name);
}
if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
throw new TypeError('Invalid character in header field name');
}
return name.toLowerCase();
}
function normalizeValue(value) {
if (typeof value !== 'string') {
value = String(value);
}
return value;
}
// Build a destructive iterator for the value list
function iteratorFor(items) {
var iterator = {
next: function next() {
var value = items.shift();
return { done: value === undefined, value: value };
}
};
if (support.iterable) {
iterator[Symbol.iterator] = function () {
return iterator;
};
}
return iterator;
}
function Headers(headers) {
this.map = {};
if (headers instanceof Headers) {
headers.forEach(function (value, name) {
this.append(name, value);
}, this);
} else if (Array.isArray(headers)) {
headers.forEach(function (header) {
this.append(header[0], header[1]);
}, this);
} else if (headers) {
Object.getOwnPropertyNames(headers).forEach(function (name) {
this.append(name, headers[name]);
}, this);
}
}
Headers.prototype.append = function (name, value) {
name = normalizeName(name);
value = normalizeValue(value);
var oldValue = this.map[name];
this.map[name] = oldValue ? oldValue + ',' + value : value;
};
Headers.prototype['delete'] = function (name) {
delete this.map[normalizeName(name)];
};
Headers.prototype.get = function (name) {
name = normalizeName(name);
return this.has(name) ? this.map[name] : null;
};
Headers.prototype.has = function (name) {
return this.map.hasOwnProperty(normalizeName(name));
};
Headers.prototype.set = function (name, value) {
this.map[normalizeName(name)] = normalizeValue(value);
};
Headers.prototype.forEach = function (callback, thisArg) {
for (var name in this.map) {
if (this.map.hasOwnProperty(name)) {
callback.call(thisArg, this.map[name], name, this);
}
}
};
Headers.prototype.keys = function () {
var items = [];
this.forEach(function (value, name) {
items.push(name);
});
return iteratorFor(items);
};
Headers.prototype.values = function () {
var items = [];
this.forEach(function (value) {
items.push(value);
});
return iteratorFor(items);
};
Headers.prototype.entries = function () {
var items = [];
this.forEach(function (value, name) {
items.push([name, value]);
});
return iteratorFor(items);
};
if (support.iterable) {
Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
}
function consumed(body) {
if (body.bodyUsed) {
return Promise.reject(new TypeError('Already read'));
}
body.bodyUsed = true;
}
function fileReaderReady(reader) {
return new Promise(function (resolve, reject) {
reader.onload = function () {
resolve(reader.result);
};
reader.onerror = function () {
reject(reader.error);
};
});
}
function readBlobAsArrayBuffer(blob) {
var reader = new FileReader();
var promise = fileReaderReady(reader);
reader.readAsArrayBuffer(blob);
return promise;
}
function readBlobAsText(blob) {
var reader = new FileReader();
var promise = fileReaderReady(reader);
reader.readAsText(blob);
return promise;
}
function readArrayBufferAsText(buf) {
var view = new Uint8Array(buf);
var chars = new Array(view.length);
for (var i = 0; i < view.length; i++) {
chars[i] = String.fromCharCode(view[i]);
}
return chars.join('');
}
function bufferClone(buf) {
if (buf.slice) {
return buf.slice(0);
} else {
var view = new Uint8Array(buf.byteLength);
view.set(new Uint8Array(buf));
return view.buffer;
}
}
function Body() {
this.bodyUsed = false;
this._initBody = function (body) {
this._bodyInit = body;
if (!body) {
this._bodyText = '';
} else if (typeof body === 'string') {
this._bodyText = body;
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
this._bodyBlob = body;
} else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
this._bodyFormData = body;
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
this._bodyText = body.toString();
} else if (support.arrayBuffer && support.blob && isDataView(body)) {
this._bodyArrayBuffer = bufferClone(body.buffer);
// IE 10-11 can't handle a DataView body.
this._bodyInit = new Blob([this._bodyArrayBuffer]);
} else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
this._bodyArrayBuffer = bufferClone(body);
} else {
throw new Error('unsupported BodyInit type');
}
if (!this.headers.get('content-type')) {
if (typeof body === 'string') {
this.headers.set('content-type', 'text/plain;charset=UTF-8');
} else if (this._bodyBlob && this._bodyBlob.type) {
this.headers.set('content-type', this._bodyBlob.type);
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
}
}
};
if (support.blob) {
this.blob = function () {
var rejected = consumed(this);
if (rejected) {
return rejected;
}
if (this._bodyBlob) {
return Promise.resolve(this._bodyBlob);
} else if (this._bodyArrayBuffer) {
return Promise.resolve(new Blob([this._bodyArrayBuffer]));
} else if (this._bodyFormData) {
throw new Error('could not read FormData body as blob');
} else {
return Promise.resolve(new Blob([this._bodyText]));
}
};
this.arrayBuffer = function () {
if (this._bodyArrayBuffer) {
return consumed(this) || Promise.resolve(this._bodyArrayBuffer);
} else {
return this.blob().then(readBlobAsArrayBuffer);
}
};
}
this.text = function () {
var rejected = consumed(this);
if (rejected) {
return rejected;
}
if (this._bodyBlob) {
return readBlobAsText(this._bodyBlob);
} else if (this._bodyArrayBuffer) {
return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));
} else if (this._bodyFormData) {
throw new Error('could not read FormData body as text');
} else {
return Promise.resolve(this._bodyText);
}
};
if (support.formData) {
this.formData = function () {
return this.text().then(decode);
};
}
this.json = function () {
return this.text().then(JSON.parse);
};
return this;
}
// HTTP methods whose capitalization should be normalized
var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];
function normalizeMethod(method) {
var upcased = method.toUpperCase();
return methods.indexOf(upcased) > -1 ? upcased : method;
}
function Request(input, options) {
options = options || {};
var body = options.body;
if (input instanceof Request) {
if (input.bodyUsed) {
throw new TypeError('Already read');
}
this.url = input.url;
this.credentials = input.credentials;
if (!options.headers) {
this.headers = new Headers(input.headers);
}
this.method = input.method;
this.mode = input.mode;
if (!body && input._bodyInit != null) {
body = input._bodyInit;
input.bodyUsed = true;
}
} else {
this.url = String(input);
}
this.credentials = options.credentials || this.credentials || 'omit';
if (options.headers || !this.headers) {
this.headers = new Headers(options.headers);
}
this.method = normalizeMethod(options.method || this.method || 'GET');
this.mode = options.mode || this.mode || null;
this.referrer = null;
if ((this.method === 'GET' || this.method === 'HEAD') && body) {
throw new TypeError('Body not allowed for GET or HEAD requests');
}
this._initBody(body);
}
Request.prototype.clone = function () {
return new Request(this, { body: this._bodyInit });
};
function decode(body) {
var form = new FormData();
body.trim().split('&').forEach(function (bytes) {
if (bytes) {
var split = bytes.split('=');
var name = split.shift().replace(/\+/g, ' ');
var value = split.join('=').replace(/\+/g, ' ');
form.append(decodeURIComponent(name), decodeURIComponent(value));
}
});
return form;
}
function parseHeaders(rawHeaders) {
var headers = new Headers();
rawHeaders.split(/\r?\n/).forEach(function (line) {
var parts = line.split(':');
var key = parts.shift().trim();
if (key) {
var value = parts.join(':').trim();
headers.append(key, value);
}
});
return headers;
}
Body.call(Request.prototype);
function Response(bodyInit, options) {
if (!options) {
options = {};
}
this.type = 'default';
this.status = 'status' in options ? options.status : 200;
this.ok = this.status >= 200 && this.status < 300;
this.statusText = 'statusText' in options ? options.statusText : 'OK';
this.headers = new Headers(options.headers);
this.url = options.url || '';
this._initBody(bodyInit);
}
Body.call(Response.prototype);
Response.prototype.clone = function () {
return new Response(this._bodyInit, {
status: this.status,
statusText: this.statusText,
headers: new Headers(this.headers),
url: this.url
});
};
Response.error = function () {
var response = new Response(null, { status: 0, statusText: '' });
response.type = 'error';
return response;
};
var redirectStatuses = [301, 302, 303, 307, 308];
Response.redirect = function (url, status) {
if (redirectStatuses.indexOf(status) === -1) {
throw new RangeError('Invalid status code');
}
return new Response(null, { status: status, headers: { location: url } });
};
self.Headers = Headers;
self.Request = Request;
self.Response = Response;
self.fetch = function (input, init) {
return new Promise(function (resolve, reject) {
var request = new Request(input, init);
var xhr = new XMLHttpRequest();
xhr.onload = function () {
var options = {
status: xhr.status,
statusText: xhr.statusText,
headers: parseHeaders(xhr.getAllResponseHeaders() || '')
};
options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');
var body = 'response' in xhr ? xhr.response : xhr.responseText;
resolve(new Response(body, options));
};
xhr.onerror = function () {
reject(new TypeError('Network request failed'));
};
xhr.ontimeout = function () {
reject(new TypeError('Network request failed'));
};
xhr.open(request.method, request.url, true);
if (request.credentials === 'include') {
xhr.withCredentials = true;
}
if ('responseType' in xhr && support.blob) {
xhr.responseType = 'blob';
}
request.headers.forEach(function (value, name) {
xhr.setRequestHeader(name, value);
});
xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);
});
};
self.fetch.polyfill = true;
})(typeof self !== 'undefined' ? self : undefined);
/***/ }),
/***/ 451:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(168)(false);
// imports
// module
exports.push([module.i, ".wpw-calendar{position:relative;transition:opacity .2s ease}.wpw-calendar.loading{opacity:.5;pointer-events:none}.wpw-calendar__header{position:relative;display:flex;align-items:center}.wpw-calendar__arrow{position:relative;flex:0 0 auto;cursor:pointer}.wpw-calendar__title{position:relative;flex:1 1 auto}.wpw-calendar__theader{position:relative;display:flex}.wpw-calendar__th{position:relative;flex:1 1 0px;min-width:0}.wpw-calendar__th:last-child{border-right:none!important}.wpw-calendar__row,.wpw-calendar__tbody{position:relative;width:100%}.wpw-calendar__row{display:flex}.wpw-calendar__row:last-child .wpw-calendar__td{border-bottom:none!important}.wpw-calendar__td{position:relative;flex:1 1 0px;min-width:0}.wpw-calendar__td:last-child{border-right:none!important}", ""]);
// exports
/***/ }),
/***/ 70:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
__webpack_require__(450);
exports.default = function (action, settings, cb) {
return fetch(action, settings).then(function (res) {
return res.json();
}).then(function (res) {
return cb(res);
}).catch(function (err) {
throw new Error(err);
});
};
/***/ }),
/***/ 71:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function (context, selector) {
return context.querySelector(selector);
};
/***/ })
}]);