{"version":3,"sources":["webpack:///./django/project/@static/@modules/form-sidebar-newsletter-signup/main.ts","webpack:///./django/project/@static/@modules/form-sidebar-newsletter-signup/controller.ts","webpack:///./django/project/@static/@modules/form-sidebar-newsletter-signup/index.js"],"names":[],"mappings":";;;;;;;;IAKA,IAAM,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE;IAExC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,oBAAc,EAAE,CAAC,MAAM,EAAE;IACjC,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC;QACE,GAAG,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICIH;QAA4C,kCAA+B;QAEvE;mBACI,iBAAO;QACX,CAAC;QAOD,sDAA6B,GAA7B,UAA8B,iBAAsB;YAChD,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAEtC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAMD,iCAAQ,GAAR;YACI,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QAED,uCAAc,GAAd,UAAe,SAAiB;YAAhC,iBAmBC;YAjBG,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC;YACzD,IAAI,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;YAC/E,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;YAO3E,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;iBAC1B,IAAI,CAAE;gBACH,KAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC,IAAI,CAAE;gBACL,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,MAAM,CAAE;YAEX,CAAC,CAAC,CAAC;QACP,CAAC;QAED,qCAAY,GAAZ;YACI,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,kDAAyB,GAAzB,UAA0B,YAAiB;YACvC,OAAO,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,gDAAuB,GAAvB,UAAwB,YAAiB;YACrC,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,0CAAiB,GAAjB,UAAkB,UAAkB;YAChC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,wCAAe,GAAf,UAAgB,QAAgB;YAC5B,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAxDD;YADC,eAAE,CAAC,kCAAkC,CAAC;2EAMtC;QAhBgB,cAAc;YAVlC,oBAAO,CAAC;gBACL,QAAQ,EAAE,KAAK;gBACf,EAAE,EAAE,6BAA6B;gBACjC,EAAE,EAAE;oBACA,qBAAqB,EAAE,0BAA0B;oBACjD,SAAS,EAAE,gBAAgB;oBAC3B,aAAa,EAAE,oBAAoB;oBACnC,WAAW,EAAE,kBAAkB;iBAClC;aACJ,CAAC;WACmB,cAAc,CAoElC;QAAD,qBAAC;KAAA,CApE2C,UAAU,CAAC,IAAI,GAoE1D;sBApEoB,cAAc;;;;;;;;;;ACjBnC","file":"js/form-sidebar-newsletter-signup.js","sourcesContent":["import * as Backbone from \"backbone\";\r\nimport * as Marionette from \"backbone.marionette\";\r\nimport * as $ from \"jquery\";\r\nimport ViewController from \"./controller\";\r\n\r\nconst app = new Marionette.Application()\r\n\r\napp.once(\"start\", () => {\r\n new ViewController().render()\r\n});\r\n\r\n$(() => {\r\n app.start();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./django/project/@static/@modules/form-sidebar-newsletter-signup/main.ts","import * as $ from \"jquery\";\r\nimport * as Backbone from \"backbone\";\r\nimport * as Marionette from \"backbone.marionette\";\r\nimport * as _ from \"underscore\";\r\nimport { on, Options } from \"../utils/decorators\";\r\n\r\n\r\n@Options({\r\n template: false,\r\n el: \".js-sidebar-newsletter-wrap\",\r\n ui: {\r\n sidebarNewsletterForm: \".js-form-newsletter-wrap\",\r\n submitBtn: \".js-submit-btn\",\r\n sidebarHeader: \".js-sidebar-header\",\r\n sidebarBody: \".js-sidebar-body\"\r\n }\r\n})\r\nexport default class ViewController extends Marionette.View{\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n // --------------------------------\r\n // events\r\n // --------------------------------\r\n\r\n @on(\"submit @ui.sidebarNewsletterForm\")\r\n onSidebarNewsletterFormSubmit(JQueryEventObject: any) {\r\n const submitURL = this.getSubmitURL();\r\n\r\n JQueryEventObject.preventDefault();\r\n this.submitFormAjax(submitURL);\r\n }\r\n\r\n // --------------------------------\r\n // functions\r\n // --------------------------------\r\n\r\n onRender() {\r\n console.log(\"form sidebar newsletter signup rendered\");\r\n }\r\n\r\n submitFormAjax(submitURL: string) {\r\n // ** IMPORTANT: form elements MUST have a `name` attribute for serialize to work\r\n let formData = this.ui.sidebarNewsletterForm.serialize();\r\n let successMsg = this.getSuccessMsgFromDataAttr(this.ui.sidebarNewsletterForm);\r\n let errorMsg = this.getErrorMsgFromDataAttr(this.ui.sidebarNewsletterForm);\r\n\r\n // submit form data\r\n // ** $.post parameters: (url, data, callback)\r\n // ** MUST use arrow syntax here instead `function()`\r\n // to maintain `this` from code that contains arrow\r\n // function (aka \"lexical scoping\")\r\n $.post(submitURL, formData)\r\n .done( () => {\r\n this.showSuccessScreen(successMsg);\r\n }).fail( () => {\r\n this.showErrorScreen(errorMsg);\r\n }).always( () => {\r\n // stub\r\n });\r\n }\r\n\r\n getSubmitURL() {\r\n return this.ui.sidebarNewsletterForm.data(\"submit-url\");\r\n }\r\n\r\n getSuccessMsgFromDataAttr($formElement: any) {\r\n return $formElement.data(\"success-msg\");\r\n }\r\n\r\n getErrorMsgFromDataAttr($formElement: any) {\r\n return $formElement.data(\"error-msg\");\r\n }\r\n\r\n showSuccessScreen(successMsg: string) {\r\n this.ui.sidebarNewsletterForm.hide(500); // hide, form when successful, 500 ms\r\n this.ui.sidebarBody.text(successMsg);\r\n }\r\n\r\n showErrorScreen(errorMsg: string) {\r\n this.ui.sidebarBody.addClass(\"has-error\"); // change text to red\r\n this.ui.sidebarBody.text(errorMsg);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./django/project/@static/@modules/form-sidebar-newsletter-signup/controller.ts","require(\"./main.ts\");\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./django/project/@static/@modules/form-sidebar-newsletter-signup/index.js\n// module id = 66\n// module chunks = 33"],"sourceRoot":""}