diff --git a/frontend/src/components/Controls/Grid.vue b/frontend/src/components/Controls/Grid.vue
index 7a14049a..7f879bd2 100644
--- a/frontend/src/components/Controls/Grid.vue
+++ b/frontend/src/components/Controls/Grid.vue
@@ -104,13 +104,14 @@
['Link', 'Dynamic Link'].includes(field.fieldtype)
"
class="text-sm text-ink-gray-8"
- v-model="row[field.fieldname]"
+ :value="row[field.fieldname]"
:doctype="
field.fieldtype == 'Link'
? field.options
: row[field.options]
"
:filters="field.filters"
+ @change="(v) => fieldChange(v, field, row)"
/>
(row[field.fieldname] = v)"
+ @change="(v) => fieldChange(v, field, row)"
:placeholder="field.placeholder"
:hideMe="true"
>
@@ -148,23 +149,26 @@
class="cursor-pointer duration-300"
v-model="row[field.fieldname]"
:disabled="!gridSettings.editable_grid"
+ @change="(e) => fieldChange(e.target.checked, field, row)"
/>
fieldChange(v, field, row)"
/>
fieldChange(v, field, row)"
/>
-
fieldChange(e.target.value, field, row)"
+ />
+
+
+
+
@@ -265,6 +297,7 @@ import EditIcon from '@/components/Icons/EditIcon.vue'
import Link from '@/components/Controls/Link.vue'
import UserAvatar from '@/components/UserAvatar.vue'
import { getRandom, getFormat, isTouchScreenDevice } from '@/utils'
+import { flt } from '@/utils/numberFormat.js'
import { usersStore } from '@/stores/users'
import { getMeta } from '@/stores/meta'
import {
@@ -276,7 +309,7 @@ import {
Tooltip,
} from 'frappe-ui'
import Draggable from 'vuedraggable'
-import { ref, reactive, computed } from 'vue'
+import { ref, reactive, computed, inject } from 'vue'
const props = defineProps({
label: {
@@ -293,9 +326,17 @@ const props = defineProps({
},
})
-const { getGridViewSettings, getFields, getGridSettings } = getMeta(
- props.doctype,
-)
+const triggerOnChange = inject('triggerOnChange')
+const fieldname = inject('fieldname')
+
+const {
+ getGridViewSettings,
+ getFields,
+ getFormattedPercent,
+ getFormattedFloat,
+ getFormattedCurrency,
+ getGridSettings,
+} = getMeta(props.doctype)
getMeta(props.parentDoctype)
const { getUser } = usersStore()
@@ -382,6 +423,15 @@ const deleteRows = () => {
showRowList.value.pop()
selectedRows.clear()
}
+
+function fieldChange(value, field, row) {
+ row[field.fieldname] = value
+ triggerOnChange(field.fieldname, {
+ fieldname: fieldname,
+ dt: props.doctype,
+ dn: row.name,
+ })
+}