feat: Allows height to be not explicit height, e.g. 'inherit' or '100%' (#196)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user