optimize webpack and other minor changes
This commit is contained in:
@@ -1,17 +1,11 @@
|
||||
{
|
||||
"root": true,
|
||||
"parser": "babel-eslint",
|
||||
"extends": [
|
||||
"plugin:react/recommended",
|
||||
"eslint:recommended",
|
||||
"google"
|
||||
],
|
||||
"plugins": [
|
||||
"babel",
|
||||
"react"
|
||||
],
|
||||
"extends": ["airbnb-base", "plugin:react/recommended", "eslint:recommended"],
|
||||
"plugins": ["babel", "react"],
|
||||
"env": {
|
||||
"browser": true
|
||||
"browser": true,
|
||||
"es6": true
|
||||
},
|
||||
"globals": {
|
||||
"google": false,
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import React from 'react';
|
||||
import '../styles.css';
|
||||
|
||||
export const AboutPage = () => (
|
||||
<div className="sheetNameText">
|
||||
@@ -9,7 +8,7 @@ export const AboutPage = () => (
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
React + Google Apps Script
|
||||
React + Google Apps Script
|
||||
</a>
|
||||
<div>-Elisha Nuchi</div>
|
||||
</div>
|
||||
@@ -1,13 +1,12 @@
|
||||
import React, {useState} from 'react';
|
||||
import React, { useState } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import '../styles.css';
|
||||
|
||||
export default function FormInput(props) {
|
||||
const [text, setText] = useState('');
|
||||
|
||||
const handleChange = (event) => setText(event.target.value);
|
||||
const handleChange = event => setText(event.target.value);
|
||||
|
||||
const handleSubmit = (event) => {
|
||||
const handleSubmit = event => {
|
||||
event.preventDefault();
|
||||
if (text.length === 0) return;
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
const SheetButton = props => {
|
||||
const { name, deleteButtonHandler, clickSheetNameHandler } = props;
|
||||
|
||||
const { sheetIndex, text, isActive } = name;
|
||||
|
||||
return (
|
||||
<div className="sheetLine">
|
||||
<button onClick={e => deleteButtonHandler(e, sheetIndex)}>X</button>
|
||||
<span
|
||||
onClick={e => clickSheetNameHandler(e, text)}
|
||||
className={'sheetNameText ' + (isActive ? 'active-sheet' : '')}
|
||||
>
|
||||
{text}
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default SheetButton;
|
||||
|
||||
SheetButton.propTypes = {
|
||||
name: PropTypes.object,
|
||||
deleteButtonHandler: PropTypes.func,
|
||||
clickSheetNameHandler: PropTypes.func,
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import '../styles.css';
|
||||
|
||||
const SheetButton = (props) => {
|
||||
const {name, deleteButtonHandler, clickSheetNameHandler} = props;
|
||||
|
||||
const {sheetIndex, text, isActive} = name;
|
||||
|
||||
return (
|
||||
<div className="sheetLine">
|
||||
<button
|
||||
onClick={(e) => deleteButtonHandler(e, sheetIndex)}
|
||||
>X
|
||||
</button>
|
||||
<span
|
||||
onClick={(e) => clickSheetNameHandler(e, text)}
|
||||
className={'sheetNameText ' + (isActive ? 'active-sheet' : '')}
|
||||
>{text}
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default SheetButton;
|
||||
|
||||
SheetButton.propTypes = {
|
||||
name: PropTypes.object,
|
||||
deleteButtonHandler: PropTypes.func,
|
||||
clickSheetNameHandler: PropTypes.func,
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, {useState, useEffect} from 'react';
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
|
||||
import FormInput from './form-input';
|
||||
import SheetButton from './sheet-button';
|
||||
@@ -6,7 +6,7 @@ import SheetButton from './sheet-button';
|
||||
import server from '../server';
|
||||
|
||||
export default function SheetEditor() {
|
||||
const {getSheetsData, addSheet, deleteSheet, setActiveSheet} = server;
|
||||
const { getSheetsData, addSheet, deleteSheet, setActiveSheet } = server;
|
||||
|
||||
const [names, setNames] = useState([]);
|
||||
|
||||
@@ -43,18 +43,19 @@ export default function SheetEditor() {
|
||||
transitionEnterTimeout={100}
|
||||
transitionLeaveTimeout={100}
|
||||
>
|
||||
{names.length ? names.map((name) => {
|
||||
return <SheetButton
|
||||
name={name}
|
||||
deleteButtonHandler={deleteButtonHandler}
|
||||
clickSheetNameHandler={clickSheetNameHandler}
|
||||
key={name.sheetName}
|
||||
/>;
|
||||
})
|
||||
: null}
|
||||
{names.length
|
||||
? names.map(name => {
|
||||
return (
|
||||
<SheetButton
|
||||
name={name}
|
||||
deleteButtonHandler={deleteButtonHandler}
|
||||
clickSheetNameHandler={clickSheetNameHandler}
|
||||
key={name.sheetName}
|
||||
/>
|
||||
);
|
||||
})
|
||||
: null}
|
||||
</ReactCSSTransitionGroup>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import SheetEditor from './components/sheet-editor';
|
||||
import './styles.css';
|
||||
|
||||
|
||||
ReactDOM.render(
|
||||
<SheetEditor />,
|
||||
|
||||
Reference in New Issue
Block a user