mirror of https://github.com/vector-im/riot-web
				
				
				
			Add a "reload widget" button.
							parent
							
								
									1895f82d62
								
							
						
					
					
						commit
						6df3371c6c
					
				|  | @ -0,0 +1,12 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  --> | ||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||
| <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | ||||
| 	 width="612px" height="612px" viewBox="0 90 612 612" enable-background="new 0 90 612 612" xml:space="preserve"> | ||||
| <path stroke="#76CFA6"  fill="#76CFA6" stroke-width="40" stroke-miterlimit="10" d="M517.593,435.2c-9.204,0-17.093,7.053-17.811,16.257 | ||||
| 	c-8.247,99.33-91.8,176.786-193.401,176.786c-106.98,0-194.119-86.54-194.119-192.923c0-104.71,84.389-190.294,189.098-192.924 | ||||
| 	c2.75-0.12,4.901,2.032,4.901,4.781v60.124c0,15.061,16.614,24.146,29.404,16.137l114.989-80.444 | ||||
| 	c11.953-7.53,11.953-24.862,0-32.393l-114.869-79.369c-12.79-8.009-29.405,1.076-29.405,16.137v54.626 | ||||
| 	c0,2.629-2.032,4.781-4.661,4.781C176.929,209.286,76.522,310.649,76.522,435.32c0,126.225,102.917,228.424,229.858,228.424 | ||||
| 	c120.487,0,219.221-91.681,229.022-209.299C536.359,444.046,527.992,435.2,517.593,435.2L517.593,435.2z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.1 KiB | 
|  | @ -55,6 +55,7 @@ export default class AppTile extends React.Component { | |||
|         this._grantWidgetPermission = this._grantWidgetPermission.bind(this); | ||||
|         this._revokeWidgetPermission = this._revokeWidgetPermission.bind(this); | ||||
|         this._onPopoutWidgetClick = this._onPopoutWidgetClick.bind(this); | ||||
|         this._onReloadWidgetClick = this._onReloadWidgetClick.bind(this); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  | @ -519,6 +520,11 @@ export default class AppTile extends React.Component { | |||
|             { target: '_blank', href: this._getSafeUrl(), rel: 'noopener noreferrer'}).click(); | ||||
|     } | ||||
| 
 | ||||
|     _onReloadWidgetClick(e) { | ||||
|         // Reload iframe in this way to avoid cross-origin restrictions
 | ||||
|         this.refs.appFrame.src = this.refs.appFrame.src; | ||||
|     } | ||||
| 
 | ||||
|     render() { | ||||
|         let appTileBody; | ||||
| 
 | ||||
|  | @ -606,6 +612,7 @@ export default class AppTile extends React.Component { | |||
|         const showPictureSnapshotButton = this._hasCapability('m.capability.screenshot') && this.props.show; | ||||
|         const showPictureSnapshotIcon = 'img/camera_green.svg'; | ||||
|         const popoutWidgetIcon = 'img/button-new-window.svg'; | ||||
|         const reloadWidgetIcon = 'img/button-refresh.svg'; | ||||
|         const windowStateIcon = (this.props.show ? 'img/minimize.svg' : 'img/maximize.svg'); | ||||
| 
 | ||||
|         return ( | ||||
|  | @ -624,6 +631,16 @@ export default class AppTile extends React.Component { | |||
|                         { this.props.showTitle && this._getTileTitle() } | ||||
|                     </span> | ||||
|                     <span className="mx_AppTileMenuBarWidgets"> | ||||
|                         { /* Reload widget */ } | ||||
|                         { this.props.showReload && <TintableSvgButton | ||||
|                             src={reloadWidgetIcon} | ||||
|                             className="mx_AppTileMenuBarWidget mx_AppTileMenuBarWidgetPadding" | ||||
|                             title={_t('Reload widget')} | ||||
|                             onClick={this._onReloadWidgetClick} | ||||
|                             width="10" | ||||
|                             height="10" | ||||
|                         /> } | ||||
| 
 | ||||
|                         { /* Popout widget */ } | ||||
|                         { this.props.showPopout && <TintableSvgButton | ||||
|                             src={popoutWidgetIcon} | ||||
|  | @ -707,6 +724,11 @@ AppTile.propTypes = { | |||
|     showDelete: PropTypes.bool, | ||||
|     // Optionally hide the popout widget icon
 | ||||
|     showPopout: PropTypes.bool, | ||||
|     // Optionally show the reload widget icon
 | ||||
|     // This is not currently intended for use with production widgets. However
 | ||||
|     // it can be useful when developing persistent widgets in order to avoid
 | ||||
|     // having to reload all of riot to get new widget content.
 | ||||
|     showReload: PropTypes.bool, | ||||
|     // Widget capabilities to allow by default (without user confirmation)
 | ||||
|     // NOTE -- Use with caution. This is intended to aid better integration / UX
 | ||||
|     // basic widget capabilities, e.g. injecting sticker message events.
 | ||||
|  | @ -726,6 +748,7 @@ AppTile.defaultProps = { | |||
|     showMinimise: true, | ||||
|     showDelete: true, | ||||
|     showPopout: true, | ||||
|     showReload: false, | ||||
|     handleMinimisePointerEvents: false, | ||||
|     whitelistCapabilities: [], | ||||
|     userWidget: false, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Richard Lewis
						Richard Lewis