fix: hide/show organization/contact switch if section exists

This commit is contained in:
Shariq Ansari 2025-01-01 21:13:36 +05:30
parent 9113378838
commit cc0f440800

View File

@ -23,17 +23,29 @@
</div> </div>
</div> </div>
<div> <div>
<div class="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-3"> <div
<div class="flex items-center gap-3 text-sm text-ink-gray-5"> v-if="hasOrganizationSections || hasContactSections"
class="mb-4 grid grid-cols-1 gap-4 sm:grid-cols-3"
>
<div
v-if="hasOrganizationSections"
class="flex items-center gap-3 text-sm text-ink-gray-5"
>
<div>{{ __('Choose Existing Organization') }}</div> <div>{{ __('Choose Existing Organization') }}</div>
<Switch v-model="chooseExistingOrganization" /> <Switch v-model="chooseExistingOrganization" />
</div> </div>
<div class="flex items-center gap-3 text-sm text-ink-gray-5"> <div
v-if="hasContactSections"
class="flex items-center gap-3 text-sm text-ink-gray-5"
>
<div>{{ __('Choose Existing Contact') }}</div> <div>{{ __('Choose Existing Contact') }}</div>
<Switch v-model="chooseExistingContact" /> <Switch v-model="chooseExistingContact" />
</div> </div>
</div> </div>
<div class="h-px w-full border-t my-5" /> <div
v-if="hasOrganizationSections || hasContactSections"
class="h-px w-full border-t my-5"
/>
<FieldLayout <FieldLayout
ref="fieldLayoutRef" ref="fieldLayoutRef"
v-if="tabs.data?.length" v-if="tabs.data?.length"
@ -98,6 +110,9 @@ const deal = reactive({
deal_owner: '', deal_owner: '',
}) })
const hasOrganizationSections = ref(false)
const hasContactSections = ref(false)
const isDealCreating = ref(false) const isDealCreating = ref(false)
const chooseExistingContact = ref(false) const chooseExistingContact = ref(false)
const chooseExistingOrganization = ref(false) const chooseExistingOrganization = ref(false)
@ -131,6 +146,19 @@ const tabs = createResource({
return _tabs.forEach((tab) => { return _tabs.forEach((tab) => {
tab.sections.forEach((section) => { tab.sections.forEach((section) => {
section.columns.forEach((column) => { section.columns.forEach((column) => {
if (
['organization_section', 'organization_details_section'].includes(
section.name,
)
) {
hasOrganizationSections.value = true
} else if (
['contact_section', 'contact_details_section'].includes(
section.name,
)
) {
hasContactSections.value = true
}
column.fields.forEach((field) => { column.fields.forEach((field) => {
if (field.name == 'status') { if (field.name == 'status') {
field.type = 'Select' field.type = 'Select'