diff --git a/BackEnd/Login.html b/BackEnd/Login.html index 5905b36..c00f4ab 100644 --- a/BackEnd/Login.html +++ b/BackEnd/Login.html @@ -7,11 +7,14 @@ 不來梅短網址管理系統 + - + + + @@ -68,6 +71,7 @@ })(jQuery, document); $(document).ready(function () { + $.busyLoadSetup({ animation: "fade", background: "rgba(255, 152, 0, 0.75)" }); if ($.cookie("id") != null) { $("#inputUser").val($.cookieKey("id", "id")); @@ -111,6 +115,73 @@ return false; } + @@ -152,6 +223,10 @@ +
+
+
+
diff --git a/BackEnd/api/userData.ashx b/BackEnd/api/userData.ashx index cdec04b..26dfc55 100644 --- a/BackEnd/api/userData.ashx +++ b/BackEnd/api/userData.ashx @@ -84,6 +84,17 @@ public class userData : IHttpHandler, IReadOnlySessionState { userObj.user_type = type; + string user_sql = string.Format("select * from users where user_email = '{0}' and user_uid <> '{1}' and user_onjob = 'Y'", sys_email, user_uid); + autoBindDataTable objUserSQL = new autoBindDataTable(user_sql); + + if (objUserSQL.dataRows.Count > 0) { + objRet.ret = "no"; + objRet.err_code = "0011"; + objRet.message = "此Email已經有人使用! "; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + if (sys_pwd != "") { userObj.user_pwd = sys_pwd; } @@ -129,6 +140,17 @@ public class userData : IHttpHandler, IReadOnlySessionState { } if (method == "add") { + string user_sql = string.Format("select * from users where user_email = '{0}' and user_onjob = 'Y'", sys_email); + autoBindDataTable objUserSQL = new autoBindDataTable(user_sql); + + if (objUserSQL.dataRows.Count > 0) { + objRet.ret = "no"; + objRet.err_code = "0011"; + objRet.message = "此Email已經有人使用! "; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + if (type == "N") { userSQL = new autoBindDataTable(string.Format("select * from users where user_id = '{0}'", elab_select)); diff --git a/BackEnd/api/validGoogleLogin.ashx b/BackEnd/api/validGoogleLogin.ashx new file mode 100644 index 0000000..ddeb404 --- /dev/null +++ b/BackEnd/api/validGoogleLogin.ashx @@ -0,0 +1,153 @@ +<%@ WebHandler Language="C#" Class="validGoogleLogin" %> + +using System; +using System.Web; +using Google.Apis.Auth; +using System.Runtime.Serialization.Json; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System.Web.Services.Protocols; +using System.Security.Cryptography; +using System.Text; +using System.Web.SessionState; +using System.Data; +using System.Threading.Tasks; +using System.Threading; +using System.Collections.Generic; + +public class validGoogleLogin : System.Web.HttpTaskAsyncHandler { + + public override async System.Threading.Tasks.Task ProcessRequestAsync(HttpContext context) { + result objRet = new result(); + DataContractJsonSerializer json = new DataContractJsonSerializer(objRet.GetType()); + context.Response.ContentType = "application/json;charset=utf-8"; + + string jwt = (context.Request["jwt"] == null) ? "" : context.Request["jwt"].ToString();//回傳憑證 + string remember = (context.Request["rem"] == null) ? "N" : context.Request["rem"].ToString(); + + if (jwt == "") { + + objRet.ret = "no"; + objRet.err_code = "0001"; + objRet.message = "無JWT資料可以登入!"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + + //validate it using Google.Apis.Auth (null if invalid) + //var validPayload = await GoogleJsonWebSignature.ValidateAsync(jwt); + GoogleJsonWebSignature.Payload payload = await ValidateGoogleTokenAsync(jwt); + + if (payload == null) { + objRet.ret = "no"; + objRet.err_code = "0002"; + objRet.message = "JWT驗證失敗!"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + string googleID = System.Web.Configuration.WebConfigurationManager.AppSettings["googleOAuthID"].ToString(); + string audience = payload.Audience.ToString(); + + if (audience != googleID) { + objRet.ret = "no"; + objRet.err_code = "0003"; + objRet.message = "JWT驗證失敗!"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + + string userId = payload.Subject; + string email = payload.Email; + string name = payload.Name; + + string user_sql = string.Format("select * from users where user_email = '{0}' and user_onjob = 'Y'", email); + autoBindDataTable objUser = new autoBindDataTable(user_sql); + + if (objUser.dataRows.Count == 0) { + objRet.ret = "no"; + objRet.err_code = "0004"; + objRet.message = "無此Email帳號於PRM系統中,請直屬主管加入!"; + json.WriteObject(context.Response.OutputStream, objRet); + return; + } + + string token_key = CreateRandomCode(36); + string user_uid = objUser.dataRows[0]["user_uid"].ToString(); + string id = objUser.dataRows[0]["user_id"].ToString(); + + autoBindDataTable dataToken = new autoBindDataTable("select * from token where token_sn = -1"); + DataRow rowToken = dataToken.newRow; + dataToken.dataRows.Add(rowToken); + rowToken["token_key"] = token_key; + rowToken["user_uid"] = user_uid; + rowToken["token_isremember"] = remember; + rowToken["token_expireddate"] = DateTime.Now.AddMinutes(60); + + + HttpCookie tokenCookie = new HttpCookie("token"); + HttpCookie idCookie = new HttpCookie("id"); + tokenCookie["token"] = token_key; + tokenCookie["uid"] = user_uid; + idCookie["id"] = id; + + idCookie.Expires = DateTime.Now.AddDays(31); + + if (remember == "Y") { + tokenCookie.Expires = DateTime.Now.AddDays(10); + rowToken["token_expireddate"] = DateTime.Now.AddDays(10); + } + + dataToken.updateDataTable(); + context.Response.Cookies.Add(tokenCookie); + context.Response.Cookies.Add(idCookie); + + objRet.ret = "yes"; + json.WriteObject(context.Response.OutputStream, objRet); + } + + private static async Task ValidateGoogleTokenAsync(string idToken) + { + try + { + var payload = await GoogleJsonWebSignature.ValidateAsync(idToken); + + if (payload == null || string.IsNullOrEmpty(payload.Email)) + throw new UnauthorizedAccessException("Invalid Google Token"); + + return payload; + } + catch (Exception ex){ + string exM = ex.Message; + throw new UnauthorizedAccessException("Invalid Google Token"); + return null; + } + } + + public string CreateRandomCode(int Number) + { + string allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"; + string[] allCharArray = allChar.Split(','); + string randomCode = ""; + + Random rand = new Random(Guid.NewGuid().GetHashCode()); + for (int i = 0; i <= Number - 1; i++) + { + int t = rand.Next(allCharArray.Length); + randomCode += allCharArray[t]; + } + return randomCode; + } + + public class result { + public string ret = "no"; + public string err_code = "0000"; + public string message = ""; + } + + public bool IsReusable { + get { + return false; + } + } + +} \ No newline at end of file diff --git a/BackEnd/assets/vendor/busy-load/app.css b/BackEnd/assets/vendor/busy-load/app.css new file mode 100644 index 0000000..981bd4e --- /dev/null +++ b/BackEnd/assets/vendor/busy-load/app.css @@ -0,0 +1,285 @@ +/** +* Spinners +* +* @see http://tobiasahlin.com/spinkit/ +*/ +.spinner-cube-grid { + width: 40px; + height: 40px; } +.spinner-cube-grid .sk-cube { + width: 33%; + height: 33%; + background-color: #333; + float: left; + -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; + animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; } +.spinner-cube-grid .sk-cube1 { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } +.spinner-cube-grid .sk-cube2 { + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; } +.spinner-cube-grid .sk-cube3 { + -webkit-animation-delay: 0.4s; + animation-delay: 0.4s; } +.spinner-cube-grid .sk-cube4 { + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; } +.spinner-cube-grid .sk-cube5 { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } +.spinner-cube-grid .sk-cube6 { + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; } +.spinner-cube-grid .sk-cube7 { + -webkit-animation-delay: 0s; + animation-delay: 0s; } +.spinner-cube-grid .sk-cube8 { + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; } +.spinner-cube-grid .sk-cube9 { + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } +@-webkit-keyframes sk-cubeGridScaleDelay { + 0%, 70%, 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); } + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); } } +@keyframes sk-cubeGridScaleDelay { + 0%, 70%, 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); } + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); } } +.spinner-circle-line { + margin: 10px auto 0; + width: 70px; + text-align: center; } +.spinner-circle-line > div { + width: 18px; + height: 18px; + background-color: #333; + border-radius: 100%; + display: inline-block; + -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; + animation: sk-bouncedelay 1.4s infinite ease-in-out both; } +.spinner-circle-line .bounce1 { + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; } +.spinner-circle-line .bounce2 { + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; } +@-webkit-keyframes sk-bouncedelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); } + 40% { + -webkit-transform: scale(1); } } +@keyframes sk-bouncedelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); } + 40% { + -webkit-transform: scale(1); + transform: scale(1); } } +.spinner-circles { + width: 40px; + height: 40px; + position: relative; + text-align: center; + -webkit-animation: sk-rotate 2.0s infinite linear; + animation: sk-rotate 2.0s infinite linear; } +.dot1, .dot2 { + width: 60%; + height: 60%; + display: inline-block; + position: absolute; + top: 0; + background-color: #333; + border-radius: 100%; + -webkit-animation: sk-bounce 2.0s infinite ease-in-out; + animation: sk-bounce 2.0s infinite ease-in-out; } +.dot2 { + top: auto; + bottom: 0; + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; } +@-webkit-keyframes sk-rotate { + 100% { + -webkit-transform: rotate(360deg); } } +@keyframes sk-rotate { + 100% { + transform: rotate(360deg); + -webkit-transform: rotate(360deg); } } +@-webkit-keyframes sk-bounce { + 0%, 100% { + -webkit-transform: scale(0); } + 50% { + -webkit-transform: scale(1); } } +@keyframes sk-bounce { + 0%, 100% { + transform: scale(0); + -webkit-transform: scale(0); } + 50% { + transform: scale(1); + -webkit-transform: scale(1); } } +/* Cube */ +.spinner-cube { + width: 40px; + height: 40px; + background-color: #333; + margin: 100px auto; + -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out; + animation: sk-rotateplane 1.2s infinite ease-in-out; } +@-webkit-keyframes sk-rotateplane { + 0% { + -webkit-transform: perspective(120px); } + 50% { + -webkit-transform: perspective(120px) rotateY(180deg); } + 100% { + -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg); } } +@keyframes sk-rotateplane { + 0% { + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); } + 50% { + transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); } + 100% { + transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } } +.spinner-cubes { + width: 40px; + height: 40px; + position: relative; } +.cube1, .cube2 { + background-color: #333; + width: 15px; + height: 15px; + position: absolute; + top: 0; + left: 0; + -webkit-animation: sk-cubemove 1.8s infinite ease-in-out; + animation: sk-cubemove 1.8s infinite ease-in-out; } +.cube2 { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } +@-webkit-keyframes sk-cubemove { + 25% { + -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); } + 50% { + -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); } + 75% { + -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); } + 100% { + -webkit-transform: rotate(-360deg); } } +@keyframes sk-cubemove { + 25% { + transform: translateX(42px) rotate(-90deg) scale(0.5); + -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); } + 50% { + transform: translateX(42px) translateY(42px) rotate(-179deg); + -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); } + 50.1% { + transform: translateX(42px) translateY(42px) rotate(-180deg); + -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); } + 75% { + transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); + -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); } + 100% { + transform: rotate(-360deg); + -webkit-transform: rotate(-360deg); } } +.spinner-pump { + width: 40px; + height: 40px; + position: relative; } +.double-bounce1, .double-bounce2 { + width: 100%; + height: 100%; + border-radius: 50%; + background-color: #333; + opacity: 0.6; + position: absolute; + top: 0; + left: 0; + -webkit-animation: sk-bounce 2.0s infinite ease-in-out; + animation: sk-bounce 2.0s infinite ease-in-out; } +.double-bounce2 { + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; } +@-webkit-keyframes sk-bounce { + 0%, 100% { + -webkit-transform: scale(0); } + 50% { + -webkit-transform: scale(1); } } +@keyframes sk-bounce { + 0%, 100% { + transform: scale(0); + -webkit-transform: scale(0); } + 50% { + transform: scale(1); + -webkit-transform: scale(1); } } +/* Pulsar */ +.spinner-pulsar { + width: 40px; + height: 40px; + background-color: #333; + border-radius: 100%; + -webkit-animation: sk-scaleout 1.0s infinite ease-in-out; + animation: sk-scaleout 1.0s infinite ease-in-out; } +@-webkit-keyframes sk-scaleout { + 0% { + -webkit-transform: scale(0); } + 100% { + -webkit-transform: scale(1); + opacity: 0; } } +@keyframes sk-scaleout { + 0% { + -webkit-transform: scale(0); + transform: scale(0); } + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; } } +/* Accordion */ +.spinner-accordion { + margin: 100px auto; + width: 50px; + height: 40px; + text-align: center; + font-size: 10px; } +.spinner-accordion > div { + background-color: #333; + height: 100%; + width: 6px; + display: inline-block; + -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out; + animation: sk-stretchdelay 1.2s infinite ease-in-out; } +.spinner-accordion.rect2 { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; } +.spinner-accordion .rect3 { + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; } +.spinner-accordion .rect4 { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } +.spinner-accordion.rect5 { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; } +@-webkit-keyframes sk-stretchdelay { + 0%, 40%, 100% { + -webkit-transform: scaleY(0.4); } + 20% { + -webkit-transform: scaleY(1); } } +@keyframes sk-stretchdelay { + 0%, 40%, 100% { + transform: scaleY(0.4); + -webkit-transform: scaleY(0.4); } + 20% { + transform: scaleY(1); + -webkit-transform: scaleY(1); } } +.no-scroll { + overflow: hidden; } diff --git a/BackEnd/assets/vendor/busy-load/app.js b/BackEnd/assets/vendor/busy-load/app.js new file mode 100644 index 0000000..70a123c --- /dev/null +++ b/BackEnd/assets/vendor/busy-load/app.js @@ -0,0 +1,2506 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("jQuery")); + else if(typeof define === 'function' && define.amd) + define(["jQuery"], factory); + else if(typeof exports === 'object') + exports["busyLoad"] = factory(require("jQuery")); + else + root["busyLoad"] = factory(root["jQuery"]); +})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_64__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 13); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGet = __webpack_require__(18); + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Component = exports.Component = function () { + function Component(tag, options, busyLoadOptions) { + _classCallCheck(this, Component); + + this._options = options; + this._busyLoadOptions = busyLoadOptions; + + this.setTag(tag); + // this.debugOptions(); + } + + /** + * OPTIONS + */ + + _createClass(Component, [{ + key: "debugOptions", + value: function debugOptions() { + console.log(this._options); + } + }, { + key: "extendOptions", + value: function extendOptions(options) { + $.extend(this._options, options); + } + + /** + * TAG + */ + + }, { + key: "setTag", + value: function setTag(tag) { + if (tag instanceof jQuery) { + this._$tag = tag; + } else if (typeof tag === 'string' || tag instanceof String) { + this._$tag = $("<" + tag + "/>", this._options); + } else { + throw "wrong type for creating a tag"; + } + } + }, { + key: "options", + get: function get() { + return this._options; + }, + set: function set(newOptions) { + this._options = newOptions; + } + }, { + key: "tag", + get: function get() { + return this._$tag; + }, + set: function set($tag) { + this._$tag = $tag; + } + }]); + + return Component; +}(); + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(10); + +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); + +module.exports = nativeCreate; + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +var eq = __webpack_require__(46); + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +module.exports = assocIndexOf; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +var isKeyable = __webpack_require__(52); + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +module.exports = getMapData; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +module.exports = isArray; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(9), + isObjectLike = __webpack_require__(25); + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +module.exports = isSymbol; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +var root = __webpack_require__(8); + +/** Built-in value references. */ +var Symbol = root.Symbol; + +module.exports = Symbol; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +var freeGlobal = __webpack_require__(21); + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +module.exports = root; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(7), + getRawTag = __webpack_require__(23), + objectToString = __webpack_require__(24); + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +module.exports = baseGetTag; + + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseIsNative = __webpack_require__(33), + getValue = __webpack_require__(38); + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +module.exports = getNative; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +module.exports = isObject; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + spinner: "pump", // pump, accordion, pulsar, cube, cubes, circle-line, circles, cube-grid + image: false, + fontawesome: false, // "fa fa-refresh fa-spin fa-2x fa-fw" + custom: false, // jQuery Object + color: "#fff", + background: "rgba(0, 0, 0, 0.21)", + maxSize: "50px", // Integer/String only for spinners & images, not fontawesome & custom + minSize: "20px", // Integer/String only for spinners & images, not fontawesome & custom + text: false, + textColor: false, // default is color + textMargin: ".5rem", + textPosition: "right", // left, right, top, bottom + fontSize: "1rem", + fullScreen: false, + animation: false, // fade, slide + animationDuration: "fast", // String, Integer + containerClass: "busy-load-container", + containerItemClass: "busy-load-container-item", + spinnerClass: "busy-load-spinner", + textClass: "busy-load-text" +}; + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +__webpack_require__(14); + +var _busyLoad = __webpack_require__(15); + +var _defaults = __webpack_require__(12); + +var _defaults2 = _interopRequireDefault(_defaults); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var jQuery = __webpack_require__(64); + +(function ($) { + $.fn.busyLoad = _busyLoad.busyLoad; + $.busyLoadSetup = _busyLoad.busyLoadSetup; + $.busyLoadFull = _busyLoad.busyLoadFull; + $.fn.busyLoad.defaults = _defaults2.default; +})(jQuery); + +/***/ }), +/* 14 */ +/***/ (function(module, exports) { + +// removed by extract-text-webpack-plugin + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.busyLoadSetup = busyLoadSetup; +exports.busyLoad = busyLoad; +exports.busyLoadFull = busyLoadFull; + +var _classBusyLoad = __webpack_require__(16); + +var _defaults = __webpack_require__(12); + +var _defaults2 = _interopRequireDefault(_defaults); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function busyLoadSetup(settings) { + $.extend(true, _defaults2.default, settings); +} + +function busyLoad(action, options) { + + return this.each(function () { + var bl = new _classBusyLoad.BusyLoad($(this), JSON.parse(JSON.stringify(_defaults2.default)), options); + + switch (action) { + case "show": + bl.show(); + break; + case "hide": + bl.hide(); + break; + default: + throw 'don\'t know action \'' + action + '\''; + } + }); +} + +function busyLoadFull(action, options) { + + var $body = $('body'); + var bl = new _classBusyLoad.BusyLoad($body, JSON.parse(JSON.stringify(_defaults2.default)), options); + + switch (action.toLowerCase()) { + case "show": + $body.addClass("no-scroll"); + bl.caller = $body; + bl.extendSettings({ + fullScreen: true + }); + bl.show(); + + break; + + case "hide": + bl.hide(); + $body.removeClass("no-scroll"); + break; + } + + return $body; +} + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.BusyLoad = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _classContainer = __webpack_require__(17); + +var _classContainerItem = __webpack_require__(60); + +var _classText = __webpack_require__(61); + +var _classSpinner = __webpack_require__(62); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var get = __webpack_require__(0); + +var BusyLoad = exports.BusyLoad = function () { + function BusyLoad(caller, defaults, options) { + _classCallCheck(this, BusyLoad); + + this._settings = defaults; + this._caller = caller; + + this.extendSettings(options); + // this.debugSettings(); + } + + _createClass(BusyLoad, [{ + key: 'debugSettings', + value: function debugSettings() { + console.log(this._settings.fullScreen); + } + }, { + key: 'extendSettings', + value: function extendSettings(options) { + $.extend(this._settings, options); + } + }, { + key: 'animateShow', + value: function animateShow($tag) { + var _this = this; + + var callback = function callback() { + return $tag.trigger("bl.shown", [$tag, $(_this.caller)]); + }; + + this.caller.append($tag); // already hidden + $tag.trigger("bl.show", [$tag, $(this.caller)]); + + if (get(this.settings, "animation", false)) { + + switch (get(this.settings, "animation").toLowerCase()) { + case "fade": + $tag = $tag.fadeIn(get(this.settings, "animationDuration", "fast"), callback); + break; + case "slide": + $tag = $tag.slideDown(get(this.settings, "animationDuration", "fast"), callback); + break; + default: + throw "don't know animation: " + get(this.settings, "animation"); + } + } else { + $tag.show(0, callback); + } + + return $tag; + } + }, { + key: 'animateHide', + value: function animateHide($tag) { + var _this2 = this; + + var callback = function callback() { + $tag.trigger("bl.hidden", [$tag, $(_this2.caller)]); + $tag.remove(); + }; + + $tag.trigger("bl.hide", [$tag, $(this.caller)]); + + if (get(this.settings, "animation", false)) { + switch (get(this.settings, "animation").toLowerCase()) { + case "fade": + $tag = $tag.fadeOut(get(this.settings, "animationDuration", "fast"), callback); + break; + case "slide": + $tag = $tag.slideUp(get(this.settings, "animationDuration", "fast"), callback); + break; + default: + throw "don't know animation: " + get(this.settings, "animation"); + } + } else { + $tag.hide(0, callback); + } + } + }, { + key: 'getOverlay', + value: function getOverlay() { + // already existent? + if (this._caller.data("busy-load-container")) { + return $("#" + this._caller.data("busy-load-container")); + } + // no ... create one + else { + // container & elements + this._container = new _classContainer.Container(this._settings); + this._containerItem = new _classContainerItem.ContainerItem(this._settings); + + // append text + if (get(this.settings, "text", false)) { + this._loadingText = new _classText.Text(this._settings); + this._containerItem.tag.append(this._loadingText.tag); + } + // append spinner + if (get(this.settings, "spinner", "pump") !== false) { + this._spinner = new _classSpinner.Spinner(this._settings); + this._containerItem.tag.append(this._spinner.tag); + } + + // container + this._container.tag.append(this._containerItem.tag).hide(); + } + + return this._container.tag; + } + }, { + key: 'createRandomString', + value: function createRandomString() { + return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); + } + }, { + key: 'toggle', + value: function toggle($tag, action) { + // show + if (action == 'show') { + var randomString = this.createRandomString(); + + // position static? + if (this.caller.css('position') === 'static') { + this.caller.css('position', 'relative'); + } + + this._caller.addClass('busy-load-active'); + $tag.attr('id', randomString); + $tag = this.animateShow($tag); + + this._caller.data("busy-load-container", randomString); + } + // hide + else { + this.animateHide($tag); + this._caller.removeData("busy-load-container"); + this._caller.removeClass('busy-load-active'); + } + } + }, { + key: 'show', + value: function show() { + this.toggle(this.getOverlay(), "show"); + } + }, { + key: 'hide', + value: function hide() { + var containerId = this._caller.data('busy-load-container'); + this.toggle($("#" + containerId), "hide"); + } + }, { + key: 'settings', + get: function get() { + return this._settings; + }, + set: function set(newOptions) { + this._settings = newOptions; + } + }, { + key: 'caller', + get: function get() { + return this._caller; + }, + set: function set(newOptions) { + this._caller = newOptions; + } + }]); + + return BusyLoad; +}(); + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Container = undefined; + +var _classComponent = __webpack_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var get = __webpack_require__(0); + +var Container = exports.Container = function (_Component) { + _inherits(Container, _Component); + + function Container(busyLoadOptions) { + _classCallCheck(this, Container); + + return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).call(this, 'div', { + "class": get(busyLoadOptions, "containerClass"), + "css": { + "position": get(busyLoadOptions, "fullScreen", false) ? "fixed" : "absolute", + "top": 0, + "left": 0, + "background": get(busyLoadOptions, "background", "#fff"), + "color": get(busyLoadOptions, "color", "#0000001a"), + "display": "flex", + "align-items": "center", + "justify-content": "center", + "width": "100%", + "height": "100%", + "z-index": 9999 + } + }, busyLoadOptions)); + } + + return Container; +}(_classComponent.Component); + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +var castPath = __webpack_require__(19), + toKey = __webpack_require__(59); + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +module.exports = baseGet; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArray = __webpack_require__(5), + isKey = __webpack_require__(20), + stringToPath = __webpack_require__(26), + toString = __webpack_require__(56); + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); +} + +module.exports = castPath; + + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + +var isArray = __webpack_require__(5), + isSymbol = __webpack_require__(6); + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +module.exports = isKey; + + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +module.exports = freeGlobal; + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + +/***/ }), +/* 22 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(7); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +module.exports = getRawTag; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +module.exports = objectToString; + + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +module.exports = isObjectLike; + + +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { + +var memoizeCapped = __webpack_require__(27); + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +module.exports = stringToPath; + + +/***/ }), +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { + +var memoize = __webpack_require__(28); + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +module.exports = memoizeCapped; + + +/***/ }), +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { + +var MapCache = __webpack_require__(29); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Expose `MapCache`. +memoize.Cache = MapCache; + +module.exports = memoize; + + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { + +var mapCacheClear = __webpack_require__(30), + mapCacheDelete = __webpack_require__(51), + mapCacheGet = __webpack_require__(53), + mapCacheHas = __webpack_require__(54), + mapCacheSet = __webpack_require__(55); + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +module.exports = MapCache; + + +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { + +var Hash = __webpack_require__(31), + ListCache = __webpack_require__(43), + Map = __webpack_require__(50); + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +module.exports = mapCacheClear; + + +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { + +var hashClear = __webpack_require__(32), + hashDelete = __webpack_require__(39), + hashGet = __webpack_require__(40), + hashHas = __webpack_require__(41), + hashSet = __webpack_require__(42); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +module.exports = Hash; + + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(2); + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +module.exports = hashClear; + + +/***/ }), +/* 33 */ +/***/ (function(module, exports, __webpack_require__) { + +var isFunction = __webpack_require__(34), + isMasked = __webpack_require__(35), + isObject = __webpack_require__(11), + toSource = __webpack_require__(37); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +module.exports = baseIsNative; + + +/***/ }), +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseGetTag = __webpack_require__(9), + isObject = __webpack_require__(11); + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +module.exports = isFunction; + + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + +var coreJsData = __webpack_require__(36); + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +module.exports = isMasked; + + +/***/ }), +/* 36 */ +/***/ (function(module, exports, __webpack_require__) { + +var root = __webpack_require__(8); + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +module.exports = coreJsData; + + +/***/ }), +/* 37 */ +/***/ (function(module, exports) { + +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +module.exports = toSource; + + +/***/ }), +/* 38 */ +/***/ (function(module, exports) { + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +module.exports = getValue; + + +/***/ }), +/* 39 */ +/***/ (function(module, exports) { + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +module.exports = hashDelete; + + +/***/ }), +/* 40 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(2); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +module.exports = hashGet; + + +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(2); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +module.exports = hashHas; + + +/***/ }), +/* 42 */ +/***/ (function(module, exports, __webpack_require__) { + +var nativeCreate = __webpack_require__(2); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +module.exports = hashSet; + + +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { + +var listCacheClear = __webpack_require__(44), + listCacheDelete = __webpack_require__(45), + listCacheGet = __webpack_require__(47), + listCacheHas = __webpack_require__(48), + listCacheSet = __webpack_require__(49); + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +module.exports = ListCache; + + +/***/ }), +/* 44 */ +/***/ (function(module, exports) { + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +module.exports = listCacheClear; + + +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(3); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +module.exports = listCacheDelete; + + +/***/ }), +/* 46 */ +/***/ (function(module, exports) { + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +module.exports = eq; + + +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(3); + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +module.exports = listCacheGet; + + +/***/ }), +/* 48 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(3); + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +module.exports = listCacheHas; + + +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { + +var assocIndexOf = __webpack_require__(3); + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +module.exports = listCacheSet; + + +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { + +var getNative = __webpack_require__(10), + root = __webpack_require__(8); + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'); + +module.exports = Map; + + +/***/ }), +/* 51 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(4); + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +module.exports = mapCacheDelete; + + +/***/ }), +/* 52 */ +/***/ (function(module, exports) { + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +module.exports = isKeyable; + + +/***/ }), +/* 53 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(4); + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +module.exports = mapCacheGet; + + +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(4); + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +module.exports = mapCacheHas; + + +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { + +var getMapData = __webpack_require__(4); + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +module.exports = mapCacheSet; + + +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { + +var baseToString = __webpack_require__(57); + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +module.exports = toString; + + +/***/ }), +/* 57 */ +/***/ (function(module, exports, __webpack_require__) { + +var Symbol = __webpack_require__(7), + arrayMap = __webpack_require__(58), + isArray = __webpack_require__(5), + isSymbol = __webpack_require__(6); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = baseToString; + + +/***/ }), +/* 58 */ +/***/ (function(module, exports) { + +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +module.exports = arrayMap; + + +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { + +var isSymbol = __webpack_require__(6); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = toKey; + + +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ContainerItem = undefined; + +var _classComponent = __webpack_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var get = __webpack_require__(0); + +var ContainerItem = exports.ContainerItem = function (_Component) { + _inherits(ContainerItem, _Component); + + function ContainerItem(busyLoadOptions) { + _classCallCheck(this, ContainerItem); + + var flexDirection = get(busyLoadOptions, "textPosition", "right"); + + switch (flexDirection) { + case "top": + flexDirection = "column"; + break; + case "bottom": + flexDirection = "column-reverse"; + break; + case "right": + flexDirection = "row-reverse"; + break; + case "left": + flexDirection = "row"; + break; + default: + throw "don't know textPosition: " + flexDirection; + } + + return _possibleConstructorReturn(this, (ContainerItem.__proto__ || Object.getPrototypeOf(ContainerItem)).call(this, 'div', { + "class": get(busyLoadOptions, "containerItemClass"), + "css": { + "background": "none", + "display": "flex", + "justify-content": "center", + "align-items": "center", + "flex-direction": flexDirection + } + }, busyLoadOptions)); + } + + return ContainerItem; +}(_classComponent.Component); + +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Text = undefined; + +var _classComponent = __webpack_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var get = __webpack_require__(0); + +var Text = exports.Text = function (_Component) { + _inherits(Text, _Component); + + function Text(busyLoadOptions) { + _classCallCheck(this, Text); + + // set margin + var _this = _possibleConstructorReturn(this, (Text.__proto__ || Object.getPrototypeOf(Text)).call(this, 'span', { + "class": get(busyLoadOptions, "textClass"), + "css": { + "color": get(busyLoadOptions, 'textColor', get(busyLoadOptions, 'color', "#fff")), + "font-size": get(busyLoadOptions, 'fontSize', "1rem") + }, + "text": get(busyLoadOptions, "text", "Loading ...") + }, busyLoadOptions)); + + var flexDirection = get(busyLoadOptions, "textPosition", "right"); + var marginDirection = "margin-left"; + + switch (flexDirection) { + case "top": + marginDirection = "margin-bottom"; + break; + case "bottom": + marginDirection = "margin-top"; + break; + case "left": + marginDirection = "margin-right"; + break; + } + + _this.tag.css(marginDirection, get(busyLoadOptions, 'textMargin', ".5rem")); + return _this; + } + + return Text; +}(_classComponent.Component); + +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Spinner = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _classComponent = __webpack_require__(1); + +var _classSpinnerLib = __webpack_require__(63); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var get = __webpack_require__(0); + +var Spinner = exports.Spinner = function (_Component) { + _inherits(Spinner, _Component); + + function Spinner(busyLoadOptions) { + _classCallCheck(this, Spinner); + + var _this = _possibleConstructorReturn(this, (Spinner.__proto__ || Object.getPrototypeOf(Spinner)).call(this, "span", {}, busyLoadOptions)); + + if (get(_this._busyLoadOptions, 'fontawesome')) { + _this.createFontAwesomeTag(); + } else if (get(_this._busyLoadOptions, 'custom')) { + _this.createCustomTag(); + } else if (get(_this._busyLoadOptions, 'image')) { + _this.createImageTag(); + } else if (get(_this._busyLoadOptions, 'spinner')) { + _this.createCssTag(get(_this._busyLoadOptions, 'spinner')); + } else { + _this.createCssTag("pump"); + } + + _this.tag.addClass(get(_this._busyLoadOptions, "spinnerClass")); + return _this; + } + + _createClass(Spinner, [{ + key: 'createCssTag', + value: function createCssTag(spinnerType) { + var spinnerLib = new _classSpinnerLib.SpinnerLib(spinnerType, this._busyLoadOptions); + this.setTag(spinnerLib.spinner); + this.tag.addClass("busy-load-spinner-css"); + this.setMaxMinSize(); + } + }, { + key: 'createImageTag', + value: function createImageTag() { + this.options = { + "class": "loader-image", + "src": this._busyLoadOptions.image + }; + + this.setTag('img'); + this.setMaxMinSize(); + this.tag.addClass("busy-load-spinner-image"); + } + }, { + key: 'createFontAwesomeTag', + value: function createFontAwesomeTag() { + this.options = { + "class": get(this._busyLoadOptions, 'fontawesome', "fa fa-refresh fa-spin fa-2x fa-fw"), + "css": { + "color": get(this._busyLoadOptions, 'color', "#fff") + } + }; + + this.setTag('span'); + this.tag.addClass("busy-load-spinner-fontawesome"); + + this._$tag.append($("", { + "class": "sr-only", + "text": "Loading ..." + })); + } + }, { + key: 'createCustomTag', + value: function createCustomTag() { + var custom = get(this._busyLoadOptions, 'custom'); + var isJqueryObject = custom instanceof jQuery; + + if (!isJqueryObject) { + throw "wrong type for creating a tag"; + } + + this.setTag(custom); + this.tag.addClass("busy-load-spinner-custom"); + } + }, { + key: 'setMaxMinSize', + value: function setMaxMinSize() { + this.tag.css({ + "max-height": get(this._busyLoadOptions, 'maxSize'), + "max-width": get(this._busyLoadOptions, 'maxSize'), + "min-height": get(this._busyLoadOptions, 'minSize'), + "min-width": get(this._busyLoadOptions, 'minSize') + }); + } + + // https://projects.lukehaas.me/css-loaders/ + + }]); + + return Spinner; +}(_classComponent.Component); + +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var get = __webpack_require__(0); + +var SpinnerLib = exports.SpinnerLib = function () { + function SpinnerLib(spinner) { + var busyLoadOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + _classCallCheck(this, SpinnerLib); + + this._busyLoadOptions = busyLoadOptions; + + switch (spinner.toLowerCase()) { + case "pump": + this.createPump(); + break; + case "pulsar": + this.createPulsar(); + break; + case "accordion": + this.createAccordion(); + break; + case "cube": + this.createCube(); + break; + case "cubes": + this.createCubes(); + break; + case "circles": + this.createCircles(); + break; + case "circle-line": + this.createCircleLine(); + break; + case "cube-grid": + this.createCubeGrid(); + break; + default: + throw "don't know spinner: " + spinner; + } + } + + _createClass(SpinnerLib, [{ + key: "createCubeGrid", + value: function createCubeGrid() { + this._spinner = $("
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
"); + this._spinner.find(".sk-cube").css({ + "background-color": get(this._busyLoadOptions, "color", "#333") + }); + } + }, { + key: "createCircleLine", + value: function createCircleLine() { + this._spinner = $("
\n
\n
\n
\n
"); + this._spinner.find(".bounce1, .bounce2, .bounce3").css({ + "background-color": get(this._busyLoadOptions, "color", "#333") + }); + } + }, { + key: "createCircles", + value: function createCircles() { + this._spinner = $("
\n
\n
\n
"); + this._spinner.css({ + "margin-right": "0.4rem" + }).find(".dot1, .dot2").css({ + "background-color": get(this._busyLoadOptions, "color", "#333") + }); + } + }, { + key: "createPump", + value: function createPump() { + this._spinner = $("
\n
\n
\n
"); + + this._spinner.find(".double-bounce1, .double-bounce2").css({ + "background-color": get(this._busyLoadOptions, "color", "#333"), + "margin-right": "0.9rem" + }); + } + }, { + key: "createPulsar", + value: function createPulsar() { + this._spinner = $("
"); + this._spinner.css({ + "background-color": get(this._busyLoadOptions, "color", "#333") + }); + } + }, { + key: "createAccordion", + value: function createAccordion() { + this._spinner = $("
\n \t\t
\n \t\t
\n \t\t
\n \t\t
\n \t\t
\n \t\t
"); + this._spinner.find("div").css({ + "background-color": get(this._busyLoadOptions, "color", "#333") + }); + } + }, { + key: "createCube", + value: function createCube() { + this._spinner = $("
"); + this._spinner.css({ + "background-color": get(this._busyLoadOptions, "color", "#333") + }); + } + }, { + key: "createCubes", + value: function createCubes() { + this._spinner = $("
\n
\n
\n
"); + + this._spinner.css({ + "margin-right": "0.9rem" + }).find(".cube1, .cube2").css({ + "background-color": get(this._busyLoadOptions, "color", "#333") + }); + } + }, { + key: "spinner", + get: function get() { + return this._spinner; + }, + set: function set(spinner) { + this._spinner = spinner; + } + }]); + + return SpinnerLib; +}(); + +/***/ }), +/* 64 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_64__; + +/***/ }) +/******/ ]); +}); \ No newline at end of file diff --git a/BackEnd/assets/vendor/busy-load/app.min.css b/BackEnd/assets/vendor/busy-load/app.min.css new file mode 100644 index 0000000..2e84161 --- /dev/null +++ b/BackEnd/assets/vendor/busy-load/app.min.css @@ -0,0 +1 @@ +.spinner-cube-grid{width:40px;height:40px}.spinner-cube-grid .sk-cube{width:33%;height:33%;background-color:#333;float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.spinner-cube-grid .sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}.spinner-cube-grid .sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}.spinner-cube-grid .sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}.spinner-cube-grid .sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}.spinner-cube-grid .sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}.spinner-cube-grid .sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}.spinner-cube-grid .sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}.spinner-cube-grid .sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}.spinner-cube-grid .sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}.spinner-circle-line{margin:10px auto 0;width:70px;text-align:center}.spinner-circle-line>div{width:18px;height:18px;background-color:#333;border-radius:100%;display:inline-block;-webkit-animation:sk-bouncedelay 1.4s infinite ease-in-out both;animation:sk-bouncedelay 1.4s infinite ease-in-out both}.spinner-circle-line .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.spinner-circle-line .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes sk-bouncedelay{0%,80%,to{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes sk-bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.spinner-circles{width:40px;height:40px;position:relative;text-align:center;-webkit-animation:sk-rotate 2s infinite linear;animation:sk-rotate 2s infinite linear}.dot1,.dot2{width:60%;height:60%;display:inline-block;position:absolute;top:0;background-color:#333;border-radius:100%;-webkit-animation:sk-bounce 2s infinite ease-in-out;animation:sk-bounce 2s infinite ease-in-out}.dot2{top:auto;bottom:0;-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-rotate{to{-webkit-transform:rotate(1turn)}}@keyframes sk-rotate{to{transform:rotate(1turn);-webkit-transform:rotate(1turn)}}.spinner-cube{width:40px;height:40px;background-color:#333;margin:100px auto;-webkit-animation:sk-rotateplane 1.2s infinite ease-in-out;animation:sk-rotateplane 1.2s infinite ease-in-out}@-webkit-keyframes sk-rotateplane{0%{-webkit-transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg)}to{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes sk-rotateplane{0%{transform:perspective(120px) rotateX(0deg) rotateY(0deg);-webkit-transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg);-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}to{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.spinner-cubes{width:40px;height:40px;position:relative}.cube1,.cube2{background-color:#333;width:15px;height:15px;position:absolute;top:0;left:0;-webkit-animation:sk-cubemove 1.8s infinite ease-in-out;animation:sk-cubemove 1.8s infinite ease-in-out}.cube2{-webkit-animation-delay:-.9s;animation-delay:-.9s}@-webkit-keyframes sk-cubemove{25%{-webkit-transform:translateX(42px) rotate(-90deg) scale(.5)}50%{-webkit-transform:translateX(42px) translateY(42px) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5)}to{-webkit-transform:rotate(-1turn)}}@keyframes sk-cubemove{25%{transform:translateX(42px) rotate(-90deg) scale(.5);-webkit-transform:translateX(42px) rotate(-90deg) scale(.5)}50%{transform:translateX(42px) translateY(42px) rotate(-179deg);-webkit-transform:translateX(42px) translateY(42px) rotate(-179deg)}50.1%{transform:translateX(42px) translateY(42px) rotate(-180deg);-webkit-transform:translateX(42px) translateY(42px) rotate(-180deg)}75%{transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5);-webkit-transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5)}to{transform:rotate(-1turn);-webkit-transform:rotate(-1turn)}}.spinner-pump{width:40px;height:40px;position:relative}.double-bounce1,.double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#333;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:sk-bounce 2s infinite ease-in-out;animation:sk-bounce 2s infinite ease-in-out}.double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-bounce{0%,to{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.spinner-pulsar{width:40px;height:40px;background-color:#333;border-radius:100%;-webkit-animation:sk-scaleout 1s infinite ease-in-out;animation:sk-scaleout 1s infinite ease-in-out}@-webkit-keyframes sk-scaleout{0%{-webkit-transform:scale(0)}to{-webkit-transform:scale(1);opacity:0}}@keyframes sk-scaleout{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.spinner-accordion{margin:100px auto;width:50px;height:40px;text-align:center;font-size:10px}.spinner-accordion>div{background-color:#333;height:100%;width:6px;display:inline-block;-webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out;animation:sk-stretchdelay 1.2s infinite ease-in-out}.spinner-accordion.rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.spinner-accordion .rect3{-webkit-animation-delay:-1s;animation-delay:-1s}.spinner-accordion .rect4{-webkit-animation-delay:-.9s;animation-delay:-.9s}.spinner-accordion.rect5{-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes sk-stretchdelay{0%,40%,to{-webkit-transform:scaleY(.4)}20%{-webkit-transform:scaleY(1)}}@keyframes sk-stretchdelay{0%,40%,to{transform:scaleY(.4);-webkit-transform:scaleY(.4)}20%{transform:scaleY(1);-webkit-transform:scaleY(1)}}.no-scroll{overflow:hidden} \ No newline at end of file diff --git a/BackEnd/assets/vendor/busy-load/app.min.js b/BackEnd/assets/vendor/busy-load/app.min.js new file mode 100644 index 0000000..82e889b --- /dev/null +++ b/BackEnd/assets/vendor/busy-load/app.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("jQuery")):"function"==typeof define&&define.amd?define(["jQuery"],e):"object"==typeof exports?exports.busyLoad=e(require("jQuery")):t.busyLoad=e(t.jQuery)}("undefined"!=typeof self?self:this,function(t){return function(t){function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=13)}([function(t,e,n){function o(t,e,n){var o=null==t?void 0:i(t,e);return void 0===o?n:o}var i=n(18);t.exports=o},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n",this._options)}}},{key:"options",get:function(){return this._options},set:function(t){this._options=t}},{key:"tag",get:function(){return this._$tag},set:function(t){this._$tag=t}}]),t}()},function(t,e,n){var o=n(10),i=o(Object,"create");t.exports=i},function(t,e,n){function o(t,e){for(var n=t.length;n--;)if(i(t[n][0],e))return n;return-1}var i=n(46);t.exports=o},function(t,e,n){function o(t,e){var n=t.__data__;return i(e)?n["string"==typeof e?"string":"hash"]:n.map}var i=n(52);t.exports=o},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){function o(t){return"symbol"==typeof t||r(t)&&i(t)==s}var i=n(9),r=n(25),s="[object Symbol]";t.exports=o},function(t,e,n){var o=n(8),i=o.Symbol;t.exports=i},function(t,e,n){var o=n(21),i="object"==typeof self&&self&&self.Object===Object&&self,r=o||i||Function("return this")();t.exports=r},function(t,e,n){function o(t){return null==t?void 0===t?c:a:u&&u in Object(t)?r(t):s(t)}var i=n(7),r=n(23),s=n(24),a="[object Null]",c="[object Undefined]",u=i?i.toStringTag:void 0;t.exports=o},function(t,e,n){function o(t,e){var n=r(t,e);return i(n)?n:void 0}var i=n(33),r=n(38);t.exports=o},function(t,e){function n(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}t.exports=n},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={spinner:"pump",image:!1,fontawesome:!1,custom:!1,color:"#fff",background:"rgba(0, 0, 0, 0.21)",maxSize:"50px",minSize:"20px",text:!1,textColor:!1,textMargin:".5rem",textPosition:"right",fontSize:"1rem",fullScreen:!1,animation:!1,animationDuration:"fast",containerClass:"busy-load-container",containerItemClass:"busy-load-container-item",spinnerClass:"busy-load-spinner",textClass:"busy-load-text"}},function(t,e,n){"use strict";n(14);var o=n(15),i=n(12),r=function(t){return t&&t.__esModule?t:{default:t}}(i),s=n(64);!function(t){t.fn.busyLoad=o.busyLoad,t.busyLoadSetup=o.busyLoadSetup,t.busyLoadFull=o.busyLoadFull,t.fn.busyLoad.defaults=r.default}(s)},function(t,e){},function(t,e,n){"use strict";function o(t){$.extend(!0,c.default,t)}function i(t,e){return this.each(function(){var n=new s.BusyLoad($(this),JSON.parse(JSON.stringify(c.default)),e);switch(t){case"show":n.show();break;case"hide":n.hide();break;default:throw"don't know action '"+t+"'"}})}function r(t,e){var n=$("body"),o=new s.BusyLoad(n,JSON.parse(JSON.stringify(c.default)),e);switch(t.toLowerCase()){case"show":n.addClass("no-scroll"),o.caller=n,o.extendSettings({fullScreen:!0}),o.show();break;case"hide":o.hide(),n.removeClass("no-scroll")}return n}Object.defineProperty(e,"__esModule",{value:!0}),e.busyLoadSetup=o,e.busyLoad=i,e.busyLoadFull=r;var s=n(16),a=n(12),c=function(t){return t&&t.__esModule?t:{default:t}}(a)},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e.BusyLoad=void 0;var i=function(){function t(t,e){for(var n=0;n-1}var i=n(3);t.exports=o},function(t,e,n){function o(t,e){var n=this.__data__,o=i(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}var i=n(3);t.exports=o},function(t,e,n){var o=n(10),i=n(8),r=o(i,"Map");t.exports=r},function(t,e,n){function o(t){var e=i(this,t).delete(t);return this.size-=e?1:0,e}var i=n(4);t.exports=o},function(t,e){function n(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}t.exports=n},function(t,e,n){function o(t){return i(this,t).get(t)}var i=n(4);t.exports=o},function(t,e,n){function o(t){return i(this,t).has(t)}var i=n(4);t.exports=o},function(t,e,n){function o(t,e){var n=i(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}var i=n(4);t.exports=o},function(t,e,n){function o(t){return null==t?"":i(t)}var i=n(57);t.exports=o},function(t,e,n){function o(t){if("string"==typeof t)return t;if(s(t))return r(t,o)+"";if(a(t))return l?l.call(t):"";var e=t+"";return"0"==e&&1/t==-c?"-0":e}var i=n(7),r=n(58),s=n(5),a=n(6),c=1/0,u=i?i.prototype:void 0,l=u?u.toString:void 0;t.exports=o},function(t,e){function n(t,e){for(var n=-1,o=null==t?0:t.length,i=Array(o);++n",{class:"sr-only",text:"Loading ..."}))}},{key:"createCustomTag",value:function(){var t=u(this._busyLoadOptions,"custom");if(!(t instanceof jQuery))throw"wrong type for creating a tag";this.setTag(t),this.tag.addClass("busy-load-spinner-custom")}},{key:"setMaxMinSize",value:function(){this.tag.css({"max-height":u(this._busyLoadOptions,"maxSize"),"max-width":u(this._busyLoadOptions,"maxSize"),"min-height":u(this._busyLoadOptions,"minSize"),"min-width":u(this._busyLoadOptions,"minSize")})}}]),e}(a.Component)},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};switch(o(this,t),this._busyLoadOptions=n,e.toLowerCase()){case"pump":this.createPump();break;case"pulsar":this.createPulsar();break;case"accordion":this.createAccordion();break;case"cube":this.createCube();break;case"cubes":this.createCubes();break;case"circles":this.createCircles();break;case"circle-line":this.createCircleLine();break;case"cube-grid":this.createCubeGrid();break;default:throw"don't know spinner: "+e}}return i(t,[{key:"createCubeGrid",value:function(){this._spinner=$('
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
'),this._spinner.find(".sk-cube").css({"background-color":r(this._busyLoadOptions,"color","#333")})}},{key:"createCircleLine",value:function(){this._spinner=$('
\n
\n
\n
\n
'),this._spinner.find(".bounce1, .bounce2, .bounce3").css({"background-color":r(this._busyLoadOptions,"color","#333")})}},{key:"createCircles",value:function(){this._spinner=$('
\n
\n
\n
'),this._spinner.css({"margin-right":"0.4rem"}).find(".dot1, .dot2").css({"background-color":r(this._busyLoadOptions,"color","#333")})}},{key:"createPump",value:function(){this._spinner=$('
\n
\n
\n
'),this._spinner.find(".double-bounce1, .double-bounce2").css({"background-color":r(this._busyLoadOptions,"color","#333"),"margin-right":"0.9rem"})}},{key:"createPulsar",value:function(){this._spinner=$('
'),this._spinner.css({"background-color":r(this._busyLoadOptions,"color","#333")})}},{key:"createAccordion",value:function(){this._spinner=$('
\n \t\t
\n \t\t
\n \t\t
\n \t\t
\n \t\t
\n \t\t
'),this._spinner.find("div").css({"background-color":r(this._busyLoadOptions,"color","#333")})}},{key:"createCube",value:function(){this._spinner=$('
'),this._spinner.css({"background-color":r(this._busyLoadOptions,"color","#333")})}},{key:"createCubes",value:function(){this._spinner=$('
\n
\n
\n
'),this._spinner.css({"margin-right":"0.9rem"}).find(".cube1, .cube2").css({"background-color":r(this._busyLoadOptions,"color","#333")})}},{key:"spinner",get:function(){return this._spinner},set:function(t){this._spinner=t}}]),t}()},function(e,n){e.exports=t}])}); \ No newline at end of file diff --git a/Web.config b/Web.config index 6ad6e6e..d485bda 100644 --- a/Web.config +++ b/Web.config @@ -4,6 +4,10 @@ https://go.microsoft.com/fwlink/?LinkId=169433 --> + + + +