Merge pull request #8806 from notnotse/preserve-fullscreen-button-class-names
Preserve button class name list in full screen control on toggle
This commit is contained in:
@@ -103,7 +103,7 @@ class FullScreen extends Control {
|
|||||||
|
|
||||||
const tipLabel = options.tipLabel ? options.tipLabel : 'Toggle full-screen';
|
const tipLabel = options.tipLabel ? options.tipLabel : 'Toggle full-screen';
|
||||||
const button = document.createElement('button');
|
const button = document.createElement('button');
|
||||||
button.className = this.cssClassName_ + '-' + isFullScreen();
|
this.setClassName_(button, isFullScreen());
|
||||||
button.setAttribute('type', 'button');
|
button.setAttribute('type', 'button');
|
||||||
button.title = tipLabel;
|
button.title = tipLabel;
|
||||||
button.appendChild(this.labelNode_);
|
button.appendChild(this.labelNode_);
|
||||||
@@ -179,10 +179,10 @@ class FullScreen extends Control {
|
|||||||
const button = this.element.firstElementChild;
|
const button = this.element.firstElementChild;
|
||||||
const map = this.getMap();
|
const map = this.getMap();
|
||||||
if (isFullScreen()) {
|
if (isFullScreen()) {
|
||||||
button.className = this.cssClassName_ + '-true';
|
this.setClassName_(button, true);
|
||||||
replaceNode(this.labelActiveNode_, this.labelNode_);
|
replaceNode(this.labelActiveNode_, this.labelNode_);
|
||||||
} else {
|
} else {
|
||||||
button.className = this.cssClassName_ + '-false';
|
this.setClassName_(button, false);
|
||||||
replaceNode(this.labelNode_, this.labelActiveNode_);
|
replaceNode(this.labelNode_, this.labelActiveNode_);
|
||||||
}
|
}
|
||||||
if (map) {
|
if (map) {
|
||||||
@@ -190,6 +190,20 @@ class FullScreen extends Control {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {HTMLElement} element Target element
|
||||||
|
* @param {boolean} fullscreen True if fullscreen class name should be active
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
setClassName_(element, fullscreen) {
|
||||||
|
const activeClassName = this.cssClassName_ + '-true';
|
||||||
|
const inactiveClassName = this.cssClassName_ + '-false';
|
||||||
|
const nextClassName = fullscreen ? activeClassName : inactiveClassName;
|
||||||
|
element.classList.remove(activeClassName);
|
||||||
|
element.classList.remove(inactiveClassName);
|
||||||
|
element.classList.add(nextClassName);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
* @api
|
* @api
|
||||||
|
|||||||
Reference in New Issue
Block a user