From 4065a65fe3294e0ddf54f5756380f7dc1aa032b2 Mon Sep 17 00:00:00 2001 From: Maksymilian Pamula Date: Wed, 22 Apr 2020 06:46:36 +0200 Subject: TD: Rewrite application to TS --- .../src/main/components/app/index.scss | 21 ++++++++++ .../src/main/components/app/index.tsx | 11 ++++++ core/search-component/src/main/components/root.tsx | 43 +++++++++++++++++++++ .../src/main/components/search/search.tsx | 45 ++++++++++++++++++++++ .../src/main/components/search/types.ts | 26 +++++++++++++ core/search-component/src/main/scss/index.scss | 1 + core/search-component/tsconfig.json | 34 ++++++++++++++++ core/search-component/types/@jetbrains/index.d.ts | 3 ++ core/search-component/types/index.d.ts | 1 + 9 files changed, 185 insertions(+) create mode 100644 core/search-component/src/main/components/app/index.scss create mode 100644 core/search-component/src/main/components/app/index.tsx create mode 100644 core/search-component/src/main/components/root.tsx create mode 100644 core/search-component/src/main/components/search/search.tsx create mode 100644 core/search-component/src/main/components/search/types.ts create mode 100644 core/search-component/src/main/scss/index.scss create mode 100644 core/search-component/tsconfig.json create mode 100644 core/search-component/types/@jetbrains/index.d.ts create mode 100644 core/search-component/types/index.d.ts (limited to 'core') diff --git a/core/search-component/src/main/components/app/index.scss b/core/search-component/src/main/components/app/index.scss new file mode 100644 index 00000000..a7406115 --- /dev/null +++ b/core/search-component/src/main/components/app/index.scss @@ -0,0 +1,21 @@ +@import "src/main/scss/index"; + +html, +.app-root { + height: 100%; +} + +.search-root { + margin: 0; + padding: 0; + + background: var(--ring-content-background-color); + + font-family: var(--ring-font-family); + font-size: var(--ring-font-size); + line-height: var(--ring-line-height); +} + +.search-content { + margin: calc(var(--ring-unit) * 4); +} diff --git a/core/search-component/src/main/components/app/index.tsx b/core/search-component/src/main/components/app/index.tsx new file mode 100644 index 00000000..3427c1ce --- /dev/null +++ b/core/search-component/src/main/components/app/index.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import {WithFuzzySearchFilter} from '../search/search'; +import './index.scss'; + +const App: React.FC = () => ( +
+ +
+) + +export default App diff --git a/core/search-component/src/main/components/root.tsx b/core/search-component/src/main/components/root.tsx new file mode 100644 index 00000000..70ed9550 --- /dev/null +++ b/core/search-component/src/main/components/root.tsx @@ -0,0 +1,43 @@ +import React from 'react'; +import {render} from 'react-dom'; +import RedBox from 'redbox-react'; + +import App from "./app"; +import './app/index.scss'; + +const appEl = document.getElementById('searchBar'); +const rootEl = document.createElement('div'); + +let renderApp = () => { + render( + , + rootEl + ); +}; + +// @ts-ignore +if (module.hot) { + const renderAppHot = renderApp; + const renderError = (error: Error) => { + render( + , + rootEl + ); + }; + + renderApp = () => { + try { + renderAppHot(); + } catch (error) { + renderError(error); + } + }; + + // @ts-ignore + module.hot.accept('./app', () => { + setTimeout(renderApp); + }); +} + +renderApp(); +appEl!.appendChild(rootEl); diff --git a/core/search-component/src/main/components/search/search.tsx b/core/search-component/src/main/components/search/search.tsx new file mode 100644 index 00000000..f0df0c98 --- /dev/null +++ b/core/search-component/src/main/components/search/search.tsx @@ -0,0 +1,45 @@ +import React, {useCallback, useState} from 'react'; +import {Select} from '@jetbrains/ring-ui'; +import '@jetbrains/ring-ui/components/input-size/input-size.scss'; +import {IWindow, Option, Props, State} from "./types"; + +const WithFuzzySearchFilterComponent: React.FC = ({data}: Props) => { + const [selected, onSelected] = useState