From 12577312091a593f3dfac5b05a9bfb0410dfbcc2 Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Fri, 4 Aug 2023 17:06:19 -0400 Subject: [PATCH] Update panel wv to provider --- src/commands/Backers.ts | 4 ++-- src/commands/StatusListener.ts | 6 +++--- src/extension.ts | 8 ++++---- src/helpers/ImageHelper.ts | 4 ++-- src/listeners/general/BaseListener.ts | 4 ++-- src/listeners/general/GitListener.ts | 4 ++-- src/listeners/panel/BaseListener.ts | 8 ++++---- src/listeners/panel/DataListener.ts | 4 ++-- src/listeners/panel/MediaListener.ts | 6 +++--- src/listeners/panel/TaxonomyListener.ts | 4 ++-- .../{PanelWebview.ts => PanelProvider.ts} | 12 ++++++------ 11 files changed, 32 insertions(+), 32 deletions(-) rename src/panelWebView/{PanelWebview.ts => PanelProvider.ts} (96%) diff --git a/src/commands/Backers.ts b/src/commands/Backers.ts index bc1a9fc4..8e8689b4 100644 --- a/src/commands/Backers.ts +++ b/src/commands/Backers.ts @@ -3,9 +3,9 @@ import { COMMAND_NAME, CONTEXT } from '../constants'; import { Extension } from '../helpers'; import { Credentials } from '../services/Credentials'; import fetch from 'node-fetch'; -import { PanelWebview } from '../panelWebview/PanelWebview'; import { Dashboard } from './Dashboard'; import { SettingsListener } from '../listeners/panel'; +import { PanelProvider } from '../panelWebView/PanelProvider'; export class Backers { private static creds: Credentials | null = null; @@ -61,7 +61,7 @@ export class Backers { await ext.setState(CONTEXT.backer, true, 'global'); if (!prevData) { - const PanelView = PanelWebview.getInstance(); + const PanelView = PanelProvider.getInstance(); if (PanelView.visible) { SettingsListener.getSettings(); } diff --git a/src/commands/StatusListener.ts b/src/commands/StatusListener.ts index 893eadcc..cd131158 100644 --- a/src/commands/StatusListener.ts +++ b/src/commands/StatusListener.ts @@ -9,7 +9,7 @@ import { } from './../constants'; import * as vscode from 'vscode'; import { ArticleHelper, Notifications, SeoHelper, Settings } from '../helpers'; -import { PanelWebview } from '../panelWebview/PanelWebview'; +import { PanelProvider } from '../panelWebview/PanelProvider'; import { DefaultFields } from '../constants'; import { ContentType } from '../helpers/ContentType'; import { DataListener } from '../listeners/panel'; @@ -91,7 +91,7 @@ export class StatusListener { } } - const panel = PanelWebview.getInstance(); + const panel = PanelProvider.getInstance(); if (panel && panel.visible) { DataListener.pushMetadata(article?.data); } @@ -103,7 +103,7 @@ export class StatusListener { } else { commands.executeCommand('setContext', CONTEXT.isValidFile, false); - const panel = PanelWebview.getInstance(); + const panel = PanelProvider.getInstance(); if (panel && panel.visible) { DataListener.pushMetadata(null); } diff --git a/src/extension.ts b/src/extension.ts index ecd48e24..10937fa2 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -3,7 +3,7 @@ import * as vscode from 'vscode'; import { COMMAND_NAME, TelemetryEvent } from './constants'; import { MarkdownFoldingProvider } from './providers/MarkdownFoldingProvider'; import { TagType } from './panelWebView/TagType'; -import { PanelWebview } from './panelWebview/PanelWebview'; +import { PanelProvider } from './panelWebview/PanelProvider'; import { DashboardSettings, debounceCallback, Logger, Settings as SettingsHelper } from './helpers'; import ContentProvider from './providers/ContentProvider'; import { PagesListener } from './listeners/dashboard'; @@ -124,9 +124,9 @@ export async function activate(context: vscode.ExtensionContext) { } // Register the explorer view - const explorerSidebar = PanelWebview.getInstance(extensionUri); + const explorerSidebar = PanelProvider.getInstance(extensionUri); const PanelView = vscode.window.registerWebviewViewProvider( - PanelWebview.viewType, + PanelProvider.viewType, explorerSidebar, { webviewOptions: { @@ -264,7 +264,7 @@ export async function activate(context: vscode.ExtensionContext) { // Collapse all sections in the webview const collapseAll = vscode.commands.registerCommand(COMMAND_NAME.collapseSections, () => { - PanelWebview.getInstance()?.collapseAll(); + PanelProvider.getInstance()?.collapseAll(); }); // Things to do when configuration changes diff --git a/src/helpers/ImageHelper.ts b/src/helpers/ImageHelper.ts index a7ef5788..115d45e7 100644 --- a/src/helpers/ImageHelper.ts +++ b/src/helpers/ImageHelper.ts @@ -1,5 +1,5 @@ import { STATIC_FOLDER_PLACEHOLDER } from './../constants/StaticFolderPlaceholder'; -import { PanelWebview } from './../panelWebview/PanelWebview'; +import { PanelProvider } from './../panelWebview/PanelProvider'; import { Uri, window } from 'vscode'; import { dirname, extname, join } from 'path'; import { Field } from '../models'; @@ -104,7 +104,7 @@ export class ImageHelper { */ public static processImageFields(updatedMetadata: any, fields: Field[], parents: string[] = []) { const imageFields = fields.filter((field) => field.type === 'image'); - const panel = PanelWebview.getInstance(); + const panel = PanelProvider.getInstance(); // Support multi-level fields let parentObj = updatedMetadata; diff --git a/src/listeners/general/BaseListener.ts b/src/listeners/general/BaseListener.ts index 4977e392..0c76e8a7 100644 --- a/src/listeners/general/BaseListener.ts +++ b/src/listeners/general/BaseListener.ts @@ -1,6 +1,6 @@ import { GeneralCommands } from './../../constants/GeneralCommands'; import { Dashboard } from '../../commands/Dashboard'; -import { PanelWebview } from '../../panelWebview/PanelWebview'; +import { PanelProvider } from '../../panelWebview/PanelProvider'; import { Extension } from '../../helpers'; import { Logger } from '../../helpers/Logger'; import { commands, Uri } from 'vscode'; @@ -26,7 +26,7 @@ export abstract class BaseListener { Logger.info(`Sending message to webview (panel&dashboard): ${command}`); const extPath = Extension.getInstance().extensionPath; - const panel = PanelWebview.getInstance(extPath); + const panel = PanelProvider.getInstance(extPath); panel.sendMessage({ command: command as any, payload }); diff --git a/src/listeners/general/GitListener.ts b/src/listeners/general/GitListener.ts index 8723b7e9..a885f511 100644 --- a/src/listeners/general/GitListener.ts +++ b/src/listeners/general/GitListener.ts @@ -6,7 +6,7 @@ import { } from './../../constants/settings'; import { Settings } from './../../helpers/SettingsHelper'; import { Dashboard } from '../../commands/Dashboard'; -import { PanelWebview } from '../../panelWebview/PanelWebview'; +import { PanelProvider } from '../../panelWebview/PanelProvider'; import { ArticleHelper, Extension, @@ -258,7 +258,7 @@ export class GitListener { */ private static sendMsg(command: string, payload: any) { const extPath = Extension.getInstance().extensionPath; - const panel = PanelWebview.getInstance(extPath); + const panel = PanelProvider.getInstance(extPath); panel.sendMessage({ command: command as any, payload }); diff --git a/src/listeners/panel/BaseListener.ts b/src/listeners/panel/BaseListener.ts index 956fa803..c5374ef3 100644 --- a/src/listeners/panel/BaseListener.ts +++ b/src/listeners/panel/BaseListener.ts @@ -1,5 +1,5 @@ import { Extension } from './../../helpers/Extension'; -import { PanelWebview } from './../../panelWebview/PanelWebview'; +import { PanelProvider } from './../../panelWebview/PanelProvider'; import { Logger } from '../../helpers'; import { Command } from '../../panelWebView/Command'; import { PostMessageData } from '../../models'; @@ -16,7 +16,7 @@ export abstract class BaseListener { Logger.info(`Sending message to panel: ${command}`); const extPath = Extension.getInstance().extensionPath; - const panel = PanelWebview.getInstance(extPath); + const panel = PanelProvider.getInstance(extPath); panel.sendMessage({ command, @@ -28,7 +28,7 @@ export abstract class BaseListener { Logger.info(`Sending request result to panel: ${command}`); const extPath = Extension.getInstance().extensionPath; - const panel = PanelWebview.getInstance(extPath); + const panel = PanelProvider.getInstance(extPath); panel.getWebview()?.postMessage({ command, @@ -41,7 +41,7 @@ export abstract class BaseListener { Logger.info(`Sending request error to the panel: ${command}`); const extPath = Extension.getInstance().extensionPath; - const panel = PanelWebview.getInstance(extPath); + const panel = PanelProvider.getInstance(extPath); panel.getWebview()?.postMessage({ command, diff --git a/src/listeners/panel/DataListener.ts b/src/listeners/panel/DataListener.ts index 21c04d6b..4364747d 100644 --- a/src/listeners/panel/DataListener.ts +++ b/src/listeners/panel/DataListener.ts @@ -20,7 +20,7 @@ import { ParsedFrontMatter } from '../../parsers'; import { processKnownPlaceholders } from '../../helpers/PlaceholderHelper'; import { Field, PostMessageData } from '../../models'; import { encodeEmoji } from '../../utils'; -import { PanelWebview } from '../../panelWebview/PanelWebview'; +import { PanelProvider } from '../../panelWebView/PanelProvider'; import { MessageHandlerData } from '@estruyf/vscode'; import { SponsorAi } from '../../services/SponsorAI'; @@ -84,7 +84,7 @@ export class DataListener extends BaseListener { } const extPath = Extension.getInstance().extensionPath; - const panel = PanelWebview.getInstance(extPath); + const panel = PanelProvider.getInstance(extPath); const editor = window.activeTextEditor; if (!editor) { diff --git a/src/listeners/panel/MediaListener.ts b/src/listeners/panel/MediaListener.ts index 66331073..3d72d1c2 100644 --- a/src/listeners/panel/MediaListener.ts +++ b/src/listeners/panel/MediaListener.ts @@ -1,4 +1,4 @@ -import { PanelWebview } from './../../panelWebview/PanelWebview'; +import { PanelProvider } from './../../panelWebview/PanelProvider'; import { commands, window } from 'vscode'; import { Dashboard } from '../../commands/Dashboard'; import { COMMAND_NAME } from '../../constants'; @@ -38,7 +38,7 @@ export class MediaListener extends BaseListener { return; } - const panel = PanelWebview.getInstance(); + const panel = PanelProvider.getInstance(); if (typeof payload === 'string') { const imagePath = payload; @@ -75,7 +75,7 @@ export class MediaListener extends BaseListener { const imgUrl = ImageHelper.relToAbs(filePath || '', data); if (imgUrl) { - const viewUrl = PanelWebview.getInstance().getWebview()?.asWebviewUri(imgUrl); + const viewUrl = PanelProvider.getInstance().getWebview()?.asWebviewUri(imgUrl); if (viewUrl) { this.sendMsg(Command.sendMediaUrl, { original: data, diff --git a/src/listeners/panel/TaxonomyListener.ts b/src/listeners/panel/TaxonomyListener.ts index 6ef82218..7a236050 100644 --- a/src/listeners/panel/TaxonomyListener.ts +++ b/src/listeners/panel/TaxonomyListener.ts @@ -11,7 +11,7 @@ import { SETTING_SEO_TITLE_FIELD } from '../../constants'; import { SponsorAi } from '../../services/SponsorAI'; -import { PanelWebview } from '../../panelWebview/PanelWebview'; +import { PanelProvider } from '../../panelWebview/PanelProvider'; import { MessageHandlerData } from '@estruyf/vscode'; export class TaxonomyListener extends BaseListener { @@ -71,7 +71,7 @@ export class TaxonomyListener extends BaseListener { } const extPath = Extension.getInstance().extensionPath; - const panel = PanelWebview.getInstance(extPath); + const panel = PanelProvider.getInstance(extPath); const editor = window.activeTextEditor; if (!editor) { diff --git a/src/panelWebView/PanelWebview.ts b/src/panelWebView/PanelProvider.ts similarity index 96% rename from src/panelWebView/PanelWebview.ts rename to src/panelWebView/PanelProvider.ts index afbdae48..449fbdc1 100644 --- a/src/panelWebView/PanelWebview.ts +++ b/src/panelWebView/PanelProvider.ts @@ -29,9 +29,9 @@ import { Telemetry } from '../helpers/Telemetry'; import { GitListener, ModeListener } from '../listeners/general'; import { Folders } from '../commands'; -export class PanelWebview implements WebviewViewProvider, Disposable { +export class PanelProvider implements WebviewViewProvider, Disposable { public static readonly viewType = 'frontMatter.explorer'; - private static instance: PanelWebview; + private static instance: PanelProvider; private panel: WebviewView | null = null; private disposable: Disposable | null = null; @@ -42,12 +42,12 @@ export class PanelWebview implements WebviewViewProvider, Disposable { * Creates the singleton instance for the panel * @param extPath */ - public static getInstance(extPath?: Uri): PanelWebview { - if (!PanelWebview.instance) { - PanelWebview.instance = new PanelWebview(extPath as Uri); + public static getInstance(extPath?: Uri): PanelProvider { + if (!PanelProvider.instance) { + PanelProvider.instance = new PanelProvider(extPath as Uri); } - return PanelWebview.instance; + return PanelProvider.instance; } /**