(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 ' + getBgTemplate() + '\n
' + getBgTemplate() + 'Arrow
\n
' + getBgTemplate() + cal_months_labels[month] + ' ' + year + '
\n
' + getBgTemplate() + 'Arrow
\n
\n\n
\n ' + getBgTemplate() + '\n ' + cal_days_labels.reduce(function (string, item) { return string + '
' + getBgTemplate() + item + '
'; }, '') + '\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); }; /***/ }) }]);