mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-09-21 07:46:06 +08:00
fix(build): Fix lint issues and specs
This commit is contained in:
parent
72e86dde36
commit
eacf54b4eb
|
@ -34,7 +34,7 @@
|
|||
"quote-props": ["error", "consistent-as-needed", { "keywords": true }],
|
||||
"no-param-reassign": ["error", { "props": false }],
|
||||
"semi": "off",
|
||||
"import/no-unresolved": ["error", {"ignore": ["nylas-exports", "nylas-component-kit", "electron", "nylas-store", "react-dom/server", "nylas-observables", "windows-shortcuts", "moment-round", "chrono-node", "event-kit"]}],
|
||||
"import/no-unresolved": ["error", {"ignore": ["nylas-exports", "nylas-component-kit", "electron", "nylas-store", "react-dom/server", "nylas-observables", "windows-shortcuts", "moment-round", "chrono-node", "event-kit", "enzyme"]}],
|
||||
"react/no-multi-comp": "off",
|
||||
"react/prop-types": ["error", {"ignore": ["children"]}],
|
||||
"react/sort-comp": "error"
|
||||
|
|
|
@ -94,7 +94,7 @@ function InflatesDraftClientId(ComposedComponent) {
|
|||
|
||||
render() {
|
||||
if (!this.state.draft) {
|
||||
return <span/>;
|
||||
return <span />;
|
||||
}
|
||||
return <ComposedComponent ref="composed" {...this.props} {...this.state} />;
|
||||
}
|
||||
|
|
|
@ -231,8 +231,8 @@ describe('SelectableTable Components', () => {
|
|||
});
|
||||
|
||||
it('renders with the correct props', () => {
|
||||
const RowRenderer = () => <tr/>
|
||||
const CellRenderer = () => <td/>
|
||||
const RowRenderer = () => <tr />
|
||||
const CellRenderer = () => <td />
|
||||
const onSetSelection = () => {}
|
||||
const onShiftSelection = () => {}
|
||||
const extraProps = {p1: 'p1'}
|
||||
|
|
|
@ -12,23 +12,23 @@ describe('Table Components', () => {
|
|||
});
|
||||
|
||||
it('renders a th when is header', () => {
|
||||
const element = shallow(<TableCell isHeader/>)
|
||||
const element = shallow(<TableCell isHeader />)
|
||||
expect(element.type()).toEqual('th')
|
||||
});
|
||||
|
||||
it('renders a td when is not header', () => {
|
||||
const element = shallow(<TableCell isHeader={false}/>)
|
||||
const element = shallow(<TableCell isHeader={false} />)
|
||||
expect(element.type()).toEqual('td')
|
||||
});
|
||||
|
||||
it('renders extra classNames', () => {
|
||||
const element = shallow(<TableCell className="my-cell"/>)
|
||||
const element = shallow(<TableCell className="my-cell" />)
|
||||
expect(element.hasClass('my-cell')).toBe(true)
|
||||
});
|
||||
|
||||
it('passes additional props to cell', () => {
|
||||
const handler = () => {}
|
||||
const element = shallow(<TableCell className="my-cell" onClick={handler}/>)
|
||||
const element = shallow(<TableCell className="my-cell" onClick={handler} />)
|
||||
expect(element.prop('onClick')).toBe(handler)
|
||||
});
|
||||
});
|
||||
|
@ -116,7 +116,7 @@ describe('Table Components', () => {
|
|||
|
||||
describe('Table', () => {
|
||||
function renderTable(props = {}) {
|
||||
return shallow(<Table {...props} tableDataSource={testDataSource}/>)
|
||||
return shallow(<Table {...props} tableDataSource={testDataSource} />)
|
||||
}
|
||||
|
||||
it('renders extra classNames', () => {
|
||||
|
@ -163,7 +163,7 @@ describe('Table Components', () => {
|
|||
|
||||
describe('renderRow', () => {
|
||||
it('renders row with the given RowRenderer', () => {
|
||||
const RowRenderer = (props) => <div {...props}/>
|
||||
const RowRenderer = (props) => <div {...props} />
|
||||
const table = renderTable({RowRenderer})
|
||||
const Renderer = table.instance().renderRow
|
||||
const row = shallow(<Renderer idx={5} />)
|
||||
|
@ -171,7 +171,7 @@ describe('Table Components', () => {
|
|||
});
|
||||
|
||||
it('passes the correct props to the row when displayHeader is true', () => {
|
||||
const CellRenderer = (props) => <div {...props}/>
|
||||
const CellRenderer = (props) => <div {...props} />
|
||||
const extraProps = {p1: 'p1'}
|
||||
const table = renderTable({displayHeader: true, displayNumbers: true, extraProps, CellRenderer})
|
||||
const Renderer = table.instance().renderRow
|
||||
|
|
|
@ -148,66 +148,66 @@ export class EditableTableCell extends Component {
|
|||
}
|
||||
}
|
||||
|
||||
export default class EditableTable extends Component {
|
||||
static displayName = 'EditableTable'
|
||||
function EditableTable(props) {
|
||||
const {
|
||||
inputProps,
|
||||
InputRenderer,
|
||||
onCellEdited,
|
||||
onAddRow,
|
||||
onRemoveRow,
|
||||
onAddColumn,
|
||||
onRemoveColumn,
|
||||
...otherProps,
|
||||
} = props
|
||||
|
||||
static propTypes = {
|
||||
tableDataSource: SelectableTable.propTypes.tableDataSource,
|
||||
inputProps: PropTypes.object,
|
||||
InputRenderer: PropTypes.any,
|
||||
onCellEdited: PropTypes.func.isRequired,
|
||||
onAddColumn: PropTypes.func,
|
||||
onRemoveColumn: PropTypes.func,
|
||||
onAddRow: PropTypes.func,
|
||||
onRemoveRow: PropTypes.func,
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
inputProps,
|
||||
InputRenderer,
|
||||
onCellEdited,
|
||||
const tableProps = {
|
||||
...otherProps,
|
||||
className: "editable-table",
|
||||
extraProps: {
|
||||
onAddRow,
|
||||
onRemoveRow,
|
||||
onAddColumn,
|
||||
onRemoveColumn,
|
||||
...otherProps,
|
||||
} = this.props
|
||||
onCellEdited,
|
||||
inputProps,
|
||||
InputRenderer,
|
||||
},
|
||||
CellRenderer: EditableTableCell,
|
||||
}
|
||||
|
||||
const tableProps = {
|
||||
...otherProps,
|
||||
className: "editable-table",
|
||||
extraProps: {
|
||||
onAddRow,
|
||||
onRemoveRow,
|
||||
onCellEdited,
|
||||
inputProps,
|
||||
InputRenderer,
|
||||
},
|
||||
CellRenderer: EditableTableCell,
|
||||
}
|
||||
|
||||
if (!onAddColumn || !onRemoveColumn) {
|
||||
return <SelectableTable {...tableProps} />
|
||||
}
|
||||
return (
|
||||
<div className="editable-table-container">
|
||||
<SelectableTable {...tableProps} />
|
||||
<div className="column-actions">
|
||||
<div className="btn btn-small" onClick={onAddColumn}>
|
||||
<RetinaImg
|
||||
name="icon-column-plus.png"
|
||||
mode={RetinaImg.Mode.ContentPreserve}
|
||||
/>
|
||||
</div>
|
||||
<div className="btn btn-small" onClick={onRemoveColumn}>
|
||||
<RetinaImg
|
||||
name="icon-column-minus.png"
|
||||
mode={RetinaImg.Mode.ContentPreserve}
|
||||
/>
|
||||
</div>
|
||||
if (!onAddColumn || !onRemoveColumn) {
|
||||
return <SelectableTable {...tableProps} />
|
||||
}
|
||||
return (
|
||||
<div className="editable-table-container">
|
||||
<SelectableTable {...tableProps} />
|
||||
<div className="column-actions">
|
||||
<div className="btn btn-small" onClick={onAddColumn}>
|
||||
<RetinaImg
|
||||
name="icon-column-plus.png"
|
||||
mode={RetinaImg.Mode.ContentPreserve}
|
||||
/>
|
||||
</div>
|
||||
<div className="btn btn-small" onClick={onRemoveColumn}>
|
||||
<RetinaImg
|
||||
name="icon-column-minus.png"
|
||||
mode={RetinaImg.Mode.ContentPreserve}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
EditableTable.displayName = 'EditableTable'
|
||||
|
||||
EditableTable.propTypes = {
|
||||
tableDataSource: SelectableTable.propTypes.tableDataSource,
|
||||
inputProps: PropTypes.object,
|
||||
InputRenderer: PropTypes.any,
|
||||
onCellEdited: PropTypes.func.isRequired,
|
||||
onAddColumn: PropTypes.func,
|
||||
onRemoveColumn: PropTypes.func,
|
||||
onAddRow: PropTypes.func,
|
||||
onRemoveRow: PropTypes.func,
|
||||
}
|
||||
|
||||
export default EditableTable
|
||||
|
|
|
@ -60,11 +60,10 @@ const TablePropTypes = {
|
|||
}
|
||||
|
||||
export function TableCell(props) {
|
||||
const {className, isHeader, children} = props;
|
||||
const continuedProps = _.omit(props, "className", "isHeader", "children")
|
||||
const {className, isHeader, children, ...extraProps} = props;
|
||||
const CellTag = isHeader ? 'th' : 'td'
|
||||
return (
|
||||
<CellTag {...continuedProps} className={`table-cell ${className}`} >
|
||||
<CellTag {...extraProps} className={`table-cell ${className}`} >
|
||||
{children}
|
||||
</CellTag>
|
||||
)
|
||||
|
@ -73,7 +72,6 @@ export function TableCell(props) {
|
|||
TableCell.propTypes = {
|
||||
isHeader: PropTypes.bool,
|
||||
className: PropTypes.string,
|
||||
children: PropTypes.children,
|
||||
};
|
||||
|
||||
export class TableRow extends Component {
|
||||
|
|
|
@ -11,7 +11,7 @@ class NylasComponentKit
|
|||
@loadFrom = (prop, path) ->
|
||||
Object.defineProperty @prototype, prop,
|
||||
get: ->
|
||||
exported = NylasComponentKit.default(require "../components/#{path}")
|
||||
exported = require "../components/#{path}"
|
||||
return exported[prop]
|
||||
|
||||
@loadDeprecated = (prop, path, {instead} = {}) ->
|
||||
|
@ -60,13 +60,13 @@ class NylasComponentKit
|
|||
@load "DateInput", "date-input"
|
||||
@load "DatePicker", "date-picker"
|
||||
@load "TimePicker", "time-picker"
|
||||
@loadFrom "Table", "table/table"
|
||||
@load "Table", "table/table"
|
||||
@loadFrom "TableRow", "table/table"
|
||||
@loadFrom "TableCell", "table/table"
|
||||
@loadFrom "SelectableTable", "selectable-table"
|
||||
@load "SelectableTable", "selectable-table"
|
||||
@loadFrom "SelectableTableRow", "selectable-table"
|
||||
@loadFrom "SelectableTableCell", "selectable-table"
|
||||
@loadFrom "EditableTable", "editable-table"
|
||||
@load "EditableTable", "editable-table"
|
||||
@loadFrom "EditableTableCell", "editable-table"
|
||||
@load "LazyRenderedList", "lazy-rendered-list"
|
||||
|
||||
|
|
2
src/pro
2
src/pro
|
@ -1 +1 @@
|
|||
Subproject commit 5ea51b035478ea2912257f3a57d876d3e0c335b9
|
||||
Subproject commit 6e7135d50ed005e4b0e9a5ac54b8323ef031e0bd
|
Loading…
Reference in a new issue