From 7397715e95d505250a88f376fcdd050ba0297934 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 29 May 2018 18:07:41 +0900 Subject: [PATCH 001/115] add StoredVarList and enable console to change. --- .../src/neo/components/TabBar/index.jsx | 4 ++-- .../src/neo/containers/Console/index.jsx | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/TabBar/index.jsx b/packages/selenium-ide/src/neo/components/TabBar/index.jsx index f7a5e6ab3..575c7811e 100644 --- a/packages/selenium-ide/src/neo/components/TabBar/index.jsx +++ b/packages/selenium-ide/src/neo/components/TabBar/index.jsx @@ -45,11 +45,11 @@ export default class TabBar extends React.Component { buttonsMargin: 5 }; handleClick(tab, index) { - if (tab !== this.state.selectedTab.tab) { + if (tab !== this.state.activeTab.tab) { this.setState({ activeTab: { tab, index } }); - if (this.props.tabChanged) this.props.tabChanged(tab); + if (this.props.tabChanged) this.props.tabChanged(tab, index); } } render() { diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index caed300cb..5369e68a4 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -19,6 +19,7 @@ import React from "react"; import PropTypes from "prop-types"; import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; +import StoredVarList from "../../components/StoredVarList" import ClearButton from "../../components/ActionButtons/Clear"; import LogStore from "../../stores/view/Logs"; import "./style.css"; @@ -26,20 +27,30 @@ import "./style.css"; export default class Console extends React.Component { constructor(props) { super(props); + this.state={ activeIndex: 0 }; this.store = new LogStore(); + this.handleTabChanged = this.handleTabChanged.bind(this); } componentWillUnmount() { this.store.dispose(); } + handleTabChanged(tab, index){ + this.setState({activeIndex: index}); + } render() { + const consoleBox =[ + + , + + ]; return (
- + - + {consoleBox[this.state.activeIndex]}
); } From 52f8bcb5d413850cd210283f26cde7eca2a95f0b Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 29 May 2018 18:08:36 +0900 Subject: [PATCH 002/115] add StoredVarList --- .../neo/components/StoredVarList/index.jsx | 20 +++++++++++++++++++ .../neo/components/StoredVarList/style.css | 10 ++++++++++ 2 files changed, 30 insertions(+) create mode 100644 packages/selenium-ide/src/neo/components/StoredVarList/index.jsx create mode 100644 packages/selenium-ide/src/neo/components/StoredVarList/style.css diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx new file mode 100644 index 000000000..8462c8fb0 --- /dev/null +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -0,0 +1,20 @@ +import React from "react"; +import PropTypes from "prop-types"; +import { observer } from "mobx-react"; +import "./style.css"; + +@observer +export default class StoredVarList extends React.Component { + render() { + return ( +
+
    + storedVars +
+
+ ); + } + static propTypes = { + store: PropTypes.object + }; +} \ No newline at end of file diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css new file mode 100644 index 000000000..604ec2266 --- /dev/null +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -0,0 +1,10 @@ +.storedVars { + color: #5B5B5B; + overflow-y: auto; + width: 100%; + font-size: 12px; +} + +.storedVars ul { + margin: 5px 8px; +} From 5fcca395d6893d08008da992050da06bdf045b5f Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 29 May 2018 19:06:17 +0900 Subject: [PATCH 003/115] add StoredVar row proto type --- .../src/neo/IO/SideeX/formatCommand.js | 7 ++++ .../src/neo/components/StoredVar/index.jsx | 36 +++++++++++++++++++ .../src/neo/components/StoredVar/style.css | 0 .../neo/components/StoredVarList/index.jsx | 26 ++++++++++++-- 4 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 packages/selenium-ide/src/neo/components/StoredVar/index.jsx create mode 100644 packages/selenium-ide/src/neo/components/StoredVar/style.css diff --git a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js index a6969850c..c54d4b46e 100644 --- a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js +++ b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js @@ -70,5 +70,12 @@ function handleFormatCommand(message) { } } +export function getStoredVars(){ + return declaredVars; +} + +export function setStoredVar(){ + +} browser.runtime.onMessage.addListener(handleFormatCommand); diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx new file mode 100644 index 000000000..436046b06 --- /dev/null +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -0,0 +1,36 @@ +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import React from "react"; +import PropTypes from "prop-types"; +import classNames from "classnames"; +import { observer } from "mobx-react"; +import "./style.css"; + +@observer +export default class StoredVar extends React.Component { + render() { + return ( +
  • + {this.props.index} : {this.props.keyVar} : {this.props.value} +
  • + ); + } + static propTypes = { + store: PropTypes.object + }; +} diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css new file mode 100644 index 000000000..e69de29bb diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 8462c8fb0..bd8bf528c 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -1,15 +1,37 @@ +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + import React from "react"; import PropTypes from "prop-types"; import { observer } from "mobx-react"; +import { getStoredVars, setStoredVar } from "../../IO/SideeX/formatCommand"; +import StoredVar from "../StoredVar"; import "./style.css"; @observer export default class StoredVarList extends React.Component { render() { + const storedVars = getStoredVars(); return (
      - storedVars + {Object.keys(storedVars).map((storedKey, index) => ( + + ))}
    ); @@ -17,4 +39,4 @@ export default class StoredVarList extends React.Component { static propTypes = { store: PropTypes.object }; -} \ No newline at end of file +} From 07329b0350270c20204f066a9e7814336ea6563a Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 11:03:39 +0900 Subject: [PATCH 004/115] make storedVar table --- .../src/neo/components/StoredVar/index.jsx | 8 ++-- .../src/neo/components/StoredVar/style.css | 4 ++ .../neo/components/StoredVarList/index.jsx | 20 +++++--- .../neo/components/StoredVarList/style.css | 48 +++++++++++++++++-- 4 files changed, 66 insertions(+), 14 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 436046b06..91568d7db 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -25,9 +25,11 @@ import "./style.css"; export default class StoredVar extends React.Component { render() { return ( -
  • - {this.props.index} : {this.props.keyVar} : {this.props.value} -
  • +
    +
    {this.props.index}.
    +
    {this.props.keyVar} : {this.props.value}
    +
    +
    ); } static propTypes = { diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index e69de29bb..ab04c5370 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -0,0 +1,4 @@ +.row { + font-size: 12px; + text-align: center; +} diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index bd8bf528c..0cdd01312 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -27,12 +27,20 @@ export default class StoredVarList extends React.Component { render() { const storedVars = getStoredVars(); return ( -
    -
      - {Object.keys(storedVars).map((storedKey, index) => ( - - ))} -
    +
    +
    +
    +
    No.
    +
    values
    +
    +
    + +
    + {Object.keys(storedVars).map((storedKey, index) => ( + + ))} +
    +
    ); } diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index 604ec2266..b3d62e802 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -1,10 +1,48 @@ -.storedVars { +.valHeader { + display: table-header-group; + background: #FFFFFF; + border-bottom: 2px solid #5B5B5B; + font-size: 13px; color: #5B5B5B; - overflow-y: auto; + text-align: center; +} + +.storedVars .index { + width : 20px; +} + +.valList { + display: table-row-group; +} + +.valList .valEdit { + text-align: right; + width: 40px; +} + +.valList .row:nth-child(even) { + background: #f2efef; +} + +.storedVars .row { + display: table-row; +} + +.valList .cell, .valHeader .head { + display: table-cell; + padding: 3px 2px; +} + +.storedVars { + display: table; + border: 2px solid #FFFCFE; width: 100%; - font-size: 12px; + text-align: left; + border-collapse: collapse; + overflow-y: auto; } -.storedVars ul { - margin: 5px 8px; +.storeContainer { + padding: 0 10px; + max-width: 655px; } From 360e63e52a99a6dca13b39baa988006b0182e33b Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 13:30:03 +0900 Subject: [PATCH 005/115] change the edit button to ActionButton --- .../src/neo/components/StoredVar/index.jsx | 12 +++++++++++- .../src/neo/components/StoredVar/style.css | 4 ++++ .../src/neo/components/StoredVarList/style.css | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 91568d7db..a1f5249e2 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -19,16 +19,26 @@ import React from "react"; import PropTypes from "prop-types"; import classNames from "classnames"; import { observer } from "mobx-react"; +import EditButton from "../ActionButtons/Edit"; import "./style.css"; @observer export default class StoredVar extends React.Component { + constructor(props){ + super(props); + this.edit = this.edit.bind(this); + } + edit(){ + console.log("edit"); + } render() { return (
    {this.props.index}.
    {this.props.keyVar} : {this.props.value}
    -
    +
    + +
    ); } diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index ab04c5370..87103174f 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -2,3 +2,7 @@ font-size: 12px; text-align: center; } + +.editBtn{ + font-size: 14px; +} \ No newline at end of file diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index b3d62e802..1e3394dae 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -39,10 +39,10 @@ width: 100%; text-align: left; border-collapse: collapse; - overflow-y: auto; } .storeContainer { padding: 0 10px; max-width: 655px; + overflow-y: auto; } From 20d66a5d534140766377213bec340d76f0bec7d7 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 13:36:30 +0900 Subject: [PATCH 006/115] add Edit Button --- .../components/ActionButtons/Edit/index.jsx | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 packages/selenium-ide/src/neo/components/ActionButtons/Edit/index.jsx diff --git a/packages/selenium-ide/src/neo/components/ActionButtons/Edit/index.jsx b/packages/selenium-ide/src/neo/components/ActionButtons/Edit/index.jsx new file mode 100644 index 000000000..16a5d8844 --- /dev/null +++ b/packages/selenium-ide/src/neo/components/ActionButtons/Edit/index.jsx @@ -0,0 +1,28 @@ +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import React from "react"; +import ActionButton from "../ActionButton"; +import classNames from "classnames"; + +export default class EditButton extends React.Component { + render() { + return ( + // eslint-disable-line react/prop-types + ); + } +} From 22bf8cb6f3ddfa61d5b639d512a142dc61fc1b98 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 13:37:01 +0900 Subject: [PATCH 007/115] add propTypes --- packages/selenium-ide/src/neo/components/StoredVar/index.jsx | 5 ++++- .../selenium-ide/src/neo/components/StoredVarList/index.jsx | 1 - packages/selenium-ide/src/neo/containers/Console/index.jsx | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index a1f5249e2..738aa0048 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -43,6 +43,9 @@ export default class StoredVar extends React.Component { ); } static propTypes = { - store: PropTypes.object + isEditing: PropTypes.bool, + index: PropTypes.number, + keyVar: PropTypes.string, + value: PropTypes.string }; } diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 0cdd01312..868ec4909 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -45,6 +45,5 @@ export default class StoredVarList extends React.Component { ); } static propTypes = { - store: PropTypes.object }; } diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 5369e68a4..e1ca3a1da 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -19,7 +19,7 @@ import React from "react"; import PropTypes from "prop-types"; import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; -import StoredVarList from "../../components/StoredVarList" +import StoredVarList from "../../components/StoredVarList"; import ClearButton from "../../components/ActionButtons/Clear"; import LogStore from "../../stores/view/Logs"; import "./style.css"; From 7d5018cc2aaeeba9e468d3af8fe280cb5f5fbad1 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 15:27:13 +0900 Subject: [PATCH 008/115] add array key at consoleBox --- .../src/neo/containers/Console/index.jsx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index e1ca3a1da..efda61918 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -35,22 +35,21 @@ export default class Console extends React.Component { this.store.dispose(); } handleTabChanged(tab, index){ - this.setState({activeIndex: index}); + this.setState({activeTab: tab}); } render() { - const consoleBox =[ - - , - - ]; + const consoleBox ={ + "Log" :, + "Stored-Vars" : + }; return (
    - + - {consoleBox[this.state.activeIndex]} + {consoleBox[this.state.activeTab]}
    ); } From ddbe71ee0e847dd35cd9daf4414cd0ff366a9836 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 15:29:08 +0900 Subject: [PATCH 009/115] seperated the children column under the values --- .../src/neo/components/StoredVar/index.jsx | 16 ++++++---- .../src/neo/components/StoredVar/style.css | 32 +++++++++++++++++-- .../neo/components/StoredVarList/style.css | 11 +++---- 3 files changed, 43 insertions(+), 16 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 738aa0048..be888afdf 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -33,14 +33,16 @@ export default class StoredVar extends React.Component { } render() { return ( -
    -
    {this.props.index}.
    -
    {this.props.keyVar} : {this.props.value}
    -
    - -
    +
    +
    {this.props.index}.
    +
    {this.props.keyVar}
    +
    :
    +
    {this.props.value}
    +
    +
    - ); +
    + ); } static propTypes = { isEditing: PropTypes.bool, diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index 87103174f..9e90ef26b 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -1,8 +1,36 @@ .row { font-size: 12px; text-align: center; + display: table-row; } -.editBtn{ +.row .cell { + word-break: break-all; + display: table-cell; + padding: 3px 2px; +} + +.row .storedKey { + float: left; + padding: 0; + width: 48%; + text-align: right; +} + +.row .col { + float: left; + padding: 0; + width: 4%; + text-align: center; +} + +.row .storedVar { + float: left; + padding: 0; + width: 48%; + text-align: left; +} + +.editBtn { font-size: 14px; -} \ No newline at end of file +} diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index 1e3394dae..f7366b99a 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -2,7 +2,7 @@ display: table-header-group; background: #FFFFFF; border-bottom: 2px solid #5B5B5B; - font-size: 13px; + font-size: 14px; color: #5B5B5B; text-align: center; } @@ -24,11 +24,7 @@ background: #f2efef; } -.storedVars .row { - display: table-row; -} - -.valList .cell, .valHeader .head { +.valHeader .head { display: table-cell; padding: 3px 2px; } @@ -39,10 +35,11 @@ width: 100%; text-align: left; border-collapse: collapse; + max-width: 655px; } .storeContainer { padding: 0 10px; - max-width: 655px; overflow-y: auto; + overflow-x: hidden; } From cfa2a6571b8cb32635ca882a77a8f7922c13080e Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 16:53:03 +0900 Subject: [PATCH 010/115] make 'setStoredVar' enable --- .../selenium-ide/src/neo/IO/SideeX/formatCommand.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js index c54d4b46e..f57d720c0 100644 --- a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js +++ b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js @@ -74,8 +74,15 @@ export function getStoredVars(){ return declaredVars; } -export function setStoredVar(){ - +export function setStoredVar(key, value){ + let retVal = false; + try { + declaredVars[key] = value; + retVal = true; + } catch(e) { + console.log(e); + } + return retVal; } -browser.runtime.onMessage.addListener(handleFormatCommand); +browser.runtime.onMessage.addListener(handleFormatCommand); From 1bf9642ec575f345a66480e11aa18243bf548052 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 31 May 2018 18:08:11 +0900 Subject: [PATCH 011/115] modify edit process --- .../src/neo/components/StoredVar/index.jsx | 20 +++++++++++++------ .../src/neo/components/StoredVar/style.css | 18 ++++++++++++++++- .../neo/components/StoredVarList/index.jsx | 14 ++++++++++++- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index be888afdf..de2ad7392 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -19,6 +19,7 @@ import React from "react"; import PropTypes from "prop-types"; import classNames from "classnames"; import { observer } from "mobx-react"; +import ContentEditable from "react-contenteditable"; import EditButton from "../ActionButtons/Edit"; import "./style.css"; @@ -26,10 +27,14 @@ import "./style.css"; export default class StoredVar extends React.Component { constructor(props){ super(props); - this.edit = this.edit.bind(this); + this.handleKeyDown = this.handleKeyDown.bind(this); + this.handleChange = this.handleChange.bind(this); } - edit(){ - console.log("edit"); + handleKeyDown(e) { + if (e.key === "Enter") e.preventDefault(); + } + handleChange(e) { + this.props.edit(this.props.keyVar, e.target.value); } render() { return ( @@ -37,9 +42,11 @@ export default class StoredVar extends React.Component {
    {this.props.index}.
    {this.props.keyVar}
    :
    -
    {this.props.value}
    +
    + +
    - +
    ); @@ -48,6 +55,7 @@ export default class StoredVar extends React.Component { isEditing: PropTypes.bool, index: PropTypes.number, keyVar: PropTypes.string, - value: PropTypes.string + value: PropTypes.string, + edit: PropTypes.func }; } diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index 9e90ef26b..6dbddf5b0 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -7,7 +7,8 @@ .row .cell { word-break: break-all; display: table-cell; - padding: 3px 2px; + padding: 2px 1px; + } .row .storedKey { @@ -29,6 +30,21 @@ padding: 0; width: 48%; text-align: left; + box-shadow: 0 0 0 1px transparent inset; +} + +.row .storedVar .value { + border-radius: 4px; +} + +.row .storedVar .value:hover { + box-shadow: 0 0 0 1px #CECECE inset; +} + +.row .storedVar .value:focus { + box-shadow: 0 0 0 1px #A8A8A8 inset; + cursor: initial; + outline: 0; } .editBtn { diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 868ec4909..9005b16e7 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -24,6 +24,13 @@ import "./style.css"; @observer export default class StoredVarList extends React.Component { + constructor(props){ + super(props); + this.editStoredVar = this.editStoredVar.bind(this); + } + editStoredVar(key, value){ + setStoredVar(key, value); + } render() { const storedVars = getStoredVars(); return ( @@ -37,7 +44,12 @@ export default class StoredVarList extends React.Component {
    {Object.keys(storedVars).map((storedKey, index) => ( - + ))}
    From bcd0fac8b79b276908f52fbcbd286a65485f2456 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 10:02:37 +0900 Subject: [PATCH 012/115] remove index parameter and set default consle.tab --- packages/selenium-ide/src/neo/containers/Console/index.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index f844dde3a..9a338dccc 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -27,7 +27,7 @@ import "./style.css"; export default class Console extends React.Component { constructor(props) { super(props); - this.state={ activeIndex: 0 }; + this.state = { activeTab : "Log" }; this.store = new LogStore(); this.handleTabChanged = this.handleTabChanged.bind(this); this.tabClicked = this.tabClicked.bind(this); @@ -35,7 +35,7 @@ export default class Console extends React.Component { componentWillUnmount() { this.store.dispose(); } - handleTabChanged(tab, index){ + handleTabChanged(tab){ this.setState({activeTab: tab}); } tabClicked(tab){ From b8c91527ab596a6ac5b979b98448332161f4476d Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 10:09:43 +0900 Subject: [PATCH 013/115] change the button name from 'Edit' to 'Delete' --- .../neo/components/ActionButtons/{Edit => Delete}/index.jsx | 4 ++-- packages/selenium-ide/src/neo/components/StoredVar/index.jsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename packages/selenium-ide/src/neo/components/ActionButtons/{Edit => Delete}/index.jsx (81%) diff --git a/packages/selenium-ide/src/neo/components/ActionButtons/Edit/index.jsx b/packages/selenium-ide/src/neo/components/ActionButtons/Delete/index.jsx similarity index 81% rename from packages/selenium-ide/src/neo/components/ActionButtons/Edit/index.jsx rename to packages/selenium-ide/src/neo/components/ActionButtons/Delete/index.jsx index 16a5d8844..51f244e33 100644 --- a/packages/selenium-ide/src/neo/components/ActionButtons/Edit/index.jsx +++ b/packages/selenium-ide/src/neo/components/ActionButtons/Delete/index.jsx @@ -19,10 +19,10 @@ import React from "react"; import ActionButton from "../ActionButton"; import classNames from "classnames"; -export default class EditButton extends React.Component { +export default class DeleteButton extends React.Component { render() { return ( - // eslint-disable-line react/prop-types + // eslint-disable-line react/prop-types ); } } diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index de2ad7392..e305cecab 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -20,7 +20,7 @@ import PropTypes from "prop-types"; import classNames from "classnames"; import { observer } from "mobx-react"; import ContentEditable from "react-contenteditable"; -import EditButton from "../ActionButtons/Edit"; +import DeleteButton from "../ActionButtons/Delete"; import "./style.css"; @observer @@ -46,7 +46,7 @@ export default class StoredVar extends React.Component {
    - +
    ); From c49ddb116660dc5cde953a58c65c39ee99459254 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 10:57:20 +0900 Subject: [PATCH 014/115] add delete icon --- .../src/neo/assets/fonts/selenium-ide.svg | 1 + .../src/neo/assets/fonts/selenium-ide.ttf | Bin 5228 -> 5968 bytes packages/selenium-ide/src/neo/styles/font.css | 3 +++ 3 files changed, 4 insertions(+) diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg index f199e369b..68c11c6e8 100644 --- a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg +++ b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg @@ -32,4 +32,5 @@ + \ No newline at end of file diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf index 1abdc50d5e75ffd8accad18661eb81705b391ce7..74f70483ce1f37c8317a05cf4494b8dd67178f59 100644 GIT binary patch delta 1273 zcmbtT-)kdP6#mZ4G&7SXsq-U~HdA9_(^RY*w`nqgwQgC3t>DAr7WTyz8@6McB}q$v zKzAR^BCfw5Tt{DA@gG=0aDAu`3n~cP7tw+uzPKQ|6ht3X5O%Zi-027v^~r>D&v(A_ z-E;2DJ@eCjUzEEb0C8M^jQolD2P;F?=q@wwu`QfwH&*e|C$j)0*v>As&OP(an~%2u zX$vrxm;J_~adG=NVBKK7CkXB4fCAXV92b|{8(W=a>omtR9B;K&&NMu)a)jd#IX>EM zY)!4Agcq6kjfs4x(e`(L{45QmZEpDK>dN{?@@DcY!1+cLfFfVH^zl)t-+O~5pJE1! zd~Wdsqfqb|`xG=th%uMnv-d{!^8H@FFN7Rp&xvB{f1gn@veS!phl0Nrig9Zxc*1u1 zK_CkdEZB+vX=?Bm-GB88jjN#Dfizb=0+Z^M9xM{xoRSi|$ccxj?kGpcoO zx{`4+Mof)aIm)Ejt44~{0;ea8GCfRHuRdM#>b&OYZkk9xM78QfX_D?$V`LNzhj$k^ zZB^=Cty&r@FrT(F&a@>ObpO^N6BcE$=$STbH74yQb^aw&nogu^@4I6}hUwCrcW16v zERtI+y4M7AEjxaD{;aO2o=xf+o$Kv{vX5NDEN}%g*?W1v(7XGNSFWeO-W6)nxPfSM zTp&6h;?$iNI4Au|WA1F$GN`xX%@GyHJgH8_>?|K-)-??h>3lvPR=xe5RPXI@OCr;d zF2%J}(hScY@4fPm%3)Wk9BjrHEvASqc?7qf9-8?bgW~pqub=$m+tB}T{+Hl_QKww6 zZEPs=&$t{sV9wZ@m}Idxhl@~!5@L3&;8io*O@tX9A|zl%SYdomgaEx%%hY!%fEo*dU9X?uY9W=3tHV(000-G7kU84nJ`0`u-PrOuXkDzhmOROcKeY&;Z3qC5?27(;y`% bNhunlyT~AuEV3z04rOSVMkq@z-%a*UIPdD< delta 679 zcmZ8eKWGzC82`Q8C8lXGH5^G>(r{u1!6r>=X;FiJKm|b&EA3*zp1CuLBzNI*fz+kd z$w85F-PMAth;?vq(Lr!?au5f>K@LRhAULS;ch{Tp;Jxqn=lkya-n$Q_?}yhR0E}V- z63Uma&djFLu{kQQxmRm#t>Z0up8$~~U#V-|4&xYkpD|u6qvO5|JQg+|-y-@2WCL;i}~X<4;1TJi4eaUeZSq1x8^9TZR_Z;-2| z);4VY)Cux?Z1T2absY}MrCjuVNYd`+^OF&8V)N&bCEv)=_HUGfjMI!s#1SDDP(8() z82lX!sIt_9mkF2{e9g*PDXa_3;1CeZO}URF*`0@xWBY{Ic|USLe#rki_oK7=o$IOU zFO14T`p0X(`A&czU0GQWQ*Kpp+?Pr<5ezg14Keqha&-Mcz`=$|oC~o`ydB~we@7w2 zG3w0_CoqY3{+RLzm2o?M~p@Www^Le08lS!T)I&MXMYeIoMz0sDlG`~Uy| diff --git a/packages/selenium-ide/src/neo/styles/font.css b/packages/selenium-ide/src/neo/styles/font.css index 751969ac3..88564117f 100644 --- a/packages/selenium-ide/src/neo/styles/font.css +++ b/packages/selenium-ide/src/neo/styles/font.css @@ -97,3 +97,6 @@ .si-stop:before { content: "\e90f"; } +.si-delete:before { + content: "\e920"; +} From 592edd7ef32000aabee4f60e5bada5f9a2164be3 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 10:58:22 +0900 Subject: [PATCH 015/115] apply delete button --- .../src/neo/components/ActionButtons/Delete/index.jsx | 2 +- .../selenium-ide/src/neo/components/StoredVar/index.jsx | 2 +- .../selenium-ide/src/neo/components/StoredVar/style.css | 7 ++++++- .../src/neo/components/StoredVarList/style.css | 5 ----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/ActionButtons/Delete/index.jsx b/packages/selenium-ide/src/neo/components/ActionButtons/Delete/index.jsx index 51f244e33..f12ac680c 100644 --- a/packages/selenium-ide/src/neo/components/ActionButtons/Delete/index.jsx +++ b/packages/selenium-ide/src/neo/components/ActionButtons/Delete/index.jsx @@ -22,7 +22,7 @@ import classNames from "classnames"; export default class DeleteButton extends React.Component { render() { return ( - // eslint-disable-line react/prop-types + // eslint-disable-line react/prop-types ); } } diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index e305cecab..0cbdda101 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -45,7 +45,7 @@ export default class StoredVar extends React.Component {
    -
    +
    diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index 6dbddf5b0..8b03bd7ce 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -47,6 +47,11 @@ outline: 0; } -.editBtn { +.row .valDel { + text-align: right; + width: 40px; +} + +.deleteBtn { font-size: 14px; } diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index f7366b99a..a1626c5c7 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -15,11 +15,6 @@ display: table-row-group; } -.valList .valEdit { - text-align: right; - width: 40px; -} - .valList .row:nth-child(even) { background: #f2efef; } From 5361e9020702d7cc16c557c582ec11813ae00c3f Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 13:20:16 +0900 Subject: [PATCH 016/115] make deleteBtn show only when hover the row --- packages/selenium-ide/src/neo/components/StoredVar/style.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index 8b03bd7ce..49c928472 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -41,6 +41,10 @@ box-shadow: 0 0 0 1px #CECECE inset; } +.row:hover .deleteBtn { + opacity: 1; +} + .row .storedVar .value:focus { box-shadow: 0 0 0 1px #A8A8A8 inset; cursor: initial; @@ -54,4 +58,5 @@ .deleteBtn { font-size: 14px; + opacity: 0; } From 97091ded0683084b1bd9f511268661df1c286e33 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 13:25:17 +0900 Subject: [PATCH 017/115] add padding at the console bottom --- .../selenium-ide/src/neo/components/StoredVarList/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index a1626c5c7..e97550c7a 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -34,7 +34,7 @@ } .storeContainer { - padding: 0 10px; + padding: 0 10px 20px; overflow-y: auto; overflow-x: hidden; } From a2ac3bb33c6ee4c974ce733cf71bbcd4a4aabb5d Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 13:26:57 +0900 Subject: [PATCH 018/115] delete classnames at row --- packages/selenium-ide/src/neo/components/StoredVar/index.jsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 0cbdda101..3d9d82bb3 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -17,7 +17,6 @@ import React from "react"; import PropTypes from "prop-types"; -import classNames from "classnames"; import { observer } from "mobx-react"; import ContentEditable from "react-contenteditable"; import DeleteButton from "../ActionButtons/Delete"; @@ -38,7 +37,7 @@ export default class StoredVar extends React.Component { } render() { return ( -
    +
    {this.props.index}.
    {this.props.keyVar}
    :
    From f8bd438d5d848ae66b7ac7edf351192e510242c9 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 14:05:37 +0900 Subject: [PATCH 019/115] add refesh Button --- .../src/neo/assets/fonts/selenium-ide.svg | 1 + .../src/neo/assets/fonts/selenium-ide.ttf | Bin 5968 -> 6168 bytes .../ActionButtons/Refresh/index.jsx | 28 ++++++++++++++++++ packages/selenium-ide/src/neo/styles/font.css | 3 ++ 4 files changed, 32 insertions(+) create mode 100644 packages/selenium-ide/src/neo/components/ActionButtons/Refresh/index.jsx diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg index 68c11c6e8..12f2bc726 100644 --- a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg +++ b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg @@ -33,4 +33,5 @@ + \ No newline at end of file diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf index 74f70483ce1f37c8317a05cf4494b8dd67178f59..946c947e8bc25d920ad8edf6a04a8b172af9bcaa 100644 GIT binary patch delta 467 zcmcbhH^ZQwfsuiMfs3Jmftf+UKUm+0Us&b}P-G1dCnV=47BF-ibYNg$OS%3Wd7=Uv++B$1d{SL@;?%*e*h&6C8z$@nv9j!h;Db8=R9cU}fF zOHvXKI|m0l&tgt?HfA%RMlNnHE>;Z-173+kK#i_K;z>z$+?*UtOl)l6kOzi-^<@K> zcz&C&4BRY0KQb^}i~ey7Og~+zGnqxioKb$VjYtIx^ACoZledW2ad3)&b;@u4CGwY% TS)M_D@-HzPCPtab3mIhqte0sG delta 266 zcmbPXa6zx0fsuiMfs3Jmftf+UKUm+0Us&c6P-G1dCnV=47BF-iv}a&oDfP5Pu zzal3;Inm6_$O_2c0_5A}CRP|0FsL!K0|mYS1r+iUb5k!pJ1WY+ASwd1@K8a1aS88p z-m44@VmCkrFt9MMp17f(QDL(K<6QQDAGg5t)2jEA qkBFEv%1!// eslint-disable-line react/prop-types + ); + } +} diff --git a/packages/selenium-ide/src/neo/styles/font.css b/packages/selenium-ide/src/neo/styles/font.css index 88564117f..df65293e4 100644 --- a/packages/selenium-ide/src/neo/styles/font.css +++ b/packages/selenium-ide/src/neo/styles/font.css @@ -100,3 +100,6 @@ .si-delete:before { content: "\e920"; } +.si-refresh:before { + content: "\e921"; +} From 01ae49f0945ec150693122ad7f0c83c1bcaabcbb Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 15:37:03 +0900 Subject: [PATCH 020/115] apply Refresh Button --- .../src/neo/containers/Console/index.jsx | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 9a338dccc..1d0f46fe5 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -21,16 +21,18 @@ import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; import StoredVarList from "../../components/StoredVarList"; import ClearButton from "../../components/ActionButtons/Clear"; +import RefreshButton from "../../components/ActionButtons/Refresh"; import LogStore from "../../stores/view/Logs"; import "./style.css"; export default class Console extends React.Component { constructor(props) { super(props); - this.state = { activeTab : "Log" }; + this.state = { activeTab : "Log", refresh: 0 }; this.store = new LogStore(); this.handleTabChanged = this.handleTabChanged.bind(this); this.tabClicked = this.tabClicked.bind(this); + this.refresh = this.refresh.bind(this); } componentWillUnmount() { this.store.dispose(); @@ -41,17 +43,26 @@ export default class Console extends React.Component { tabClicked(tab){ this.props.restoreSize(); } + refresh(){ + this.setState({refresh: !this.state.refresh}); + } render() { - const consoleBox ={ - "Log" :, - "Stored-Vars" : + const buttonsBox = { + "Log" : , + "Stored-Vars" : + }; + + const consoleBox = { + "Log" : , + "Stored-Vars" : }; + return (
    - + {buttonsBox[this.state.activeTab]} {consoleBox[this.state.activeTab]}
    From 99793d2b8dd287141325904d617dc2e6e925ff58 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 15:41:29 +0900 Subject: [PATCH 021/115] remove observer --- packages/selenium-ide/src/neo/components/StoredVar/index.jsx | 2 -- .../selenium-ide/src/neo/components/StoredVarList/index.jsx | 2 -- 2 files changed, 4 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 3d9d82bb3..5bd314c78 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -17,12 +17,10 @@ import React from "react"; import PropTypes from "prop-types"; -import { observer } from "mobx-react"; import ContentEditable from "react-contenteditable"; import DeleteButton from "../ActionButtons/Delete"; import "./style.css"; -@observer export default class StoredVar extends React.Component { constructor(props){ super(props); diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 9005b16e7..f78615be8 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -17,12 +17,10 @@ import React from "react"; import PropTypes from "prop-types"; -import { observer } from "mobx-react"; import { getStoredVars, setStoredVar } from "../../IO/SideeX/formatCommand"; import StoredVar from "../StoredVar"; import "./style.css"; -@observer export default class StoredVarList extends React.Component { constructor(props){ super(props); From 2f1ffb870787380302733c463bc17d0de5a6b213 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 1 Jun 2018 16:31:15 +0900 Subject: [PATCH 022/115] add delete storedVar function --- .../selenium-ide/src/neo/IO/SideeX/formatCommand.js | 4 ++++ .../src/neo/components/StoredVar/index.jsx | 5 ++++- .../src/neo/components/StoredVarList/index.jsx | 10 ++++++++-- .../selenium-ide/src/neo/containers/Console/index.jsx | 2 +- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js index f57d720c0..82d0fb45e 100644 --- a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js +++ b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js @@ -85,4 +85,8 @@ export function setStoredVar(key, value){ return retVal; } +export function deleteStoredVar(key){ + delete declaredVars[key]; +} + browser.runtime.onMessage.addListener(handleFormatCommand); diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 5bd314c78..57d644966 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -33,6 +33,9 @@ export default class StoredVar extends React.Component { handleChange(e) { this.props.edit(this.props.keyVar, e.target.value); } + delete(){ + this.props.delete(this.props.keyVar); + } render() { return (
    @@ -43,7 +46,7 @@ export default class StoredVar extends React.Component {
    - +
    ); diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index f78615be8..4ef0046c0 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -17,7 +17,7 @@ import React from "react"; import PropTypes from "prop-types"; -import { getStoredVars, setStoredVar } from "../../IO/SideeX/formatCommand"; +import { getStoredVars, setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; import StoredVar from "../StoredVar"; import "./style.css"; @@ -25,10 +25,15 @@ export default class StoredVarList extends React.Component { constructor(props){ super(props); this.editStoredVar = this.editStoredVar.bind(this); + this.deleteStoredVar = this.deleteStoredVar.bind(this); } editStoredVar(key, value){ setStoredVar(key, value); } + deleteStoredVar(key){ + deleteStoredVar(key); + this.props.refresh(); + } render() { const storedVars = getStoredVars(); return ( @@ -47,7 +52,8 @@ export default class StoredVarList extends React.Component { index={index+1} keyVar={storedKey} value={storedVars[storedKey]} - edit={this.editStoredVar}/> + edit={this.editStoredVar} + delete={this.deleteStoredVar}/> ))}
    diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 1d0f46fe5..507e2e732 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -54,7 +54,7 @@ export default class Console extends React.Component { const consoleBox = { "Log" : , - "Stored-Vars" : + "Stored-Vars" : }; return ( From 5b025886a2d0eed783cf554073b47da4c7ca1da3 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 4 Jun 2018 17:35:53 +0900 Subject: [PATCH 023/115] add storedVar add function and UI --- .../src/neo/components/StoredVar/index.jsx | 36 ++++++++++++++++--- .../src/neo/components/StoredVar/style.css | 9 +++++ .../neo/components/StoredVarList/index.jsx | 29 +++++++++++++-- .../neo/components/StoredVarList/style.css | 3 ++ 4 files changed, 71 insertions(+), 6 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 57d644966..4f335f98b 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -19,6 +19,7 @@ import React from "react"; import PropTypes from "prop-types"; import ContentEditable from "react-contenteditable"; import DeleteButton from "../ActionButtons/Delete"; +import AddButton from "../../components/ActionButtons/Add"; import "./style.css"; export default class StoredVar extends React.Component { @@ -26,9 +27,17 @@ export default class StoredVar extends React.Component { super(props); this.handleKeyDown = this.handleKeyDown.bind(this); this.handleChange = this.handleChange.bind(this); + this.keyChanged = this.keyChanged.bind(this); + this.valueChanged = this.valueChanged.bind(this); + this.saveValue = { key:"", value:"" }; } handleKeyDown(e) { - if (e.key === "Enter") e.preventDefault(); + if (e.key === "Enter") { + e.preventDefault(); + if(this.saveValue.key && this.saveValue.value){ + this.props.add(this.saveValue.key, this.saveValue.value); + } + } } handleChange(e) { this.props.edit(this.props.keyVar, e.target.value); @@ -36,14 +45,21 @@ export default class StoredVar extends React.Component { delete(){ this.props.delete(this.props.keyVar); } + keyChanged(e) { + this.saveValue.key = e.target.value; + } + valueChanged(e) { + this.saveValue.value = e.target.value; + } render() { return (
    -
    {this.props.index}.
    -
    {this.props.keyVar}
    +
    {this.props.index} {this.props.add ? "" : "."}
    +
    {this.props.add ? : this.props.keyVar}
    :
    - + {this.props.add ? : + }
    @@ -59,3 +75,15 @@ export default class StoredVar extends React.Component { edit: PropTypes.func }; } + +export class StoredVarAddBtn extends React.Component { + render() { + return ( +
    +
    +
    +
    +
    + ); + } +} diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index 49c928472..4c4bc0cc5 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -60,3 +60,12 @@ font-size: 14px; opacity: 0; } + +.row .add { + text-align: center; +} + +.row .adding{ + padding: 0; + line-height: 14px; +} diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 4ef0046c0..17d15a109 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -17,23 +17,38 @@ import React from "react"; import PropTypes from "prop-types"; +import StoredVar, { StoredVarAddBtn } from "../StoredVar"; import { getStoredVars, setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; -import StoredVar from "../StoredVar"; import "./style.css"; export default class StoredVarList extends React.Component { constructor(props){ super(props); + this.state = { add:false }; this.editStoredVar = this.editStoredVar.bind(this); this.deleteStoredVar = this.deleteStoredVar.bind(this); + this.addStoredVar = this.addStoredVar.bind(this); + this.refresh = this.refresh.bind(this); } editStoredVar(key, value){ setStoredVar(key, value); + this.setState({ add : false }); } deleteStoredVar(key){ deleteStoredVar(key); + this.setState({ add : false }); + } + addStoredVar(key, value){ + setStoredVar(key, value); + this.setState({ add : false }); + } + refresh(){ + this.setState({ add : false }); this.props.refresh(); } + add(){ + this.setState({ add : true }); + } render() { const storedVars = getStoredVars(); return ( @@ -53,10 +68,20 @@ export default class StoredVarList extends React.Component { keyVar={storedKey} value={storedVars[storedKey]} edit={this.editStoredVar} - delete={this.deleteStoredVar}/> + delete={this.deleteStoredVar} + refresh={this.refresh} + /> ))} + {this.state.add ? + + : }
    + ); } diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index e97550c7a..782cad343 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -7,6 +7,9 @@ text-align: center; } +.row { + width:100% +} .storedVars .index { width : 20px; } From a039510389c85393dfce2f54c44004a58d9fb399 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 4 Jun 2018 18:12:54 +0900 Subject: [PATCH 024/115] fixed multiline at ContentEditable component --- packages/selenium-ide/src/neo/components/StoredVar/index.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 4f335f98b..afbaef6bb 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -58,8 +58,8 @@ export default class StoredVar extends React.Component {
    {this.props.add ? : this.props.keyVar}
    :
    - {this.props.add ? : - } + {this.props.add ? : + }
    From 80560e60f93bb55b716db3a4ced7fc51f42cc5b1 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 4 Jun 2018 18:15:21 +0900 Subject: [PATCH 025/115] reorganize css of StoredValList --- .../src/neo/components/StoredVarList/index.jsx | 6 +++--- .../src/neo/components/StoredVarList/style.css | 17 +++++++---------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 17d15a109..d11cda2a6 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -55,9 +55,9 @@ export default class StoredVarList extends React.Component {
    -
    No.
    -
    values
    -
    +
    No.
    +
    values
    +
    diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index 782cad343..f6b79a636 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -7,11 +7,9 @@ text-align: center; } -.row { - width:100% -} -.storedVars .index { - width : 20px; +.valHeader div { + display: table-cell; + padding: 3px 2px; } .valList { @@ -22,11 +20,6 @@ background: #f2efef; } -.valHeader .head { - display: table-cell; - padding: 3px 2px; -} - .storedVars { display: table; border: 2px solid #FFFCFE; @@ -36,6 +29,10 @@ max-width: 655px; } +.storedVars .index { + width : 20px; +} + .storeContainer { padding: 0 10px 20px; overflow-y: auto; From f22421f004ac595e0e48db546d70a5c3f33af756 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 4 Jun 2018 18:28:10 +0900 Subject: [PATCH 026/115] modify indent --- .../src/neo/components/StoredVar/index.jsx | 11 +++++++--- .../neo/components/StoredVarList/index.jsx | 21 ++++++++++--------- .../src/neo/components/TabBar/index.jsx | 2 +- .../src/neo/containers/Console/index.jsx | 20 +++++++++--------- 4 files changed, 30 insertions(+), 24 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index afbaef6bb..d26ae8ee4 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -29,7 +29,7 @@ export default class StoredVar extends React.Component { this.handleChange = this.handleChange.bind(this); this.keyChanged = this.keyChanged.bind(this); this.valueChanged = this.valueChanged.bind(this); - this.saveValue = { key:"", value:"" }; + this.saveValue = { key: "", value: "" }; } handleKeyDown(e) { if (e.key === "Enter") { @@ -59,7 +59,7 @@ export default class StoredVar extends React.Component {
    :
    {this.props.add ? : - } + }
    @@ -72,11 +72,16 @@ export default class StoredVar extends React.Component { index: PropTypes.number, keyVar: PropTypes.string, value: PropTypes.string, - edit: PropTypes.func + edit: PropTypes.func, + delete: PropTypes.func, + add: PropTypes.func }; } export class StoredVarAddBtn extends React.Component { + static propTypes = { + add: PropTypes.func + } render() { return (
    diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index d11cda2a6..334fd8e0e 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -24,7 +24,7 @@ import "./style.css"; export default class StoredVarList extends React.Component { constructor(props){ super(props); - this.state = { add:false }; + this.state = { add: false }; this.editStoredVar = this.editStoredVar.bind(this); this.deleteStoredVar = this.deleteStoredVar.bind(this); this.addStoredVar = this.addStoredVar.bind(this); @@ -32,22 +32,22 @@ export default class StoredVarList extends React.Component { } editStoredVar(key, value){ setStoredVar(key, value); - this.setState({ add : false }); + this.setState({ add: false }); } deleteStoredVar(key){ deleteStoredVar(key); - this.setState({ add : false }); + this.setState({ add: false }); } addStoredVar(key, value){ setStoredVar(key, value); - this.setState({ add : false }); + this.setState({ add: false }); } refresh(){ - this.setState({ add : false }); + this.setState({ add: false }); this.props.refresh(); } add(){ - this.setState({ add : true }); + this.setState({ add: true }); } render() { const storedVars = getStoredVars(); @@ -64,21 +64,21 @@ export default class StoredVarList extends React.Component { {Object.keys(storedVars).map((storedKey, index) => ( + /> ))} {this.state.add ? - : } + /> + : }
    @@ -86,5 +86,6 @@ export default class StoredVarList extends React.Component { ); } static propTypes = { + refresh: PropTypes.func }; } diff --git a/packages/selenium-ide/src/neo/components/TabBar/index.jsx b/packages/selenium-ide/src/neo/components/TabBar/index.jsx index 88808e21f..79ebad1e6 100644 --- a/packages/selenium-ide/src/neo/components/TabBar/index.jsx +++ b/packages/selenium-ide/src/neo/components/TabBar/index.jsx @@ -52,7 +52,7 @@ export default class TabBar extends React.Component { }); if (this.props.tabChanged) this.props.tabChanged(tab, index); } - if (this.props.tabClicked) this.props.tabClicked(tab); + if (this.props.tabClicked) this.props.tabClicked(); } render() { return ( diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 507e2e732..c195f82b2 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -28,7 +28,7 @@ import "./style.css"; export default class Console extends React.Component { constructor(props) { super(props); - this.state = { activeTab : "Log", refresh: 0 }; + this.state = { activeTab: "Log", refresh: 0 }; this.store = new LogStore(); this.handleTabChanged = this.handleTabChanged.bind(this); this.tabClicked = this.tabClicked.bind(this); @@ -37,24 +37,24 @@ export default class Console extends React.Component { componentWillUnmount() { this.store.dispose(); } - handleTabChanged(tab){ - this.setState({activeTab: tab}); + handleTabChanged(tab) { + this.setState({ activeTab: tab }); } - tabClicked(tab){ + tabClicked() { this.props.restoreSize(); } - refresh(){ - this.setState({refresh: !this.state.refresh}); + refresh() { + this.setState({ refresh: !this.state.refresh }); } render() { const buttonsBox = { - "Log" : , - "Stored-Vars" : + "Log": , + "Stored-Vars": }; const consoleBox = { - "Log" : , - "Stored-Vars" : + "Log": , + "Stored-Vars": }; return ( From e7fbea79ba06753562f7d32d1269cf3f517ad15a Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 5 Jun 2018 11:24:34 +0900 Subject: [PATCH 027/115] modify css of StoredVar --- .../src/neo/components/StoredVar/index.jsx | 12 ++++++++---- .../src/neo/components/StoredVar/style.css | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index d26ae8ee4..bc544515f 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -54,14 +54,18 @@ export default class StoredVar extends React.Component { render() { return (
    -
    {this.props.index} {this.props.add ? "" : "."}
    -
    {this.props.add ? : this.props.keyVar}
    +
    + {this.props.index} {this.props.add ? "" : "."} +
    +
    + {this.props.add ? : this.props.keyVar} +
    :
    - {this.props.add ? : + {this.props.add ? : }
    -
    +
    diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/StoredVar/style.css index 4c4bc0cc5..e0cd60043 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVar/style.css @@ -51,7 +51,7 @@ outline: 0; } -.row .valDel { +.row .del { text-align: right; width: 40px; } @@ -65,7 +65,7 @@ text-align: center; } -.row .adding{ +.row input{ padding: 0; line-height: 14px; } From 22ceeb61f63c83bdb6cb948c1db675f03e8d76ce Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 5 Jun 2018 11:29:48 +0900 Subject: [PATCH 028/115] refresh when clicking the tab --- packages/selenium-ide/src/neo/containers/Console/index.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index c195f82b2..06e1f61dd 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -41,6 +41,7 @@ export default class Console extends React.Component { this.setState({ activeTab: tab }); } tabClicked() { + this.refresh(); this.props.restoreSize(); } refresh() { From 215df3e8400cf01f02d7768e9595d45e7f330564 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 5 Jun 2018 13:38:49 +0900 Subject: [PATCH 029/115] fixed css --- .../selenium-ide/src/neo/components/StoredVarList/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/StoredVarList/style.css index f6b79a636..55ad9fa3f 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/style.css +++ b/packages/selenium-ide/src/neo/components/StoredVarList/style.css @@ -34,7 +34,7 @@ } .storeContainer { - padding: 0 10px 20px; + padding: 0 10px; overflow-y: auto; overflow-x: hidden; } From 4d8a91ec6715bf961108223fad967ff4c5620e2a Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 5 Jun 2018 13:43:56 +0900 Subject: [PATCH 030/115] remove index parameter at tabChanged --- packages/selenium-ide/src/neo/components/TabBar/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/TabBar/index.jsx b/packages/selenium-ide/src/neo/components/TabBar/index.jsx index 79ebad1e6..1b6b3981f 100644 --- a/packages/selenium-ide/src/neo/components/TabBar/index.jsx +++ b/packages/selenium-ide/src/neo/components/TabBar/index.jsx @@ -50,7 +50,7 @@ export default class TabBar extends React.Component { this.setState({ activeTab: { tab, index } }); - if (this.props.tabChanged) this.props.tabChanged(tab, index); + if (this.props.tabChanged) this.props.tabChanged(tab); } if (this.props.tabClicked) this.props.tabClicked(); } From 34ab9b50b61106d19fc2474e5e50bc83ba0409fc Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 7 Jun 2018 10:12:32 +0900 Subject: [PATCH 031/115] remerge confilct --- .../selenium-ide/src/neo/containers/Console/index.jsx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 54b1ba1f5..5b315e8a2 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -31,7 +31,6 @@ export default class Console extends React.Component { constructor(props) { super(props); this.state = { tab: "Log", refresh: 0 }; - this.store = new LogStore(); this.tabClicked = this.tabClicked.bind(this); this.refresh = this.refresh.bind(this); @@ -62,21 +61,16 @@ export default class Console extends React.Component { "Stored-Vars": }; - const consoleBox = { - "Log": , - "Stored-Vars": - }; - return (
    - + {buttonsBox[this.state.tab]} {this.state.tab === "Log" && } + {this.state.tab === "Stored-Vars" && } {this.state.tab === "Reference" && } - {consoleBox[this.state.tab]}
    ); } From c83c71c4aeaa6dd671ea5afeacd30b4cffa07eb7 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 7 Jun 2018 10:16:58 +0900 Subject: [PATCH 032/115] remove the buttonBox --- .../selenium-ide/src/neo/containers/Console/index.jsx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 5b315e8a2..d8ba64240 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -56,17 +56,14 @@ export default class Console extends React.Component { this.setState({ refresh: !this.state.refresh }); } render() { - const buttonsBox = { - "Log": , - "Stored-Vars": - }; - return (
    - {buttonsBox[this.state.tab]} + {this.state.tab === "Log" && } + {this.state.tab === "Stored-Vars" && } + {this.state.tab === "Reference" && } {this.state.tab === "Log" && } {this.state.tab === "Stored-Vars" && } From 9f5ecfe5983e3da1fcdbf68f86fa9d5f81cce7b3 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 7 Jun 2018 10:18:00 +0900 Subject: [PATCH 033/115] change the tab name to Variables --- packages/selenium-ide/src/neo/containers/Console/index.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index d8ba64240..e84b4b3e0 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -60,13 +60,13 @@ export default class Console extends React.Component {
    - + {this.state.tab === "Log" && } - {this.state.tab === "Stored-Vars" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && } {this.state.tab === "Log" && } - {this.state.tab === "Stored-Vars" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
    ); From e2f7f868f3f6a315a0c3f730374ad2b780ec87c5 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 7 Jun 2018 10:19:17 +0900 Subject: [PATCH 034/115] add the tab parameter at tabClick func --- packages/selenium-ide/src/neo/components/TabBar/index.jsx | 2 +- packages/selenium-ide/src/neo/containers/Console/index.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/TabBar/index.jsx b/packages/selenium-ide/src/neo/components/TabBar/index.jsx index 1b6b3981f..9b4fc445c 100644 --- a/packages/selenium-ide/src/neo/components/TabBar/index.jsx +++ b/packages/selenium-ide/src/neo/components/TabBar/index.jsx @@ -52,7 +52,7 @@ export default class TabBar extends React.Component { }); if (this.props.tabChanged) this.props.tabChanged(tab); } - if (this.props.tabClicked) this.props.tabClicked(); + if (this.props.tabClicked) this.props.tabClicked(tab); } render() { return ( diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index e84b4b3e0..25f4a6ee3 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -48,7 +48,7 @@ export default class Console extends React.Component { }); } //create different object which stores name and read status (e.g., unread boolean) - tabClicked() { + tabClicked(tab) { this.refresh(); this.props.restoreSize(); } From 32fe96d8eb0a0c9feb31cd65d8b1366d2391d77f Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 7 Jun 2018 10:26:37 +0900 Subject: [PATCH 035/115] changed the state name from add to addingVariable --- .../src/neo/components/StoredVarList/index.jsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 334fd8e0e..dc83d57fa 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -24,7 +24,7 @@ import "./style.css"; export default class StoredVarList extends React.Component { constructor(props){ super(props); - this.state = { add: false }; + this.state = { addingVariable: false }; this.editStoredVar = this.editStoredVar.bind(this); this.deleteStoredVar = this.deleteStoredVar.bind(this); this.addStoredVar = this.addStoredVar.bind(this); @@ -32,22 +32,22 @@ export default class StoredVarList extends React.Component { } editStoredVar(key, value){ setStoredVar(key, value); - this.setState({ add: false }); + this.setState({ addingVariable: false }); } deleteStoredVar(key){ deleteStoredVar(key); - this.setState({ add: false }); + this.setState({ addingVariable: false }); } addStoredVar(key, value){ setStoredVar(key, value); - this.setState({ add: false }); + this.setState({ addingVariable: false }); } refresh(){ - this.setState({ add: false }); + this.setState({ addingVariable: false }); this.props.refresh(); } add(){ - this.setState({ add: true }); + this.setState({ addingVariable: true }); } render() { const storedVars = getStoredVars(); @@ -72,7 +72,7 @@ export default class StoredVarList extends React.Component { refresh={this.refresh} /> ))} - {this.state.add ? + {this.state.addingVariable ? Date: Thu, 7 Jun 2018 10:33:25 +0900 Subject: [PATCH 036/115] change the values to state --- .../src/neo/components/StoredVar/index.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index bc544515f..1c0d185ed 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -29,13 +29,13 @@ export default class StoredVar extends React.Component { this.handleChange = this.handleChange.bind(this); this.keyChanged = this.keyChanged.bind(this); this.valueChanged = this.valueChanged.bind(this); - this.saveValue = { key: "", value: "" }; + this.state = { key: "", value: "" }; } handleKeyDown(e) { if (e.key === "Enter") { e.preventDefault(); - if(this.saveValue.key && this.saveValue.value){ - this.props.add(this.saveValue.key, this.saveValue.value); + if(this.state.key && this.state.value){ + this.props.add(this.state.key, this.state.value); } } } @@ -46,10 +46,10 @@ export default class StoredVar extends React.Component { this.props.delete(this.props.keyVar); } keyChanged(e) { - this.saveValue.key = e.target.value; + this.setState({ key: e.target.value }) } valueChanged(e) { - this.saveValue.value = e.target.value; + this.setState({ value: e.target.value }) } render() { return ( From f1d4f7c86450903108d80f9c62412ece4d9cb23e Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 7 Jun 2018 14:38:27 +0900 Subject: [PATCH 037/115] add semicolon and rename the css --- .../selenium-ide/src/neo/components/StoredVar/index.jsx | 4 ++-- .../src/neo/components/StoredVarList/index.jsx | 4 ++-- .../src/neo/components/StoredVarList/style.css | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 1c0d185ed..2442fba4c 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -46,10 +46,10 @@ export default class StoredVar extends React.Component { this.props.delete(this.props.keyVar); } keyChanged(e) { - this.setState({ key: e.target.value }) + this.setState({ key: e.target.value }); } valueChanged(e) { - this.setState({ value: e.target.value }) + this.setState({ value: e.target.value }); } render() { return ( diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index dc83d57fa..c63686189 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -54,13 +54,13 @@ export default class StoredVarList extends React.Component { return (
    -
    +
    No.
    values
    -
    +
    {Object.keys(storedVars).map((storedKey, index) => ( Date: Fri, 8 Jun 2018 16:43:42 +0900 Subject: [PATCH 038/115] create new Varaibles store as Observable --- .../src/neo/components/StoredVar/index.jsx | 2 + .../neo/components/StoredVarList/index.jsx | 21 +++----- .../src/neo/containers/Console/index.jsx | 10 ++-- .../src/neo/stores/view/Variables.js | 50 +++++++++++++++++++ 4 files changed, 63 insertions(+), 20 deletions(-) create mode 100644 packages/selenium-ide/src/neo/stores/view/Variables.js diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx index 2442fba4c..465674e97 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVar/index.jsx @@ -20,8 +20,10 @@ import PropTypes from "prop-types"; import ContentEditable from "react-contenteditable"; import DeleteButton from "../ActionButtons/Delete"; import AddButton from "../../components/ActionButtons/Add"; +import { observer } from "mobx-react"; import "./style.css"; +@observer export default class StoredVar extends React.Component { constructor(props){ super(props); diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index c63686189..3b2920b6b 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -18,9 +18,11 @@ import React from "react"; import PropTypes from "prop-types"; import StoredVar, { StoredVarAddBtn } from "../StoredVar"; +import { observer } from "mobx-react"; import { getStoredVars, setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; import "./style.css"; +@observer export default class StoredVarList extends React.Component { constructor(props){ super(props); @@ -28,29 +30,24 @@ export default class StoredVarList extends React.Component { this.editStoredVar = this.editStoredVar.bind(this); this.deleteStoredVar = this.deleteStoredVar.bind(this); this.addStoredVar = this.addStoredVar.bind(this); - this.refresh = this.refresh.bind(this); } editStoredVar(key, value){ - setStoredVar(key, value); this.setState({ addingVariable: false }); + this.props.variables.addVariable(key, value); } deleteStoredVar(key){ - deleteStoredVar(key); this.setState({ addingVariable: false }); + this.props.variables.deleteVariable(key); } addStoredVar(key, value){ - setStoredVar(key, value); this.setState({ addingVariable: false }); - } - refresh(){ - this.setState({ addingVariable: false }); - this.props.refresh(); + this.props.variables.addVariable(key, value); } add(){ this.setState({ addingVariable: true }); } render() { - const storedVars = getStoredVars(); + const stored = this.props.variables.storedVars; return (
    @@ -61,22 +58,20 @@ export default class StoredVarList extends React.Component {
    - {Object.keys(storedVars).map((storedKey, index) => ( + {stored.keys().map((storedKey, index) => ( ))} {this.state.addingVariable ? : }
    diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 25f4a6ee3..0093c3bcd 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -21,18 +21,17 @@ import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; import StoredVarList from "../../components/StoredVarList"; import ClearButton from "../../components/ActionButtons/Clear"; -import RefreshButton from "../../components/ActionButtons/Refresh"; import logger from "../../stores/view/Logs"; import PlaybackLogger from "../../side-effects/playback-logging"; import "./style.css"; import CommandReference from "../../components/CommandReference"; +import variables from "../../stores/view/Variables"; export default class Console extends React.Component { constructor(props) { super(props); this.state = { tab: "Log", refresh: 0 }; this.tabClicked = this.tabClicked.bind(this); - this.refresh = this.refresh.bind(this); this.playbackLogger = new PlaybackLogger(); //this.loggerObserver = observe(logger.logs, () => { setState { //set log state to unread } }) @@ -52,9 +51,6 @@ export default class Console extends React.Component { this.refresh(); this.props.restoreSize(); } - refresh() { - this.setState({ refresh: !this.state.refresh }); - } render() { return (
    {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && } {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
    ); diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js new file mode 100644 index 000000000..f5c41f72f --- /dev/null +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -0,0 +1,50 @@ +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import browser from "webextension-polyfill"; +import { action, observable } from "mobx"; +import { setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; + +export class Variables { + @observable storedVars = new Map(); + + constructor() { + browser.runtime.onMessage.addListener((this.handleFormatCommand)); + } + + @action.bound handleFormatCommand(message) { + if (message.storeStr) { + this.addVariable(message.storeVar, message.storeStr) + } + } + + @action.bound addVariable(key, value) { + this.storedVars.set(key, value); + setStoredVar(key, value); + } + + @action.bound deleteVariable(key) { + this.storedVars.delete(key); + deleteStoredVar(key); + } + + @action.bound clearVariables() { + this.storedVars.clear(); + } +} + +export default new Variables; From b5857a80cc49e353dfe1ec5d89e2364859ba13be Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 8 Jun 2018 16:49:58 +0900 Subject: [PATCH 039/115] yarn lint and remove the unnecessary code --- .../neo/components/StoredVarList/index.jsx | 5 +- .../src/neo/containers/Console/index.jsx | 4 +- .../src/neo/stores/view/Variables.js | 100 +++++++++--------- 3 files changed, 55 insertions(+), 54 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx index 3b2920b6b..612e79121 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx @@ -19,7 +19,6 @@ import React from "react"; import PropTypes from "prop-types"; import StoredVar, { StoredVarAddBtn } from "../StoredVar"; import { observer } from "mobx-react"; -import { getStoredVars, setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; import "./style.css"; @observer @@ -54,7 +53,7 @@ export default class StoredVarList extends React.Component {
    No.
    values
    -
    +
    @@ -81,6 +80,6 @@ export default class StoredVarList extends React.Component { ); } static propTypes = { - refresh: PropTypes.func + variables: PropTypes.object }; } diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 0093c3bcd..100b91489 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -48,7 +48,9 @@ export default class Console extends React.Component { } //create different object which stores name and read status (e.g., unread boolean) tabClicked(tab) { - this.refresh(); + this.setState({ + tab + }); this.props.restoreSize(); } render() { diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index f5c41f72f..56be04cec 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -1,50 +1,50 @@ -// Licensed to the Software Freedom Conservancy (SFC) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The SFC licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -import browser from "webextension-polyfill"; -import { action, observable } from "mobx"; -import { setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; - -export class Variables { - @observable storedVars = new Map(); - - constructor() { - browser.runtime.onMessage.addListener((this.handleFormatCommand)); - } - - @action.bound handleFormatCommand(message) { - if (message.storeStr) { - this.addVariable(message.storeVar, message.storeStr) - } - } - - @action.bound addVariable(key, value) { - this.storedVars.set(key, value); - setStoredVar(key, value); - } - - @action.bound deleteVariable(key) { - this.storedVars.delete(key); - deleteStoredVar(key); - } - - @action.bound clearVariables() { - this.storedVars.clear(); - } -} - -export default new Variables; +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import browser from "webextension-polyfill"; +import { action, observable } from "mobx"; +import { setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; + +export class Variables { + @observable storedVars = new Map(); + + constructor() { + browser.runtime.onMessage.addListener((this.handleFormatCommand)); + } + + @action.bound handleFormatCommand(message) { + if (message.storeStr) { + this.addVariable(message.storeVar, message.storeStr); + } + } + + @action.bound addVariable(key, value) { + this.storedVars.set(key, value); + setStoredVar(key, value); + } + + @action.bound deleteVariable(key) { + this.storedVars.delete(key); + deleteStoredVar(key); + } + + @action.bound clearVariables() { + this.storedVars.clear(); + } +} + +export default new Variables; From 053507d0a4d8b1b5236e2d633bb095214b9fef93 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 8 Jun 2018 17:09:42 +0900 Subject: [PATCH 040/115] add tooltip at clear button --- .../src/neo/components/ActionButtons/Clear/index.jsx | 2 +- packages/selenium-ide/src/neo/containers/Console/index.jsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/ActionButtons/Clear/index.jsx b/packages/selenium-ide/src/neo/components/ActionButtons/Clear/index.jsx index 299acca18..952bfa92e 100644 --- a/packages/selenium-ide/src/neo/components/ActionButtons/Clear/index.jsx +++ b/packages/selenium-ide/src/neo/components/ActionButtons/Clear/index.jsx @@ -22,7 +22,7 @@ import classNames from "classnames"; export default class ClearButton extends React.Component { render() { return ( - // eslint-disable-line react/prop-types + // eslint-disable-line react/prop-types ); } } diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 100b91489..1c7468cd6 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -59,8 +59,8 @@ export default class Console extends React.Component { height: this.props.height ? `${this.props.height}px` : "initial" }}> - {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Log" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && } {this.state.tab === "Log" && } From 6b8c95b2ae7ef2036d008a9871d9a4c201321b72 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 11 Jun 2018 10:34:14 +0900 Subject: [PATCH 041/115] the part declared variables is moved to formatCommand --- .../src/neo/IO/SideeX/formatCommand.js | 29 ++++--------------- .../src/neo/stores/view/Variables.js | 20 ++++--------- 2 files changed, 11 insertions(+), 38 deletions(-) diff --git a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js index 0896750fc..5d46c6b97 100644 --- a/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js +++ b/packages/selenium-ide/src/neo/IO/SideeX/formatCommand.js @@ -17,9 +17,9 @@ import browser from "webextension-polyfill"; import { Logger, Channels } from "../../stores/view/Logs"; +import variables from "../../stores/view/Variables"; const logger = new Logger(Channels.PLAYBACK); -const declaredVars = {}; const nbsp = String.fromCharCode(160); export function xlateArgument(value) { @@ -31,15 +31,15 @@ export function xlateArgument(value) { const regexp = /\$\{(.*?)\}/g; let lastIndex = 0; while ((r2 = regexp.exec(value))) { - if (declaredVars[r2[1]]) { + if (variables.get(r2[1])) { if (r2.index - lastIndex > 0) { parts.push(string(value.substring(lastIndex, r2.index))); } - parts.push(declaredVars[r2[1]]); + parts.push(variables.get(r2[1])); lastIndex = regexp.lastIndex; } else if (r2[1] == "nbsp") { if (r2.index - lastIndex > 0) { - parts.push(declaredVars[string(value.substring(lastIndex, r2.index))]); + parts.push(variables.get(string(value.substring(lastIndex, r2.index)))); } parts.push(nbsp); lastIndex = regexp.lastIndex; @@ -67,29 +67,10 @@ function string(value) { function handleFormatCommand(message) { if (message.storeStr) { - declaredVars[message.storeVar] = message.storeStr; + variables.addVariable(message.storeVar, message.storeStr); } else if (message.echoStr) { logger.log("echo: " + message.echoStr); } } -export function getStoredVars(){ - return declaredVars; -} - -export function setStoredVar(key, value){ - let retVal = false; - try { - declaredVars[key] = value; - retVal = true; - } catch(e) { - console.log(e); - } - return retVal; -} - -export function deleteStoredVar(key){ - delete declaredVars[key]; -} - browser.runtime.onMessage.addListener(handleFormatCommand); diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index 56be04cec..bd3aba12d 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -15,31 +15,21 @@ // specific language governing permissions and limitations // under the License. -import browser from "webextension-polyfill"; import { action, observable } from "mobx"; -import { setStoredVar, deleteStoredVar } from "../../IO/SideeX/formatCommand"; -export class Variables { +class Variables { @observable storedVars = new Map(); - constructor() { - browser.runtime.onMessage.addListener((this.handleFormatCommand)); - } - - @action.bound handleFormatCommand(message) { - if (message.storeStr) { - this.addVariable(message.storeVar, message.storeStr); - } + @action.bound get(key) { + return this.storedVars.get(key); } @action.bound addVariable(key, value) { this.storedVars.set(key, value); - setStoredVar(key, value); } @action.bound deleteVariable(key) { this.storedVars.delete(key); - deleteStoredVar(key); } @action.bound clearVariables() { @@ -47,4 +37,6 @@ export class Variables { } } -export default new Variables; +if (!window._variables) window._variables = new Variables(); + +export default window._variables; From afd3f3a850a278f5434e2d16bd7459bda10f6384 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 13 Jun 2018 23:54:33 +0900 Subject: [PATCH 042/115] remove unncessary refresh variable and file --- .../ActionButtons/Refresh/index.jsx | 28 ------------------- .../src/neo/containers/Console/index.jsx | 2 +- 2 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 packages/selenium-ide/src/neo/components/ActionButtons/Refresh/index.jsx diff --git a/packages/selenium-ide/src/neo/components/ActionButtons/Refresh/index.jsx b/packages/selenium-ide/src/neo/components/ActionButtons/Refresh/index.jsx deleted file mode 100644 index f1fde5f01..000000000 --- a/packages/selenium-ide/src/neo/components/ActionButtons/Refresh/index.jsx +++ /dev/null @@ -1,28 +0,0 @@ -// Licensed to the Software Freedom Conservancy (SFC) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The SFC licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -import React from "react"; -import ActionButton from "../ActionButton"; -import classNames from "classnames"; - -export default class RefreshButton extends React.Component { - render() { - return ( - // eslint-disable-line react/prop-types - ); - } -} diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 3902b3348..51f8f30c4 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -30,7 +30,7 @@ import variables from "../../stores/view/Variables"; export default class Console extends React.Component { constructor(props) { super(props); - this.state = { tab: "Log", refresh: 0 }; + this.state = { tab: "Log" }; this.tabClicked = this.tabClicked.bind(this); this.playbackLogger = new PlaybackLogger(); From 2fbec412cca101d33f11ad20e6fc6f285d94788a Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 14 Jun 2018 10:12:43 +0900 Subject: [PATCH 043/115] add test case Variables.spec.js --- .../stores/domain/view/Variables.spec.js | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js diff --git a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js new file mode 100644 index 000000000..9a98c53e2 --- /dev/null +++ b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js @@ -0,0 +1,63 @@ +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { useStrict } from "mobx"; +import Variables from "../../../../stores/view/Variables"; + +useStrict(true); + +describe("Varaibles", () => { + it("should clear the map", () => { + Variables.clearVariables(); + expect(Variables.storedVars.size).toBe(0); + }); + it("should add new key and value to the map", () => { + Variables.clearVariables(); + const key = "key1"; + const value = "value1"; + Variables.addVariable(key, value); + expect(Variables.storedVars.size).toBe(1); + }); + it("should not add duplicates to the map", () => { + Variables.clearVariables(); + const key = "key1"; + const value = "value1"; + const value2 = "value2"; + Variables.addVariable(key, value); + Variables.addVariable(key, value2); + expect(Variables.storedVars.size).toBe(1); + }); + it("should get the value correctly from the map", () => { + Variables.clearVariables(); + const key1 = "key1"; + const value1 = "value1"; + const key2 = "key2"; + const value2 = "value2"; + Variables.addVariable(key1, value1); + Variables.addVariable(key2, value2); + expect(Variables.get(key1)).toBe(value1); + }); + it("should delete the key and the value from the map", () => { + Variables.clearVariables(); + const key = "key1"; + const value = "value1"; + Variables.addVariable(key, value); + expect(Variables.storedVars.size).toBe(1); + Variables.deleteVariable(key); + expect(Variables.storedVars.size).toBe(0); + }); +}); From 2d3c2ff0dd230011705bce4f8fe4c36c4d7ae69c Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 14 Jun 2018 10:17:12 +0900 Subject: [PATCH 044/115] remove refresh icon form the font and the ttf --- .../src/neo/assets/fonts/selenium-ide.svg | 1 - .../src/neo/assets/fonts/selenium-ide.ttf | Bin 6168 -> 5968 bytes packages/selenium-ide/src/neo/styles/font.css | 3 --- 3 files changed, 4 deletions(-) diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg index 12f2bc726..68c11c6e8 100644 --- a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg +++ b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg @@ -33,5 +33,4 @@ - \ No newline at end of file diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf index 946c947e8bc25d920ad8edf6a04a8b172af9bcaa..386579d67cb891ca43970197330184f5de4bbb34 100644 GIT binary patch delta 266 zcmbPXa6zx0fsuiMfs3Jmftf+UKUm+0Us&c6P-G1dCnV=47BF-iv}a&o3;u7BH zyjK|*#BP8LU|?ZhJ#j-nqrzqf#>GO4KqU+eyyB;p#`D{JW#9(d3k27qf7}Ao-=;}T qJ|beyC^z|!NX6s|Q9BNxFvz!ZoA-(SWn`9Pkej?u+-CAZMkxS2twS*Y delta 467 zcmcbhH^ZQwfsuiMfs3Jmftf+UKUm+0Us&b}P-G1dCnV=47BF-ibYNg$OS%3Wd7=Uv++B$1d{SL@;?%*e*h&6C8z$@nv9j!h;Db8=R9cU}fF zOHvXKI|m0l&tgt?HfA%RMlNnHE>;Z-173+kK#i_K;z>z$+?*UtOl)l6kOzi-^<@K> zcz&C&4BRY0KQb^}i~ey7Og~+zGnqxioKb$VjYtIx^ACoZledW2ad3)&b;@u4CGwY% TS)M_D@-HzPCPtab3mIhqte0sG diff --git a/packages/selenium-ide/src/neo/styles/font.css b/packages/selenium-ide/src/neo/styles/font.css index df65293e4..88564117f 100644 --- a/packages/selenium-ide/src/neo/styles/font.css +++ b/packages/selenium-ide/src/neo/styles/font.css @@ -100,6 +100,3 @@ .si-delete:before { content: "\e920"; } -.si-refresh:before { - content: "\e921"; -} From 6c77ea7a4410de5de02157fcdf38bf54ee8d2f23 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 14 Jun 2018 21:22:04 +0900 Subject: [PATCH 045/115] add a variable beforehand. --- .../src/neo/__test__/stores/domain/view/Variables.spec.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js index 9a98c53e2..6d60f41fb 100644 --- a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js +++ b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js @@ -22,6 +22,10 @@ useStrict(true); describe("Varaibles", () => { it("should clear the map", () => { + const key = "key1"; + const value = "value1"; + Variables.addVariable(key, value); + expect(Variables.storedVars.size).toBe(1); Variables.clearVariables(); expect(Variables.storedVars.size).toBe(0); }); From 04d7c5ea2a01029f7f1fa7171d245c5f6bf5fc2d Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 14 Jun 2018 21:22:51 +0900 Subject: [PATCH 046/115] fix spell --- .../src/neo/__test__/stores/domain/view/Variables.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js index 6d60f41fb..2875b6f45 100644 --- a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js +++ b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js @@ -20,7 +20,7 @@ import Variables from "../../../../stores/view/Variables"; useStrict(true); -describe("Varaibles", () => { +describe("Variables", () => { it("should clear the map", () => { const key = "key1"; const value = "value1"; From b5c03ded6058ae867f595d868e2c4fc9845a57ea Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 14 Jun 2018 21:40:50 +0900 Subject: [PATCH 047/115] change clearVariable to afterEach --- .../stores/domain/view/Variables.spec.js | 134 +++++++++--------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js index 2875b6f45..c3a62004e 100644 --- a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js +++ b/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js @@ -1,67 +1,67 @@ -// Licensed to the Software Freedom Conservancy (SFC) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The SFC licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -import { useStrict } from "mobx"; -import Variables from "../../../../stores/view/Variables"; - -useStrict(true); - -describe("Variables", () => { - it("should clear the map", () => { - const key = "key1"; - const value = "value1"; - Variables.addVariable(key, value); - expect(Variables.storedVars.size).toBe(1); - Variables.clearVariables(); - expect(Variables.storedVars.size).toBe(0); - }); - it("should add new key and value to the map", () => { - Variables.clearVariables(); - const key = "key1"; - const value = "value1"; - Variables.addVariable(key, value); - expect(Variables.storedVars.size).toBe(1); - }); - it("should not add duplicates to the map", () => { - Variables.clearVariables(); - const key = "key1"; - const value = "value1"; - const value2 = "value2"; - Variables.addVariable(key, value); - Variables.addVariable(key, value2); - expect(Variables.storedVars.size).toBe(1); - }); - it("should get the value correctly from the map", () => { - Variables.clearVariables(); - const key1 = "key1"; - const value1 = "value1"; - const key2 = "key2"; - const value2 = "value2"; - Variables.addVariable(key1, value1); - Variables.addVariable(key2, value2); - expect(Variables.get(key1)).toBe(value1); - }); - it("should delete the key and the value from the map", () => { - Variables.clearVariables(); - const key = "key1"; - const value = "value1"; - Variables.addVariable(key, value); - expect(Variables.storedVars.size).toBe(1); - Variables.deleteVariable(key); - expect(Variables.storedVars.size).toBe(0); - }); -}); +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { useStrict } from "mobx"; +import Variables from "../../../../stores/view/Variables"; + +useStrict(true); + +afterEach(() => { + Variables.clearVariables(); +}); + +describe("Variables", () => { + it("should clear the map", () => { + const key = "key1"; + const value = "value1"; + Variables.addVariable(key, value); + expect(Variables.storedVars.size).toBe(1); + Variables.clearVariables(); + expect(Variables.storedVars.size).toBe(0); + }); + it("should add new key and value to the map", () => { + const key = "key1"; + const value = "value1"; + Variables.addVariable(key, value); + expect(Variables.storedVars.size).toBe(1); + }); + it("should not add duplicates to the map", () => { + const key = "key1"; + const value = "value1"; + const value2 = "value2"; + Variables.addVariable(key, value); + Variables.addVariable(key, value2); + expect(Variables.storedVars.size).toBe(1); + }); + it("should get the value correctly from the map", () => { + const key1 = "key1"; + const value1 = "value1"; + const key2 = "key2"; + const value2 = "value2"; + Variables.addVariable(key1, value1); + Variables.addVariable(key2, value2); + expect(Variables.get(key1)).toBe(value1); + }); + it("should delete the key and the value from the map", () => { + const key = "key1"; + const value = "value1"; + Variables.addVariable(key, value); + expect(Variables.storedVars.size).toBe(1); + Variables.deleteVariable(key); + expect(Variables.storedVars.size).toBe(0); + }); +}); From be6b8afa5aad4ebbecc7ba339d6a88b8befa6bd2 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 14 Jun 2018 21:47:39 +0900 Subject: [PATCH 048/115] rename StoredVarList to VariableList --- .../neo/components/{StoredVarList => VariableList}/index.jsx | 2 +- .../neo/components/{StoredVarList => VariableList}/style.css | 0 packages/selenium-ide/src/neo/containers/Console/index.jsx | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) rename packages/selenium-ide/src/neo/components/{StoredVarList => VariableList}/index.jsx (97%) rename packages/selenium-ide/src/neo/components/{StoredVarList => VariableList}/style.css (100%) diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx similarity index 97% rename from packages/selenium-ide/src/neo/components/StoredVarList/index.jsx rename to packages/selenium-ide/src/neo/components/VariableList/index.jsx index 612e79121..3211be134 100644 --- a/packages/selenium-ide/src/neo/components/StoredVarList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -22,7 +22,7 @@ import { observer } from "mobx-react"; import "./style.css"; @observer -export default class StoredVarList extends React.Component { +export default class VariableList extends React.Component { constructor(props){ super(props); this.state = { addingVariable: false }; diff --git a/packages/selenium-ide/src/neo/components/StoredVarList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css similarity index 100% rename from packages/selenium-ide/src/neo/components/StoredVarList/style.css rename to packages/selenium-ide/src/neo/components/VariableList/style.css diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 51f8f30c4..289376c67 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -19,7 +19,7 @@ import React from "react"; import PropTypes from "prop-types"; import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; -import StoredVarList from "../../components/StoredVarList"; +import VariableList from "../../components/VariableList"; import ClearButton from "../../components/ActionButtons/Clear"; import { output } from "../../stores/view/Logs"; import PlaybackLogger from "../../side-effects/playback-logging"; @@ -64,7 +64,7 @@ export default class Console extends React.Component { {this.state.tab === "Reference" && } {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
    ); From 5c824bafc47ace39ac0343118c29be3c3302ffbd Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Thu, 14 Jun 2018 21:56:05 +0900 Subject: [PATCH 049/115] rename StoredVar to Variable --- .../{StoredVar => Variable}/index.jsx | 8 ++--- .../{StoredVar => Variable}/style.css | 8 ++--- .../src/neo/components/VariableList/index.jsx | 30 +++++++++---------- .../src/neo/components/VariableList/style.css | 4 +-- 4 files changed, 25 insertions(+), 25 deletions(-) rename packages/selenium-ide/src/neo/components/{StoredVar => Variable}/index.jsx (94%) rename packages/selenium-ide/src/neo/components/{StoredVar => Variable}/style.css (88%) diff --git a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx similarity index 94% rename from packages/selenium-ide/src/neo/components/StoredVar/index.jsx rename to packages/selenium-ide/src/neo/components/Variable/index.jsx index 465674e97..3f89b6648 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -24,7 +24,7 @@ import { observer } from "mobx-react"; import "./style.css"; @observer -export default class StoredVar extends React.Component { +export default class Variable extends React.Component { constructor(props){ super(props); this.handleKeyDown = this.handleKeyDown.bind(this); @@ -63,7 +63,7 @@ export default class StoredVar extends React.Component { {this.props.add ? : this.props.keyVar}
    :
    -
    +
    {this.props.add ? : }
    @@ -84,7 +84,7 @@ export default class StoredVar extends React.Component { }; } -export class StoredVarAddBtn extends React.Component { +export class VariableAddBtn extends React.Component { static propTypes = { add: PropTypes.func } @@ -93,7 +93,7 @@ export class StoredVarAddBtn extends React.Component {
    -
    +
    ); } diff --git a/packages/selenium-ide/src/neo/components/StoredVar/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css similarity index 88% rename from packages/selenium-ide/src/neo/components/StoredVar/style.css rename to packages/selenium-ide/src/neo/components/Variable/style.css index e0cd60043..fcf5b8b4c 100644 --- a/packages/selenium-ide/src/neo/components/StoredVar/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -25,7 +25,7 @@ text-align: center; } -.row .storedVar { +.row .variable { float: left; padding: 0; width: 48%; @@ -33,11 +33,11 @@ box-shadow: 0 0 0 1px transparent inset; } -.row .storedVar .value { +.row .variable .value { border-radius: 4px; } -.row .storedVar .value:hover { +.row .variable .value:hover { box-shadow: 0 0 0 1px #CECECE inset; } @@ -45,7 +45,7 @@ opacity: 1; } -.row .storedVar .value:focus { +.row .variable .value:focus { box-shadow: 0 0 0 1px #A8A8A8 inset; cursor: initial; outline: 0; diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 3211be134..ab55ebdae 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -17,7 +17,7 @@ import React from "react"; import PropTypes from "prop-types"; -import StoredVar, { StoredVarAddBtn } from "../StoredVar"; +import Variable, { VariableAddBtn } from "../Variable"; import { observer } from "mobx-react"; import "./style.css"; @@ -26,19 +26,19 @@ export default class VariableList extends React.Component { constructor(props){ super(props); this.state = { addingVariable: false }; - this.editStoredVar = this.editStoredVar.bind(this); - this.deleteStoredVar = this.deleteStoredVar.bind(this); - this.addStoredVar = this.addStoredVar.bind(this); + this.editVariable = this.editVariable.bind(this); + this.deleteVariable = this.deleteVariable.bind(this); + this.addVariable = this.addVariable.bind(this); } - editStoredVar(key, value){ + editVariable(key, value){ this.setState({ addingVariable: false }); this.props.variables.addVariable(key, value); } - deleteStoredVar(key){ + deleteVariable(key){ this.setState({ addingVariable: false }); this.props.variables.deleteVariable(key); } - addStoredVar(key, value){ + addVariable(key, value){ this.setState({ addingVariable: false }); this.props.variables.addVariable(key, value); } @@ -49,7 +49,7 @@ export default class VariableList extends React.Component { const stored = this.props.variables.storedVars; return (
    -
    +
    No.
    values
    @@ -58,21 +58,21 @@ export default class VariableList extends React.Component {
    {stored.keys().map((storedKey, index) => ( - ))} {this.state.addingVariable ? - - : } + : }
    diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index dc33e12f7..f81b745e8 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -20,7 +20,7 @@ background: #f2efef; } -.storedVars { +.variables { display: table; border: 2px solid #FFFCFE; width: 100%; @@ -29,7 +29,7 @@ max-width: 655px; } -.storedVars .index { +.variables .index { width : 20px; } From 90ca4795a20767b34f397aa5d5f3fc5664612268 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Sun, 17 Jun 2018 19:05:12 +0900 Subject: [PATCH 050/115] remove index column at Variables --- packages/selenium-ide/src/neo/components/Variable/index.jsx | 5 ----- .../selenium-ide/src/neo/components/VariableList/index.jsx | 4 +--- .../selenium-ide/src/neo/components/VariableList/style.css | 4 ---- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 3f89b6648..549f680fe 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -56,9 +56,6 @@ export default class Variable extends React.Component { render() { return (
    -
    - {this.props.index} {this.props.add ? "" : "."} -
    {this.props.add ? : this.props.keyVar}
    @@ -75,7 +72,6 @@ export default class Variable extends React.Component { } static propTypes = { isEditing: PropTypes.bool, - index: PropTypes.number, keyVar: PropTypes.string, value: PropTypes.string, edit: PropTypes.func, @@ -91,7 +87,6 @@ export class VariableAddBtn extends React.Component { render() { return (
    -
    diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index ab55ebdae..a70fd8bb7 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -51,16 +51,14 @@ export default class VariableList extends React.Component {
    -
    No.
    values
    - {stored.keys().map((storedKey, index) => ( + {stored.keys().map((storedKey) => ( Date: Sun, 17 Jun 2018 21:17:14 +0900 Subject: [PATCH 051/115] remove zebra the table --- .../selenium-ide/src/neo/components/VariableList/style.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index af10afa0b..41631664e 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -16,10 +16,6 @@ display: table-row-group; } -.value-list .row:nth-child(even) { - background: #f2efef; -} - .variables { display: table; border: 2px solid #FFFCFE; From f1d44e50fb5b9b0dd001b34a754fef12ebf3b898 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 14:20:29 +0900 Subject: [PATCH 052/115] Move the plus next to the clear button --- .../src/neo/components/Variable/index.jsx | 21 ++-------- .../src/neo/components/Variable/style.css | 4 -- .../src/neo/components/VariableList/index.jsx | 38 ++++++------------- .../src/neo/containers/Console/index.jsx | 7 +++- .../src/neo/stores/view/Variables.js | 8 ++++ 5 files changed, 30 insertions(+), 48 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 549f680fe..17bf9d6c5 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -57,11 +57,11 @@ export default class Variable extends React.Component { return (
    - {this.props.add ? : this.props.keyVar} + {this.props.adding ? : this.props.keyVar}
    :
    - {this.props.add ? : + {this.props.adding ? : }
    @@ -76,20 +76,7 @@ export default class Variable extends React.Component { value: PropTypes.string, edit: PropTypes.func, delete: PropTypes.func, - add: PropTypes.func + add: PropTypes.func, + adding: PropTypes.bool }; } - -export class VariableAddBtn extends React.Component { - static propTypes = { - add: PropTypes.func - } - render() { - return ( -
    -
    -
    -
    - ); - } -} diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index fcf5b8b4c..00666d1c2 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -61,10 +61,6 @@ opacity: 0; } -.row .add { - text-align: center; -} - .row input{ padding: 0; line-height: 14px; diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index a70fd8bb7..a2e4fb965 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -17,7 +17,7 @@ import React from "react"; import PropTypes from "prop-types"; -import Variable, { VariableAddBtn } from "../Variable"; +import Variable from "../Variable"; import { observer } from "mobx-react"; import "./style.css"; @@ -25,28 +25,14 @@ import "./style.css"; export default class VariableList extends React.Component { constructor(props){ super(props); - this.state = { addingVariable: false }; this.editVariable = this.editVariable.bind(this); - this.deleteVariable = this.deleteVariable.bind(this); - this.addVariable = this.addVariable.bind(this); } editVariable(key, value){ - this.setState({ addingVariable: false }); this.props.variables.addVariable(key, value); } - deleteVariable(key){ - this.setState({ addingVariable: false }); - this.props.variables.deleteVariable(key); - } - addVariable(key, value){ - this.setState({ addingVariable: false }); - this.props.variables.addVariable(key, value); - } - add(){ - this.setState({ addingVariable: true }); - } + render() { - const stored = this.props.variables.storedVars; + const variables = this.props.variables; return (
    @@ -56,24 +42,24 @@ export default class VariableList extends React.Component {
    - {stored.keys().map((storedKey) => ( + {variables.storedVars.keys().map((storedKey) => ( - ))} - {this.state.addingVariable ? + )).concat( - : } + )}
    -
    ); } diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 289376c67..2110bc0f6 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -21,6 +21,7 @@ import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; import VariableList from "../../components/VariableList"; import ClearButton from "../../components/ActionButtons/Clear"; +import AddButton from "../../components/ActionButtons/Add"; import { output } from "../../stores/view/Logs"; import PlaybackLogger from "../../side-effects/playback-logging"; import "./style.css"; @@ -60,7 +61,11 @@ export default class Console extends React.Component { }}> {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && +
    + variables.setAddingVariable(true)} /> + +
    } {this.state.tab === "Reference" && }
    {this.state.tab === "Log" && } diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index bd3aba12d..81e9548ca 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -19,22 +19,30 @@ import { action, observable } from "mobx"; class Variables { @observable storedVars = new Map(); + @observable addingVariable = false; @action.bound get(key) { return this.storedVars.get(key); } @action.bound addVariable(key, value) { + this.addingVariable = false; this.storedVars.set(key, value); } @action.bound deleteVariable(key) { + this.addingVariable = false; this.storedVars.delete(key); } @action.bound clearVariables() { + this.addingVariable = false; this.storedVars.clear(); } + + @action.bound setAddingVariable(isAdding){ + this.addingVariable = isAdding; + } } if (!window._variables) window._variables = new Variables(); From 8fc4eb04efc6a36fd4aab3864c44e71f020538fb Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 15:59:20 +0900 Subject: [PATCH 053/115] Allow changing the variable name --- .../src/neo/components/Variable/index.jsx | 15 +++++++-------- .../src/neo/components/Variable/style.css | 13 +++++-------- .../src/neo/components/VariableList/index.jsx | 2 +- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 17bf9d6c5..70b30f2d6 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -42,7 +42,8 @@ export default class Variable extends React.Component { } } handleChange(e) { - this.props.edit(this.props.keyVar, e.target.value); + this.delete(); + this.props.edit(this.state.key || this.props.keyVar, this.state.value ||this.props.value); } delete(){ this.props.delete(this.props.keyVar); @@ -55,23 +56,21 @@ export default class Variable extends React.Component { } render() { return ( -
    +
    - {this.props.adding ? : this.props.keyVar} +
    -
    :
    +
    {this.props.keyVar ? ":" : null}
    - {this.props.adding ? : - } +
    - + {this.props.isAdding ? null : }
    ); } static propTypes = { - isEditing: PropTypes.bool, keyVar: PropTypes.string, value: PropTypes.string, edit: PropTypes.func, diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 00666d1c2..a9dce5454 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -33,11 +33,13 @@ box-shadow: 0 0 0 1px transparent inset; } -.row .variable .value { +.row .editable { border-radius: 4px; + padding: 0; + line-height: 14px; } -.row .variable .value:hover { +.row .editable:hover { box-shadow: 0 0 0 1px #CECECE inset; } @@ -45,7 +47,7 @@ opacity: 1; } -.row .variable .value:focus { +.row .editable:focus { box-shadow: 0 0 0 1px #A8A8A8 inset; cursor: initial; outline: 0; @@ -60,8 +62,3 @@ font-size: 14px; opacity: 0; } - -.row input{ - padding: 0; - line-height: 14px; -} diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index a2e4fb965..6dc13378b 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -55,7 +55,7 @@ export default class VariableList extends React.Component { key="adding" delete={variables.deleteVariable} add={variables.addVariable} - adding={variables.addingVariable} + isAdding={variables.addingVariable} /> )}
    From 124cf5bc463a22e8ad15729442117826ce53e16a Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 15:59:54 +0900 Subject: [PATCH 054/115] add validation before the delete --- packages/selenium-ide/src/neo/stores/view/Variables.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index 81e9548ca..80d1e6aad 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -32,7 +32,8 @@ class Variables { @action.bound deleteVariable(key) { this.addingVariable = false; - this.storedVars.delete(key); + if(this.storedVars.has(key)) + this.storedVars.delete(key); } @action.bound clearVariables() { From 14668c4f1addd8c4ddd5e10eeb591b8aa4bfff72 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 16:00:30 +0900 Subject: [PATCH 055/115] add sort of variables --- packages/selenium-ide/src/neo/components/VariableList/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 6dc13378b..49595a672 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -42,7 +42,7 @@ export default class VariableList extends React.Component {
    - {variables.storedVars.keys().map((storedKey) => ( + {variables.storedVars.keys().sort().map((storedKey) => ( Date: Mon, 18 Jun 2018 16:11:00 +0900 Subject: [PATCH 056/115] Align everything to the left --- packages/selenium-ide/src/neo/components/Variable/style.css | 2 +- packages/selenium-ide/src/neo/components/VariableList/style.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index a9dce5454..fa214ccad 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -15,7 +15,7 @@ float: left; padding: 0; width: 48%; - text-align: right; + text-align: left; } .row .col { diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index 41631664e..f56e95402 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -4,7 +4,7 @@ border-bottom: 2px solid #5B5B5B; font-size: 14px; color: #5B5B5B; - text-align: center; + text-align: left; } .value-header div { From 8c8a1e2419b8af0a1b446aa7174be6ee8bc8ee68 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 16:14:17 +0900 Subject: [PATCH 057/115] modify mas-width --- packages/selenium-ide/src/neo/components/VariableList/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index f56e95402..ae22f2e4e 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -22,7 +22,7 @@ width: 100%; text-align: left; border-collapse: collapse; - max-width: 655px; + max-width: 255px; } .storeContainer { From 73af0069aa01367a21894858fe749fa1897d9c67 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 17:23:44 +0900 Subject: [PATCH 058/115] move test case directory --- .../src/neo/__test__/stores/{domain => }/view/Variables.spec.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/selenium-ide/src/neo/__test__/stores/{domain => }/view/Variables.spec.js (100%) diff --git a/packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js b/packages/selenium-ide/src/neo/__test__/stores/view/Variables.spec.js similarity index 100% rename from packages/selenium-ide/src/neo/__test__/stores/domain/view/Variables.spec.js rename to packages/selenium-ide/src/neo/__test__/stores/view/Variables.spec.js From b8bf1be40c308e94e99bdd2e4cae10b6347cf27c Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 17:49:13 +0900 Subject: [PATCH 059/115] fixed the path in the test case --- .../selenium-ide/src/neo/__test__/stores/view/Variables.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/__test__/stores/view/Variables.spec.js b/packages/selenium-ide/src/neo/__test__/stores/view/Variables.spec.js index c3a62004e..6f2cd560a 100644 --- a/packages/selenium-ide/src/neo/__test__/stores/view/Variables.spec.js +++ b/packages/selenium-ide/src/neo/__test__/stores/view/Variables.spec.js @@ -16,7 +16,7 @@ // under the License. import { useStrict } from "mobx"; -import Variables from "../../../../stores/view/Variables"; +import Variables from "../../../stores/view/Variables"; useStrict(true); From fcb0695b699dc92dd96335f04aeb094e4132bb11 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 17:57:34 +0900 Subject: [PATCH 060/115] fixed indent --- .../src/neo/components/Variable/index.jsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 70b30f2d6..fc2bbd1e7 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -19,7 +19,6 @@ import React from "react"; import PropTypes from "prop-types"; import ContentEditable from "react-contenteditable"; import DeleteButton from "../ActionButtons/Delete"; -import AddButton from "../../components/ActionButtons/Add"; import { observer } from "mobx-react"; import "./style.css"; @@ -41,11 +40,11 @@ export default class Variable extends React.Component { } } } - handleChange(e) { + handleChange() { this.delete(); - this.props.edit(this.state.key || this.props.keyVar, this.state.value ||this.props.value); + this.props.edit(this.state.key || this.props.keyVar, this.state.value || this.props.value); } - delete(){ + delete() { this.props.delete(this.props.keyVar); } keyChanged(e) { @@ -56,13 +55,13 @@ export default class Variable extends React.Component { } render() { return ( -
    +
    {this.props.keyVar ? ":" : null}
    - +
    {this.props.isAdding ? null : } @@ -76,6 +75,6 @@ export default class Variable extends React.Component { edit: PropTypes.func, delete: PropTypes.func, add: PropTypes.func, - adding: PropTypes.bool + isAdding: PropTypes.bool }; } From f07811639a9c24089a223a18965903fb3c8d05db Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 18:34:00 +0900 Subject: [PATCH 061/115] remove border-radius --- packages/selenium-ide/src/neo/components/Variable/style.css | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index fa214ccad..129e3207b 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -34,7 +34,6 @@ } .row .editable { - border-radius: 4px; padding: 0; line-height: 14px; } From e4b61c3cc58d86c9cfcaa2b0a587a76dcd47fb87 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 18 Jun 2018 18:56:57 +0900 Subject: [PATCH 062/115] temp commit to keep working at home --- .../src/neo/components/Variable/index.jsx | 21 +++++++++++++++---- .../src/neo/components/Variable/style.css | 2 +- .../src/neo/components/VariableList/index.jsx | 1 + .../src/neo/stores/view/Variables.js | 2 ++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index fc2bbd1e7..73dba4ee6 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -17,6 +17,7 @@ import React from "react"; import PropTypes from "prop-types"; +import classNames from "classnames"; import ContentEditable from "react-contenteditable"; import DeleteButton from "../ActionButtons/Delete"; import { observer } from "mobx-react"; @@ -54,14 +55,26 @@ export default class Variable extends React.Component { this.setState({ value: e.target.value }); } render() { + const isEditing = this.props.keyVar || this.props.isAdding; return ( -
    +
    - +
    -
    {this.props.keyVar ? ":" : null}
    +
    { isEditing ? ":" : null }
    - +
    {this.props.isAdding ? null : } diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 129e3207b..1f2f490ad 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -33,7 +33,7 @@ box-shadow: 0 0 0 1px transparent inset; } -.row .editable { +.row .edit { padding: 0; line-height: 14px; } diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 49595a672..dc6444e06 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -33,6 +33,7 @@ export default class VariableList extends React.Component { render() { const variables = this.props.variables; + console.log(variables.isEditable); return (
    diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index 80d1e6aad..e86f88d17 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -16,10 +16,12 @@ // under the License. import { action, observable } from "mobx"; +import PlaybackState from "./PlaybackState"; class Variables { @observable storedVars = new Map(); @observable addingVariable = false; + @observable isEditable = (!PlaybackState.isPlaying || PlaybackState.paused || PlaybackState.isStopping); @action.bound get(key) { return this.storedVars.get(key); From 595ea296b6cbde7788cdebf03bf73f895fea9ddf Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 19 Jun 2018 17:11:53 +0900 Subject: [PATCH 063/115] move the addingVariable to component --- .../src/neo/components/VariableList/index.jsx | 24 +++++++++++++++---- .../src/neo/stores/view/Variables.js | 8 ------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index dc6444e06..9718ebb76 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -25,15 +25,29 @@ import "./style.css"; export default class VariableList extends React.Component { constructor(props){ super(props); + this.state = { addingVariable: false }; this.editVariable = this.editVariable.bind(this); + this.deleteVariable = this.deleteVariable.bind(this); + this.addVariable = this.addVariable.bind(this); } editVariable(key, value){ + this.setState({ addingVariable: false }); this.props.variables.addVariable(key, value); } + deleteVariable(key){ + this.setState({ addingVariable: false }); + this.props.variables.deleteVariable(key); + } + addVariable(key, value){ + this.setState({ addingVariable: false }); + this.props.variables.addVariable(key, value); + } + add(){ + this.setState({ addingVariable: true }); + } render() { const variables = this.props.variables; - console.log(variables.isEditable); return (
    @@ -49,14 +63,14 @@ export default class VariableList extends React.Component { keyVar={storedKey} value={variables.storedVars.get(storedKey)} edit={this.editVariable} - delete={variables.deleteVariable} + delete={this.deleteVariable} /> )).concat( )}
    diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index e86f88d17..ea7701a2b 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -20,7 +20,6 @@ import PlaybackState from "./PlaybackState"; class Variables { @observable storedVars = new Map(); - @observable addingVariable = false; @observable isEditable = (!PlaybackState.isPlaying || PlaybackState.paused || PlaybackState.isStopping); @action.bound get(key) { @@ -28,24 +27,17 @@ class Variables { } @action.bound addVariable(key, value) { - this.addingVariable = false; this.storedVars.set(key, value); } @action.bound deleteVariable(key) { - this.addingVariable = false; if(this.storedVars.has(key)) this.storedVars.delete(key); } @action.bound clearVariables() { - this.addingVariable = false; this.storedVars.clear(); } - - @action.bound setAddingVariable(isAdding){ - this.addingVariable = isAdding; - } } if (!window._variables) window._variables = new Variables(); From 63f2056010d454c0aae0a3aa8a443440b93e9414 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 19 Jun 2018 17:26:31 +0900 Subject: [PATCH 064/115] add isRunning computed --- packages/selenium-ide/src/neo/stores/view/Variables.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index ea7701a2b..2c8864aaa 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -15,12 +15,11 @@ // specific language governing permissions and limitations // under the License. -import { action, observable } from "mobx"; +import { action, observable, computed} from "mobx"; import PlaybackState from "./PlaybackState"; class Variables { @observable storedVars = new Map(); - @observable isEditable = (!PlaybackState.isPlaying || PlaybackState.paused || PlaybackState.isStopping); @action.bound get(key) { return this.storedVars.get(key); @@ -38,6 +37,10 @@ class Variables { @action.bound clearVariables() { this.storedVars.clear(); } + + @computed get isRunning(){ + return !PlaybackState.isPlaying || PlaybackState.paused || PlaybackState.isStopping; + } } if (!window._variables) window._variables = new Variables(); From 047972889814c1f6fbae3f2e94023745a689a30e Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 19 Jun 2018 17:52:35 +0900 Subject: [PATCH 065/115] Don't let users edit anything unless they are on a breakpoint --- .../src/neo/components/Variable/index.jsx | 10 +- .../src/neo/components/VariableList/index.jsx | 2 + .../src/neo/stores/view/Variables.js | 4 +- yarn.lock | 412 +++++++++--------- 4 files changed, 221 insertions(+), 207 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 73dba4ee6..5b309c047 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -60,8 +60,8 @@ export default class Variable extends React.Component {
    { isEditing ? ":" : null }
    )).concat( )}
    diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index 2c8864aaa..d27a1a087 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -import { action, observable, computed} from "mobx"; +import { action, observable, computed } from "mobx"; import PlaybackState from "./PlaybackState"; class Variables { @@ -38,7 +38,7 @@ class Variables { this.storedVars.clear(); } - @computed get isRunning(){ + @computed get isStop(){ return !PlaybackState.isPlaying || PlaybackState.paused || PlaybackState.isStopping; } } diff --git a/yarn.lock b/yarn.lock index ce2dfee48..3d203e697 100644 --- a/yarn.lock +++ b/yarn.lock @@ -634,12 +634,12 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.0.1.tgz#bbad3bf523fb202da05ed0a6540b48c84eed13a6" +babel-jest@^22.0.4, babel-jest@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.4.tgz#977259240420e227444ebe49e226a61e49ea659d" dependencies: - babel-plugin-istanbul "^4.1.6" - babel-preset-jest "^23.0.1" + babel-plugin-istanbul "^4.1.5" + babel-preset-jest "^22.4.4" babel-messages@^6.23.0: version "6.23.0" @@ -647,7 +647,7 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.1.6: +babel-plugin-istanbul@^4.1.5: version "4.1.6" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" dependencies: @@ -656,9 +656,9 @@ babel-plugin-istanbul@^4.1.6: istanbul-lib-instrument "^1.10.1" test-exclude "^4.2.1" -babel-plugin-jest-hoist@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.0.1.tgz#eaa11c964563aea9c21becef2bdf7853f7f3c148" +babel-plugin-jest-hoist@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b" babel-plugin-syntax-object-rest-spread@^6.13.0: version "6.13.0" @@ -680,11 +680,11 @@ babel-polyfill@6.26.0: core-js "^2.5.0" regenerator-runtime "^0.10.5" -babel-preset-jest@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.0.1.tgz#631cc545c6cf021943013bcaf22f45d87fe62198" +babel-preset-jest@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz#ec9fbd8bcd7dfd24b8b5320e0e688013235b7c39" dependencies: - babel-plugin-jest-hoist "^23.0.1" + babel-plugin-jest-hoist "^22.4.4" babel-plugin-syntax-object-rest-spread "^6.13.0" babel-register@6.26.0, babel-register@^6.26.0: @@ -2001,7 +2001,7 @@ eslint-plugin-class-property@^1.1.0: dependencies: eslint "^3.19.0" -eslint-plugin-jest@^21.17.0: +eslint-plugin-jest@^21.6.1: version "21.17.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.17.0.tgz#fdb00e2f9ff16987d6ebcf2c75c7add105760bbb" @@ -2264,16 +2264,16 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expect@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-23.1.0.tgz#bfdfd57a2a20170d875999ee9787cc71f01c205f" +expect@^22.4.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" dependencies: ansi-styles "^3.2.0" - jest-diff "^23.0.1" - jest-get-type "^22.1.0" - jest-matcher-utils "^23.0.1" - jest-message-util "^23.1.0" - jest-regex-util "^23.0.0" + jest-diff "^22.4.3" + jest-get-type "^22.4.3" + jest-matcher-utils "^22.4.3" + jest-message-util "^22.4.3" + jest-regex-util "^22.4.3" extend-shallow@^2.0.1: version "2.0.1" @@ -3505,7 +3505,7 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-api@^1.3.1: +istanbul-api@^1.1.14: version "1.3.1" resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" dependencies: @@ -3522,7 +3522,7 @@ istanbul-api@^1.3.1: mkdirp "^0.5.1" once "^1.4.0" -istanbul-lib-coverage@^1.2.0: +istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.1.2, istanbul-lib-coverage@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" @@ -3532,7 +3532,7 @@ istanbul-lib-hook@^1.2.0: dependencies: append-transform "^1.0.0" -istanbul-lib-instrument@^1.10.1: +istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.8.0: version "1.10.1" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" dependencies: @@ -3553,6 +3553,16 @@ istanbul-lib-report@^1.1.4: path-parse "^1.0.5" supports-color "^3.1.2" +istanbul-lib-source-maps@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz#20fb54b14e14b3fb6edb6aca3571fd2143db44e6" + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.1.2" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + istanbul-lib-source-maps@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1" @@ -3573,15 +3583,15 @@ jed@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/jed/-/jed-1.1.1.tgz#7a549bbd9ffe1585b0cd0a191e203055bee574b4" -jest-changed-files@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.0.1.tgz#f79572d0720844ea5df84c2a448e862c2254f60c" +jest-changed-files@^22.2.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" dependencies: throat "^4.0.0" -jest-cli@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.1.0.tgz#eb8bdd4ce0d15250892e31ad9b69bc99d2a8f6bf" +jest-cli@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.4.tgz#68cd2a2aae983adb1e6638248ca21082fd6d9e90" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -3590,25 +3600,24 @@ jest-cli@^23.1.0: graceful-fs "^4.1.11" import-local "^1.0.0" is-ci "^1.0.10" - istanbul-api "^1.3.1" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-instrument "^1.10.1" - istanbul-lib-source-maps "^1.2.4" - jest-changed-files "^23.0.1" - jest-config "^23.1.0" - jest-environment-jsdom "^23.1.0" + istanbul-api "^1.1.14" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-instrument "^1.8.0" + istanbul-lib-source-maps "^1.2.1" + jest-changed-files "^22.2.0" + jest-config "^22.4.4" + jest-environment-jsdom "^22.4.1" jest-get-type "^22.1.0" - jest-haste-map "^23.1.0" - jest-message-util "^23.1.0" - jest-regex-util "^23.0.0" - jest-resolve-dependencies "^23.0.1" - jest-runner "^23.1.0" - jest-runtime "^23.1.0" - jest-snapshot "^23.0.1" - jest-util "^23.1.0" - jest-validate "^23.0.1" - jest-watcher "^23.1.0" - jest-worker "^23.0.1" + jest-haste-map "^22.4.2" + jest-message-util "^22.4.0" + jest-regex-util "^22.1.0" + jest-resolve-dependencies "^22.1.0" + jest-runner "^22.4.4" + jest-runtime "^22.4.4" + jest-snapshot "^22.4.0" + jest-util "^22.4.1" + jest-validate "^22.4.4" + jest-worker "^22.2.2" micromatch "^2.3.11" node-notifier "^5.2.1" realpath-native "^1.0.0" @@ -3617,112 +3626,103 @@ jest-cli@^23.1.0: string-length "^2.0.0" strip-ansi "^4.0.0" which "^1.2.12" - yargs "^11.0.0" + yargs "^10.0.3" -jest-config@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.1.0.tgz#708ca0f431d356ee424fb4895d3308006bdd8241" +jest-config@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.4.tgz#72a521188720597169cd8b4ff86934ef5752d86a" dependencies: - babel-core "^6.0.0" - babel-jest "^23.0.1" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^23.1.0" - jest-environment-node "^23.1.0" + jest-environment-jsdom "^22.4.1" + jest-environment-node "^22.4.1" jest-get-type "^22.1.0" - jest-jasmine2 "^23.1.0" - jest-regex-util "^23.0.0" - jest-resolve "^23.1.0" - jest-util "^23.1.0" - jest-validate "^23.0.1" - pretty-format "^23.0.1" - -jest-diff@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.0.1.tgz#3d49137cee12c320a4b4d2b4a6fa6e82d491a16a" + jest-jasmine2 "^22.4.4" + jest-regex-util "^22.1.0" + jest-resolve "^22.4.2" + jest-util "^22.4.1" + jest-validate "^22.4.4" + pretty-format "^22.4.0" + +jest-diff@^22.4.0, jest-diff@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" dependencies: chalk "^2.0.1" diff "^3.2.0" - jest-get-type "^22.1.0" - pretty-format "^23.0.1" + jest-get-type "^22.4.3" + pretty-format "^22.4.3" -jest-docblock@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.0.1.tgz#deddd18333be5dc2415260a04ef3fce9276b5725" +jest-docblock@^22.4.0, jest-docblock@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" dependencies: detect-newline "^2.1.0" -jest-each@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.1.0.tgz#16146b592c354867a5ae5e13cdf15c6c65b696c6" - dependencies: - chalk "^2.0.1" - pretty-format "^23.0.1" - -jest-environment-jsdom@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.1.0.tgz#85929914e23bed3577dac9755f4106d0697c479c" +jest-environment-jsdom@^22.4.1: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" dependencies: - jest-mock "^23.1.0" - jest-util "^23.1.0" + jest-mock "^22.4.3" + jest-util "^22.4.3" jsdom "^11.5.1" -jest-environment-node@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.1.0.tgz#452c0bf949cfcbbacda1e1762eeed70bc784c7d5" +jest-environment-node@^22.4.1: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" dependencies: - jest-mock "^23.1.0" - jest-util "^23.1.0" + jest-mock "^22.4.3" + jest-util "^22.4.3" -jest-get-type@^22.1.0: +jest-get-type@^22.1.0, jest-get-type@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" -jest-haste-map@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.1.0.tgz#18e6c7d5a8d27136f91b7d9852f85de0c7074c49" +jest-haste-map@^22.4.2: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" - jest-docblock "^23.0.1" - jest-serializer "^23.0.1" - jest-worker "^23.0.1" + jest-docblock "^22.4.3" + jest-serializer "^22.4.3" + jest-worker "^22.4.3" micromatch "^2.3.11" sane "^2.0.0" -jest-jasmine2@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.1.0.tgz#4afab31729b654ddcd2b074add849396f13b30b8" +jest-jasmine2@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz#c55f92c961a141f693f869f5f081a79a10d24e23" dependencies: chalk "^2.0.1" co "^4.6.0" - expect "^23.1.0" + expect "^22.4.0" + graceful-fs "^4.1.11" is-generator-fn "^1.0.0" - jest-diff "^23.0.1" - jest-each "^23.1.0" - jest-matcher-utils "^23.0.1" - jest-message-util "^23.1.0" - jest-snapshot "^23.0.1" - jest-util "^23.1.0" - pretty-format "^23.0.1" - -jest-leak-detector@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.0.1.tgz#9dba07505ac3495c39d3ec09ac1e564599e861a0" + jest-diff "^22.4.0" + jest-matcher-utils "^22.4.0" + jest-message-util "^22.4.0" + jest-snapshot "^22.4.0" + jest-util "^22.4.1" + source-map-support "^0.5.0" + +jest-leak-detector@^22.4.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" dependencies: - pretty-format "^23.0.1" + pretty-format "^22.4.3" -jest-matcher-utils@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.0.1.tgz#0c6c0daedf9833c2a7f36236069efecb4c3f6e5f" +jest-matcher-utils@^22.4.0, jest-matcher-utils@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" dependencies: chalk "^2.0.1" - jest-get-type "^22.1.0" - pretty-format "^23.0.1" + jest-get-type "^22.4.3" + pretty-format "^22.4.3" -jest-message-util@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.1.0.tgz#9a809ba487ecac5ce511d4e698ee3b5ee2461ea9" +jest-message-util@^22.4.0, jest-message-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" dependencies: "@babel/code-frame" "^7.0.0-beta.35" chalk "^2.0.1" @@ -3730,130 +3730,117 @@ jest-message-util@^23.1.0: slash "^1.0.0" stack-utils "^1.0.1" -jest-mock@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.1.0.tgz#a381c31b121ab1f60c462a2dadb7b86dcccac487" +jest-mock@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" -jest-regex-util@^23.0.0: - version "23.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.0.0.tgz#dd5c1fde0c46f4371314cf10f7a751a23f4e8f76" +jest-regex-util@^22.1.0, jest-regex-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" -jest-resolve-dependencies@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.0.1.tgz#d01a10ddad9152c4cecdf5eac2b88571c4b6a64d" +jest-resolve-dependencies@^22.1.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" dependencies: - jest-regex-util "^23.0.0" - jest-snapshot "^23.0.1" + jest-regex-util "^22.4.3" -jest-resolve@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.1.0.tgz#b9e316eecebd6f00bc50a3960d1527bae65792d2" +jest-resolve@^22.4.2: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" dependencies: browser-resolve "^1.11.2" chalk "^2.0.1" - realpath-native "^1.0.0" -jest-runner@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.1.0.tgz#fa20a933fff731a5432b3561e7f6426594fa29b5" +jest-runner@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.4.tgz#dfca7b7553e0fa617e7b1291aeb7ce83e540a907" dependencies: exit "^0.1.2" - graceful-fs "^4.1.11" - jest-config "^23.1.0" - jest-docblock "^23.0.1" - jest-haste-map "^23.1.0" - jest-jasmine2 "^23.1.0" - jest-leak-detector "^23.0.1" - jest-message-util "^23.1.0" - jest-runtime "^23.1.0" - jest-util "^23.1.0" - jest-worker "^23.0.1" - source-map-support "^0.5.6" + jest-config "^22.4.4" + jest-docblock "^22.4.0" + jest-haste-map "^22.4.2" + jest-jasmine2 "^22.4.4" + jest-leak-detector "^22.4.0" + jest-message-util "^22.4.0" + jest-runtime "^22.4.4" + jest-util "^22.4.1" + jest-worker "^22.2.2" throat "^4.0.0" -jest-runtime@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.1.0.tgz#b4ae0e87259ecacfd4a884b639db07cf4dd620af" +jest-runtime@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.4.tgz#9ba7792fc75582a5be0f79af6f8fe8adea314048" dependencies: babel-core "^6.0.0" - babel-plugin-istanbul "^4.1.6" + babel-jest "^22.4.4" + babel-plugin-istanbul "^4.1.5" chalk "^2.0.1" convert-source-map "^1.4.0" exit "^0.1.2" - fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.11" - jest-config "^23.1.0" - jest-haste-map "^23.1.0" - jest-message-util "^23.1.0" - jest-regex-util "^23.0.0" - jest-resolve "^23.1.0" - jest-snapshot "^23.0.1" - jest-util "^23.1.0" - jest-validate "^23.0.1" + jest-config "^22.4.4" + jest-haste-map "^22.4.2" + jest-regex-util "^22.1.0" + jest-resolve "^22.4.2" + jest-util "^22.4.1" + jest-validate "^22.4.4" + json-stable-stringify "^1.0.1" micromatch "^2.3.11" realpath-native "^1.0.0" slash "^1.0.0" strip-bom "3.0.0" write-file-atomic "^2.1.0" - yargs "^11.0.0" + yargs "^10.0.3" -jest-serializer@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" +jest-serializer@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" -jest-snapshot@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.0.1.tgz#6674fa19b9eb69a99cabecd415bddc42d6af3e7e" +jest-snapshot@^22.4.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" dependencies: chalk "^2.0.1" - jest-diff "^23.0.1" - jest-matcher-utils "^23.0.1" + jest-diff "^22.4.3" + jest-matcher-utils "^22.4.3" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^23.0.1" + pretty-format "^22.4.3" -jest-util@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.1.0.tgz#c0251baf34644c6dd2fea78a962f4263ac55772d" +jest-util@^22.4.1, jest-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" dependencies: callsites "^2.0.0" chalk "^2.0.1" graceful-fs "^4.1.11" is-ci "^1.0.10" - jest-message-util "^23.1.0" + jest-message-util "^22.4.3" mkdirp "^0.5.1" - slash "^1.0.0" source-map "^0.6.0" -jest-validate@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.0.1.tgz#cd9f01a89d26bb885f12a8667715e9c865a5754f" +jest-validate@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.4.tgz#1dd0b616ef46c995de61810d85f57119dbbcec4d" dependencies: chalk "^2.0.1" + jest-config "^22.4.4" jest-get-type "^22.1.0" leven "^2.1.0" - pretty-format "^23.0.1" - -jest-watcher@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.1.0.tgz#a8d5842e38d9fb4afff823df6abb42a58ae6cdbd" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" - string-length "^2.0.0" + pretty-format "^22.4.0" -jest-worker@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.0.1.tgz#9e649dd963ff4046026f91c4017f039a6aa4a7bc" +jest-worker@^22.2.2, jest-worker@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" dependencies: merge-stream "^1.0.1" -jest@^23.1.0: - version "23.1.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-23.1.0.tgz#bbb7f893100a11a742dd8bd0d047a54b0968ad1a" +jest@^22.0.5: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.4.tgz#ffb36c9654b339a13e10b3d4b338eb3e9d49f6eb" dependencies: import-local "^1.0.0" - jest-cli "^23.1.0" + jest-cli "^22.4.4" jetpack-id@1.0.0: version "1.0.0" @@ -5098,9 +5085,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-format@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.0.1.tgz#d61d065268e4c759083bccbca27a01ad7c7601f4" +pretty-format@^22.4.0, pretty-format@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" dependencies: ansi-regex "^3.0.0" ansi-styles "^3.2.0" @@ -6080,7 +6067,7 @@ source-map-support@0.5.3: dependencies: source-map "^0.6.0" -source-map-support@0.5.6, source-map-support@^0.5.6, source-map-support@~0.5.4: +source-map-support@0.5.6, source-map-support@^0.5.0, source-map-support@~0.5.4: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" dependencies: @@ -7133,13 +7120,19 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" +yargs-parser@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" + dependencies: + camelcase "^4.1.0" + yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" dependencies: camelcase "^4.1.0" -yargs@11.0.0, yargs@^11.0.0, yargs@~11.0.0: +yargs@11.0.0, yargs@~11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" dependencies: @@ -7174,6 +7167,23 @@ yargs@6.6.0: y18n "^3.2.1" yargs-parser "^4.2.0" +yargs@^10.0.3: + version "10.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^8.1.0" + yargs@^3.19.0: version "3.32.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" From ec2a3dbe528622e4a9c6c9be878a48f01667e973 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 19 Jun 2018 18:03:23 +0900 Subject: [PATCH 066/115] commit yarn.lock file --- yarn.lock | 412 ++++++++++++++++++++++++++---------------------------- 1 file changed, 201 insertions(+), 211 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3d203e697..ce2dfee48 100644 --- a/yarn.lock +++ b/yarn.lock @@ -634,12 +634,12 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^22.0.4, babel-jest@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.4.tgz#977259240420e227444ebe49e226a61e49ea659d" +babel-jest@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.0.1.tgz#bbad3bf523fb202da05ed0a6540b48c84eed13a6" dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.4.4" + babel-plugin-istanbul "^4.1.6" + babel-preset-jest "^23.0.1" babel-messages@^6.23.0: version "6.23.0" @@ -647,7 +647,7 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.1.5: +babel-plugin-istanbul@^4.1.6: version "4.1.6" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" dependencies: @@ -656,9 +656,9 @@ babel-plugin-istanbul@^4.1.5: istanbul-lib-instrument "^1.10.1" test-exclude "^4.2.1" -babel-plugin-jest-hoist@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b" +babel-plugin-jest-hoist@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.0.1.tgz#eaa11c964563aea9c21becef2bdf7853f7f3c148" babel-plugin-syntax-object-rest-spread@^6.13.0: version "6.13.0" @@ -680,11 +680,11 @@ babel-polyfill@6.26.0: core-js "^2.5.0" regenerator-runtime "^0.10.5" -babel-preset-jest@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz#ec9fbd8bcd7dfd24b8b5320e0e688013235b7c39" +babel-preset-jest@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.0.1.tgz#631cc545c6cf021943013bcaf22f45d87fe62198" dependencies: - babel-plugin-jest-hoist "^22.4.4" + babel-plugin-jest-hoist "^23.0.1" babel-plugin-syntax-object-rest-spread "^6.13.0" babel-register@6.26.0, babel-register@^6.26.0: @@ -2001,7 +2001,7 @@ eslint-plugin-class-property@^1.1.0: dependencies: eslint "^3.19.0" -eslint-plugin-jest@^21.6.1: +eslint-plugin-jest@^21.17.0: version "21.17.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.17.0.tgz#fdb00e2f9ff16987d6ebcf2c75c7add105760bbb" @@ -2264,16 +2264,16 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expect@^22.4.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" +expect@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-23.1.0.tgz#bfdfd57a2a20170d875999ee9787cc71f01c205f" dependencies: ansi-styles "^3.2.0" - jest-diff "^22.4.3" - jest-get-type "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" + jest-diff "^23.0.1" + jest-get-type "^22.1.0" + jest-matcher-utils "^23.0.1" + jest-message-util "^23.1.0" + jest-regex-util "^23.0.0" extend-shallow@^2.0.1: version "2.0.1" @@ -3505,7 +3505,7 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-api@^1.1.14: +istanbul-api@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" dependencies: @@ -3522,7 +3522,7 @@ istanbul-api@^1.1.14: mkdirp "^0.5.1" once "^1.4.0" -istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.1.2, istanbul-lib-coverage@^1.2.0: +istanbul-lib-coverage@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" @@ -3532,7 +3532,7 @@ istanbul-lib-hook@^1.2.0: dependencies: append-transform "^1.0.0" -istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.8.0: +istanbul-lib-instrument@^1.10.1: version "1.10.1" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" dependencies: @@ -3553,16 +3553,6 @@ istanbul-lib-report@^1.1.4: path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz#20fb54b14e14b3fb6edb6aca3571fd2143db44e6" - dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^1.1.2" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" - istanbul-lib-source-maps@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1" @@ -3583,15 +3573,15 @@ jed@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/jed/-/jed-1.1.1.tgz#7a549bbd9ffe1585b0cd0a191e203055bee574b4" -jest-changed-files@^22.2.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" +jest-changed-files@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.0.1.tgz#f79572d0720844ea5df84c2a448e862c2254f60c" dependencies: throat "^4.0.0" -jest-cli@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.4.tgz#68cd2a2aae983adb1e6638248ca21082fd6d9e90" +jest-cli@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.1.0.tgz#eb8bdd4ce0d15250892e31ad9b69bc99d2a8f6bf" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -3600,24 +3590,25 @@ jest-cli@^22.4.4: graceful-fs "^4.1.11" import-local "^1.0.0" is-ci "^1.0.10" - istanbul-api "^1.1.14" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-instrument "^1.8.0" - istanbul-lib-source-maps "^1.2.1" - jest-changed-files "^22.2.0" - jest-config "^22.4.4" - jest-environment-jsdom "^22.4.1" + istanbul-api "^1.3.1" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-instrument "^1.10.1" + istanbul-lib-source-maps "^1.2.4" + jest-changed-files "^23.0.1" + jest-config "^23.1.0" + jest-environment-jsdom "^23.1.0" jest-get-type "^22.1.0" - jest-haste-map "^22.4.2" - jest-message-util "^22.4.0" - jest-regex-util "^22.1.0" - jest-resolve-dependencies "^22.1.0" - jest-runner "^22.4.4" - jest-runtime "^22.4.4" - jest-snapshot "^22.4.0" - jest-util "^22.4.1" - jest-validate "^22.4.4" - jest-worker "^22.2.2" + jest-haste-map "^23.1.0" + jest-message-util "^23.1.0" + jest-regex-util "^23.0.0" + jest-resolve-dependencies "^23.0.1" + jest-runner "^23.1.0" + jest-runtime "^23.1.0" + jest-snapshot "^23.0.1" + jest-util "^23.1.0" + jest-validate "^23.0.1" + jest-watcher "^23.1.0" + jest-worker "^23.0.1" micromatch "^2.3.11" node-notifier "^5.2.1" realpath-native "^1.0.0" @@ -3626,103 +3617,112 @@ jest-cli@^22.4.4: string-length "^2.0.0" strip-ansi "^4.0.0" which "^1.2.12" - yargs "^10.0.3" + yargs "^11.0.0" -jest-config@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.4.tgz#72a521188720597169cd8b4ff86934ef5752d86a" +jest-config@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.1.0.tgz#708ca0f431d356ee424fb4895d3308006bdd8241" dependencies: + babel-core "^6.0.0" + babel-jest "^23.0.1" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^22.4.1" - jest-environment-node "^22.4.1" + jest-environment-jsdom "^23.1.0" + jest-environment-node "^23.1.0" jest-get-type "^22.1.0" - jest-jasmine2 "^22.4.4" - jest-regex-util "^22.1.0" - jest-resolve "^22.4.2" - jest-util "^22.4.1" - jest-validate "^22.4.4" - pretty-format "^22.4.0" - -jest-diff@^22.4.0, jest-diff@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" + jest-jasmine2 "^23.1.0" + jest-regex-util "^23.0.0" + jest-resolve "^23.1.0" + jest-util "^23.1.0" + jest-validate "^23.0.1" + pretty-format "^23.0.1" + +jest-diff@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.0.1.tgz#3d49137cee12c320a4b4d2b4a6fa6e82d491a16a" dependencies: chalk "^2.0.1" diff "^3.2.0" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.0.1" -jest-docblock@^22.4.0, jest-docblock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" +jest-docblock@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.0.1.tgz#deddd18333be5dc2415260a04ef3fce9276b5725" dependencies: detect-newline "^2.1.0" -jest-environment-jsdom@^22.4.1: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" +jest-each@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.1.0.tgz#16146b592c354867a5ae5e13cdf15c6c65b696c6" + dependencies: + chalk "^2.0.1" + pretty-format "^23.0.1" + +jest-environment-jsdom@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.1.0.tgz#85929914e23bed3577dac9755f4106d0697c479c" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + jest-mock "^23.1.0" + jest-util "^23.1.0" jsdom "^11.5.1" -jest-environment-node@^22.4.1: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" +jest-environment-node@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.1.0.tgz#452c0bf949cfcbbacda1e1762eeed70bc784c7d5" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + jest-mock "^23.1.0" + jest-util "^23.1.0" -jest-get-type@^22.1.0, jest-get-type@^22.4.3: +jest-get-type@^22.1.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" -jest-haste-map@^22.4.2: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" +jest-haste-map@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.1.0.tgz#18e6c7d5a8d27136f91b7d9852f85de0c7074c49" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" - jest-docblock "^22.4.3" - jest-serializer "^22.4.3" - jest-worker "^22.4.3" + jest-docblock "^23.0.1" + jest-serializer "^23.0.1" + jest-worker "^23.0.1" micromatch "^2.3.11" sane "^2.0.0" -jest-jasmine2@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz#c55f92c961a141f693f869f5f081a79a10d24e23" +jest-jasmine2@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.1.0.tgz#4afab31729b654ddcd2b074add849396f13b30b8" dependencies: chalk "^2.0.1" co "^4.6.0" - expect "^22.4.0" - graceful-fs "^4.1.11" + expect "^23.1.0" is-generator-fn "^1.0.0" - jest-diff "^22.4.0" - jest-matcher-utils "^22.4.0" - jest-message-util "^22.4.0" - jest-snapshot "^22.4.0" - jest-util "^22.4.1" - source-map-support "^0.5.0" - -jest-leak-detector@^22.4.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" + jest-diff "^23.0.1" + jest-each "^23.1.0" + jest-matcher-utils "^23.0.1" + jest-message-util "^23.1.0" + jest-snapshot "^23.0.1" + jest-util "^23.1.0" + pretty-format "^23.0.1" + +jest-leak-detector@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.0.1.tgz#9dba07505ac3495c39d3ec09ac1e564599e861a0" dependencies: - pretty-format "^22.4.3" + pretty-format "^23.0.1" -jest-matcher-utils@^22.4.0, jest-matcher-utils@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" +jest-matcher-utils@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.0.1.tgz#0c6c0daedf9833c2a7f36236069efecb4c3f6e5f" dependencies: chalk "^2.0.1" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.0.1" -jest-message-util@^22.4.0, jest-message-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" +jest-message-util@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.1.0.tgz#9a809ba487ecac5ce511d4e698ee3b5ee2461ea9" dependencies: "@babel/code-frame" "^7.0.0-beta.35" chalk "^2.0.1" @@ -3730,117 +3730,130 @@ jest-message-util@^22.4.0, jest-message-util@^22.4.3: slash "^1.0.0" stack-utils "^1.0.1" -jest-mock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" +jest-mock@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.1.0.tgz#a381c31b121ab1f60c462a2dadb7b86dcccac487" -jest-regex-util@^22.1.0, jest-regex-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" +jest-regex-util@^23.0.0: + version "23.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.0.0.tgz#dd5c1fde0c46f4371314cf10f7a751a23f4e8f76" -jest-resolve-dependencies@^22.1.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" +jest-resolve-dependencies@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.0.1.tgz#d01a10ddad9152c4cecdf5eac2b88571c4b6a64d" dependencies: - jest-regex-util "^22.4.3" + jest-regex-util "^23.0.0" + jest-snapshot "^23.0.1" -jest-resolve@^22.4.2: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" +jest-resolve@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.1.0.tgz#b9e316eecebd6f00bc50a3960d1527bae65792d2" dependencies: browser-resolve "^1.11.2" chalk "^2.0.1" + realpath-native "^1.0.0" -jest-runner@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.4.tgz#dfca7b7553e0fa617e7b1291aeb7ce83e540a907" +jest-runner@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.1.0.tgz#fa20a933fff731a5432b3561e7f6426594fa29b5" dependencies: exit "^0.1.2" - jest-config "^22.4.4" - jest-docblock "^22.4.0" - jest-haste-map "^22.4.2" - jest-jasmine2 "^22.4.4" - jest-leak-detector "^22.4.0" - jest-message-util "^22.4.0" - jest-runtime "^22.4.4" - jest-util "^22.4.1" - jest-worker "^22.2.2" + graceful-fs "^4.1.11" + jest-config "^23.1.0" + jest-docblock "^23.0.1" + jest-haste-map "^23.1.0" + jest-jasmine2 "^23.1.0" + jest-leak-detector "^23.0.1" + jest-message-util "^23.1.0" + jest-runtime "^23.1.0" + jest-util "^23.1.0" + jest-worker "^23.0.1" + source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.4.tgz#9ba7792fc75582a5be0f79af6f8fe8adea314048" +jest-runtime@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.1.0.tgz#b4ae0e87259ecacfd4a884b639db07cf4dd620af" dependencies: babel-core "^6.0.0" - babel-jest "^22.4.4" - babel-plugin-istanbul "^4.1.5" + babel-plugin-istanbul "^4.1.6" chalk "^2.0.1" convert-source-map "^1.4.0" exit "^0.1.2" + fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.11" - jest-config "^22.4.4" - jest-haste-map "^22.4.2" - jest-regex-util "^22.1.0" - jest-resolve "^22.4.2" - jest-util "^22.4.1" - jest-validate "^22.4.4" - json-stable-stringify "^1.0.1" + jest-config "^23.1.0" + jest-haste-map "^23.1.0" + jest-message-util "^23.1.0" + jest-regex-util "^23.0.0" + jest-resolve "^23.1.0" + jest-snapshot "^23.0.1" + jest-util "^23.1.0" + jest-validate "^23.0.1" micromatch "^2.3.11" realpath-native "^1.0.0" slash "^1.0.0" strip-bom "3.0.0" write-file-atomic "^2.1.0" - yargs "^10.0.3" + yargs "^11.0.0" -jest-serializer@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" +jest-serializer@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" -jest-snapshot@^22.4.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" +jest-snapshot@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.0.1.tgz#6674fa19b9eb69a99cabecd415bddc42d6af3e7e" dependencies: chalk "^2.0.1" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" + jest-diff "^23.0.1" + jest-matcher-utils "^23.0.1" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^22.4.3" + pretty-format "^23.0.1" -jest-util@^22.4.1, jest-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" +jest-util@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.1.0.tgz#c0251baf34644c6dd2fea78a962f4263ac55772d" dependencies: callsites "^2.0.0" chalk "^2.0.1" graceful-fs "^4.1.11" is-ci "^1.0.10" - jest-message-util "^22.4.3" + jest-message-util "^23.1.0" mkdirp "^0.5.1" + slash "^1.0.0" source-map "^0.6.0" -jest-validate@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.4.tgz#1dd0b616ef46c995de61810d85f57119dbbcec4d" +jest-validate@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.0.1.tgz#cd9f01a89d26bb885f12a8667715e9c865a5754f" dependencies: chalk "^2.0.1" - jest-config "^22.4.4" jest-get-type "^22.1.0" leven "^2.1.0" - pretty-format "^22.4.0" + pretty-format "^23.0.1" -jest-worker@^22.2.2, jest-worker@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" +jest-watcher@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.1.0.tgz#a8d5842e38d9fb4afff823df6abb42a58ae6cdbd" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + string-length "^2.0.0" + +jest-worker@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.0.1.tgz#9e649dd963ff4046026f91c4017f039a6aa4a7bc" dependencies: merge-stream "^1.0.1" -jest@^22.0.5: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.4.tgz#ffb36c9654b339a13e10b3d4b338eb3e9d49f6eb" +jest@^23.1.0: + version "23.1.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-23.1.0.tgz#bbb7f893100a11a742dd8bd0d047a54b0968ad1a" dependencies: import-local "^1.0.0" - jest-cli "^22.4.4" + jest-cli "^23.1.0" jetpack-id@1.0.0: version "1.0.0" @@ -5085,9 +5098,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-format@^22.4.0, pretty-format@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" +pretty-format@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.0.1.tgz#d61d065268e4c759083bccbca27a01ad7c7601f4" dependencies: ansi-regex "^3.0.0" ansi-styles "^3.2.0" @@ -6067,7 +6080,7 @@ source-map-support@0.5.3: dependencies: source-map "^0.6.0" -source-map-support@0.5.6, source-map-support@^0.5.0, source-map-support@~0.5.4: +source-map-support@0.5.6, source-map-support@^0.5.6, source-map-support@~0.5.4: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" dependencies: @@ -7120,19 +7133,13 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - dependencies: - camelcase "^4.1.0" - yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" dependencies: camelcase "^4.1.0" -yargs@11.0.0, yargs@~11.0.0: +yargs@11.0.0, yargs@^11.0.0, yargs@~11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" dependencies: @@ -7167,23 +7174,6 @@ yargs@6.6.0: y18n "^3.2.1" yargs-parser "^4.2.0" -yargs@^10.0.3: - version "10.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.1.0" - yargs@^3.19.0: version "3.32.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" From ff0bc3d90d11e949b379ebbb54f7a7f0e1cf874a Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 19 Jun 2018 23:03:26 +0900 Subject: [PATCH 067/115] add the isAddingVariable state --- .../src/neo/components/VariableList/index.jsx | 15 ++++++++------- .../src/neo/containers/Console/index.jsx | 14 ++++++++++---- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 9d657ec77..427d4b8bf 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -66,21 +66,22 @@ export default class VariableList extends React.Component { delete={this.deleteVariable} isStop={variables.isStop} /> - )).concat( - - )} + /> : null}
    ); } static propTypes = { - variables: PropTypes.object + variables: PropTypes.object, + isAdding: PropTypes.bool, + setIsAdding: PropTypes.func }; } diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 2110bc0f6..a89d5819c 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -31,12 +31,13 @@ import variables from "../../stores/view/Variables"; export default class Console extends React.Component { constructor(props) { super(props); - this.state = { tab: "Log" }; + this.state = { tab: "Log", isAddingVariable: false }; this.tabClicked = this.tabClicked.bind(this); this.playbackLogger = new PlaybackLogger(); //this.loggerObserver = observe(logger.logs, () => { setState { //set log state to unread } }) this.tabChangedHandler = this.tabChangedHandler.bind(this); + this.addVariableClicked = this.addVariableClicked.bind(this); } componentWillUnmount() { //this.loggerObserver.dispose(); @@ -49,11 +50,16 @@ export default class Console extends React.Component { } //create different object which stores name and read status (e.g., unread boolean) tabClicked(tab) { - this.setState({ + this.setState({ tab }); this.props.restoreSize(); } + addVariableClicked(isAdding) { + this.setState({ + isAddingVariable: isAdding + }); + } render() { return (
    } {this.state.tab === "Variables" &&
    - variables.setAddingVariable(true)} /> + this.addVariableClicked(true)} />
    } {this.state.tab === "Reference" && } {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
    ); From fb8fac2689d9be859c18fe71b4133e30951a657d Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 11:13:53 +0900 Subject: [PATCH 068/115] make Add Variable work properly --- .../src/neo/components/Variable/index.jsx | 59 ++++++++++++------- .../src/neo/components/Variable/style.css | 1 + .../src/neo/components/VariableList/index.jsx | 22 +++---- .../src/neo/containers/Console/index.jsx | 6 +- 4 files changed, 48 insertions(+), 40 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 5b309c047..7dd747257 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -28,9 +28,10 @@ export default class Variable extends React.Component { constructor(props){ super(props); this.handleKeyDown = this.handleKeyDown.bind(this); - this.handleChange = this.handleChange.bind(this); + this.handleChanged = this.handleChanged.bind(this); this.keyChanged = this.keyChanged.bind(this); this.valueChanged = this.valueChanged.bind(this); + this.delete = this.delete.bind(this); this.state = { key: "", value: "" }; } handleKeyDown(e) { @@ -41,9 +42,11 @@ export default class Variable extends React.Component { } } } - handleChange() { - this.delete(); - this.props.edit(this.state.key || this.props.keyVar, this.state.value || this.props.value); + handleChanged() { + if ((this.state.key || this.props.keyVar) && (this.state.value || this.props.value)) { + this.delete(); + this.props.add(this.state.key || this.props.keyVar, this.state.value || this.props.value); + } } delete() { this.props.delete(this.props.keyVar); @@ -55,30 +58,43 @@ export default class Variable extends React.Component { this.setState({ value: e.target.value }); } render() { - const isEditing = this.props.keyVar || this.props.isAdding; return (
    - + {this.props.isAdding ? + + : + }
    -
    { isEditing ? ":" : null }
    +
    :
    - + {this.props.isAdding ? + + : + }
    - {this.props.isAdding ? null : } +
    ); @@ -86,7 +102,6 @@ export default class Variable extends React.Component { static propTypes = { keyVar: PropTypes.string, value: PropTypes.string, - edit: PropTypes.func, delete: PropTypes.func, add: PropTypes.func, isAdding: PropTypes.bool, diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 1f2f490ad..4f4a024f9 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -36,6 +36,7 @@ .row .edit { padding: 0; line-height: 14px; + width: 100%; } .row .editable:hover { diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 427d4b8bf..a5636460e 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -25,25 +25,16 @@ import "./style.css"; export default class VariableList extends React.Component { constructor(props){ super(props); - this.state = { addingVariable: false }; - this.editVariable = this.editVariable.bind(this); this.deleteVariable = this.deleteVariable.bind(this); this.addVariable = this.addVariable.bind(this); } - editVariable(key, value){ - this.setState({ addingVariable: false }); - this.props.variables.addVariable(key, value); - } deleteVariable(key){ - this.setState({ addingVariable: false }); this.props.variables.deleteVariable(key); + this.props.setIsAdding(false); } addVariable(key, value){ - this.setState({ addingVariable: false }); this.props.variables.addVariable(key, value); - } - add(){ - this.setState({ addingVariable: true }); + this.props.setIsAdding(false); } render() { @@ -62,15 +53,16 @@ export default class VariableList extends React.Component { key={storedKey} keyVar={storedKey} value={variables.storedVars.get(storedKey)} - edit={this.editVariable} + add={this.addVariable} delete={this.deleteVariable} isStop={variables.isStop} /> ))} - { this.props.isAdding ? : null} diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index a89d5819c..005f0e1d1 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -50,13 +50,13 @@ export default class Console extends React.Component { } //create different object which stores name and read status (e.g., unread boolean) tabClicked(tab) { - this.setState({ + this.setState({ tab }); this.props.restoreSize(); } addVariableClicked(isAdding) { - this.setState({ + this.setState({ isAddingVariable: isAdding }); } @@ -75,7 +75,7 @@ export default class Console extends React.Component { {this.state.tab === "Reference" && } {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && } ); From 08703dcabaa383f5209494fb9b186f695f259691 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 11:33:04 +0900 Subject: [PATCH 069/115] set focus on the input when clicking add button --- .../src/neo/components/Variable/index.jsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 7dd747257..7adf1775f 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -34,16 +34,22 @@ export default class Variable extends React.Component { this.delete = this.delete.bind(this); this.state = { key: "", value: "" }; } + componentDidMount() { + if (this.input) + this.input.focus(); + } handleKeyDown(e) { if (e.key === "Enter") { e.preventDefault(); - if(this.state.key && this.state.value){ + if (this.state.key && this.state.value) { this.props.add(this.state.key, this.state.value); } } } handleChanged() { - if ((this.state.key || this.props.keyVar) && (this.state.value || this.props.value)) { + const isValidKey = this.state.key || this.props.keyVar; + const isValidValue = this.state.value || this.props.value; + if (isValidKey && isValidValue) { this.delete(); this.props.add(this.state.key || this.props.keyVar, this.state.value || this.props.value); } @@ -63,6 +69,7 @@ export default class Variable extends React.Component {
    {this.props.isAdding ? { this.input = input; }} className="edit" onChange={this.keyChanged} onKeyDown={this.handleKeyDown} From 64ab9cc561c4f6296543c6bb436aad44ed95afa0 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 11:35:03 +0900 Subject: [PATCH 070/115] if there is no input text, make the add variables component disappeared. --- packages/selenium-ide/src/neo/components/Variable/index.jsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 7adf1775f..527b3a4ee 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -52,6 +52,8 @@ export default class Variable extends React.Component { if (isValidKey && isValidValue) { this.delete(); this.props.add(this.state.key || this.props.keyVar, this.state.value || this.props.value); + } else if (!(isValidKey || isValidValue)) { + this.props.setIsAdding(false); } } delete() { @@ -112,6 +114,7 @@ export default class Variable extends React.Component { delete: PropTypes.func, add: PropTypes.func, isAdding: PropTypes.bool, - isStop: PropTypes.bool + isStop: PropTypes.bool, + setIsAdding: PropTypes.func }; } From cd0dd7d5c7883715f66789ab77dc6f069c6ec733 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 11:50:40 +0900 Subject: [PATCH 071/115] remove padding and change font-size of deleteBtn --- packages/selenium-ide/src/neo/components/Variable/style.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 4f4a024f9..7ffd07ecb 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -1,13 +1,11 @@ .row { font-size: 12px; - text-align: center; display: table-row; } .row .cell { word-break: break-all; display: table-cell; - padding: 2px 1px; } @@ -59,6 +57,7 @@ } .deleteBtn { - font-size: 14px; + font-size: 15px; opacity: 0; + height: 20px; } From 2c974a26d177e59d26565b2a7114f3bf6e46fd96 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 13:01:15 +0900 Subject: [PATCH 072/115] change the header css --- .../selenium-ide/src/neo/components/VariableList/index.jsx | 2 +- .../selenium-ide/src/neo/components/VariableList/style.css | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index a5636460e..a95c21553 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -43,7 +43,7 @@ export default class VariableList extends React.Component {
    -
    values
    +
    Values
    diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index ae22f2e4e..8fad0bcfe 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -2,7 +2,8 @@ display: table-header-group; background: #FFFFFF; border-bottom: 2px solid #5B5B5B; - font-size: 14px; + font-size: 12px; + font-weight: bold; color: #5B5B5B; text-align: left; } From 6c157ad5afbdb5d5ce50439be661c2bc908d85e1 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 13:47:39 +0900 Subject: [PATCH 073/115] prevent delete, add, clear while playing the script --- packages/selenium-ide/src/neo/components/Variable/index.jsx | 2 +- packages/selenium-ide/src/neo/containers/Console/index.jsx | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 527b3a4ee..a22bf85e1 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -103,7 +103,7 @@ export default class Variable extends React.Component { onBlur={this.handleChanged} />}
    - +
    ); diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 005f0e1d1..7d8b22096 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -17,6 +17,7 @@ import React from "react"; import PropTypes from "prop-types"; +import { observer } from "mobx-react"; import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; import VariableList from "../../components/VariableList"; @@ -28,6 +29,7 @@ import "./style.css"; import CommandReference from "../../components/CommandReference"; import variables from "../../stores/view/Variables"; +@observer export default class Console extends React.Component { constructor(props) { super(props); @@ -69,8 +71,8 @@ export default class Console extends React.Component { {this.state.tab === "Log" && } {this.state.tab === "Variables" &&
    - this.addVariableClicked(true)} /> - + this.addVariableClicked(true)} disabled={!variables.isStop} /> +
    } {this.state.tab === "Reference" && } From cd303647a49a91b52c63723802a9f2c3bf91b8f2 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 13:49:30 +0900 Subject: [PATCH 074/115] add validation when called onBlur --- packages/selenium-ide/src/neo/components/Variable/index.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index a22bf85e1..4b3f90548 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -41,7 +41,9 @@ export default class Variable extends React.Component { handleKeyDown(e) { if (e.key === "Enter") { e.preventDefault(); - if (this.state.key && this.state.value) { + const isValidKey = this.state.key || this.props.keyVar; + const isValidValue = this.state.value || this.props.value; + if (isValidKey && isValidValue) { this.props.add(this.state.key, this.state.value); } } From 34c200a75cb84cee60bc66427fb788deadf8f03e Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 14:24:21 +0900 Subject: [PATCH 075/115] add the edit function --- .../selenium-ide/src/neo/components/Variable/index.jsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 4b3f90548..93a0b45b1 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -32,6 +32,7 @@ export default class Variable extends React.Component { this.keyChanged = this.keyChanged.bind(this); this.valueChanged = this.valueChanged.bind(this); this.delete = this.delete.bind(this); + this.edit = this.edit.bind(this); this.state = { key: "", value: "" }; } componentDidMount() { @@ -44,7 +45,7 @@ export default class Variable extends React.Component { const isValidKey = this.state.key || this.props.keyVar; const isValidValue = this.state.value || this.props.value; if (isValidKey && isValidValue) { - this.props.add(this.state.key, this.state.value); + this.edit(isValidKey, isValidValue); } } } @@ -52,8 +53,7 @@ export default class Variable extends React.Component { const isValidKey = this.state.key || this.props.keyVar; const isValidValue = this.state.value || this.props.value; if (isValidKey && isValidValue) { - this.delete(); - this.props.add(this.state.key || this.props.keyVar, this.state.value || this.props.value); + this.edit(isValidKey, isValidValue); } else if (!(isValidKey || isValidValue)) { this.props.setIsAdding(false); } @@ -61,6 +61,10 @@ export default class Variable extends React.Component { delete() { this.props.delete(this.props.keyVar); } + edit(key, value){ + this.delete(); + this.props.add(key, value); + } keyChanged(e) { this.setState({ key: e.target.value }); } From 3400bac4bcf1f32ab2c03e17c9fc7fa834ea423b Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 20 Jun 2018 14:33:59 +0900 Subject: [PATCH 076/115] make the focus lost when typing a enter key --- .../src/neo/components/VariableList/index.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index a95c21553..0b3503680 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -48,11 +48,11 @@ export default class VariableList extends React.Component {
    - {variables.storedVars.keys().sort().map((storedKey) => ( + {variables.storedVars.entries().sort().map((storedMap) => ( Date: Sun, 24 Jun 2018 23:18:40 +0900 Subject: [PATCH 077/115] remove title of variableList --- .../src/neo/components/VariableList/index.jsx | 5 ----- .../src/neo/components/VariableList/style.css | 15 --------------- 2 files changed, 20 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 0b3503680..8f4dcf96b 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -42,11 +42,6 @@ export default class VariableList extends React.Component { return (
    -
    -
    Values
    -
    -
    -
    {variables.storedVars.entries().sort().map((storedMap) => ( Date: Mon, 25 Jun 2018 09:25:53 +0900 Subject: [PATCH 078/115] add Variables at the tab on Console --- .../selenium-ide/src/neo/containers/Console/index.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 737020fa5..729b95464 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -18,6 +18,7 @@ import React from "react"; import PropTypes from "prop-types"; import { observer } from "mobx-react"; +import { observe } from "mobx"; import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; import VariableList from "../../components/VariableList"; @@ -25,13 +26,11 @@ import ClearButton from "../../components/ActionButtons/Clear"; import AddButton from "../../components/ActionButtons/Add"; import { output } from "../../stores/view/Logs"; import PlaybackLogger from "../../side-effects/playback-logging"; -import "./style.css"; import CommandReference from "../../components/CommandReference"; import variables from "../../stores/view/Variables"; import UiState from "../../stores/view/UiState"; -import { observer } from "mobx-react"; -import { observe } from "mobx"; import { Commands } from "../../models/Command"; +import "./style.css"; @observer export default class Console extends React.Component { @@ -72,12 +71,13 @@ export default class Console extends React.Component { this.setState({ isAddingVariable: isAdding }); + } scroll(to) { this.viewport.scrollTo(0, to); } render() { const command = UiState.selectedCommand ? Commands.list.get(UiState.selectedCommand.command) : undefined; - const tabs = [{ name: "Log", unread: this.state.logsUnread }, { name: "Reference", unread: false }]; + const tabs = [{ name: "Log", unread: this.state.logsUnread }, { name: "Reference", unread: false }, { name: "Variables", unread: false }]; return (
    Date: Mon, 25 Jun 2018 09:40:22 +0900 Subject: [PATCH 079/115] modify css --- .../src/neo/components/VariableList/index.jsx | 40 +++++++++---------- .../src/neo/components/VariableList/style.css | 6 --- 2 files changed, 19 insertions(+), 27 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 8f4dcf96b..abddb2356 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -41,27 +41,25 @@ export default class VariableList extends React.Component { const variables = this.props.variables; return (
    -
    -
    - {variables.storedVars.entries().sort().map((storedMap) => ( - - ))} - { this.props.isAdding ? - : null} -
    +
    + {variables.storedVars.entries().sort().map((storedMap) => ( + + ))} + { this.props.isAdding ? + : null}
    ); diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index 97319ac8f..a84c4876e 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -1,9 +1,4 @@ .value-list { - display: table-row-group; -} - -.variables { - display: table; border: 2px solid #FFFCFE; width: 100%; text-align: left; @@ -12,7 +7,6 @@ } .storeContainer { - padding: 0 10px; overflow-y: auto; overflow-x: hidden; } From e0b8b8a789fa7e3b0f25fb3b9ba4d1ecddd41f47 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 25 Jun 2018 18:02:00 +0900 Subject: [PATCH 080/115] remove column --- .../selenium-ide/src/neo/components/Variable/index.jsx | 1 - .../selenium-ide/src/neo/components/Variable/style.css | 7 ------- 2 files changed, 8 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 93a0b45b1..a727427f1 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -91,7 +91,6 @@ export default class Variable extends React.Component { onKeyDown={this.handleKeyDown} onBlur={this.handleChanged}/>}
    -
    :
    {this.props.isAdding ? Date: Tue, 26 Jun 2018 14:25:41 +0900 Subject: [PATCH 081/115] modify css of the Variables --- .../src/neo/components/Variable/index.jsx | 6 +-- .../src/neo/components/Variable/style.css | 28 +++++-------- .../src/neo/components/VariableList/index.jsx | 40 +++++++++---------- .../src/neo/components/VariableList/style.css | 9 +---- 4 files changed, 34 insertions(+), 49 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index a727427f1..7ee3e25d4 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -74,7 +74,7 @@ export default class Variable extends React.Component { render() { return (
    -
    +
    {this.props.isAdding ? { this.input = input; }} @@ -91,7 +91,7 @@ export default class Variable extends React.Component { onKeyDown={this.handleKeyDown} onBlur={this.handleChanged}/>}
    -
    +
    {this.props.isAdding ? }
    -
    +
    diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 6a6875a27..279c8e223 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -1,27 +1,24 @@ .row { font-size: 12px; - display: table-row; -} - -.row .cell { word-break: break-all; - display: table-cell; - + display: flex; } +.row:hover { + background-color: #F3F3F3; +} .row .storedKey { float: left; - padding: 0; - width: 48%; + padding: 5px; + width: 25%; text-align: left; } .row .variable { float: left; - padding: 0; - width: 48%; + padding: 5px; + width: 25%; text-align: left; - box-shadow: 0 0 0 1px transparent inset; } .row .edit { @@ -30,23 +27,18 @@ width: 100%; } -.row .editable:hover { - box-shadow: 0 0 0 1px #CECECE inset; -} - .row:hover .deleteBtn { opacity: 1; } .row .editable:focus { - box-shadow: 0 0 0 1px #A8A8A8 inset; + border: 1px #DCDCDC solid; cursor: initial; outline: 0; } .row .del { - text-align: right; - width: 40px; + width: 10%; } .deleteBtn { diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index abddb2356..eb4721c9d 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -40,27 +40,25 @@ export default class VariableList extends React.Component { render() { const variables = this.props.variables; return ( -
    -
    - {variables.storedVars.entries().sort().map((storedMap) => ( - - ))} - { this.props.isAdding ? - : null} -
    +
    + {variables.storedVars.entries().sort().map((storedMap) => ( + + ))} + { this.props.isAdding ? + : null}
    ); } diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index a84c4876e..29cb2b858 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -1,12 +1,7 @@ .value-list { - border: 2px solid #FFFCFE; - width: 100%; text-align: left; - border-collapse: collapse; - max-width: 255px; -} - -.storeContainer { overflow-y: auto; overflow-x: hidden; + display: flex; + flex-direction:column; } From fd9aa81fe39d36b41e6749e7929439ffa4ea759b Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 26 Jun 2018 14:31:07 +0900 Subject: [PATCH 082/115] removed spell checking whenever fouse out --- packages/selenium-ide/src/neo/components/VariableList/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index eb4721c9d..1c64f2f11 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -43,7 +43,7 @@ export default class VariableList extends React.Component {
    {variables.storedVars.entries().sort().map((storedMap) => ( Date: Tue, 26 Jun 2018 15:04:10 +0900 Subject: [PATCH 083/115] modify css of the Variables for the css name --- .../src/neo/components/Variable/index.jsx | 6 ++--- .../src/neo/components/Variable/style.css | 25 +++++++------------ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 7ee3e25d4..0dd60603e 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -73,8 +73,8 @@ export default class Variable extends React.Component { } render() { return ( -
    -
    +
    +
    {this.props.isAdding ? { this.input = input; }} @@ -91,7 +91,7 @@ export default class Variable extends React.Component { onKeyDown={this.handleKeyDown} onBlur={this.handleChanged}/>}
    -
    +
    {this.props.isAdding ? Date: Tue, 26 Jun 2018 15:19:44 +0900 Subject: [PATCH 084/115] removed div hell and changed to ul and li --- .../src/neo/components/Variable/index.jsx | 70 +++++++++---------- .../src/neo/components/Variable/style.css | 16 ++--- .../src/neo/components/VariableList/index.jsx | 4 +- 3 files changed, 39 insertions(+), 51 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 0dd60603e..e14acbcaa 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -73,44 +73,38 @@ export default class Variable extends React.Component { } render() { return ( -
    -
    - {this.props.isAdding ? - { this.input = input; }} - className="edit" - onChange={this.keyChanged} - onKeyDown={this.handleKeyDown} - onBlur={this.handleChanged}/> - : - } -
    -
    - {this.props.isAdding ? - - : - } -
    -
    - -
    -
    +
  • + {this.props.isAdding ? + { this.input = input; }} + className="name" + onChange={this.keyChanged} + onKeyDown={this.handleKeyDown} + onBlur={this.handleChanged}/> + : + } + {this.props.isAdding ? + + : + } + +
  • ); } static propTypes = { diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 3a7070ef7..486857433 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -4,20 +4,17 @@ display: flex; } -.variable:hover { - background-color: #F3F3F3; -} .variable .name, .variable .value { + line-height: 14px; + width: 100%; float: left; padding: 5px; width: 48%; text-align: left; } -.variable .edit { - padding: 0; - line-height: 14px; - width: 100%; +.variable:hover { + background-color: #F3F3F3; } .variable:hover .deleteBtn { @@ -30,11 +27,8 @@ outline: 0; } -.variable .del { +.variable .deleteBtn { width: 4%; -} - -.deleteBtn { font-size: 15px; opacity: 0; height: 20px; diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 1c64f2f11..f8e5c08bf 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -40,7 +40,7 @@ export default class VariableList extends React.Component { render() { const variables = this.props.variables; return ( -
    +
      {variables.storedVars.entries().sort().map((storedMap) => ( : null} -
    + ); } static propTypes = { From 31bd3ec2403a9251014353400c261fa30ed3741e Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 26 Jun 2018 15:57:45 +0900 Subject: [PATCH 085/115] removed unnecessary css --- packages/selenium-ide/src/neo/components/Variable/style.css | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 486857433..ecc67a485 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -5,8 +5,6 @@ } .variable .name, .variable .value { - line-height: 14px; - width: 100%; float: left; padding: 5px; width: 48%; From e7463a2b3e4a912c287964819f00a2bcf34a8b75 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 26 Jun 2018 15:58:18 +0900 Subject: [PATCH 086/115] add header on Variables --- packages/selenium-ide/src/neo/components/VariableList/index.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index f8e5c08bf..8718b2f68 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -41,6 +41,7 @@ export default class VariableList extends React.Component { const variables = this.props.variables; return (
      +
    • NameValue
    • {variables.storedVars.entries().sort().map((storedMap) => ( Date: Tue, 26 Jun 2018 16:08:16 +0900 Subject: [PATCH 087/115] make a hover on header inoperatived --- packages/selenium-ide/src/neo/components/Variable/style.css | 2 +- packages/selenium-ide/src/neo/components/VariableList/index.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index ecc67a485..4c2d6c469 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -11,7 +11,7 @@ text-align: left; } -.variable:hover { +.variable:not(.value-header):hover { background-color: #F3F3F3; } diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 8718b2f68..2dc73cbd2 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -41,7 +41,7 @@ export default class VariableList extends React.Component { const variables = this.props.variables; return (
        -
      • NameValue
      • +
      • NameValue
      • {variables.storedVars.entries().sort().map((storedMap) => ( Date: Tue, 26 Jun 2018 16:13:43 +0900 Subject: [PATCH 088/115] make header shown if there is stored variables --- .../selenium-ide/src/neo/components/VariableList/index.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 2dc73cbd2..1c4393e05 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -41,7 +41,12 @@ export default class VariableList extends React.Component { const variables = this.props.variables; return (
          -
        • NameValue
        • + {variables.storedVars.size == 0 ? null : +
        • + Name + Value +
          +
        • } {variables.storedVars.entries().sort().map((storedMap) => ( Date: Tue, 26 Jun 2018 16:35:34 +0900 Subject: [PATCH 089/115] validation check for restoreSize --- packages/selenium-ide/src/neo/containers/Console/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 729b95464..1d140e9b2 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -65,7 +65,7 @@ export default class Console extends React.Component { this.setState({ tab }); - this.props.restoreSize(); + if(this.props.restoreSize) this.props.restoreSize(); } addVariableClicked(isAdding) { this.setState({ From bae774a64f693a23685cf6a5310126c77668cc3b Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 26 Jun 2018 16:42:40 +0900 Subject: [PATCH 090/115] add variables tab on Console test case --- .../src/neo/__test__/containers/Console/index.spec.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/selenium-ide/src/neo/__test__/containers/Console/index.spec.js b/packages/selenium-ide/src/neo/__test__/containers/Console/index.spec.js index 743f80fcc..5b898a022 100644 --- a/packages/selenium-ide/src/neo/__test__/containers/Console/index.spec.js +++ b/packages/selenium-ide/src/neo/__test__/containers/Console/index.spec.js @@ -49,4 +49,13 @@ describe("", () => { const unreadLogNotification = container.querySelector(".log.unread"); expect(unreadLogNotification).toBeInTheDOM(); }); + it("should display an unread log notification when viewing the variables tab)", async () => { + const { container } = renderIntoDocument(); + const variablesTab = container.querySelector(".variables"); + fireEvent.click(variablesTab); + await waitForElement(() => container.querySelector(".value-list")); + Logger.log("blah"); + const unreadLogNotification = container.querySelector(".log.unread"); + expect(unreadLogNotification).toBeInTheDOM(); + }); }); From 91a3e05caeccfff928f1148923186c9a9eea8484 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 26 Jun 2018 17:52:44 +0900 Subject: [PATCH 091/115] remove ContentEditable --- .../src/neo/components/Variable/index.jsx | 13 +++-- .../src/neo/components/Variable/style.css | 12 ++++- .../src/neo/components/VariableList/index.jsx | 54 ++++++++++--------- 3 files changed, 44 insertions(+), 35 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index e14acbcaa..c0a4c278a 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -18,7 +18,6 @@ import React from "react"; import PropTypes from "prop-types"; import classNames from "classnames"; -import ContentEditable from "react-contenteditable"; import DeleteButton from "../ActionButtons/Delete"; import { observer } from "mobx-react"; import "./style.css"; @@ -77,30 +76,30 @@ export default class Variable extends React.Component { {this.props.isAdding ? { this.input = input; }} - className="name" + className="name isAdding" onChange={this.keyChanged} onKeyDown={this.handleKeyDown} onBlur={this.handleChanged}/> : - } {this.props.isAdding ? : - } diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 4c2d6c469..fadc4b5a1 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -19,10 +19,18 @@ opacity: 1; } -.variable .editable:focus { - border: 1px #DCDCDC solid; +.variable input:disabled { + background-color: transparent; +} + +.variable input:not(.isAdding) { cursor: initial; outline: 0; + border:none; +} +.variable .editable:focus { + border: 1px #4ea1ff solid; + outline: 0; } .variable .deleteBtn { diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 1c4393e05..e12219839 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -40,32 +40,34 @@ export default class VariableList extends React.Component { render() { const variables = this.props.variables; return ( -
            - {variables.storedVars.size == 0 ? null : -
          • - Name - Value -
            -
          • } - {variables.storedVars.entries().sort().map((storedMap) => ( - - ))} - { this.props.isAdding ? - : null} -
          +
          { e.preventDefault(); }}> +
            + {variables.storedVars.size == 0 ? null : +
          • + Name + Value +
            +
          • } + {variables.storedVars.entries().sort().map((storedMap) => ( + + ))} + { this.props.isAdding ? + : null} +
          +
          ); } static propTypes = { From 57c263a477bb2c991b2f876d11c5169873754f0b Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 26 Jun 2018 17:55:31 +0900 Subject: [PATCH 092/115] add margin --- packages/selenium-ide/src/neo/components/Variable/style.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index fadc4b5a1..525a53290 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -28,6 +28,11 @@ outline: 0; border:none; } + +.variable .isAdding { + margin: 0 2px; +} + .variable .editable:focus { border: 1px #4ea1ff solid; outline: 0; From a2aa1d779f55a537210322dce486dcbe15dc86d6 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 27 Jun 2018 14:59:19 +0900 Subject: [PATCH 093/115] set row color when hover --- packages/selenium-ide/src/neo/components/Variable/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 525a53290..0684ccf2f 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -19,7 +19,7 @@ opacity: 1; } -.variable input:disabled { +.variable input { background-color: transparent; } From d4057ed44bb95e4c1bcbd9f0bb500b82d0557b88 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 27 Jun 2018 15:29:35 +0900 Subject: [PATCH 094/115] fixed the situation which it couldn't modify the value --- packages/selenium-ide/src/neo/components/Variable/index.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index c0a4c278a..fcb3ce478 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -85,7 +85,7 @@ export default class Variable extends React.Component { className={classNames("name", { "editable": this.props.isStop })} disabled={this.props.isStop ? false : true} onChange={this.keyChanged} - value={this.props.keyVar} + value={this.state.key || this.props.keyVar} onKeyDown={this.handleKeyDown} onBlur={this.handleChanged}/>} {this.props.isAdding ? @@ -99,7 +99,7 @@ export default class Variable extends React.Component { className={classNames("value", { "editable": this.props.isStop })} disabled={this.props.isStop ? false : true} onChange={this.valueChanged} - value={this.props.value} + value={this.state.value || this.props.value} onKeyDown={this.handleKeyDown} onBlur={this.handleChanged} />} From e7afab8ca93b011f9d9512a26a72289a8a708aad Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 27 Jun 2018 16:01:02 +0900 Subject: [PATCH 095/115] make the background color to white when running the script --- packages/selenium-ide/src/neo/components/Variable/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 0684ccf2f..b93c484f5 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -19,7 +19,7 @@ opacity: 1; } -.variable input { +.variable input, .variable input:disabled{ background-color: transparent; } From 11a27c483e0f47800a9434c7f0c3ad37c18f8886 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 11 Jul 2018 11:06:24 +0900 Subject: [PATCH 096/115] fixed the case which a clear log is not working --- packages/selenium-ide/src/neo/containers/Console/index.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index 1d140e9b2..d108eaee3 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -83,13 +83,13 @@ export default class Console extends React.Component { height: this.props.height ? `${this.props.height}px` : "initial" }}> - {this.state.tab === "Log" && } + {this.state.tab === "Log" && } {this.state.tab === "Variables" &&
          this.addVariableClicked(true)} disabled={!variables.isStop} />
          } - {this.state.tab === "Reference" && } + {this.state.tab === "Reference" && }
          {this.state.tab === "Log" && } From ac14f23354dbc5a1cb9983fa2aabc175568da3d4 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 11 Jul 2018 13:10:29 +0900 Subject: [PATCH 097/115] resolved a font conflict --- .../src/neo/assets/fonts/selenium-ide.svg | 14 +++++++++----- .../src/neo/assets/fonts/selenium-ide.ttf | Bin 5968 -> 6080 bytes 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg index 68c11c6e8..036622f37 100644 --- a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg +++ b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.svg @@ -8,8 +8,8 @@ - - + + @@ -20,17 +20,21 @@ - + - + + - + + + + \ No newline at end of file diff --git a/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf b/packages/selenium-ide/src/neo/assets/fonts/selenium-ide.ttf index 386579d67cb891ca43970197330184f5de4bbb34..f2637fd6c8e9b6e8ae1846c604cfeed789a86d48 100644 GIT binary patch delta 1762 zcma)6ZA@EL7=F(^y|=f8g129n!f1MXX`A#q7%in6OovOxGRHIdg*Noep>_8RCr0G1uigb9n~)#sON@UBh`a$kq{kh+?y-e7IGCR>GFu_*rtsnx2KLWmc^~+1k%jm#uP;vlNOjNjtcozzjB!00Ob7OF<*DITV*=Rf$-Z$lN zxY#i`*g@L7AARV(;3WmX$O6>R9@>Gqi@^@q1N-109L2>Vtq+ivpsM(Vdg63Pl~6R| zMkHuNati1UW@D1-58|NKb`oO^)74l@P$MjcS0ok|X^oMnq)P2%t)Z%Dvx!SLEH;~k z+j{zRZ7^6%eX`Lm`?$J5pf0D>T$dG1p1OeHko|s{{IWutWkr#jn|V>>o8K@Tf+z~)Y2y>Jea&X>(s^G0l6zcFR6eE` ztsgrnR+&aIm-s%KF%Li-M89cyYvyLfEt<7J2?psnbwL%>V-akFPRvm^48utr=?~)J z@tkfKON;ccG~^dtm=w$jW;V7OvKk<5tYkNoNXh1K*hsF*Zm%+O8{sLt$77c~9!ZTv z)P_i;;lDV!=&-TLY>s8XcJ~V87+gV*cu1^hGLo&4FdbC%Q^3nXkT0C0GTC#l92^_MH^ zc59?$ps|D)8n)adqgt8SnS%EgPY7_@_~D6T)!YAo3KQETe3S59TI+R_GhXjs^{4hlL?a;|EJ}cjvCOzU`ITOHi(8}*-r4WVotnR$ot?1 z{6)ISk6b5roV&oybH7qQy-aVJj+?HTzU8a<*9E^YZ9Zh47F)!fqU(~yYH73dTVBCQ z*j#>i1}wVajAmag&rP8cc9pRSalVXs{E|16v4H-8GPXi3TxZ`olLb9BsH|cR@7nn? zrs&^a#wNs<%a{i@G_7JU2q=t~1uL|`cVo$+WNKi1c=JGSQun%RHg_dQ#|F|VUvuLY z=z=7S!WeEN4Jq*9rEi2S>mw@HJCp;-zVV^NC>+4>K3r}H5-_@cRBdNEmGSi@Q_0ap bCfVzI@`P_sPkL`Uoodwc?l__PJH-1pFgtMV delta 1603 zcmcgsUuaup6hG&?H}_B4q`UX#-kT;_Ox837qurV|H=uLX33eb@*d%IVUII_bu)Is=EdV0Dd?L0we|x?asCtu@z$8B{_PmT$qGYANK=bE6Mms>G)IU z-gvYGz-9ro(a~aISX=n!X#nF#ig!4n-0+D2p)lF0(em_cWz-lVdoS6urHNw&$I0GD z_C>Pyl?$^ylaPj&iMT~XqEaXqSAPD~1TaHX@RP}jsp-Itz$$?C9ZvwF@XqO_eXLPG zgP9sJFid^(Ul0Qk4v-Fl0t_VL5^JHg_O(Q#-e~YZvSH0?+SvHX7Hz?*H+OphcNUbW zG`nMMuLYvr3wG4&Vf&E(g?;EhS8?CMi2EAucUP4m_iO#5MOFC17ZT_|WQ2L)K^kTc zK6Rx7JJkf4lr1Sc_G7oq462y(~??eGHaPyNa{%LO6Rmb2WjI5iQe9>Z}62Z zaWm7jbnaPP_kS-eCU?BgYBHQ{Tot|)E`bIPJPd(3$Sy`SMP0*0yX-k|iUK zwnw8)xJ#CJe-`adlH17Uom^j<+LR?T zWLv!kFHrki1=~wX!MrB@C|P1F0hPW$P*D+8<-KSJqNYc2z}XncrBWD8rJ|QPb2-wv zerQ}(gC_#2g2(I2Uf73GO;1t=Jy3sTGtv1?MJwe~U$60KRHy(i^9V=yoQH!OFOiS^ zjvdkdh@oM9*%?4gbvP`KsYpLH(jV0|E8vqgm7I1 zG)d39ig~vVCkd`{@pW=HF1ZKH*ki&?IP2~5LkQw<4;+C@@GCx!*O`yDsR$ zdEvG=C%!FS5pVgPmlSD1`b~aDo|A7X{Qclv#^FVf-OtS4TB~OR9m!TYl-$SbwZdIZ z?1L7_G_gdy)5Ly=z<&M?h$=B*7;0ihZ^?8M3&g+B#3JE0o7e{ye6WcndUV2Y)jeT_ za|eqfGo?axs#q#k#%9X*jtv*L;={%2)YwEN(bK(W3+)ctu`{+Ego99o5txAz6rk!h ztS}b~4ijC4DHwwZs6c|QWjE~c+~aos*?)hp;xs2dF9ZP@3MirvC6rM?75&(Ptr)-{ aw&4!cP)7qpXrhHShOr$Z81-hk?eZ7ilk&L$ From 9542ed22583edb123737d58a6eb3675b13029182 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Wed, 11 Jul 2018 13:19:42 +0900 Subject: [PATCH 098/115] replace the font.css to master's --- packages/selenium-ide/src/neo/styles/font.css | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/selenium-ide/src/neo/styles/font.css b/packages/selenium-ide/src/neo/styles/font.css index 88564117f..32ed8767e 100644 --- a/packages/selenium-ide/src/neo/styles/font.css +++ b/packages/selenium-ide/src/neo/styles/font.css @@ -22,6 +22,9 @@ -moz-osx-font-smoothing: grayscale; } +.si-stop:before { + content: "\e91d"; +} .si-open:before { content: "\e905"; } @@ -59,9 +62,12 @@ content: "\e910"; } .si-add:before { - content: "\e901"; + content: "\e90d"; } .si-clear:before { + content: "\e91a"; +} +.si-delete:before { content: "\e902"; } .si-step-into:before { @@ -92,11 +98,5 @@ content: "\e90b"; } .si-select:before { - content: "\e90d"; -} -.si-stop:before { content: "\e90f"; } -.si-delete:before { - content: "\e920"; -} From 219a86963c5c0b907fa74ddaf857d7656adc0d55 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 6 Aug 2018 16:46:43 +0900 Subject: [PATCH 099/115] keep the input background white when editing --- packages/selenium-ide/src/neo/components/Variable/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index b93c484f5..6071874e8 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -36,6 +36,7 @@ .variable .editable:focus { border: 1px #4ea1ff solid; outline: 0; + background-color: white; } .variable .deleteBtn { From 27cb4d7bb0d061ac957697aad17f7886e89d0576 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 6 Aug 2018 16:52:42 +0900 Subject: [PATCH 100/115] Keep an invisible border around the inputs at all time --- packages/selenium-ide/src/neo/components/Variable/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 6071874e8..62fefed1f 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -9,6 +9,7 @@ padding: 5px; width: 48%; text-align: left; + border: 1px transparent solid; } .variable:not(.value-header):hover { @@ -26,7 +27,6 @@ .variable input:not(.isAdding) { cursor: initial; outline: 0; - border:none; } .variable .isAdding { From f79aa49c3a252161befe5d692f2eb40b50f900f1 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 6 Aug 2018 17:00:05 +0900 Subject: [PATCH 101/115] change the padding --- packages/selenium-ide/src/neo/components/Variable/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 62fefed1f..7be8cff51 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -6,7 +6,7 @@ .variable .name, .variable .value { float: left; - padding: 5px; + padding: 4px 5px; width: 48%; text-align: left; border: 1px transparent solid; From 156e8041d47786c229f323ab9065d2e5be7596ab Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 6 Aug 2018 17:07:20 +0900 Subject: [PATCH 102/115] Add margin around the last input --- .../selenium-ide/src/neo/components/VariableList/style.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index 29cb2b858..4efe2f6d2 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -5,3 +5,7 @@ display: flex; flex-direction:column; } + +.value-list li:last-child { + margin-bottom: 3px; +} From 6178d3c7817efb469e95edcd286e969c0fe27554 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 7 Aug 2018 09:18:57 +0900 Subject: [PATCH 103/115] fixed for eslint --- .../src/neo/components/Variable/style.css | 22 ++++++++++--------- .../src/neo/components/VariableList/style.css | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 7be8cff51..5ac35f21c 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -4,7 +4,8 @@ display: flex; } -.variable .name, .variable .value { +.variable .name, +.variable .value { float: left; padding: 4px 5px; width: 48%; @@ -13,14 +14,22 @@ } .variable:not(.value-header):hover { - background-color: #F3F3F3; + background-color: #f3f3f3; +} + +.variable .deleteBtn { + width: 4%; + font-size: 15px; + opacity: 0; + height: 20px; } .variable:hover .deleteBtn { opacity: 1; } -.variable input, .variable input:disabled{ +.variable input, +.variable input:disabled { background-color: transparent; } @@ -38,10 +47,3 @@ outline: 0; background-color: white; } - -.variable .deleteBtn { - width: 4%; - font-size: 15px; - opacity: 0; - height: 20px; -} diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index 4efe2f6d2..c71d55720 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -3,7 +3,7 @@ overflow-y: auto; overflow-x: hidden; display: flex; - flex-direction:column; + flex-direction: column; } .value-list li:last-child { From 5003d9353b929beb16864923fb474206b901d351 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 12 Oct 2018 11:21:53 +0900 Subject: [PATCH 104/115] add getEntries computed function --- .../selenium-ide/src/neo/components/VariableList/index.jsx | 2 +- packages/selenium-ide/src/neo/stores/view/Variables.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index e12219839..23ca13d5d 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -48,7 +48,7 @@ export default class VariableList extends React.Component { Value
          } - {variables.storedVars.entries().sort().map((storedMap) => ( + {variables.getEntries.map((storedMap) => ( Date: Fri, 12 Oct 2018 14:01:43 +0900 Subject: [PATCH 105/115] remove isStop at variables. --- .../src/neo/components/Variable/index.jsx | 12 ++++++------ .../src/neo/components/VariableList/index.jsx | 6 ++++-- .../selenium-ide/src/neo/stores/view/Variables.js | 5 ----- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index fcb3ce478..e22ae1679 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -82,8 +82,8 @@ export default class Variable extends React.Component { onBlur={this.handleChanged}/> : : } - + ); } @@ -112,7 +112,7 @@ export default class Variable extends React.Component { delete: PropTypes.func, add: PropTypes.func, isAdding: PropTypes.bool, - isStop: PropTypes.bool, + readOnly: PropTypes.bool, setIsAdding: PropTypes.func }; } diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 23ca13d5d..76ee7f20c 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -19,6 +19,7 @@ import React from "react"; import PropTypes from "prop-types"; import Variable from "../Variable"; import { observer } from "mobx-react"; +import PlaybackState from "../../stores/view/PlaybackState"; import "./style.css"; @observer @@ -39,6 +40,7 @@ export default class VariableList extends React.Component { render() { const variables = this.props.variables; + const readOnly = (PlaybackState.isPlaying && !PlaybackState.paused); return (
          { e.preventDefault(); }}>
            @@ -55,7 +57,7 @@ export default class VariableList extends React.Component { value={storedMap[1]} add={this.addVariable} delete={this.deleteVariable} - isStop={variables.isStop} + readOnly={readOnly} /> ))} { this.props.isAdding ? @@ -64,7 +66,7 @@ export default class VariableList extends React.Component { delete={this.deleteVariable} isAdding={this.props.isAdding} setIsAdding={this.props.setIsAdding} - isStop={variables.isStop} + readOnly={readOnly} /> : null}
          diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index 306e56a94..7817f3da6 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -16,7 +16,6 @@ // under the License. import { action, observable, computed } from "mobx"; -import PlaybackState from "./PlaybackState"; class Variables { @observable storedVars = new Map(); @@ -38,10 +37,6 @@ class Variables { this.storedVars.clear(); } - @computed get isStop() { - return !PlaybackState.isPlaying || PlaybackState.paused || PlaybackState.isStopping; - } - @computed get getEntries() { return this.storedVars.entries().sort(); } From c3b74598665e5e138945a4dd93de0ed01e8e720e Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Fri, 12 Oct 2018 15:56:30 +0900 Subject: [PATCH 106/115] set the header to show up always. --- .../src/neo/components/VariableList/index.jsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 76ee7f20c..e7f079eb6 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -44,12 +44,11 @@ export default class VariableList extends React.Component { return (
          { e.preventDefault(); }}>
            - {variables.storedVars.size == 0 ? null : -
          • - Name - Value -
            -
          • } +
          • + Name + Value +
            +
          • {variables.getEntries.map((storedMap) => ( Date: Mon, 15 Oct 2018 09:50:04 +0900 Subject: [PATCH 107/115] change state of VariableList to be similar to TestRow --- .../src/neo/components/Variable/index.jsx | 16 +++++----------- .../src/neo/components/VariableList/index.jsx | 17 +++++++---------- .../src/neo/containers/Console/index.jsx | 17 +++-------------- 3 files changed, 15 insertions(+), 35 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index e22ae1679..b1cf062b4 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -34,10 +34,7 @@ export default class Variable extends React.Component { this.edit = this.edit.bind(this); this.state = { key: "", value: "" }; } - componentDidMount() { - if (this.input) - this.input.focus(); - } + handleKeyDown(e) { if (e.key === "Enter") { e.preventDefault(); @@ -53,8 +50,6 @@ export default class Variable extends React.Component { const isValidValue = this.state.value || this.props.value; if (isValidKey && isValidValue) { this.edit(isValidKey, isValidValue); - } else if (!(isValidKey || isValidValue)) { - this.props.setIsAdding(false); } } delete() { @@ -73,7 +68,7 @@ export default class Variable extends React.Component { render() { return (
          • - {this.props.isAdding ? + {this.props.isPristine ? { this.input = input; }} className="name isAdding" @@ -88,7 +83,7 @@ export default class Variable extends React.Component { value={this.state.key || this.props.keyVar} onKeyDown={this.handleKeyDown} onBlur={this.handleChanged}/>} - {this.props.isAdding ? + {this.props.isPristine ? - ))} - { this.props.isAdding ? + )) + .concat( : null} + />)}
          ); } static propTypes = { - variables: PropTypes.object, - isAdding: PropTypes.bool, - setIsAdding: PropTypes.func + variables: PropTypes.object }; } diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index d108eaee3..a167ad0ee 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -23,7 +23,6 @@ import TabBar from "../../components/TabBar"; import LogList from "../../components/LogList"; import VariableList from "../../components/VariableList"; import ClearButton from "../../components/ActionButtons/Clear"; -import AddButton from "../../components/ActionButtons/Add"; import { output } from "../../stores/view/Logs"; import PlaybackLogger from "../../side-effects/playback-logging"; import CommandReference from "../../components/CommandReference"; @@ -36,9 +35,8 @@ import "./style.css"; export default class Console extends React.Component { constructor(props) { super(props); - this.state = { tab: "Log", logsUnread: false, isAddingVariable: false }; + this.state = { tab: "Log", logsUnread: false }; this.tabClicked = this.tabClicked.bind(this); - this.addVariableClicked = this.addVariableClicked.bind(this); this.playbackLogger = new PlaybackLogger(); this.loggerDisposer = observe(output.logs, () => { this.setState({ logsUnread: this.state.tab === "Log" ? false : true }); @@ -67,11 +65,6 @@ export default class Console extends React.Component { }); if(this.props.restoreSize) this.props.restoreSize(); } - addVariableClicked(isAdding) { - this.setState({ - isAddingVariable: isAdding - }); - } scroll(to) { this.viewport.scrollTo(0, to); } @@ -84,16 +77,12 @@ export default class Console extends React.Component { }}> {this.state.tab === "Log" && } - {this.state.tab === "Variables" && -
          - this.addVariableClicked(true)} disabled={!variables.isStop} /> - -
          } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
          {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
    From 80124919c25f886685e5dc67f82294f349de2f48 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 15 Oct 2018 13:52:42 +0900 Subject: [PATCH 108/115] change input to Input component. --- .../src/neo/components/Variable/index.jsx | 58 ++++++++----------- .../src/neo/components/Variable/style.css | 24 +++----- .../src/neo/components/VariableList/style.css | 9 +++ 3 files changed, 40 insertions(+), 51 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index b1cf062b4..7ecf1230f 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -18,8 +18,9 @@ import React from "react"; import PropTypes from "prop-types"; import classNames from "classnames"; -import DeleteButton from "../ActionButtons/Delete"; import { observer } from "mobx-react"; +import DeleteButton from "../ActionButtons/Delete"; +import Input from "../FormInput"; import "./style.css"; @observer @@ -59,44 +60,33 @@ export default class Variable extends React.Component { this.delete(); this.props.add(key, value); } - keyChanged(e) { - this.setState({ key: e.target.value }); + keyChanged(key) { + this.setState({ key: key }); } - valueChanged(e) { - this.setState({ value: e.target.value }); + valueChanged(value) { + this.setState({ value: value }); } render() { return (
  • - {this.props.isPristine ? - { this.input = input; }} - className="name isAdding" - onChange={this.keyChanged} - onKeyDown={this.handleKeyDown} - onBlur={this.handleChanged}/> - : - } - {this.props.isPristine ? - - : - } + +
  • ); diff --git a/packages/selenium-ide/src/neo/components/Variable/style.css b/packages/selenium-ide/src/neo/components/Variable/style.css index 5ac35f21c..2fb5e1504 100644 --- a/packages/selenium-ide/src/neo/components/Variable/style.css +++ b/packages/selenium-ide/src/neo/components/Variable/style.css @@ -4,10 +4,8 @@ display: flex; } -.variable .name, -.variable .value { +.variable .form-input { float: left; - padding: 4px 5px; width: 48%; text-align: left; border: 1px transparent solid; @@ -19,30 +17,22 @@ .variable .deleteBtn { width: 4%; - font-size: 15px; opacity: 0; - height: 20px; + height: 100%; } .variable:hover .deleteBtn { opacity: 1; } -.variable input, -.variable input:disabled { +.variable .form-input input, +.variable .form-input input:disabled { background-color: transparent; + border: 1px transparent solid; + margin: 0; } -.variable input:not(.isAdding) { - cursor: initial; - outline: 0; -} - -.variable .isAdding { - margin: 0 2px; -} - -.variable .editable:focus { +.variable .form-input input:focus { border: 1px #4ea1ff solid; outline: 0; background-color: white; diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index c71d55720..427d94083 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -6,6 +6,15 @@ flex-direction: column; } +.variable .name, +.variable .value { + float: left; + padding: 4px 5px; + width: 48%; + text-align: left; + border: 1px transparent solid; +} + .value-list li:last-child { margin-bottom: 3px; } From 43146ef754fbabe90757a91d5654b1ead0e73593 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 15 Oct 2018 14:14:27 +0900 Subject: [PATCH 109/115] change the name isValidKey to validKey, and using only state on input's values --- .../src/neo/components/Variable/index.jsx | 26 +++++++++---------- .../src/neo/stores/view/Variables.js | 2 +- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 7ecf1230f..e6533019d 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -33,28 +33,26 @@ export default class Variable extends React.Component { this.valueChanged = this.valueChanged.bind(this); this.delete = this.delete.bind(this); this.edit = this.edit.bind(this); - this.state = { key: "", value: "" }; + this.state = { key: this.props.keyVar || "", value: this.props.value || ""}; } handleKeyDown(e) { if (e.key === "Enter") { e.preventDefault(); - const isValidKey = this.state.key || this.props.keyVar; - const isValidValue = this.state.value || this.props.value; - if (isValidKey && isValidValue) { - this.edit(isValidKey, isValidValue); + const validKey = this.state.key; + if (validKey) { + this.edit(validKey, this.state.value); } } } handleChanged() { - const isValidKey = this.state.key || this.props.keyVar; - const isValidValue = this.state.value || this.props.value; - if (isValidKey && isValidValue) { - this.edit(isValidKey, isValidValue); + const validKey = this.state.key; + if (validKey) { + this.edit(validKey, this.state.value); } } delete() { - this.props.delete(this.props.keyVar); + this.props.delete(this.state.key); } edit(key, value){ this.delete(); @@ -71,20 +69,20 @@ export default class Variable extends React.Component {
  • diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index 7817f3da6..330e61bb1 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -38,7 +38,7 @@ class Variables { } @computed get getEntries() { - return this.storedVars.entries().sort(); + return this.storedVars.entries(); } } From 5c90bb215c94366c7d6c6e7a5d62f0e3ded32734 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 15 Oct 2018 14:16:52 +0900 Subject: [PATCH 110/115] remove deleteBtn on pristin row --- packages/selenium-ide/src/neo/components/Variable/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index e6533019d..ae243ae11 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -85,7 +85,7 @@ export default class Variable extends React.Component { value={this.state.value} onKeyDown={this.handleKeyDown} onBlur={this.handleChanged} /> - + { this.props.isPristine ? null : }
  • ); } From 35fd7a392838b620555cfab0c75a6f11e5c5c0cf Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 15 Oct 2018 14:23:37 +0900 Subject: [PATCH 111/115] Modify a case that is not deleted correctly when modifying a variable key. --- packages/selenium-ide/src/neo/components/Variable/index.jsx | 2 +- packages/selenium-ide/src/neo/stores/view/Variables.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index ae243ae11..d8da2cee9 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -52,7 +52,7 @@ export default class Variable extends React.Component { } } delete() { - this.props.delete(this.state.key); + this.props.delete(this.props.keyVar); } edit(key, value){ this.delete(); diff --git a/packages/selenium-ide/src/neo/stores/view/Variables.js b/packages/selenium-ide/src/neo/stores/view/Variables.js index 330e61bb1..7817f3da6 100644 --- a/packages/selenium-ide/src/neo/stores/view/Variables.js +++ b/packages/selenium-ide/src/neo/stores/view/Variables.js @@ -38,7 +38,7 @@ class Variables { } @computed get getEntries() { - return this.storedVars.entries(); + return this.storedVars.entries().sort(); } } From 90e6cf46cd77793070207f6a73a55aeea31d1b34 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Mon, 15 Oct 2018 16:21:42 +0900 Subject: [PATCH 112/115] change the key of Variable components --- .../src/neo/components/Variable/index.jsx | 23 ++++++++----------- .../src/neo/components/VariableList/index.jsx | 2 +- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index d8da2cee9..1b2ba847b 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -39,24 +39,21 @@ export default class Variable extends React.Component { handleKeyDown(e) { if (e.key === "Enter") { e.preventDefault(); - const validKey = this.state.key; - if (validKey) { - this.edit(validKey, this.state.value); - } + this.edit(); } } - handleChanged() { - const validKey = this.state.key; - if (validKey) { - this.edit(validKey, this.state.value); - } + handleChanged(e) { + this.edit(); } delete() { this.props.delete(this.props.keyVar); } - edit(key, value){ - this.delete(); - this.props.add(key, value); + edit(){ + const validKey = this.state.key; + if (validKey) { + this.delete(); + this.props.add(validKey, this.state.value); + } } keyChanged(key) { this.setState({ key: key }); @@ -75,7 +72,7 @@ export default class Variable extends React.Component { onChange={this.keyChanged} value={this.state.key} onKeyDown={this.handleKeyDown} - onBlur={this.handleChanged}/> + onBlur={this.handleChanged} /> {variables.getEntries.map((storedMap) => ( Date: Tue, 16 Oct 2018 10:56:42 +0900 Subject: [PATCH 113/115] remove handlekeydown event and replaced to onSubmit event --- .../src/neo/components/Variable/index.jsx | 21 ++++++------------- .../src/neo/components/VariableList/index.jsx | 18 ++++++++++------ .../src/neo/components/VariableList/style.css | 8 +++++++ 3 files changed, 26 insertions(+), 21 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/Variable/index.jsx b/packages/selenium-ide/src/neo/components/Variable/index.jsx index 1b2ba847b..d53ec7799 100644 --- a/packages/selenium-ide/src/neo/components/Variable/index.jsx +++ b/packages/selenium-ide/src/neo/components/Variable/index.jsx @@ -27,22 +27,15 @@ import "./style.css"; export default class Variable extends React.Component { constructor(props){ super(props); - this.handleKeyDown = this.handleKeyDown.bind(this); this.handleChanged = this.handleChanged.bind(this); this.keyChanged = this.keyChanged.bind(this); this.valueChanged = this.valueChanged.bind(this); this.delete = this.delete.bind(this); this.edit = this.edit.bind(this); - this.state = { key: this.props.keyVar || "", value: this.props.value || ""}; + this.state = { key: this.props.keyVar || "", value: this.props.value || undefined }; } - handleKeyDown(e) { - if (e.key === "Enter") { - e.preventDefault(); - this.edit(); - } - } - handleChanged(e) { + handleChanged() { this.edit(); } delete() { @@ -50,7 +43,7 @@ export default class Variable extends React.Component { } edit(){ const validKey = this.state.key; - if (validKey) { + if (validKey && this.state.value != undefined) { this.delete(); this.props.add(validKey, this.state.value); } @@ -65,22 +58,20 @@ export default class Variable extends React.Component { return (
  • { this.props.isPristine ? null : }
  • diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index e8858da43..c22a78aba 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -28,6 +28,7 @@ export default class VariableList extends React.Component { super(props); this.deleteVariable = this.deleteVariable.bind(this); this.addVariable = this.addVariable.bind(this); + this._OnSubmit = this._OnSubmit.bind(this); } deleteVariable(key){ this.props.variables.deleteVariable(key); @@ -35,12 +36,17 @@ export default class VariableList extends React.Component { addVariable(key, value){ this.props.variables.addVariable(key, value); } - + _OnSubmit(e) { + e.preventDefault(); + // This set focus at deleteBtn for calling onBlur event that is to save value. + e.target[e.target.length-1].focus(); + } render() { const variables = this.props.variables; const readOnly = (PlaybackState.isPlaying && !PlaybackState.paused); + const pristineID = Math.random(); return ( -
    { e.preventDefault(); }}> +
    • Name @@ -57,15 +63,15 @@ export default class VariableList extends React.Component { readOnly={readOnly} isPristine={false} /> - )) - .concat( + )).concat( )} + />)} +
    ); diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index 427d94083..14d051661 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -18,3 +18,11 @@ .value-list li:last-child { margin-bottom: 3px; } + +.value-list input[type="submit"] { + position: absolute; + width: 0; + height: 0; + padding: 0; + border: none; +} \ No newline at end of file From 9014d69b0cffe5689ba36cb4ad1f2328ef3a19d7 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 16 Oct 2018 14:28:03 +0900 Subject: [PATCH 114/115] prevent deleting while running a script. --- .../src/neo/components/VariableList/index.jsx | 8 +++----- .../selenium-ide/src/neo/containers/Console/index.jsx | 6 ++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index c22a78aba..5c20f1538 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -19,7 +19,6 @@ import React from "react"; import PropTypes from "prop-types"; import Variable from "../Variable"; import { observer } from "mobx-react"; -import PlaybackState from "../../stores/view/PlaybackState"; import "./style.css"; @observer @@ -39,11 +38,10 @@ export default class VariableList extends React.Component { _OnSubmit(e) { e.preventDefault(); // This set focus at deleteBtn for calling onBlur event that is to save value. - e.target[e.target.length-1].focus(); + e.target[e.target.length - 1].focus(); } render() { const variables = this.props.variables; - const readOnly = (PlaybackState.isPlaying && !PlaybackState.paused); const pristineID = Math.random(); return (
    @@ -60,7 +58,7 @@ export default class VariableList extends React.Component { value={storedMap[1]} add={this.addVariable} delete={this.deleteVariable} - readOnly={readOnly} + readOnly={this.props.readOnly} isPristine={false} /> )).concat( @@ -69,7 +67,7 @@ export default class VariableList extends React.Component { add={this.addVariable} delete={this.deleteVariable} isPristine={true} - readOnly={readOnly} + readOnly={this.props.readOnly} />)} diff --git a/packages/selenium-ide/src/neo/containers/Console/index.jsx b/packages/selenium-ide/src/neo/containers/Console/index.jsx index a167ad0ee..f04fbc8ee 100644 --- a/packages/selenium-ide/src/neo/containers/Console/index.jsx +++ b/packages/selenium-ide/src/neo/containers/Console/index.jsx @@ -24,6 +24,7 @@ import LogList from "../../components/LogList"; import VariableList from "../../components/VariableList"; import ClearButton from "../../components/ActionButtons/Clear"; import { output } from "../../stores/view/Logs"; +import PlaybackState from "../../stores/view/PlaybackState"; import PlaybackLogger from "../../side-effects/playback-logging"; import CommandReference from "../../components/CommandReference"; import variables from "../../stores/view/Variables"; @@ -71,18 +72,19 @@ export default class Console extends React.Component { render() { const command = UiState.selectedCommand ? Commands.list.get(UiState.selectedCommand.command) : undefined; const tabs = [{ name: "Log", unread: this.state.logsUnread }, { name: "Reference", unread: false }, { name: "Variables", unread: false }]; + const readOnly = (PlaybackState.isPlaying && !PlaybackState.paused); return (
    {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
    {this.state.tab === "Log" && } - {this.state.tab === "Variables" && } + {this.state.tab === "Variables" && } {this.state.tab === "Reference" && }
    From 0fb9ed94410cc2800c9b23fd932e818e0cc0eda8 Mon Sep 17 00:00:00 2001 From: Jongkeun Date: Tue, 16 Oct 2018 14:47:51 +0900 Subject: [PATCH 115/115] add propTypes and end line --- .../selenium-ide/src/neo/components/VariableList/index.jsx | 3 ++- .../selenium-ide/src/neo/components/VariableList/style.css | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/selenium-ide/src/neo/components/VariableList/index.jsx b/packages/selenium-ide/src/neo/components/VariableList/index.jsx index 5c20f1538..fff164b02 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/index.jsx +++ b/packages/selenium-ide/src/neo/components/VariableList/index.jsx @@ -75,6 +75,7 @@ export default class VariableList extends React.Component { ); } static propTypes = { - variables: PropTypes.object + variables: PropTypes.object, + readOnly: PropTypes.bool }; } diff --git a/packages/selenium-ide/src/neo/components/VariableList/style.css b/packages/selenium-ide/src/neo/components/VariableList/style.css index 14d051661..5d7df52ef 100644 --- a/packages/selenium-ide/src/neo/components/VariableList/style.css +++ b/packages/selenium-ide/src/neo/components/VariableList/style.css @@ -25,4 +25,4 @@ height: 0; padding: 0; border: none; -} \ No newline at end of file +}