{"version":3,"file":"js/login.bundle.js","mappings":"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","sources":["webpack://Fundraising/../Fundraising.UI.Shared/Modules/formTools/SaveButton.ts","webpack://Fundraising/webpack/bootstrap","webpack://Fundraising/webpack/runtime/make namespace object","webpack://Fundraising/./ClientApp/common/js/Login.js"],"sourcesContent":["/// \r\ninterface SaveButtonProps {\r\n formSelector?: string;\r\n savingLabel?: string;\r\n savedLabel?: string;\r\n disableOnClick?: boolean;\r\n disableSubmit?: boolean;\r\n disableOnSubmit?: boolean;\r\n}\r\n\r\nexport class SaveButton {\r\n private clickCallback: (e: Event, button: JQuery) => boolean | void = () => { };\r\n private submitCallback: (e: Event, button: JQuery) => boolean | void = () => { };\r\n private btnState = {\r\n saving: \"saving\",\r\n saved: \"saved\",\r\n disabled: \"disabled\",\r\n default: \"default\",\r\n };\r\n\r\n private btnLabels = {\r\n saving: \"Saving\",\r\n saved: \"Saved\",\r\n default: \"Save\",\r\n };\r\n\r\n private $button: JQuery;\r\n private $btnWrapper: JQuery;\r\n private $form: JQuery;\r\n private defaultText: string;\r\n private savingBtnDelay: number = 750;\r\n private saveBtnDelay: number = 1500;\r\n private disableSubmit: boolean = false;\r\n\r\n\r\n constructor(selector: string, options: SaveButtonProps = {}) {\r\n this.$button = $(selector);\r\n const btnColor = this.$button.css('color');\r\n const $btnWrapper = $(\"\", {\r\n \"class\": \"button-wrapper\",\r\n \"style\": \"color:\" + btnColor\r\n });\r\n this.$btnWrapper = this.$button.wrap($btnWrapper).parent();\r\n this.$form = options.formSelector ? $(options.formSelector) : this.$button.closest(\"form\");\r\n this.btnLabels.saving = options.savingLabel || this.btnLabels.saving;\r\n this.btnLabels.saved = options.savedLabel || this.btnLabels.saved;\r\n this.btnLabels.default = this.$button.is(\"input\") ? this.$button.val().toString() : this.$button.text();\r\n\r\n // Event Options\r\n const disableOnClick = options.disableOnClick || false;\r\n const disableOnSubmit = options.disableOnSubmit || false;\r\n this.disableSubmit = options.disableSubmit || false;\r\n\r\n if (!disableOnClick) {\r\n this.$button.on(\"click\", (e: Event) => {\r\n e.preventDefault();\r\n if (this.$button.attr(\"data-state\") == this.btnState.saved) return false;\r\n this.clickSuccess(e);\r\n });\r\n }\r\n \r\n if (!disableOnSubmit) {\r\n this.$form.on(\"submit\", (e: Event) => {\r\n this.submitSuccess(e);\r\n });\r\n }\r\n }\r\n\r\n private setButtonText(text: string) {\r\n if (this.$button.is(\"input\")) {\r\n this.$button.val(text);\r\n } else {\r\n this.$button.text(text);\r\n }\r\n }\r\n\r\n public setState(state: string, delay?: number, callback?: () => void) {\r\n this.$button.addClass(this.btnState.disabled);\r\n this.$button.prop(\"disabled\", true);\r\n switch (state) {\r\n case this.btnState.saving:\r\n this.$button.attr(\"data-state\", this.btnState.saving);\r\n this.setButtonText(this.btnLabels.saving);\r\n setTimeout(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n }, delay || this.savingBtnDelay);\r\n break;\r\n\r\n case this.btnState.saved:\r\n this.$button.removeClass(this.btnState.disabled);\r\n this.$button.attr(\"data-state\", this.btnState.saved);\r\n this.setButtonText(this.btnLabels.saved);\r\n this.$button.prop(\"disabled\", true);\r\n setTimeout(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n }, delay || this.saveBtnDelay);\r\n break;\r\n\r\n case this.btnState.disabled:\r\n this.$button.attr(\"data-state\", this.btnState.disabled);\r\n this.setButtonText(this.btnLabels.default);\r\n break;\r\n\r\n default:\r\n this.$button.removeClass(this.btnState.disabled);\r\n this.$button.attr(\"data-state\", \"\");\r\n this.setButtonText(this.btnLabels.default);\r\n this.$button.prop(\"disabled\", false);\r\n }\r\n }\r\n\r\n public submit(): void {\r\n this.$form.trigger(\"submit\"); // Trigger the submit event on the form element\r\n }\r\n\r\n private submitSuccess(e: Event) {\r\n const allowSubmit = this.submitCallback(e, this.$button);\r\n if (allowSubmit === false || !this.$form.valid()) {\r\n this.setState(this.btnState.default);\r\n return false;\r\n }\r\n }\r\n\r\n private clickSuccess(e: Event) {\r\n this.setState(this.btnState.saving, 1000, () => {\r\n this.clickCallback(e, this.$button);\r\n if (!this.disableSubmit) this.submit();\r\n });\r\n }\r\n\r\n public onClick(callback: (e: Event, button: JQuery) => boolean | void): SaveButton {\r\n this.clickCallback = (button, e) => callback(button, e);\r\n return this;\r\n }\r\n\r\n public onSubmit(callback: (e: Event, button: JQuery) => boolean | void): SaveButton {\r\n this.submitCallback = (e, button) => callback(e, button);\r\n return this;\r\n }\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { SaveButton } from \"../../../../Fundraising.UI.Shared/Modules/formTools/SaveButton\";\r\nimport \"../scss/login.scss\";\r\n\r\n(function ($) {\r\n //Decalare in Global Namespace\t\r\n window.M2 = window.M2 || {};\r\n window.M2.Login = {};\r\n\r\n let loginBtn;\r\n\r\n const setSubmitBtn = () => {\r\n const $submitBtn = $(\"#account-login\");\r\n\r\n loginBtn = new SaveButton(\"#account-login\", {\r\n \"savingLabel\": $submitBtn.data(\"saving-label\"),\r\n \"savedLabel\": $submitBtn.data(\"saved-label\")\r\n });\r\n }\r\n\r\n function setInitialLogin() {\r\n $(document).on(\"click\", \".administrator-chooser .choice.administrator .btn\", function (e) {\r\n e.preventDefault();\r\n $(\".administrator-chooser\").slideUp();\r\n $(\".login-form\").hide().removeClass(\"hidden\").slideDown();\r\n });\r\n\r\n $(document).on(\"click\", \".login-form .reset-login\", function (e) {\r\n e.preventDefault();\r\n $(\".login-form\").removeClass(\"hidden\").slideUp();\r\n $(\".administrator-chooser\").hide().removeClass(\"hidden\").slideDown();\r\n });\r\n }\r\n\r\n M2.Login = {\r\n init: function () {\r\n setInitialLogin();\r\n setSubmitBtn();\r\n }\r\n }\r\n})(jQuery);\r\n\r\n$(function () {\r\n M2.Login.init();\r\n});"],"names":["selector","options","clickCallback","submitCallback","btnState","saving","saved","disabled","default","btnLabels","savingBtnDelay","saveBtnDelay","disableSubmit","this","$button","$","btnColor","css","$btnWrapper","wrap","parent","$form","formSelector","closest","savingLabel","savedLabel","is","val","toString","text","disableOnClick","disableOnSubmit","on","e","preventDefault","attr","clickSuccess","submitSuccess","setButtonText","setState","state","delay","callback","addClass","prop","setTimeout","removeClass","submit","trigger","valid","onClick","button","onSubmit","SaveButton","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","r","Symbol","toStringTag","Object","defineProperty","value","loginBtn","window","M2","Login","init","document","slideUp","hide","slideDown","$submitBtn","data","setSubmitBtn","jQuery"],"sourceRoot":""}