{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/mixins/answerMixinBlock/answerMixinBlock.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/blocks/multiChoiceAnswerBlock/js/multiChoiceAnswerBlock.js"],"names":["__webpack_require__","r","__webpack_exports__","$","_","d","answerMixinBlock","initAnswer","self","CLS","$formCheckbox","isNil","$element","data","find","concat","on","prop","trigger","event","stopPropagation","attr","addClass","removeClass","$formRadio","radioName","initRadio","observer","MutationObserver","mutations","forEach","mutation","attributeName","observe","attributes","window","addEventListener","disconnect","initDisabledToggleEvent","MultiChoiceAnswerBlock","_createClass","element","_classCallCheck","this","Object","assign","prototype"],"mappings":"8FAAAA,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,GAAAJ,EAAAK,EAAAH,EAAA,qCAAAI,IAAO,IAAIA,GACVC,WAAY,SAACC,EAAMC,GAClB,IACKC,GA4FDN,EAAEO,MAAMH,EAAKI,SAASC,KAAK,cAAgBL,EAAKI,SAASC,KAAK,aA5F7DH,EAAgBF,EAAKI,SAASE,KAAI,IAAAC,OAAKN,EAAG,kBAE9CD,EAAKI,SAASI,GAAG,QAAS,WACrBN,EAAcO,KAAK,aAAgBP,EAAcO,KAAK,cACzDP,EAAcO,KAAK,WAAYP,EAAcO,KAAK,YAClDP,EAAcQ,QAAQ,aAIxBR,EAAcM,GAAG,QAAS,SAACG,GAC1BA,EAAMC,oBAGYV,EAAcW,KAAK,SAErCX,EAAcM,GAAG,SAAU,WACvBN,EAAcO,KAAK,WACrBT,EAAKI,SAASU,SAAQ,GAAAP,OAAIN,EAAG,eAG7BD,EAAKI,SAASW,YAAW,GAAAR,OAAIN,EAAG,iBAKrBC,EAAcW,KAAK,aAEhCX,EAAcO,KAAK,WAAW,GAC9BP,EAAcQ,QAAQ,YAIR,WACf,IAAIM,EAAahB,EAAKI,SAASE,KAAI,IAAAC,OAAKN,EAAG,eAE3CD,EAAKI,SAASI,GAAG,QAAS,WACrBQ,EAAWP,KAAK,aAAgBO,EAAWP,KAAK,aAAgBO,EAAWP,KAAK,aACnFO,EAAWP,KAAK,WAAW,GAC3BO,EAAWN,QAAQ,aAIrBM,EAAWR,GAAG,QAAS,SAACG,GACvBA,EAAMC,oBAGP,IAAIK,EAAYD,EAAWH,KAAK,QAC7BI,GACFtB,EAAC,oBAAAY,OAAqBU,EAAS,MAAKT,GAAG,SAAU,WAC7CQ,EAAWP,KAAK,WAClBT,EAAKI,SAASU,SAAQ,GAAAP,OAAIN,EAAG,eAG7BD,EAAKI,SAASW,YAAW,GAAAR,OAAIN,EAAG,iBAKrBe,EAAWH,KAAK,aAE7BG,EAAWP,KAAK,WAAW,GAC3BO,EAAWN,QAAQ,WAoCpBQ,GAhC6B,WAC1BlB,EAAKI,SAASE,KAAK,SAASG,KAAK,aACnCT,EAAKI,SAASU,SAAQ,GAAAP,OAAIN,EAAG,eAG9B,IAAIkB,EAAW,IAAIC,iBAAiB,SAACC,GACpCA,EAAUC,QAAQ,SAACC,GACY,aAA3BA,EAASC,gBACRxB,EAAKI,SAASE,KAAK,SAASG,KAAK,YACnCT,EAAKI,SAASU,SAAQ,GAAAP,OAAIN,EAAG,eAG7BD,EAAKI,SAASW,YAAW,GAAAR,OAAIN,EAAG,oBAOpCkB,EAASM,QAAQzB,EAAKI,SAASE,KAAK,SAAS,IAD9BoB,YAAY,IAG3BC,OAAOC,iBAAiB,SAAU,WACjCT,EAASU,eAcXC,k3BCxGF,IAKaC,4GAAsBC,CAClC,SAAAD,EAAYE,gGAASC,CAAAC,KAAAJ,GACpBI,KAAKF,QAAUA,EACfE,KAAK/B,SAAWT,EAAEsC,GAElBE,KAAKpC,WAAWoC,KATN,4BAaZC,OAAOC,OAAON,EAAuBO,UAAWxC","file":"block-47.2f662a3aa586e55a56ca.js","sourcesContent":["export let answerMixinBlock = {\n\tinitAnswer: (self, CLS) => {\n\t\tlet initCheckbox = () => {\n\t\t\tlet $formCheckbox = self.$element.find(`.${CLS}-formCheckbox`);\n\n\t\t\tself.$element.on('click', () => {\n\t\t\t\tif(!$formCheckbox.prop('readonly') && !$formCheckbox.prop('disabled')) {\n\t\t\t\t\t$formCheckbox.prop('checked', !$formCheckbox.prop('checked'));\n\t\t\t\t\t$formCheckbox.trigger('change');\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t$formCheckbox.on('click', (event) => {\n\t\t\t\tevent.stopPropagation();\n\t\t\t});\n\n\t\t\tlet checkboxName = $formCheckbox.attr('name');\n\t\t\tif(checkboxName) {\n\t\t\t\t$formCheckbox.on('change', () => {\n\t\t\t\t\tif($formCheckbox.prop('checked')) {\n\t\t\t\t\t\tself.$element.addClass(`${CLS}--selected`);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tself.$element.removeClass(`${CLS}--selected`);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet checked = $formCheckbox.attr('checked');\n\t\t\tif(checked) {\n\t\t\t\t$formCheckbox.prop('checked', true);\n\t\t\t\t$formCheckbox.trigger('change');\n\t\t\t}\n\t\t};\n\n\t\tlet initRadio = () => {\n\t\t\tlet $formRadio = self.$element.find(`.${CLS}-formRadio`);\n\n\t\t\tself.$element.on('click', () => {\n\t\t\t\tif(!$formRadio.prop('readonly') && !$formRadio.prop('disabled') && !$formRadio.prop('checked')) {\n\t\t\t\t\t$formRadio.prop('checked', true);\n\t\t\t\t\t$formRadio.trigger('change');\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t$formRadio.on('click', (event) => {\n\t\t\t\tevent.stopPropagation();\n\t\t\t});\n\n\t\t\tlet radioName = $formRadio.attr('name');\n\t\t\tif(radioName) {\n\t\t\t\t$(`input:radio[name=${radioName}]`).on('change', () => {\n\t\t\t\t\tif($formRadio.prop('checked')) {\n\t\t\t\t\t\tself.$element.addClass(`${CLS}--selected`);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tself.$element.removeClass(`${CLS}--selected`);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet checked = $formRadio.attr('checked');\n\t\t\tif(checked) {\n\t\t\t\t$formRadio.prop('checked', true);\n\t\t\t\t$formRadio.trigger('change');\n\t\t\t}\n\t\t};\n\n\t\tlet initDisabledToggleEvent = () => {\n\t\t\tif(self.$element.find('input').prop('disabled')) {\n\t\t\t\tself.$element.addClass(`${CLS}--disabled`);\n\t\t\t}\n\n\t\t\tlet observer = new MutationObserver((mutations) => {\n\t\t\t\tmutations.forEach((mutation) => {\n\t\t\t\t\tif(mutation.attributeName === 'disabled') {\n\t\t\t\t\t\tif(self.$element.find('input').prop('disabled')) {\n\t\t\t\t\t\t\tself.$element.addClass(`${CLS}--disabled`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tself.$element.removeClass(`${CLS}--disabled`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tlet config = { attributes: true };\n\t\t\tobserver.observe(self.$element.find('input')[0], config);\n\n\t\t\twindow.addEventListener('unload', () => {\n\t\t\t\tobserver.disconnect();\n\t\t\t});\n\t\t};\n\n\t\t// Checkbox\n\t\tif(!_.isNil(self.$element.data('multiple')) && self.$element.data('multiple')) {\n\t\t\tinitCheckbox();\n\t\t}\n\t\t// Radio\n\t\telse {\n\t\t\tinitRadio();\n\t\t}\n\n\t\t// Listen to disabled attribute\n\t\tinitDisabledToggleEvent();\n\t}\n};\n","const NS = 'MultiChoiceAnswerBlock';\nconst CLS = 'multiChoiceAnswerBlock';\n\nimport { answerMixinBlock } from '../../mixins/answerMixinBlock/answerMixinBlock';\n\nexport class MultiChoiceAnswerBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.initAnswer(this, CLS);\n\t}\n}\n\nObject.assign(MultiChoiceAnswerBlock.prototype, answerMixinBlock);\n"],"sourceRoot":""}