@atlaskit/editor-plugin-date
Version:
Date plugin for @atlaskit/editor-core
34 lines • 1.15 kB
JavaScript
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
import { pluginFactory } from '@atlaskit/editor-common/utils';
import { DateNodeView } from '../nodeviews/DateNodeView';
import { pluginKey } from './plugin-key';
import { mapping, onSelectionChanged, reducer } from './utils';
var dest = pluginFactory(pluginKey, reducer, {
mapping: mapping,
onSelectionChanged: onSelectionChanged
});
var createPluginState = dest.createPluginState;
var getPluginState = dest.getPluginState;
var createPlugin = function createPlugin(pmPluginFactoryParams) {
var dispatch = pmPluginFactoryParams.dispatch;
var newPluginState = {
showDatePickerAt: null,
isNew: false,
isDateEmpty: false,
focusDateInput: false,
isInitialised: true
};
return new SafePlugin({
state: createPluginState(dispatch, newPluginState),
key: pluginKey,
props: {
nodeViews: {
date: function date(node, view, getPos, decorations) {
return new DateNodeView(node, view, getPos, pmPluginFactoryParams.getIntl(), decorations);
}
}
}
});
};
export { getPluginState };
export default createPlugin;