1
0
mirror of synced 2025-11-06 04:30:40 +08:00

feat: Allows height to be not explicit height, e.g. 'inherit' or '100%' (#196)

This commit is contained in:
Jamie Peabody
2024-06-09 22:25:04 +01:00
committed by GitHub
parent 6ea7450536
commit b9e3641c85
3 changed files with 16 additions and 7 deletions

View File

@@ -65,7 +65,6 @@ CodeMirrorDiffView.prototype.unbind = function() {
this.el.removeChild(this.el.lastChild); this.el.removeChild(this.el.lastChild);
} }
if (this._origEl) { if (this._origEl) {
this.el.style = this._origEl.style;
this.el.className = this._origEl.className; this.el.className = this._origEl.className;
} }
this._unbound = true; this._unbound = true;
@@ -257,16 +256,17 @@ CodeMirrorDiffView.prototype.resize = function() {
CodeMirrorDiffView.prototype.bind = function(container) { CodeMirrorDiffView.prototype.bind = function(container) {
this.trace('api#bind', container); this.trace('api#bind', container);
this._origEl = {
style: container.style,
className: container.className
};
const el = dom.getMergelyContainer({ clazz: container.className }); const el = dom.getMergelyContainer({ clazz: container.className });
const computedStyle = window.getComputedStyle(container); const computedStyle = window.getComputedStyle(container);
if (!computedStyle.height || computedStyle.height === '0px') { if (!el.style.height
&& (!computedStyle.height || computedStyle.height === '0px')
) {
throw new Error( throw new Error(
`The element "${container.id}" requires an explicit height`); `The element "${container.id}" requires an explicit height`);
} }
this._origEl = {
className: container.className
};
this.id = `${container.id}`; this.id = `${container.id}`;
this.lhsId = `${container.id}-lhs`; this.lhsId = `${container.id}-lhs`;
this.rhsId = `${container.id}-rhs`; this.rhsId = `${container.id}-rhs`;
@@ -753,6 +753,9 @@ CodeMirrorDiffView.prototype._set_top_offset = function (side) {
// this is the distance from the top of the screen to the top of the // this is the distance from the top of the screen to the top of the
// content of the first codemirror editor // content of the first codemirror editor
const topnode = this._queryElement('.CodeMirror-measure'); const topnode = this._queryElement('.CodeMirror-measure');
if (!topnode.offsetParent) {
return false;
}
const top_offset = topnode.offsetParent.offsetTop + 4; const top_offset = topnode.offsetParent.offsetTop + 4;
// restore editor's scroll position // restore editor's scroll position

View File

@@ -46,7 +46,9 @@ class Mergely {
} }
const computedStyle = window.getComputedStyle(element); const computedStyle = window.getComputedStyle(element);
if (!computedStyle.height || computedStyle.height === '0px') { if (!element.style.height
&& (!computedStyle.height || computedStyle.height === '0px')
) {
throw new Error( throw new Error(
`The element "${selector}" requires an explicit height`); `The element "${selector}" requires an explicit height`);
} }

View File

@@ -15,6 +15,10 @@ module.exports = (mode) => {
...webpackDevConfig.output, ...webpackDevConfig.output,
path: path.join(__dirname, 'lib'), path: path.join(__dirname, 'lib'),
filename: './[name].js', filename: './[name].js',
library: {
name: 'mergely',
type: 'umd',
}
}, },
optimization: { optimization: {
minimize: true, minimize: true,