feat: date dependency

This commit is contained in:
DarkPhoenix2704
2026-03-24 10:45:16 +00:00
parent 38e7a31c32
commit 47492d042b
20 changed files with 626 additions and 3 deletions

View File

@@ -66,6 +66,7 @@ const source = computed(() => {
const isTableDeleteDialogVisible = ref(false)
const isTablePermissionsDialogVisible = ref(false)
const isTableRlsDialogVisible = ref(false)
const isTableDateDependencyDialogVisible = ref(false)
const isOptionsOpen = ref(false)
@@ -299,6 +300,11 @@ function onRowLevelSecurity() {
isTableRlsDialogVisible.value = true
}
function onDateDependency() {
isOptionsOpen.value = false
isTableDateDependencyDialogVisible.value = true
}
/** Cancel renaming view */
function onCancel() {
if (!isEditing.value) return
@@ -414,6 +420,10 @@ const enabledOptions = computed(() => {
table.value?.type === 'table' &&
isUIAllowed('rlsManage', { roles: baseRole?.value, source: source.value }) &&
showEEFeatures.value,
tableDateDependency:
isEeUI &&
table.value?.type === 'table' &&
isUIAllowed('dateDependencyManage', { roles: baseRole?.value, source: source.value }),
tableDelete: isUIAllowed('tableDelete', { roles: baseRole?.value, source: source.value }),
}
})
@@ -678,6 +688,24 @@ const enabledOptions = computed(() => {
<div class="flex-1">{{ $t('objects.permissions.rlsPolicy.rowLevelSecurity') }}</div>
</div>
</NcMenuItem>
<PaymentUpgradeBadgeProvider
v-if="enabledOptions.tableDateDependency"
:feature="PlanFeatureTypes.FEATURE_DATE_DEPENDENCY"
>
<template #default="{ click }">
<NcMenuItem
:data-testid="`sidebar-table-date-dependency-${table.title}`"
class="nc-table-date-dependency"
@click="click(PlanFeatureTypes.FEATURE_DATE_DEPENDENCY, onDateDependency)"
>
<div v-e="['c:table:date-dependency']" class="flex gap-2 items-center w-full">
<GeneralIcon icon="ncCalendar" class="opacity-80" />
<div class="flex-1">{{ $t('labels.dateDependency.title') }}</div>
<LazyPaymentUpgradeBadge :feature="PlanFeatureTypes.FEATURE_DATE_DEPENDENCY" />
</div>
</NcMenuItem>
</template>
</PaymentUpgradeBadgeProvider>
</template>
<template v-if="enabledOptions.tableDelete">
<NcDivider />
@@ -741,6 +769,12 @@ const enabledOptions = computed(() => {
:table-id="table.id"
:title="table.title"
/>
<DlgTableDateDependency
v-if="table.id && isEeUI"
v-model:visible="isTableDateDependencyDialogVisible"
:table-id="table.id"
:title="table.title"
/>
<DashboardTreeViewViews v-if="isExpanded" />
</div>
</template>