mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-25 07:25:49 +00:00
2
.gitignore
vendored
2
.gitignore
vendored
@@ -101,3 +101,5 @@ httpbin
|
||||
|
||||
# nix
|
||||
result
|
||||
|
||||
.cursorignore
|
||||
3
packages/nc-gui/assets/nc-icons-v2/linear.svg
Normal file
3
packages/nc-gui/assets/nc-icons-v2/linear.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0.391909 19.687C0.320869 19.3833 0.68247 19.1923 0.902951 19.4128L12.5868 31.0964C12.8076 31.3172 12.6163 31.6788 12.3126 31.6074C6.41657 30.2241 1.77495 25.5829 0.391909 19.687ZM0.000548304 15.0042C-0.00209072 15.049 0.00481773 15.0939 0.0208161 15.1358C0.0368145 15.1777 0.0615378 15.2158 0.0933486 15.2474L16.752 31.9066C16.8163 31.9706 16.9049 32.0049 16.9952 31.9994C17.7536 31.9518 18.4976 31.8522 19.2233 31.7028C19.4681 31.6526 19.5529 31.3521 19.3763 31.1755L0.824231 12.6231C0.64759 12.4468 0.347109 12.5316 0.296869 12.7764C0.146067 13.5112 0.0470495 14.2556 0.000548304 15.0042ZM1.34711 9.50543C1.3213 9.56395 1.31384 9.62892 1.32573 9.69177C1.33761 9.75461 1.36828 9.81237 1.41367 9.85743L22.1421 30.5854C22.2345 30.6782 22.3744 30.7054 22.4941 30.6519C23.0634 30.3983 23.6174 30.1115 24.1533 29.7931C24.1943 29.7684 24.2292 29.7347 24.2552 29.6945C24.2812 29.6542 24.2977 29.6086 24.3033 29.561C24.309 29.5135 24.3037 29.4652 24.2878 29.4201C24.2719 29.3749 24.246 29.3339 24.2118 29.3003L2.69944 7.78738C2.66583 7.75319 2.62485 7.72714 2.57962 7.71125C2.53439 7.69535 2.48612 7.69003 2.43851 7.69568C2.3909 7.70133 2.34522 7.71782 2.30497 7.74386C2.26472 7.76991 2.23097 7.80483 2.20631 7.84594C1.88788 8.38176 1.6011 8.93577 1.34743 9.50511L1.34711 9.50543ZM4.05048 5.78358C3.99318 5.72687 3.95976 5.65038 3.95709 5.56981C3.95441 5.48924 3.98267 5.41069 4.03608 5.35031C6.96953 2.06716 11.2355 0 15.9846 0C24.8294 0 32 7.17011 32 16.0151C32 20.7638 29.9328 25.03 26.6496 27.963C26.5892 28.0164 26.5107 28.0447 26.4301 28.042C26.3495 28.0393 26.273 28.0059 26.2163 27.9486L4.0508 5.78358H4.05048Z" fill="#5E6AD2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -247,7 +247,7 @@ const handleCancel = () => {
|
||||
<NcButton
|
||||
:disabled="showNewTokenModal"
|
||||
class="!rounded-md"
|
||||
data-testid="nc-token-create"
|
||||
data-testid="nc-token-create-top"
|
||||
size="middle"
|
||||
type="primary"
|
||||
tooltip="bottom"
|
||||
@@ -295,7 +295,7 @@ const handleCancel = () => {
|
||||
data-testid="nc-token-input"
|
||||
:disabled="isLoading"
|
||||
@press-enter="generateToken"
|
||||
@input="isValidTokenName = validateTokenName(selectedTokenData.value.description)"
|
||||
@input="isValidTokenName = validateTokenName(selectedTokenData.description)"
|
||||
/>
|
||||
<span v-if="!isValidTokenName" class="text-red-500 text-xs font-light mt-1.5 ml-1" data-rec="true"
|
||||
>{{ errorMessage }}
|
||||
|
||||
@@ -130,10 +130,6 @@ onMounted(async () => {
|
||||
if (props.tab) {
|
||||
projectPageTab.value = props.tab
|
||||
}
|
||||
|
||||
await until(() => !!currentBase.value?.id).toBeTruthy()
|
||||
|
||||
await loadAutomations({ baseId: currentBase.value?.id })
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -8,10 +8,6 @@ const { isViewsLoading } = storeToRefs(useViewsStore())
|
||||
|
||||
const { isLocalMode } = useViewColumnsOrThrow()
|
||||
|
||||
const isPublic = inject(IsPublicInj, ref(false))
|
||||
|
||||
const { isSharedBase } = useBase()
|
||||
|
||||
const containerRef = ref<HTMLElement>()
|
||||
|
||||
const { width } = useElementSize(containerRef)
|
||||
@@ -27,12 +23,6 @@ const isTab = computed(() => {
|
||||
return width.value > 1200
|
||||
})
|
||||
|
||||
const { isUIAllowed } = useRoles()
|
||||
|
||||
const { isFeatureEnabled } = useBetaFeatureToggle()
|
||||
|
||||
const isAutomationEnabled = computed(() => isFeatureEnabled(FEATURE_FLAG.NOCODB_SCRIPTS))
|
||||
|
||||
const isToolbarIconMode = computed(() => {
|
||||
if (width.value < 768) {
|
||||
return true
|
||||
@@ -79,10 +69,6 @@ provide(IsToolbarIconMode, isToolbarIconMode)
|
||||
<LazySmartsheetToolbarGroupByMenu v-if="isGrid && !isLocalMode" />
|
||||
|
||||
<LazySmartsheetToolbarSortListMenu v-if="isGrid || isGallery || isKanban" />
|
||||
<LazySmartsheetToolbarBulkAction
|
||||
v-if="(isGrid || isGallery) && !isPublic && isAutomationEnabled && !isSharedBase && isUIAllowed('scriptExecute')"
|
||||
/>
|
||||
|
||||
<LazySmartsheetToolbarOpenedViewAction v-if="isCalendar" />
|
||||
</div>
|
||||
|
||||
|
||||
@@ -49,8 +49,6 @@ const activeSource = computed(() => {
|
||||
})
|
||||
const { isFeatureEnabled } = useBetaFeatureToggle()
|
||||
|
||||
const isAutomationEnabled = computed(() => isFeatureEnabled(FEATURE_FLAG.NOCODB_SCRIPTS))
|
||||
|
||||
useProvideKanbanViewStore(meta, activeView)
|
||||
useProvideMapViewStore(meta, activeView)
|
||||
useProvideCalendarViewStore(meta, activeView)
|
||||
@@ -89,8 +87,6 @@ const grid = ref()
|
||||
|
||||
const extensionPaneRef = ref()
|
||||
|
||||
const actionPaneRef = ref()
|
||||
|
||||
const onDrop = async (event: DragEvent) => {
|
||||
event.preventDefault()
|
||||
try {
|
||||
@@ -177,15 +173,13 @@ const { isPanelExpanded, extensionPanelSize } = useExtensions()
|
||||
const contentSize = computed(() => {
|
||||
if (isPanelExpanded.value && extensionPanelSize.value) {
|
||||
return 100 - extensionPanelSize.value
|
||||
} else if (isActionPaneActive.value && actionPaneSize.value) {
|
||||
return 100 - actionPaneSize.value
|
||||
} else {
|
||||
return 100
|
||||
}
|
||||
})
|
||||
|
||||
const contentMaxSize = computed(() => {
|
||||
if (!isPanelExpanded.value && !isActionPaneActive.value) {
|
||||
if (!isPanelExpanded.value) {
|
||||
return 100
|
||||
} else {
|
||||
return ((windowSize.value - leftSidebarWidth.value - 300) / (windowSize.value - leftSidebarWidth.value)) * 100
|
||||
@@ -196,17 +190,12 @@ const onResize = () => {
|
||||
if (isPanelExpanded.value && !extensionPaneRef.value?.isReady) {
|
||||
extensionPaneRef.value?.onReady()
|
||||
}
|
||||
|
||||
if (isActionPaneActive.value && !actionPaneRef.value?.isReady) {
|
||||
actionPaneRef.value?.onReady()
|
||||
}
|
||||
}
|
||||
|
||||
const onResized = (sizes: { min: number; max: number; size: number }[]) => {
|
||||
if (sizes.length === 2) {
|
||||
if (!sizes[1].size) return
|
||||
if (isPanelExpanded.value) extensionPanelSize.value = sizes[1].size
|
||||
else if (isActionPaneActive.value) actionPaneSize.value = sizes[1].size
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,13 +206,6 @@ const onReady = () => {
|
||||
extensionPaneRef.value?.onReady()
|
||||
}, 300)
|
||||
}
|
||||
|
||||
if (isActionPaneActive.value && actionPaneRef.value) {
|
||||
// wait until action pane animation complete
|
||||
setTimeout(() => {
|
||||
actionPaneRef.value?.onReady()
|
||||
}, 300)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -269,7 +251,6 @@ const onReady = () => {
|
||||
</div>
|
||||
</Pane>
|
||||
<ExtensionsPane v-if="isPanelExpanded" ref="extensionPaneRef" />
|
||||
<SmartsheetAutomationActionPane v-else-if="isActionPaneActive && isEeUI && isAutomationEnabled" ref="actionPaneRef" />
|
||||
</Splitpanes>
|
||||
<SmartsheetDetails v-else />
|
||||
</div>
|
||||
|
||||
@@ -110,6 +110,8 @@ export interface Actions {
|
||||
query?: any
|
||||
tableId?: string
|
||||
viewId?: string
|
||||
automationId?: string
|
||||
automation?: boolean
|
||||
}) => void
|
||||
getBaseUrl: (workspaceId: string) => string | undefined
|
||||
getMainUrl: (workspaceId: string) => string | undefined
|
||||
|
||||
@@ -94,32 +94,32 @@
|
||||
},
|
||||
"upgrade": {
|
||||
"UpgradeToInviteMore": "Invite more members",
|
||||
"UpgradeToInviteMoreSubtitle": "The {activePlan} plan allows up to {editors} editors & {commenters} commenters. Upgrade to the {plan} plan for unlimited users.",
|
||||
"UpgradeToInviteMoreSubtitle": "The {activePlan} plan allows up to {editors} editors & {commenters} commenters per workspace. Upgrade to the {plan} plan for unlimited users.",
|
||||
"UpgradeToPlanToAccessThisFeature": "Upgrade to {plan} plan to access this feature",
|
||||
"UpgradeToCreateAdditionalSnapshots": "Upgrade to create additional snapshots",
|
||||
"UpgradeToCreateAdditionalSnapshotsSubtitle": "The {activePlan} plan allows up to {n} snapshots. Upgrade to the {plan} plan and get access to additional snapshots.",
|
||||
"UpgradeToCreateSnapshots": "Upgrade to create snapshots",
|
||||
"UpgradeToCreateSnapshotsSubtitle": "The {activePlan} plan doesn't allow to create snapshots. Upgrade to the {plan} plan and get access to snapshots.",
|
||||
"upgradeToAddCustomBannerSubtitle": "Upload a custom banner to the form by upgrading your workspace to the Team plan.",
|
||||
"upgradeToAddCustomLogoSubtitle": "Upload your Logo on the form by upgrading your workspace to the Team plan.",
|
||||
"upgradeToHideFormBrandingSubtitle": "Hide NocoDB branding by upgrading your workspace to the Team plan.",
|
||||
"upgradeToAddRedirectUrlSubtitle": "Redirect your users to another webpage after filling out the form by upgrading to the Team plan.",
|
||||
"upgradeToAddCustomValidationSubtitle": "Add custom validations by upgrading your workspace to the Team plan.",
|
||||
"upgradeToAddCustomUrlSubtitle": "Create custom url by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToAccessPersonalViewSubtitle": "Access Personal view by upgrading your workspace to the Team plan.",
|
||||
"upgradeToAddCustomBannerSubtitle": "Upload a custom banner to the form by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToAddCustomLogoSubtitle": "Upload your Logo on the form by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToHideFormBrandingSubtitle": "Hide NocoDB branding by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToAddRedirectUrlSubtitle": "Redirect your users to another webpage after filling out the form by upgrading to the {plan} plan.",
|
||||
"upgradeToAddCustomValidationSubtitle": "Add custom validations by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToAddCustomUrlSubtitle": "Create custom URL by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToAccessPersonalViewSubtitle": "Access Personal view by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToAccessReassignViewSubtitle": "Access Re-assign view feature by upgrading your workspace to the {plan} plan.",
|
||||
"updateToAddRecordFormView": "This Form is no longer accepting submissions",
|
||||
"updateToAddRecordFormViewSubtitle": "You’ve reached the limit for number of records on your {plan} plan. Upgrade to increase your record limit.",
|
||||
"updateToAddRecordFormViewSubtitle": "You’ve reached the limit for number of records on your {activePlan} plan. Upgrade to increase your record limit.",
|
||||
"updateToExtendRecordHistory": "Upgrade to extend your history",
|
||||
"updateToExtendRecordHistorySubtitle": "The {activePlan} plan allows up to {period} of audit history. Upgrade to the {plan} plan to increase your audit history period.",
|
||||
"planLimitReached": "Limit reached: Upgrade Plan",
|
||||
"planLimitReachedSubtitle": "Upgrade to add more records",
|
||||
"upgradeToAddLimitRecordSelection": "To limit record selection using filters, please upgrade to the {plan} plan.",
|
||||
"upgradeToAdd": "Upgrade to Add",
|
||||
"upgradeToAdd": "Upgrade to add",
|
||||
"requestUpgradeToAdd": "Request upgrade to add",
|
||||
"upgradeToAddMoreExtensions": "You're currently on the Free plan, which allows only one extension. Upgrade to unlock unlimited extensions.",
|
||||
"upgradeToAccessWsAudit": "Upgrade to access workspace audit",
|
||||
"upgradeToAccessWsAuditSubtitle": "Upgrade your plan to the {plan} plan to unlock workspace audit logs and track key activities with ease.",
|
||||
"upgradeToAccessWsAuditSubtitle": "Upgrade to the {plan} plan to enable workspace audit logs and efficiently monitor key activities.",
|
||||
"upgradeToAddMoreAttachments": "Upgrade to add more attachments",
|
||||
"upgradeToAddMoreAttachmentsSubtitle": "The {activePlan} plan allows up to {limit} storage. Upgrade to the {plan} plan to increase your storage limit.",
|
||||
"upgradeToCreateMoreRecords": "Upgrade to create more records",
|
||||
@@ -127,8 +127,8 @@
|
||||
"upgradeToCreateMoreRecordsForm": "This form is currently not accepting submissions",
|
||||
"upgradeToCreateMoreRecordsFormSubtitle": "The owner may need to upgrade their workspace plan before this form can accept additional submissions.",
|
||||
"upgradeToAccessFieldValidationSubtitle": "Add field validations by upgrading your workspace to the {plan} plan.",
|
||||
"upgradeToAddExternalSource": "Upgrade to add additional external source",
|
||||
"upgradeToAddExternalSourceSubtitle": "The {activePlan} plan allows up to {limit} external source. Upgrade to the {plan} plan and get access to additional external sources.",
|
||||
"upgradeToAddExternalSource": "Upgrade to connect more external sources",
|
||||
"upgradeToAddExternalSourceSubtitle": "Your current {activePlan} plan supports only {limit} external source. Upgrade to the {plan} plan to connect multiple external sources.",
|
||||
"upgradeToAddWebhook": "Upgrade to add unlimited webhooks",
|
||||
"upgradeToAddWebhookSubtitle": "The {activePlan} plan allows up to {limit} webhooks. Upgrade to the {plan} plan and get access to unlimited webhooks.",
|
||||
"upgradeToAccessWebhookLogsSubtitle": "Access webhook logs by upgrading your workspace to the {plan} plan.",
|
||||
@@ -137,8 +137,8 @@
|
||||
"WorkspaceOwnerNotified": "Workspace owner notified",
|
||||
"WorkspaceOwnerNotifiedSubtitle": "Your request to upgrade has been shared with the workspace owner.",
|
||||
"failedToSendUpgradeRequest": "Failed to send upgrade request",
|
||||
"upgradeToSeeMoreRecord": "Only first 100 records will be visible, upgrade to Team plan to access all records visiblility",
|
||||
"upgradeToSeeMoreRecordInline": "Upgrade to view all records from external Datasources",
|
||||
"upgradeToSeeMoreRecord": "Upgrade to unlock full data access",
|
||||
"upgradeToSeeMoreRecordInline": "Upgrade to view all records from external datasources",
|
||||
"upgradeToSeeMoreRecordSubtitle": "Unlock complete visibility into your connected sources. View all records by upgrading to the Team plan.",
|
||||
"upgradeToSeeMoreRecordInlineSubtitle": "You're viewing {limit} of {total} records. Unlock access to the remaining {remaining} records by upgrading to the Team plan.",
|
||||
"editorLimitExceedTooltip": "{prefix}. {activePlan} plan has an editor limit set to {limit}.",
|
||||
@@ -795,7 +795,7 @@
|
||||
"seatMonth": "/seat/month",
|
||||
"mostPopular": "Most Popular",
|
||||
"helpAndSupport": "Help & Support",
|
||||
"helpAndSupportSubtitle": "For help and support, please visit our Support Center where you can find detailed guides, contact our customer service team, or access our community forum for additional assistance.",
|
||||
"helpAndSupportSubtitle": "Visit our Support Center for detailed guides, customer service contact options, and a community forum for additional help.",
|
||||
"faq": "FAQ",
|
||||
"faqSubtitle": "Explore the FAQ section and get quick answers to common questions about our services, features, and troubleshooting. ",
|
||||
"downgradeToPlan": "Downgrade to {plan} plan?",
|
||||
@@ -1189,8 +1189,8 @@
|
||||
"nocoDBBaseImported": "NocoDB Base Imported",
|
||||
"formatJson": "Format JSON",
|
||||
"autoSelectFieldTypes": "Auto-Select Field Types",
|
||||
"firstRowAsHeaders": "Use First Record as Headers",
|
||||
"flattenNested": "Flatten Nested",
|
||||
"firstRowAsHeaders": "Use first record as header",
|
||||
"flattenNested": "Flatten nested",
|
||||
"downloadAllowed": "Download allowed",
|
||||
"weAreHiring": "We are Hiring!",
|
||||
"primaryKey": "Primary key",
|
||||
@@ -1271,7 +1271,7 @@
|
||||
"viewHide": "View visibility ",
|
||||
"osBrowser": "OS, Browser",
|
||||
"rowId": "Row Id",
|
||||
"showJsonPayload": "Show json payload",
|
||||
"showJsonPayload": "Show JSON payload",
|
||||
"autoCreateMissingSelectionOptions": "Auto create missing select field options",
|
||||
"fillForm": "Fill Form",
|
||||
"proceedToLink": "Proceed to link",
|
||||
@@ -1283,7 +1283,7 @@
|
||||
"useSameTimezoneForAllMembers": "Use same timezone for all members",
|
||||
"displayTimezone": "Display time zone",
|
||||
"upgradePlan": "Upgrade Plan",
|
||||
"viewAllPlanDetails": "View all plan Details",
|
||||
"viewAllPlanDetails": "View all plan details",
|
||||
"contactSales": "Contact Sales",
|
||||
"manageSubscription": "Manage Subscription",
|
||||
"upgradeToPlan": "Upgrade To {plan}",
|
||||
|
||||
@@ -249,7 +249,7 @@ export const useWorkspace = defineStore('workspaceStore', () => {
|
||||
}
|
||||
|
||||
const getPlanLimit = (_arg: any) => {
|
||||
return 9999
|
||||
return Infinity
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@@ -238,6 +238,7 @@ import NcGoogleSheet from '~icons/nc-icons/google_sheet'
|
||||
import NcGoogleDrive from '~icons/nc-icons/google-drive'
|
||||
import NcHubspot from '~icons/nc-icons/hubspot'
|
||||
import NcJira from '~icons/nc-icons/jira'
|
||||
import NcLinear from '~icons/nc-icons-v2/linear'
|
||||
import NcMailchimp from '~icons/nc-icons/mailchimp'
|
||||
import NcMicrosoftAccess from '~icons/nc-icons/microsoft_access'
|
||||
import NcMicrosoftExcel from '~icons/nc-icons/microsoft_excel'
|
||||
@@ -1205,6 +1206,7 @@ export const iconMap = {
|
||||
'asana': NcAsana,
|
||||
'box': NcBox,
|
||||
'githubSolid': NcGithubSolid,
|
||||
'linear': NcLinear,
|
||||
'gitlab': NcGitlab,
|
||||
'googleCalendar': NcGoogleCalendar,
|
||||
'googleSheet': NcGoogleSheet,
|
||||
|
||||
@@ -823,7 +823,10 @@ const parseConditionV2 = async (
|
||||
column.dt !== 'timestamptz'
|
||||
) {
|
||||
qb.where(
|
||||
knex.raw("?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'", [field]),
|
||||
knex.raw(
|
||||
"?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'",
|
||||
[field],
|
||||
),
|
||||
gt_op,
|
||||
knex.raw('?::timestamptz', [val]),
|
||||
);
|
||||
@@ -879,7 +882,10 @@ const parseConditionV2 = async (
|
||||
column.dt !== 'timestamptz'
|
||||
) {
|
||||
qb.where(
|
||||
knex.raw("?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'", [field]),
|
||||
knex.raw(
|
||||
"?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'",
|
||||
[field],
|
||||
),
|
||||
ge_op,
|
||||
knex.raw('?::timestamptz', [val]),
|
||||
);
|
||||
@@ -934,7 +940,10 @@ const parseConditionV2 = async (
|
||||
column.dt !== 'timestamptz'
|
||||
) {
|
||||
qb.where(
|
||||
knex.raw("?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'", [field]),
|
||||
knex.raw(
|
||||
"?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'",
|
||||
[field],
|
||||
),
|
||||
lt_op,
|
||||
knex.raw('?::timestamptz', [val]),
|
||||
);
|
||||
@@ -991,7 +1000,10 @@ const parseConditionV2 = async (
|
||||
column.dt !== 'timestamptz'
|
||||
) {
|
||||
qb.where(
|
||||
knex.raw("?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'", [field]),
|
||||
knex.raw(
|
||||
"?? AT TIME ZONE CURRENT_SETTING('timezone') AT TIME ZONE 'UTC'",
|
||||
[field],
|
||||
),
|
||||
le_op,
|
||||
knex.raw('?::timestamptz', [val]),
|
||||
);
|
||||
|
||||
@@ -43,7 +43,6 @@ export enum JobTypes {
|
||||
RestoreSnapshot = 'restore-snapshot',
|
||||
ListenImport = 'listen-import',
|
||||
SyncModuleSyncData = 'sync-module-sync-data',
|
||||
SubscriptionSchedule = 'subscription-schedule',
|
||||
UpdateUsageStats = 'update-usage-stats',
|
||||
}
|
||||
|
||||
@@ -56,7 +55,6 @@ export const SKIP_STORING_JOB_META = [
|
||||
JobTypes.UpdateModelStat,
|
||||
JobTypes.UpdateWsStat,
|
||||
JobTypes.UpdateSrcStat,
|
||||
JobTypes.SubscriptionSchedule,
|
||||
];
|
||||
|
||||
export enum JobStatus {
|
||||
|
||||
@@ -1465,7 +1465,13 @@ export class ColumnsService implements IColumnsService {
|
||||
for (const filter of filters ?? []) {
|
||||
let newValue = filter.value;
|
||||
// do not try to map when the comparison has no value
|
||||
if(ncIsUndefined(newValue) || ncIsNull(newValue) || newValue === '') { continue; }
|
||||
if (
|
||||
ncIsUndefined(newValue) ||
|
||||
ncIsNull(newValue) ||
|
||||
newValue === ''
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
// Split filter values and update them based on title changes
|
||||
const values = filter.value?.split(',');
|
||||
const updatedValues = values.map((val) => {
|
||||
|
||||
Reference in New Issue
Block a user