From a31770163ac5435a3eb7c82113e403748dd62b2d Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 30 Jan 2026 18:18:16 +0000 Subject: [PATCH] fix: AI fill handle --- .../smartsheet/grid/canvas/composables/useCanvasTable.ts | 5 ++++- packages/nc-gui/composables/useBetaFeatureToggle.ts | 9 +++++++++ packages/nc-gui/composables/useMultiSelect/index.ts | 4 ++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/grid/canvas/composables/useCanvasTable.ts b/packages/nc-gui/components/smartsheet/grid/canvas/composables/useCanvasTable.ts index 7d26075341..a2752acc26 100644 --- a/packages/nc-gui/components/smartsheet/grid/canvas/composables/useCanvasTable.ts +++ b/packages/nc-gui/components/smartsheet/grid/canvas/composables/useCanvasTable.ts @@ -240,6 +240,7 @@ export function useCanvasTable({ const { meta: metaKey, ctrl: ctrlKey } = useMagicKeys() const { isDataReadOnly, isUIAllowed } = useRoles() const { isAiFeaturesEnabled, aiIntegrations, isNocoAiAvailable, generateRows: _generateRows } = useNocoAi() + const { isFeatureEnabled } = useBetaFeatureToggle() const scriptStore = useScriptStore() const tooltipStore = useTooltipStore() const { blockExternalSourceRecordVisibility, blockRowColoring } = useEeConfig() @@ -327,7 +328,9 @@ export function useCanvasTable({ const headerRowHeight = computed(() => (isMobileMode.value ? 40 : COLUMN_HEADER_HEIGHT_IN_PX)) - const isAiFillMode = computed(() => (isMac() ? !!metaKey?.value : !!ctrlKey?.value) && isAiFeaturesEnabled.value) + const isAiFillMode = computed( + () => (isMac() ? !!metaKey?.value : !!ctrlKey?.value) && isAiFeaturesEnabled && isFeatureEnabled(FEATURE_FLAG.AI_FILL_HANDLE), + ) const fetchMetaIds = ref([]) const isLoadingMetas = ref(false) diff --git a/packages/nc-gui/composables/useBetaFeatureToggle.ts b/packages/nc-gui/composables/useBetaFeatureToggle.ts index b05e1cf912..55967cb09d 100644 --- a/packages/nc-gui/composables/useBetaFeatureToggle.ts +++ b/packages/nc-gui/composables/useBetaFeatureToggle.ts @@ -173,6 +173,15 @@ const FEATURES = [ version: 3, isEE: true, }, + { + id: 'ai_fill_handle', + title: 'AI Fill Handle', + description: 'Use AI to fill data in cells based on existing data patterns.', + enabled: false, + version: 1, + isEngineering: true, + isEE: true, + }, ] as const export const FEATURE_FLAG = Object.fromEntries(FEATURES.map((feature) => [feature.id.toUpperCase(), feature.id])) as Record< diff --git a/packages/nc-gui/composables/useMultiSelect/index.ts b/packages/nc-gui/composables/useMultiSelect/index.ts index 31c0f88f6d..89e64f1ab6 100644 --- a/packages/nc-gui/composables/useMultiSelect/index.ts +++ b/packages/nc-gui/composables/useMultiSelect/index.ts @@ -98,7 +98,7 @@ export function useMultiSelect( const { meta: metaKey } = useMagicKeys() - const { isAiFeaturesEnabled } = useNocoAi() + const { isFeatureEnabled } = useBetaFeatureToggle() const { isSqlView, isExternalSource } = useSmartsheetStoreOrThrow() @@ -1878,7 +1878,7 @@ export function useMultiSelect( } isFillMode.value = true - if (metaKey?.value && isAiFeaturesEnabled.value) { + if (metaKey?.value && isFeatureEnabled(FEATURE_FLAG.AI_FILL_HANDLE)) { aiMode.value = true }