Popup close buttons can take a URL.
This commit is contained in:
+24
-3
@@ -18,7 +18,7 @@ export class InteractivePopup extends AbstractPopup {
|
||||
* @constructor
|
||||
* @param {object} [opts] - An options object to specify to style and behaviour of the popup.
|
||||
* @param {boolean} [opts.closeOnPopup=false] - Should the popup be closed when the user clicks on the popup?
|
||||
* @param {boolean} [opts.closeButton=true] - Should a close button be displayed on the upper right corner?
|
||||
* @param {boolean|string} [opts.closeButton=true] - Should a close button be displayed on the upper right corner? Alternatively, a URL to the image can be specified.
|
||||
* @param {object} [opts.button] - A Button object to be display on the lower right corner.
|
||||
* @param {object} [opts.buttonGroup] - A ButtonGroup object to be displayed on the lower right corner.
|
||||
*/
|
||||
@@ -73,7 +73,16 @@ export class InteractivePopup extends AbstractPopup {
|
||||
// closeButton
|
||||
//-----------------
|
||||
if (this.opts.closeButton) {
|
||||
let closeButton = PIXI.Sprite.from('../../assets/icons/close.png')
|
||||
let url = null
|
||||
if (typeof this.opts.closeButton === 'string' || this.opts.closeButton instanceof String) {
|
||||
url = InteractivePopup.iconIsUrl(this.opts.closeButton)
|
||||
? this.opts.closeButton
|
||||
: `../../assets/icons/${this.opts.closeButton}.png`
|
||||
} else {
|
||||
url = '../../assets/icons/close.png'
|
||||
}
|
||||
|
||||
let closeButton = PIXI.Sprite.from(url)
|
||||
closeButton.width = this.headerStyle.fontSize
|
||||
closeButton.height = closeButton.width
|
||||
closeButton.tint = this.theme.color2
|
||||
@@ -172,6 +181,18 @@ export class InteractivePopup extends AbstractPopup {
|
||||
|
||||
return size
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests if an icon string is an url.
|
||||
*
|
||||
* @private
|
||||
* @static
|
||||
* @param {string} url - The url to test.
|
||||
* @return {boolean} true if the url is an url to an image.
|
||||
*/
|
||||
static iconIsUrl(url) {
|
||||
return /\.(png|svg|gif|jpg|jpeg|tif|tiff)$/i.test(url)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -197,7 +218,7 @@ export default class Popup extends InteractivePopup {
|
||||
*
|
||||
* @constructor
|
||||
* @param {object} [opts] - An options object to specify to style and behaviour of the popup.
|
||||
* @param {boolean} [opts.closeButton=false] - Should a close button be displayed on the upper right corner?
|
||||
* @param {boolean|string} [opts.closeButton=false] - Should a close button be displayed on the upper right corner? Alternatively, a URL to the image can be specified.
|
||||
* @param {number} [opts.minWidth=0] - The minimum width of the popup.
|
||||
* @param {number} [opts.minHeight=0] - The minimum height of the popup.
|
||||
*/
|
||||
|
||||
@@ -315,7 +315,6 @@ export class DisplayObjectScatter extends AbstractScatter {
|
||||
if (y != null) this.y = y
|
||||
}
|
||||
|
||||
|
||||
getWorldScatter() {
|
||||
return this
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user