diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/views/collections/CollectionCardDeckView.tsx | 16 | ||||
-rw-r--r-- | src/client/views/global/globalScripts.ts | 20 | ||||
-rw-r--r-- | src/client/views/nodes/IconTagBox.tsx | 13 |
3 files changed, 26 insertions, 23 deletions
diff --git a/src/client/views/collections/CollectionCardDeckView.tsx b/src/client/views/collections/CollectionCardDeckView.tsx index 97ff852b2..fced9fd37 100644 --- a/src/client/views/collections/CollectionCardDeckView.tsx +++ b/src/client/views/collections/CollectionCardDeckView.tsx @@ -1,4 +1,4 @@ -import { IReactionDisposer, ObservableMap, action, computed, makeObservable, observable, reaction, trace } from 'mobx'; +import { IReactionDisposer, ObservableMap, action, computed, makeObservable, observable, reaction } from 'mobx'; import { observer } from 'mobx-react'; import * as React from 'react'; import { ClientUtils, DashColor, returnFalse, returnZero } from '../../../ClientUtils'; @@ -6,11 +6,13 @@ import { emptyFunction } from '../../../Utils'; import { Doc, StrListCast } from '../../../fields/Doc'; import { DocData } from '../../../fields/DocSymbols'; import { Id } from '../../../fields/FieldSymbols'; -import { BoolCast, Cast, DateCast, NumCast, RTFCast, ScriptCast, StrCast } from '../../../fields/Types'; +import { BoolCast, DateCast, DocCast, NumCast, RTFCast, ScriptCast, StrCast } from '../../../fields/Types'; import { URLField } from '../../../fields/URLField'; import { gptImageLabel } from '../../apis/gpt/GPT'; import { DocumentType } from '../../documents/DocumentTypes'; import { DragManager } from '../../util/DragManager'; +import { dropActionType } from '../../util/DropActionTypes'; +import { SelectionManager } from '../../util/SelectionManager'; import { SnappingManager } from '../../util/SnappingManager'; import { Transform } from '../../util/Transform'; import { undoable } from '../../util/UndoManager'; @@ -19,9 +21,6 @@ import { DocumentView } from '../nodes/DocumentView'; import { GPTPopup, GPTPopupMode } from '../pdf/GPTPopup/GPTPopup'; import './CollectionCardDeckView.scss'; import { CollectionSubView, SubCollectionViewProps } from './CollectionSubView'; -import { dropActionType } from '../../util/DropActionTypes'; -import { DocCast } from '../../../fields/Types'; -import { SelectionManager } from '../../util/SelectionManager'; enum cardSortings { Time = 'time', @@ -354,10 +353,11 @@ export class CollectionCardView extends CollectionSubView() { switch (sortType) { case cardSortings.Time: return [DateCast(docA.author_date)?.date ?? Date.now(), DateCast(docB.author_date)?.date ?? Date.now()]; - case cardSortings.Color: + case cardSortings.Color: { const d1 = DashColor(StrCast(docA.backgroundColor)); const d2 = DashColor(StrCast(docB.backgroundColor)); return [d1.hsv().hue(), d2.hsv().hue()]; + } case cardSortings.Tag: return [this.tagValue(docA) ?? 9999, this.tagValue(docB) ?? 9999]; case cardSortings.Chat: @@ -531,7 +531,7 @@ export class CollectionCardView extends CollectionSubView() { case '6': doc.chatIndex = index; break; - case '1': + case '1': { const allHotKeys = StrListCast(Doc.UserDoc().myFilterHotKeyTitles); let myTag = ''; @@ -552,6 +552,7 @@ export class CollectionCardView extends CollectionSubView() { } } break; + } case '2': case '4': doc['chatFilter'] = true; @@ -581,7 +582,6 @@ export class CollectionCardView extends CollectionSubView() { const sortedDocs = this.sortedDocs; const anySelected = this.childDocs.some(doc => DocumentView.SelectedDocs().includes(doc)); const isEmpty = this.childDocsWithoutLinks.length === 0; - const isDesc = BoolCast(this.Document.cardSort_isDesc); if (isEmpty) { return ( diff --git a/src/client/views/global/globalScripts.ts b/src/client/views/global/globalScripts.ts index 6ccbf28f8..2047d658f 100644 --- a/src/client/views/global/globalScripts.ts +++ b/src/client/views/global/globalScripts.ts @@ -138,8 +138,8 @@ ScriptingGlobals.add(function toggleOverlay(checkResult?: boolean) { ScriptingGlobals.add(function showFreeform(attr: 'hcenter' | 'vcenter' | 'grid' | 'snaplines' | 'clusters' | 'viewAll' | 'fitOnce', checkResult?: boolean, persist?: boolean) { const selected = DocumentView.SelectedDocs().lastElement(); - function isAttrFiltered(attr: string) { - return StrListCast(selected._childFilters).some(filter => filter.includes(attr)); + function isAttrFiltered(attribute: string) { + return StrListCast(selected._childFilters).some(filter => filter.includes(attribute)); } // prettier-ignore @@ -180,23 +180,23 @@ ScriptingGlobals.add(function showFreeform(attr: 'hcenter' | 'vcenter' | 'grid' }], ['flashcards', { checkResult: (doc: Doc) => BoolCast(Doc.UserDoc().defaultToFlashcards, false), - setDoc: (doc: Doc, dv: DocumentView) => Doc.UserDoc().defaultToFlashcards = !Doc.UserDoc().defaultToFlashcards, + setDoc: (doc: Doc, dv: DocumentView) => { Doc.UserDoc().defaultToFlashcards = !Doc.UserDoc().defaultToFlashcards}, // prettier-ignore }], ['time', { checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "time", - setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort === "time" ? doc.cardSort = '' : doc.cardSort = 'time', + setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort === "time" ? doc.cardSort = '' : doc.cardSort = 'time'}, // prettier-ignore }], ['docType', { checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "type", - setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort === "type" ? doc.cardSort = '' : doc.cardSort = 'type', + setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort === "type" ? doc.cardSort = '' : doc.cardSort = 'type'}, // prettier-ignore }], ['color', { checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "color", - setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort === "color" ? doc.cardSort = '' : doc.cardSort = 'color', + setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort === "color" ? doc.cardSort = '' : doc.cardSort = 'color'}, // prettier-ignore }], ['tag', { checkResult: (doc: Doc) => StrCast(doc?.cardSort) === "tag", - setDoc: (doc: Doc, dv: DocumentView) => doc.cardSort === "tag" ? doc.cardSort = '' : doc.cardSort = 'tag', + setDoc: (doc: Doc, dv: DocumentView) => { doc.cardSort === "tag" ? doc.cardSort = '' : doc.cardSort = 'tag'}, // prettier-ignore }], ['up', { checkResult: (doc: Doc) => BoolCast(!doc?.cardSort_isDesc), @@ -239,7 +239,7 @@ ScriptingGlobals.add(function showFreeform(attr: 'hcenter' | 'vcenter' | 'grid' }); - const iconMap: { [key: number]: any } = { + const iconMap: { [key: number]: string } = { 0: 'star', 1: 'heart', 2: 'cloud', @@ -272,7 +272,8 @@ ScriptingGlobals.add(function showFreeform(attr: 'hcenter' | 'vcenter' | 'grid' /** * Applies a filter to the selected document (or, if the settins button is pressed, opens the filter panel) */ -ScriptingGlobals.add(function handleTags(value?: any, checkResult?: boolean) { +// eslint-disable-next-line prefer-arrow-callback +ScriptingGlobals.add(function handleTags(value: string, checkResult?: boolean) { const selected = DocumentView.SelectedDocs().lastElement(); function isAttrFiltered(attr: string) { @@ -489,6 +490,7 @@ function setActiveTool(tool: InkTool | Gestures, keepPrim: boolean, checkResult? ScriptingGlobals.add(setActiveTool, 'sets the active ink tool mode'); +// eslint-disable-next-line prefer-arrow-callback ScriptingGlobals.add(function activeEraserTool() { return StrCast(Doc.UserDoc().activeEraserTool, InkTool.StrokeEraser); }, 'returns the current eraser tool'); diff --git a/src/client/views/nodes/IconTagBox.tsx b/src/client/views/nodes/IconTagBox.tsx index e076e691a..f86372ec0 100644 --- a/src/client/views/nodes/IconTagBox.tsx +++ b/src/client/views/nodes/IconTagBox.tsx @@ -1,3 +1,4 @@ +import { IconProp } from '@fortawesome/fontawesome-svg-core'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { Tooltip } from '@mui/material'; import { computed } from 'mobx'; @@ -30,11 +31,11 @@ export class IconTagBox extends ObservableReactComponent<IconTagProps> { return NumCast((this._props.doc.embedContainer as Doc)?._freeform_scale, 1); } - constructor(props: any) { + constructor(props: IconTagProps) { super(props); } - componentDidUpdate(prevProps: Readonly<IconTagProps>): void { + componentDidUpdate(): void { this._props.doc[DocData].tagHeight = 36 * this.currentScale; } @@ -52,7 +53,7 @@ export class IconTagBox extends ObservableReactComponent<IconTagProps> { const totalWidth = (amButtons - 1) * 35 + (amButtons - 1) * 2 * 5 + 6; const iconMap = (buttonID: number) => { - return StrCast(Doc.UserDoc()[keys[buttonID]]); + return StrCast(Doc.UserDoc()[keys[buttonID]]) as IconProp; }; const isCard = DocCast(this._props.doc.embedContainer).type_collection === CollectionViewType.Card; @@ -69,7 +70,7 @@ export class IconTagBox extends ObservableReactComponent<IconTagProps> { fontSize: '50px', }}> {numberRange(amButtons - 1).map(i => ( - <Tooltip key={i} title={<div className="dash-tooltip">Click to add/remove this card from the {iconMap(i)} group</div>}> + <Tooltip key={i} title={<div className="dash-tooltip">Click to add/remove this card from the {iconMap(i).toString()} group</div>}> <button key={i} type="button" onClick={() => this.toggleButton(doc, iconMap(i))}> {this.getButtonIcon(doc, iconMap(i))} </button> @@ -107,8 +108,8 @@ export class IconTagBox extends ObservableReactComponent<IconTagProps> { * @param icon * @returns */ - getButtonIcon = (doc: Doc, icon: any): JSX.Element => { - const isActive = doc[icon]; + getButtonIcon = (doc: Doc, icon: IconProp): JSX.Element => { + const isActive = doc[icon.toString()]; const color = isActive ? '#4476f7' : '#323232'; return <FontAwesomeIcon icon={icon} style={{ color, height: '30px', width: '30px' }} />; |