Skip to content

Commit

Permalink
fix: compatible with Obsidian 1.2.0 version
Browse files Browse the repository at this point in the history
  • Loading branch information
bytemain authored and aidenlx committed May 5, 2023
1 parent c0fa5af commit 1b13e92
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 9 deletions.
6 changes: 3 additions & 3 deletions src/click-handler.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { FolderItem, Platform } from "obsidian";

import type ALxFolderNote from "./fn-main";
import { isModifier } from "./misc";
import { isModifier, getFileItemInnerTitleEl } from "./misc";
import { LongPressEvent } from "./modules/long-press";

export const getClickHandler = (plugin: ALxFolderNote) => {
Expand All @@ -14,8 +14,8 @@ export const getClickHandler = (plugin: ALxFolderNote) => {
evt.shiftKey ||
// triggered only when click on title
!(
item.titleInnerEl === evt.target ||
item.titleInnerEl.contains(evt.target as Node)
(getFileItemInnerTitleEl(item) === evt.target ||
getFileItemInnerTitleEl(item).contains(evt.target as Node))
) ||
// ignore file being renamed
item.fileExplorer.fileBeingRenamed === item.file
Expand Down
3 changes: 2 additions & 1 deletion src/fe-handler/active-folder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {

import type ALxFolderNote from "../fn-main";
import FEHandler_Base from "./base";
import { getFileItemTitleEl } from '../misc';

const isActiveClass = "is-active";

Expand All @@ -27,7 +28,7 @@ export default class ActiveFolder extends FEHandler_Base {
private _activeFolder: TFolder | null = null;
public set activeFolder(folder: TFolder | null) {
const getTitleEl = (folder: TFolder | null) =>
folder ? this.fileExplorer.fileItems[folder.path]?.titleEl : undefined;
folder && this.fileExplorer.fileItems[folder.path] ? getFileItemTitleEl(this.fileExplorer.fileItems[folder.path]) : undefined;
if (!folder) {
getTitleEl(this._activeFolder)?.removeClass(isActiveClass);
} else if (folder !== this._activeFolder) {
Expand Down
10 changes: 9 additions & 1 deletion src/misc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
View,
WorkspaceLeaf,
} from "obsidian";
import { Notice, Platform, TFolder } from "obsidian";
import { Notice, Platform, TFolder, FileItem } from "obsidian";
import { dirname, extname, join } from "path";

export type afItemMark = AFItem & {
Expand Down Expand Up @@ -84,3 +84,11 @@ export class ClickNotice extends Notice {
}
}
}

export function getFileItemTitleEl(fileItem: FileItem): HTMLElement {
return fileItem.titleEl ?? fileItem.selfEl;
}

export function getFileItemInnerTitleEl(fileItem: FileItem): HTMLElement {
return fileItem.titleInnerEl ?? fileItem.innerEl;
}
24 changes: 20 additions & 4 deletions src/typings/obsidian-ex.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,32 @@ declare module "obsidian" {
file: TFile;
fileExplorer: FileExplorerView;
info: any;
titleEl: HTMLDivElement;
titleInnerEl: HTMLDivElement;
/**
* @deprecated After Obsidian 1.2.0, use `selfEl` instead.
*/
titleEl?: HTMLDivElement;
/**
* @deprecated After Obsidian 1.2.0, use `innerEl` instead.
*/
titleInnerEl?: HTMLDivElement;
selfEl: HTMLDivElement;
innerEl: HTMLDivElement;
}

class FolderItem {
el: HTMLDivElement;
fileExplorer: FileExplorerView;
info: any;
titleEl: HTMLDivElement;
titleInnerEl: HTMLDivElement;
/**
* @deprecated After Obsidian 1.2.0, use `selfEl` instead.
*/
titleEl?: HTMLDivElement;
/**
* @deprecated After Obsidian 1.2.0, use `innerEl` instead.
*/
titleInnerEl?: HTMLDivElement;
selfEl: HTMLDivElement;
innerEl: HTMLDivElement;
file: TFolder;
children: AFItem[];
childrenEl: HTMLDivElement;
Expand Down

0 comments on commit 1b13e92

Please sign in to comment.