From 7a3ec205e001e4c071a67ecc5c375612fa72afdc Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 23 Mar 2021 16:31:07 +0100 Subject: avoid executing embedded scripts multiple times. click to hide --- frontend/app/views/tile/handles/tile.script.js | 58 +++++++++++++------------- 1 file changed, 30 insertions(+), 28 deletions(-) (limited to 'frontend/app/views/tile/handles/tile.script.js') diff --git a/frontend/app/views/tile/handles/tile.script.js b/frontend/app/views/tile/handles/tile.script.js index 47d83a1..e844adf 100644 --- a/frontend/app/views/tile/handles/tile.script.js +++ b/frontend/app/views/tile/handles/tile.script.js @@ -1,34 +1,36 @@ -import React from 'react' +import React, { Component } from 'react' import { generateTransform } from 'app/views/tile/tile.utils' -export default function TileScript({ tile, box, bounds, videoBounds, viewing, onMouseDown, onDoubleClick }) { - // console.log(tile) - const style = { - transform: generateTransform(tile, box, bounds, videoBounds), - opacity: tile.settings.opacity, - } - // console.log(generateTransform(tile)) - let content; - let className = ['tile', tile.type].join(' ') - if (tile.target_page_id || (viewing && tile.href)) { - className += ' ' + (tile.settings.cursor || 'hand_up') +export default class TileScript extends Component { + componentDidMount(){ + const { viewing, tile } = this.props + if (viewing) { + eval(tile.settings.content) + } } + render() { + if (viewing) { + return
+ } - content = "" - if (viewing) { - eval(tile.settings.content) - } else { - content = "SCRIPT" - } + const { tile, box, bounds, videoBounds, viewing, onMouseDown, onDoubleClick } = this.props + // console.log(tile) + const style = { + transform: generateTransform(tile, box, bounds, videoBounds), + opacity: tile.settings.opacity, + } + // console.log(generateTransform(tile)) + let className = ['tile', tile.type, 'hand_up'].join(' ') - return ( -
- {content} -
- ) + return ( +
+ {"SCRIPT"} +
+ ) + } } -- cgit v1.2.3-70-g09d2