{"version":3,"sources":["webpack:///./django/project/@static/@modules/form-row-newsletter-signup/main.ts","webpack:///./django/project/@static/@modules/form-row-newsletter-signup/controller.ts","webpack:///./django/project/@static/@modules/form-row-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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICEH;QAA4C,kCAA+B;QAEvE;mBACI,iBAAO;QACX,CAAC;QAOD,oDAA2B,GAA3B,UAA4B,iBAAsB;YAC9C,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,qCAAqC,CAAC,CAAC;QACvD,CAAC;QAED,uCAAc,GAAd,UAAe,SAAiB;YAAhC,iBAkBC;YAhBG,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;YAC7E,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;YAMzE,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,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1D,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,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;QAtDD;YADC,eAAE,CAAC,gCAAgC,CAAC;yEAMpC;QAhBgB,cAAc;YARlC,oBAAO,CAAC;gBACL,QAAQ,EAAE,KAAK;gBACf,EAAE,EAAE,uCAAuC;gBAC3C,EAAE,EAAE;oBACA,mBAAmB,EAAE,0BAA0B;oBAC/C,WAAW,EAAE,kBAAkB;iBAClC;aACJ,CAAC;WACmB,cAAc,CAkElC;QAAD,qBAAC;KAAA,CAlE2C,UAAU,CAAC,IAAI,GAkE1D;sBAlEoB,cAAc;;;;;;;;;;ACfnC","file":"js/form-row-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-row-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-form-row-newsletter-signup-module\",\r\n ui: {\r\n stripNewsletterForm: \".js-form-newsletter-wrap\",\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.stripNewsletterForm\")\r\n onStripNewsletterFormSubmit(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 row 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.stripNewsletterForm.serialize();\r\n let successMsg = this.getSuccessMsgFromDataAttr(this.ui.stripNewsletterForm);\r\n let errorMsg = this.getErrorMsgFromDataAttr(this.ui.stripNewsletterForm);\r\n\r\n // submit form data\r\n // ** $.post parameters: (url, data, callback)\r\n // ** MUST use fat arrow syntax here instead `function()`\r\n // to maintain `this` binding\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.stripNewsletterForm.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.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-row-newsletter-signup/controller.ts","require(\"./main.ts\");\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./django/project/@static/@modules/form-row-newsletter-signup/index.js\n// module id = 65\n// module chunks = 34"],"sourceRoot":""}