moved components to TypeScript

This commit is contained in:
muerwre 2019-02-12 16:20:31 +07:00
parent 85b8860862
commit 0a01c91271
54 changed files with 2771 additions and 5134 deletions

View file

@ -1,67 +0,0 @@
// @flow
import React from 'react';
import { Icon } from '$components/panels/Icon';
import classnames from 'classnames';
import { RouteRowEditor } from '$components/maps/RouteRowEditor';
type Props = {
_id: string,
title: string,
distance: number,
tab: string,
is_editing: boolean,
is_public: boolean,
openRoute: (_id: string) => {},
startEditing: (_id: string) => {},
stopEditing: () => {},
};
export const RouteRow = ({
title, distance, _id, openRoute, tab, is_editing, startEditing, stopEditing, is_public
}: Props) => (
<div className={classnames('route-row-wrapper', { is_editing })}>
{
tab === 'mine' &&
<div className="route-row-edit" onClick={() => startEditing(_id)}>
<Icon icon="icon-edit-1" />
</div>
}
{
!is_editing
?
<div
className="route-row"
>
<div onClick={() => openRoute(_id)}>
<div className="route-title">
<span>{(title || _id)}</span>
</div>
<div className="route-description">
<span>
<Icon icon="icon-link-1" />
{_id}
</span>
<span>
<Icon icon="icon-cycle-1" />
{(distance && `${distance} km`) || '0 km'}
</span>
</div>
</div>
<div className="route-row-panel">
<div className="">
<Icon icon="icon-trash-4" size={24} />
Удалить
</div>
<div className="flex_1 justify-end" onClick={() => startEditing(_id)}>
<Icon icon="icon-edit-1" size={24} />
Правка
</div>
</div>
</div>
: <RouteRowEditor title={title} is_public={is_public} distance={distance} _id={_id} />
}
</div>
);

View file

@ -0,0 +1,59 @@
// @flow
import * as React from 'react';
import { Icon } from '$components/panels/Icon';
import classnames from 'classnames';
interface Props {
_id: string,
tab: string,
is_editing: boolean,
title: string,
distance: number,
is_public: boolean,
openRoute: (_id: string) => void,
startEditing: (_id: string) => void,
stopEditing: () => void,
key: string,
}
export const RouteRow = ({ title, distance, _id, openRoute, tab, is_editing, startEditing }: any) => (
<div className={classnames('route-row-wrapper', { is_editing })}>
{
tab === 'mine' &&
<div className="route-row-edit" onClick={() => startEditing(_id)}>
<Icon icon="icon-edit-1" />
</div>
}
<div
className="route-row"
>
<div onClick={() => openRoute(_id)}>
<div className="route-title">
<span>{(title || _id)}</span>
</div>
<div className="route-description">
<span>
<Icon icon="icon-link-1" />
{_id}
</span>
<span>
<Icon icon="icon-cycle-1" />
{(distance && `${distance} km`) || '0 km'}
</span>
</div>
</div>
<div className="route-row-panel">
<div className="">
<Icon icon="icon-trash-4" size={24} />
Удалить
</div>
<div className="flex_1 justify-end" onClick={() => startEditing(_id)}>
<Icon icon="icon-edit-1" size={24} />
Правка
</div>
</div>
</div>
</div>
);

View file

@ -1,21 +1,21 @@
// @flow
import React from 'react';
import * as React from 'react';
import { Icon } from '$components/panels/Icon';
import { Switch } from '$components/Switch';
type Props = {
interface Props {
title: string;
is_editing: boolean;
distance: number;
_id: string;
}
interface State {
title: string,
is_public: boolean,
distance: number,
_id: string,
};
}
type State = {
title: string,
is_public: boolean,
};
export class RouteRowEditor extends React.PureComponent<Props, State> {
export class RouteRowEditor extends React.Component<Props, State> {
constructor(props) {
super(props);