Browse Source

fix/removed unnecassry onmount and getter function in watchers

pull/2946/head
Muhammed Mustafa 2 years ago
parent
commit
7899ee1bfe
  1. 39
      packages/nc-gui-v2/components/cell/Json.vue
  2. 25
      packages/nc-gui-v2/components/monaco/Editor.vue

39
packages/nc-gui-v2/components/cell/Json.vue

@ -3,7 +3,7 @@ import { Modal as AModal } from 'ant-design-vue'
import Editor from '~/components/monaco/Editor.vue' import Editor from '~/components/monaco/Editor.vue'
import FullScreenIcon from '~icons/cil/fullscreen' import FullScreenIcon from '~icons/cil/fullscreen'
import FullScreenExitIcon from '~icons/cil/fullscreen-exit' import FullScreenExitIcon from '~icons/cil/fullscreen-exit'
import { inject, onMounted } from '#imports' import { inject } from '#imports'
import { EditModeInj } from '~/context' import { EditModeInj } from '~/context'
interface Props { interface Props {
@ -58,36 +58,27 @@ const onSave = () => {
vModel = localValue vModel = localValue
} }
onMounted(() => {
localValue = vModel
})
watch( watch(
() => vModel, $$(vModel),
(val) => { (val) => {
localValue = val localValue = val
}, },
{ immediate: true },
) )
watch( watch($$(localValue), (val) => {
() => localValue, try {
(val) => { JSON.parse(val)
try { error = undefined
JSON.parse(val) } catch (e: any) {
error = undefined error = e
} catch (e: any) { }
error = e })
}
},
)
watch( watch(editEnabled, () => {
() => editEnabled, isExpanded = false
() => { localValue = vModel
isExpanded = false })
localValue = vModel
},
)
</script> </script>
<template> <template>

25
packages/nc-gui-v2/components/monaco/Editor.vue

@ -115,21 +115,18 @@ onMounted(() => {
} }
}) })
watch( watch($$(vModel), (v) => {
() => vModel, if (!editor || !v) return
(v) => {
if (!editor || !v) return const editorValue = editor?.getValue()
if (!disableDeepCompare) {
const editorValue = editor?.getValue() if (!editorValue || !deepCompare(JSON.parse(v), JSON.parse(editorValue))) {
if (!disableDeepCompare) { editor.setValue(v)
if (!editorValue || !deepCompare(JSON.parse(v), JSON.parse(editorValue))) {
editor.setValue(v)
}
} else {
if (editorValue !== v) editor.setValue(v)
} }
}, } else {
) if (editorValue !== v) editor.setValue(v)
}
})
</script> </script>
<template> <template>

Loading…
Cancel
Save