react-codemirror-merge
Version:
CodeMirror merge view for React.
44 lines (43 loc) • 1.81 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Modified = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = require("react");
var _reactCodemirror = require("@uiw/react-codemirror");
var _store = require("./store");
var _excluded = ["extensions", "value", "selection", "onChange"];
var Modified = exports.Modified = function Modified(props) {
var _props$extensions = props.extensions,
extensions = _props$extensions === void 0 ? [] : _props$extensions,
value = props.value,
selection = props.selection,
onChange = props.onChange,
otherOption = (0, _objectWithoutProperties2["default"])(props, _excluded);
var _useStore = (0, _store.useStore)(),
theme = _useStore.theme,
dispatch = _useStore.dispatch;
var defaultExtensions = (0, _reactCodemirror.getDefaultExtensions)((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, otherOption), {}, {
theme: theme
}));
(0, _react.useEffect)(function () {
dispatch({
modified: {
doc: value,
selection: selection,
extensions: [].concat((0, _toConsumableArray2["default"])(defaultExtensions), (0, _toConsumableArray2["default"])(extensions))
},
modifiedExtension: {
onChange: onChange,
option: otherOption,
extension: [extensions]
}
});
}, [props]);
return null;
};
Modified.displayName = 'CodeMirrorMerge.Modified';
;