{"version":3,"sources":["webpack:///./src/mixins/resetComponentData.ts"],"names":["data","updating","valueName","changeHandlerName","mounted","_this","Array","isArray","this","forEach","$watch","resetData","componentChange","value","ev","handlerName","updated","methods","addResetDataCallback","callback","$on","Object","assign","$data","$options","apply","$emit"],"mappings":"uHACe,KACdA,KAAI,WACH,MAAO,CACNC,UAAU,EACVC,UAAW,QACXC,kBAAmB,iBAGrBC,QAAO,WAAG,IAAAC,EAAA,KAaT,GAZKC,MAAMC,QAAQC,KAAKN,aACvBM,KAAKN,UAAY,CAACM,KAAKN,YAExBM,KAAKN,UAAUO,SAAQ,SAAAP,GACtBG,EAAKK,OAAOR,GAAW,WACjBM,KAAKP,SAGTO,KAAKP,UAAW,EAFhBO,KAAKG,kBAM8B,iBAA3BH,KAAKL,kBAAgC,CAC/C,IAAMS,EAAkBJ,KAAKA,KAAKL,mBAClCK,KAAKA,KAAKL,mBAAqB,SAACU,EAAOC,GACtCT,EAAKJ,UAAW,EAChBW,EAAgBC,EAAOC,SAIxBN,KAAKL,kBAAkBM,SAAQ,SAAAM,GAC9B,IAAMH,EAAkBP,EAAKU,GAC7BV,EAAKU,GAAe,SAACF,EAAOC,GAC3BT,EAAKJ,UAAW,EAChBW,EAAgBC,EAAOC,QAI3BE,QAAO,WACNR,KAAKP,UAAW,GAEjBgB,QAAS,CACRC,qBAAoB,SAACC,GACpBX,KAAKY,IAAI,aAAcD,IAExBR,UAAS,WACRU,OAAOC,OAAOd,KAAKe,MAAOf,KAAKgB,SAASxB,KAAKyB,MAAMjB,OACnDA,KAAKkB,MAAM","file":"17.93212a255e4948606808.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":""}