(core) Fix calendar and card tip bug on mobile

Summary:
On mobile, tips for calendar and card list aren't currently
shown, but the creator panel was still automatically being
opened in preparation for showing the tip.

Test Plan: Manual and existing tests.

Reviewers: jarek

Reviewed By: jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D4053
This commit is contained in:
George Gevoian
2023-09-26 20:40:34 -04:00
parent 82c95ec074
commit e033889b6a
5 changed files with 88 additions and 70 deletions

View File

@@ -481,9 +481,9 @@ export class CustomSectionConfig extends Disposable {
popupOptions: {
placement: 'left-start',
},
shouldShow: () => {
// Only show tip if a custom widget isn't already selected.
return !this._selectedId.get() || (isCustom.get() && this._url.get().trim() === '');
isDisabled: () => {
// Disable tip if a custom widget is already selected.
return Boolean(this._selectedId.get() && !(isCustom.get() && this._url.get().trim() === ''));
},
})
),

View File

@@ -103,7 +103,15 @@ see or edit which parts of your document.')
export interface BehavioralPromptContent {
title: () => string;
content: (...domArgs: DomElementArg[]) => DomContents;
deploymentTypes: GristDeploymentType[] | '*';
showDeploymentTypes: GristDeploymentType[] | '*';
/** Defaults to `desktop`. */
showContext?: 'mobile' | 'desktop' | '*';
/** Defaults to `false`. */
hideDontShowTips?: boolean;
/** Defaults to `false`. */
forceShow?: boolean;
/** Defaults to `true`. */
markAsSeen?: boolean;
}
export const GristBehavioralPrompts: Record<BehavioralPrompt, BehavioralPromptContent> = {
@@ -119,7 +127,7 @@ export const GristBehavioralPrompts: Record<BehavioralPrompt, BehavioralPromptCo
),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
referenceColumnsConfig: {
title: () => t('Reference Columns'),
@@ -134,7 +142,7 @@ record in that table, but you may select which column from that record to show.'
),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
rawDataPage: {
title: () => t('Raw Data page'),
@@ -144,7 +152,7 @@ including summary tables and tables not included in page layouts.')),
dom('div', cssLink({href: commonUrls.helpRawData, target: '_blank'}, t('Learn more.'))),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
accessRules: {
title: () => t('Access Rules'),
@@ -154,7 +162,7 @@ to determine who can see or edit which parts of your document.')),
dom('div', cssLink({href: commonUrls.helpAccessRules, target: '_blank'}, t('Learn more.'))),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
filterButtons: {
title: () => t('Pinning Filters'),
@@ -164,7 +172,7 @@ to determine who can see or edit which parts of your document.')),
dom('div', cssLink({href: commonUrls.helpFilterButtons, target: '_blank'}, t('Learn more.'))),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
nestedFiltering: {
title: () => t('Nested Filtering'),
@@ -173,7 +181,7 @@ to determine who can see or edit which parts of your document.')),
dom('div', t('Only those rows will appear which match all of the filters.')),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
pageWidgetPicker: {
title: () => t('Selecting Data'),
@@ -182,7 +190,7 @@ to determine who can see or edit which parts of your document.')),
dom('div', t('Use the 𝚺 icon to create summary (or pivot) tables, for totals or subtotals.')),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
pageWidgetPickerSelectBy: {
title: () => t('Linking Widgets'),
@@ -192,7 +200,7 @@ to determine who can see or edit which parts of your document.')),
dom('div', cssLink({href: commonUrls.helpLinkingWidgets, target: '_blank'}, t('Learn more.'))),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
editCardLayout: {
title: () => t('Editing Card Layout'),
@@ -203,7 +211,7 @@ to determine who can see or edit which parts of your document.')),
})),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
addNew: {
title: () => t('Add New'),
@@ -211,7 +219,7 @@ to determine who can see or edit which parts of your document.')),
dom('div', t('Click the Add New button to create new documents or workspaces, or import data.')),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
rickRow: {
title: () => t('Anchor Links'),
@@ -225,7 +233,11 @@ to determine who can see or edit which parts of your document.')),
),
...args,
),
deploymentTypes: '*',
showDeploymentTypes: '*',
showContext: '*',
hideDontShowTips: true,
forceShow: true,
markAsSeen: false,
},
customURL: {
title: () => t('Custom Widgets'),
@@ -238,7 +250,7 @@ to determine who can see or edit which parts of your document.')),
dom('div', cssLink({href: commonUrls.helpCustomWidgets, target: '_blank'}, t('Learn more.'))),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
calendarConfig: {
title: () => t('Calendar'),
@@ -250,6 +262,6 @@ data.")),
dom('div', cssLink({href: commonUrls.helpCalendarWidget, target: '_blank'}, t('Learn more.'))),
...args,
),
deploymentTypes: ['saas'],
showDeploymentTypes: ['saas'],
},
};