{"version":3,"sources":["webpack:///./src/mixins/resetComponentData.ts"],"names":["data","updating","valueName","changeHandlerName","mounted","Array","isArray","this","forEach","$watch","resetData","componentChange","value","ev","handlerName","updated","methods","addResetDataCallback","callback","$on","Object","assign","$data","$options","apply","$emit"],"mappings":"+FACe,KACdA,KAAIA,KACI,CACNC,UAAU,EACVC,UAAW,QACXC,kBAAmB,iBAGrBC,UAaC,GAZKC,MAAMC,QAAQC,KAAKL,aACvBK,KAAKL,UAAY,CAACK,KAAKL,YAExBK,KAAKL,UAAUM,QAAQN,IACtBK,KAAKE,OAAOP,GAAW,WACjBK,KAAKN,SAGTM,KAAKN,UAAW,EAFhBM,KAAKG,iBAM8B,iBAA3BH,KAAKJ,kBAAgC,CAC/C,MAAMQ,EAAkBJ,KAAKA,KAAKJ,mBAClCI,KAAKA,KAAKJ,mBAAqB,CAACS,EAAOC,KACtCN,KAAKN,UAAW,EAChBU,EAAgBC,EAAOC,SAIxBN,KAAKJ,kBAAkBK,QAAQM,IAC9B,MAAMH,EAAkBJ,KAAKO,GAC7BP,KAAKO,GAAe,CAACF,EAAOC,KAC3BN,KAAKN,UAAW,EAChBU,EAAgBC,EAAOC,OAI3BE,UACCR,KAAKN,UAAW,GAEjBe,QAAS,CACRC,qBAAqBC,GACpBX,KAAKY,IAAI,aAAcD,IAExBR,YACCU,OAAOC,OAAOd,KAAKe,MAAOf,KAAKgB,SAASvB,KAAKwB,MAAMjB,OACnDA,KAAKkB,MAAM","file":"18.93f228177cac1d53fcd0.js","sourcesContent":["// Detect that value is changing outside the change event loop of the component\r\nexport default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tupdating: false,\r\n\t\t\tvalueName: 'value',\r\n\t\t\tchangeHandlerName: 'handleChange'\r\n\t\t};\r\n\t},\r\n\tmounted() {\r\n\t\tif (!Array.isArray(this.valueName))\r\n\t\t\tthis.valueName = [this.valueName];\r\n\r\n\t\tthis.valueName.forEach(valueName => {\r\n\t\t\tthis.$watch(valueName, function() {\r\n\t\t\t\tif (!this.updating)\r\n\t\t\t\t\tthis.resetData();\r\n\t\t\t\telse\r\n\t\t\t\t\tthis.updating = false;\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tif (typeof this.changeHandlerName === 'string') {\r\n\t\t\tconst componentChange = this[this.changeHandlerName];\r\n\t\t\tthis[this.changeHandlerName] = (value, ev) => {\r\n\t\t\t\tthis.updating = true;\r\n\t\t\t\tcomponentChange(value, ev);\r\n\t\t\t};\r\n\t\t}\r\n\t\telse\r\n\t\t\tthis.changeHandlerName.forEach(handlerName => {\r\n\t\t\t\tconst componentChange = this[handlerName];\r\n\t\t\t\tthis[handlerName] = (value, ev) => {\r\n\t\t\t\t\tthis.updating = true;\r\n\t\t\t\t\tcomponentChange(value, ev);\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t},\r\n\tupdated() {\r\n\t\tthis.updating = false;\r\n\t},\r\n\tmethods: {\r\n\t\taddResetDataCallback(callback) {\r\n\t\t\tthis.$on('reset-data', callback);\r\n\t\t},\r\n\t\tresetData() {\r\n\t\t\tObject.assign(this.$data, this.$options.data.apply(this));\r\n\t\t\tthis.$emit('reset-data');\r\n\t\t}\r\n\t}\r\n};"],"sourceRoot":""}