diff --git a/assets/media/styles.css b/assets/media/styles.css index fc37e6aa..3c1dcb32 100644 --- a/assets/media/styles.css +++ b/assets/media/styles.css @@ -50,6 +50,15 @@ height: 100%; } +.frontmatter.media_selection { + display: flex; + justify-content: center; + align-items: center; + opacity: 0.8; + text-align: center; + padding: 1rem 1.25rem; +} + .spinner, .spinner:before, .spinner:after { diff --git a/src/commands/Dashboard.ts b/src/commands/Dashboard.ts index 0c135529..32f87b41 100644 --- a/src/commands/Dashboard.ts +++ b/src/commands/Dashboard.ts @@ -6,23 +6,23 @@ import { commands, Uri, ViewColumn, Webview, WebviewPanel, window, workspace, en import { SettingsHelper } from '../helpers'; import { TaxonomyType } from '../models'; import { Folders } from './Folders'; -import { DashboardCommand } from '../pagesView/DashboardCommand'; -import { DashboardMessage } from '../pagesView/DashboardMessage'; -import { Page } from '../pagesView/models/Page'; +import { DashboardCommand } from '../dashboardWebView/DashboardCommand'; +import { DashboardMessage } from '../dashboardWebView/DashboardMessage'; +import { Page } from '../dashboardWebView/models/Page'; import { openFileInEditor } from '../helpers/openFileInEditor'; import { COMMAND_NAME, EXTENSION_STATE_PAGES_VIEW } from '../constants/Extension'; import { Template } from './Template'; import { Notifications } from '../helpers/Notifications'; -import { Settings } from '../pagesView/models/Settings'; +import { Settings } from '../dashboardWebView/models/Settings'; import { Extension } from '../helpers/Extension'; import { parseJSON } from 'date-fns'; -import { ViewType } from '../pagesView/state'; +import { ViewType } from '../dashboardWebView/state'; import { EditorHelper, WebviewHelper } from '@estruyf/vscode'; import { MediaInfo, MediaPaths } from './../models/MediaPaths'; import { decodeBase64Image } from '../helpers/decodeBase64Image'; import { DefaultFields } from '../constants'; import { DashboardData } from '../models/DashboardData'; -import { ExplorerView } from '../webview/ExplorerView'; +import { ExplorerView } from '../explorerView/ExplorerView'; export class Dashboard { @@ -30,7 +30,11 @@ export class Dashboard { private static isDisposed: boolean = true; private static media: MediaInfo[] = []; private static timers: { [folder: string]: any } = {}; - private static viewData: DashboardData | undefined; + private static _viewData: DashboardData | undefined; + + public static get viewData(): DashboardData | undefined { + return Dashboard._viewData; + } /**  * Init the dashboard @@ -47,7 +51,7 @@ export class Dashboard { * Open or reveal the dashboard */ public static async open(data?: DashboardData) { - Dashboard.viewData = data; + Dashboard._viewData = data; if (Dashboard.isOpen) { Dashboard.reveal(); @@ -99,7 +103,9 @@ export class Dashboard { Dashboard.webview.onDidChangeViewState(() => { if (!this.webview?.visible) { - Dashboard.viewData = undefined; + Dashboard._viewData = undefined; + const panel = ExplorerView.getInstance(extensionUri); + panel.getMediaSelection(); } }); @@ -114,8 +120,8 @@ export class Dashboard { Dashboard.webview.webview.onDidReceiveMessage(async (msg) => { switch(msg.command) { case DashboardMessage.getViewType: - if (Dashboard.viewData) { - Dashboard.postWebviewMessage({ command: DashboardCommand.viewData, data: Dashboard.viewData }); + if (Dashboard._viewData) { + Dashboard.postWebviewMessage({ command: DashboardCommand.viewData, data: Dashboard._viewData }); } break; case DashboardMessage.getData: @@ -165,7 +171,10 @@ export class Dashboard { if (msg.data?.file && msg.data?.image) { await commands.executeCommand(`workbench.view.extension.frontmatter-explorer`); await EditorHelper.showFile(msg.data.file); - ExplorerView.getInstance(extensionUri).updateMetadata({field: msg.data.fieldName, value: msg.data.image}); + Dashboard._viewData = undefined; + const panel = ExplorerView.getInstance(extensionUri); + panel.getMediaSelection(); + panel.updateMetadata({field: msg.data.fieldName, value: msg.data.image}); } break; } diff --git a/src/commands/StatusListener.ts b/src/commands/StatusListener.ts index deae23e5..e6171242 100644 --- a/src/commands/StatusListener.ts +++ b/src/commands/StatusListener.ts @@ -1,7 +1,7 @@ import { SETTING_SEO_DESCRIPTION_FIELD, SETTING_SEO_DESCRIPTION_LENGTH, SETTING_SEO_TITLE_LENGTH } from './../constants/settings'; import * as vscode from 'vscode'; import { ArticleHelper, SeoHelper, SettingsHelper } from '../helpers'; -import { ExplorerView } from '../webview/ExplorerView'; +import { ExplorerView } from '../explorerView/ExplorerView'; import { DefaultFields } from '../constants'; export class StatusListener { diff --git a/src/pagesView/DashboardCommand.ts b/src/dashboardWebView/DashboardCommand.ts similarity index 100% rename from src/pagesView/DashboardCommand.ts rename to src/dashboardWebView/DashboardCommand.ts diff --git a/src/pagesView/DashboardMessage.ts b/src/dashboardWebView/DashboardMessage.ts similarity index 100% rename from src/pagesView/DashboardMessage.ts rename to src/dashboardWebView/DashboardMessage.ts diff --git a/src/pagesView/components/Button.tsx b/src/dashboardWebView/components/Button.tsx similarity index 100% rename from src/pagesView/components/Button.tsx rename to src/dashboardWebView/components/Button.tsx diff --git a/src/pagesView/components/Contents/Contents.tsx b/src/dashboardWebView/components/Contents/Contents.tsx similarity index 100% rename from src/pagesView/components/Contents/Contents.tsx rename to src/dashboardWebView/components/Contents/Contents.tsx diff --git a/src/pagesView/components/Contents/Item.tsx b/src/dashboardWebView/components/Contents/Item.tsx similarity index 97% rename from src/pagesView/components/Contents/Item.tsx rename to src/dashboardWebView/components/Contents/Item.tsx index a01250e5..a68ee036 100644 --- a/src/pagesView/components/Contents/Item.tsx +++ b/src/dashboardWebView/components/Contents/Item.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { useRecoilValue } from 'recoil'; -import { MarkdownIcon } from '../../../viewpanel/components/Icons/MarkdownIcon'; +import { MarkdownIcon } from '../../../panelWebView/components/Icons/MarkdownIcon'; import { DashboardMessage } from '../../DashboardMessage'; import { Page } from '../../models/Page'; import { ViewSelector, ViewType } from '../../state'; diff --git a/src/pagesView/components/Contents/List.tsx b/src/dashboardWebView/components/Contents/List.tsx similarity index 100% rename from src/pagesView/components/Contents/List.tsx rename to src/dashboardWebView/components/Contents/List.tsx diff --git a/src/pagesView/components/Contents/Overview.tsx b/src/dashboardWebView/components/Contents/Overview.tsx similarity index 97% rename from src/pagesView/components/Contents/Overview.tsx rename to src/dashboardWebView/components/Contents/Overview.tsx index f30c728b..4684e09b 100644 --- a/src/pagesView/components/Contents/Overview.tsx +++ b/src/dashboardWebView/components/Contents/Overview.tsx @@ -3,7 +3,7 @@ import { ChevronRightIcon } from '@heroicons/react/solid'; import * as React from 'react'; import { useRecoilValue } from 'recoil'; import { groupBy } from '../../../helpers/GroupBy'; -import { FrontMatterIcon } from '../../../viewpanel/components/Icons/FrontMatterIcon'; +import { FrontMatterIcon } from '../../../panelWebView/components/Icons/FrontMatterIcon'; import { GroupOption } from '../../constants/GroupOption'; import { Page } from '../../models/Page'; import { Settings } from '../../models/Settings'; diff --git a/src/pagesView/components/Dashboard.tsx b/src/dashboardWebView/components/Dashboard.tsx similarity index 100% rename from src/pagesView/components/Dashboard.tsx rename to src/dashboardWebView/components/Dashboard.tsx diff --git a/src/pagesView/components/DateField.tsx b/src/dashboardWebView/components/DateField.tsx similarity index 100% rename from src/pagesView/components/DateField.tsx rename to src/dashboardWebView/components/DateField.tsx diff --git a/src/pagesView/components/Header/ClearFilters.tsx b/src/dashboardWebView/components/Header/ClearFilters.tsx similarity index 100% rename from src/pagesView/components/Header/ClearFilters.tsx rename to src/dashboardWebView/components/Header/ClearFilters.tsx diff --git a/src/pagesView/components/Header/Filter.tsx b/src/dashboardWebView/components/Header/Filter.tsx similarity index 100% rename from src/pagesView/components/Header/Filter.tsx rename to src/dashboardWebView/components/Header/Filter.tsx diff --git a/src/pagesView/components/Header/Folders.tsx b/src/dashboardWebView/components/Header/Folders.tsx similarity index 100% rename from src/pagesView/components/Header/Folders.tsx rename to src/dashboardWebView/components/Header/Folders.tsx diff --git a/src/pagesView/components/Header/Grouping.tsx b/src/dashboardWebView/components/Header/Grouping.tsx similarity index 100% rename from src/pagesView/components/Header/Grouping.tsx rename to src/dashboardWebView/components/Header/Grouping.tsx diff --git a/src/pagesView/components/Header/Header.tsx b/src/dashboardWebView/components/Header/Header.tsx similarity index 97% rename from src/pagesView/components/Header/Header.tsx rename to src/dashboardWebView/components/Header/Header.tsx index f7b52b2a..9eff527a 100644 --- a/src/pagesView/components/Header/Header.tsx +++ b/src/dashboardWebView/components/Header/Header.tsx @@ -14,7 +14,7 @@ import { useRecoilState } from 'recoil'; import { CategoryAtom, DashboardViewAtom, TagAtom } from '../../state'; import { Messenger } from '@estruyf/vscode/dist/client'; import { ClearFilters } from './ClearFilters'; -import { MarkdownIcon } from '../../../viewpanel/components/Icons/MarkdownIcon'; +import { MarkdownIcon } from '../../../panelWebView/components/Icons/MarkdownIcon'; import { PhotographIcon } from '@heroicons/react/outline'; import { Pagination } from '../Media/Pagination'; diff --git a/src/pagesView/components/Header/Searchbox.tsx b/src/dashboardWebView/components/Header/Searchbox.tsx similarity index 100% rename from src/pagesView/components/Header/Searchbox.tsx rename to src/dashboardWebView/components/Header/Searchbox.tsx diff --git a/src/pagesView/components/Header/Sorting.tsx b/src/dashboardWebView/components/Header/Sorting.tsx similarity index 100% rename from src/pagesView/components/Header/Sorting.tsx rename to src/dashboardWebView/components/Header/Sorting.tsx diff --git a/src/pagesView/components/Header/ViewSwitch.tsx b/src/dashboardWebView/components/Header/ViewSwitch.tsx similarity index 100% rename from src/pagesView/components/Header/ViewSwitch.tsx rename to src/dashboardWebView/components/Header/ViewSwitch.tsx diff --git a/src/pagesView/components/Header/index.ts b/src/dashboardWebView/components/Header/index.ts similarity index 100% rename from src/pagesView/components/Header/index.ts rename to src/dashboardWebView/components/Header/index.ts diff --git a/src/pagesView/components/Media/FolderSelection.tsx b/src/dashboardWebView/components/Media/FolderSelection.tsx similarity index 100% rename from src/pagesView/components/Media/FolderSelection.tsx rename to src/dashboardWebView/components/Media/FolderSelection.tsx diff --git a/src/pagesView/components/Media/Item.tsx b/src/dashboardWebView/components/Media/Item.tsx similarity index 100% rename from src/pagesView/components/Media/Item.tsx rename to src/dashboardWebView/components/Media/Item.tsx diff --git a/src/pagesView/components/Media/Lightbox.tsx b/src/dashboardWebView/components/Media/Lightbox.tsx similarity index 100% rename from src/pagesView/components/Media/Lightbox.tsx rename to src/dashboardWebView/components/Media/Lightbox.tsx diff --git a/src/pagesView/components/Media/List.tsx b/src/dashboardWebView/components/Media/List.tsx similarity index 100% rename from src/pagesView/components/Media/List.tsx rename to src/dashboardWebView/components/Media/List.tsx diff --git a/src/pagesView/components/Media/Media.tsx b/src/dashboardWebView/components/Media/Media.tsx similarity index 100% rename from src/pagesView/components/Media/Media.tsx rename to src/dashboardWebView/components/Media/Media.tsx diff --git a/src/pagesView/components/Media/Pagination.tsx b/src/dashboardWebView/components/Media/Pagination.tsx similarity index 100% rename from src/pagesView/components/Media/Pagination.tsx rename to src/dashboardWebView/components/Media/Pagination.tsx diff --git a/src/pagesView/components/Media/PaginationButton.tsx b/src/dashboardWebView/components/Media/PaginationButton.tsx similarity index 100% rename from src/pagesView/components/Media/PaginationButton.tsx rename to src/dashboardWebView/components/Media/PaginationButton.tsx diff --git a/src/pagesView/components/Menu/MenuButton.tsx b/src/dashboardWebView/components/Menu/MenuButton.tsx similarity index 100% rename from src/pagesView/components/Menu/MenuButton.tsx rename to src/dashboardWebView/components/Menu/MenuButton.tsx diff --git a/src/pagesView/components/Menu/MenuItem.tsx b/src/dashboardWebView/components/Menu/MenuItem.tsx similarity index 100% rename from src/pagesView/components/Menu/MenuItem.tsx rename to src/dashboardWebView/components/Menu/MenuItem.tsx diff --git a/src/pagesView/components/Menu/MenuItems.tsx b/src/dashboardWebView/components/Menu/MenuItems.tsx similarity index 100% rename from src/pagesView/components/Menu/MenuItems.tsx rename to src/dashboardWebView/components/Menu/MenuItems.tsx diff --git a/src/pagesView/components/Menu/index.ts b/src/dashboardWebView/components/Menu/index.ts similarity index 100% rename from src/pagesView/components/Menu/index.ts rename to src/dashboardWebView/components/Menu/index.ts diff --git a/src/pagesView/components/Modals/Alert.tsx b/src/dashboardWebView/components/Modals/Alert.tsx similarity index 100% rename from src/pagesView/components/Modals/Alert.tsx rename to src/dashboardWebView/components/Modals/Alert.tsx diff --git a/src/pagesView/components/Navigation.tsx b/src/dashboardWebView/components/Navigation.tsx similarity index 100% rename from src/pagesView/components/Navigation.tsx rename to src/dashboardWebView/components/Navigation.tsx diff --git a/src/pagesView/components/Spinner.tsx b/src/dashboardWebView/components/Spinner.tsx similarity index 100% rename from src/pagesView/components/Spinner.tsx rename to src/dashboardWebView/components/Spinner.tsx diff --git a/src/pagesView/components/SponsorMsg.tsx b/src/dashboardWebView/components/SponsorMsg.tsx similarity index 100% rename from src/pagesView/components/SponsorMsg.tsx rename to src/dashboardWebView/components/SponsorMsg.tsx diff --git a/src/pagesView/components/Startup.tsx b/src/dashboardWebView/components/Startup.tsx similarity index 100% rename from src/pagesView/components/Startup.tsx rename to src/dashboardWebView/components/Startup.tsx diff --git a/src/pagesView/components/Status.tsx b/src/dashboardWebView/components/Status.tsx similarity index 100% rename from src/pagesView/components/Status.tsx rename to src/dashboardWebView/components/Status.tsx diff --git a/src/pagesView/components/Steps/Step.tsx b/src/dashboardWebView/components/Steps/Step.tsx similarity index 100% rename from src/pagesView/components/Steps/Step.tsx rename to src/dashboardWebView/components/Steps/Step.tsx diff --git a/src/pagesView/components/Steps/StepsToGetStarted.tsx b/src/dashboardWebView/components/Steps/StepsToGetStarted.tsx similarity index 100% rename from src/pagesView/components/Steps/StepsToGetStarted.tsx rename to src/dashboardWebView/components/Steps/StepsToGetStarted.tsx diff --git a/src/pagesView/components/WelcomeScreen.tsx b/src/dashboardWebView/components/WelcomeScreen.tsx similarity index 96% rename from src/pagesView/components/WelcomeScreen.tsx rename to src/dashboardWebView/components/WelcomeScreen.tsx index aecb321c..ef5cdd1f 100644 --- a/src/pagesView/components/WelcomeScreen.tsx +++ b/src/dashboardWebView/components/WelcomeScreen.tsx @@ -2,8 +2,8 @@ import { HeartIcon, StarIcon } from '@heroicons/react/outline'; import * as React from 'react'; import { GITHUB_LINK, REVIEW_LINK, SPONSOR_LINK } from '../../constants/Links'; import { Messenger } from '@estruyf/vscode/dist/client'; -import { FrontMatterIcon } from '../../viewpanel/components/Icons/FrontMatterIcon'; -import { GitHubIcon } from '../../viewpanel/components/Icons/GitHubIcon'; +import { FrontMatterIcon } from '../../panelWebView/components/Icons/FrontMatterIcon'; +import { GitHubIcon } from '../../panelWebView/components/Icons/GitHubIcon'; import { DashboardMessage } from '../DashboardMessage'; import { Settings } from '../models/Settings'; import { StepsToGetStarted } from './Steps/StepsToGetStarted'; diff --git a/src/pagesView/constants/GroupOption.ts b/src/dashboardWebView/constants/GroupOption.ts similarity index 100% rename from src/pagesView/constants/GroupOption.ts rename to src/dashboardWebView/constants/GroupOption.ts diff --git a/src/pagesView/constants/SortOption.ts b/src/dashboardWebView/constants/SortOption.ts similarity index 100% rename from src/pagesView/constants/SortOption.ts rename to src/dashboardWebView/constants/SortOption.ts diff --git a/src/pagesView/constants/Storage.ts b/src/dashboardWebView/constants/Storage.ts similarity index 100% rename from src/pagesView/constants/Storage.ts rename to src/dashboardWebView/constants/Storage.ts diff --git a/src/pagesView/constants/Tab.ts b/src/dashboardWebView/constants/Tab.ts similarity index 100% rename from src/pagesView/constants/Tab.ts rename to src/dashboardWebView/constants/Tab.ts diff --git a/src/pagesView/hooks/useMessages.tsx b/src/dashboardWebView/hooks/useMessages.tsx similarity index 100% rename from src/pagesView/hooks/useMessages.tsx rename to src/dashboardWebView/hooks/useMessages.tsx diff --git a/src/pagesView/hooks/usePages.tsx b/src/dashboardWebView/hooks/usePages.tsx similarity index 100% rename from src/pagesView/hooks/usePages.tsx rename to src/dashboardWebView/hooks/usePages.tsx diff --git a/src/pagesView/index.tsx b/src/dashboardWebView/index.tsx similarity index 100% rename from src/pagesView/index.tsx rename to src/dashboardWebView/index.tsx diff --git a/src/pagesView/models/Page.ts b/src/dashboardWebView/models/Page.ts similarity index 100% rename from src/pagesView/models/Page.ts rename to src/dashboardWebView/models/Page.ts diff --git a/src/pagesView/models/Settings.ts b/src/dashboardWebView/models/Settings.ts similarity index 85% rename from src/pagesView/models/Settings.ts rename to src/dashboardWebView/models/Settings.ts index e3335b15..5dab5819 100644 --- a/src/pagesView/models/Settings.ts +++ b/src/dashboardWebView/models/Settings.ts @@ -1,6 +1,6 @@ import { VersionInfo } from '../../models/VersionInfo'; import { ViewType } from '../state'; -import { ContentFolder } from './../../models/ContentFolder'; +import { ContentFolder } from '../../models/ContentFolder'; export interface Settings { beta: boolean; diff --git a/src/pagesView/models/Status.ts b/src/dashboardWebView/models/Status.ts similarity index 100% rename from src/pagesView/models/Status.ts rename to src/dashboardWebView/models/Status.ts diff --git a/src/pagesView/models/index.ts b/src/dashboardWebView/models/index.ts similarity index 100% rename from src/pagesView/models/index.ts rename to src/dashboardWebView/models/index.ts diff --git a/src/pagesView/state/atom/CategoryAtom.ts b/src/dashboardWebView/state/atom/CategoryAtom.ts similarity index 100% rename from src/pagesView/state/atom/CategoryAtom.ts rename to src/dashboardWebView/state/atom/CategoryAtom.ts diff --git a/src/pagesView/state/atom/DashboardViewAtom.ts b/src/dashboardWebView/state/atom/DashboardViewAtom.ts similarity index 100% rename from src/pagesView/state/atom/DashboardViewAtom.ts rename to src/dashboardWebView/state/atom/DashboardViewAtom.ts diff --git a/src/pagesView/state/atom/FolderAtom.ts b/src/dashboardWebView/state/atom/FolderAtom.ts similarity index 100% rename from src/pagesView/state/atom/FolderAtom.ts rename to src/dashboardWebView/state/atom/FolderAtom.ts diff --git a/src/pagesView/state/atom/GroupingAtom.ts b/src/dashboardWebView/state/atom/GroupingAtom.ts similarity index 100% rename from src/pagesView/state/atom/GroupingAtom.ts rename to src/dashboardWebView/state/atom/GroupingAtom.ts diff --git a/src/pagesView/state/atom/LightboxAtom.ts b/src/dashboardWebView/state/atom/LightboxAtom.ts similarity index 100% rename from src/pagesView/state/atom/LightboxAtom.ts rename to src/dashboardWebView/state/atom/LightboxAtom.ts diff --git a/src/pagesView/state/atom/LoadingAtom.ts b/src/dashboardWebView/state/atom/LoadingAtom.ts similarity index 100% rename from src/pagesView/state/atom/LoadingAtom.ts rename to src/dashboardWebView/state/atom/LoadingAtom.ts diff --git a/src/pagesView/state/atom/MediaFoldersAtom.ts b/src/dashboardWebView/state/atom/MediaFoldersAtom.ts similarity index 100% rename from src/pagesView/state/atom/MediaFoldersAtom.ts rename to src/dashboardWebView/state/atom/MediaFoldersAtom.ts diff --git a/src/pagesView/state/atom/MediaTotalAtom.ts b/src/dashboardWebView/state/atom/MediaTotalAtom.ts similarity index 100% rename from src/pagesView/state/atom/MediaTotalAtom.ts rename to src/dashboardWebView/state/atom/MediaTotalAtom.ts diff --git a/src/pagesView/state/atom/PageAtom.ts b/src/dashboardWebView/state/atom/PageAtom.ts similarity index 100% rename from src/pagesView/state/atom/PageAtom.ts rename to src/dashboardWebView/state/atom/PageAtom.ts diff --git a/src/pagesView/state/atom/SearchAtom.ts b/src/dashboardWebView/state/atom/SearchAtom.ts similarity index 100% rename from src/pagesView/state/atom/SearchAtom.ts rename to src/dashboardWebView/state/atom/SearchAtom.ts diff --git a/src/pagesView/state/atom/SelectedMediaFolderAtom.ts b/src/dashboardWebView/state/atom/SelectedMediaFolderAtom.ts similarity index 100% rename from src/pagesView/state/atom/SelectedMediaFolderAtom.ts rename to src/dashboardWebView/state/atom/SelectedMediaFolderAtom.ts diff --git a/src/pagesView/state/atom/SettingsAtom.ts b/src/dashboardWebView/state/atom/SettingsAtom.ts similarity index 100% rename from src/pagesView/state/atom/SettingsAtom.ts rename to src/dashboardWebView/state/atom/SettingsAtom.ts diff --git a/src/pagesView/state/atom/SortingAtom.ts b/src/dashboardWebView/state/atom/SortingAtom.ts similarity index 100% rename from src/pagesView/state/atom/SortingAtom.ts rename to src/dashboardWebView/state/atom/SortingAtom.ts diff --git a/src/pagesView/state/atom/TabAtom.ts b/src/dashboardWebView/state/atom/TabAtom.ts similarity index 100% rename from src/pagesView/state/atom/TabAtom.ts rename to src/dashboardWebView/state/atom/TabAtom.ts diff --git a/src/pagesView/state/atom/TagAtom.ts b/src/dashboardWebView/state/atom/TagAtom.ts similarity index 100% rename from src/pagesView/state/atom/TagAtom.ts rename to src/dashboardWebView/state/atom/TagAtom.ts diff --git a/src/pagesView/state/atom/ViewAtom.ts b/src/dashboardWebView/state/atom/ViewAtom.ts similarity index 100% rename from src/pagesView/state/atom/ViewAtom.ts rename to src/dashboardWebView/state/atom/ViewAtom.ts diff --git a/src/pagesView/state/atom/ViewDataAtom.ts b/src/dashboardWebView/state/atom/ViewDataAtom.ts similarity index 100% rename from src/pagesView/state/atom/ViewDataAtom.ts rename to src/dashboardWebView/state/atom/ViewDataAtom.ts diff --git a/src/pagesView/state/atom/index.ts b/src/dashboardWebView/state/atom/index.ts similarity index 100% rename from src/pagesView/state/atom/index.ts rename to src/dashboardWebView/state/atom/index.ts diff --git a/src/pagesView/state/index.ts b/src/dashboardWebView/state/index.ts similarity index 100% rename from src/pagesView/state/index.ts rename to src/dashboardWebView/state/index.ts diff --git a/src/pagesView/state/selectors/CategorySelector.ts b/src/dashboardWebView/state/selectors/CategorySelector.ts similarity index 100% rename from src/pagesView/state/selectors/CategorySelector.ts rename to src/dashboardWebView/state/selectors/CategorySelector.ts diff --git a/src/pagesView/state/selectors/DashboardViewSelector.ts b/src/dashboardWebView/state/selectors/DashboardViewSelector.ts similarity index 100% rename from src/pagesView/state/selectors/DashboardViewSelector.ts rename to src/dashboardWebView/state/selectors/DashboardViewSelector.ts diff --git a/src/pagesView/state/selectors/FolderSelector.ts b/src/dashboardWebView/state/selectors/FolderSelector.ts similarity index 100% rename from src/pagesView/state/selectors/FolderSelector.ts rename to src/dashboardWebView/state/selectors/FolderSelector.ts diff --git a/src/pagesView/state/selectors/GroupingSelector.ts b/src/dashboardWebView/state/selectors/GroupingSelector.ts similarity index 100% rename from src/pagesView/state/selectors/GroupingSelector.ts rename to src/dashboardWebView/state/selectors/GroupingSelector.ts diff --git a/src/pagesView/state/selectors/LoadingSelector.ts b/src/dashboardWebView/state/selectors/LoadingSelector.ts similarity index 100% rename from src/pagesView/state/selectors/LoadingSelector.ts rename to src/dashboardWebView/state/selectors/LoadingSelector.ts diff --git a/src/pagesView/state/selectors/MediaFoldersSelector.ts b/src/dashboardWebView/state/selectors/MediaFoldersSelector.ts similarity index 100% rename from src/pagesView/state/selectors/MediaFoldersSelector.ts rename to src/dashboardWebView/state/selectors/MediaFoldersSelector.ts diff --git a/src/pagesView/state/selectors/MediaTotalSelector.ts b/src/dashboardWebView/state/selectors/MediaTotalSelector.ts similarity index 100% rename from src/pagesView/state/selectors/MediaTotalSelector.ts rename to src/dashboardWebView/state/selectors/MediaTotalSelector.ts diff --git a/src/pagesView/state/selectors/SearchSelector.ts b/src/dashboardWebView/state/selectors/SearchSelector.ts similarity index 100% rename from src/pagesView/state/selectors/SearchSelector.ts rename to src/dashboardWebView/state/selectors/SearchSelector.ts diff --git a/src/pagesView/state/selectors/SelectedMediaFolderSelector.ts b/src/dashboardWebView/state/selectors/SelectedMediaFolderSelector.ts similarity index 100% rename from src/pagesView/state/selectors/SelectedMediaFolderSelector.ts rename to src/dashboardWebView/state/selectors/SelectedMediaFolderSelector.ts diff --git a/src/pagesView/state/selectors/SettingsSelector.ts b/src/dashboardWebView/state/selectors/SettingsSelector.ts similarity index 100% rename from src/pagesView/state/selectors/SettingsSelector.ts rename to src/dashboardWebView/state/selectors/SettingsSelector.ts diff --git a/src/pagesView/state/selectors/SortingSelector.ts b/src/dashboardWebView/state/selectors/SortingSelector.ts similarity index 100% rename from src/pagesView/state/selectors/SortingSelector.ts rename to src/dashboardWebView/state/selectors/SortingSelector.ts diff --git a/src/pagesView/state/selectors/TabSelector.ts b/src/dashboardWebView/state/selectors/TabSelector.ts similarity index 100% rename from src/pagesView/state/selectors/TabSelector.ts rename to src/dashboardWebView/state/selectors/TabSelector.ts diff --git a/src/pagesView/state/selectors/TagSelector.ts b/src/dashboardWebView/state/selectors/TagSelector.ts similarity index 100% rename from src/pagesView/state/selectors/TagSelector.ts rename to src/dashboardWebView/state/selectors/TagSelector.ts diff --git a/src/pagesView/state/selectors/ViewDataSelector.ts b/src/dashboardWebView/state/selectors/ViewDataSelector.ts similarity index 100% rename from src/pagesView/state/selectors/ViewDataSelector.ts rename to src/dashboardWebView/state/selectors/ViewDataSelector.ts diff --git a/src/pagesView/state/selectors/ViewSelector.ts b/src/dashboardWebView/state/selectors/ViewSelector.ts similarity index 100% rename from src/pagesView/state/selectors/ViewSelector.ts rename to src/dashboardWebView/state/selectors/ViewSelector.ts diff --git a/src/pagesView/state/selectors/index.ts b/src/dashboardWebView/state/selectors/index.ts similarity index 100% rename from src/pagesView/state/selectors/index.ts rename to src/dashboardWebView/state/selectors/index.ts diff --git a/src/pagesView/styles.css b/src/dashboardWebView/styles.css similarity index 100% rename from src/pagesView/styles.css rename to src/dashboardWebView/styles.css diff --git a/src/webview/ExplorerView.ts b/src/explorerView/ExplorerView.ts similarity index 90% rename from src/webview/ExplorerView.ts rename to src/explorerView/ExplorerView.ts index f94f046d..03d8b026 100644 --- a/src/webview/ExplorerView.ts +++ b/src/explorerView/ExplorerView.ts @@ -1,15 +1,14 @@ -import { DashboardData } from './../models/DashboardData'; -import { Template } from './../commands/Template'; -import { SETTINGS_CONTENT_FRONTMATTER_HIGHLIGHT, SETTING_AUTO_UPDATE_DATE, SETTING_CUSTOM_SCRIPTS, SETTING_SEO_CONTENT_MIN_LENGTH, SETTING_SEO_DESCRIPTION_FIELD, SETTING_SLUG_UPDATE_FILE_NAME, SETTING_PREVIEW_HOST, SETTING_DATE_FORMAT, SETTING_DATE_FIELD, SETTING_MODIFIED_FIELD, SETTING_COMMA_SEPARATED_FIELDS, SETTINGS_CONTENT_STATIC_FOLDERS, SETTING_TAXONOMY_CONTENT_TYPES } from './../constants/settings'; +import { DashboardData } from '../models/DashboardData'; +import { Template } from '../commands/Template'; +import { DefaultFields, SETTINGS_CONTENT_FRONTMATTER_HIGHLIGHT, SETTING_AUTO_UPDATE_DATE, SETTING_CUSTOM_SCRIPTS, SETTING_SEO_CONTENT_MIN_LENGTH, SETTING_SEO_DESCRIPTION_FIELD, SETTING_SLUG_UPDATE_FILE_NAME, SETTING_PREVIEW_HOST, SETTING_DATE_FORMAT, SETTING_COMMA_SEPARATED_FIELDS, SETTINGS_CONTENT_STATIC_FOLDERS, SETTING_TAXONOMY_CONTENT_TYPES, SETTING_PANEL_FREEFORM, SETTING_SEO_DESCRIPTION_LENGTH, SETTING_SEO_TITLE_LENGTH, SETTING_SLUG_PREFIX, SETTING_SLUG_SUFFIX, SETTING_TAXONOMY_CATEGORIES, SETTING_TAXONOMY_TAGS } from '../constants'; import * as os from 'os'; -import { PanelSettings, CustomScript } from './../models/PanelSettings'; +import { PanelSettings, CustomScript } from '../models/PanelSettings'; import { CancellationToken, Disposable, Uri, Webview, WebviewView, WebviewViewProvider, WebviewViewResolveContext, window, workspace, commands, env as vscodeEnv } from "vscode"; -import { DefaultFields, SETTING_PANEL_FREEFORM, SETTING_SEO_DESCRIPTION_LENGTH, SETTING_SEO_TITLE_LENGTH, SETTING_SLUG_PREFIX, SETTING_SLUG_SUFFIX, SETTING_TAXONOMY_CATEGORIES, SETTING_TAXONOMY_TAGS } from "../constants"; import { ArticleHelper, SettingsHelper } from "../helpers"; -import { Command } from "../viewpanel/Command"; -import { CommandToCode } from '../viewpanel/CommandToCode'; +import { Command } from "../panelWebView/Command"; +import { CommandToCode } from '../panelWebView/CommandToCode'; import { Article } from '../commands'; -import { TagType } from '../viewpanel/TagType'; +import { TagType } from '../panelWebView/TagType'; import { TaxonomyType } from '../models'; import { exec } from 'child_process'; import * as path from 'path'; @@ -24,6 +23,7 @@ import { WebviewHelper } from '@estruyf/vscode'; import { Extension } from '../helpers/Extension'; import { dirname, join } from 'path'; import { existsSync } from 'fs'; +import { Dashboard } from '../commands/Dashboard'; const FILE_LIMIT = 10; @@ -182,10 +182,11 @@ export class ExplorerView implements WebviewViewProvider, Disposable { this.updateMetadata(msg.data); break; case CommandToCode.selectImage: - await commands.executeCommand(`frontMatter.dashboard`, { + await commands.executeCommand(COMMAND_NAME.dashboard, { type: "media", data: msg.data } as DashboardData); + this.getMediaSelection(); break; } }); @@ -246,22 +247,24 @@ export class ExplorerView implements WebviewViewProvider, Disposable { if (contentType) { const imageFields = contentType.fields.filter((field) => field.type === "image"); for (const field of imageFields) { - const staticPath = join(wsFolder.fsPath, staticFolder || "", updatedMetadata[field.name]); - const contentFolderPath = filePath ? join(dirname(filePath), updatedMetadata[field.name]) : null; + if (updatedMetadata[field.name]) { + const staticPath = join(wsFolder.fsPath, staticFolder || "", updatedMetadata[field.name]); + const contentFolderPath = filePath ? join(dirname(filePath), updatedMetadata[field.name]) : null; - let previewUri = null; - if (existsSync(staticPath)) { - previewUri = Uri.file(staticPath); - } else if (contentFolderPath && existsSync(contentFolderPath)) { - previewUri = Uri.file(contentFolderPath); - } + let previewUri = null; + if (existsSync(staticPath)) { + previewUri = Uri.file(staticPath); + } else if (contentFolderPath && existsSync(contentFolderPath)) { + previewUri = Uri.file(contentFolderPath); + } - if (previewUri) { - const preview = this.panel?.webview.asWebviewUri(previewUri); - updatedMetadata[field.name]= preview?.toString() || ""; - } else { - updatedMetadata[field.name] = ""; - } + if (previewUri) { + const preview = this.panel?.webview.asWebviewUri(previewUri); + updatedMetadata[field.name]= preview?.toString() || ""; + } else { + updatedMetadata[field.name] = ""; + } + } } } } @@ -365,6 +368,16 @@ export class ExplorerView implements WebviewViewProvider, Disposable { } } + /** + * Return the media selection + */ + public async getMediaSelection() { + this.postWebviewMessage({ + command: Command.mediaSelectionData, + data: Dashboard.viewData + }); + } + /** * Retrieve the extension settings */ @@ -399,6 +412,7 @@ export class ExplorerView implements WebviewViewProvider, Disposable { preview: Preview.getSettings(), commaSeparatedFields: config.get(SETTING_COMMA_SEPARATED_FIELDS) || [], contentTypes: config.get(SETTING_TAXONOMY_CONTENT_TYPES) || [], + dashboardViewData: Dashboard.viewData } as PanelSettings }); } diff --git a/src/extension.ts b/src/extension.ts index d76a2da4..b94f3094 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -8,8 +8,8 @@ import { Template } from './commands/Template'; import { COMMAND_NAME } from './constants/Extension'; import { TaxonomyType } from './models'; import { MarkdownFoldingProvider } from './providers/MarkdownFoldingProvider'; -import { TagType } from './viewpanel/TagType'; -import { ExplorerView } from './webview/ExplorerView'; +import { TagType } from './panelWebView/TagType'; +import { ExplorerView } from './explorerView/ExplorerView'; import { Extension } from './helpers/Extension'; import { DashboardData } from './models/DashboardData'; diff --git a/src/helpers/Extension.ts b/src/helpers/Extension.ts index b0d5daa0..cf63ebb7 100644 --- a/src/helpers/Extension.ts +++ b/src/helpers/Extension.ts @@ -89,6 +89,7 @@ export class Extension { const contentTypes = config.get(SETTING_TAXONOMY_CONTENT_TYPES); if (contentTypes) { + let needsUpdate = false; let defaultContentType = contentTypes.find(ct => ct.name === DEFAULT_CONTENT_TYPE_NAME); if (defaultContentType) { @@ -98,6 +99,7 @@ export class Extension { name: dateField, type: "datetime" }); + needsUpdate = true; } if (lastModField && lastModField !== "lastmod") { @@ -106,6 +108,7 @@ export class Extension { name: lastModField, type: "datetime" }); + needsUpdate = true; } if (description && description !== "description") { @@ -114,9 +117,12 @@ export class Extension { name: description, type: "string" }); + needsUpdate = true; } - await config.update(SETTING_TAXONOMY_CONTENT_TYPES, contentTypes); + if (needsUpdate) { + await config.update(SETTING_TAXONOMY_CONTENT_TYPES, contentTypes); + } } } } diff --git a/src/helpers/MessageHelper.ts b/src/helpers/MessageHelper.ts index d95e8936..64597d19 100644 --- a/src/helpers/MessageHelper.ts +++ b/src/helpers/MessageHelper.ts @@ -1,5 +1,5 @@ -import { DashboardMessage } from './../pagesView/DashboardMessage'; -import { CommandToCode } from "../viewpanel/CommandToCode"; +import { DashboardMessage } from '../dashboardWebView/DashboardMessage'; +import { CommandToCode } from "../panelWebView/CommandToCode"; interface ClientVsCode { diff --git a/src/models/PanelSettings.ts b/src/models/PanelSettings.ts index 4a132ab4..65a75061 100644 --- a/src/models/PanelSettings.ts +++ b/src/models/PanelSettings.ts @@ -1,4 +1,5 @@ import { FileType } from "vscode"; +import { DashboardData } from "./DashboardData"; export interface PanelSettings { seo: SEO; @@ -14,6 +15,7 @@ export interface PanelSettings { fmHighlighting: boolean; preview: PreviewSettings; contentTypes: ContentType[]; + dashboardViewData: DashboardData | undefined; } export interface ContentType { diff --git a/src/viewpanel/Command.ts b/src/panelWebView/Command.ts similarity index 83% rename from src/viewpanel/Command.ts rename to src/panelWebView/Command.ts index 7e4145c1..7236f776 100644 --- a/src/viewpanel/Command.ts +++ b/src/panelWebView/Command.ts @@ -6,4 +6,5 @@ export enum Command { focusOnCategories = "focusOnCategories", closeSections = "closeSections", folderInfo = "folderInfo", + mediaSelectionData = "mediaSelectionData" } \ No newline at end of file diff --git a/src/viewpanel/CommandToCode.ts b/src/panelWebView/CommandToCode.ts similarity index 100% rename from src/viewpanel/CommandToCode.ts rename to src/panelWebView/CommandToCode.ts diff --git a/src/viewpanel/TagType.ts b/src/panelWebView/TagType.ts similarity index 100% rename from src/viewpanel/TagType.ts rename to src/panelWebView/TagType.ts diff --git a/src/viewpanel/ViewPanel.tsx b/src/panelWebView/ViewPanel.tsx similarity index 83% rename from src/viewpanel/ViewPanel.tsx rename to src/panelWebView/ViewPanel.tsx index 99be607a..fdcab7da 100644 --- a/src/viewpanel/ViewPanel.tsx +++ b/src/panelWebView/ViewPanel.tsx @@ -14,7 +14,15 @@ export interface IViewPanelProps { } export const ViewPanel: React.FunctionComponent = (props: React.PropsWithChildren) => { - const { loading, metadata, settings, folderAndFiles, focusElm, unsetFocus } = useMessages(); + const { loading, mediaSelecting, metadata, settings, folderAndFiles, focusElm, unsetFocus } = useMessages(); + + if (mediaSelecting) { + return ( +
+

Continue in the media dashboard to select the image you want to insert.

+
+ ); + } if (loading) { return ( diff --git a/src/viewpanel/components/ActionButton.tsx b/src/panelWebView/components/ActionButton.tsx similarity index 100% rename from src/viewpanel/components/ActionButton.tsx rename to src/panelWebView/components/ActionButton.tsx diff --git a/src/viewpanel/components/Actions.tsx b/src/panelWebView/components/Actions.tsx similarity index 100% rename from src/viewpanel/components/Actions.tsx rename to src/panelWebView/components/Actions.tsx diff --git a/src/viewpanel/components/ArticleDetails.tsx b/src/panelWebView/components/ArticleDetails.tsx similarity index 100% rename from src/viewpanel/components/ArticleDetails.tsx rename to src/panelWebView/components/ArticleDetails.tsx diff --git a/src/viewpanel/components/BaseView.tsx b/src/panelWebView/components/BaseView.tsx similarity index 99% rename from src/viewpanel/components/BaseView.tsx rename to src/panelWebView/components/BaseView.tsx index c1a2b73a..6371bfbf 100644 --- a/src/viewpanel/components/BaseView.tsx +++ b/src/panelWebView/components/BaseView.tsx @@ -29,7 +29,6 @@ export const BaseView: React.FunctionComponent = ({settings, fol MessageHelper.sendMessage(CommandToCode.createContent); }; - return (
diff --git a/src/viewpanel/components/Collapsible.tsx b/src/panelWebView/components/Collapsible.tsx similarity index 100% rename from src/viewpanel/components/Collapsible.tsx rename to src/panelWebView/components/Collapsible.tsx diff --git a/src/viewpanel/components/CustomScript.tsx b/src/panelWebView/components/CustomScript.tsx similarity index 100% rename from src/viewpanel/components/CustomScript.tsx rename to src/panelWebView/components/CustomScript.tsx diff --git a/src/viewpanel/components/Fields/DateTimeField.tsx b/src/panelWebView/components/Fields/DateTimeField.tsx similarity index 100% rename from src/viewpanel/components/Fields/DateTimeField.tsx rename to src/panelWebView/components/Fields/DateTimeField.tsx diff --git a/src/viewpanel/components/Fields/PreviewImageField.tsx b/src/panelWebView/components/Fields/PreviewImageField.tsx similarity index 100% rename from src/viewpanel/components/Fields/PreviewImageField.tsx rename to src/panelWebView/components/Fields/PreviewImageField.tsx diff --git a/src/viewpanel/components/Fields/TextField.tsx b/src/panelWebView/components/Fields/TextField.tsx similarity index 100% rename from src/viewpanel/components/Fields/TextField.tsx rename to src/panelWebView/components/Fields/TextField.tsx diff --git a/src/viewpanel/components/Fields/Toggle.tsx b/src/panelWebView/components/Fields/Toggle.tsx similarity index 100% rename from src/viewpanel/components/Fields/Toggle.tsx rename to src/panelWebView/components/Fields/Toggle.tsx diff --git a/src/viewpanel/components/FileList.tsx b/src/panelWebView/components/FileList.tsx similarity index 100% rename from src/viewpanel/components/FileList.tsx rename to src/panelWebView/components/FileList.tsx diff --git a/src/viewpanel/components/FolderAndFiles.tsx b/src/panelWebView/components/FolderAndFiles.tsx similarity index 100% rename from src/viewpanel/components/FolderAndFiles.tsx rename to src/panelWebView/components/FolderAndFiles.tsx diff --git a/src/viewpanel/components/GlobalSettings.tsx b/src/panelWebView/components/GlobalSettings.tsx similarity index 100% rename from src/viewpanel/components/GlobalSettings.tsx rename to src/panelWebView/components/GlobalSettings.tsx diff --git a/src/viewpanel/components/Icon.tsx b/src/panelWebView/components/Icon.tsx similarity index 100% rename from src/viewpanel/components/Icon.tsx rename to src/panelWebView/components/Icon.tsx diff --git a/src/viewpanel/components/Icons/AddIcon.tsx b/src/panelWebView/components/Icons/AddIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/AddIcon.tsx rename to src/panelWebView/components/Icons/AddIcon.tsx diff --git a/src/viewpanel/components/Icons/ArchiveIcon.tsx b/src/panelWebView/components/Icons/ArchiveIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/ArchiveIcon.tsx rename to src/panelWebView/components/Icons/ArchiveIcon.tsx diff --git a/src/viewpanel/components/Icons/BugIcon.tsx b/src/panelWebView/components/Icons/BugIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/BugIcon.tsx rename to src/panelWebView/components/Icons/BugIcon.tsx diff --git a/src/viewpanel/components/Icons/CenterIcon.tsx b/src/panelWebView/components/Icons/CenterIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/CenterIcon.tsx rename to src/panelWebView/components/Icons/CenterIcon.tsx diff --git a/src/viewpanel/components/Icons/CheckIcon.tsx b/src/panelWebView/components/Icons/CheckIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/CheckIcon.tsx rename to src/panelWebView/components/Icons/CheckIcon.tsx diff --git a/src/viewpanel/components/Icons/FileIcon.tsx b/src/panelWebView/components/Icons/FileIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/FileIcon.tsx rename to src/panelWebView/components/Icons/FileIcon.tsx diff --git a/src/viewpanel/components/Icons/FolderOpenedIcon.tsx b/src/panelWebView/components/Icons/FolderOpenedIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/FolderOpenedIcon.tsx rename to src/panelWebView/components/Icons/FolderOpenedIcon.tsx diff --git a/src/viewpanel/components/Icons/FrontMatterIcon.tsx b/src/panelWebView/components/Icons/FrontMatterIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/FrontMatterIcon.tsx rename to src/panelWebView/components/Icons/FrontMatterIcon.tsx diff --git a/src/viewpanel/components/Icons/GitHubIcon.tsx b/src/panelWebView/components/Icons/GitHubIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/GitHubIcon.tsx rename to src/panelWebView/components/Icons/GitHubIcon.tsx diff --git a/src/viewpanel/components/Icons/HeartIcon.tsx b/src/panelWebView/components/Icons/HeartIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/HeartIcon.tsx rename to src/panelWebView/components/Icons/HeartIcon.tsx diff --git a/src/viewpanel/components/Icons/ListUnorderedIcon.tsx b/src/panelWebView/components/Icons/ListUnorderedIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/ListUnorderedIcon.tsx rename to src/panelWebView/components/Icons/ListUnorderedIcon.tsx diff --git a/src/viewpanel/components/Icons/MarkdownIcon.tsx b/src/panelWebView/components/Icons/MarkdownIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/MarkdownIcon.tsx rename to src/panelWebView/components/Icons/MarkdownIcon.tsx diff --git a/src/viewpanel/components/Icons/RocketIcon.tsx b/src/panelWebView/components/Icons/RocketIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/RocketIcon.tsx rename to src/panelWebView/components/Icons/RocketIcon.tsx diff --git a/src/viewpanel/components/Icons/SettingsIcon.tsx b/src/panelWebView/components/Icons/SettingsIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/SettingsIcon.tsx rename to src/panelWebView/components/Icons/SettingsIcon.tsx diff --git a/src/viewpanel/components/Icons/SymbolKeywordIcon.tsx b/src/panelWebView/components/Icons/SymbolKeywordIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/SymbolKeywordIcon.tsx rename to src/panelWebView/components/Icons/SymbolKeywordIcon.tsx diff --git a/src/viewpanel/components/Icons/TagIcon.tsx b/src/panelWebView/components/Icons/TagIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/TagIcon.tsx rename to src/panelWebView/components/Icons/TagIcon.tsx diff --git a/src/viewpanel/components/Icons/TemplateIcon.tsx b/src/panelWebView/components/Icons/TemplateIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/TemplateIcon.tsx rename to src/panelWebView/components/Icons/TemplateIcon.tsx diff --git a/src/viewpanel/components/Icons/WarningIcon.tsx b/src/panelWebView/components/Icons/WarningIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/WarningIcon.tsx rename to src/panelWebView/components/Icons/WarningIcon.tsx diff --git a/src/viewpanel/components/Icons/WritingIcon.tsx b/src/panelWebView/components/Icons/WritingIcon.tsx similarity index 100% rename from src/viewpanel/components/Icons/WritingIcon.tsx rename to src/panelWebView/components/Icons/WritingIcon.tsx diff --git a/src/viewpanel/components/Metadata.tsx b/src/panelWebView/components/Metadata.tsx similarity index 100% rename from src/viewpanel/components/Metadata.tsx rename to src/panelWebView/components/Metadata.tsx diff --git a/src/viewpanel/components/OtherActionButton.tsx b/src/panelWebView/components/OtherActionButton.tsx similarity index 100% rename from src/viewpanel/components/OtherActionButton.tsx rename to src/panelWebView/components/OtherActionButton.tsx diff --git a/src/viewpanel/components/OtherActions.tsx b/src/panelWebView/components/OtherActions.tsx similarity index 100% rename from src/viewpanel/components/OtherActions.tsx rename to src/panelWebView/components/OtherActions.tsx diff --git a/src/viewpanel/components/Preview.tsx b/src/panelWebView/components/Preview.tsx similarity index 100% rename from src/viewpanel/components/Preview.tsx rename to src/panelWebView/components/Preview.tsx diff --git a/src/viewpanel/components/PublishAction.tsx b/src/panelWebView/components/PublishAction.tsx similarity index 100% rename from src/viewpanel/components/PublishAction.tsx rename to src/panelWebView/components/PublishAction.tsx diff --git a/src/viewpanel/components/SeoDetails.tsx b/src/panelWebView/components/SeoDetails.tsx similarity index 100% rename from src/viewpanel/components/SeoDetails.tsx rename to src/panelWebView/components/SeoDetails.tsx diff --git a/src/viewpanel/components/SeoFieldInfo.tsx b/src/panelWebView/components/SeoFieldInfo.tsx similarity index 100% rename from src/viewpanel/components/SeoFieldInfo.tsx rename to src/panelWebView/components/SeoFieldInfo.tsx diff --git a/src/viewpanel/components/SeoKeywordInfo.tsx b/src/panelWebView/components/SeoKeywordInfo.tsx similarity index 100% rename from src/viewpanel/components/SeoKeywordInfo.tsx rename to src/panelWebView/components/SeoKeywordInfo.tsx diff --git a/src/viewpanel/components/SeoKeywords.tsx b/src/panelWebView/components/SeoKeywords.tsx similarity index 100% rename from src/viewpanel/components/SeoKeywords.tsx rename to src/panelWebView/components/SeoKeywords.tsx diff --git a/src/viewpanel/components/SeoStatus.tsx b/src/panelWebView/components/SeoStatus.tsx similarity index 100% rename from src/viewpanel/components/SeoStatus.tsx rename to src/panelWebView/components/SeoStatus.tsx diff --git a/src/viewpanel/components/SlugAction.tsx b/src/panelWebView/components/SlugAction.tsx similarity index 100% rename from src/viewpanel/components/SlugAction.tsx rename to src/panelWebView/components/SlugAction.tsx diff --git a/src/viewpanel/components/Spinner.tsx b/src/panelWebView/components/Spinner.tsx similarity index 100% rename from src/viewpanel/components/Spinner.tsx rename to src/panelWebView/components/Spinner.tsx diff --git a/src/viewpanel/components/SponsorMsg.tsx b/src/panelWebView/components/SponsorMsg.tsx similarity index 100% rename from src/viewpanel/components/SponsorMsg.tsx rename to src/panelWebView/components/SponsorMsg.tsx diff --git a/src/viewpanel/components/Tag.tsx b/src/panelWebView/components/Tag.tsx similarity index 100% rename from src/viewpanel/components/Tag.tsx rename to src/panelWebView/components/Tag.tsx diff --git a/src/viewpanel/components/TagPicker.tsx b/src/panelWebView/components/TagPicker.tsx similarity index 100% rename from src/viewpanel/components/TagPicker.tsx rename to src/panelWebView/components/TagPicker.tsx diff --git a/src/viewpanel/components/Tags.tsx b/src/panelWebView/components/Tags.tsx similarity index 100% rename from src/viewpanel/components/Tags.tsx rename to src/panelWebView/components/Tags.tsx diff --git a/src/viewpanel/components/ValidInfo.tsx b/src/panelWebView/components/ValidInfo.tsx similarity index 100% rename from src/viewpanel/components/ValidInfo.tsx rename to src/panelWebView/components/ValidInfo.tsx diff --git a/src/viewpanel/components/VscodeComponents.ts b/src/panelWebView/components/VscodeComponents.ts similarity index 100% rename from src/viewpanel/components/VscodeComponents.ts rename to src/panelWebView/components/VscodeComponents.ts diff --git a/src/viewpanel/hooks/useMessages.tsx b/src/panelWebView/hooks/useMessages.tsx similarity index 85% rename from src/viewpanel/hooks/useMessages.tsx rename to src/panelWebView/hooks/useMessages.tsx index 3490a824..fd53af91 100644 --- a/src/viewpanel/hooks/useMessages.tsx +++ b/src/panelWebView/hooks/useMessages.tsx @@ -1,5 +1,6 @@ import { useState, useEffect } from 'react'; import { MessageHelper } from '../../helpers/MessageHelper'; +import { DashboardData } from '../../models/DashboardData'; import { FolderInfo, PanelSettings } from '../../models/PanelSettings'; import { Command } from '../Command'; import { CommandToCode } from '../CommandToCode'; @@ -13,6 +14,7 @@ export default function useMessages() { const [loading, setLoading] = useState(false); const [focusElm, setFocus] = useState(null); const [folderAndFiles, setFolderAndFiles] = useState(undefined); + const [mediaSelecting, setMediaSelecting] = useState(undefined); window.addEventListener('message', event => { const message = event.data; @@ -38,6 +40,9 @@ export default function useMessages() { case Command.focusOnCategories: setFocus(TagType.categories); break; + case Command.mediaSelectionData: + setMediaSelecting(message.data); + break; } }); @@ -52,6 +57,7 @@ export default function useMessages() { folderAndFiles, focusElm, loading, + mediaSelecting, unsetFocus: () => { setFocus(null) } }; } \ No newline at end of file diff --git a/src/viewpanel/hooks/usePrevious.tsx b/src/panelWebView/hooks/usePrevious.tsx similarity index 100% rename from src/viewpanel/hooks/usePrevious.tsx rename to src/panelWebView/hooks/usePrevious.tsx diff --git a/src/viewpanel/index.tsx b/src/panelWebView/index.tsx similarity index 100% rename from src/viewpanel/index.tsx rename to src/panelWebView/index.tsx diff --git a/webpack.config.js b/webpack.config.js index 2edc0564..a03bd92e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -37,9 +37,9 @@ const config = [ } }, { - name: 'viewpanel', + name: 'panelWebView', target: 'web', - entry: './src/viewpanel/index.tsx', + entry: './src/panelWebView/index.tsx', output: { path: path.resolve(__dirname, 'dist'), filename: 'viewpanel.js' @@ -69,9 +69,9 @@ const config = [ } }, { - name: 'pagesView', + name: 'dashboardWebView', target: 'web', - entry: './src/pagesView/index.tsx', + entry: './src/dashboardWebView/index.tsx', output: { path: path.resolve(__dirname, 'dist'), filename: 'pages.js'