{"ast":null,"code":"import \"./assets/jsoneditor.css\";\nimport JsonEditor from \"./assets/jsoneditor\";\nexport default {\n // props: ['value', 'showBtns', 'mode', 'modes', 'lang'],\n props: {\n value: [String, Number, Object, Array],\n showBtns: [Boolean],\n expandedOnStart: {\n type: Boolean,\n default: false\n },\n mode: {\n type: String,\n default: \"tree\"\n },\n modes: {\n type: Array,\n default: function () {\n return [\"tree\", \"code\", \"form\", \"text\", \"view\"];\n }\n },\n lang: {\n type: String,\n default: \"en\"\n }\n },\n watch: {\n value: {\n immediate: true,\n async handler(val) {\n if (!this.internalChange) {\n await this.setEditor(val);\n this.error = false;\n this.expandAll();\n }\n },\n deep: true\n }\n },\n data() {\n return {\n editor: null,\n error: false,\n json: this.value,\n internalChange: false,\n expandedModes: [\"tree\", \"view\", \"form\"],\n locale: {\n it: {\n save: \"SALVA\"\n },\n en: {\n save: \"SAVE\"\n },\n zh: {\n save: \"保存\"\n }\n }\n };\n },\n mounted() {\n let self = this;\n let options = {\n mode: this.mode,\n modes: this.modes,\n // allowed modes\n onChange() {\n try {\n let json = self.editor.get();\n self.json = json;\n self.error = false;\n self.$emit(\"json-change\", json);\n self.internalChange = true;\n self.$emit(\"input\", json);\n self.$nextTick(function () {\n self.internalChange = false;\n });\n } catch (e) {\n self.error = true;\n self.$emit(\"has-error\", e);\n }\n },\n onModeChange() {\n self.expandAll();\n }\n };\n this.editor = new JsonEditor(this.$el.querySelector(\".jsoneditor-vue\"), options, this.json);\n },\n methods: {\n expandAll() {\n if (this.expandedOnStart && this.expandedModes.includes(this.editor.getMode())) {\n this.editor.expandAll();\n }\n },\n onSave() {\n this.$emit(\"json-save\", this.json);\n },\n async setEditor(value) {\n if (this.editor) this.editor.set(value);\n }\n }\n};","map":{"version":3,"names":["JsonEditor","props","value","String","Number","Object","Array","showBtns","Boolean","expandedOnStart","type","default","mode","modes","lang","watch","immediate","handler","val","internalChange","setEditor","error","expandAll","deep","data","editor","json","expandedModes","locale","it","save","en","zh","mounted","self","options","onChange","get","$emit","$nextTick","e","onModeChange","$el","querySelector","methods","includes","getMode","onSave","set"],"sources":["node_modules/vue-json-editor/vue-json-editor.vue"],"sourcesContent":["\r\n \r\n \r\n \r\n {{ locale[lang].save }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n"],"mappings":"AAeA;AACA,OAAAA,UAAA;AACA;EACA;EACAC,KAAA;IACAC,KAAA,GAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,KAAA;IACAC,QAAA,GAAAC,OAAA;IACAC,eAAA;MACAC,IAAA,EAAAF,OAAA;MACAG,OAAA;IACA;IACAC,IAAA;MACAF,IAAA,EAAAP,MAAA;MACAQ,OAAA;IACA;IACAE,KAAA;MACAH,IAAA,EAAAJ,KAAA;MACAK,OAAA,WAAAA,CAAA;QACA;MACA;IACA;IACAG,IAAA;MACAJ,IAAA,EAAAP,MAAA;MACAQ,OAAA;IACA;EACA;EACAI,KAAA;IACAb,KAAA;MACAc,SAAA;MACA,MAAAC,QAAAC,GAAA;QACA,UAAAC,cAAA;UACA,WAAAC,SAAA,CAAAF,GAAA;UAEA,KAAAG,KAAA;UACA,KAAAC,SAAA;QACA;MACA;MACAC,IAAA;IACA;EACA;EACAC,KAAA;IACA;MACAC,MAAA;MACAJ,KAAA;MACAK,IAAA,OAAAxB,KAAA;MACAiB,cAAA;MACAQ,aAAA;MACAC,MAAA;QACAC,EAAA;UACAC,IAAA;QACA;QACAC,EAAA;UACAD,IAAA;QACA;QACAE,EAAA;UACAF,IAAA;QACA;MACA;IACA;EACA;EACAG,QAAA;IACA,IAAAC,IAAA;IAEA,IAAAC,OAAA;MACAvB,IAAA,OAAAA,IAAA;MACAC,KAAA,OAAAA,KAAA;MAAA;MACAuB,SAAA;QACA;UACA,IAAAV,IAAA,GAAAQ,IAAA,CAAAT,MAAA,CAAAY,GAAA;UACAH,IAAA,CAAAR,IAAA,GAAAA,IAAA;UACAQ,IAAA,CAAAb,KAAA;UACAa,IAAA,CAAAI,KAAA,gBAAAZ,IAAA;UACAQ,IAAA,CAAAf,cAAA;UACAe,IAAA,CAAAI,KAAA,UAAAZ,IAAA;UACAQ,IAAA,CAAAK,SAAA;YACAL,IAAA,CAAAf,cAAA;UACA;QACA,SAAAqB,CAAA;UACAN,IAAA,CAAAb,KAAA;UACAa,IAAA,CAAAI,KAAA,cAAAE,CAAA;QACA;MACA;MACAC,aAAA;QACAP,IAAA,CAAAZ,SAAA;MACA;IACA;IAEA,KAAAG,MAAA,OAAAzB,UAAA,CACA,KAAA0C,GAAA,CAAAC,aAAA,qBACAR,OAAA,EACA,KAAAT,IACA;EACA;EACAkB,OAAA;IACAtB,UAAA;MACA,IACA,KAAAb,eAAA,IACA,KAAAkB,aAAA,CAAAkB,QAAA,MAAApB,MAAA,CAAAqB,OAAA,KACA;QACA,KAAArB,MAAA,CAAAH,SAAA;MACA;IACA;IAEAyB,OAAA;MACA,KAAAT,KAAA,mBAAAZ,IAAA;IACA;IAEA,MAAAN,UAAAlB,KAAA;MACA,SAAAuB,MAAA,OAAAA,MAAA,CAAAuB,GAAA,CAAA9C,KAAA;IACA;EACA;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}