snapshot of https://github.com/frappe/crm.git (develop, 2026-09-18; blobs > 131072B omitted)
Some checks failed
Frontend / Unit Tests & Coverage (push) Has been skipped
Regenerate POT file (translatable strings) / Regenerate POT file (develop) (push) Failing after 1m13s
Regenerate POT file (translatable strings) / Regenerate POT file (main-hotfix) (push) Failing after 6s
Server / Tests (frappe ${{ matrix.frappe-branch }}) (push) Has been skipped
Server / Resolve frappe matrix (push) Failing after 1s
Frontend / Lint (push) Failing after 1s
Frontend / Production Build (push) Failing after 1s
Server / Coverage Wrap Up (push) Has been skipped
Frontend / Coverage Wrap Up (push) Has been skipped
Some checks failed
Frontend / Unit Tests & Coverage (push) Has been skipped
Regenerate POT file (translatable strings) / Regenerate POT file (develop) (push) Failing after 1m13s
Regenerate POT file (translatable strings) / Regenerate POT file (main-hotfix) (push) Failing after 6s
Server / Tests (frappe ${{ matrix.frappe-branch }}) (push) Has been skipped
Server / Resolve frappe matrix (push) Failing after 1s
Frontend / Lint (push) Failing after 1s
Frontend / Production Build (push) Failing after 1s
Server / Coverage Wrap Up (push) Has been skipped
Frontend / Coverage Wrap Up (push) Has been skipped
This commit is contained in:
81
frontend/src/components/Controls/GridRowModal.vue
Normal file
81
frontend/src/components/Controls/GridRowModal.vue
Normal file
@@ -0,0 +1,81 @@
|
||||
<template>
|
||||
<Dialog v-model:open="show" :size="'4xl'">
|
||||
<template #body>
|
||||
<div class="bg-surface-elevation-2 px-4 pb-6 pt-5 sm:px-6">
|
||||
<div class="mb-5 flex items-center justify-between">
|
||||
<div>
|
||||
<h3 class="text-3xl-semibold leading-6 text-ink-gray-9">
|
||||
{{ __('Editing Row {0}', [index + 1]) }}
|
||||
</h3>
|
||||
</div>
|
||||
<div class="flex items-center gap-1">
|
||||
<Button
|
||||
v-if="isManager()"
|
||||
:tooltip="__('Edit Fields Layout')"
|
||||
variant="ghost"
|
||||
class="w-7"
|
||||
:icon="EditIcon"
|
||||
@click="openGridRowFieldsModal"
|
||||
/>
|
||||
<Button
|
||||
icon="lucide-x"
|
||||
variant="ghost"
|
||||
class="w-7"
|
||||
@click="show = false"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<FieldLayout
|
||||
v-if="tabs.data"
|
||||
:tabs="tabs.data"
|
||||
:data="data"
|
||||
:doctype="doctype"
|
||||
:isGridRow="true"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import EditIcon from '@/components/Icons/EditIcon.vue'
|
||||
import FieldLayout from '@/components/FieldLayout/FieldLayout.vue'
|
||||
import { usersStore } from '@/stores/users'
|
||||
import { createResource } from 'frappe-ui'
|
||||
import { nextTick, provide } from 'vue'
|
||||
|
||||
const props = defineProps({
|
||||
index: { type: Number, default: 0 },
|
||||
data: { type: Object, default: () => ({}) },
|
||||
doctype: { type: String, default: '' },
|
||||
parentDoctype: { type: String, default: '' },
|
||||
parentFieldname: { type: String, default: '' },
|
||||
})
|
||||
|
||||
const { isManager } = usersStore()
|
||||
|
||||
provide('parentFieldname', props.parentFieldname)
|
||||
|
||||
const show = defineModel({ type: Boolean })
|
||||
const showGridRowFieldsModal = defineModel('showGridRowFieldsModal', {
|
||||
type: Boolean,
|
||||
})
|
||||
|
||||
const tabs = createResource({
|
||||
url: 'crm.fcrm.doctype.crm_fields_layout.crm_fields_layout.get_fields_layout',
|
||||
cache: ['Grid Row', props.doctype, props.parentDoctype],
|
||||
params: {
|
||||
doctype: props.doctype,
|
||||
type: 'Grid Row',
|
||||
parent_doctype: props.parentDoctype,
|
||||
},
|
||||
auto: true,
|
||||
})
|
||||
|
||||
function openGridRowFieldsModal() {
|
||||
showGridRowFieldsModal.value = true
|
||||
nextTick(() => (show.value = false))
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user