From 5c486e686effe3e907d54af1bdc7a58477f374a7 Mon Sep 17 00:00:00 2001 From: George Gevoian Date: Mon, 19 Aug 2024 17:00:53 -0400 Subject: [PATCH] (core) Refactor disabled summary button logic Summary: A project test began failing because of an incompatibility with pointer-events being disabled. This gets us back to green. Test Plan: Existing tests. Reviewers: jordigh Reviewed By: jordigh Subscribers: jordigh Differential Revision: https://phab.getgrist.com/D4325 --- app/client/ui/PageWidgetPicker.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/client/ui/PageWidgetPicker.ts b/app/client/ui/PageWidgetPicker.ts index e61757f7..3df337ba 100644 --- a/app/client/ui/PageWidgetPicker.ts +++ b/app/client/ui/PageWidgetPicker.ts @@ -328,6 +328,8 @@ export class PageWidgetSelect extends Disposable { private _isNewTableDisabled = Computed.create(this, this._value.type, (use, type) => !isValidSelection( 'New Table', type, {isNewPage: this._options.isNewPage, summarize: use(this._value.summarize)})); + private _isSummaryDisabled = Computed.create(this, this._value.type, (_use, type) => !isSummaryCompatible(type)); + constructor( private _value: IWidgetValueObs, private _tables: Observable, @@ -389,8 +391,9 @@ export class PageWidgetSelect extends Disposable { cssEntry.cls('-selected', (use) => use(this._value.summarize) && use(this._value.table) === table.id() ), - cssEntry.cls('-disabled', (use) => !isSummaryCompatible(use(this._value.type))), - dom.on('click', (ev, el) => this._selectPivot(table.id(), el as HTMLElement)), + cssEntry.cls('-disabled', this._isSummaryDisabled), + dom.on('click', (_ev, el) => + !this._isSummaryDisabled.get() && this._selectPivot(table.id(), el as HTMLElement)), testId('pivot'), ), testId('table'), @@ -572,7 +575,6 @@ const cssEntry = styled('div', ` &-disabled { color: ${theme.widgetPickerItemDisabledBg}; cursor: default; - pointer-events: none; } &-disabled&-selected { background-color: inherit;