You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-06-30 23:44:55 +02:00
All: Add support for application plugins (#3257)
This commit is contained in:
@ -13,15 +13,18 @@ import useMessageHandler from './utils/useMessageHandler';
|
||||
import useWindowCommandHandler from './utils/useWindowCommandHandler';
|
||||
import useDropHandler from './utils/useDropHandler';
|
||||
import useMarkupToHtml from './utils/useMarkupToHtml';
|
||||
import useNoteToolbarButtons from './utils/useNoteToolbarButtons';
|
||||
import useFormNote, { OnLoadEvent } from './utils/useFormNote';
|
||||
import useFolder from './utils/useFolder';
|
||||
import styles_ from './styles';
|
||||
import { NoteEditorProps, FormNote, ScrollOptions, ScrollOptionTypes, OnChangeEvent, NoteBodyEditorProps } from './utils/types';
|
||||
import ResourceEditWatcher from '../../lib/services/ResourceEditWatcher/index';
|
||||
import ResourceEditWatcher from 'lib/services/ResourceEditWatcher/index';
|
||||
import CommandService from 'lib/services/CommandService';
|
||||
import ToolbarButton from '../ToolbarButton/ToolbarButton';
|
||||
import Button, { ButtonLevel } from '../Button/Button';
|
||||
import eventManager from 'lib/eventManager';
|
||||
import { AppState } from '../../app';
|
||||
import ToolbarButtonUtils from 'lib/services/commands/ToolbarButtonUtils';
|
||||
import { _ } from 'lib/locale';
|
||||
|
||||
const { themeStyle } = require('lib/theme');
|
||||
const { substrWithEllipsis } = require('lib/string-utils');
|
||||
@ -30,12 +33,10 @@ const { reg } = require('lib/registry.js');
|
||||
const { time } = require('lib/time-utils.js');
|
||||
const markupLanguageUtils = require('lib/markupLanguageUtils');
|
||||
const usePrevious = require('lib/hooks/usePrevious').default;
|
||||
const Setting = require('lib/models/Setting');
|
||||
const { _ } = require('lib/locale');
|
||||
const Setting = require('lib/models/Setting').default;
|
||||
const Note = require('lib/models/Note.js');
|
||||
const { bridge } = require('electron').remote.require('./bridge');
|
||||
const bridge = require('electron').remote.require('./bridge').default;
|
||||
const ExternalEditWatcher = require('lib/services/ExternalEditWatcher');
|
||||
const eventManager = require('lib/eventManager');
|
||||
const NoteRevisionViewer = require('../NoteRevisionViewer.min');
|
||||
const TagList = require('../TagList.min.js');
|
||||
|
||||
@ -43,6 +44,12 @@ const commands = [
|
||||
require('./commands/showRevisions'),
|
||||
];
|
||||
|
||||
const toolbarStyle = {
|
||||
marginBottom: 0,
|
||||
};
|
||||
|
||||
const toolbarButtonUtils = new ToolbarButtonUtils(CommandService.instance());
|
||||
|
||||
function NoteEditor(props: NoteEditorProps) {
|
||||
const [showRevisions, setShowRevisions] = useState(false);
|
||||
const [titleHasBeenManuallyChanged, setTitleHasBeenManuallyChanged] = useState(false);
|
||||
@ -116,6 +123,8 @@ function NoteEditor(props: NoteEditorProps) {
|
||||
type: 'EDITOR_NOTE_STATUS_REMOVE',
|
||||
id: formNote.id,
|
||||
});
|
||||
|
||||
eventManager.emit('noteContentChange', { note: savedNote });
|
||||
};
|
||||
};
|
||||
|
||||
@ -338,22 +347,17 @@ function NoteEditor(props: NoteEditorProps) {
|
||||
}
|
||||
|
||||
function renderNoteToolbar() {
|
||||
const toolbarStyle = {
|
||||
marginBottom: 0,
|
||||
};
|
||||
|
||||
return <NoteToolbar
|
||||
themeId={props.themeId}
|
||||
note={formNote}
|
||||
// note={formNote}
|
||||
style={toolbarStyle}
|
||||
/>;
|
||||
}
|
||||
|
||||
function renderTagButton() {
|
||||
const info = CommandService.instance().commandToToolbarButton('setTags');
|
||||
return <ToolbarButton
|
||||
themeId={props.themeId}
|
||||
toolbarButtonInfo={info}
|
||||
toolbarButtonInfo={props.setTagsToolbarButtonInfo}
|
||||
/>;
|
||||
}
|
||||
|
||||
@ -407,7 +411,7 @@ function NoteEditor(props: NoteEditorProps) {
|
||||
disabled: false,
|
||||
themeId: props.themeId,
|
||||
dispatch: props.dispatch,
|
||||
noteToolbar: null,// renderNoteToolbar(),
|
||||
noteToolbar: null,
|
||||
onScroll: onScroll,
|
||||
setLocalSearchResultCount: setLocalSearchResultCount,
|
||||
searchMarkers: searchMarkers,
|
||||
@ -415,7 +419,8 @@ function NoteEditor(props: NoteEditorProps) {
|
||||
keyboardMode: Setting.value('editor.keyboardMode'),
|
||||
locale: Setting.value('locale'),
|
||||
onDrop: onDrop,
|
||||
noteToolbarButtonInfos: useNoteToolbarButtons(),
|
||||
noteToolbarButtonInfos: props.toolbarButtonInfos,
|
||||
plugins: props.plugins,
|
||||
};
|
||||
|
||||
let editor = null;
|
||||
@ -463,6 +468,7 @@ function NoteEditor(props: NoteEditorProps) {
|
||||
notes={props.notes}
|
||||
dispatch={props.dispatch}
|
||||
watchedNoteFiles={props.watchedNoteFiles}
|
||||
plugins={props.plugins}
|
||||
/>;
|
||||
}
|
||||
|
||||
@ -557,7 +563,7 @@ export {
|
||||
NoteEditor as NoteEditorComponent,
|
||||
};
|
||||
|
||||
const mapStateToProps = (state: any) => {
|
||||
const mapStateToProps = (state: AppState) => {
|
||||
const noteId = state.selectedNoteIds.length === 1 ? state.selectedNoteIds[0] : null;
|
||||
|
||||
return {
|
||||
@ -580,6 +586,16 @@ const mapStateToProps = (state: any) => {
|
||||
noteVisiblePanes: state.noteVisiblePanes,
|
||||
watchedResources: state.watchedResources,
|
||||
highlightedWords: state.highlightedWords,
|
||||
plugins: state.pluginService.plugins,
|
||||
toolbarButtonInfos: toolbarButtonUtils.commandsToToolbarButtons(state, [
|
||||
'historyBackward',
|
||||
'historyForward',
|
||||
'toggleEditors',
|
||||
'startExternalEditing',
|
||||
]),
|
||||
setTagsToolbarButtonInfo: toolbarButtonUtils.commandsToToolbarButtons(state, [
|
||||
'setTags',
|
||||
])[0],
|
||||
};
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user